From 9568c4770cd0c0da3e3d47ff54f5852f5c6652ef Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Fri, 29 Dec 2023 11:32:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs | 13 +++++++++++-- src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index 0ff4055d..46847aa8 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -247,13 +247,22 @@ namespace WMS.Web.Domain.Services { _logger.LogInformation($"移箱:{JsonConvert.SerializeObject(dto)} 是否上架:{IsUp} 操作人:{loginInfo.UserInfo.StaffId}"); //1.下架时 需要验证箱是否在库存里 + var boxIds = dto.Select(s => s.BoxId).ToList(); + var boxList = await _boxInventoryRepositories.GetList(boxIds); if (!IsUp) { - var boxIds = dto.Select(s => s.BoxId).ToList(); - var boxList = await _boxInventoryRepositories.GetList(boxIds); if (boxIds.Count() != boxList.Count()) return Result.ReFailure(ResultCodes.BoxInventoryNoDataError); } + else + { + //上架时 箱子不能在库存里 + if (boxList.Count() > 0) + { + var boxs = await _boxRepositories.GetEntityList(boxList.Select(s => s.BoxId).ToList()); + return Result.ReFailure($"箱号{ string.Join(",", boxs.Select(s => s.BoxBillNo))} 已上架", 343433); + } + } List entityList = new List(); foreach (var d in dto) { diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index b69f95ab..b614171e 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -66,6 +66,7 @@ namespace WMS.Web.Domain.Values public static ValueTuple BoxInventoryHaveInventoryError = (800013, "箱号已上架入库"); public static ValueTuple InventoryInOutDetailsWriteError = (800014, "写入物料收发明细失败!"); public static ValueTuple InventoryDetailsWriteError = (800014, "写入即时库存明细失败!"); + public static ValueTuple MoveInventoryError = (800015, "箱已经上架,不能重复上架"); public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在"); public static ValueTuple SerialNumbersBoxError = (610002, "序列号已经绑定箱");