Merge remote-tracking branch 'origin/main'
This commit is contained in:
		
						commit
						d08a78681e
					
				| 
						 | 
					@ -57,11 +57,10 @@ public class PMOApproveBP {
 | 
				
			||||||
        processer.addAfterRule(new AfterApproveSyncEpicMesRule());
 | 
					        processer.addAfterRule(new AfterApproveSyncEpicMesRule());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // 审批后推送流程生产订单到启源qms
 | 
					        // 审批后推送流程生产订单到启源qms
 | 
				
			||||||
        processer.addAfterRule(new AfterApproveSyncEpicQMSRule());
 | 
					        processer.addAfterRule(new AfterApproveSyncQMSRule());
 | 
				
			||||||
//        流程生产订单审批后推送高压MES
 | 
					        // 流程生产订单审批后推送高压MES
 | 
				
			||||||
        processer.addAfterRule(new AfterApproveSyncHighpressureMesRule());
 | 
					        // processer.addAfterRule(new AfterApproveSyncHighpressureMesRule());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,19 +7,19 @@ import com.alibaba.fastjson.JSONObject;
 | 
				
			||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
 | 
					import com.alibaba.fastjson.serializer.SerializerFeature;
 | 
				
			||||||
import nc.bs.dao.BaseDAO;
 | 
					import nc.bs.dao.BaseDAO;
 | 
				
			||||||
import nc.bs.logging.Log;
 | 
					import nc.bs.logging.Log;
 | 
				
			||||||
import nc.bs.trade.business.HYPubBO;
 | 
					 | 
				
			||||||
import nc.bs.uapbd.util.MyHelper;
 | 
					import nc.bs.uapbd.util.MyHelper;
 | 
				
			||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
 | 
					import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
 | 
				
			||||||
import nc.impl.pubapp.pattern.rule.IRule;
 | 
					import nc.impl.pubapp.pattern.rule.IRule;
 | 
				
			||||||
import nc.jdbc.framework.processor.ColumnProcessor;
 | 
					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.PMOAggVO;
 | 
				
			||||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
 | 
					import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
 | 
				
			||||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
 | 
					import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
 | 
				
			||||||
import nc.vo.org.OrgVO;
 | 
					import nc.vo.org.OrgVO;
 | 
				
			||||||
 | 
					import nc.vo.pmpub.project.ProjectHeadVO;
 | 
				
			||||||
import nc.vo.pub.BusinessException;
 | 
					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;
 | 
					import java.util.Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final String LOG_INFO_NAME = "qyMesLog";
 | 
					    private static final String LOG_INFO_NAME = "qyMesLog";
 | 
				
			||||||
    private static final Log logger = Log.getInstance(LOG_INFO_NAME);
 | 
					    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<String, String> configParams;
 | 
					    private Map<String, String> configParams;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					@ -53,8 +53,6 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private void buildSyncData(PMOAggVO[] useVOs) throws BusinessException {
 | 
					    private void buildSyncData(PMOAggVO[] useVOs) throws BusinessException {
 | 
				
			||||||
        BaseDAO baseDAO = new BaseDAO();
 | 
					        BaseDAO baseDAO = new BaseDAO();
 | 
				
			||||||
 | 
					 | 
				
			||||||
        HYPubBO hybo = new HYPubBO();
 | 
					 | 
				
			||||||
        for (PMOAggVO vo : useVOs) {
 | 
					        for (PMOAggVO vo : useVOs) {
 | 
				
			||||||
            // 判断物料的业务单元是否是箱变公司,不是则跳过
 | 
					            // 判断物料的业务单元是否是箱变公司,不是则跳过
 | 
				
			||||||
            String pkOrg = vo.getParentVO().getPk_org();
 | 
					            String pkOrg = vo.getParentVO().getPk_org();
 | 
				
			||||||
| 
						 | 
					@ -66,59 +64,43 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
 | 
				
			||||||
            JSONObject singleObj = new JSONObject();
 | 
					            JSONObject singleObj = new JSONObject();
 | 
				
			||||||
            PMOHeadVO pmoHeadVO = vo.getParentVO();
 | 
					            PMOHeadVO pmoHeadVO = vo.getParentVO();
 | 
				
			||||||
            PMOItemVO[] itemVOS = vo.getChildrenVO();
 | 
					            PMOItemVO[] itemVOS = vo.getChildrenVO();
 | 
				
			||||||
            singleObj.put("batchid", new Date());
 | 
					            String sql = " select user_name from sm_user where dr = 0 and cuserid = '" + pmoHeadVO.getBillmaker() + "' ";
 | 
				
			||||||
            singleObj.put("scdh", pmoHeadVO.getVbillcode());
 | 
					 | 
				
			||||||
            singleObj.put("xdrq", pmoHeadVO.getDbilldate());
 | 
					 | 
				
			||||||
            String sql = " select user_name from sm_user where cuserid = '" + pmoHeadVO.getBillmaker() + "' ";
 | 
					 | 
				
			||||||
            String billmakerName = (String) baseDAO.executeQuery(sql, new ColumnProcessor());
 | 
					            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("jhy", billmakerName);
 | 
				
			||||||
            singleObj.put("bz", pmoHeadVO.getVnote());
 | 
					            singleObj.put("bz", pmoHeadVO.getVnote());
 | 
				
			||||||
            // 处理Content数组
 | 
					            // 处理Content数组
 | 
				
			||||||
            JSONArray contentArray = new JSONArray();
 | 
					            JSONArray contentArray = new JSONArray();
 | 
				
			||||||
            for (PMOItemVO item : itemVOS) {
 | 
					            for (PMOItemVO item : itemVOS) {
 | 
				
			||||||
 | 
					                String cmaterialvid = item.getCmaterialvid();
 | 
				
			||||||
 | 
					                String whereSql = " select code,name,materialspec,materialtype from bd_material where pk_material = '" + cmaterialvid + "' ";
 | 
				
			||||||
 | 
					                Map<String, Object> mrlmap = (Map<String, Object>) 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();
 | 
					                JSONObject itemObj = new JSONObject();
 | 
				
			||||||
                itemObj.put("sgdh", pmoHeadVO.getVbillcode());
 | 
					                itemObj.put("sgdh", pmoHeadVO.getVbillcode());
 | 
				
			||||||
                itemObj.put("xshth", item.getCprojectid());
 | 
					                itemObj.put("xshth", projectCode);
 | 
				
			||||||
//                itemObj.put("htqdxh", item.getHtqdxh());
 | 
					                itemObj.put("htqdxh", item.getVfirstrowno());
 | 
				
			||||||
//                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<String, Object> mrlmap = (Map<String, Object>) baseDAO.executeQuery(wlsql, new ColumnProcessor());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                itemObj.put("wlbh", mrlmap.get("code"));
 | 
					                itemObj.put("wlbh", mrlmap.get("code"));
 | 
				
			||||||
                itemObj.put("wlmc", mrlmap.get("name"));
 | 
					                itemObj.put("wlmc", mrlmap.get("name"));
 | 
				
			||||||
                itemObj.put("wlxhgg", mrlmap.get("materialspec") + (String) mrlmap.get("materialtype"));
 | 
					                itemObj.put("wlxhgg", mrlmap.get("materialspec") + (String) mrlmap.get("materialtype"));
 | 
				
			||||||
                itemObj.put("jhsl", item.getNastnum());
 | 
					                itemObj.put("jhsl", item.getNastnum().toString());
 | 
				
			||||||
                itemObj.put("jhrq", item.getTplanendtime());
 | 
					                UFDateTime tplanendtime = item.getTplanendtime();
 | 
				
			||||||
 | 
					                String tplanendtimeStr = "";
 | 
				
			||||||
 | 
					                if (tplanendtime != null) {
 | 
				
			||||||
 | 
					                    tplanendtimeStr = tplanendtime.toString();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                itemObj.put("jhrq", tplanendtimeStr);
 | 
				
			||||||
                itemObj.put("bz", item.getVnote());
 | 
					                itemObj.put("bz", item.getVnote());
 | 
				
			||||||
                contentArray.add(itemObj);
 | 
					                contentArray.add(itemObj);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            singleObj.put("Content", contentArray);
 | 
					            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);
 | 
					            pushData(singleObj);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -133,18 +115,18 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
 | 
				
			||||||
                SerializerFeature.WriteMapNullValue,
 | 
					                SerializerFeature.WriteMapNullValue,
 | 
				
			||||||
                SerializerFeature.WriteNullStringAsEmpty
 | 
					                SerializerFeature.WriteNullStringAsEmpty
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        logger.error("QMS-Material-param = " + jsonStr);
 | 
					        logger.error("QMS-PMO-XB-param = " + jsonStr);
 | 
				
			||||||
        NCCForUAPLogger.debug("QMS-Material-param = " + jsonStr);
 | 
					        // NCCForUAPLogger.debug("QMS-PMO-XB-param = " + jsonStr);
 | 
				
			||||||
        String baseUrl = configParams.get("qmsBaseUrl");
 | 
					        String baseUrl = configParams.get("qmsBaseUrl");
 | 
				
			||||||
        String requestUrl = baseUrl + reqUrl;
 | 
					        String requestUrl = baseUrl + reqUrl;
 | 
				
			||||||
        logger.error("QMS-Material-url = " + requestUrl);
 | 
					        logger.error("QMS-PMO-XB-url = " + requestUrl);
 | 
				
			||||||
        String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, jsonStr);
 | 
					        String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, jsonStr);
 | 
				
			||||||
        JSONObject resultObj = JSONObject.parseObject(result);
 | 
					        JSONObject resultObj = JSONObject.parseObject(result);
 | 
				
			||||||
        logger.error("QMS-Material-res = " + result);
 | 
					        logger.error("QMS-PMO-XB-res = " + result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!"success".equals(resultObj.getString("success"))) {
 | 
					        if (!"true".equals(resultObj.getString("success"))) {
 | 
				
			||||||
            // throw new BusinessException("QMS-Material-error:" + resultObj.getString("msg"));
 | 
					            // throw new BusinessException("QMS-PMO-XB-error:" + resultObj.getString("msg"));
 | 
				
			||||||
            logger.error("QMS-Material-error,result[" + resultObj.toJSONString() + "]");
 | 
					            logger.error("QMS-PMO-XB-error,result[" + resultObj.toJSONString() + "]");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue