| | |
| | | using AutoMapper; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | |
| | | |
| | | namespace WIDESEA_StockService |
| | | { |
| | | /// <summary> |
| | | /// 库存信息服务实现类 |
| | | /// </summary> |
| | | public partial class StockInfoService : ServiceBase<Dt_StockInfo, IRepository<Dt_StockInfo>>, IStockInfoService |
| | | { |
| | | private readonly IMapper _mapper; |
| | | |
| | | /// <summary> |
| | | /// 获取库存信息仓储接口 |
| | | /// </summary> |
| | | public IRepository<Dt_StockInfo> Repository => BaseDal; |
| | | |
| | | public StockInfoService(IRepository<Dt_StockInfo> BaseDal, IMapper mapper) : base(BaseDal) |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="baseDal">基础数据访问对象</param> |
| | | public StockInfoService(IRepository<Dt_StockInfo> baseDal) : base(baseDal) |
| | | { |
| | | _mapper = mapper; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取库存信息列表(出库日期小于当前时间且库存状态为入库完成的记录) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | /// <returns>库存信息列表</returns> |
| | | public async Task<List<Dt_StockInfo>> GetStockInfoAsync() |
| | | { |
| | | return await BaseDal.QueryDataAsync(x => x.OutboundDate < DateTime.Now && x.StockStatus == StockStatusEmun.入库完成.GetHashCode()); |
| | | return await BaseDal.QueryDataAsync(x => |
| | | x.OutboundDate < DateTime.Now && |
| | | x.StockStatus == StockStatusEmun.入库完成.GetHashCode()); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取库存信息列表(出库日期小于当前时间且库存状态为入库完成的记录,且仓库ID匹配) |
| | | /// </summary> |
| | | /// <param name="WarehouseId"></param> |
| | | /// <returns></returns> |
| | | public async Task<List<Dt_StockInfo>> GetStockInfoAsync(int WarehouseId) |
| | | /// <param name="warehouseId">仓库ID</param> |
| | | /// <returns>库存信息列表</returns> |
| | | public async Task<List<Dt_StockInfo>> GetStockInfoAsync(int warehouseId) |
| | | { |
| | | return await BaseDal.QueryDataAsync(x => x.OutboundDate < DateTime.Now && x.StockStatus == StockStatusEmun.入库完成.GetHashCode() && x.WarehouseId == WarehouseId); |
| | | return await BaseDal.QueryDataAsync(x => |
| | | x.OutboundDate < DateTime.Now && |
| | | x.StockStatus == StockStatusEmun.入库完成.GetHashCode() && |
| | | x.WarehouseId == warehouseId); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取库存信息(根据托盘码查询) |
| | | /// </summary> |
| | | /// <param name="PalletCode"></param> |
| | | /// <returns></returns> |
| | | public async Task<Dt_StockInfo> GetStockInfoAsync(string PalletCode) |
| | | /// <param name="palletCode">托盘编码</param> |
| | | /// <returns>库存信息</returns> |
| | | public async Task<Dt_StockInfo> GetStockInfoAsync(string palletCode) |
| | | { |
| | | return await BaseDal.QueryFirstAsync(x => x.PalletCode == PalletCode); |
| | | return await BaseDal.QueryDataNavFirstAsync(x => x.PalletCode == palletCode); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新库存数据 |
| | | /// </summary> |
| | | /// <param name="stockInfo"></param> |
| | | /// <returns></returns> |
| | | /// <param name="stockInfo">库存信息对象</param> |
| | | /// <returns>更新是否成功</returns> |
| | | public async Task<bool> UpdateStockAsync(Dt_StockInfo stockInfo) |
| | | { |
| | | return await BaseDal.UpdateDataAsync(stockInfo); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检索指定托盘在给定位置的库存详细信息 |
| | | /// </summary> |
| | | /// <param name="palletCode">托盘编码</param> |
| | | /// <param name="locationCode">货位编码</param> |
| | | /// <returns>库存信息</returns> |
| | | public async Task<Dt_StockInfo> GetStockInfoAsync(string palletCode, string locationCode) |
| | | { |
| | | return await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode && x.LocationCode == locationCode); |
| | | } |
| | | } |
| | | } |