From da7a45d941f76591bf92f460394e9b2488e52319 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 14 Dec 2023 15:58:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs | 8 ++++++++ src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 2 files changed, 9 insertions(+) diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index b925016f..946c9ce5 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -78,6 +78,14 @@ namespace WMS.Web.Domain.Services if (sCount > 0) return Result.ReFailure(ResultCodes.SerialNumbersBoxError); } + else + { + //有原箱的情况下验证序列号和原箱是否一致 + var s = d.Details.SelectMany(s => s.SerialNumbers).ToList(); + var boxCount = serialNumberList.Where(w => s.Contains(w.SerialNumber)).GroupBy(s => s.BoxId).Select(s => s.Key).ToList(); + if (boxCount.Count() > 1 || boxCount[0] != d.SrcBoxId) + return Result.ReFailure(ResultCodes.SerialNumbersSrcBoxError); + } var box = boxs.FirstOrDefault(f => f.BoxId == d.SrcBoxId); //原箱在库存中的话 进行验证 if (box != null) diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index db952196..ee5b1df3 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -69,6 +69,7 @@ namespace WMS.Web.Domain.Values public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在"); public static ValueTuple SerialNumbersBoxError = (610002, "序列号已经绑定箱"); + public static ValueTuple SerialNumbersSrcBoxError = (610003, "序列号不在原有箱号内"); public static ValueTuple TakeStockStockError = (610001, "一次不能盘多个仓库"); } }