diff --git a/services/me/implments/BomLst.service.impl.go b/services/me/implments/BomLst.service.impl.go index 25ed5a7..7818800 100644 --- a/services/me/implments/BomLst.service.impl.go +++ b/services/me/implments/BomLst.service.impl.go @@ -134,23 +134,44 @@ func (impl *BomLstServiceImplement) InsertOne(user *global.User, entity *model.B ******************************************************************************/ func (impl *BomLstServiceImplement) DeleteOne(user *global.User, bomId string, fmatNr string, cmatNr string) error { + grmi.Log(user, "/services/me/implments/BomLst.service.impl.go", "DeleteOneBomLst", "删除一个BomLst") engine := db.Eloquent.Master() session := engine.NewSession() defer session.Close() + if err := session.Begin(); err != nil { + return err + } dao := dal.NewBomLstDAO(session, user.PlantNr, user.UserId) + headDao := dal.NewBomHeadDAO(session, user.PlantNr, user.UserId) record, err := dao.SelectOne(bomId, fmatNr, cmatNr) if err != nil { + _ = session.Rollback() return err } if record == nil { + _ = session.Rollback() return grmi.NewBusinessError("不存在指定记录!") } err = dao.DeleteOne(bomId, fmatNr, cmatNr) if err != nil { + _ = session.Rollback() + return err + } + lstLi, err := dao.Select([]grmi.Predicate{meta.BomLst_BomId.NewPredicate(grmi.Equal, bomId)}, nil) + if err != nil { + _ = session.Rollback() return err } + if len(lstLi) == 0 { + err = headDao.DeleteOne(bomId) + if err != nil { + _ = session.Rollback() + return err + } + } + _ = session.Commit() return nil } diff --git a/web/controllers/me/me.go b/web/controllers/me/me.go index cff7f54..f27e4ff 100644 --- a/web/controllers/me/me.go +++ b/web/controllers/me/me.go @@ -102,7 +102,7 @@ func RegisterRoutes() { // BomLst插入多条 // RegisterInsertBomLst(bomlst, "/insert", serviceOfBomLst.Insert) // BomLst删除一条 - // RegisterDeleteOneBomLst(bomlst, "/deleteone", serviceOfBomLst.DeleteOne) + RegisterDeleteOneBomLst(bomlst, "/deleteone", serviceOfBomLst.DeleteOne) // BomLst删除多条 // RegisterDeleteBomLst(bomlst, "/delete", serviceOfBomLst.Delete) // BomLst查询多条