PushInfoService.cs 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using SqlSugar;
  2. using WMS.BZModels;
  3. using WMS.Info;
  4. using wms.sqlsugar.model.hj;
  5. using WMS.BZSqlSugar;
  6. using WMS.BZModels.Dto.HJ.PushInfoDtos;
  7. namespace WMS.BZServices.HJ
  8. {
  9. public class PushInfoService
  10. {
  11. private readonly Repository<BillPushinfo> _pushinforepository;
  12. public PushInfoService(Repository<BillPushinfo> pushinforepository)
  13. {
  14. _pushinforepository = pushinforepository;
  15. }
  16. public PagedInfo<PushInfoDto> GetPageList(Pagination pagination, PushInfoQueryDto pushinfoQueryDto)
  17. {
  18. var predicate = Expressionable.Create<BillPushinfo>();
  19. if (pushinfoQueryDto.Type == FackbeekType.InterfaceType_HJ_1F_StockIn.GetHashCode())
  20. {
  21. pushinfoQueryDto.Code = FackbeekType.InterfaceType_HJ_1F_StockIn.ToString();
  22. }
  23. else if (pushinfoQueryDto.Type == FackbeekType.InterfaceType_HJ_2F_BackStockIn.GetHashCode())
  24. {
  25. pushinfoQueryDto.Code = FackbeekType.InterfaceType_HJ_2F_BackStockIn.ToString();
  26. }
  27. else if (pushinfoQueryDto.Type == FackbeekType.InterfaceType_HJ_StockOut.GetHashCode())
  28. {
  29. pushinfoQueryDto.Code = FackbeekType.InterfaceType_HJ_StockOut.ToString();
  30. }
  31. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.KeyWord), m => m.DocsNo.Contains(pushinfoQueryDto.KeyWord) || m.RFIDBarCode.Contains(pushinfoQueryDto.KeyWord)
  32. || m.WareCellCode.Contains(pushinfoQueryDto.KeyWord) || m.MatCode.Contains(pushinfoQueryDto.KeyWord) || m.MatName.Contains(pushinfoQueryDto.KeyWord) || m.CLBarCode.Contains(pushinfoQueryDto.KeyWord));
  33. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.DocsNo), m => m.DocsNo.Contains(pushinfoQueryDto.DocsNo));
  34. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.RFIDBarCode), m => m.RFIDBarCode.Contains(pushinfoQueryDto.RFIDBarCode));
  35. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.WareCellCode), m => m.WareCellCode.Contains(pushinfoQueryDto.WareCellCode));
  36. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatCode), m => m.MatCode.Contains(pushinfoQueryDto.MatCode));
  37. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatName), m => m.MatName.Contains(pushinfoQueryDto.MatName));
  38. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.CLBarCode), m => m.CLBarCode.Contains(pushinfoQueryDto.CLBarCode));
  39. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.Code), m => m.TypeCode.Contains(pushinfoQueryDto.Code));
  40. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= pushinfoQueryDto.AddTimeFrom);
  41. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeTo.HasValue, m => m.AddTime <= pushinfoQueryDto.AddTimeTo);
  42. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeBegin.HasValue, m => m.EditTime >= pushinfoQueryDto.EndTimeBegin);
  43. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeEnd.HasValue, m => m.EditTime <= pushinfoQueryDto.EndTimeEnd);
  44. var query = _pushinforepository.Queryable().Where(predicate.ToExpression())
  45. .ToPage<BillPushinfo, PushInfoDto>(pagination);
  46. return query;
  47. }
  48. }
  49. }