12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using SqlSugar;
- using wms.sqlsugar.model.pt;
- using WMS.BZModels;
- using WMS.BZModels.Dto.PT.PushInfoDtos;
- using WMS.Info;
-
- using WMS.BZSqlSugar;
-
- namespace WMS.BZServices.PT
- {
- public class PushInfoService
- {
- private readonly Repository<BillPushinfo> _pushinforepository;
- public PushInfoService(Repository<BillPushinfo> pushinforepository)
- {
- _pushinforepository = pushinforepository;
- }
- public PagedInfo<PushInfoDto> GetPageList(Pagination pagination, PushInfoQueryDto pushinfoQueryDto)
- {
- var predicate = Expressionable.Create<BillPushinfo>();
- switch (pushinfoQueryDto.Type)
- {
- case 0:
- pushinfoQueryDto.Code = PtFackbeekType.InterfaceType_PT_PurchaseStockIn.ToString();
- break;
- case 1:
- pushinfoQueryDto.Code = PtFackbeekType.InterfaceType_PT_PurchaseBack.ToString();
- break;
- case 2:
- pushinfoQueryDto.Code = PtFackbeekType.InterfaceType_PT_AnewStockIn.ToString();
- break;
- case 3:
- pushinfoQueryDto.Code = PtFackbeekType.StateTrans.ToString();
- break;
- case 4:
- pushinfoQueryDto.Code = PtFackbeekType.PickMat.ToString();
- break;
- case 5:
- pushinfoQueryDto.Code = PtFackbeekType.ReturnMat.ToString();
- break;
- default:
- break;
- }
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.KeyWord), m => m.DocsNo.Contains(pushinfoQueryDto.KeyWord) || m.RFIDBarCode.Contains(pushinfoQueryDto.KeyWord)
- || m.WareCellCode.Contains(pushinfoQueryDto.KeyWord) || m.MatCode.Contains(pushinfoQueryDto.KeyWord) || m.MatName.Contains(pushinfoQueryDto.KeyWord) || m.CLBarCode.Contains(pushinfoQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.DocsNo), m => m.DocsNo.Contains(pushinfoQueryDto.DocsNo));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.RFIDBarCode), m => m.RFIDBarCode.Contains(pushinfoQueryDto.RFIDBarCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.WareCellCode), m => m.WareCellCode.Contains(pushinfoQueryDto.WareCellCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatCode), m => m.MatCode.Contains(pushinfoQueryDto.MatCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.MatName), m => m.MatName.Contains(pushinfoQueryDto.MatName));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.CLBarCode), m => m.CLBarCode.Contains(pushinfoQueryDto.CLBarCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pushinfoQueryDto?.Code), m => m.TypeCode.Contains(pushinfoQueryDto.Code));
- predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= pushinfoQueryDto.AddTimeFrom);
- predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.AddTimeTo.HasValue, m => m.AddTime <= pushinfoQueryDto.AddTimeTo);
- predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeBegin.HasValue, m => m.EditTime >= pushinfoQueryDto.EndTimeBegin);
- predicate = predicate.AndIF(pushinfoQueryDto != null && pushinfoQueryDto.EndTimeEnd.HasValue, m => m.EditTime <= pushinfoQueryDto.EndTimeEnd);
- var query = _pushinforepository.Queryable().Where(predicate.ToExpression())
- .ToPage<BillPushinfo, PushInfoDto>(pagination);
- return query;
- }
- }
- }
|