BoxitemsInfoService.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using WMS.BZModels;
  7. using WMS.Info;
  8. using WMS.BZSqlSugar;
  9. using wms.sqlsugar.model.cp;
  10. using WMS.BZModels.Dto.CP.BoxitemsDtos;
  11. namespace WMS.BZServices.CP
  12. {
  13. public class BoxitemsInfoService
  14. {
  15. private readonly Repository<BillBoxitems> _boxitemsrepository;
  16. public BoxitemsInfoService(Repository<BillBoxitems> boxitemsrepository)
  17. {
  18. _boxitemsrepository = boxitemsrepository;
  19. }
  20. public PagedInfo<BoxitemsDto> GetPageList(Pagination pagination, BoxitemsQueryDto boxitemsQueryDto)
  21. {
  22. if (pagination.sord.ToUpper() != "ASC")
  23. {
  24. pagination.sidx = pagination.sidx + " DESC";
  25. }
  26. if (pagination.sidx.IsEmpty())
  27. {
  28. pagination.sidx = "AddTime DESC";
  29. }
  30. var predicate = Expressionable.Create<BillBoxitems>();
  31. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.KeyWord), m => m.MaterialCode.Contains(boxitemsQueryDto.KeyWord) || m.HuNr.Contains(boxitemsQueryDto.KeyWord) || m.HWBarCode.Contains(boxitemsQueryDto.KeyWord)
  32. || m.InDocsNo.Contains(boxitemsQueryDto.KeyWord) || m.OrderNo.Contains(boxitemsQueryDto.KeyWord) || m.Sku.Contains(boxitemsQueryDto.KeyWord) || m.Batch.Contains(boxitemsQueryDto.KeyWord));
  33. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.HuNr), m => m.HuNr.Contains(boxitemsQueryDto.HuNr));
  34. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.HWBarCode), m => m.HWBarCode.Contains(boxitemsQueryDto.HWBarCode));
  35. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.Sku), m => m.Sku.Contains(boxitemsQueryDto.Sku));
  36. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.Batch), m => m.Batch.Contains(boxitemsQueryDto.Batch));
  37. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.OrderNo), m => m.OrderNo.Contains(boxitemsQueryDto.OrderNo));
  38. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.MaterialCode), m => m.MaterialCode.Contains(boxitemsQueryDto.MaterialCode));
  39. predicate = predicate.AndIF(boxitemsQueryDto != null && boxitemsQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= boxitemsQueryDto.AddTimeBegin);
  40. predicate = predicate.AndIF(boxitemsQueryDto != null && boxitemsQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= boxitemsQueryDto.AddTimeEnd);
  41. if (!string.IsNullOrEmpty(boxitemsQueryDto?.ExecStateCode))
  42. {
  43. var enums = (InvLockState)Enum.ToObject(typeof(InvLockState), Convert.ToInt32(boxitemsQueryDto?.ExecStateCode));
  44. predicate = predicate.AndIF(!string.IsNullOrEmpty(boxitemsQueryDto?.ExecStateCode), m => m.ExecStateCode.Equals(enums.ToString()));
  45. }
  46. var list = _boxitemsrepository.Queryable().Where(predicate.ToExpression())
  47. //.OrderBy(pagination.sidx)
  48. .ToPage<BillBoxitems, BoxitemsDto>(pagination);
  49. return list;
  50. }
  51. }
  52. }