12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using wms.sqlsugar.model.pt;
- using WMS.BZModels;
- using WMS.BZModels.Dto.PT.BaseMatinfoDtos;
- using WMS.Info;
- using WMS.BZSqlSugar;
- using WMS.Util;
- using Mapster;
- namespace WMS.BZServices.PT
- {
- public class BillDocsinfoService
- {
- private readonly Repository<BillDocsinfo> _billDocsinfoRepository;
- public BillDocsinfoService(Repository<BillDocsinfo> billDocsinfoRepository)
- {
- _billDocsinfoRepository = billDocsinfoRepository;
- }
- public PagedInfo<BillDocsinfoListDto> GetPageList(Pagination pagination, BillDocsinfoQueryDto billDocsinfoQueryDto)
- {
- var predicate = Expressionable.Create<BillDocsinfo>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.DocsNo), m => m.DocsNo.ToString().Contains(billDocsinfoQueryDto.DocsNo));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.KeyWord), m => m.DocsNo.Contains(billDocsinfoQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.TypeNum), m => m.Type.Equals(billDocsinfoQueryDto.TypeNum));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billDocsinfoQueryDto?.StateNum), m => m.StateNum.Equals(billDocsinfoQueryDto.StateNum));
- predicate = predicate.AndIF(billDocsinfoQueryDto != null && billDocsinfoQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= billDocsinfoQueryDto.AddTimeBegin);
- predicate = predicate.AndIF(billDocsinfoQueryDto != null && billDocsinfoQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= billDocsinfoQueryDto.AddTimeEnd);
- var list = _billDocsinfoRepository.Queryable().Where(predicate.ToExpression())
- .ToPage<BillDocsinfo, BillDocsinfoListDto>(pagination);
- return list;
- }
- public BillDocsinfoDto GetBillDocsinfo(long billDocId)
- {
- var billDocsinfo = _billDocsinfoRepository.Queryable().First(o => o.Id == billDocId);
- if (billDocsinfo == null)
- {
- throw BZSysExCore.ThrowFailException("不存在的数据!");
- }
- //var table= _billDocsinfoRepository.Context.Ado.GetDataTable("select JsonContent from Bill_DocsInfo where Id=@billDocId", parameters: new { billDocId= billDocId });
- var dto = billDocsinfo.Adapt<BillDocsinfoDto>();
- dto.JsonContent = billDocsinfo.JsonContent.Trim().IndexOf("内容量过大") > 0 ? "{}" :
- IsJson(billDocsinfo.JsonContent) ? billDocsinfo.JsonContent : "{" + billDocsinfo.JsonContent + "}";
- return dto;
- }
- private bool IsJson(string input)
- {
- input = input.Trim();
- return input.StartsWith("{") && input.EndsWith("}")
- || input.StartsWith("[") && input.EndsWith("]");
- }
- }
- }
|