Browse Source

添加物料和产线关联关系

pull/93/head
zhangxin 3 years ago
parent
commit
c387e3de3a
5 changed files with 130 additions and 1 deletions
  1. +6
    -0
      models/base/base.go
  2. +19
    -0
      services/base/ArtWorkLineLst.service.go
  3. +61
    -0
      services/base/implments/ArtWorkLineLst.service.impl.go
  4. +41
    -0
      web/controllers/base/ArtWorkLineLst.rest.go
  5. +3
    -1
      web/controllers/base/base.go

+ 6
- 0
models/base/base.go View File

@ -200,3 +200,9 @@ type ArticleWithAttrValue struct {
ArticleAtcodLst `xorm:"extends"`
AttributeValst `xorm:"extends"`
}
// 物料和产线绑定关系前端传入结构体
type ArtWorkLineData struct {
ArtID string `json:"artId"`
ArtWorkLineLstLi []ArtWorkLineLst `json:"artWorkLineLstLi"`
}

+ 19
- 0
services/base/ArtWorkLineLst.service.go View File

@ -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
}
/******************************************************************************


+ 61
- 0
services/base/implments/ArtWorkLineLst.service.impl.go View File

@ -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
}

+ 41
- 0
web/controllers/base/ArtWorkLineLst.rest.go View File

@ -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)
})
}

+ 3
- 1
web/controllers/base/base.go View File

@ -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)
})
}


Loading…
Cancel
Save