Browse Source

更新workCalendar和weekModel时同时更新明细

pull/122/head
zhangxin 3 years ago
parent
commit
b955ea717b
2 changed files with 46 additions and 4 deletions
  1. +23
    -4
      services/base/implments/WeekModel.service.impl.go
  2. +23
    -0
      services/base/implments/WorkCalendar.service.impl.go

+ 23
- 4
services/base/implments/WeekModel.service.impl.go View File

@ -9,7 +9,6 @@ import (
meta "LAPP_GAAS_GFrame_BACKEND/meta/base"
model "LAPP_GAAS_GFrame_BACKEND/models/base"
"LAPP_GAAS_GFrame_BACKEND/web/models"
"fmt"
)
/******************************************************************************
@ -186,10 +185,8 @@ func (impl *WeekModelServiceImplement) SelectOne(user *models.Usertab, weekModel
li, err := weekModelLstDao.SelectJoinDayModel(weekModelNr)
if err != nil {
fmt.Println("here1:", err)
return nil, err
}
fmt.Println("result:", result)
if result == nil {
return nil, grmi.NewBusinessError("不存在对应的周模型")
}
@ -209,6 +206,10 @@ func (impl *WeekModelServiceImplement) UpdateOne(user *models.Usertab, entity *m
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
err := session.Begin()
if err != nil {
return err
}
dao := dal.NewWeekModelDAO(session, user.Pid, user.Userid)
record, err := dao.SelectOne(entity.WeekModelNr)
if err != nil {
@ -217,11 +218,29 @@ func (impl *WeekModelServiceImplement) UpdateOne(user *models.Usertab, entity *m
if record == nil {
return grmi.NewBusinessError("不存在指定记录!")
}
entity.WeekModelNr = record.WeekModelNr
weekModelLstLi := entity.WeekModelLstLi
for _, weekModelLst := range weekModelLstLi {
if weekModelLst.WeekModelNr != entity.WeekModelNr {
return grmi.NewBusinessError("weekModelLst的weekModelNr与weekModel的weekModelNr不一致")
}
}
weekModelLstDao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid)
err = weekModelLstDao.DeleteWhere([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, entity.WeekModelNr)})
if err != nil {
session.Rollback()
return err
}
err = weekModelLstDao.Insert(&weekModelLstLi)
if err != nil {
session.Rollback()
return err
}
err = dao.UpdateOne(entity)
if err != nil {
session.Rollback()
return err
}
session.Commit()
return nil
}


+ 23
- 0
services/base/implments/WorkCalendar.service.impl.go View File

@ -196,6 +196,10 @@ func (impl *WorkCalendarServiceImplement) UpdateOne(user *models.Usertab, entity
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
err := session.Begin()
if err != nil {
return err
}
dao := dal.NewWorkCalendarDAO(session, user.Pid, user.Userid)
record, err := dao.SelectOne(entity.WorkCalendarNr)
if err != nil {
@ -204,10 +208,29 @@ func (impl *WorkCalendarServiceImplement) UpdateOne(user *models.Usertab, entity
if record == nil {
return grmi.NewBusinessError("不存在指定记录!")
}
workCalendarLstDao := dal.NewWorkCalendarLstDAO(session, user.Pid, user.Userid)
workCalendarLstLi := entity.WorkCalendarLstLi
for _, workCalendarLst := range workCalendarLstLi {
if workCalendarLst.WorkCalendarNr != entity.WorkCalendarNr {
return grmi.NewBusinessError("插入的workCalendarLst的WorkCalendarNr与workCalendar的WorkCalendarNr不一致")
}
}
err = workCalendarLstDao.DeleteWhere([]grmi.Predicate{meta.WorkCalendarLst_WorkCalendarNr.NewPredicate(grmi.Equal, entity.WorkCalendarNr)})
if err != nil {
session.Rollback()
return err
}
err = workCalendarLstDao.Insert(&workCalendarLstLi)
if err != nil {
session.Rollback()
return err
}
err = dao.UpdateOne(entity)
if err != nil {
session.Rollback()
return err
}
session.Commit()
return nil
}


Loading…
Cancel
Save