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匹配) /// /// 仓库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.QueryDataNavFirstAsync(x => x.PalletCode == palletCode); } /// /// 更新库存数据 /// /// 库存信息对象 /// 更新是否成功 public async Task UpdateStockAsync(Dt_StockInfo stockInfo) { return await BaseDal.UpdateDataAsync(stockInfo); } /// /// 检索指定托盘在给定位置的库存详细信息 /// /// 托盘编码 /// 货位编码 /// 库存信息 public async Task GetStockInfoAsync(string palletCode, string locationCode) { return await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode && x.LocationCode == locationCode); } } }