Browse Source

添加工序工位关联功能接口

fix_wms
zhangxin 3 years ago
parent
commit
7e82792407
1 changed files with 37 additions and 7 deletions
  1. +37
    -7
      services/base/implments/ProcessWorkPlaceLst.service.impl.go

+ 37
- 7
services/base/implments/ProcessWorkPlaceLst.service.impl.go View File

@ -9,6 +9,7 @@ import (
meta "LAPP_LF_MOM_BACKEND/meta/base" meta "LAPP_LF_MOM_BACKEND/meta/base"
model "LAPP_LF_MOM_BACKEND/models/base" model "LAPP_LF_MOM_BACKEND/models/base"
"LAPP_LF_MOM_BACKEND/web/models" "LAPP_LF_MOM_BACKEND/web/models"
"strconv"
) )
/****************************************************************************** /******************************************************************************
@ -186,29 +187,58 @@ func (impl *ProcessWorkPlaceLstServiceImplement) UpdateOne(user *models.Usertab,
* @Reference LAPP_LF_MOM_BACKEND/services/base/ProcessWorkPlaceLstService.Insert * @Reference LAPP_LF_MOM_BACKEND/services/base/ProcessWorkPlaceLstService.Insert
* *
******************************************************************************/ ******************************************************************************/
func (impl *ProcessWorkPlaceLstServiceImplement) Insert(user *models.Usertab, entities *[]model.ProcessWorkPlaceLst) error {
func (impl *ProcessWorkPlaceLstServiceImplement) Insert(user *models.Usertab, entities model.ProcessWPInsert) error {
grmi.Log(user, "/services/base/implments/ProcessWorkPlaceLst.service.impl.go", "InsertProcessWorkPlaceLst", "插入多个ProcessWorkPlaceLst") grmi.Log(user, "/services/base/implments/ProcessWorkPlaceLst.service.impl.go", "InsertProcessWorkPlaceLst", "插入多个ProcessWorkPlaceLst")
engine := db.Eloquent.Master() engine := db.Eloquent.Master()
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
if err := session.Begin(); err != nil {
return err
}
dao := dal.NewProcessWorkPlaceLstDAO(session, user.Pid, user.Userid) dao := dal.NewProcessWorkPlaceLstDAO(session, user.Pid, user.Userid)
for _, entity := range *entities {
record, err := dao.SelectOne(entity.PO, entity.WorkPlaceNr, entity.WorkLineId)
poDao := dal.NewProcessDAO(session, user.Pid, user.Userid)
wpDao := dal.NewWorkPlaceDAO(session, user.Pid, user.Userid)
po := entities.PO
workLineId := entities.WorkLineId
process, err := poDao.SelectOne(po, workLineId)
if err != nil {
_ = session.Rollback()
return err
}
if process == nil {
_ = session.Rollback()
return grmi.NewBusinessError("不存在对应的工序数据")
}
li := entities.ProcessWorkPlaceLstLi
for _, entity := range li {
if entity.PO != po || entity.WorkLineId != workLineId {
_ = session.Rollback()
return grmi.NewBusinessError("关联工序不一致")
}
workPlace, err := wpDao.SelectOne(entity.WorkPlaceNr)
if err != nil { if err != nil {
_ = session.Rollback()
return err return err
} }
if record != nil {
return grmi.NewBusinessError("已经存在相同主键的记录!")
if workPlace == nil {
_ = session.Rollback()
return grmi.NewBusinessError("不存在对应的工位,workPlaceNr:" + strconv.Itoa(entity.WorkPlaceNr))
} }
} }
err := dao.Insert(entities)
err = dao.DeleteWhere([]grmi.Predicate{meta.ProcessWorkPlaceLst_PO.NewPredicate(grmi.Equal, po), meta.ProcessWorkPlaceLst_WorkLineId.NewPredicate(grmi.Equal, workLineId)})
if err != nil {
_ = session.Rollback()
return err
}
err = dao.Insert(&li)
if err != nil { if err != nil {
_ = session.Rollback()
return err return err
} }
_ = session.Commit()
return nil return nil
} }


Loading…
Cancel
Save