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();
}
}