OperateDataManager.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using SqlSugar;
  2. using SHJX.Service.Common.ReadXML;
  3. using SHJX.Service.Model.Dao;
  4. using System.Collections.Generic;
  5. namespace SHJX.Service.Dao
  6. {
  7. public class OperateDataManager : DataManagerImp
  8. {
  9. public OperateDataManager(ReadConfigUtil config)
  10. {
  11. InitData(config);
  12. }
  13. public List<EquipmentTask> GetTaskByWaveKey(string waveKey, string level,string taskType)
  14. {
  15. var tasks = Db.Queryable<EquipmentTask>().Where(item => item.TaskType.Equals(taskType) && item.WaveKey.Equals(waveKey)&&item.SampleConcentration.Equals(level)).ToList();
  16. return tasks.Count < 1 ? null : tasks;
  17. }
  18. /// <summary>
  19. ///
  20. /// </summary>
  21. /// <returns></returns>
  22. /// <![CDATA[
  23. /// SELECT * FROM equipment_task WHERE wavekey=(
  24. /// SELECT wavekey FROM equipment_task
  25. /// where TaskType='标定' GROUP BY wavekey
  26. /// ORDER BY CreateTime desc
  27. /// LIMIT 1
  28. /// )
  29. /// ]]>
  30. public List<EquipmentTask> GetLastOtherTaskByWaveKey(string taskType, string level)
  31. {
  32. var task = Db.Queryable<EquipmentTask>()
  33. .Where(item => item.TaskType.Equals(taskType)
  34. && item.Status.Equals(TaskState.Finished)
  35. &&item.SampleConcentration.Equals(level))
  36. .GroupBy(item => new { item.WaveKey })
  37. .OrderBy(item => item.CreateTime, OrderByType.Desc)
  38. .First();
  39. var waveKey = task?.WaveKey;
  40. var tasks = Db.Queryable<EquipmentTask>()
  41. .Where(item => item.WaveKey.Equals(waveKey))
  42. .Where(item => item.TaskType.Equals(taskType))
  43. .ToList();
  44. return tasks.Count < 1 ? null : tasks;
  45. }
  46. /// <summary>
  47. ///
  48. /// </summary>
  49. /// <param name="data"></param>
  50. /// <returns></returns>
  51. public List<EquipmentTask> GetIsHaveEquipment(EquipmentTask data) =>
  52. Db.Queryable<EquipmentTask>()
  53. .Where(item => item.RouteType.Equals(data.RouteType))
  54. .Where(item => item.RouteId.Equals(data.RouteId))
  55. .Where(item => item.RouteStepId.Equals(data.RouteStepId))
  56. .Where(item => item.Status.Equals(TaskState.Doing))
  57. .ToList();
  58. public bool GetTaskIsDoingOrNew() =>
  59. Db.Queryable<EquipmentTask>()
  60. .Where(item => item.Status.Equals(TaskState.Doing) || item.Status.Equals(TaskState.New))
  61. .Any();
  62. public bool GetEquipmentTasksBD(string wavekey) =>
  63. Db.Queryable<EquipmentTask>()
  64. .Where(item => item.WaveKey == wavekey && item.TaskType == "标定" && !item.Status.Equals(TaskState.Finished))
  65. .Any();
  66. public List<EquipmentTask> QueryHeatingTaskbyState(string opType) => Db.Queryable<EquipmentTask>()
  67. .Where(item => item.RouteStep.Equals(opType)
  68. && item.Status.Equals(TaskState.Doing)).ToList();
  69. public DropLiquid QueryLiquid(string pumpName) => Db.Queryable<DropLiquid>().First(item => item.LiquidName.Equals(pumpName));
  70. public PID GetPid(string type) => Db.Queryable<PID>().First(item => item.TypeName.Equals(type));
  71. }
  72. }