From 3f515edb8f6002bd08c41bef3d1e28ed6c61e362 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 1 Dec 2025 11:49:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=8E=8BMES-=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=8E=A8=E9=80=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/approve/AfterSoSyncRuleGyMes.java | 142 +++--------------- .../action/main/UpdateSaleOrderAction.java | 3 - 2 files changed, 23 insertions(+), 122 deletions(-) diff --git a/so/src/private/nc/bs/so/m30/rule/approve/AfterSoSyncRuleGyMes.java b/so/src/private/nc/bs/so/m30/rule/approve/AfterSoSyncRuleGyMes.java index 6877ced1..7bf0f8df 100644 --- a/so/src/private/nc/bs/so/m30/rule/approve/AfterSoSyncRuleGyMes.java +++ b/so/src/private/nc/bs/so/m30/rule/approve/AfterSoSyncRuleGyMes.java @@ -13,12 +13,8 @@ import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.impl.pubapp.pattern.rule.IRule; import nc.jdbc.framework.processor.ColumnProcessor; -import nc.jdbc.framework.processor.MapListProcessor; -import nc.jdbc.framework.processor.MapProcessor; import nc.pubitf.uapbd.IMaterialPubService; -import nc.util.mmf.framework.base.MMValueCheck; import nc.vo.bd.defdoc.DefdocVO; -import nc.vo.bd.material.MaterialVO; import nc.vo.bd.material.plan.MaterialPlanVO; import nc.vo.org.OrgVO; import nc.vo.pmpub.project.ProjectHeadVO; @@ -29,7 +25,10 @@ import nc.vo.so.m30.entity.SaleOrderHVO; import nc.vo.so.m30.entity.SaleOrderVO; import nccloud.baseapp.core.log.NCCForUAPLogger; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Stream; /** @@ -87,99 +86,26 @@ public class AfterSoSyncRuleGyMes implements IRule { // 创建人 String userSql = " select user_name from sm_user where dr = 0 and cuserid = '" + hvo.getBillmaker() + "' "; String createName = (String) baseDAO.executeQuery(userSql, new ColumnProcessor()); - // 合同编号 - String vdef6 = hvo.getVdef6(); - String contractNum = getDefCode("zdy-001", vdef6); - - //自定义项26是Y时调用修改口,若不是则调用新增口 - String saleDef = hvo.getVdef26()== null ? "" : hvo.getVdef26(); - if (!saleDef.equals("Y")) { - // 更新自定义项26为“Y” - String sql = "update so_saleorder set vdef26 = 'Y' where csaleorderid = '" + hvo.getCsaleorderid() + "'"; - baseDAO.executeUpdate(sql); - - for (SaleOrderBVO item : itemVOS) { - String cmaterialvid = item.getCmaterialvid(); - Map planMap = queryMaterialPlanInfoByPks(new String[]{cmaterialvid}, pkOrg, - new String[]{MaterialPlanVO.DEF1}); - String drawingNumber = ""; - if (MMValueCheck.isNotEmpty(planMap) && - MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { - drawingNumber = planMap.get(cmaterialvid).getDef1(); - } - Object projectName = hybo.findColValue("bd_project", "project_name", " pk_project = '" + item.getCprojectid() + "' "); - - // itemObj.put("entryName", pk_project); // 项目名称 - // Object projectName = getDefName("zdy-001", vdef6); -// Object projectName = hybo.findColValue(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_NAME, ProjectHeadVO.PK_PROJECT + " = '" + item.getCprojectid() + "' "); - String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' "; - Map mrlMap = (Map) baseDAO.executeQuery(wlsql, new MapProcessor()); - - JSONObject itemObj = new JSONObject(); -// itemObj.put("contractNum", contractNum);// 合同编码 - // 获取项目编码 - String cprojectid = item.getCprojectid();// 项目id - String projectCode = MyHelper.getStrValByCondition(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_CODE, - ProjectHeadVO.PK_PROJECT + " = '" + cprojectid + "'"); - itemObj.put("contractNum", projectCode);// 项目编码 - itemObj.put("bipOrderId", hvo.getVbillcode());// 销售订单号 - itemObj.put("bipId", item.getCsaleorderbid());// 主键ID - itemObj.put("entryName", projectName);// 项目名称 - itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量 - itemObj.put("materialCode", mrlMap.get("code"));// 物料编码 - itemObj.put("materialName", mrlMap.get("name"));// 物料名称 -// itemObj.put("drawingNumber", mrlMap.get("graphid"));// 图号 - itemObj.put("drawingNumber", drawingNumber);// 图号 - itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期 - itemObj.put("remark", item.getVrownote());// 备注 - itemObj.put("bipCreateBy", createName);// 创建人 - itemObj.put("customers", customerName);// 客户 - if (itemObj != null && !itemObj.isEmpty()) { - pushData(itemObj); - } - - } - } else { - for (SaleOrderBVO item : itemVOS) { - String cmaterialvid = item.getCmaterialvid(); - Map planMap = queryMaterialPlanInfoByPks(new String[]{cmaterialvid}, pkOrg, - new String[]{MaterialPlanVO.DEF1}); - String drawingNumber = ""; - if (MMValueCheck.isNotEmpty(planMap) && - MMValueCheck.isNotEmpty(planMap.get(cmaterialvid))) { - drawingNumber = planMap.get(cmaterialvid).getDef1(); - } - Object projectName = hybo.findColValue("bd_project", "project_name", " pk_project = '" + item.getCprojectid() + "' "); - - // Object projectName = getDefName("zdy-001", vdef6); - String wlsql = " select code,name,graphid from bd_material where dr = 0 and pk_material = '" + item.getCmaterialvid() + "' "; - Map mrlMap = (Map) baseDAO.executeQuery(wlsql, new MapProcessor()); - - JSONObject itemObj = new JSONObject(); -// itemObj.put("contractNum", contractNum);// 合同编码 - // 获取项目编码 - String cprojectid = item.getCprojectid();// 项目id - String projectCode = MyHelper.getStrValByCondition(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_CODE, - ProjectHeadVO.PK_PROJECT + " = '" + cprojectid + "'"); - itemObj.put("contractNum", projectCode);// 项目编码 - itemObj.put("bipOrderId", hvo.getVbillcode());// 销售订单号 - itemObj.put("entryName", projectName);// 项目名称 - itemObj.put("productQuantity", (int) item.getNastnum().doubleValue());// 数量 - itemObj.put("materialCode", mrlMap.get("code"));// 物料编码 - itemObj.put("materialName", mrlMap.get("name"));// 物料名称 -// itemObj.put("drawingNumber", mrlMap.get("graphid"));// 图号 - itemObj.put("drawingNumber", drawingNumber);// 图号 - itemObj.put("supplyDate", item.getDreceivedate().toString());// 供货日期-要求收货日期 - itemObj.put("remark", item.getVrownote());// 备注 - itemObj.put("bipUpdateBy", createName);// 修改人 - itemObj.put("customers", customerName);// 客户 - if (itemObj != null && !itemObj.isEmpty()) { - pushData_Update(itemObj); - } - - } - } + SaleOrderBVO itemVO = itemVOS[0]; + // 获取项目编码 + String cprojectid = itemVO.getCprojectid();// 项目id + Map projectMap = MyHelper.getMapValByCondition(ProjectHeadVO.getDefaultTableName(), "project_code,project_name", + ProjectHeadVO.PK_PROJECT + " = '" + cprojectid + "'"); + JSONObject obj = new JSONObject(); + obj.put("contractNum", projectMap.get("project_code"));// 项目编码 + obj.put("bipOrderId", hvo.getVbillcode());// 销售订单号 + obj.put("bipId", hvo.getCsaleorderid());// 主键ID + obj.put("entryName", projectMap.get("project_name"));// 项目名称 + obj.put("productQuantity", 0);// 数量 + obj.put("materialCode", "");// 物料编码 + obj.put("materialName", "");// 物料名称 + obj.put("drawingNumber", "");// 图号 + obj.put("supplyDate", "");// 供货日期-要求收货日期 + obj.put("remark", hvo.getVnote());// 备注 + obj.put("bipCreateBy", createName);// 创建人 + obj.put("customers", customerName);// 客户 + pushData(obj); /** * { * "contractNum": "TZF2520201225 合同编码", @@ -221,28 +147,6 @@ public class AfterSoSyncRuleGyMes implements IRule { } } - /** - * 推送同步数据_修改口 - */ - private void pushData_Update(JSONObject param) throws BusinessException { - // String jsonString = param.toJSONString(); - // 转json字符串的时候保留null值 - String jsonStr = JSON.toJSONString(param, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty); - logger.error("gyMes-SaleOrder-param = " + jsonStr); - NCCForUAPLogger.debug("gyMes-SaleOrder-param = " + jsonStr); - String baseUrl = configParams.get("mesBaseUrl"); - String requestUrl = baseUrl + reqUrl_update; - logger.error("gyMes-SaleOrder-url = " + requestUrl); - String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, jsonStr); - JSONObject resultObj = JSONObject.parseObject(result); - logger.error("gyMes-SaleOrder-res = " + result); - - if (!"200".equals(resultObj.getString("code"))) { - logger.error("gyMes-SaleOrder-error,result[" + resultObj.toJSONString() + "]"); - throw new BusinessException("销售订单推送高压MES错误:" + resultObj.getString("msg")); - } - } - private boolean checkIfOrg(String code, Map configParams) throws BusinessException { String targetCode = configParams.get("gyOrg"); if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) { diff --git a/so/src/private/nc/impl/so/m30/action/main/UpdateSaleOrderAction.java b/so/src/private/nc/impl/so/m30/action/main/UpdateSaleOrderAction.java index 1998c5c5..9df73431 100644 --- a/so/src/private/nc/impl/so/m30/action/main/UpdateSaleOrderAction.java +++ b/so/src/private/nc/impl/so/m30/action/main/UpdateSaleOrderAction.java @@ -2,7 +2,6 @@ package nc.impl.so.m30.action.main; import nc.bs.so.m30.maintain.UpdateSaleOrderBP; import nc.bs.so.m30.plugin.Action30PlugInPoint; -import nc.bs.so.m30.rule.approve.AfterSoSyncRuleGyMes; import nc.bs.so.m30.rule.maintainprocess.CompareDimensionModifyRule; import nc.bs.so.m30.rule.maintainprocess.FillupDataWhenUpdateRule; import nc.bs.so.m30.rule.maintainprocess.NullRule; @@ -41,8 +40,6 @@ public class UpdateSaleOrderAction { private void addAfterRule(CompareAroundProcesser processer) { processer.addAfterRule(new NullRule()); processer.addAfterRule(new CompareDimensionModifyRule()); - // 在变更后推送到高压MES - processer.addAfterRule(new AfterSoSyncRuleGyMes()); }