广汽安道拓Acura项目MES后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.5 KiB

  1. package schedule
  2. import (
  3. dal "LAPP_ACURA_MOM_BACKEND/dao/base"
  4. "LAPP_ACURA_MOM_BACKEND/db"
  5. "LAPP_ACURA_MOM_BACKEND/infra/logger"
  6. model "LAPP_ACURA_MOM_BACKEND/models/base"
  7. )
  8. func ApsRelease(plantNr int) {
  9. user := "crontab"
  10. log, _ := logger.NewLogger(user, "Scheduler")
  11. master := db.Eloquent.Master()
  12. session := master.NewSession()
  13. workLineDao := dal.NewWorkLineDAO(session, plantNr, user)
  14. workLineLi, err := workLineDao.SelectAll()
  15. if err != nil {
  16. log.Error("ApsRelease get all work line failed, error:" + err.Error())
  17. return
  18. }
  19. for _, workLine := range workLineLi {
  20. _ = StartWorkLineRelease(workLine, plantNr)
  21. }
  22. }
  23. func StartWorkLineRelease(workLine model.WorkLine, plantNr int) error {
  24. user := "crontab"
  25. log, _ := logger.NewLogger(user, "Scheduler")
  26. schedulerSrv := SchedulerSrv{
  27. PlantNr: plantNr,
  28. }
  29. // 加载项目主数据
  30. err := schedulerSrv.LoadProjectData()
  31. if err != nil {
  32. log.Error("StartWorkLineRelease load project data failed, error:"+err.Error(), "workLineId: "+workLine.WorkLineid)
  33. return err
  34. }
  35. // 加载产线主数据
  36. err = schedulerSrv.LoadWorkLineData(workLine.WorkLineid)
  37. if err != nil {
  38. log.Error("StartWorkLineRelease load work line data, error:"+err.Error(), "workLineId: "+workLine.WorkLineid)
  39. return err
  40. }
  41. // 生产派工
  42. err = schedulerSrv.ReleaseSchedule(workLine.WorkLineid)
  43. if err != nil {
  44. log.Error("StartWorkLineRelease release schedule failed, error:"+err.Error(), "workLineId: "+workLine.WorkLineid)
  45. return err
  46. }
  47. return nil
  48. }