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() {