diff --git a/dao/base/WeekModelLst.dao.go b/dao/base/WeekModelLst.dao.go index 2495960..e5965df 100644 --- a/dao/base/WeekModelLst.dao.go +++ b/dao/base/WeekModelLst.dao.go @@ -221,6 +221,36 @@ type WeekModelLstDAO interface { * ******************************************************************************/ UpdateWhere([]grmi.Predicate, *model.WeekModelLst, ...string) error + ///****************************************************************************** + // * + // * @Function Name : SelectJoinDayModel + // *----------------------------------------------------------------------------- + // * + // * @Description : WeekModelLst和DayModel连表查询 + // * + // * @Return Value : 执行时发生的错误 + // * + // * @Author : 张鑫 + // * + // * @Date : 2021-04-15 + // * + // ******************************************************************************/ + //SelectJoinDayModel([]grmi.Predicate, []grmi.Field) ([]model.WeekModelLstAndDay, error) + /****************************************************************************** + * + * @Function Name : SelectJoinDayModel + *----------------------------------------------------------------------------- + * + * @Description : WeekModelLst和DayModel连表查询 + * + * @Return Value : 执行时发生的错误 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ + SelectJoinDayModel(int) ([]model.WeekModelLstAndDay, error) } /****************************************************************************** diff --git a/dao/base/WorkCalendarLst.dao.go b/dao/base/WorkCalendarLst.dao.go index 7613a29..6e5e370 100644 --- a/dao/base/WorkCalendarLst.dao.go +++ b/dao/base/WorkCalendarLst.dao.go @@ -221,6 +221,22 @@ type WorkCalendarLstDAO interface { * ******************************************************************************/ UpdateWhere([]grmi.Predicate, *model.WorkCalendarLst, ...string) error + /****************************************************************************** + * + * @Function Name : SelectJoinDayModel + *----------------------------------------------------------------------------- + * + * @Description : WorkCalendar和DayModel连表查询 + * + * @Return Value : 执行时发生的错误 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ + //SelectJoinDayModel([]grmi.Predicate, []grmi.Field) ([]model.WorkCalendarLstAndDay, error) + SelectJoinDayModel(int) ([]model.WorkCalendarLstAndDay, error) } /****************************************************************************** diff --git a/dao/base/implments/WeekModelLst.dao.impl.go b/dao/base/implments/WeekModelLst.dao.impl.go index 87e330a..15b32a8 100644 --- a/dao/base/implments/WeekModelLst.dao.impl.go +++ b/dao/base/implments/WeekModelLst.dao.impl.go @@ -6,6 +6,7 @@ import ( "LAPP_GAAS_GFrame_BACKEND/grmi" meta "LAPP_GAAS_GFrame_BACKEND/meta/base" model "LAPP_GAAS_GFrame_BACKEND/models/base" + "fmt" "github.com/go-xorm/xorm" "xorm.io/core" ) @@ -300,3 +301,89 @@ func (impl *WeekModelLstDAOImplement) UpdateWhere(predicates []grmi.Predicate, e } return nil } + +///****************************************************************************** +// * +// * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WeekModelLstDAO.SelectJoinDayModel +// * +// ******************************************************************************/ +//func (impl *WeekModelLstDAOImplement) SelectJoinDayModel(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.WeekModelLstAndDay, error) { +// +// parameters := []interface{}{impl.plantNr} +// where := "PlantNr = ?" +// +// session := impl.session.Table(meta.WeekModelLst.TableName) +// if predicates != nil { +// for _, predicate := range predicates { +// where += predicate.Build() +// parameters = append(parameters, predicate.Values...) +// } +// session = session.Where(where, parameters...) +// } else { +// session = session.Where(where, parameters...) +// } +// +// condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s.%s = %s.%s", +// meta.WeekModelLst.TableName, +// meta.DayModel.TableName, +// meta.WeekModelLst.TableName, +// meta.WeekModelLst_DayModelNr.ColumnName, +// meta.DayModel.TableName, +// meta.WeekModelLst_DayModelNr.ColumnName) +// session.Join("LEFT", meta.DayModel.TableName, condition) +// session = session.OrderBy("PlantNr") +// if orderByFields != nil { +// for _, field := range orderByFields { +// session = session.OrderBy(field.ColumnName) +// } +// } +// data := make([]model.WeekModelLstAndDay, 0, 10) +// err := session.Find(&data) +// if err != nil { +// return nil, grmi.NewDataBaseError(err) +// } +// return data, nil +//} +/****************************************************************************** + * + * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WeekModelLstDAO.SelectJoinDayModel + * + ******************************************************************************/ +func (impl *WeekModelLstDAOImplement) SelectJoinDayModel(weekModelNr int) ([]model.WeekModelLstAndDay, error) { + + //parameters := []interface{}{impl.plantNr} + //where := "PlantNr = ?" + + session := impl.session.Table(meta.WeekModelLst.TableName) + //if predicates != nil { + // for _, predicate := range predicates { + // where += predicate.Build() + // parameters = append(parameters, predicate.Values...) + // } + // session = session.Where(where, parameters...) + //} else { + // session = session.Where(where, parameters...) + //} + session.Where("WeekModelLst.PlantNr = ? and WeekModelLst.WeekModelNr = ?", impl.plantNr, weekModelNr) + condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s.%s = %s.%s", + meta.WeekModelLst.TableName, + meta.DayModel.TableName, + meta.WeekModelLst.TableName, + meta.WeekModelLst_DayModelNr.ColumnName, + meta.DayModel.TableName, + meta.WeekModelLst_DayModelNr.ColumnName) + session.Join("LEFT", meta.DayModel.TableName, condition) + session = session.OrderBy("WeekModelLst.PlantNr") + //if orderByFields != nil { + // for _, field := range orderByFields { + // session = session.OrderBy(field.ColumnName) + // } + //} + data := make([]model.WeekModelLstAndDay, 0, 10) + err := session.Find(&data) + if err != nil { + return nil, grmi.NewDataBaseError(err) + } + fmt.Println("data:", data) + return data, nil +} \ No newline at end of file diff --git a/dao/base/implments/WorkCalendarLst.dao.impl.go b/dao/base/implments/WorkCalendarLst.dao.impl.go index fe5c14b..dd54225 100644 --- a/dao/base/implments/WorkCalendarLst.dao.impl.go +++ b/dao/base/implments/WorkCalendarLst.dao.impl.go @@ -6,6 +6,7 @@ import ( "LAPP_GAAS_GFrame_BACKEND/grmi" meta "LAPP_GAAS_GFrame_BACKEND/meta/base" model "LAPP_GAAS_GFrame_BACKEND/models/base" + "fmt" "github.com/go-xorm/xorm" "xorm.io/core" ) @@ -300,3 +301,90 @@ func (impl *WorkCalendarLstDAOImplement) UpdateWhere(predicates []grmi.Predicate } return nil } + +///****************************************************************************** +// * +// * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkCalendarLstDAO.SelectJoinDayModel +// * +// ******************************************************************************/ +//func (impl *WorkCalendarLstDAOImplement) SelectJoinDayModel(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.WorkCalendarLstAndDay, error) { +// +// parameters := []interface{}{impl.plantNr} +// where := "PlantNr = ?" +// +// session := impl.session.Table(meta.WorkCalendarLst.TableName) +// if predicates != nil { +// for _, predicate := range predicates { +// where += predicate.Build() +// parameters = append(parameters, predicate.Values...) +// } +// session = session.Where(where, parameters...) +// } else { +// session = session.Where(where, parameters...) +// } +// condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s.%s = %s.%s", +// meta.WorkCalendarLst.TableName, +// meta.DayModel.TableName, +// meta.WorkCalendarLst.TableName, +// meta.WorkCalendarLst_DayModelNr.ColumnName, +// meta.DayModel.TableName, +// meta.DayModel_DayModelNr.ColumnName) +// session.Join("LEFT", meta.DayModel.TableName, condition) +// session = session.OrderBy("PlantNr") +// if orderByFields != nil { +// for _, field := range orderByFields { +// session = session.OrderBy(field.ColumnName) +// } +// } +// +// data := make([]model.WorkCalendarLstAndDay, 0, 10) +// err := session.Find(&data) +// if err != nil { +// return nil, grmi.NewDataBaseError(err) +// } +// return data, nil +//} + +/****************************************************************************** + * + * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkCalendarLstDAO.SelectJoinDayModel + * + ******************************************************************************/ +func (impl *WorkCalendarLstDAOImplement) SelectJoinDayModel(workCalendarNr int) ([]model.WorkCalendarLstAndDay, error) { + + //parameters := []interface{}{impl.plantNr} + //where := "PlantNr = ?" + + session := impl.session.Table(meta.WorkCalendarLst.TableName) + //if predicates != nil { + // for _, predicate := range predicates { + // where += predicate.Build() + // parameters = append(parameters, predicate.Values...) + // } + // session = session.Where(where, parameters...) + //} else { + // session = session.Where(where, parameters...) + //} + session.Where("WorkCalendarLst.PlantNr = ? and WorkCalendarLst.WorkCalendarNr = ?", impl.plantNr, workCalendarNr) + condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s.%s = %s.%s", + meta.WorkCalendarLst.TableName, + meta.DayModel.TableName, + meta.WorkCalendarLst.TableName, + meta.WorkCalendarLst_DayModelNr.ColumnName, + meta.DayModel.TableName, + meta.DayModel_DayModelNr.ColumnName) + session.Join("LEFT", meta.DayModel.TableName, condition) + session = session.OrderBy("WorkCalendarLst.PlantNr") + //if orderByFields != nil { + // for _, field := range orderByFields { + // session = session.OrderBy(field.ColumnName) + // } + //} + + data := make([]model.WorkCalendarLstAndDay, 0, 10) + err := session.Find(&data) + if err != nil { + return nil, grmi.NewDataBaseError(err) + } + return data, nil +} \ No newline at end of file diff --git a/models/base/WeekModel.model.go b/models/base/WeekModel.model.go index c000362..4a57109 100644 --- a/models/base/WeekModel.model.go +++ b/models/base/WeekModel.model.go @@ -20,17 +20,17 @@ 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 []WeekModelLst `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"` } /****************************************************************************** diff --git a/models/base/WeekModelLstAndDay.go b/models/base/WeekModelLstAndDay.go new file mode 100644 index 0000000..8eb39df --- /dev/null +++ b/models/base/WeekModelLstAndDay.go @@ -0,0 +1,18 @@ +package base + +/****************************************************************************** + * + * @Struct Name : WeekModelLstAndDay + *----------------------------------------------------------------------------- + * + * @Description : WeekModelLstAndDay WeekModeLst和DayModel连表映射 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ +type WeekModelLstAndDay struct { + WeekModelLst `xorm:"extends"` + DayModel `xorm:"extends"` +} diff --git a/models/base/WorkCalendar.model.go b/models/base/WorkCalendar.model.go index 99b7a73..31849de 100644 --- a/models/base/WorkCalendar.model.go +++ b/models/base/WorkCalendar.model.go @@ -20,13 +20,13 @@ import ( * ******************************************************************************/ type WorkCalendar struct { - PlantNr int `xorm:"pk int 'PlantNr'" json:"WorkCalendar-PlantNr"` - WorkCalendarNr int `xorm:"pk int 'WorkCalendarNr'" json:"WorkCalendar-WorkCalendarNr"` - Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WorkCalendar-Descr"` - LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WorkCalendar-LastModify"` - LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WorkCalendar-LastUser"` - CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WorkCalendar-CreateTime"` - WorkCalendarLst []WorkCalendarLst `xorm:"-" json:"WorkCalendar-WorkCalendarLst"` + PlantNr int `xorm:"pk int 'PlantNr'" json:"WorkCalendar-PlantNr"` + WorkCalendarNr int `xorm:"pk int 'WorkCalendarNr'" json:"WorkCalendar-WorkCalendarNr"` + Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WorkCalendar-Descr"` + LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WorkCalendar-LastModify"` + LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WorkCalendar-LastUser"` + CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WorkCalendar-CreateTime"` + WorkCalendarLst []WorkCalendarLstAndDay `xorm:"-" json:"WorkCalendar-WorkCalendarLst"` } /****************************************************************************** diff --git a/models/base/WorkCalendarLstAndDay.go b/models/base/WorkCalendarLstAndDay.go new file mode 100644 index 0000000..2107e53 --- /dev/null +++ b/models/base/WorkCalendarLstAndDay.go @@ -0,0 +1,18 @@ +package base + +/****************************************************************************** + * + * @Struct Name : WorkCalendarLstAndDay + *----------------------------------------------------------------------------- + * + * @Description : WorkCalendarLstAndDay WorkCalendarLst和DayModel连表映射 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ +type WorkCalendarLstAndDay struct { + WorkCalendarLst `xorm:"extends"` + DayModel `xorm:"extends"` +} diff --git a/models/base/base.go b/models/base/base.go new file mode 100644 index 0000000..fb6c3eb --- /dev/null +++ b/models/base/base.go @@ -0,0 +1,19 @@ +package base + + +/****************************************************************************** + * + * @Struct Name : WeekModelLstInsertReq + *----------------------------------------------------------------------------- + * + * @Description : WeekModelLstInsertReq weekModelLst 批量插入请求体映射 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ +type WeekModelLstInsertReq struct { + WeekModelNr int `json:"weekModelNr"` + Records []WeekModelLst `json:"records"` +} diff --git a/services/base/WeekModelLst.service.go b/services/base/WeekModelLst.service.go index 768f210..a66c049 100644 --- a/services/base/WeekModelLst.service.go +++ b/services/base/WeekModelLst.service.go @@ -117,7 +117,7 @@ type WeekModelLstService interface { * @Date : 2021-03-18 23:20:31 * ******************************************************************************/ - Insert(*models.Usertab, *[]model.WeekModelLst) error + Insert(*models.Usertab, *model.WeekModelLstInsertReq) error /****************************************************************************** * * @Function Name : Delete diff --git a/services/base/implments/WeekModel.service.impl.go b/services/base/implments/WeekModel.service.impl.go index 3bc6ca5..ea66233 100644 --- a/services/base/implments/WeekModel.service.impl.go +++ b/services/base/implments/WeekModel.service.impl.go @@ -9,6 +9,7 @@ import ( meta "LAPP_GAAS_GFrame_BACKEND/meta/base" model "LAPP_GAAS_GFrame_BACKEND/models/base" "LAPP_GAAS_GFrame_BACKEND/web/models" + "fmt" ) /****************************************************************************** @@ -161,10 +162,26 @@ func (impl *WeekModelServiceImplement) SelectOne(user *models.Usertab, weekModel session := engine.NewSession() defer session.Close() dao := dal.NewWeekModelDAO(session, user.Pid, user.Userid) + + result, err := dao.SelectOne(weekModelNr) if err != nil { return nil, err } + //condition := DefaultConditionOfWeekModelLst + weekModelLstDao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid) + //li, err := weekModelLstDao.SelectJoinDayModel([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModelNr)}, condition.OrderByFields) + 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("不存在对应的周模型") + } + result.WeekModelLst = li return result, nil } @@ -276,39 +293,39 @@ func (impl *WeekModelServiceImplement) Select(user *models.Usertab, urlParameter return nil, err } dao := dal.NewWeekModelDAO(session, user.Pid, user.Userid) - weekModelLstDao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid) - lstCondition := DefaultConditionOfWeekModelAndPaging + //weekModelLstDao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid) + //lstCondition := DefaultConditionOfWeekModelAndPaging if condition.Fill(urlParameters) { result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields) if err != nil { return nil, err } - li := result.Records.([]model.WeekModel) - for index, weekModel := range li { - weekModelLstLi, err := weekModelLstDao.Select([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModel.WeekModelNr)}, lstCondition.OrderByFields) - if err != nil { - return nil, err - } - newWeekModel := weekModel - newWeekModel.WeekModelLst = weekModelLstLi - li[index] = weekModel - } - result.Records = li + //li := result.Records.([]model.WeekModel) + //for index, weekModel := range li { + // weekModelLstLi, err := weekModelLstDao.SelectJoinDayModel([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModel.WeekModelNr)}, lstCondition.OrderByFields) + // if err != nil { + // return nil, err + // } + // newWeekModel := weekModel + // newWeekModel.WeekModelLst = weekModelLstLi + // li[index] = weekModel + //} + //result.Records = li return result, nil } else { result, err := dao.Select(predicates, condition.OrderByFields) if err != nil { return nil, err } - for index, weekModel := range result { - weekModelLstLi, err := weekModelLstDao.Select([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModel.WeekModelNr)}, lstCondition.OrderByFields) - if err != nil { - return nil, err - } - newWeekModel := weekModel - newWeekModel.WeekModelLst = weekModelLstLi - result[index] = weekModel - } + //for index, weekModel := range result { + // weekModelLstLi, err := weekModelLstDao.SelectJoinDayModel([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModel.WeekModelNr)}, lstCondition.OrderByFields) + // if err != nil { + // return nil, err + // } + // newWeekModel := weekModel + // newWeekModel.WeekModelLst = weekModelLstLi + // result[index] = weekModel + //} return result, nil } } diff --git a/services/base/implments/WeekModelLst.service.impl.go b/services/base/implments/WeekModelLst.service.impl.go index 8c0c00b..afd52e4 100644 --- a/services/base/implments/WeekModelLst.service.impl.go +++ b/services/base/implments/WeekModelLst.service.impl.go @@ -212,29 +212,45 @@ func (impl *WeekModelLstServiceImplement) UpdateOne(user *models.Usertab, entity * @Reference LAPP_GAAS_GFrame_BACKEND/services/base/WeekModelLstService.Insert * ******************************************************************************/ -func (impl *WeekModelLstServiceImplement) Insert(user *models.Usertab, entities *[]model.WeekModelLst) error { +func (impl *WeekModelLstServiceImplement) Insert(user *models.Usertab, entities *model.WeekModelLstInsertReq) error { grmi.Log(user, "/services/base/implments/WeekModelLst.service.impl.go", "InsertWeekModelLst", "插入多个WeekModelLst") engine := db.Eloquent.Master() session := engine.NewSession() defer session.Close() + err := session.Begin() + if err != nil { + return err + } + weekModelNr := entities.WeekModelNr + weekModelLstLi := entities.Records dao := dal.NewWeekModelLstDAO(session, user.Pid, user.Userid) - - for _, entity := range *entities { - record, err := dao.SelectOne(entity.WeekModelNr, entity.WorkDate) - if err != nil { - return err - } - if record != nil { - return grmi.NewBusinessError("已经存在相同主键的记录!") + weekModelDao := dal.NewWeekModelDAO(session, user.Pid, user.Userid) + weekModel, err := weekModelDao.SelectOne(weekModelNr) + if err != nil { + return err + } + if weekModel == nil { + return grmi.NewBusinessError("不存在对应的周模型") + } + for _, weekModelLst := range weekModelLstLi { + if weekModelLst.WeekModelNr != weekModelNr { + return grmi.NewBusinessError("传入的weekModelLst对应WeekModelNr和设置的不符,请检查") } } + err = dao.DeleteWhere([]grmi.Predicate{meta.WeekModelLst_WeekModelNr.NewPredicate(grmi.Equal, weekModelNr)}) + if err != nil { + session.Rollback() + return err + } - err := dao.Insert(entities) + err = dao.Insert(&weekModelLstLi) if err != nil { + session.Rollback() return err } + session.Commit() return nil } diff --git a/services/base/implments/WorkCalendar.service.impl.go b/services/base/implments/WorkCalendar.service.impl.go index 0f5bd33..9dc1c47 100644 --- a/services/base/implments/WorkCalendar.service.impl.go +++ b/services/base/implments/WorkCalendar.service.impl.go @@ -161,6 +161,12 @@ func (impl *WorkCalendarServiceImplement) SelectOne(user *models.Usertab, workCa if err != nil { return nil, err } + workCalendarLstDao := dal.NewWorkCalendarLstDAO(session, user.Pid, user.Userid) + li, err := workCalendarLstDao.SelectJoinDayModel(workCalendarNr) + if err != nil { + return nil, err + } + result.WorkCalendarLst = li return result, nil } @@ -271,39 +277,39 @@ func (impl *WorkCalendarServiceImplement) Select(user *models.Usertab, urlParame return nil, err } dao := dal.NewWorkCalendarDAO(session, user.Pid, user.Userid) - calendarLstDao := dal.NewWorkCalendarLstDAO(session, user.Pid, user.Userid) - lstCondition := DefaultConditionOfWorkCalendarLst + //calendarLstDao := dal.NewWorkCalendarLstDAO(session, user.Pid, user.Userid) + //lstCondition := DefaultConditionOfWorkCalendarLst if condition.Fill(urlParameters) { result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields) if err != nil { return nil, err } - li := result.Records.([]model.WorkCalendar) - for index, calendar := range li { - newCalendar := calendar - workCalendarLstLi, err := calendarLstDao.Select([]grmi.Predicate{meta.WorkCalendarLst_WorkCalendarNr.NewPredicate(grmi.Equal, calendar.WorkCalendarNr)}, lstCondition.OrderByFields) - if err != nil { - return nil, err - } - newCalendar.WorkCalendarLst = workCalendarLstLi - li[index] = newCalendar - } - result.Records = li + //li := result.Records.([]model.WorkCalendar) + //for index, calendar := range li { + // newCalendar := calendar + // workCalendarLstLi, err := calendarLstDao.SelectJoinDayModel([]grmi.Predicate{meta.WorkCalendarLst_WorkCalendarNr.NewPredicate(grmi.Equal, calendar.WorkCalendarNr)}, lstCondition.OrderByFields) + // if err != nil { + // return nil, err + // } + // newCalendar.WorkCalendarLst = workCalendarLstLi + // li[index] = newCalendar + //} + //result.Records = li return result, nil } else { result, err := dao.Select(predicates, condition.OrderByFields) if err != nil { return nil, err } - for index, calendar := range result { - newCalendar := calendar - workCalendarLstLi, err := calendarLstDao.Select([]grmi.Predicate{meta.WorkCalendarLst_WorkCalendarNr.NewPredicate(grmi.Equal, calendar.WorkCalendarNr)}, lstCondition.OrderByFields) - if err != nil { - return nil, err - } - newCalendar.WorkCalendarLst = workCalendarLstLi - result[index] = newCalendar - } + //for index, calendar := range result { + // newCalendar := calendar + // workCalendarLstLi, err := calendarLstDao.SelectJoinDayModel([]grmi.Predicate{meta.WorkCalendarLst_WorkCalendarNr.NewPredicate(grmi.Equal, calendar.WorkCalendarNr)}, lstCondition.OrderByFields) + // if err != nil { + // return nil, err + // } + // newCalendar.WorkCalendarLst = workCalendarLstLi + // result[index] = newCalendar + //} return result, nil } } diff --git a/web/controllers/base/WeekModelLst.rest.go b/web/controllers/base/WeekModelLst.rest.go index 2f1c643..3056de7 100644 --- a/web/controllers/base/WeekModelLst.rest.go +++ b/web/controllers/base/WeekModelLst.rest.go @@ -294,9 +294,9 @@ func RegisterMultiWeekModelLst(party router.Party, httpMethod string, path strin * @Date : 2021-03-18 22:49:12 * ******************************************************************************/ -func RegisterInsertWeekModelLst(party router.Party, path string, method func(*models.Usertab, *[]model.WeekModelLst) error) { +func RegisterInsertWeekModelLst(party router.Party, path string, method func(*models.Usertab, *model.WeekModelLstInsertReq) error) { - RegisterMultiWeekModelLst(party, "POST", path, method) + RegisterMultiInsertWeekModelLst(party, "POST", path, method) } /****************************************************************************** @@ -380,3 +380,48 @@ func RegisterUpdateWeekModelLst(party router.Party, path string, method func(*mo RegisterMultiWeekModelLst(party, "PUT", path, method) } + +/****************************************************************************** + * + * @Function Name : RegisterMultiInsertWeekModelLst + *----------------------------------------------------------------------------- + * + * @Description : 为一个处理插入多条WeekModelLst的方法注册路由 + * + * @Function Parameters : 路由分组 + * + * @Function Parameters : HTTP方法 + * + * @Function Parameters : 路径 + * + * @Function Parameters : 实际处理请求的方法 + * + * @Author : 张鑫 + * + * @Date : 2021-04-15 + * + ******************************************************************************/ +func RegisterMultiInsertWeekModelLst(party router.Party, httpMethod string, path string, method func(*models.Usertab, *model.WeekModelLstInsertReq) error) { + + party.Handle(httpMethod, path, func(ctx iris.Context) { + user, ok := jwts.ParseToken(ctx) + if !ok { + supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) + return + } + + var entities model.WeekModelLstInsertReq + err := ctx.ReadJSON(&entities) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } + + err = method(user, &entities) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } + supports.Ok(ctx, supports.OptionSuccess, nil) + }) +} \ No newline at end of file diff --git a/web/controllers/base/base.go b/web/controllers/base/base.go index 9c34160..29f155b 100644 --- a/web/controllers/base/base.go +++ b/web/controllers/base/base.go @@ -618,19 +618,19 @@ func RegisterRoutes() { // WeekModelLst的服务实例 var serviceOfWeekModelLst = svr.NewWeekModelLstService() // WeekModelLst插入一条 - RegisterInsertOneWeekModelLst(weekmodellst, "/insertone", serviceOfWeekModelLst.InsertOne) + //RegisterInsertOneWeekModelLst(weekmodellst, "/insertone", serviceOfWeekModelLst.InsertOne) // WeekModelLst插入多条 - // RegisterInsertWeekModelLst(weekmodellst, "/insert", serviceOfWeekModelLst.Insert) + RegisterInsertWeekModelLst(weekmodellst, "/insert", serviceOfWeekModelLst.Insert) // WeekModelLst删除一条 - RegisterDeleteOneWeekModelLst(weekmodellst, "/deleteone", serviceOfWeekModelLst.DeleteOne) + //RegisterDeleteOneWeekModelLst(weekmodellst, "/deleteone", serviceOfWeekModelLst.DeleteOne) // WeekModelLst删除多条 // RegisterDeleteWeekModelLst(weekmodellst, "/delete", serviceOfWeekModelLst.Delete) // WeekModelLst查询多条 - RegisterSelectWeekModelLst(weekmodellst, "/query", serviceOfWeekModelLst.Select) + //RegisterSelectWeekModelLst(weekmodellst, "/query", serviceOfWeekModelLst.Select) // WeekModelLst查询一条 - RegisterSelectOneWeekModelLst(weekmodellst, "/get", serviceOfWeekModelLst.SelectOne) + //RegisterSelectOneWeekModelLst(weekmodellst, "/get", serviceOfWeekModelLst.SelectOne) // WeekModelLst修改一条 - RegisterUpdateOneWeekModelLst(weekmodellst, "/updateone", serviceOfWeekModelLst.UpdateOne) + //RegisterUpdateOneWeekModelLst(weekmodellst, "/updateone", serviceOfWeekModelLst.UpdateOne) // WeekModelLst修改多条 // RegisterUpdateWeekModelLst(weekmodellst, "/update", serviceOfWeekModelLst.Update)