BillPboxruleService.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using wms.sqlsugar.model.sx;
  8. using WMS.BZModels;
  9. using WMS.BZModels.Dto.SX.BillPboxruleDtos;
  10. using WMS.BZSqlSugar;
  11. using WMS.Info;
  12. using WMS.Util;
  13. namespace WMS.BZServices.SX
  14. {
  15. public class BillPboxruleService
  16. {
  17. private readonly Repository<BillPboxrule> _billPBoxruleRepository;
  18. public BillPboxruleService(Repository<BillPboxrule> billPBoxruleRepository)
  19. {
  20. _billPBoxruleRepository = billPBoxruleRepository;
  21. }
  22. public PagedInfo<BillPboxruleDto> GetPageList(Pagination pagination, BillPboxruleQueryDto billPBoxruleQueryDto)
  23. {
  24. var predicate = Expressionable.Create<BillPboxrule>();
  25. predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.DocsNo), m => m.DocsNo.Contains(billPBoxruleQueryDto.DocsNo));
  26. predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.KeyWord), m => m.DocsNo.Contains(billPBoxruleQueryDto.KeyWord)
  27. || m.SkuCode.Contains(billPBoxruleQueryDto.KeyWord) || m.PBoxCode.Contains(billPBoxruleQueryDto.KeyWord) );
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.PBoxCode), m => m.PBoxCode.Contains(billPBoxruleQueryDto.PBoxCode));
  29. predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.TrayCode), m => m.TrayCode.Contains(billPBoxruleQueryDto.TrayCode));
  30. predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.SkuCode), m => m.SkuCode.Contains(billPBoxruleQueryDto.SkuCode));
  31. predicate = predicate.AndIF(billPBoxruleQueryDto!=null && billPBoxruleQueryDto.Torsion24Qty.HasValue, m => m.Torsion24Qty.ToString().Contains(billPBoxruleQueryDto.Torsion24Qty.ToString()));
  32. predicate = predicate.AndIF(billPBoxruleQueryDto != null && billPBoxruleQueryDto.Torsion48Qty.HasValue, m => m.Torsion48Qty.ToString().Contains(billPBoxruleQueryDto.Torsion48Qty.ToString()));
  33. predicate = predicate.AndIF(billPBoxruleQueryDto != null && billPBoxruleQueryDto.Torsion72Qty.HasValue, m => m.Torsion72Qty.ToString().Contains(billPBoxruleQueryDto.Torsion72Qty.ToString()));
  34. predicate = predicate.AndIF(billPBoxruleQueryDto != null && billPBoxruleQueryDto.ZXStateCode.HasValue, m => m.ZXStateCode.Equals(billPBoxruleQueryDto.ZXStateCode));
  35. var list = _billPBoxruleRepository.Queryable().Where(predicate.ToExpression())
  36. .ToPage<BillPboxrule, BillPboxruleDto>(pagination);
  37. return list;
  38. }
  39. }
  40. }