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; + } }