diff --git a/dataConfig/RequestParams.xml b/dataConfig/RequestParams.xml new file mode 100644 index 0000000..20aaaed --- /dev/null +++ b/dataConfig/RequestParams.xml @@ -0,0 +1,45 @@ + + + 1 + WZHBAGL + WZHBAGL_1127 + BS07002 + BS07002S51001 + GZ + + + BS07002 + BS07002S51001 + S51 + S00 + 2021-12-23 09:34:31 + + + 0 + 500 + + + + + + + + + + + + + + 1123 + + 20211213 + 20211222 + + + + + + + + + diff --git a/dataConfig/homeQualitySet.json b/dataConfig/homeQualitySet.json index 798bef0..362224a 100644 --- a/dataConfig/homeQualitySet.json +++ b/dataConfig/homeQualitySet.json @@ -47,5 +47,4 @@ "tableName":"V_DOCUMENT_PDF", //oracle时间配置 "collectTimeName":"ARCHIVE_DATE_TIME" - } \ No newline at end of file diff --git a/src/main/java/com/docus/bgts/controller/BgtsController.java b/src/main/java/com/docus/bgts/controller/BgtsController.java index 9c56598..c7aaf04 100644 --- a/src/main/java/com/docus/bgts/controller/BgtsController.java +++ b/src/main/java/com/docus/bgts/controller/BgtsController.java @@ -4,6 +4,8 @@ package com.docus.bgts.controller; import com.docus.bgts.entity.CommonResult; import com.docus.bgts.facade.IAfCollectTaskService; import com.docus.bgts.facade.IBgtsService; +import com.docus.bgts.utils.FileUtils; +import com.docus.bgts.utils.XmlUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -11,11 +13,15 @@ import io.swagger.annotations.ApiOperation; import org.apache.ibatis.annotations.Param; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.dom4j.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.List; + @Api(value = "采集接口", tags = "采集接口") @RestController @@ -29,10 +35,6 @@ public class BgtsController { @Autowired IAfCollectTaskService afCollectTaskService; - @GetMapping("/test1") - public String test1(){ - return afCollectTaskService.getA(); - } @ApiOperation("采集接口") @ApiImplicitParams({ @@ -50,7 +52,7 @@ public class BgtsController { e.printStackTrace(); try { afCollectTaskService.updateInterfaceCollect(collectSubId, 0); - }catch (Exception e1){ + }catch (Exception e1) { return CommonResult.failed(e1.getMessage()); } return CommonResult.failed(e.getMessage()); diff --git a/src/main/java/com/docus/bgts/enums/Codes.java b/src/main/java/com/docus/bgts/enums/Codes.java index 55dce80..4e7bcb7 100644 --- a/src/main/java/com/docus/bgts/enums/Codes.java +++ b/src/main/java/com/docus/bgts/enums/Codes.java @@ -28,6 +28,8 @@ public enum Codes { UPLOAD("0","uploadConnector"), SMCODE ("5","手麻代码"), ZZCODE ("15","重症代码"), + //xml地址 + REQUEST_XML("0","\\dataConfig\\RequestParams.xml"), //患者主索引号 EMP_ID("0","indexFlag"), //错误日志编号 diff --git a/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java b/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java index 50b8aa8..2ee8f97 100644 --- a/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java +++ b/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java @@ -22,6 +22,4 @@ public interface IAfCollectTaskService extends IService { void insert(ReportDownDto reportDownDto); void updateInterfaceCollect(String collectSubId, int state); - - String getA(); } diff --git a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java index f1ca7e0..b60547f 100644 --- a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java @@ -112,12 +112,5 @@ public class AfCollectTaskServiceImpl extends ServiceImpl())); - List a = testMapper.getA(); - return Arrays.asList(a).toString(); - } } diff --git a/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java b/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java index 808d965..2ea9937 100644 --- a/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java @@ -149,7 +149,7 @@ public class BgtsServiceImpl implements IBgtsService { reportDownScanFileDto.setDownurl(String.valueOf(map.get(downurl))); reportDownScanFileDto.setFilestoragetype(filestoragetype); reportDownScanFileDto.setFilesource(filesource); - reportDownScanFileDto.setFiletitle(map.get(filetitle)==null?"重症"+(new Date().getTime()):String.valueOf(map.get(filetitle))); + reportDownScanFileDto.setFiletitle(map.get(filetitle)==null?"重症"+(System.currentTimeMillis()):String.valueOf(map.get(filetitle))); reportDownScanFileDto.setSerialnum(StringUtils.isNotBlank(String.valueOf(map.get(serialnum)))?String.valueOf(map.get(serialnum)):String.valueOf(idWorker.nextId())); reportDownScanFileDtos.add(reportDownScanFileDto); reportDownDto.setScanfiles(reportDownScanFileDtos); @@ -217,7 +217,6 @@ public class BgtsServiceImpl implements IBgtsService { * @param empId */ private void collectExams(List exams, String empId,ReportDownDto reportDownDto) throws Exception { -// reportDownDto.setTaskid(id); //调用上传接口 Map headMap = new HashMap<>(); headMap.put("Content-Type", "application/json"); @@ -269,30 +268,12 @@ public class BgtsServiceImpl implements IBgtsService { ReportDownScanFileDto reportDownScanFileDto = new ReportDownScanFileDto(); reportDownScanFileDto.setSerialnum(exam[0]); reportDownScanFileDto.setFiletitle(exam[1]); - // 1、创建document对象 - Document document = DocumentHelper.createDocument(); -// Element request = document.addElement("Request"); -// Element msg = request.addElement("Msg"); -// msg.addElement("EXAM_NO").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 esbEntry = document.addElement("ESBEntry"); - Element request = HttpUtils.reqElement(esbEntry, 0); - request.addElement("EXAM_NO").setText(exam[0]); - String resXml = invokeWs(esbEntry.asXML()); + XmlUtils reqXmlUtils=new XmlUtils(FileUtils.getXmlPath()); + Element esbEntry = reqXmlUtils.getMsgElement(); + esbEntry.element("EXAM_NO").setText(exam[0]); + String resXml = invokeWs(reqXmlUtils.getDocument().asXML()); //解析XML XmlUtils xmlUtils = new XmlUtils(new ByteArrayInputStream(resXml.getBytes("UTF-8"))); -// List dis = new ArrayList<>(); -// dis.add("MsgInfo"); -// dis.add("Msg"); -// dis.add("ReportInfo"); List dis = (List) FileUtils.getJsonByName("bgtsDetailRespon"); //数据所在节点 Element element = xmlUtils.getElement(dis); @@ -308,25 +289,12 @@ public class BgtsServiceImpl implements IBgtsService { */ private List getExamNo(String empId) throws Exception { List exams = new ArrayList<>(); - // 1、创建document对象 - Document document = DocumentHelper.createDocument(); -// 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)); -// } -// } - Element esbEntry = document.addElement("ESBEntry"); - Element reqElement = HttpUtils.reqElement(esbEntry, 1); - reqElement.addElement("EMPI_ID").setText(empId); + + XmlUtils reqXmlUtils=new XmlUtils(FileUtils.getXmlPath()); + Element reqElement = reqXmlUtils.getMsgElement(); + reqElement.element("INHOSP_NO").setText(empId); logger.info("-------根据患者主索引号查询多个报告单号,地址:" + wsUrl + ",方法:" + wsLocalMethod + "---------"); - String xml = esbEntry.asXML(); + String xml = reqXmlUtils.getDocument().asXML(); logger.info("---------------------------"); logger.info(xml); logger.info("----------------------------"); @@ -336,9 +304,6 @@ public class BgtsServiceImpl implements IBgtsService { logger.info("-----------------------------"); //解析XML XmlUtils xmlUtils = new XmlUtils(new ByteArrayInputStream(resXml.getBytes("UTF-8"))); -// List dis = new ArrayList<>(); -// dis.add("MsgInfo"); -// dis.add("Msg"); List dis = (List) FileUtils.getJsonByName("bgtsRespon"); //数据所在节点 Element element = xmlUtils.getElement(dis); @@ -369,20 +334,6 @@ public class BgtsServiceImpl implements IBgtsService { * @throws Exception */ public String invokeWs(String xml) throws Exception { -// Object[] object = new Object[]{xml};//请求参数 -// org.apache.axis.client.Service service = new org.apache.axis.client.Service(); -// Call call = (Call) service.createCall(); -// call.setTargetEndpointAddress(wsUrl);// 远程调用路径 -// // 调用的命名空间和方法名 -//// call.setOperationName(new QName(wsNamespaceUrl, wsLocalMethod)); -// call.setOperationName(wsLocalMethod); -// call.setUseSOAPAction(true); -//// call.setSOAPActionURI(wsNamespaceUrl + "pushSurveyReport"); -// call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN); -// call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String -// call.setTimeout(100000);//超时 -// String result = (String) call.invoke(object);// 远程调用 -// System.out.println(result); logger.info("-----\n客户端调用服务端:" + wsUrl + "方法:" + wsLocalMethod + "\n------------"); JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance(); Client client = dcf.createClient(wsUrl); diff --git a/src/main/java/com/docus/bgts/utils/FileUtils.java b/src/main/java/com/docus/bgts/utils/FileUtils.java index 7afb6b5..c04f5a3 100644 --- a/src/main/java/com/docus/bgts/utils/FileUtils.java +++ b/src/main/java/com/docus/bgts/utils/FileUtils.java @@ -24,12 +24,24 @@ public class FileUtils { return currentpath; } + /** + * 获取xml文件的地址 + * + * @return + */ + public static String getXmlPath() { + //获取目录结构 + String path = FileUtils.currentPath(); + return path + Codes.REQUEST_XML.getMessage(); + } + /** * 获取静态文件中的内容 + * * @param name * @return */ - public static Object getJsonByName(String name){ + public static Object getJsonByName(String name) { //获取目录结构 String path = FileUtils.currentPath(); //解析json映射文件 @@ -39,5 +51,4 @@ public class FileUtils { } - } diff --git a/src/main/java/com/docus/bgts/utils/XmlUtils.java b/src/main/java/com/docus/bgts/utils/XmlUtils.java index 195308c..52080ec 100644 --- a/src/main/java/com/docus/bgts/utils/XmlUtils.java +++ b/src/main/java/com/docus/bgts/utils/XmlUtils.java @@ -18,6 +18,10 @@ public class XmlUtils { private SAXReader saxReader; private Document document; + public Element getDocument(){ + return document.getRootElement(); + } + public XmlUtils(String path) { //获取解析器 saxReader = new SAXReader(); @@ -30,6 +34,7 @@ public class XmlUtils { } } + public XmlUtils(InputStream path) { //获取解析器 saxReader = new SAXReader(); @@ -61,6 +66,21 @@ public class XmlUtils { return current.element(name)==null?"":current.element(name).getText(); } + /** + * 返回检查报告及明细入参所在节点位置 + * @return + */ + public Element getMsgElement(){ + List argsArr = new ArrayList<>(); + argsArr.add("MsgInfo"); + argsArr.add("query_ws"); + argsArr.add("content"); + argsArr.add("Request"); + argsArr.add("Msg"); + Element element = this.getElement(argsArr); + return element; + } + /** * 根据路径动态获取节点 * @return