diff --git a/dao/base/WeekModel.dao.go b/dao/base/WeekModel.dao.go index 1bff500..1ac2857 100644 --- a/dao/base/WeekModel.dao.go +++ b/dao/base/WeekModel.dao.go @@ -38,7 +38,7 @@ type WeekModelDAO interface { * @Date : 2021-04-14 08:56:34 * ******************************************************************************/ - InsertOne(*model.WeekModel) error + InsertOne(*model.WeekModel) (int, error) /****************************************************************************** * * @Function Name : DeleteOne diff --git a/dao/base/implments/WeekModel.dao.impl.go b/dao/base/implments/WeekModel.dao.impl.go index ba711d5..6617131 100644 --- a/dao/base/implments/WeekModel.dao.impl.go +++ b/dao/base/implments/WeekModel.dao.impl.go @@ -55,14 +55,14 @@ func NewWeekModelDAOImplement(session *xorm.Session, plantNr int, userid string) * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WeekModelDAO.InsertOne * ******************************************************************************/ -func (impl *WeekModelDAOImplement) InsertOne(entity *model.WeekModel) error { +func (impl *WeekModelDAOImplement) InsertOne(entity *model.WeekModel) (int, error) { entity.PlantNr = impl.plantNr entity.LastUser = impl.userid _, err := impl.session.Table(meta.WeekModel.TableName).Insert(entity) if err != nil { - return grmi.NewDataBaseError(err) + return 0, grmi.NewDataBaseError(err) } - return nil + return entity.WeekModelNr, nil } /****************************************************************************** diff --git a/models/base/WeekModel.model.go b/models/base/WeekModel.model.go index 4a57109..2c8645c 100644 --- a/models/base/WeekModel.model.go +++ b/models/base/WeekModel.model.go @@ -20,17 +20,18 @@ import ( * ******************************************************************************/ type WeekModel struct { - PlantNr int `xorm:"pk int 'PlantNr'" json:"WeekModel-PlantNr"` - WeekModelNr int `xorm:"pk int 'WeekModelNr' autoincr" json:"WeekModel-WeekModelNr"` - DateFrom int `xorm:"int 'DateFrom' not null" json:"WeekModel-DateFrom"` - Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WeekModel-Descr"` - Abrev string `xorm:"nvarchar(10) 'Abrev' not null" json:"WeekModel-Abrev"` - CtrlToggle bool `xorm:"bit 'CtrlToggle' not null" json:"WeekModel-CtrlToggle"` - LoopDays int `xorm:"int 'LoopDays' not null" json:"WeekModel-LoopDays"` - LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WeekModel-LastModify"` - LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WeekModel-LastUser"` - CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WeekModel-CreateTime"` - WeekModelLst []WeekModelLstAndDay `xorm:"-" json:"WeekModel-WeekModelLst"` + PlantNr int `xorm:"pk int 'PlantNr'" json:"WeekModel-PlantNr"` + WeekModelNr int `xorm:"pk int 'WeekModelNr' autoincr" json:"WeekModel-WeekModelNr"` + DateFrom int `xorm:"int 'DateFrom' not null" json:"WeekModel-DateFrom"` + Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WeekModel-Descr"` + Abrev string `xorm:"nvarchar(10) 'Abrev' not null" json:"WeekModel-Abrev"` + CtrlToggle bool `xorm:"bit 'CtrlToggle' not null" json:"WeekModel-CtrlToggle"` + LoopDays int `xorm:"int 'LoopDays' not null" json:"WeekModel-LoopDays"` + LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WeekModel-LastModify"` + LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WeekModel-LastUser"` + CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WeekModel-CreateTime"` + WeekModelLst []WeekModelLstAndDay `xorm:"-" json:"WeekModel-WeekModelLst"` + WeekModelLstLi []WeekModelLst `xorm:"-" json:"WeekModel-WeekModelLstLi"` } /****************************************************************************** diff --git a/services/base/implments/WeekModel.service.impl.go b/services/base/implments/WeekModel.service.impl.go index ea66233..80abe35 100644 --- a/services/base/implments/WeekModel.service.impl.go +++ b/services/base/implments/WeekModel.service.impl.go @@ -95,18 +95,31 @@ func (impl *WeekModelServiceImplement) InsertOne(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 { - // return err - //} - //if record != nil { - // return grmi.NewBusinessError("已经存在相同主键的记录!") - //} - err := dao.InsertOne(entity) + + weekModelNr, err := dao.InsertOne(entity) if err != nil { + session.Rollback() return err } + weekModelLstLi := entity.WeekModelLstLi + for index, weekModelLst := range weekModelLstLi { + newWeekModelLst := weekModelLst + newWeekModelLst.WeekModelNr = weekModelNr + weekModelLstLi[index] = newWeekModelLst + } + weekModelLstDao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid) + err = weekModelLstDao.Insert(&weekModelLstLi) + if err != nil { + session.Rollback() + return err + } + + session.Commit() return nil } @@ -165,7 +178,7 @@ func (impl *WeekModelServiceImplement) SelectOne(user *models.Usertab, weekModel result, err := dao.SelectOne(weekModelNr) - if err != nil { + if err != nil { return nil, err } //condition := DefaultConditionOfWeekModelLst