From 8c989d018e591c078478e69f5970bb1f3d2f2d06 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Tue, 28 Sep 2021 09:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E7=94=9F=E6=88=90=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E6=A8=A1=E6=9D=BF=E7=9A=84=E6=97=B6=E5=80=99=20?= =?UTF-8?q?=E5=85=88=E6=A0=A1=E9=AA=8C=E7=94=9F=E6=88=90=E7=9A=84=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7=E6=98=AF=E4=B8=8D=E6=98=AF=E5=B7=B2=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=EF=BC=8C=E5=AD=98=E5=9C=A8=E5=88=99=E7=BB=A7=E7=BB=AD?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/schedule/SchedTask.Ctrl.go | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/services/schedule/SchedTask.Ctrl.go b/services/schedule/SchedTask.Ctrl.go index 06005f9..cdfa55e 100644 --- a/services/schedule/SchedTask.Ctrl.go +++ b/services/schedule/SchedTask.Ctrl.go @@ -345,11 +345,27 @@ func (tasksrv *TaskSrv) ReleaseSerialOrder(relQty int, releaseId string) (err er // 写入打印条码的逻辑 snr := new(models.Snrtab) snr.Finr = common.PlantNr - printID, err := snr.GetNextSnrWithSession(session, "Printer") - if err != nil { - innerLog.Error("ReleaseSerialOrder 更新工单工艺详细步骤状态失败, error:"+err.Error()+" serialOrderId:"+serialOrderStatus.SerialOrderId, "release id:"+releaseId) - _ = session.Rollback() - return grmi.NewBusinessError("获取打印条码流水号失败, error:" + err.Error()) + var next bool + var printID string + for !next { + printID, err = snr.GetNextSnrWithSession(session, "Printer") + if err != nil { + innerLog.Error("ReleaseSerialOrder 更新工单工艺详细步骤状态失败, error:"+err.Error()+" serialOrderId:"+serialOrderStatus.SerialOrderId, "release id:"+releaseId) + _ = session.Rollback() + return grmi.NewBusinessError("获取打印条码流水号失败, error:" + err.Error()) + } + existPrintHead, err := printHeadDao.SelectOne(printID) + if err != nil { + innerLog.Error("ReleaseSerialOrder 获取失败, error:"+err.Error()+" serialOrderId:"+serialOrderStatus.SerialOrderId, "release id:"+releaseId) + _ = session.Rollback() + return grmi.NewBusinessError("获取打印条码流水号失败, error:" + err.Error()) + } + if existPrintHead != nil { + continue + } else { + next = true + break + } } article, exist := artMap[serialOrder.ArtId] if !exist {