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;
|
/// <summary>
|
/// 下架策略帮助类
|
/// </summary>
|
public class ConfigUnshelveStrategyHelper
|
{
|
/// <summary>
|
/// 根据下架策略范围获取下架策略选项
|
/// </summary>
|
/// <param name="_wmsConfigUnshelveStrategyChooseRep"></param>
|
/// <param name="allUnshelveStrategyRangeList"></param>
|
/// <returns></returns>
|
public static async Task<List<WmsConfigUnshelveStrategyChoose>> GetUnshelveStrategyChooseListByRange(SqlSugarRepository<WmsConfigUnshelveStrategyChoose> _wmsConfigUnshelveStrategyChooseRep, List<v_wms_config_unshelve_strategy_range> 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;
|
}
|
|
/// <summary>
|
/// 获取生效的下架策略范围
|
/// </summary>
|
/// <param name="_v_wms_config_unshelve_strategy_rangeRep"></param>
|
/// <param name="materialCodeList"></param>
|
/// <returns></returns>
|
|
public static async Task<List<v_wms_config_unshelve_strategy_range>> GetUseUnshelveStrategyRangeList(SqlSugarRepository<v_wms_config_unshelve_strategy_range> _v_wms_config_unshelve_strategy_rangeRep, List<string> 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();
|
}
|
|
|
|
}
|