|
|
|
|
@ -5,27 +5,31 @@ import com.docus.core.util.Func;
|
|
|
|
|
import com.docus.infrastructure.core.exception.BaseException;
|
|
|
|
|
import com.docus.infrastructure.web.api.CommonResult;
|
|
|
|
|
import com.docus.infrastructure.web.api.ResultCode;
|
|
|
|
|
import com.docus.server.message.busservice.FsBusinessService;
|
|
|
|
|
import com.docus.server.message.busservice.MzsyBusinessService;
|
|
|
|
|
import com.docus.server.message.config.CollectTaskConfig;
|
|
|
|
|
import com.docus.server.message.controller.vo.PushInfoVo;
|
|
|
|
|
import com.docus.server.message.converters.FsWsRecordSubmitMessageConvert;
|
|
|
|
|
import com.docus.server.message.config.MeiZhouSyQueryConfig;
|
|
|
|
|
import com.docus.server.message.converters.MzsyWsRecordSubmitMessageConvert;
|
|
|
|
|
import com.docus.server.message.converters.NkWsRecordSubmitMessageConvert;
|
|
|
|
|
import com.docus.server.message.converters.WsRecordSubmitMessageConvert;
|
|
|
|
|
import com.docus.server.message.dto.*;
|
|
|
|
|
import com.docus.server.message.dto.Message;
|
|
|
|
|
import com.docus.server.message.dto.MessageResponse;
|
|
|
|
|
import com.docus.server.message.dto.NkRecordSubmitDTO;
|
|
|
|
|
import com.docus.server.message.dto.TbasicQrPreciseCondition;
|
|
|
|
|
import com.docus.server.message.entity.TBasic;
|
|
|
|
|
import com.docus.server.message.feign.dto.CompensateTasRequest;
|
|
|
|
|
import com.docus.server.message.feign.dto.HospitalSubmitNodeLogAddDTO;
|
|
|
|
|
import com.docus.server.message.feign.enums.HospitalSubmitNodeEnum;
|
|
|
|
|
import com.docus.server.message.feign.service.CollectTaskService;
|
|
|
|
|
import com.docus.server.message.feign.service.HospitalSubmitNodeServiceApi;
|
|
|
|
|
import com.docus.server.message.mapper.TBasicMapper;
|
|
|
|
|
import com.docus.server.message.rpc.MeiZhouSyRpc;
|
|
|
|
|
import com.docus.server.message.rpc.request.MzSyArchiveRecallRequest;
|
|
|
|
|
import com.docus.server.message.validate.NkRecordSubmitValidate;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -43,6 +47,12 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
|
|
|
|
|
@Resource
|
|
|
|
|
private TBasicMapper tBasicMapper;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private MeiZhouSyRpc meiZhouSyRpc;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private MeiZhouSyQueryConfig meiZhouSyConfig;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private HospitalSubmitNodeServiceApi hospitalSubmitNodeServiceApi;
|
|
|
|
|
|
|
|
|
|
@ -77,6 +87,7 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
|
|
|
|
|
nodeLogAddDTO.setCreater(submitName+"("+submitNo+")");
|
|
|
|
|
nodeLogAddDTO.setCreaterName(submitName+"("+submitNo+")");
|
|
|
|
|
hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO);
|
|
|
|
|
meiZhouSyRpc.archiveAndRecall(archiveRequest(patientIds.get(0),"EMR"));
|
|
|
|
|
return new MessageResponse(ResultCode.SUCCESS.getCode(), success());
|
|
|
|
|
} catch (BaseException baseException) {
|
|
|
|
|
log.error(baseException.getMessage(), baseException);
|
|
|
|
|
@ -93,6 +104,7 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MessageResponse nurseSubmitHandle(Message message) {
|
|
|
|
|
try {
|
|
|
|
|
@ -122,6 +134,7 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
|
|
|
|
|
nodeLogAddDTO.setCreater(submitName+"("+submitNo+")");
|
|
|
|
|
nodeLogAddDTO.setCreaterName(submitName+"("+submitNo+")");
|
|
|
|
|
hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO);
|
|
|
|
|
meiZhouSyRpc.archiveAndRecall(archiveRequest(patientIds.get(0),"NURSE"));
|
|
|
|
|
return new MessageResponse(ResultCode.SUCCESS.getCode(), success());
|
|
|
|
|
} catch (BaseException baseException) {
|
|
|
|
|
log.error(baseException.getMessage(), baseException);
|
|
|
|
|
@ -174,4 +187,57 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
|
|
|
|
|
"</RetInfo>" +
|
|
|
|
|
"</Response>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* 获取归档请求参数
|
|
|
|
|
* @param patientId 病案主键
|
|
|
|
|
* @param type 推送类型 EMR:电子病例,NURSE:护理
|
|
|
|
|
* @return 归档请求参数
|
|
|
|
|
*/
|
|
|
|
|
private MzSyArchiveRecallRequest archiveRequest(String patientId,String type) {
|
|
|
|
|
return archiveRecallRequest(patientId,type,"1");
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* 获取解档请求参数
|
|
|
|
|
* @param patientId 病案主键
|
|
|
|
|
* @param type 推送类型 EMR:电子病例,NURSE:护理
|
|
|
|
|
* @return 解档请求参数
|
|
|
|
|
*/
|
|
|
|
|
private MzSyArchiveRecallRequest unarchiveRequest(String patientId,String type) {
|
|
|
|
|
return archiveRecallRequest(patientId,type,"0");
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* 获取归档/解档请求参数
|
|
|
|
|
* @param patientId 病案主键
|
|
|
|
|
* @param type 推送类型 EMR:电子病例,NURSE:护理
|
|
|
|
|
* @param archiveState 解档/归档状态 0:解档 1:归档
|
|
|
|
|
* @return 归档/解档请求参数
|
|
|
|
|
*/
|
|
|
|
|
private MzSyArchiveRecallRequest archiveRecallRequest(String patientId,String type,String archiveState) {
|
|
|
|
|
String formatDateTime = Func.formatDateTime(new Date());
|
|
|
|
|
TBasic basicInfo = tBasicMapper.getTBasicInfo(patientId);
|
|
|
|
|
MzSyArchiveRecallRequest request = new MzSyArchiveRecallRequest();
|
|
|
|
|
request.setType(type);
|
|
|
|
|
request.setArchiveState(archiveState);
|
|
|
|
|
request.setArchiveTime(basicInfo.getArchiveTime()==null?formatDateTime:Func.formatDateTime(basicInfo.getArchiveTime()));
|
|
|
|
|
request.setAdmitTime(Func.formatDateTime(basicInfo.getAdmissDate()));
|
|
|
|
|
request.setDisTime(Func.formatDateTime(basicInfo.getDisDate()));
|
|
|
|
|
request.setDischargeDeptCode(basicInfo.getDisDept());
|
|
|
|
|
request.setDischargeDeptName(basicInfo.getDisDeptName());
|
|
|
|
|
request.setInHospIndexNo(basicInfo.getInpatientNo());
|
|
|
|
|
request.setInHospNo(basicInfo.getJzh());
|
|
|
|
|
request.setVisitNo(basicInfo.getAdmissTimes());
|
|
|
|
|
request.setPatientName(basicInfo.getName());
|
|
|
|
|
request.setUnarchiveTime(formatDateTime);
|
|
|
|
|
request.setControlUserName(meiZhouSyConfig.getMedicalArchiveAndRecallWsdlUserCode());
|
|
|
|
|
request.setControlName(meiZhouSyConfig.getMedicalArchiveAndRecallWsdlUserName());
|
|
|
|
|
return request;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|