From 8291a85cac96b62cd93f261662d9373396e7df87 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Fri, 15 Mar 2024 15:24:13 +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/OutStockService.cs | 10 +++++++++- src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs index 88d90f55..1175c173 100644 --- a/src/WMS.Web.Domain/Services/OutStockService.cs +++ b/src/WMS.Web.Domain/Services/OutStockService.cs @@ -91,6 +91,14 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.OutStockTaskAlready); if (outStockTask.Status == OutStockStatus.Repeal) return Result.ReFailure(ResultCodes.OutStockTaskRepeal); + + var mIds = dto.Details.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList(); + foreach (var m in mIds) + { + var d_boxIds = dto.Details.Where(w => w.MaterialId == m).Select(s => s.BoxId); + if (d_boxIds.Distinct().Count() != d_boxIds.Count()) + return Result.ReFailure(ResultCodes.BoxOutStockTaskBoxError); + } //上传的物料在任务单里没有找到不能出库 var ex = dto.Details.Select(s => s.MaterialId).Except(outStockTask.Details.Select(s => s.MaterialId)).ToList(); if (ex.Count() > 0 && dto.Method == 2) @@ -141,7 +149,7 @@ namespace WMS.Web.Domain.Services } } - var mIds = dto.Details.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList(); + OutStock entity = new OutStock(); foreach (var mid in mIds) { diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 73f3c853..dec9dcfd 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -39,6 +39,7 @@ namespace WMS.Web.Domain.Values public static ValueTuple MergeNumberError = (70006, "必须选择两个及以上的单合并"); public static ValueTuple BoxNumberError= (70007, "该批箱数量不符,不能出库"); public static ValueTuple BoxOutStockTaskMaterialError = (70008, "该批箱物料和出库单中不存在,不能出库"); + public static ValueTuple BoxOutStockTaskBoxError = (70009, "存在重复的箱号,请清空后重新操作"); public static ValueTuple BoxIsTrueShelf = (80000, "箱号已上架入库"); public static ValueTuple BoxNoData = (80000, "系统找不到该箱号");