撤销功能

master
lzy 4 years ago
parent 9c3d540252
commit 4dfaed1b9b

@ -19,9 +19,18 @@
"filestoragetype":1,
//
"uploadConnector":"http://192.168.1.107:9291/api/downplatform/report",
// //doubleBasic
//doubleBasic
"basicDirectory":["DOCUMENT"],
//
"doubleBasic":["TestItemInfo","BioTestInfo"]
"doubleBasic":["TestItemInfo","BioTestInfo"],
//---------------------
//,
"repealDirectory":["DOCUMENT"],
//
"repealSerialnum":"UNIQUE_ID",
//
"repoalConnector":"http://192.168.1.107:9291/api/down/cancel"
}

@ -0,0 +1,16 @@
package com.docus.bgts.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
*/
@Data
@ApiModel("撤销文件类")
public class CanlcelDto {
@ApiModelProperty("采集流水号")
private String serialnum;
}

@ -24,6 +24,7 @@ public enum Codes {
DIRECTORY("1000","directory"),
//上传接口地址
UPLOAD("0","uploadConnector"),
REPOAL("0","repoalConnector"),
//患者主索引号
EMP_ID("0","indexFlag"),
//错误日志编号

@ -3,6 +3,7 @@ package com.docus.bgts.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.bgts.entity.AfCollectTask;
import com.docus.bgts.entity.CanlcelDto;
import com.docus.bgts.entity.ReportDownDto;
/**
@ -22,4 +23,10 @@ public interface IAfCollectTaskService extends IService<AfCollectTask> {
void insert(ReportDownDto reportDownDto);
void updateInterfaceCollect(String collectSubId, int state);
/**
*
* @param canlcelDto
*/
void invokeRepoalFile(CanlcelDto canlcelDto) throws Exception;
}

@ -7,14 +7,14 @@ import javax.jws.WebService;
@WebService
public interface ITBasicWebService {
/**
*
* 广
* @return
*/
@WebMethod
String pushSurveyReport(String xml);
/**
*
*
* @param xml
* @return
*/
@ -22,7 +22,7 @@ public interface ITBasicWebService {
String EmrDocumentArchive(String xml);
/**
*
*
* @param xml
* @return
*/

@ -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());
}
}
/**
* xmlCanlcelDto
*
* @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;
}
/**

@ -1,13 +1,17 @@
package com.docus.bgts.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.docus.bgts.entity.*;
import com.docus.bgts.enums.Codes;
import com.docus.bgts.facade.IAfCollectTaskService;
import com.docus.bgts.mapper.AfCollectTaskMapper;
import com.docus.bgts.mapper.AfInterfaceCollectMapper;
import com.docus.bgts.mapper.AfInterfaceCollectSubMapper;
import com.docus.bgts.utils.FileUtils;
import com.docus.bgts.utils.HttpUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -15,8 +19,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -29,7 +36,7 @@ import java.util.List;
@Service
public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, AfCollectTask> implements IAfCollectTaskService {
private Logger log= LogManager.getLogger();
private Logger log = LogManager.getLogger();
@Autowired
AfCollectTaskMapper afCollectTaskMapper;
@ -49,7 +56,7 @@ public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, A
@Transactional
@Override
public void insert(ReportDownDto reportDownDto) {
log.info("新增任务表初始数据:"+reportDownDto);
log.info("新增任务表初始数据:" + reportDownDto);
AfCollectTask afCollectTask;
String patientId = getpatientIdByEmpId(reportDownDto.getPatient().getJzh());
if (StringUtils.isBlank(patientId)) {
@ -116,4 +123,17 @@ public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, A
}
@Override
public void invokeRepoalFile(CanlcelDto canlcelDto) throws Exception {
//上传接口地址
Map<String, Object> headMap = new HashMap<>();
headMap.put("Content-Type", "application/json");
log.info("开始文件撤回操作:"+canlcelDto);
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")) {
throw new RuntimeException(String.valueOf(resMap.get("msg")));
}
}
}

Loading…
Cancel
Save