diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 2e994b8f..dd27270d 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -41,9 +41,10 @@ namespace WMS.Web.Domain.Services private readonly IInStockRepositories _inStockRepositories; private readonly IInStockTaskRepositories _inStockTaskRepositories; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; + private readonly IBoxInventoryRepositories _boxInventoryRepositories; public InStockService(IMapper mapper, ISerialNumbersRepositories serialNumbersRepositories, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories, IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService, IInStockTaskBoxRepositories inStockTaskBoxRepositories, - IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories) + IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories, IBoxInventoryRepositories boxInventoryRepositories) { _mapper = mapper; _erpService = erpService; @@ -513,6 +514,11 @@ namespace WMS.Web.Domain.Services if (boxs == null || boxs.Count == 0) return Result.ReFailure(ResultCodes.BoxNoData); + //判断箱是否存在库存:有的话就提示“箱号已上架入库” + var boxInventory = await _boxInventoryRepositories.GetList(boxs.Select(x => x.Id).ToList()); + if(boxInventory!=null) + return Result.ReFailure(ResultCodes.BoxInventoryHaveInventoryError); + //合并多个箱明细的数据:相同物料数量合并 var boxDetails = boxs.SelectMany(x => x.Details).GroupBy(x => x.MaterialId).Select(x => new { MaterialId = x.Key, Qty = x.Sum(t => t.Qty) }).ToList();