From 491eae428173770049cc63e2afe99c7401953492 Mon Sep 17 00:00:00 2001 From: mzr Date: Thu, 11 Sep 2025 14:08:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=B1=E5=8F=98-=E6=B5=81=E7=A8=8B=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A2=E5=8D=95=E5=AE=A1=E6=89=B9=E5=90=8E=E6=8E=A8?= =?UTF-8?q?=E9=80=81QMS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java | 7 +- .../bp/rule/AfterApproveSyncQMSRule.java | 82 ++++++++----------- 2 files changed, 35 insertions(+), 54 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java index 24a9681..9a276b1 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java @@ -57,11 +57,10 @@ public class PMOApproveBP { processer.addAfterRule(new AfterApproveSyncEpicMesRule()); - // 审批后推送流程生产订单到启源qms - processer.addAfterRule(new AfterApproveSyncEpicQMSRule()); -// 流程生产订单审批后推送高压MES - processer.addAfterRule(new AfterApproveSyncHighpressureMesRule()); + processer.addAfterRule(new AfterApproveSyncQMSRule()); + // 流程生产订单审批后推送高压MES + // processer.addAfterRule(new AfterApproveSyncHighpressureMesRule()); } diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncQMSRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncQMSRule.java index 94227d1..a272906 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncQMSRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncQMSRule.java @@ -7,19 +7,19 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import nc.bs.dao.BaseDAO; import nc.bs.logging.Log; -import nc.bs.trade.business.HYPubBO; 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.MapProcessor; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; import nc.vo.org.OrgVO; +import nc.vo.pmpub.project.ProjectHeadVO; import nc.vo.pub.BusinessException; -import nccloud.baseapp.core.log.NCCForUAPLogger; +import nc.vo.pub.lang.UFDateTime; -import java.util.Date; import java.util.Map; /** @@ -32,7 +32,7 @@ public class AfterApproveSyncQMSRule implements IRule { private static final String LOG_INFO_NAME = "qyMesLog"; private static final Log logger = Log.getInstance(LOG_INFO_NAME); - private static final String reqUrl = "IF_QyErpApi.ashx?action=addscjh"; + private static final String reqUrl = "/IF_QyErpApi.ashx?action=addscjh"; private Map configParams; @Override @@ -53,8 +53,6 @@ public class AfterApproveSyncQMSRule implements IRule { */ private void buildSyncData(PMOAggVO[] useVOs) throws BusinessException { BaseDAO baseDAO = new BaseDAO(); - - HYPubBO hybo = new HYPubBO(); for (PMOAggVO vo : useVOs) { // 判断物料的业务单元是否是箱变公司,不是则跳过 String pkOrg = vo.getParentVO().getPk_org(); @@ -66,59 +64,43 @@ public class AfterApproveSyncQMSRule implements IRule { JSONObject singleObj = new JSONObject(); PMOHeadVO pmoHeadVO = vo.getParentVO(); PMOItemVO[] itemVOS = vo.getChildrenVO(); - singleObj.put("batchid", new Date()); - singleObj.put("scdh", pmoHeadVO.getVbillcode()); - singleObj.put("xdrq", pmoHeadVO.getDbilldate()); - String sql = " select user_name from sm_user where cuserid = '" + pmoHeadVO.getBillmaker() + "' "; + String sql = " select user_name from sm_user where dr = 0 and cuserid = '" + pmoHeadVO.getBillmaker() + "' "; String billmakerName = (String) baseDAO.executeQuery(sql, new ColumnProcessor()); + singleObj.put("batchid", System.currentTimeMillis()); + singleObj.put("scdh", pmoHeadVO.getVbillcode()); + singleObj.put("xdrq", pmoHeadVO.getDbilldate().toString()); singleObj.put("jhy", billmakerName); singleObj.put("bz", pmoHeadVO.getVnote()); // 处理Content数组 JSONArray contentArray = new JSONArray(); for (PMOItemVO item : itemVOS) { + String cmaterialvid = item.getCmaterialvid(); + String whereSql = " select code,name,materialspec,materialtype from bd_material where pk_material = '" + cmaterialvid + "' "; + Map mrlmap = (Map) baseDAO.executeQuery(whereSql, new MapProcessor()); + + String cprojectid = item.getCprojectid();// 项目id + String projectCode = MyHelper.getStrValByCondition(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_CODE, + ProjectHeadVO.PK_PROJECT + " = '" + cprojectid + "'"); + JSONObject itemObj = new JSONObject(); itemObj.put("sgdh", pmoHeadVO.getVbillcode()); - itemObj.put("xshth", item.getCprojectid()); -// itemObj.put("htqdxh", item.getHtqdxh()); -// Object no = hybo.findColValue("bd_material", "code", "pk_material = '"+item.getCmaterialvid()+"' "); -// -// Object name = hybo.findColValue("bd_material", "name", "pk_material = '"+item.getCmaterialvid()+"' "); - String wlsql = " select code,name,materialspec,materialtype from bd_material where pk_material = '" + item.getCmaterialvid() + "' "; - Map mrlmap = (Map) baseDAO.executeQuery(wlsql, new ColumnProcessor()); - + itemObj.put("xshth", projectCode); + itemObj.put("htqdxh", item.getVfirstrowno()); itemObj.put("wlbh", mrlmap.get("code")); itemObj.put("wlmc", mrlmap.get("name")); itemObj.put("wlxhgg", mrlmap.get("materialspec") + (String) mrlmap.get("materialtype")); - itemObj.put("jhsl", item.getNastnum()); - itemObj.put("jhrq", item.getTplanendtime()); + itemObj.put("jhsl", item.getNastnum().toString()); + UFDateTime tplanendtime = item.getTplanendtime(); + String tplanendtimeStr = ""; + if (tplanendtime != null) { + tplanendtimeStr = tplanendtime.toString(); + } + itemObj.put("jhrq", tplanendtimeStr); itemObj.put("bz", item.getVnote()); contentArray.add(itemObj); } - singleObj.put("Content", contentArray); - /* - { - "batchid": "PO202408001", - "scdh": "PROD202408001", - "xdrq": "2024-08-21", - "jhy": "张三", - "bz": "紧急生产订单,优先安排", - "Content": [ - { - "sgdh": "CON202408001", - "xshth": "SALE202408001", - "htqdxh": "001", - "wlbh": "ACC26711", - "wlmc": "铜排", - "wlxhgg": "15558190831", - "jhsl": "100", - "jhrq": "2024-08-25", - "bz": "需符合材质要求" - } - ] - } - */ pushData(singleObj); } } @@ -133,18 +115,18 @@ public class AfterApproveSyncQMSRule implements IRule { SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty ); - logger.error("QMS-Material-param = " + jsonStr); - NCCForUAPLogger.debug("QMS-Material-param = " + jsonStr); + logger.error("QMS-PMO-XB-param = " + jsonStr); + // NCCForUAPLogger.debug("QMS-PMO-XB-param = " + jsonStr); String baseUrl = configParams.get("qmsBaseUrl"); String requestUrl = baseUrl + reqUrl; - logger.error("QMS-Material-url = " + requestUrl); + logger.error("QMS-PMO-XB-url = " + requestUrl); String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, jsonStr); JSONObject resultObj = JSONObject.parseObject(result); - logger.error("QMS-Material-res = " + result); + logger.error("QMS-PMO-XB-res = " + result); - if (!"success".equals(resultObj.getString("success"))) { - // throw new BusinessException("QMS-Material-error:" + resultObj.getString("msg")); - logger.error("QMS-Material-error,result[" + resultObj.toJSONString() + "]"); + if (!"true".equals(resultObj.getString("success"))) { + // throw new BusinessException("QMS-PMO-XB-error:" + resultObj.getString("msg")); + logger.error("QMS-PMO-XB-error,result[" + resultObj.toJSONString() + "]"); } }