|
|
@ -103,31 +103,11 @@ func (impl *DefectGrpServiceImplement) InsertOne(user *models.Usertab, entity *m |
|
|
|
if record != nil { |
|
|
|
return grmi.NewBusinessError("已经存在相同主键的记录!") |
|
|
|
} |
|
|
|
if entity.Reasons != nil { |
|
|
|
links := make([]model.DefectGrpReasonLst, len(entity.Reasons)) |
|
|
|
for index, reason := range entity.Reasons { |
|
|
|
links[index] = model.DefectGrpReasonLst{ |
|
|
|
DefectGrpId: entity.DefectGrpId, |
|
|
|
DefectReasonId: reason.DefectReasonId, |
|
|
|
Pos: index + 1, |
|
|
|
} |
|
|
|
} |
|
|
|
defectGrpReasonLstDAO := dal.NewDefectGrpReasonLstDAO(session, user.Pid, user.Userid) |
|
|
|
err = defectGrpReasonLstDAO.Insert(&links) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
defectReasonDAO := dal.NewDefectReasonDAO(session, user.Pid, user.Userid) |
|
|
|
err = defectReasonDAO.Insert(&entity.Reasons) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
} |
|
|
|
err = dao.InsertOne(entity) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
err = impl.saveReasons(user, session, entity.DefectGrpId) |
|
|
|
err = impl.saveReasons(user, session, entity) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
@ -229,7 +209,7 @@ func (impl *DefectGrpServiceImplement) UpdateOne(user *models.Usertab, entity *m |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
err = impl.saveReasons(user, session, entity.DefectGrpId) |
|
|
|
err = impl.saveReasons(user, session, entity) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
@ -251,7 +231,7 @@ func (impl *DefectGrpServiceImplement) UpdateOne(user *models.Usertab, entity *m |
|
|
|
* |
|
|
|
* @Function Parameters : xorm会话 |
|
|
|
* |
|
|
|
* @Function Parameters : 缺陷分组标识 |
|
|
|
* @Function Parameters : 缺陷分组 |
|
|
|
* |
|
|
|
* @Return Value : 执行时发生的错误 |
|
|
|
* |
|
|
@ -260,24 +240,24 @@ func (impl *DefectGrpServiceImplement) UpdateOne(user *models.Usertab, entity *m |
|
|
|
* @Date : 2021-03-25 |
|
|
|
* |
|
|
|
******************************************************************************/ |
|
|
|
func (impl *DefectGrpServiceImplement) saveReasons(user *models.Usertab, session *xorm.Session, defectGrpId string) error { |
|
|
|
func (impl *DefectGrpServiceImplement) saveReasons(user *models.Usertab, session *xorm.Session, entity *model.DefectGrp) error { |
|
|
|
|
|
|
|
defectGrpReasonLstDAO := dal.NewDefectGrpReasonLstDAO(session, user.Pid, user.Userid) |
|
|
|
links, err := defectGrpReasonLstDAO.Select([]grmi.Predicate{meta.DefectGrpReasonLst_DefectGrpId.NewPredicate(grmi.Equal, defectGrpId)}, nil) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
if links != nil { |
|
|
|
err = defectGrpReasonLstDAO.Delete(&links) |
|
|
|
if entity.Reasons != nil { |
|
|
|
links := make([]model.DefectGrpReasonLst, len(entity.Reasons)) |
|
|
|
for index, reason := range entity.Reasons { |
|
|
|
links[index] = model.DefectGrpReasonLst{ |
|
|
|
DefectGrpId: entity.DefectGrpId, |
|
|
|
DefectReasonId: reason.DefectReasonId, |
|
|
|
Pos: index + 1, |
|
|
|
} |
|
|
|
} |
|
|
|
defectGrpReasonLstDAO := dal.NewDefectGrpReasonLstDAO(session, user.Pid, user.Userid) |
|
|
|
err := defectGrpReasonLstDAO.Insert(&links) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
reasonIds := make([]string, len(links)) |
|
|
|
for index, link := range links { |
|
|
|
reasonIds[index] = link.DefectReasonId |
|
|
|
} |
|
|
|
defectReasonDAO := dal.NewDefectReasonDAO(session, user.Pid, user.Userid) |
|
|
|
err = defectReasonDAO.DeleteWhere([]grmi.Predicate{meta.DefectReason_DefectReasonId.NewPredicate(grmi.Include, reasonIds)}) |
|
|
|
err = defectReasonDAO.Insert(&entity.Reasons) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|