From c387e3de3a47597b1ade9d97095326882b4ad226 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Mon, 23 Aug 2021 17:31:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=A9=E6=96=99=E5=92=8C?= =?UTF-8?q?=E4=BA=A7=E7=BA=BF=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/base/base.go | 6 ++ services/base/ArtWorkLineLst.service.go | 19 ++++++ .../implments/ArtWorkLineLst.service.impl.go | 61 +++++++++++++++++++ web/controllers/base/ArtWorkLineLst.rest.go | 41 +++++++++++++ web/controllers/base/base.go | 4 +- 5 files changed, 130 insertions(+), 1 deletion(-) diff --git a/models/base/base.go b/models/base/base.go index 4d99bde..2f15965 100644 --- a/models/base/base.go +++ b/models/base/base.go @@ -200,3 +200,9 @@ type ArticleWithAttrValue struct { ArticleAtcodLst `xorm:"extends"` AttributeValst `xorm:"extends"` } + +// 物料和产线绑定关系前端传入结构体 +type ArtWorkLineData struct { + ArtID string `json:"artId"` + ArtWorkLineLstLi []ArtWorkLineLst `json:"artWorkLineLstLi"` +} diff --git a/services/base/ArtWorkLineLst.service.go b/services/base/ArtWorkLineLst.service.go index 8c588d9..dcef0bc 100644 --- a/services/base/ArtWorkLineLst.service.go +++ b/services/base/ArtWorkLineLst.service.go @@ -177,6 +177,25 @@ type ArtWorkLineLstService interface { * ******************************************************************************/ Update(*models.Usertab, *[]model.ArtWorkLineLst) error + /****************************************************************************** + * + * @Function Name : Save + *----------------------------------------------------------------------------- + * + * @Description : 保存物料和产线关联关系 + * + * @Function Parameters : 当前访问人员信息 + * + * @Function Parameters : 需要修改的ArtWorkLineLst列表 + * + * @Return Value : 执行时发生的错误 + * + * @Author : zhangxin + * + * @Date : 2021-08-23 + * + ******************************************************************************/ + Save(*models.Usertab, *model.ArtWorkLineData) error } /****************************************************************************** diff --git a/services/base/implments/ArtWorkLineLst.service.impl.go b/services/base/implments/ArtWorkLineLst.service.impl.go index 6df3ddc..931c54e 100644 --- a/services/base/implments/ArtWorkLineLst.service.impl.go +++ b/services/base/implments/ArtWorkLineLst.service.impl.go @@ -304,3 +304,64 @@ func (impl *ArtWorkLineLstServiceImplement) Update(user *models.Usertab, entitie } return nil } + + +/****************************************************************************** + * + * @Reference LAPP_LF_MOM_BACKEND/services/base/ArtWorkLineLstService.InsertOne + * + ******************************************************************************/ +func (impl *ArtWorkLineLstServiceImplement) Save(user *models.Usertab, entity *model.ArtWorkLineData) error { + + grmi.Log(user, "/services/base/implments/ArtWorkLineLst.service.impl.go", "Save", "插入一个ArtWorkLineLst") + + engine := db.Eloquent.Master() + session := engine.NewSession() + defer session.Close() + if err := session.Begin(); err != nil { + return err + } + dao := dal.NewArtWorkLineLstDAO(session, user.Pid, user.Userid) + artDao := dal.NewArticleDAO(session, user.Pid, user.Userid) + workLineDao := dal.NewWorkLineDAO(session, user.Pid, user.Userid) + artId := entity.ArtID + li := entity.ArtWorkLineLstLi + article, err := artDao.SelectOne(artId) + if err != nil { + _ = session.Rollback() + return err + } + if article == nil { + _ = session.Rollback() + return grmi.NewBusinessError("不存在对应的物料") + } + if article.ArtSpec1 != model.ART_TYPE_VIRTUAL && article.ArtSpec1 != model.ART_TYPE_FINISHED { + _ = session.Rollback() + return grmi.NewBusinessError("物料类型错误") + } + for index, data := range li { + data.ArtId = artId + workLine, err := workLineDao.SelectOne(data.WorkLineId) + if err != nil { + _ = session.Rollback() + return err + } + if workLine == nil { + _ = session.Rollback() + return grmi.NewBusinessError("不存在对应的产线") + } + li[index] = data + } + err = dao.DeleteWhere([]grmi.Predicate{meta.ArtWorkLineLst_ArtId.NewPredicate(grmi.Equal, artId)}) + if err != nil { + _ = session.Rollback() + return err + } + err = dao.Insert(&li) + if err != nil { + _ = session.Rollback() + return err + } + _ = session.Commit() + return nil +} \ No newline at end of file diff --git a/web/controllers/base/ArtWorkLineLst.rest.go b/web/controllers/base/ArtWorkLineLst.rest.go index 1be3a91..a25e259 100644 --- a/web/controllers/base/ArtWorkLineLst.rest.go +++ b/web/controllers/base/ArtWorkLineLst.rest.go @@ -364,3 +364,44 @@ func RegisterUpdateArtWorkLineLst(party router.Party, path string, method func(* RegisterMultiArtWorkLineLst(party, "PUT", path, method) } + + +/****************************************************************************** + * + * @Function Name : RegisterSaveArtWorkLineLst + *----------------------------------------------------------------------------- + * + * @Description : 为一个保存ArtWorkLineLst的方法注册路由 + * + * @Function Parameters : 路由分组 + * + * @Function Parameters : 路径 + * + * @Function Parameters : 实际处理请求的方法 + * + * @Author : zhangxin + * + * @Date : 2021-08-23 15:03:00 + * + ******************************************************************************/ +func RegisterSaveArtWorkLineLst(party router.Party, path string, method func(*models.Usertab, *model.ArtWorkLineData) error) { + + party.Post(path, func(ctx iris.Context) { + user, ok := jwts.ParseToken(ctx) + if !ok { + supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) + return + } + var entity model.ArtWorkLineData + if err := ctx.ReadJSON(&entity); err != nil { + supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) + return + } + err := method(user, &entity) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } + supports.Ok(ctx, supports.OptionSuccess, nil) + }) +} \ No newline at end of file diff --git a/web/controllers/base/base.go b/web/controllers/base/base.go index 1270239..a566e09 100644 --- a/web/controllers/base/base.go +++ b/web/controllers/base/base.go @@ -1577,11 +1577,13 @@ func RegisterRoutes() { // ArtWorkLineLst查询多条 RegisterSelectArtWorkLineLst(artworklinelst, "/query", serviceOfArtWorkLineLst.Select) // ArtWorkLineLst查询一条 - RegisterSelectOneArtWorkLineLst(artworklinelst, "/get", serviceOfArtWorkLineLst.SelectOne) + //RegisterSelectOneArtWorkLineLst(artworklinelst, "/get", serviceOfArtWorkLineLst.SelectOne) // ArtWorkLineLst修改一条 // RegisterUpdateOneArtWorkLineLst(artworklinelst, "/updateone", serviceOfArtWorkLineLst.UpdateOne) // ArtWorkLineLst修改多条 // RegisterUpdateArtWorkLineLst(artworklinelst, "/update", serviceOfArtWorkLineLst.Update) + // ArtWorkLineLst修改多条 + RegisterSaveArtWorkLineLst(artworklinelst, "/save", serviceOfArtWorkLineLst.Save) }) }