using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.BZModels; using WMS.BZSqlSugar; using WMS.Info; using wms.sqlsugar.model.sx; using WMS.BZModels.Dto.SX.PalletizingDtos; namespace WMS.BZServices.SX { public class PalletlayermathService { private readonly Repository _PalletlayermathRepository; public PalletlayermathService(Repository PalletlayermathRepository) { _PalletlayermathRepository = PalletlayermathRepository; } public PagedInfo GetPageList(Pagination pagination, PalletlayermathQueryDto PalletlayermathQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.KeyWord), m => m.ContGrpId.ToString().Contains(PalletlayermathQueryDto.KeyWord) || m.ContBarCode.Contains(PalletlayermathQueryDto.KeyWord) || m.SkuCode.Contains(PalletlayermathQueryDto.KeyWord)|| m.Palletequip.Contains(PalletlayermathQueryDto.KeyWord)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.ContGrpId), m => m.ContGrpId.ToString().Contains(PalletlayermathQueryDto.ContGrpId)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.ContBarCode), m => m.ContBarCode.Contains(PalletlayermathQueryDto.ContBarCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.SkuCode), m => m.SkuCode.Contains(PalletlayermathQueryDto.SkuCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.Palletequip), m => m.Palletequip.Contains(PalletlayermathQueryDto.Palletequip)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.IsBlack), m => m.IsBlack.Equals(PalletlayermathQueryDto.IsBlack)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.SolderCount), m => m.SolderCount.ToString().Contains(PalletlayermathQueryDto.SolderCount)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.Depth), m => m.Depth.ToString().Contains(PalletlayermathQueryDto.Depth)); predicate = predicate.AndIF(!string.IsNullOrEmpty(PalletlayermathQueryDto?.BoxCode), m => m.BoxCode.Contains(PalletlayermathQueryDto.BoxCode)); predicate = predicate.AndIF(PalletlayermathQueryDto != null && PalletlayermathQueryDto.Finish.HasValue, m => m.Finish.Equals(PalletlayermathQueryDto.Finish)); predicate = predicate.AndIF(PalletlayermathQueryDto != null && PalletlayermathQueryDto.Istask.HasValue, m => m.Istask.Equals(PalletlayermathQueryDto.Istask)); predicate = predicate.AndIF(PalletlayermathQueryDto != null && PalletlayermathQueryDto.Layer.HasValue, m => m.Layer.Equals(PalletlayermathQueryDto.Layer)); predicate = predicate.AndIF(PalletlayermathQueryDto != null && PalletlayermathQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= PalletlayermathQueryDto.AddTimeFrom); predicate = predicate.AndIF(PalletlayermathQueryDto != null && PalletlayermathQueryDto.AddTimeTo.HasValue, m => m.AddTime <= PalletlayermathQueryDto.AddTimeTo); var list = _PalletlayermathRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } } }