From 81e17fd62fd81f391d0a0046bcc78cf6c11e8b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Wed, 19 Nov 2025 20:16:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=87=BA=E5=BA=93=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E6=95=B4=EF=BC=8C=E9=9C=80=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=9C=A8=E6=B8=85=E5=8D=95=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmGoodsOutProductionService.cs | 61 +++++++++++++++++-- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index 981be714..854d045b 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -119,11 +119,24 @@ namespace ZR.Service.mes.wms model.Id = SnowFlakeSingle.Instance.NextId().ToString(); //也可以在程序中直接获取ID } // 检查计划中是否有此零件号 -/* bool hasMaterial = Context - .Queryable() - .Where(it => it.FkOutorderId == model.FkOutOrderId) - .Where(it => it.FkMaterialId == ) - .Any();*/ + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == model.Partnumber) + .First(); + if (material == null) + { + throw new Exception("物料号不存在:" + model.Partnumber); + } + + bool hasMaterial = Context + .Queryable() + .Where(it => it.FkOutorderId == model.FkOutOrderId) + .Where(it => it.FkMaterialId == material.Id) + .Any(); + if (!hasMaterial) + { + throw new Exception($"该物料在此出库计划中不存在物料号:{model.Partnumber},工单号:{model.FkOutOrderId}"); + } //2. 根据成品仓库id修改记录 WmGoodsNowProduction updateModel = new WmGoodsNowProduction(); @@ -296,6 +309,25 @@ namespace ZR.Service.mes.wms { continue; } + // 检查计划中是否有此零件号 + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == nowProduction.Partnumber) + .First(); + if (material == null) + { + throw new Exception("物料号不存在:" + nowProduction.Partnumber); + } + + bool hasMaterial = Context + .Queryable() + .Where(it => it.FkOutorderId == parm.FkOutOrderId) + .Where(it => it.FkMaterialId == material.Id) + .Any(); + if (!hasMaterial) + { + throw new Exception($"该物料在此出库计划中不存在物料号:{nowProduction.Partnumber},工单号:{parm.FkOutOrderId}"); + } WmGoodsOutRecord outRecord = new() { @@ -357,6 +389,25 @@ namespace ZR.Service.mes.wms { continue; } + // 检查计划中是否有此零件号 + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == nowProduction.Partnumber) + .First(); + if (material == null) + { + throw new Exception("物料号不存在:" + nowProduction.Partnumber); + } + + bool hasMaterial = Context + .Queryable() + .Where(it => it.FkOutorderId == parm.FkOutOrderId) + .Where(it => it.FkMaterialId == material.Id) + .Any(); + if (!hasMaterial) + { + throw new Exception($"该物料在此出库计划中不存在物料号:{nowProduction.Partnumber},工单号:{parm.FkOutOrderId}"); + } WmGoodsOutRecord outRecord = new() {