using WIDESEA_Common.StockEnum; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_IStockService; using WIDESEA_Model.Models; namespace WIDESEA_StockService { public partial class StockInfoService : ServiceBase>, IStockInfoService { public IRepository Repository => BaseDal; public StockInfoService(IRepository BaseDal) : base(BaseDal) { } /// /// 获取库存信息列表(出库日期小于当前时间且库存状态为入库完成的记录) /// public async Task> GetStockInfoAsync() { return await BaseDal.QueryDataAsync(x => x.OutboundDate < DateTime.Now && x.StockStatus == StockStatusEmun.入库完成.GetHashCode()); } /// /// 获取库存信息列表(出库日期小于当前时间且库存状态为入库完成的记录,且仓库ID匹配) /// public async Task> GetStockInfoAsync(int warehouseId) { return await BaseDal.QueryDataAsync(x => x.OutboundDate < DateTime.Now && x.StockStatus == StockStatusEmun.入库完成.GetHashCode() && x.WarehouseId == warehouseId); } /// /// 获取库存信息(根据托盘码查询) /// public async Task GetStockInfoAsync(string palletCode) { return await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode); } /// /// 更新库存数据 /// public async Task UpdateStockAsync(Dt_StockInfo stockInfo) { return await BaseDal.UpdateDataAsync(stockInfo); } /// /// 检索指定托盘在给定位置的库存详细信息。 /// /// 请求库存信息的托盘唯一标识符。不能为 null 或空。 /// 表示托盘存储位置的代码。不能为 null 或空。 /// 表示异步操作的任务。任务结果包含一个 对象,该对象包含指定托盘和位置的库存详细信息。如果未找到匹配的库存信息,则返回 null。 public async Task GetStockInfoAsync(string palletCode, string locationCode) { return await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode && x.LocationCode == locationCode); } } }