diff --git a/services/base/implments/Article.service.impl.go b/services/base/implments/Article.service.impl.go index 87fbe08..f787653 100644 --- a/services/base/implments/Article.service.impl.go +++ b/services/base/implments/Article.service.impl.go @@ -4,12 +4,14 @@ package implments import ( dal "LAPP_ACURA_MOM_BACKEND/dao/base" + meDal "LAPP_ACURA_MOM_BACKEND/dao/me" "LAPP_ACURA_MOM_BACKEND/db" + "LAPP_ACURA_MOM_BACKEND/global" "LAPP_ACURA_MOM_BACKEND/grmi" meta "LAPP_ACURA_MOM_BACKEND/meta/base" + meMeta "LAPP_ACURA_MOM_BACKEND/meta/me" model "LAPP_ACURA_MOM_BACKEND/models/base" "LAPP_ACURA_MOM_BACKEND/utils" - "LAPP_ACURA_MOM_BACKEND/global" ) /****************************************************************************** @@ -186,7 +188,11 @@ func (impl *ArticleServiceImplement) DeleteOne(user *global.User, artId string) if err := session.Begin(); err != nil { return err } + checkDao := dal.NewArtCheckRuleDAO(session, user.PlantNr, user.UserId) + qtyDao := dal.NewArtQtyAllocateDAO(session, user.PlantNr, user.UserId) dao := dal.NewArticleDAO(session, user.PlantNr, user.UserId) + bomHeadDao := meDal.NewBomHeadDAO(session, user.PlantNr, user.UserId) + bomLstDao := meDal.NewBomLstDAO(session, user.PlantNr, user.UserId) record, err := dao.SelectOne(artId) if err != nil { return err @@ -196,7 +202,7 @@ func (impl *ArticleServiceImplement) DeleteOne(user *global.User, artId string) } err = dao.DeleteOne(artId) if err != nil { - session.Rollback() + _ = session.Rollback() return err } lstdao := dal.NewArticleAtcodLstDAO(session, user.PlantNr, user.UserId) @@ -204,10 +210,30 @@ func (impl *ArticleServiceImplement) DeleteOne(user *global.User, artId string) meta.ArticleAtcodLst_ArtId.NewPredicate(grmi.Equal, artId), }) if err != nil { - session.Rollback() + _ = session.Rollback() return err } - session.Commit() + err = checkDao.DeleteWhere([]grmi.Predicate{meta.ArtCheckRule_ArtId.NewPredicate(grmi.Equal, artId)}) + if err != nil { + _ = session.Rollback() + return err + } + err = qtyDao.DeleteWhere([]grmi.Predicate{meta.ArtQtyAllocate_ArtId.NewPredicate(grmi.Equal, artId)}) + if err != nil { + _ = session.Rollback() + return err + } + err = bomHeadDao.DeleteWhere([]grmi.Predicate{meMeta.BomHead_BomId.NewPredicate(grmi.Equal, artId)}) + if err != nil { + _ = session.Rollback() + return err + } + err = bomLstDao.DeleteWhere([]grmi.Predicate{meMeta.BomLst_BomId.NewPredicate(grmi.Equal, artId)}) + if err != nil { + _ = session.Rollback() + return err + } + _ = session.Commit() return nil }