diff --git a/models/WorkLine.go b/models/WorkLine.go index a8ed33b..b744474 100644 --- a/models/WorkLine.go +++ b/models/WorkLine.go @@ -10,7 +10,7 @@ import ( type Workline struct { Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"` - Worklineid string `json:"WorkLineid" xorm:"not null pk NVARCHAR(80)"` + Worklineid string `json:"WorkLineId" xorm:"not null pk NVARCHAR(80)"` Descr string `json:"Descr" xorm:"not null NVARCHAR(200)"` Linetype string `json:"LineType" xorm:"not null NVARCHAR(2)"` Lineplanmode string `json:"LinePlanMode" xorm:"not null NVARCHAR(6)"` @@ -149,3 +149,27 @@ func (t *Workline) SelectOne() (Workline, error) { } return data, nil } + +/****************************************************************************** + * + * @Function Name : + *----------------------------------------------------------------------------- + * + * @Description : 查找所有指定类型的馋相 + * + * @Function Parameters: + * + * @Return Value : + * + * @Author : Lou Wenzhi + * + * @Date : 2021/3/6 8:47 + * + ******************************************************************************/ +func (t *Workline) SelectByType(wltype string) (datalst []Workline, err error) { + e := db.Eloquent.Master() + if err := e.Where("Plantnr = ? and Linetype = ?", t.Plantnr, wltype).OrderBy("WorkLineId").Find(&datalst); err != nil { + return + } + return +} diff --git a/schedule/Scheduler.Ctrl.go b/schedule/Scheduler.Ctrl.go index fd9e904..394facd 100644 --- a/schedule/Scheduler.Ctrl.go +++ b/schedule/Scheduler.Ctrl.go @@ -23,13 +23,29 @@ type SchedulerSrv struct { } // 加载产线及其相关数据 -func(schedsrv *SchedulerSrv)LoadWorklineData(){ +func(schedsrv *SchedulerSrv)LoadWorklineData(wltype string)(err error){ + var( + i int + wltab models.Workline + wltablst []models.Workline + wlsrv WorklineSrv + ) // 初始化 schedsrv.WorklineDict = make(map[string]*WorklineSrv) // 加载产线主数据 + wltab = models.Workline{Plantnr: schedsrv.PlantNr} + if wltablst, err = wltab.SelectByType(wltype); err != nil { + err = errors.New(fmt.Sprintf("加载类型%s的产线数据失败%v!",wltype, err)) + return + } // 生成产线对象 - + for i = 0; i < len(wltablst); i++ { + wlsrv = WorklineSrv{} + wlsrv.Init(wltablst[i]) + schedsrv.WorklineDict[wlsrv.WorklineId] = &wlsrv + } + return } // 加载时间模型 func(schedsrv *SchedulerSrv)LoadTimemodelData(){