From d0b7dae8573d5d663f735746e182ced96af96b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Tue, 30 Apr 2024 13:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/mes/wms/WmOutOrderService.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index 3d610dc4..4c9c4377 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -18,6 +18,7 @@ using ZR.Service; using ZR.Service.Utils; using Aliyun.OSS; using Microsoft.AspNetCore.Hosting.Server; +using System.Numerics; namespace ZR.Service.mes.wms { @@ -687,7 +688,7 @@ namespace ZR.Service.mes.wms // 5. 确保出最早批次 string short_path = resultionPackage.PatchCode.Split('_')[0]; // 严格规则 - return CheckRuleJudgmentFirstInFirstOut(shipment_num, short_path); + return CheckRuleJudgmentFirstInFirstOut(shipment_num, short_path,parnumber); /*WmOutOrderPlan plan_item = Context.Queryable() .Where(it => it.FkOutOrderId == shipment_num) .Where(it => it.Patchcode == short_path) @@ -764,7 +765,7 @@ namespace ZR.Service.mes.wms /// 短批次号 /// "ok" 代表通过,其余返回错误提示 /// - public string CheckRuleJudgmentFirstInFirstOut(string shipment_num, string shortPackageCode) + public string CheckRuleJudgmentFirstInFirstOut(string shipment_num, string shortPackageCode,string parnumber) { // 1.检查是否有记录 var exp1 = Expressionable.Create() @@ -779,6 +780,8 @@ namespace ZR.Service.mes.wms return "此批次号不在出库单计划中!"; } + + // 1.取出出库单计划 List plans = Context.Queryable() .Where(it => it.FkOutOrderId == shipment_num) @@ -786,6 +789,11 @@ namespace ZR.Service.mes.wms .ToList(); foreach (WmOutOrderPlan plan in plans) { + // 不是同零件号的跳过 + if (plan.MaterialCode != parnumber) + { + continue; + } // 2.此出库单下的批次号的已出库记录 var exp2 = Expressionable.Create() .And(it => it.PackageCodeClient.Contains(plan.Patchcode)) @@ -804,6 +812,7 @@ namespace ZR.Service.mes.wms // 按顺序检查是否出完 if (plan.Patchcode != shortPackageCode) { + // 检查此批次是否出完 if (outPartnumberNum >= plan.RequireNum) {