|
namespace WIDESEA_StorageBasicRepository;
|
|
public class Dt_BillGroupStockRepository : RepositoryBase<Dt_BillGroupStock>, IDt_BillGroupStockRepository
|
{
|
public Dt_BillGroupStockRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
|
{
|
}
|
|
/// <summary>
|
/// 获取出库库存
|
/// </summary>
|
/// <returns></returns>
|
public List<Dt_BillGroupStock> GetOutboundStockList(string materialCode)
|
{
|
var stocks = Db.Queryable<Dt_BillGroupStock>()
|
.Includes(x => x.LocationInfo)
|
.Where(x => !x.LocationInfo.IsLocked && x.LocationInfo.Status == LocationEnum.InStock.ObjToInt())
|
.Includes(x => x.Dt_BillGroupStockDetailList)
|
.Where(x => x.State == (int)StockStateEmun.已入库)
|
.Where(x => x.Dt_BillGroupStockDetailList.Select(t => t.MaterialNo).Contains(materialCode)).ToList();
|
return stocks;
|
}
|
|
public async Task<Dt_BillGroupStock> GetStocksAsync(string palletCode = null, string locationID = null, string materialNo = null)
|
{
|
return await Db.Queryable<Dt_BillGroupStock>()
|
.WhereIF(palletCode != null, x => x.PalletCode == palletCode)
|
.WhereIF(locationID != null, x => x.LocationCode == locationID)
|
.WhereIF(materialNo != null, x => x.MaterialNo == materialNo)
|
.Includes(x => x.LocationInfo)
|
.Includes(x => x.Dt_BillGroupStockDetailList)
|
.FirstAsync();
|
}
|
|
public bool UpdateNavStock(List<Dt_BillGroupStock> stocks)
|
{
|
return Db.UpdateNav(stocks)
|
.Include(x => x.LocationInfo)
|
.Include(x => x.Dt_BillGroupStockDetailList)
|
.ExecuteCommand();
|
}
|
|
public bool UpdateNavStock(Dt_BillGroupStock stock)
|
{
|
return Db.UpdateNav(stock)
|
.Include(x => x.LocationInfo)
|
.Include(x => x.Dt_BillGroupStockDetailList)
|
.ExecuteCommand();
|
}
|
}
|