解决撤回问题

master
lzy 3 years ago
parent 0ed07f9eb5
commit b335b041a3

@ -14,19 +14,17 @@
//,
"directory":["Msg"],
//
"indexFlag":"INHOSP_NO",
"indexFlag":"PatInfo,INHOSP_NO",
//
"serialnum":"IDNO",
"serialnum":"ReportInfo,UPDATE_REPORT_NO",
//
"filetitle":"FILENAME",
"filetitle":"ExamInfo,EXAM_SUBCLASS",
//,&
"downurl":"PDF_PATH",
"downurl":"ReportInfo,REPORT_URL",
//id
"assortid":"Wiw213woq412awqe41",
"assortid":"63E20FC9AAB74C5FB6446083EBA5607D",
//id
"collectorid":"22",
//id
"assortidParamKey":"DOCUMENT_TOPIC",
"collectorid":"12",
//( 1:2)
"filesource":1,
//(1:2ftp3)
@ -34,36 +32,25 @@
//
"uploadConnector":"http://192.9.100.171:9291/api/downplatform/report",
//doubleBasic
"basicDirectory":[""],
"basicDirectory":["Msg","ReportInfo"],
//
"doubleBasic":["ITEM"],
"doubleBasic":["TestItemInfo","BioTestInfo"],
//--------------/---------------
/// 01
"isJudge":"0",
"isJudge":"1",
//
"judgeDirectory":[""],
"judgeDirectory":["Msg","ReportInfo"],
//,0-1-2-
"judgeIndex":"",
"judgeIndex":"REPORT_STATUS_FLAG",
//--------------------
//,
"repealDirectory":[""],
"repealDirectory":["Msg","ReportInfo"],
//
"repealSerialnum":"UNIQUE_ID",
"repealSerialnum":"REPORT_STATUS_FLAG",
//
"repoalConnector":"http://192.9.100.171:9291/api/down/cancel",
//--------------------
"zyUrl":"http://192.9.100.32:9022/ktin/api/webservice/ChasWebService?wsdl",
// "zyUrl":"http://localhost:9000/services/api?wsdl",
"zyMethod":"ChasMessageServer",
// "zyMethod":"getPdfId",
"zyNamespance":"http://webservice.http.plugins.api.his.karrytech.com/",
// "zyNamespance":"http://server.webservice.example.com",
"zyDirectory":["PDF_DETAIL_INFO"],
"pdfUrl":"http://192.9.100.32:9022/ktin/api/flow/flow-mra-getpdffile?PDF_ID=",
"zysj":"2022-01-28"
"repoalConnector":"http://192.9.100.171:9291/api/down/cancel"
}

@ -1,223 +1,223 @@
package com.docus.bgts.config;
import com.docus.bgts.facade.IAfCollectTaskService;
import com.docus.bgts.facade.IMrReportErrorService;
import com.docus.bgts.utils.FileUtils;
import com.docus.bgts.utils.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.axis.client.Call;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.ByteArrayOutputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import java.io.PrintStream;
import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@Component
public class MyScheduling {
public static Date oneDate;
public static String namespance = "";
private static String methodName = "";
private static String url;
private static String pdfUrl;
static {
url = String.valueOf(FileUtils.getJsonByName("zyUrl"));
methodName = String.valueOf(FileUtils.getJsonByName("zyMethod"));
pdfUrl = String.valueOf(FileUtils.getJsonByName("pdfUrl"));
namespance = String.valueOf(FileUtils.getJsonByName("zyNamespance"));
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
try {
oneDate = fmt.parse(String.valueOf(FileUtils.getJsonByName("zysj")));
} catch (ParseException e) {
e.printStackTrace();
}
}
@Autowired
private IMrReportErrorService mrReportErrorService;
@Autowired
private IAfCollectTaskService afCollectTaskService;
@Value("${beat.url}")
private String beatUrl;
private final Logger logger = LoggerFactory.getLogger(getClass());
//10分钟执行一次
@Scheduled(fixedRate = 1000 * 60 * 5)
public void beat() {
logger.info("------------心跳开始---------------");
Map<String, String> params = new HashMap<>();
params.put("code", String.valueOf(FileUtils.getJsonByName("collectorid")));
try {
HttpUtils.get(beatUrl, params);
} catch (URISyntaxException e) {
e.printStackTrace();
logger.info("心跳推送出错,可能是住院服务没有开启");
} finally {
logger.info("-------------心跳结束---------------");
}
}
//10分钟执行一次
// @Scheduled(fixedRate = 1000 * 60 * 60 * 5)
// public void ruyuan() {
// log.info("----------开始采集------------");
// SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String format = fmt.format(oneDate);
// log.info("-----采集时间:开始时间:"+ format);
// Date twoDate = new Date();
// String format1 = fmt.format(twoDate);
// log.info("-----采集时间:结束时间:"+ format1);
//
// //获取jzh列表
// List<String> jzhs = afCollectTaskService.listJZHByDate(format, format1);
// int size = jzhs.size();
// log.info("-------本次采集数:" + size);
// if(size==0){
// oneDate=twoDate;
// log.info("------------采集结束-----------------");
// return;
//package com.docus.bgts.config;
//
//
//
//import com.docus.bgts.facade.IAfCollectTaskService;
//import com.docus.bgts.facade.IMrReportErrorService;
//import com.docus.bgts.utils.FileUtils;
//import com.docus.bgts.utils.HttpUtils;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.axis.client.Call;
//import org.apache.axis.encoding.XMLType;
//import org.apache.axis.utils.ByteArrayOutputStream;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import javax.xml.namespace.QName;
//import javax.xml.rpc.ParameterMode;
//
//import java.io.PrintStream;
//import java.net.URISyntaxException;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.*;
//
//@Slf4j
//@Component
//public class MyScheduling {
//
// public static Date oneDate;
// public static String namespance = "";
// private static String methodName = "";
// private static String url;
// private static String pdfUrl;
//
// static {
// url = String.valueOf(FileUtils.getJsonByName("zyUrl"));
// methodName = String.valueOf(FileUtils.getJsonByName("zyMethod"));
// pdfUrl = String.valueOf(FileUtils.getJsonByName("pdfUrl"));
// namespance = String.valueOf(FileUtils.getJsonByName("zyNamespance"));
// SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
// try {
// oneDate = fmt.parse(String.valueOf(FileUtils.getJsonByName("zysj")));
// } catch (ParseException e) {
// e.printStackTrace();
// }
// Object[] params;
// List<String> keys = new ArrayList<>();
// keys.add("action");
// keys.add("message");
// XmlUtils xmlUtils;
// List<String> zyDirectory = (List<String>) FileUtils.getJsonByName("zyDirectory");
// String assortid = String.valueOf(FileUtils.getJsonByName("assortid"));
// String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid"));
// String filesource = String.valueOf(FileUtils.getJsonByName("filesource"));
// String filestoragetype = String.valueOf(FileUtils.getJsonByName("filestoragetype"));
// String res;
// Element element;
// Map<String, Object> headMap = new HashMap<>();
// headMap.put("Content-Type", "application/json");
// for (String jzh : jzhs) {
// }
//
// @Autowired
// private IMrReportErrorService mrReportErrorService;
//
// @Autowired
// private IAfCollectTaskService afCollectTaskService;
//
// @Value("${beat.url}")
// private String beatUrl;
//
//
// private final Logger logger = LoggerFactory.getLogger(getClass());
//
// //10分钟执行一次
// @Scheduled(fixedRate = 1000 * 60 * 5)
// public void beat() {
// logger.info("------------心跳开始---------------");
// Map<String, String> params = new HashMap<>();
// params.put("code", String.valueOf(FileUtils.getJsonByName("collectorid")));
// try {
// HttpUtils.get(beatUrl, params);
// } catch (URISyntaxException e) {
// e.printStackTrace();
// logger.info("心跳推送出错,可能是住院服务没有开启");
// } finally {
// logger.info("-------------心跳结束---------------");
// }
// }
//
// //10分钟执行一次
//// @Scheduled(fixedRate = 1000 * 60 * 60 * 5)
//// public void ruyuan() {
//// log.info("----------开始采集------------");
//// SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//// String format = fmt.format(oneDate);
//// log.info("-----采集时间:开始时间:"+ format);
//// Date twoDate = new Date();
//// String format1 = fmt.format(twoDate);
//// log.info("-----采集时间:结束时间:"+ format1);
////
//// //获取jzh列表
//// List<String> jzhs = afCollectTaskService.listJZHByDate(format, format1);
//// int size = jzhs.size();
//// log.info("-------本次采集数:" + size);
//// if(size==0){
//// oneDate=twoDate;
//// log.info("------------采集结束-----------------");
//// return;
//// }
//// Object[] params;
//// List<String> keys = new ArrayList<>();
//// keys.add("action");
//// keys.add("message");
//// XmlUtils xmlUtils;
//// List<String> zyDirectory = (List<String>) FileUtils.getJsonByName("zyDirectory");
//// String assortid = String.valueOf(FileUtils.getJsonByName("assortid"));
//// String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid"));
//// String filesource = String.valueOf(FileUtils.getJsonByName("filesource"));
//// String filestoragetype = String.valueOf(FileUtils.getJsonByName("filestoragetype"));
//// String res;
//// Element element;
//// Map<String, Object> headMap = new HashMap<>();
//// headMap.put("Content-Type", "application/json");
//// for (String jzh : jzhs) {
//// try {
//// params = new Object[]{"flow-mra-queryencounterpdf", "<Req>\n" +
//// "<Params>\n" +
//// "<ENCT_ID>" + jzh + "</ENCT_ID>\n" +
//// "</Params>\n" +
//// "</Req>"};
//// res = requestFunctionWebService(params, url, methodName, namespance, keys);
//// log.info("返回值:" + res);
//// xmlUtils = new XmlUtils(new ByteArrayInputStream(res.getBytes("UTF-8")));
//// element = xmlUtils.getElement(zyDirectory);
//// List<Element> items = element.elements("ITEM");
//// if (items == null || items.size() <= 0) {
//// throw new RuntimeException("查询到的信息不存在");
//// }
//// ReportDownDto reportDownDto = new ReportDownDto();
//// reportDownDto.setCollectorid(collectorid);
//// reportDownDto.setAssortid(assortid);
////
//// ReportDownPatientDto reportDownPatientDto = new ReportDownPatientDto();
//// reportDownPatientDto.setJzh(jzh);
//// reportDownDto.setPatient(reportDownPatientDto);
//// List<ReportDownScanFileDto> scanFileDtos = new ArrayList<>();
//// ReportDownScanFileDto reportDownScanFileDto;
////
//// for (Element item : items) {
//// Element pdfId = item.element("PDF_ID");
//// if (pdfId != null && StringUtils.isNotBlank(pdfId.getText())) {
//// //采集流水号
//// String pdfIdText = pdfId.getText();
//// //文件标题
//// String fileTitle = item.element("MED_REC_CAT_NAME").getText();
//// //url地址
//// String pdf = pdfUrl + pdfIdText;
////
//// reportDownScanFileDto = new ReportDownScanFileDto();
//// reportDownScanFileDto.setFiletitle(fileTitle);
//// reportDownScanFileDto.setFilesource(Integer.parseInt(filesource));
//// reportDownScanFileDto.setFilestoragetype(Integer.parseInt(filestoragetype));
//// reportDownScanFileDto.setSerialnum(pdfIdText);
//// reportDownScanFileDto.setDownurl(pdf);
//// scanFileDtos.add(reportDownScanFileDto);
//// } else {
//// log.info("记账号:", jzh + "不存在pdfId");
//// size--;
//// throw new RuntimeException("记账号:" + jzh + "不存在pdfId");
//// }
//// }
//// log.info("文件信息:" + scanFileDtos);
//// reportDownDto.setScanfiles(scanFileDtos);
//// afCollectTaskService.insert(reportDownDto);
//// String post = "";
//// logger.info("--------执行上传功能----------");
//// Map paramMap = JSON.parseObject(JSON.toJSONString(reportDownDto), Map.class);
//// logger.info("上传参数:" + paramMap);
//// post = HttpUtils.post(String.valueOf(FileUtils.getJsonByName(Codes.UPLOAD.getMessage())), headMap, paramMap);
////// String post = HttpUtils.post(String.valueOf(FileUtils.getJsonByName(Codes.UPLOAD.getMessage())), map, headMap);
//// if (StringUtils.isBlank(post)) {
//// logger.info("--------上传时出现错误,可能是文件服务没有启动----------");
//// throw new RuntimeException("上传时出现错误,可能是文件服务没有启动");
//// }
//// Map resMap = JSON.parseObject(post, Map.class);
//// if (String.valueOf(resMap.get("code")).equals("500")) {
//// throw new RuntimeException(String.valueOf(resMap.get("msg")));
//// } else {
//// logger.info("----------执行成功,当前最后更新日期" + twoDate + "-----------");
//// }
////
//// } catch (Exception e) {
//// log.info(e.getMessage());
//// e.printStackTrace();
//// size--;
//// mrReportErrorService.insert(jzh);
//// }
//// }
//// log.info("-------本次成功采集数:" + size);
////// oneDate = twoDate;
//// }
//
// private String requestFunctionWebService(Object[] params,
// String url,
// String methodName,
// String namespance,
// List<String> parameterNames) {
// String result = "";
// if (null != params) {
// try {
// params = new Object[]{"flow-mra-queryencounterpdf", "<Req>\n" +
// "<Params>\n" +
// "<ENCT_ID>" + jzh + "</ENCT_ID>\n" +
// "</Params>\n" +
// "</Req>"};
// res = requestFunctionWebService(params, url, methodName, namespance, keys);
// log.info("返回值:" + res);
// xmlUtils = new XmlUtils(new ByteArrayInputStream(res.getBytes("UTF-8")));
// element = xmlUtils.getElement(zyDirectory);
// List<Element> items = element.elements("ITEM");
// if (items == null || items.size() <= 0) {
// throw new RuntimeException("查询到的信息不存在");
// }
// ReportDownDto reportDownDto = new ReportDownDto();
// reportDownDto.setCollectorid(collectorid);
// reportDownDto.setAssortid(assortid);
//
// ReportDownPatientDto reportDownPatientDto = new ReportDownPatientDto();
// reportDownPatientDto.setJzh(jzh);
// reportDownDto.setPatient(reportDownPatientDto);
// List<ReportDownScanFileDto> scanFileDtos = new ArrayList<>();
// ReportDownScanFileDto reportDownScanFileDto;
//
// for (Element item : items) {
// Element pdfId = item.element("PDF_ID");
// if (pdfId != null && StringUtils.isNotBlank(pdfId.getText())) {
// //采集流水号
// String pdfIdText = pdfId.getText();
// //文件标题
// String fileTitle = item.element("MED_REC_CAT_NAME").getText();
// //url地址
// String pdf = pdfUrl + pdfIdText;
//
// reportDownScanFileDto = new ReportDownScanFileDto();
// reportDownScanFileDto.setFiletitle(fileTitle);
// reportDownScanFileDto.setFilesource(Integer.parseInt(filesource));
// reportDownScanFileDto.setFilestoragetype(Integer.parseInt(filestoragetype));
// reportDownScanFileDto.setSerialnum(pdfIdText);
// reportDownScanFileDto.setDownurl(pdf);
// scanFileDtos.add(reportDownScanFileDto);
// } else {
// log.info("记账号:", jzh + "不存在pdfId");
// size--;
// throw new RuntimeException("记账号:" + jzh + "不存在pdfId");
// }
// }
// log.info("文件信息:" + scanFileDtos);
// reportDownDto.setScanfiles(scanFileDtos);
// afCollectTaskService.insert(reportDownDto);
// String post = "";
// logger.info("--------执行上传功能----------");
// Map paramMap = JSON.parseObject(JSON.toJSONString(reportDownDto), Map.class);
// logger.info("上传参数:" + paramMap);
// post = HttpUtils.post(String.valueOf(FileUtils.getJsonByName(Codes.UPLOAD.getMessage())), headMap, paramMap);
//// String post = HttpUtils.post(String.valueOf(FileUtils.getJsonByName(Codes.UPLOAD.getMessage())), map, headMap);
// if (StringUtils.isBlank(post)) {
// logger.info("--------上传时出现错误,可能是文件服务没有启动----------");
// throw new RuntimeException("上传时出现错误,可能是文件服务没有启动");
// org.apache.axis.client.Service service = new org.apache.axis.client.Service();
// Call call = (Call) service.createCall();
// call.setTargetEndpointAddress(url);
// call.setOperationName(new QName(namespance, methodName));
// for (int i = 0; i < parameterNames.size(); i++) {
// call.addParameter(parameterNames.get(i), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数
// }
// Map resMap = JSON.parseObject(post, Map.class);
// if (String.valueOf(resMap.get("code")).equals("500")) {
// throw new RuntimeException(String.valueOf(resMap.get("msg")));
// } else {
// logger.info("----------执行成功,当前最后更新日期" + twoDate + "-----------");
// }
//
// call.setReturnType(XMLType.XSD_STRING);//设置返回类型
// result = (String) call.invoke(params);
// } catch (Exception e) {
// log.info(e.getMessage());
// e.printStackTrace();
// size--;
// mrReportErrorService.insert(jzh);
// //方法名
// ByteArrayOutputStream baos = new ByteArrayOutputStream();
// e.printStackTrace(new PrintStream(baos));
// String exception = baos.toString();
// log.error("requestFunctionWebService请求接口异常" + exception);
// }
// }
// log.info("-------本次成功采集数:" + size);
//// oneDate = twoDate;
// return result;
// }
private String requestFunctionWebService(Object[] params,
String url,
String methodName,
String namespance,
List<String> parameterNames) {
String result = "";
if (null != params) {
try {
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(new QName(namespance, methodName));
for (int i = 0; i < parameterNames.size(); i++) {
call.addParameter(parameterNames.get(i), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数
}
call.setReturnType(XMLType.XSD_STRING);//设置返回类型
result = (String) call.invoke(params);
} catch (Exception e) {
e.printStackTrace();
//方法名
ByteArrayOutputStream baos = new ByteArrayOutputStream();
e.printStackTrace(new PrintStream(baos));
String exception = baos.toString();
log.error("requestFunctionWebService请求接口异常" + exception);
}
}
return result;
}
}
//
//}

@ -88,14 +88,16 @@ public class TBasicWebService implements ITBasicWebService {
CanlcelDto canlcelDto = new CanlcelDto();
String serialnum = String.valueOf(FileUtils.getJsonByName("serialnum"));
Element serialnumElement = elementRoot.element(serialnum);
if (serialnumElement != null || StringUtils.isBlank(serialnumElement.getText())) {
throw new RuntimeException("撤回操作时:" + serialnum + "标签不能为空!");
}
canlcelDto.setSerialnum(serialnumElement.getText());
// Element serialnumElement = elementRoot.element(serialnum);
String serialnumElement = getElementText(elementRoot, serialnum.split(","));;
// if (serialnumElement != null || StringUtils.isBlank(serialnumElement.getText())) {
// throw new RuntimeException("撤回操作时:" + serialnum + "标签不能为空!");
// }
canlcelDto.setSerialnum(serialnumElement);
//调用上传服务撤销功能
afCollectTaskService.invokeRepoalFile(canlcelDto);
logger.info("----------当前操作完成--------------");
return ResultUtils.success().asXML();
}
}

@ -137,6 +137,7 @@ public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, A
String post = HttpUtils.post(String.valueOf(FileUtils.getJsonByName(Codes.REPOAL.getMessage())), headMap, JSON.parseObject(JSON.toJSONString(canlcelDto), Map.class));
Map resMap = JSON.parseObject(post, Map.class);
if (String.valueOf(resMap.get("code")).equals("500")) {
log.error(String.valueOf(resMap.get("msg")));
throw new RuntimeException(String.valueOf(resMap.get("msg")));
}
}

@ -1,5 +1,5 @@
server:
port: 9205
port: 9403
# http
mybatis-plus:
@ -15,8 +15,8 @@ beat:
url: http://localhost:9399/beat
system:
code: "empcllect"
prop: 9405
code: "204_P_WS_BLBGTS"
prop: 9203
# web service

Loading…
Cancel
Save