From fb87f43926e559107296d30f4c90e4edc1d4f215 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Tue, 29 Jun 2021 17:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E5=92=8CtotalreqQty=3D0=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/schedule/SchedTask.Ctrl.go | 11 +++++++---- services/schedule/Scheduler.Ctrl.go | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/services/schedule/SchedTask.Ctrl.go b/services/schedule/SchedTask.Ctrl.go index b896439..4ed084e 100644 --- a/services/schedule/SchedTask.Ctrl.go +++ b/services/schedule/SchedTask.Ctrl.go @@ -268,7 +268,7 @@ func (tasksrv *TaskSrv) ReleaseSerialOrder(relQty int, releaseId string) (err er // 计算实际可下达的序列订单数量 actRelQty := len(tasksrv.SerialTaskArray) if actRelQty <= 0 { - + _ = session.Rollback() innerLog.Error("ReleaseSerialOrder actRelQty <= 0, workOrderId:" + tasksrv.Wotab.WorkOrderId, "release id:" + releaseId) err = errors.New(fmt.Sprintf("批次订单%s可下达数量小于0!", tasksrv.WorkOrderStatus.WorkOrderId)) return @@ -316,8 +316,8 @@ func (tasksrv *TaskSrv) ReleaseSerialOrder(relQty int, releaseId string) (err er tasksrv.ReleasedQty++ tasksrv.WorkOrderQty.ReleasedQty++ } - workOrderQty := &tasksrv.WorkOrderQty - err = workOrderQtyDao.UpdateOne(workOrderQty) + workOrderQty := tasksrv.WorkOrderQty + err = workOrderQtyDao.UpdateOne(&workOrderQty) if err != nil { innerLog.Error("ReleaseSerialOrder update work order qty failed, error:" + err.Error() + " workOrderId:" + workOrderQty.WorkOrderId, "release id:" + releaseId) _ = session.Rollback() @@ -346,7 +346,10 @@ func (tasksrv *TaskSrv) ReleaseSerialOrder(relQty int, releaseId string) (err er return } } - _ = session.Commit() + err = session.Commit() + if err != nil { + innerLog.Error("ReleaseSerialOrder session commit failed, error:" + err.Error() + " workOrderId:" + tasksrv.Wotab.WorkOrderId, "release id:" + releaseId) + } return } diff --git a/services/schedule/Scheduler.Ctrl.go b/services/schedule/Scheduler.Ctrl.go index 513b1c7..b688911 100644 --- a/services/schedule/Scheduler.Ctrl.go +++ b/services/schedule/Scheduler.Ctrl.go @@ -762,9 +762,14 @@ func (schedsrv *SchedulerSrv) ReleaseSchedule(worklineid string) (err error) { if err != nil { return err } + innerLog.Debug("ReleaseSchedule LoadLockedTaskArray :" + strconv.Itoa(wipqty)) // 按照已下达的批次订单的排序号,依次获取未下达的序列订单,并按照指定数量依次下达 for i = 0; i < len(schedsrv.LockedTaskArray); i++ { + if totalrelqty == 0 { + innerLog.Debug("ReleaseSchedule total relqty is 0 workOrderId :"+schedsrv.LockedTaskArray[i].Wotab.WorkOrderId, "release id :"+releaseId) + return nil + } innerLog.Debug("ReleaseSchedule workOrderId :"+schedsrv.LockedTaskArray[i].Wotab.WorkOrderId, "release id :"+releaseId) if schedsrv.LockedTaskArray[i].WorkOrderQty.PlanQty-schedsrv.LockedTaskArray[i].WorkOrderQty.ReleasedQty <= 0 { continue