BillBoxitemsHistoryService.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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.cp;
  8. using WMS.BZModels.Dto.CP.BoxitemsDtos;
  9. using WMS.BZModels;
  10. using WMS.BZSqlSugar;
  11. using WMS.Info;
  12. namespace WMS.BZServices.CP
  13. {
  14. public class BillBoxitemsHistoryService
  15. {
  16. private readonly Repository<BillBoxitemsHistory> _billBoxitemsHistoryrepository;
  17. public BillBoxitemsHistoryService(Repository<BillBoxitemsHistory> billBoxitemsHistoryrepository)
  18. {
  19. _billBoxitemsHistoryrepository = billBoxitemsHistoryrepository;
  20. }
  21. public PagedInfo<BillBoxitemsHistoryDto> GetPageList(Pagination pagination, BillBoxitemsHistoryQueryDto billBoxitemsHistoryQueryDto)
  22. {
  23. if (pagination.sord.ToUpper() != "ASC")
  24. {
  25. pagination.sidx = pagination.sidx + " DESC";
  26. }
  27. if (pagination.sidx.IsEmpty())
  28. {
  29. pagination.sidx = "AddTime DESC";
  30. }
  31. var predicate = Expressionable.Create<BillBoxitemsHistory>();
  32. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.KeyWord), m => m.MaterialCode.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.HuNr.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.HWBarCode.Contains(billBoxitemsHistoryQueryDto.KeyWord)
  33. || m.InDocsNo.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.OrderNo.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.Sku.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.Batch.Contains(billBoxitemsHistoryQueryDto.KeyWord));
  34. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.HuNr), m => m.HuNr.Contains(billBoxitemsHistoryQueryDto.HuNr));
  35. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.HWBarCode), m => m.HWBarCode.Contains(billBoxitemsHistoryQueryDto.HWBarCode));
  36. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.Sku), m => m.Sku.Contains(billBoxitemsHistoryQueryDto.Sku));
  37. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.Batch), m => m.Batch.Contains(billBoxitemsHistoryQueryDto.Batch));
  38. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.OrderNo), m => m.OrderNo.Contains(billBoxitemsHistoryQueryDto.OrderNo));
  39. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.MaterialCode), m => m.MaterialCode.Contains(billBoxitemsHistoryQueryDto.MaterialCode));
  40. predicate = predicate.AndIF(billBoxitemsHistoryQueryDto != null && billBoxitemsHistoryQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= billBoxitemsHistoryQueryDto.AddTimeBegin);
  41. predicate = predicate.AndIF(billBoxitemsHistoryQueryDto != null && billBoxitemsHistoryQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= billBoxitemsHistoryQueryDto.AddTimeEnd);
  42. if (!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.ExecStateCode))
  43. {
  44. var enums = (InvLockState)Enum.ToObject(typeof(InvLockState), Convert.ToInt32(billBoxitemsHistoryQueryDto?.ExecStateCode));
  45. predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.ExecStateCode), m => m.ExecStateCode.Equals(enums.ToString()));
  46. }
  47. var list = _billBoxitemsHistoryrepository.Queryable().Where(predicate.ToExpression())
  48. //.OrderBy(pagination.sidx)
  49. .ToPage<BillBoxitemsHistory, BillBoxitemsHistoryDto>(pagination);
  50. return list;
  51. }
  52. }
  53. }