From a5560fd78dcdd7487575776661a746dd101a484c Mon Sep 17 00:00:00 2001 From: houyi <1398559711@qq.com> Date: Fri, 28 Nov 2025 15:53:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E6=96=99=E8=AE=A1=E5=88=92=E6=8E=A8ME?= =?UTF-8?q?S=E5=A2=9E=E5=8A=A0=E7=AB=8B=E5=BA=93=E5=BA=93=E5=8C=BA?= =?UTF-8?q?=E3=80=81=E4=BB=93=E5=BA=93=E7=BC=96=E7=A0=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/AfterApproveRuleHighpressureMes.java | 24 +++++++++++++++---- .../rule/AfterPickmRuleHighpressureRule.java | 15 ++++++++++-- .../pickm/service/SyncGyMesPickmUtil.java | 16 +++++++++++-- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterApproveRuleHighpressureMes.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterApproveRuleHighpressureMes.java index 59e6d9e7..87f3a4f0 100644 --- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterApproveRuleHighpressureMes.java +++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterApproveRuleHighpressureMes.java @@ -120,7 +120,7 @@ public class AfterApproveRuleHighpressureMes implements IRule { singleObj.put("intervalModel", mrl.get("materialtype")); // (物料的自定义字段) // singleObj.put("intervalModel", "(物料的自定义字段)"); // (物料的自定义字段) - singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 +// singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 String sql1 = " select user_name from sm_user where cuserid = '" + pickmHeadVO.getCreator() + "' "; String bipCreateBy = (String) baseDAO.executeQuery(sql1, new ColumnProcessor()); @@ -136,10 +136,14 @@ public class AfterApproveRuleHighpressureMes implements IRule { MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { drawingNumber = planMap.get(cmaterialvid).getDef1(); } - + // 物料库存 + Map stockMap = getStockInfo(cmaterialvid, pkOrg); JSONObject itemObj = new JSONObject(); itemObj.put("bipChildId", item.getCpickm_bid()); // 子项主键ID + itemObj.put("storageArea", stockMap.get("def16")); // 立库库区 + itemObj.put("cwarehouseid", stockMap.get("pk_stordoc")); // 仓库编码 + itemObj.put("requiredDate", item.getDrequiredate().toString()); // 需用日期 // itemObj.put("bchkitemforwr", "Y"); // 完工齐套检查 itemObj.put("bchkitemforwr",item.getBchkitemforwr().booleanValue()?"Y":"N"); // 完工齐套检查 itemObj.put("quantityPerSet", item.getNunituseastnum() != null ? item.getNunituseastnum().doubleValue() : null); // 单套数量(单位用量) @@ -203,7 +207,7 @@ public class AfterApproveRuleHighpressureMes implements IRule { // singleObj.put("intervalModel", mrl.get("materialtype")); // (物料的自定义字段) singleObj.put("processCode", "(物料的自定义字段)"); // 产品编码的工序(物料的自定义字段) - singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 +// singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 String sql1 = " select user_name from sm_user where cuserid = '" + pickmHeadVO.getModifier() + "' "; String bipCreateBy = (String) baseDAO.executeQuery(sql1, new ColumnProcessor()); @@ -220,10 +224,14 @@ public class AfterApproveRuleHighpressureMes implements IRule { MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { drawingNumber = planMap.get(cmaterialvid).getDef1(); } - + // 物料库存 + Map stockMap = getStockInfo(cmaterialvid, pkOrg); JSONObject itemObj = new JSONObject(); itemObj.put("bipChildId", item.getCpickm_bid()); // 子项主键ID + itemObj.put("storageArea", stockMap.get("def16")); // 立库库区 + itemObj.put("cwarehouseid", stockMap.get("pk_stordoc")); // 仓库编码 + itemObj.put("requiredDate", item.getDrequiredate().toString()); // 需用日期 // itemObj.put("bchkitemforwr", "Y"); // 完工齐套检查 itemObj.put("bchkitemforwr",item.getBchkitemforwr().booleanValue()?"Y":"N"); // 完工齐套检查 itemObj.put("quantityPerSet", item.getNunituseastnum() != null ? item.getNunituseastnum().doubleValue() : null); // 单套数量(单位用量) @@ -356,4 +364,12 @@ public class AfterApproveRuleHighpressureMes implements IRule { return false; } + private Map getStockInfo(String pkMaterial,String pkOrg) throws BusinessException { + String sql = " select def16,bd_stordoc.code as pk_stordoc" + + " from bd_materialstock left join bd_stordoc on bd_stordoc.pk_stordoc = bd_materialstock.pk_stordoc " + + " where pk_material = '" + pkMaterial + "' " + " and bd_materialstock.pk_org = '" + pkOrg + "' "; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + return map; + } + } diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java index 464bd99e..d27dbed9 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java @@ -146,7 +146,7 @@ public class AfterPickmRuleHighpressureRule implements IRule { singleObj.put("productName", mrl.get("name")); // 产品名称 singleObj.put("processCode", "(物料的自定义字段)"); // 产品编码的工序(物料的自定义字段) - singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 +// singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 String sql1 = " select user_name from sm_user where cuserid = '" + pickmHeadVO.getModifier() + "' "; String bipCreateBy = (String) baseDAO.executeQuery(sql1, new ColumnProcessor()); @@ -162,10 +162,14 @@ public class AfterPickmRuleHighpressureRule implements IRule { MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { drawingNumber = planMap.get(cmaterialvid).getDef1(); } - + // 物料库存 + Map stockMap = getStockInfo(cmaterialvid, pkOrg); JSONObject itemObj = new JSONObject(); itemObj.put("bipChildId", item.getCpickm_bid()); // 子项主键ID + itemObj.put("storageArea", stockMap.get("def16")); // 立库库区 + itemObj.put("cwarehouseid", stockMap.get("pk_stordoc")); // 仓库编码 + itemObj.put("requiredDate", item.getDrequiredate().toString()); // 需用日期 // itemObj.put("bchkitemforwr", "Y"); // 完工齐套检查 itemObj.put("bchkitemforwr",item.getBchkitemforwr().booleanValue()?"Y":"N"); // 完工齐套检查 itemObj.put("quantityPerSet", item.getNunituseastnum() != null ? item.getNunituseastnum().doubleValue() : null); // 单套数量(单位用量) @@ -294,5 +298,12 @@ public class AfterPickmRuleHighpressureRule implements IRule { return false; } + private Map getStockInfo(String pkMaterial,String pkOrg) throws BusinessException { + String sql = " select def16,bd_stordoc.code as pk_stordoc" + + " from bd_materialstock left join bd_stordoc on bd_stordoc.pk_stordoc = bd_materialstock.pk_stordoc " + + " where pk_material = '" + pkMaterial + "' " + " and bd_materialstock.pk_org = '" + pkOrg + "' "; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + return map; + } } \ No newline at end of file diff --git a/mmpac/src/public/nccloud/web/mmpac/pickm/service/SyncGyMesPickmUtil.java b/mmpac/src/public/nccloud/web/mmpac/pickm/service/SyncGyMesPickmUtil.java index 4e0643e8..40a8a2d1 100644 --- a/mmpac/src/public/nccloud/web/mmpac/pickm/service/SyncGyMesPickmUtil.java +++ b/mmpac/src/public/nccloud/web/mmpac/pickm/service/SyncGyMesPickmUtil.java @@ -106,7 +106,7 @@ public class SyncGyMesPickmUtil { singleObj.put("productName", mrl.get("name")); // 产品名称 singleObj.put("processCode", "(物料的自定义字段)"); // 产品编码的工序(物料的自定义字段) - singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 +// singleObj.put("requiredDate", pickmHeadVO.getDmakedate().toString()); // 需用日期 String sql1 = " select user_name from sm_user where cuserid = '" + pickmHeadVO.getModifier() + "' "; String bipCreateBy = (String) baseDAO.executeQuery(sql1, new ColumnProcessor()); @@ -122,10 +122,14 @@ public class SyncGyMesPickmUtil { MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { drawingNumber = planMap.get(cmaterialvid).getDef1(); } - + // 物料库存 + Map stockMap = getStockInfo(cmaterialvid, pkOrg); JSONObject itemObj = new JSONObject(); itemObj.put("bipChildId", item.getCpickm_bid()); // 子项主键ID + itemObj.put("storageArea", stockMap.get("def16")); // 立库库区 + itemObj.put("cwarehouseid", stockMap.get("pk_stordoc")); // 仓库编码 + itemObj.put("requiredDate", item.getDrequiredate().toString()); // 需用日期 // itemObj.put("bchkitemforwr", "Y"); // 完工齐套检查 itemObj.put("bchkitemforwr",item.getBchkitemforwr().booleanValue()?"Y":"N"); // 完工齐套检查 itemObj.put("quantityPerSet", item.getNunituseastnum() != null ? item.getNunituseastnum().doubleValue() : null); // 单套数量(单位用量) @@ -251,4 +255,12 @@ public class SyncGyMesPickmUtil { } return false; } + + private Map getStockInfo(String pkMaterial,String pkOrg) throws BusinessException { + String sql = " select def16,bd_stordoc.code as pk_stordoc" + + " from bd_materialstock left join bd_stordoc on bd_stordoc.pk_stordoc = bd_materialstock.pk_stordoc " + + " where pk_material = '" + pkMaterial + "' " + " and bd_materialstock.pk_org = '" + pkOrg + "' "; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + return map; + } }