using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using wms.sqlsugar.model.sx; using WMS.BZModels; using WMS.BZModels.Dto.SX.PalletizingDtos; using WMS.BZSqlSugar; using WMS.Info; using WMS.Util; namespace WMS.BZServices.SX { public class PalletizingService { private readonly Repository _palletizingRepository; public PalletizingService(Repository palletizingRepository) { _palletizingRepository = palletizingRepository; } public PagedInfo GetPageList(Pagination pagination, PalletizingQueryDto palletizingQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(palletizingQueryDto?.KeyWord), m => m.TaskNum.ToString().Contains(palletizingQueryDto.KeyWord) || m.Id.ToString().Contains(palletizingQueryDto.KeyWord) ); predicate = predicate.AndIF(!string.IsNullOrEmpty(palletizingQueryDto?.Equip), m => m.Equip.Contains(palletizingQueryDto.Equip)); predicate = predicate.AndIF(!string.IsNullOrEmpty(palletizingQueryDto?.Id), m => m.Id.ToString().Contains(palletizingQueryDto.Id)); predicate = predicate.AndIF( palletizingQueryDto!=null && palletizingQueryDto.PalletizState.HasValue , m => m.PalletizState.Equals(palletizingQueryDto.PalletizState)); predicate = predicate.AndIF(palletizingQueryDto != null && palletizingQueryDto.TaskNum.HasValue, m => m.TaskNum.Equals(palletizingQueryDto.TaskNum)); predicate = predicate.AndIF(palletizingQueryDto != null && palletizingQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= palletizingQueryDto.AddTimeFrom); predicate = predicate.AndIF(palletizingQueryDto != null && palletizingQueryDto.AddTimeTo.HasValue, m => m.AddTime <= palletizingQueryDto.AddTimeTo); var list = _palletizingRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } } }