AgvTaskInfoService.cs 5.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using SqlSugar;
  2. using WMS.BZModels;
  3. using WMS.Info;
  4. using wms.sqlsugar.model.sx;
  5. using WMS.BZSqlSugar;
  6. using WMS.BZModels.Dto.SX.TaskDtos;
  7. namespace WMS.BZServices.SX
  8. {
  9. public class AgvTaskInfoService
  10. {
  11. private readonly Repository<WCS_AgvTaskInfo> _agvtaskoldrepository;
  12. public AgvTaskInfoService(Repository<WCS_AgvTaskInfo> agvtaskoldrepository)
  13. {
  14. _agvtaskoldrepository = agvtaskoldrepository;
  15. }
  16. public PagedInfo<AgvTaskoldDto> GetPageList(Pagination pagination, AgvTaskoldQueryDto agvTaskoldQueryDto)
  17. {
  18. var predicate = Expressionable.Create<WCS_AgvTaskInfo>();
  19. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.KeyWord), m => m.ID.ToString().Contains(agvTaskoldQueryDto.KeyWord) || m.AgvID.Contains(agvTaskoldQueryDto.KeyWord)
  20. || m.Station.Contains(agvTaskoldQueryDto.KeyWord) || m.Position.Contains(agvTaskoldQueryDto.KeyWord));
  21. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.ID), m => m.ID.ToString().Contains(agvTaskoldQueryDto.ID));
  22. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.AgvID), m => m.AgvID.Contains(agvTaskoldQueryDto.AgvID));
  23. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Station), m => m.Station.Contains(agvTaskoldQueryDto.Station));
  24. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Position), m => m.Position.Contains(agvTaskoldQueryDto.Position));
  25. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.TaskType), m => m.TaskType.Equals(agvTaskoldQueryDto.TaskType));
  26. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.AgvStatus), m => m.AgvStatus.Equals(agvTaskoldQueryDto.AgvStatus));
  27. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Status), m => m.Status.Equals(agvTaskoldQueryDto.Status));
  28. predicate = predicate.And(p => p.Status < 99);
  29. var query = _agvtaskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(p => p.Take(1));
  30. //if (agvTaskoldQueryDto != null && agvTaskoldQueryDto.AddTimeFrom.HasValue)
  31. //{
  32. // var endtime = DateTime.Now;
  33. // if (agvTaskoldQueryDto.AddTimeTo.HasValue)
  34. // {
  35. // endtime = agvTaskoldQueryDto.AddTimeTo.Value;
  36. // }
  37. // query = _agvtaskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(AgvTaskoldQueryDto.AddTimeFrom.Value, endtime);
  38. //}
  39. var list = query.ToPage<WCS_AgvTaskInfo, AgvTaskoldDto>(pagination);
  40. return list;
  41. }
  42. public PagedInfo<AgvTaskoldDto> GetPageList1(Pagination pagination, AgvTaskoldQueryDto agvTaskoldQueryDto)
  43. {
  44. var predicate = Expressionable.Create<WCS_AgvTaskInfo>();
  45. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.KeyWord), m => m.ID.ToString().Contains(agvTaskoldQueryDto.KeyWord) || m.AgvID.Contains(agvTaskoldQueryDto.KeyWord)
  46. || m.Station.Contains(agvTaskoldQueryDto.KeyWord) || m.Position.Contains(agvTaskoldQueryDto.KeyWord));
  47. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.ID), m => m.ID.ToString().Contains(agvTaskoldQueryDto.ID));
  48. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.AgvID), m => m.AgvID.Contains(agvTaskoldQueryDto.AgvID));
  49. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Station), m => m.Station.Contains(agvTaskoldQueryDto.Station));
  50. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Position), m => m.Position.Contains(agvTaskoldQueryDto.Position));
  51. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.TaskType), m => m.TaskType.Equals(agvTaskoldQueryDto.TaskType));
  52. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.AgvStatus), m => m.AgvStatus.Equals(agvTaskoldQueryDto.AgvStatus));
  53. predicate = predicate.AndIF(!string.IsNullOrEmpty(agvTaskoldQueryDto?.Status), m => m.Status.Equals(agvTaskoldQueryDto.Status));
  54. predicate = predicate.And(p => p.Status >= 99);
  55. var query = _agvtaskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(p => p.Take(1));
  56. //if (agvTaskoldQueryDto != null && agvTaskoldQueryDto.AddTimeFrom.HasValue)
  57. //{
  58. // var endtime = DateTime.Now;
  59. // if (agvTaskoldQueryDto.AddTimeTo.HasValue)
  60. // {
  61. // endtime = agvTaskoldQueryDto.AddTimeTo.Value;
  62. // }
  63. // query = _agvtaskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(AgvTaskoldQueryDto.AddTimeFrom.Value, endtime);
  64. //}
  65. var list = query.ToPage<WCS_AgvTaskInfo, AgvTaskoldDto>(pagination);
  66. return list;
  67. }
  68. public int GetTaskUnFinishCount()
  69. {
  70. var predicate = Expressionable.Create<WCS_AgvTaskInfo>();
  71. predicate = predicate.And(m => m.Status < (int)BZModels.TaskStatus.Finish);
  72. var count = _agvtaskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3)).Count();
  73. return count;
  74. }
  75. }
  76. }