From c5f85864fa3d98c32e48edee5aa432e14268c20e Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Fri, 11 Mar 2022 11:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E8=A3=85=E5=8D=95=E5=8F=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../log/implments/PackOrder.service.impl.go | 66 +++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/services/log/implments/PackOrder.service.impl.go b/services/log/implments/PackOrder.service.impl.go index 4962f9c..804a204 100644 --- a/services/log/implments/PackOrder.service.impl.go +++ b/services/log/implments/PackOrder.service.impl.go @@ -14,6 +14,8 @@ import ( jitmeta "LAPP_GAAS_GFrame_BACKEND/meta/jit" "LAPP_GAAS_GFrame_BACKEND/utils" "fmt" + "strings" + //medal "LAPP_GAAS_GFrame_BACKEND/dao/me" dal "LAPP_GAAS_GFrame_BACKEND/dao/log" "LAPP_GAAS_GFrame_BACKEND/db" @@ -706,7 +708,14 @@ func (self *PackOrderServiceImplement) IsCreatePackOrder(user *models.Usertab, o if serialOrderStatus == nil || serialOrderStatus.Status != bmodel.WO_STATUS_FINISHED { return nil, grmi.NewBusinessError("工单状态未完成!") } - + articleDAO := base.NewArticleDAO(session, user.Pid, user.Userid) + article, err := articleDAO.SelectOne(serialOrderInfo.ArtId) + if err != nil { + return nil, err + } + if article == nil { + return nil, grmi.NewBusinessError("没有在数据库中找到扫码内容对应的信息!") + } //判断条码是否已经生成过包装 itemlstDAO := dal.NewPackOrderItemlstDAO(session, user.Pid, user.Userid) dataList, err := itemlstDAO.Select([]grmi.Predicate{ @@ -806,6 +815,19 @@ func (self *PackOrderServiceImplement) IsCreatePackOrder(user *models.Usertab, o packsession.Rollback() return nil, grmi.NewBusinessError("生成包装流水号失败!") } + + artId := article.ArtId + artInfos := strings.Split(artId, "-") + if len(artInfos) >= 2 { + artId = artInfos[0] + artInfos[1] + } + packOrderIds := strings.Split(packOrderId, "-") + if len(packOrderIds) <2{ + packsession.Rollback() + return nil, grmi.NewBusinessError("生成包装流水号格式错误!") + } + packOrderId = packOrderIds[0] + "-" + artId + article.Version + packOrderIds[1] + packTemplateItemlstDAO := dal.NewPackTemplateItemlstDAO(session, user.Pid, user.Userid) packTemplateItems, err := packTemplateItemlstDAO.Select([]grmi.Predicate{ @@ -1004,7 +1026,14 @@ func (self *PackOrderServiceImplement) SelectTemplates(user *models.Usertab, ord if serialOrderStatus == nil || serialOrderStatus.Status != bmodel.WO_STATUS_FINISHED { return nil, grmi.NewBusinessError("工单状态不正确!") } - + articleDAO := base.NewArticleDAO(session, user.Pid, user.Userid) + article, err := articleDAO.SelectOne(serialOrderInfo.ArtId) + if err != nil { + return nil, err + } + if article == nil { + return nil, grmi.NewBusinessError("没有在数据库中找到扫码内容对应的信息!") + } temdao := dal.NewPackTemplateDAO(session, user.Pid, user.Userid) packTemplants, err := temdao.SelectTemplates(serialOrderInfo.ArtId) if err != nil { @@ -1030,6 +1059,17 @@ func (self *PackOrderServiceImplement) SelectTemplates(user *models.Usertab, ord packsession.Rollback() return nil, grmi.NewBusinessError("生成包装流水号失败!") } + artId := article.ArtId + artInfos := strings.Split(artId, "-") + if len(artInfos) >= 2 { + artId = artInfos[0] + artInfos[1] + } + packOrderIds := strings.Split(packOrderId, "-") + if len(packOrderIds) <2{ + packsession.Rollback() + return nil, grmi.NewBusinessError("生成包装流水号格式错误!") + } + packOrderId = packOrderIds[0] + "-" + artId + article.Version + packOrderIds[1] packTemplateItemlstDAO := dal.NewPackTemplateItemlstDAO(session, user.Pid, user.Userid) packTemplateItems, err := packTemplateItemlstDAO.Select([]grmi.Predicate{ @@ -1129,8 +1169,14 @@ func (self *PackOrderServiceImplement) CreatePackOrderByTemplate(user *models.Us if err != nil { return err } - //查询项目定义 - //medal.NewProjectDAO(session, user.Pid, user.Userid) + articleDAO := base.NewArticleDAO(session, user.Pid, user.Userid) + article, err := articleDAO.SelectOne(packTemplate.MaterialId) + if err != nil { + return err + } + if article == nil { + return grmi.NewBusinessError("没有在数据库中找到扫码内容对应的信息!") + } //生成流水号 snr := new(models.Snrtab) snr.Finr = user.Pid @@ -1138,6 +1184,18 @@ func (self *PackOrderServiceImplement) CreatePackOrderByTemplate(user *models.Us if err != nil { return grmi.NewBusinessError("生成包装流水号失败!") } + + artId := article.ArtId + artInfos := strings.Split(artId, "-") + if len(artInfos) >= 2 { + artId = artInfos[0] + artInfos[1] + } + packOrderIds := strings.Split(packOrderId, "-") + if len(packOrderIds) <2{ + return grmi.NewBusinessError("生成包装流水号格式错误!") + } + packOrderId = packOrderIds[0] + "-" + artId + article.Version + packOrderIds[1] + packOrderDAO := dal.NewPackOrderDAO(session, user.Pid, user.Userid) err = packOrderDAO.InsertOne(&model.PackOrder{ PlantNr: packTemplate.PlantNr,