PushInfoService.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using SqlSugar;
  2. using WMS.BZModels;
  3. using WMS.Info;
  4. using wms.sqlsugar.model.fj;
  5. using WMS.BZSqlSugar;
  6. using WMS.BZModels.Dto.FJ.PushInfoDtos;
  7. namespace WMS.BZServices.FJ
  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. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.KeyWord), m => m.DocsNo.Contains(pushinfoQueryDto.KeyWord) || m.RFIDBarCode.Contains(pushinfoQueryDto.KeyWord)
  28. || m.WareCellCode.Contains(pushinfoQueryDto.KeyWord) || m.MatCode.Contains(pushinfoQueryDto.KeyWord) || m.MatName.Contains(pushinfoQueryDto.KeyWord) || m.CLBarCode.Contains(pushinfoQueryDto.KeyWord));
  29. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.DocsNo), m => m.DocsNo.Contains(pushinfoQueryDto.DocsNo));
  30. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.RFIDBarCode), m => m.RFIDBarCode.Contains(pushinfoQueryDto.RFIDBarCode));
  31. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.WareCellCode), m => m.WareCellCode.Contains(pushinfoQueryDto.WareCellCode));
  32. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatCode), m => m.MatCode.Contains(pushinfoQueryDto.MatCode));
  33. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatName), m => m.MatName.Contains(pushinfoQueryDto.MatName));
  34. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.CLBarCode), m => m.CLBarCode.Contains(pushinfoQueryDto.CLBarCode));
  35. predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.Code), m => m.TypeCode.Contains(pushinfoQueryDto.Code));
  36. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= pushinfoQueryDto.AddTimeFrom);
  37. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeTo.HasValue, m => m.AddTime <= pushinfoQueryDto.AddTimeTo);
  38. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeBegin.HasValue, m => m.EditTime >= pushinfoQueryDto.EndTimeBegin);
  39. predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeEnd.HasValue, m => m.EditTime <= pushinfoQueryDto.EndTimeEnd);
  40. var query = _pushinforepository.Queryable().Where(predicate.ToExpression())
  41. .ToPage<BillPushinfo, PushInfoDto>(pagination);
  42. return query;
  43. }
  44. }
  45. }