BillDocsinfoService.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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.BZModels.Dto.CP.TaskDtos;
  8. using WMS.BZModels;
  9. using WMS.Info;
  10. using wms.sqlsugar.model.cp;
  11. using WMS.BZSqlSugar;
  12. using WMS.Util;
  13. using WMS.BZModels.Dto.CP.BillDocsDto;
  14. using Mapster;
  15. namespace WMS.BZServices.CP
  16. {
  17. public class BillDocsinfoService
  18. {
  19. private readonly Repository<BillDocsinfo> _billDocsinfoRepository;
  20. public BillDocsinfoService(Repository<BillDocsinfo> billDocsinfoRepository)
  21. {
  22. _billDocsinfoRepository = billDocsinfoRepository;
  23. }
  24. public PagedInfo<BillDocsinfoListDto> GetPageList(Pagination pagination, BillDocsinfoQueryDto billDocsinfoQueryDto)
  25. {
  26. var predicate = Expressionable.Create<BillDocsinfo>();
  27. predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.DocsNo), m => m.DocsNo.ToString().Contains(billDocsinfoQueryDto.DocsNo));
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.KeyWord), m => m.DocsNo.Contains(billDocsinfoQueryDto.KeyWord));
  29. predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.TypeNum), m => m.TypeNum.Equals(billDocsinfoQueryDto.TypeNum));
  30. predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.StateNum), m => m.StateNum.Equals(billDocsinfoQueryDto.StateNum));
  31. predicate = predicate.AndIF(billDocsinfoQueryDto != null && billDocsinfoQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= billDocsinfoQueryDto.AddTimeBegin);
  32. predicate = predicate.AndIF(billDocsinfoQueryDto != null && billDocsinfoQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= billDocsinfoQueryDto.AddTimeEnd);
  33. var list = _billDocsinfoRepository.Queryable().Where(predicate.ToExpression())
  34. .ToPage<BillDocsinfo, BillDocsinfoListDto>(pagination);
  35. return list;
  36. }
  37. public BillDocsinfoDto GetBillDocsinfo(long billDocId)
  38. {
  39. var billDocsinfo = _billDocsinfoRepository.Queryable().First(o => o.Id == billDocId);
  40. if (billDocsinfo == null)
  41. {
  42. throw BZSysExCore.ThrowFailException("不存在的数据!");
  43. }
  44. //var table= _billDocsinfoRepository.Context.Ado.GetDataTable("select JsonContent from Bill_DocsInfo where Id=@billDocId", parameters: new { billDocId= billDocId });
  45. var dto = billDocsinfo.Adapt<BillDocsinfoDto>();
  46. dto.JsonContent = billDocsinfo.JsonContent.Trim().IndexOf("内容量过大") > 0 ? "{}" :
  47. IsJson(billDocsinfo.JsonContent) ? billDocsinfo.JsonContent : "{"+ billDocsinfo.JsonContent + "}";
  48. return dto;
  49. }
  50. private bool IsJson(string input)
  51. {
  52. input = input.Trim();
  53. return input.StartsWith("{") && input.EndsWith("}")
  54. || input.StartsWith("[") && input.EndsWith("]");
  55. }
  56. }
  57. }