From 10d00e2318fee5812f0928ca1701f594269a5cca Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Sat, 9 Dec 2023 17:33:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E6=9E=B6=E6=95=B0=E9=87=8F=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E8=B6=85=E8=BF=87=E5=BA=94=E5=85=A5=E5=BA=93=E6=95=B0?= =?UTF-8?q?=E9=87=8F-=E9=9D=9E=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93-?= =?UTF-8?q?=E6=8C=89=E4=BA=A7=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/InStockService.cs | 11 ++++++++++- src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index fee412ac..c85e075c 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -323,12 +323,21 @@ namespace WMS.Web.Domain.Services { x.Details.RemoveAll(t => t.Qty == 0); }); - //1.获取来源单 var task = await _inStockTaskRepositories.Get(dto.TaskId); if (task == null) return Result.ReFailure(ResultCodes.SourceBillNoDateError); + //1.1.2判断上架数量不能超过应入库数量 + var dtoDetails = dto.Boxs.SelectMany(x => x.Details).ToList(); + var dtoTotalDetails=dtoDetails.GroupBy(x => new { x.ErpDetailId }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, Qty = x.Sum(t => t.Qty) }).ToList(); + foreach (var item in task.Details) + { + var current_det= dtoTotalDetails.Where(x => x.ErpDetailId == item.ErpDetailId).FirstOrDefault(); + if(current_det!=null && current_det.ErpDetailId==item.ErpDetailId && item.AccruedQty Contrast_Purchase_Count_Error = (80003, "箱内产品和采购单不一致"); public static ValueTuple Contrast_Count_Error = (80003, "箱内产品和来源单不一致"); public static ValueTuple Contrast_Qty_Error = (80003, "箱内产品数量超过可入库数量"); + public static ValueTuple ShelfNoPurchaseSave_Qty_Error = (80003, "上架数量不能大于当前应入库数量"); public static ValueTuple ErpOrgError = (80004, "获取Erp相关组织数据失败,请稍候再试!"); public static ValueTuple ErpSupplierError = (80005, "获取Erp相关供应商数据失败,请稍候再试!");