using Admin.NET.Application.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Admin.NET.Application; /// /// 下架策略帮助类 /// public class ConfigUnshelveStrategyHelper { /// /// 根据下架策略范围获取下架策略选项 /// /// /// /// public static async Task> GetUnshelveStrategyChooseListByRange(SqlSugarRepository _wmsConfigUnshelveStrategyChooseRep, List allUnshelveStrategyRangeList) { var allStrategyCodeList = allUnshelveStrategyRangeList.Select(s => s.StrategyCode).Distinct().ToList(); //下架策略选项 var allUnshelveStrategyChooseList = await _wmsConfigUnshelveStrategyChooseRep.AsQueryable().Where(p => allStrategyCodeList.Contains(p.StrategyCode) && p.IsDelete == false).ToListAsync(); return allUnshelveStrategyChooseList; } /// /// 获取生效的下架策略范围 /// /// /// /// public static async Task> GetUseUnshelveStrategyRangeList(SqlSugarRepository _v_wms_config_unshelve_strategy_rangeRep, List materialCodeList) { var queryData = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")); return await _v_wms_config_unshelve_strategy_rangeRep.AsQueryable().Where(p => (p.StartTime == null || Convert.ToDateTime(Convert.ToDateTime(p.StartTime).ToString("yyyy-MM-dd 00:00:00")) <= queryData) && (p.EndTime == null || queryData <= Convert.ToDateTime(Convert.ToDateTime(p.EndTime).ToString("yyyy-MM-dd 00:00:00")) ) && materialCodeList.Contains(p.MaterialCode)).ToListAsync(); } }