using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using wms.sqlsugar.model.cp; using WMS.BZModels.Dto.CP.BoxitemsDtos; using WMS.BZModels; using WMS.BZSqlSugar; using WMS.Info; namespace WMS.BZServices.CP { public class BillBoxitemsHistoryService { private readonly Repository _billBoxitemsHistoryrepository; public BillBoxitemsHistoryService(Repository billBoxitemsHistoryrepository) { _billBoxitemsHistoryrepository = billBoxitemsHistoryrepository; } public PagedInfo GetPageList(Pagination pagination, BillBoxitemsHistoryQueryDto billBoxitemsHistoryQueryDto) { if (pagination.sord.ToUpper() != "ASC") { pagination.sidx = pagination.sidx + " DESC"; } if (pagination.sidx.IsEmpty()) { pagination.sidx = "AddTime DESC"; } var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.KeyWord), m => m.MaterialCode.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.HuNr.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.HWBarCode.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.InDocsNo.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.OrderNo.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.Sku.Contains(billBoxitemsHistoryQueryDto.KeyWord) || m.Batch.Contains(billBoxitemsHistoryQueryDto.KeyWord)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.HuNr), m => m.HuNr.Contains(billBoxitemsHistoryQueryDto.HuNr)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.HWBarCode), m => m.HWBarCode.Contains(billBoxitemsHistoryQueryDto.HWBarCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.Sku), m => m.Sku.Contains(billBoxitemsHistoryQueryDto.Sku)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.Batch), m => m.Batch.Contains(billBoxitemsHistoryQueryDto.Batch)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.OrderNo), m => m.OrderNo.Contains(billBoxitemsHistoryQueryDto.OrderNo)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.MaterialCode), m => m.MaterialCode.Contains(billBoxitemsHistoryQueryDto.MaterialCode)); predicate = predicate.AndIF(billBoxitemsHistoryQueryDto != null && billBoxitemsHistoryQueryDto.AddTimeBegin.HasValue, m => m.AddTime >= billBoxitemsHistoryQueryDto.AddTimeBegin); predicate = predicate.AndIF(billBoxitemsHistoryQueryDto != null && billBoxitemsHistoryQueryDto.AddTimeEnd.HasValue, m => m.AddTime <= billBoxitemsHistoryQueryDto.AddTimeEnd); if (!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.ExecStateCode)) { var enums = (InvLockState)Enum.ToObject(typeof(InvLockState), Convert.ToInt32(billBoxitemsHistoryQueryDto?.ExecStateCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billBoxitemsHistoryQueryDto?.ExecStateCode), m => m.ExecStateCode.Equals(enums.ToString())); } var list = _billBoxitemsHistoryrepository.Queryable().Where(predicate.ToExpression()) //.OrderBy(pagination.sidx) .ToPage(pagination); return list; } } }