|
|
|
@ -85,117 +85,117 @@ public class MyScheduling {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//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;
|
|
|
|
|
}
|
|
|
|
|
// @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,
|
|
|
|
|