|
|
@ -0,0 +1,51 @@ |
|
|
|
package schedule |
|
|
|
|
|
|
|
import ( |
|
|
|
dal "LAPP_GAAS_GFrame_BACKEND/dao/base" |
|
|
|
"LAPP_GAAS_GFrame_BACKEND/db" |
|
|
|
"LAPP_GAAS_GFrame_BACKEND/infra/logger" |
|
|
|
model "LAPP_GAAS_GFrame_BACKEND/models/base" |
|
|
|
) |
|
|
|
|
|
|
|
func ApsRelease(plantNr int) { |
|
|
|
user := "crontab" |
|
|
|
log, _ := logger.NewLogger(user, "Scheduler") |
|
|
|
master := db.Eloquent.Master() |
|
|
|
session := master.NewSession() |
|
|
|
workLineDao := dal.NewWorkLineDAO(session, plantNr, user) |
|
|
|
workLineLi, err := workLineDao.SelectAll() |
|
|
|
if err != nil { |
|
|
|
log.Error("ApsRelease get all work line failed, error:" + err.Error()) |
|
|
|
return |
|
|
|
} |
|
|
|
for _, workLine := range workLineLi { |
|
|
|
_ = StartWorkLineRelease(workLine, plantNr) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func StartWorkLineRelease(workLine model.WorkLine, plantNr int) error { |
|
|
|
user := "crontab" |
|
|
|
log, _ := logger.NewLogger(user, "Scheduler") |
|
|
|
schedulerSrv := SchedulerSrv{ |
|
|
|
PlantNr: plantNr, |
|
|
|
} |
|
|
|
// 加载项目主数据
|
|
|
|
err := schedulerSrv.LoadProjectData() |
|
|
|
if err != nil { |
|
|
|
log.Error("StartWorkLineRelease load project data failed, error:"+err.Error(), "workLineId: "+workLine.WorkLineid) |
|
|
|
return err |
|
|
|
} |
|
|
|
// 加载产线主数据
|
|
|
|
err = schedulerSrv.LoadWorklineData(workLine.LineType) |
|
|
|
if err != nil { |
|
|
|
log.Error("StartWorkLineRelease load work line data, error:"+err.Error(), "workLineId: "+workLine.WorkLineid) |
|
|
|
return err |
|
|
|
} |
|
|
|
// 生产派工
|
|
|
|
err = schedulerSrv.ReleaseSchedule(workLine.WorkLineid) |
|
|
|
if err != nil { |
|
|
|
log.Error("StartWorkLineRelease release schedule failed, error:"+err.Error(), "workLineId: "+workLine.WorkLineid) |
|
|
|
return err |
|
|
|
} |
|
|
|
return nil |
|
|
|
} |