BillmesinfoService.cs 3.1 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.pt;
  8. using WMS.BZModels.Dto.PT.BaseMatinfoDtos;
  9. using WMS.BZModels;
  10. using WMS.Info;
  11. using WMS.BZSqlSugar;
  12. namespace WMS.BZServices.PT
  13. {
  14. public class BillmesinfoService
  15. {
  16. private readonly Repository<BillMesmiddle> _billMesmiddleRepository;
  17. public BillmesinfoService(Repository<BillMesmiddle> billmesRepository)
  18. {
  19. _billMesmiddleRepository = billmesRepository;
  20. }
  21. public PagedInfo<MesInfoDto> GetMesInfoList(Pagination pagination, MesInfoQueryDto mesinfoQueryDto)
  22. {
  23. var predicate = Expressionable.Create<BillMesmiddle>();
  24. predicate = predicate.AndIF(!string.IsNullOrEmpty(mesinfoQueryDto?.KeyWord), m => m.BillCode.Contains(mesinfoQueryDto.KeyWord) || m.BoilerNo.Contains(mesinfoQueryDto.KeyWord) ||
  25. m.PackNo.Contains(mesinfoQueryDto.KeyWord));
  26. predicate = predicate.AndIF(!string.IsNullOrEmpty(mesinfoQueryDto?.BillCode), m => m.BillCode.Contains(mesinfoQueryDto.BillCode));
  27. predicate = predicate.AndIF(!string.IsNullOrEmpty(mesinfoQueryDto?.BoilerNo), m => m.BoilerNo.Contains(mesinfoQueryDto.BoilerNo));
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(mesinfoQueryDto?.PackNo), m => m.PackNo.Contains(mesinfoQueryDto.PackNo));
  29. predicate = predicate.AndIF(!string.IsNullOrEmpty(mesinfoQueryDto?.StateNum), m => m.State.Equals(mesinfoQueryDto.StateNum));
  30. predicate = predicate.AndIF(mesinfoQueryDto != null && mesinfoQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= mesinfoQueryDto.AddTimeBegin);
  31. predicate = predicate.AndIF(mesinfoQueryDto != null && mesinfoQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= mesinfoQueryDto.AddTimeEnd);
  32. predicate = predicate.AndIF(mesinfoQueryDto != null && mesinfoQueryDto.EndTimeBegin.HasValue, m => m.EditTime >= mesinfoQueryDto.EndTimeBegin);
  33. predicate = predicate.AndIF(mesinfoQueryDto != null && mesinfoQueryDto.EndTimeEnd.HasValue, m => m.EditTime <= mesinfoQueryDto.EndTimeEnd);
  34. var list = _billMesmiddleRepository.Queryable().Where(predicate.ToExpression())
  35. .ToPage<BillMesmiddle, MesInfoDto>(pagination);
  36. return list;
  37. }
  38. public void Save(LoginUserInfo loginUser, string keyValue, BillMesmiddle entity)
  39. {
  40. try
  41. {
  42. if (string.IsNullOrWhiteSpace(entity.BillCode))
  43. {
  44. throw new ArgumentException("单号不能为空");
  45. }
  46. entity.EditTime = DateTime.Now;
  47. entity.EditWho = loginUser.UserNo;
  48. _billMesmiddleRepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).IgnoreColumns(it => it.State).IgnoreColumns(it => it.WareCode).Where(it => it.BillCode == keyValue).ExecuteCommand();
  49. }
  50. catch (Exception ex)
  51. {
  52. throw ex;
  53. }
  54. }
  55. }
  56. }