SrmTray.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using WCS.Data;
  7. using WCS.Data.Models;
  8. using WCS.PLC;
  9. namespace WCS.Workflow
  10. {
  11. public class SrmTray : Base_Srm3
  12. {
  13. #region Constructor
  14. public SrmTray() : base()
  15. {
  16. }
  17. #endregion;
  18. protected override WCS_EQUIPMENTROUTE QueryOutEquRouteItem(WCS_TASK task, List<WCS_EQUIPMENTROUTE> routeSet)
  19. {
  20. return base.QueryOutEquRouteItem(task, routeSet);
  21. }
  22. protected override bool CheckAreaOutAddress(WCS_TASK task, WCS_EQUIPMENTROUTE route)
  23. {
  24. return base.CheckAreaOutAddress(task, route);
  25. }
  26. /// <summary>
  27. /// 查询可用出库任务列表
  28. /// </summary>
  29. protected override List<WCS_TASK> QueryOutTasks(List<WCS_TASK> taskSet)
  30. {
  31. List<WCS_TASK> taskList = null;//待返回的任务集合
  32. WCS_TASK groupTask = null;//分组的待出库任务
  33. var task = base.QueryOutTasks(taskSet).FirstOrDefault();
  34. if (task != null)
  35. {
  36. if (task.TASK_COMTYPE == 2 && task.TASK_POSIDTO != "1454" && task.TASK_POSIDTO != "1455")
  37. {
  38. string groupNo = QueryOtherGroupTask();
  39. if (!string.IsNullOrWhiteSpace(groupNo))
  40. {
  41. groupTask = taskSet.SingleOrDefault(v => v.TASK_ITEM1 == groupNo);
  42. }
  43. }
  44. }
  45. return taskList = groupTask == null ? base.QueryOutTasks(taskSet) : new List<WCS_TASK>() { groupTask };
  46. }
  47. /// <summary>
  48. /// 检测是否执行当前出库任务
  49. /// </summary>
  50. protected override bool QueryOutTask(WCS_TASK task)
  51. {
  52. return base.QueryOutTask(task);
  53. }
  54. }
  55. }