diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs index c9121195..12d574ee 100644 --- a/src/WMS.Web.Domain/Services/OutStockService.cs +++ b/src/WMS.Web.Domain/Services/OutStockService.cs @@ -21,6 +21,7 @@ using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Values; using WMS.Web.Domain.Values.Erp; +using WMS.Web.Domain.Values.Single; namespace WMS.Web.Domain.Services { @@ -42,12 +43,14 @@ namespace WMS.Web.Domain.Services private readonly IBoxInventoryRepositories _boxInventoryRepositories; private readonly ILogger _logger; private readonly IBoxRepositories _boxRepositories; + private readonly ISingleDataService _singleDataService; public OutStockService(IMapper mapper, ILoginService loginService, IBasicsRepositories transactionRepositories, IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IErpService erpService, ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IInventoryInOutDetailsService inventoryInOutDetailsService, - IBoxInventoryRepositories boxInventoryRepositories, ILogger logger, IBoxRepositories boxRepositories) + IBoxInventoryRepositories boxInventoryRepositories, ILogger logger, IBoxRepositories boxRepositories, + ISingleDataService singleDataService) { _mapper = mapper; _loginService = loginService; @@ -62,6 +65,7 @@ namespace WMS.Web.Domain.Services _boxInventoryRepositories = boxInventoryRepositories; _logger = logger; _boxRepositories = boxRepositories; + _singleDataService = singleDataService; } /// /// 出库单 @@ -91,6 +95,12 @@ namespace WMS.Web.Domain.Services var box = await _boxRepositories.Get(boxid); return Result.ReFailure($"箱号:{box?.BoxBillNo} 不存在库存", 70008); } + if (!inventory.StockCode.Equals(outStockTask.StockCode)) + { + var box = await _boxRepositories.Get(boxid); + var stockCodeName = _singleDataService.GetSingleData(SingleAction.Stocks, loginInfo.UserInfo.CompanyId, outStockTask.StockCode); + return Result.ReFailure($"箱号:{box?.BoxBillNo}在仓库:{stockCodeName} 不存在库存", 70009); + } } //1.需要验证物料对应箱和序列号是否存在库存