高级排程
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.

46 lines
1.1 KiB

  1. package service
  2. import (
  3. "LAPP_AS/common"
  4. base_model "LAPP_AS/models/base"
  5. )
  6. // 工位组类型资源组对象
  7. type WorkPlaceGrpSrv struct{
  8. WorkPlaceGrpId string
  9. Wpgtab base_model.WorkPlaceGrp
  10. WorkPlaceDict map[string]*WorkPlaceSrv
  11. WaitTaskArray []OperationSrv // 任务等待队列
  12. SchedTaskArray []SchedTaskSrv // 已计划任务队列
  13. }
  14. // 初始化对象
  15. func(wpgs *WorkPlaceGrpSrv)Init(wpgid string){
  16. wpgs.WorkPlaceGrpId = wpgid
  17. wpgs.WorkPlaceDict = make(map[string]*WorkPlaceSrv)
  18. wpgs.WaitTaskArray = []OperationSrv{}
  19. wpgs.SchedTaskArray = []SchedTaskSrv{}
  20. }
  21. // 初始化对象
  22. func(wpgs *WorkPlaceGrpSrv)Create(wpgtab base_model.WorkPlaceGrp){
  23. wpgs.WorkPlaceGrpId = wpgtab.WorkPlaceGrpId
  24. wpgs.Wpgtab = wpgtab
  25. wpgs.WorkPlaceDict = make(map[string]*WorkPlaceSrv)
  26. wpgs.WaitTaskArray = []OperationSrv{}
  27. wpgs.SchedTaskArray = []SchedTaskSrv{}
  28. }
  29. // 判断工位组内当前是否有工位状态可用
  30. func(wpgs *WorkPlaceGrpSrv)ExistAvailableWorkPlace()(exist bool){
  31. exist = false
  32. for _, wp := range wpgs.WorkPlaceDict{
  33. if wp.Status == common.RES_STATUS_AVAIL {
  34. exist = true
  35. return
  36. }
  37. }
  38. return
  39. }