MainManager.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using System.Linq;
  2. using SHJX.Service.Model.Dao;
  3. using SHJX.Service.Common.ReadXML;
  4. using System.Collections.Generic;
  5. namespace SHJX.Service.Dao
  6. {
  7. public class MainManager : DataManagerImp
  8. {
  9. public MainManager(ReadConfigUtil config)
  10. {
  11. InitData(config);
  12. }
  13. public List<EquipmentTask> GetExistTask()
  14. {
  15. TaskState[] states = { TaskState.New, TaskState.Waiting, TaskState.Doing };
  16. return Db.Queryable<EquipmentTask>().Where(item => states.Contains(item.Status) && item.TaskType!= "润洗" && item.TaskType != "清洗").ToList();
  17. }
  18. public List<Wavekey> GetWavekeys()
  19. {
  20. return Db.Queryable<Wavekey>().OrderBy(item => item.WaveKey, SqlSugar.OrderByType.Desc).ToList();
  21. }
  22. public List<EquipmentTask> QueryTaskByUuid(string uuid, params TaskState[] states)
  23. {
  24. return Db.Queryable<EquipmentTask>()
  25. .Where(item => item.WaveKey.Equals(uuid))
  26. .Where(item => states.Contains(item.Status))
  27. .Clone()
  28. .ToList();
  29. }
  30. public Batch GetBatch()
  31. {
  32. return Db.Queryable<Batch>().OrderBy(item=>item.Createtime, SqlSugar.OrderByType.Desc).First();
  33. }
  34. public List<EquipmentTask> GetHeatingTaskAtPresent()
  35. {
  36. TaskState[] states = { TaskState.Doing, TaskState.New };
  37. var res = Db.Queryable<EquipmentTask>().Where(item => item.RouteStep.Equals("Liquid_Heating") && states.Contains(item.Status)).ToList();
  38. return res;
  39. }
  40. /// <summary>
  41. /// 查询任务列表
  42. /// </summary>
  43. /// <param name="pointName"></param>
  44. /// <returns></returns>
  45. public bool QueryContainTask(string pointName) =>
  46. Db.Queryable<EquipmentTask>()
  47. .Where(item => item.OriginLocalName.Equals(pointName)
  48. && (item.Status.Equals(TaskState.Doing)
  49. || item.Status.Equals(TaskState.New)))
  50. .Any();
  51. /// <summary>
  52. /// 删除
  53. /// </summary>
  54. /// <param name="pointName"></param>
  55. /// <returns></returns>
  56. public void QuerydeledeTask(string pointName) =>
  57. Db.Deleteable<EquipmentTask>().Where(item => item.OriginLocalName.Equals(pointName) && item.TaskType.Equals("补杯")).ExecuteCommand();
  58. public void QuerydeledeEmptyCupTask(string pointName) =>
  59. Db.Deleteable<EquipmentTask>().Where(item => item.OriginLocalName.Equals(pointName)).ExecuteCommand();
  60. public EquipmentStatus CheckHeatRodStatus()
  61. {
  62. return Db.Queryable<EquipmentStatus>().First(item => item.EquipmentName.Equals("HeatRod"));
  63. }
  64. /// <summary>
  65. /// 获取剩余润洗任务
  66. /// </summary>
  67. /// <returns></returns>
  68. public List<EquipmentTask> GetResidueWashTask() =>
  69. Db.Queryable<EquipmentTask>()
  70. .Where(item => item.RouteType.Equals("Wash"))
  71. .Where(item => item.Status.Equals(TaskState.Doing) || item.Status.Equals(TaskState.New))
  72. .ToList();
  73. /// <summary>
  74. /// 获取存在的执行或新建的任务
  75. /// </summary>
  76. /// <returns></returns>
  77. public List<EquipmentTask> GetEquipmentTasks()
  78. {
  79. TaskState[] states = { TaskState.Doing, TaskState.New };
  80. var waveKey = Db.Queryable<EquipmentTask>().Where(item => states.Contains(item.Status)).GroupBy(item => item.WaveKey).First()?.WaveKey;
  81. return Db.Queryable<EquipmentTask>().Where(item => item.WaveKey.Equals(waveKey)).ToList();
  82. }
  83. public List<EquipmentTask> GetEquipmentTasks(EquipmentTask task)
  84. {
  85. TaskState[] states = { TaskState.Doing, TaskState.New };
  86. var waveKey = Db.Queryable<EquipmentTask>().Where(item => states.Contains(item.Status)).GroupBy(item => item.WaveKey).First()?.WaveKey;
  87. return Db.Queryable<EquipmentTask>().Where(item => item.WaveKey.Equals(waveKey)).ToList();
  88. }
  89. public List<EquipmentTask> GetEquipmentTasksBD(string waveKey)
  90. {
  91. return Db.Queryable<EquipmentTask>().Where(item => item.WaveKey.Equals(waveKey) && item.Status.Equals(TaskState.Finished)).ToList();
  92. }
  93. public List<EquipmentTask> GetTaskByConcentration(params string[] values)
  94. {
  95. var guid = values[0];
  96. var concentration = values[1];
  97. return Db.Queryable<EquipmentTask>()
  98. .Where(item => item.WaveKey.Equals(guid)
  99. && item.SampleConcentration.Equals(concentration))
  100. ?.ToList();
  101. }
  102. public List<EquipmentArea> GetAreasByDisable()
  103. {
  104. return Db.Queryable<EquipmentArea>().Where(item => item.Status.Equals(false)).ToList();
  105. }
  106. public EquipmentStatus GetEquipmentStatusByName(string name)
  107. {
  108. return Db.Queryable<EquipmentStatus>().First(item => item.EquipmentName.Equals(name));
  109. }
  110. public PID GetPid(string type) => Db.Queryable<PID>().First(item => item.TypeName.Equals(type));
  111. }
  112. }