diff --git a/services/schedule/ApsRelease.go b/services/schedule/ApsRelease.go new file mode 100644 index 0000000..2a53be1 --- /dev/null +++ b/services/schedule/ApsRelease.go @@ -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 +}