diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 1cb96986..604cad0a 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Api/Controllers/BarCodeController.cs b/src/WMS.Web.Api/Controllers/BarCodeController.cs index 9db6976a..be8e0eff 100644 --- a/src/WMS.Web.Api/Controllers/BarCodeController.cs +++ b/src/WMS.Web.Api/Controllers/BarCodeController.cs @@ -32,13 +32,14 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IBoxRepositories _boxRepositories; private readonly IInStockTaskBoxRepositories _inStockTaskBoxRepositories; + private readonly IInStockRepositories _inStockRepositories; private readonly ISerialNumbersRepositories _serialNumbersRepositories; private IBasicsRepositories _transactionRepositories; private readonly ILogger _logger; public BarCodeController(IMapper mapper, ILoginService loginService, IBoxRepositories boxRepositories, IInStockTaskBoxRepositories inStockTaskBoxRepositories, ILogger logger, ISerialNumbersRepositories serialNumbersRepositorie, - IBasicsRepositories transactionRepositories) + IBasicsRepositories transactionRepositories, IInStockRepositories inStockRepositories) { _mapper = mapper; _loginService = loginService; @@ -47,10 +48,11 @@ namespace WMS.Web.Api.Controllers _serialNumbersRepositories = serialNumbersRepositorie; _transactionRepositories = transactionRepositories; _logger = logger; + _inStockRepositories = inStockRepositories; } /// - /// 导出 + /// 重置箱信息 /// /// /// @@ -61,10 +63,16 @@ namespace WMS.Web.Api.Controllers _logger.LogInformation($"重置箱信息:{JsonConvert.SerializeObject(dto)}"); var boxs = await _boxRepositories.GetEntityListByNos(dto.Ids); var boxIds = boxs.Select(s => s.Id).ToList(); - //查出已经入库的箱子 + //查出已经收货的箱子 var inStockList = await _inStockTaskBoxRepositories.GetListBy(boxIds); - //已经入库的箱子 + //已经收货的箱子 var inBoxBillNo = inStockList.Select(s => s.BoxBillNo).ToList(); + //已经入库的箱子 + var ids = await _inStockRepositories.GetInstockBoxIds(boxIds); + var nos = boxs.Where(w => ids.Contains(w.Id)).Select(s => s.BoxBillNo).ToList(); + inBoxBillNo.AddRange(nos); + inBoxBillNo = inBoxBillNo.Distinct().ToList();//去重 + //找到需要删除的箱子 var deleteBoxIds = boxs.Where(w => !inBoxBillNo.Contains(w.BoxBillNo)).Select(s => s.Id).ToList(); if (deleteBoxIds.Count() == 0) return Result>.ReSuccess(inBoxBillNo); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index b3df29a9..dae7e824 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -44,7 +44,7 @@ - 导出 + 重置箱信息 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 5364dfe9..aa1cc557 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2892,6 +2892,13 @@ + + + 获取-已入库的箱 + + + + 箱与任务单绑定(收货)关系表-仓储接口 diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs index cde4fce4..ce1cbb53 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs @@ -123,5 +123,11 @@ namespace WMS.Web.Domain.Infrastructure /// /// Task UpdateRange(List entitys, bool isTransaction = true); + /// + /// 获取-已入库的箱 + /// + /// + /// + Task> GetInstockBoxIds(List boxIds); } } diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 6e82958d..96fd2861 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -410,7 +410,7 @@ namespace WMS.Web.Repositories /// public async Task GetLastBillNo() { - var entity = await _context.InStockErpDetails.Where(x=>!string.IsNullOrEmpty(x.BatchBillNo)).OrderByDescending(x => x.Id).FirstOrDefaultAsync(); + var entity = await _context.InStockErpDetails.Where(x => !string.IsNullOrEmpty(x.BatchBillNo)).OrderByDescending(x => x.Id).FirstOrDefaultAsync(); return entity; } @@ -422,7 +422,7 @@ namespace WMS.Web.Repositories public async Task> GetErpDetails(List sourceBillNos) { var entity = await _context.InStockErpDetails.Where(x => sourceBillNos.Contains(x.SourceBillNo) && x.SuccessSync == SyncStatus.Success).ToListAsync(); - return entity.Clone() ; + return entity.Clone(); } /// @@ -441,7 +441,7 @@ namespace WMS.Web.Repositories /// public async Task> GetNotSendDetails() { - var result= await _context.InStockDetails.Where(x =>x.IsHasSend != null && x.IsHasSend == false && !string.IsNullOrEmpty(x.CustomerCode)).ToListAsync(); + var result = await _context.InStockDetails.Where(x => x.IsHasSend != null && x.IsHasSend == false && !string.IsNullOrEmpty(x.CustomerCode)).ToListAsync(); return result.Clone(); } @@ -487,5 +487,14 @@ namespace WMS.Web.Repositories return true; } } + /// + /// 获取已入库的箱 + /// + /// + /// + public async Task> GetInstockBoxIds(List boxIds) + { + return await _context.InStockDetails.Where(x => boxIds.Contains(x.BoxId)).Select(s => s.BoxId).ToListAsync(); + } } }