From 5e0794e2dd9944496a0f23975998a9ab231eb433 Mon Sep 17 00:00:00 2001 From: rengp Date: Wed, 13 Sep 2023 14:00:13 +0800 Subject: [PATCH] no message --- com/Client.java | 9 +-- .../tjbankSocket/impl/CWGLSocketExecute.java | 24 +++++--- com/engine/util/XMLUtils.java | 59 ++++++++++++++++++- com/engine/web/tjbk/TjbkServerSocket.java | 4 ++ .../action/javacode/Action20230911062023.java | 3 + 5 files changed, 87 insertions(+), 12 deletions(-) diff --git a/com/Client.java b/com/Client.java index 8ad0600..4327176 100644 --- a/com/Client.java +++ b/com/Client.java @@ -10,16 +10,17 @@ import java.util.Map; public class Client { // public static final int port = 8090; public static final int port = 8090; - // public static final String host = "14.1.209.146"; - public static final String host = "127.0.0.1"; + public static final String host = "14.1.209.146"; + // public static final String host = "127.0.0.1"; public static void main(String[] args) { System.out.println("Client Start..."); - String str = "000006041010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币"; + // String str = "000006041010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币"; + String str = "000006581010157060000081243025801700102311000120230905104426true500130004130157202309050600000812430补贴报销单0912210110567101105672测试退回签字意见?"; // String str = "1010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币"; // Map stringStringMap = XMLUtils.parseXMLToMap(str); // System.out.println(stringStringMap); System.out.println(str.length()); - + // System.exit(0); // while (true) { Socket socket = null; try { diff --git a/com/engine/tjbankSocket/impl/CWGLSocketExecute.java b/com/engine/tjbankSocket/impl/CWGLSocketExecute.java index af0d927..1ca5876 100644 --- a/com/engine/tjbankSocket/impl/CWGLSocketExecute.java +++ b/com/engine/tjbankSocket/impl/CWGLSocketExecute.java @@ -4,6 +4,7 @@ import com.engine.tjbankSocket.SocketExecute; import com.engine.util.XMLUtils; import com.icbc.api.internal.apache.http.impl.cookie.S; import weaver.conn.RecordSet; +import weaver.general.StringUtil; import weaver.general.Util; import weaver.soa.workflow.request.RequestService; @@ -21,7 +22,7 @@ public class CWGLSocketExecute implements SocketExecute { Map resultMap = null; int userid = 0; try { - resultMap = getBeanByOAnum(oaTrvlBnsExpnsAcctNo,"formtable_main_39"); + resultMap = getBeanByOAnum(oaTrvlBnsExpnsAcctNo,"formtable_main_281"); } catch (Exception e) { e.printStackTrace(); } @@ -32,15 +33,24 @@ public class CWGLSocketExecute implements SocketExecute { } String id = resultMap.get("id"); int requestid = Util.getIntValue(resultMap.get("requestid")); + if (requestid == 0){ + return XMLUtils.CW2XML(paramMap, "1", "流程未找到"); + } + if (userid == 0){ + return XMLUtils.CW2XML(paramMap, "1", "人员未找到"); + } RequestService requestService = new RequestService(); + boolean istrue = false; if ("0".equals(flowStatus)){ - - requestService.FlowNode(requestid,userid,sgntrOpn,"submit",""); + istrue = requestService.nextNodeBySubmit(null, requestid, userid, sgntrOpn); }else { - boolean b = requestService.nextNodeByReject(requestid, userid, sgntrOpn); + istrue = requestService.nextNodeByReject(requestid, userid, sgntrOpn); + } + if (istrue){ + return XMLUtils.CW2XML(paramMap, "0", ""); + }else { + return XMLUtils.CW2XML(paramMap,"1","流程提交失败"); } - - return null; } @@ -60,7 +70,7 @@ public class CWGLSocketExecute implements SocketExecute { public int getHrmidByWorkCode(String workcode) throws Exception { RecordSet recordSet = new RecordSet(); - String sql = "select id from Hrmresouce where workcode = ?"; + String sql = "select id from HRMRESOURCE where workcode = ?"; recordSet.executeQuery(sql,workcode); if (recordSet.next()){ return Util.getIntValue(recordSet.getString("id")); diff --git a/com/engine/util/XMLUtils.java b/com/engine/util/XMLUtils.java index 868e95e..8813ab7 100644 --- a/com/engine/util/XMLUtils.java +++ b/com/engine/util/XMLUtils.java @@ -169,6 +169,7 @@ public class XMLUtils { try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); + ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8)); Document document = builder.parse(byteArrayInputStream); @@ -194,8 +195,64 @@ public class XMLUtils { } } + //财务系统构建返回体 + public static String CW2XML(Map headerParam,String retCd , String errorMessage ) { + try { + // 创建文档对象 + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + Document doc = docBuilder.newDocument(); + +// 创建根节点 + Element rootElement = doc.createElement("Service"); + doc.appendChild(rootElement); + + addServiceHeader(doc,rootElement,headerParam); - public static void main(String[] args) { + // 创建Service_Body节点 + Element serviceBodyElement = doc.createElement("Service_Body"); + rootElement.appendChild(serviceBodyElement); + // 创建response节点 + Element responseElement = doc.createElement("response"); + serviceBodyElement.appendChild(responseElement); + + // // 创建todo节点 + // Element todoElement = doc.createElement("todo"); + // responseElement.appendChild(todoElement); + + // 创建count节点并设置值 + if(retCd != null) { + Element countElement = doc.createElement("retCd"); + countElement.setTextContent(retCd + ""); + responseElement.appendChild(countElement); + } + if(errorMessage != null){ + Element countOneElement = doc.createElement("errorMessage"); + countOneElement.setTextContent(errorMessage+""); + responseElement.appendChild(countOneElement); + } + + + // 将文档对象转换为XML字符串 + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // 设置不包含XML声明 + DOMSource source = new DOMSource(doc); + + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + StreamResult result = new StreamResult(outputStream); + + transformer.transform(source, result); + + // 将XML结果转换为字符串 + String xmlString = outputStream.toString("UTF-8"); + //System.out.println(xmlString); + String length = String.format("%08d", xmlString.length()); + return length+xmlString; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; } } diff --git a/com/engine/web/tjbk/TjbkServerSocket.java b/com/engine/web/tjbk/TjbkServerSocket.java index 21b020a..c78e464 100644 --- a/com/engine/web/tjbk/TjbkServerSocket.java +++ b/com/engine/web/tjbk/TjbkServerSocket.java @@ -139,6 +139,7 @@ class ProcessSocketData extends Thread { private String execute(String XMLparam){ Map paramMap = XMLUtils.parseXMLToMap(XMLparam); + new BaseBean().writeLog(this.getClass().getName()+":paramMap=="+paramMap); StringEscapeUtils.unescapeXml(XMLparam); //目标系统代码 String system_id = paramMap.get("system_id"); @@ -146,11 +147,14 @@ class ProcessSocketData extends Thread { String requester_id = paramMap.get("requester_id"); // 请求方机构代号 String branch_id = paramMap.get("branch_id"); + new BaseBean().writeLog(this.getClass().getName()+":requester_id=="+requester_id); SocketExecute socketExecute = null; if ("0157".equals(requester_id)){ socketExecute = new GetToCountSocketExecute(); + new BaseBean().writeLog(this.getClass().getName()+":GetToCountSocketExecute"); }else if("0170".equals(requester_id)){ socketExecute = new CWGLSocketExecute(); + new BaseBean().writeLog(this.getClass().getName()+":CWGLSocketExecute"); } String execute = socketExecute.execute(XMLparam); return execute; diff --git a/weaver/interfaces/workflow/action/javacode/Action20230911062023.java b/weaver/interfaces/workflow/action/javacode/Action20230911062023.java index da1a9ac..0465693 100644 --- a/weaver/interfaces/workflow/action/javacode/Action20230911062023.java +++ b/weaver/interfaces/workflow/action/javacode/Action20230911062023.java @@ -11,6 +11,7 @@ import weaver.general.BaseBean; import weaver.soa.workflow.request.RequestInfo; import java.io.*; +import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.*; @@ -60,6 +61,8 @@ public class Action20230911062023 extends BaseBean implements Action { writeLog("XMLlength"+ length); serviceXML = length + serviceXML; writeLog("serviceXML==="+ serviceXML); + serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8)); + writeLog("UTF_8_serviceXML==="+ serviceXML); }catch (Exception e){ e.printStackTrace(); writeLog("构建XML异常"+e.getMessage());