SimpleStep.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using DbCommon.BusinessCore.BaseCore;
  2. using DbCommon.Enties.DbModels;
  3. using ProjectManagementSystem.Common.Core;
  4. using ProjectManagementSystem.Common.Extenions;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace ProjectManagementSystem.Dispatch
  11. {
  12. public class SimpleStep : SimpleDispatch
  13. {
  14. private static SimpleStep m_instance;
  15. public static SimpleStep Instance
  16. {
  17. get
  18. {
  19. if (m_instance == null)
  20. {
  21. m_instance = new SimpleStep();
  22. }
  23. return m_instance;
  24. }
  25. }
  26. public override bool StepInStation(CallTask taskData)
  27. {
  28. switch (taskData.TaskType)
  29. {
  30. case EnumTaskType.None:
  31. break;
  32. case EnumTaskType.普通叫料:
  33. if (taskData.WarehouseIndex == 0)
  34. {
  35. taskData.StepRoute = taskData.CurrentWarehouse.GetLocationMember("入库取货路线").ToValue<int>();
  36. }
  37. if (taskData.WarehouseIndex == 1)
  38. {
  39. taskData.StepRoute = taskData.CurrentWarehouse.GetLocationMember("入库放货路线").ToValue<int>();
  40. }
  41. break;
  42. default:
  43. break;
  44. }
  45. return true;
  46. }
  47. public override bool StepArriveLocation(CallTask taskData)
  48. {
  49. switch (taskData.TaskType)
  50. {
  51. case EnumTaskType.None:
  52. break;
  53. case EnumTaskType.普通叫料:
  54. if (taskData.WarehouseIndex == 0)
  55. {
  56. //taskData.AllWarehouse = $"{taskData.AllWarehouse},组装工位2";
  57. //taskData.StepMark = 20;
  58. taskData.MaterialId = locationManager.GetById(taskData.StepLocation)?.MaterialId;
  59. locationManager.UpdateStatusAndMaterial(taskData.StepLocation, LocationStatus.Empty, string.Empty);
  60. DeviceControl.Instance.CallBoxLightOff(taskData.Route);
  61. WriteTaskInfo(taskData, $"取货完成,{taskData.StepLocation}置空,物料清空,任务带上物料:{taskData.MaterialId}");
  62. }
  63. break;
  64. default:
  65. break;
  66. }
  67. return true;
  68. }
  69. }
  70. }