|
|
|
@ -2,6 +2,7 @@ package com.docus.bgts.handler;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.docus.bgts.entity.CanlcelDto;
|
|
|
|
|
import com.docus.bgts.entity.ReportDownDto;
|
|
|
|
|
import com.docus.bgts.entity.ReportDownPatientDto;
|
|
|
|
|
import com.docus.bgts.entity.ReportDownScanFileDto;
|
|
|
|
@ -165,7 +166,51 @@ public class TBasicWebService implements ITBasicWebService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String EmrDocumentArchiveCancel(String xml) {
|
|
|
|
|
return ResultUtils.fail();
|
|
|
|
|
try {
|
|
|
|
|
logger.info("--------------撤销接收到xml--------------");
|
|
|
|
|
logger.info(xml);
|
|
|
|
|
//解析xml,并提取CanlcelDto对象
|
|
|
|
|
CanlcelDto canlcelDto = getCanlCelDtoByXml(xml);
|
|
|
|
|
//调用上传服务撤销功能
|
|
|
|
|
afCollectTaskService.invokeRepoalFile(canlcelDto);
|
|
|
|
|
logger.info("--------------撤销操作完成-------------");
|
|
|
|
|
return ResultUtils.success().asXML();
|
|
|
|
|
} catch (RuntimeException e) {
|
|
|
|
|
logger.info("发送错误:" + e.getMessage());
|
|
|
|
|
mrReportErrorService.insert(xml);
|
|
|
|
|
return ResultUtils.fail(e.getMessage());
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.info("发送错误:" + e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
mrReportErrorService.insert(xml);
|
|
|
|
|
return ResultUtils.fail(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 解析xml,返回CanlcelDto对象
|
|
|
|
|
*
|
|
|
|
|
* @param xml
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private CanlcelDto getCanlCelDtoByXml(String xml) {
|
|
|
|
|
XmlUtils xmlUtils = new XmlUtils(xml);
|
|
|
|
|
//采集流水号所在位置目录
|
|
|
|
|
List<String> repealDirectory = (List<String>) FileUtils.getJsonByName("repealDirectory");
|
|
|
|
|
Element element = xmlUtils.getElement(repealDirectory);
|
|
|
|
|
String repealSerialnum = String.valueOf(FileUtils.getJsonByName("repealSerialnum"));
|
|
|
|
|
Element repealSerialnumElement = element.element(repealSerialnum);
|
|
|
|
|
CanlcelDto canlcelDto = new CanlcelDto();
|
|
|
|
|
|
|
|
|
|
if (null == repealSerialnumElement || StringUtils.isBlank(repealSerialnumElement.getText())) {
|
|
|
|
|
throw new RuntimeException(repealSerialnum + "标签必须有值");
|
|
|
|
|
} else {
|
|
|
|
|
String serialnum = repealSerialnumElement.getText();
|
|
|
|
|
logger.info("当前流水号为:" + serialnum);
|
|
|
|
|
canlcelDto.setSerialnum(serialnum);
|
|
|
|
|
}
|
|
|
|
|
return canlcelDto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|