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,