diff --git a/dataConfig/homeQualitySet.json b/dataConfig/homeQualitySet.json index 85331bd..718972d 100644 --- a/dataConfig/homeQualitySet.json +++ b/dataConfig/homeQualitySet.json @@ -1,26 +1,26 @@ { //唯一键目录结构数组,最高层为前面,最后一层为数据采集层,根节点不填 - "directory":["Msg","PatInfo"], + "directory":["Msg","ReportInfo"], //患者主索引号 "indexFlag":"jzh", //采集流水号 - "serialnum":"PATHOLOGY_ONLY_NO", + "serialnum":"SAMPLE_NO", //文件标题 - "filetitle":"EXAM_ITEM_NAME", + "filetitle":"TEST_ITEM_NAME", //下载地址 "downurl":"IMAGE_URL", //分类id - "assortid":"批复文件", + "assortid":"63E20FC9AAB74C5FB6446083EBA5607D", //系统id - "collectorid":"14", + "collectorid":"3", //采集类型(文件来源 1:采集器;2:扫描生产软件) - "filesource":0, + "filesource":1, //下载类型(1:服务器本地;2:ftp服务器;3:共享文件夹) - "filestoragetype":0, + "filestoragetype":1, //上传接口 "uploadConnector":"http://192.168.1.107:9291/api/downplatform/report", //基本数据存放处,根节点不填,最后一层为基本信息存放标签与doubleBasic配合 - "basicDirectory":["Msg","PatInfo"], + "basicDirectory":["Msg","ReportInfo"], //可能存在存储基本数据不同情况的标签 "doubleBasic":["TestItemInfo","BioTestInfo"], //检查报告列表入参路径 diff --git a/src/main/java/com/docus/bgts/enums/Codes.java b/src/main/java/com/docus/bgts/enums/Codes.java index a31eb30..9774202 100644 --- a/src/main/java/com/docus/bgts/enums/Codes.java +++ b/src/main/java/com/docus/bgts/enums/Codes.java @@ -33,7 +33,7 @@ public enum Codes { //接收三级节点 // PAT_INFO("202","PatInfo"), //静态文件根元素名 - SELECT_COLUMNS("10000","selectColumns") + SELECT_COLUMNS("10000","selectColumns"), ; //代码 private String code; diff --git a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java index 5f5d39d..95c97d6 100644 --- a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java @@ -67,6 +67,9 @@ public class AfCollectTaskServiceImpl extends ServiceImpl bgtsDetailParam = (List) FileUtils.getJsonByName("bgtsDetailParam"); - Element request = null; - for (int i = 0; i < bgtsDetailParam.size(); i++) { - if (i == 0) { - request = document.addElement(bgtsDetailParam.get(i)); - } else { - request = request.addElement(bgtsDetailParam.get(i)); - } - } - request.setText(exam[0]); +// List bgtsDetailParam = (List) FileUtils.getJsonByName("bgtsDetailParam"); +// Element request = null; +// for (int i = 0; i < bgtsDetailParam.size(); i++) { +// if (i == 0) { +// request = document.addElement(bgtsDetailParam.get(i)); +// } else { +// request = request.addElement(bgtsDetailParam.get(i)); +// } +// } + Element request = HttpUtils.reqElement(document,0); + request.addElement("EXAM_NO").setText(exam[0]); String resXml = invokeWs(document.asXML()); //解析XML XmlUtils xmlUtils = new XmlUtils(new ByteArrayInputStream(resXml.getBytes("UTF-8"))); @@ -169,16 +169,17 @@ public class BgtsServiceImpl implements IBgtsService { // Element request = document.addElement("Request"); // Element msg = request.addElement("Msg"); // msg.addElement("EMPI_ID").setText(empId); - List bgtsParam = (List) FileUtils.getJsonByName("bgtsParam"); - Element request = null; - for (int i = 0; i < bgtsParam.size(); i++) { - if (i == 0) { - request = document.addElement(bgtsParam.get(i)); - } else { - request = request.addElement(bgtsParam.get(i)); - } - } - request.setText(empId); +// List bgtsParam = (List) FileUtils.getJsonByName("bgtsParam"); +// Element request = null; +// for (int i = 0; i < bgtsParam.size(); i++) { +// if (i == 0) { +// request = document.addElement(bgtsParam.get(i)); +// } else { +// request = request.addElement(bgtsParam.get(i)); +// } +// } + Element reqElement = HttpUtils.reqElement(document,1); + reqElement.addElement("EMPI_ID").setText(empId); logger.info("-------根据患者主索引号查询多个报告单号,地址:"+wsUrl+",方法:"+wsLocalMethod+"---------"); String xml = document.asXML(); logger.info("---------------------------"); @@ -236,12 +237,11 @@ public class BgtsServiceImpl implements IBgtsService { // call.setTimeout(100000);//超时 // String result = (String) call.invoke(object);// 远程调用 // System.out.println(result); - logger.info("-----\n客户端调用服务端:",wsUrl,"方法:",wsLocalMethod,"\n------------"); + logger.info("-----\n客户端调用服务端:"+wsUrl+"方法:"+wsLocalMethod+"\n------------"); JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance(); Client client = dcf.createClient(wsUrl); Object[] objects = client.invoke(wsLocalMethod,xml); String str = objects[0].toString(); - System.out.println(str); logger.info("----------结果---------"); logger.info(str); return str; diff --git a/src/main/java/com/docus/bgts/utils/HttpUtils.java b/src/main/java/com/docus/bgts/utils/HttpUtils.java index 470ebbd..7aa211d 100644 --- a/src/main/java/com/docus/bgts/utils/HttpUtils.java +++ b/src/main/java/com/docus/bgts/utils/HttpUtils.java @@ -14,6 +14,8 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; +import org.dom4j.Document; +import org.dom4j.Element; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -208,4 +210,66 @@ public class HttpUtils { return EMPTY_STR; } + + /** + * 第三方入参xml + * @return + */ + public static Element reqElement(Document document,Integer code){ + //获取根节点 + Element esbEntry = document.addElement("ESBEntry"); + + Element accessControl = esbEntry.addElement("AccessControl"); + accessControl.addElement("SysFlag").setText("1"); + accessControl.addElement("UserName").setText("WZHBAGL"); + accessControl.addElement("Password").setText("WZHBAGL_1127"); + accessControl.addElement("Fid").setText("BS04102"); + accessControl.addElement("OrderNo").setText("BS04102S51001"); + accessControl.addElement("SUBOR_HOSPITAL_DISTRICT").setText("GZ"); + + Element messageHeader = esbEntry.addElement("MessageHeader"); + messageHeader.addElement("Fid").setText("BS04102"); + messageHeader.addElement("OrderNo").setText("BS04102S51001"); + messageHeader.addElement("SourceSysCode").setText("S51"); + messageHeader.addElement("TargetSysCode").setText("S00"); + messageHeader.addElement("MsgDate").setText("2021-10-27 17:05:19"); + + Element requestOption = esbEntry.addElement("RequestOption"); + requestOption.addElement("triggerData").setText("0"); + requestOption.addElement("dataAmount").setText("500"); + /* + * 主要参数部分开始 + */ + Element msgInfo = esbEntry.addElement("MsgInfo"); + msgInfo.addAttribute("flag","1"); + msgInfo.addElement("Msg"); + + Element distinct = msgInfo.addElement("distinct"); + distinct.addAttribute("value","0"); + + Element query = msgInfo.addElement("query"); + query.addAttribute("item","WS_INPUT"); + query.addAttribute("compy"," = "); + query.addAttribute("value"," 1 "); + query.addAttribute("splice","AND"); + + Element queryWs = msgInfo.addElement("query_ws"); + if(code==1){ + queryWs.addAttribute("action","queueReportList"); + }else { + queryWs.addAttribute("action","queueReportInfo"); + } + + Element res = queryWs.addElement("content").addElement("Request").addElement("Msg"); + + /* + * 主要参数部分结束 + */ + Element groupInfo = esbEntry.addElement("GroupInfo"); + groupInfo.addAttribute("flag","0"); + Element as = groupInfo.addElement("AS"); + as.addAttribute("ID",""); + as.addAttribute("linkField",""); + return res; + } } diff --git a/src/main/java/com/docus/bgts/utils/XmlUtils.java b/src/main/java/com/docus/bgts/utils/XmlUtils.java index c4fd5e0..195308c 100644 --- a/src/main/java/com/docus/bgts/utils/XmlUtils.java +++ b/src/main/java/com/docus/bgts/utils/XmlUtils.java @@ -136,4 +136,6 @@ public class XmlUtils { return element.getText(); } + + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1c5cac8..d07cb7b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 9302 + port: 9303 # http mybatis-plus: