|
@ -3,8 +3,15 @@ package com.yihu.jw.hospital.prescription.service.entrance;
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
|
|
|
import com.yihu.jw.dict.service.DictHospitalDeptService;
|
|
|
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
|
|
|
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
|
|
|
import com.yihu.jw.entity.hospital.mapping.HospitalDeptMappingDO;
|
|
|
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
|
|
|
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
|
|
|
import com.yihu.jw.hospital.mapping.dao.HospitalDeptMappingDao;
|
|
|
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
|
|
|
import com.yihu.jw.hospital.prescription.service.entrance.util.ConvertUtil;
|
|
|
import com.yihu.jw.hospital.prescription.service.entrance.util.MqSdkUtil;
|
|
|
import com.yihu.jw.hospital.prescription.service.entrance.util.WebserviceUtil;
|
|
@ -16,10 +23,12 @@ import net.sf.json.xml.XMLSerializer;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.core.io.ClassPathResource;
|
|
|
import org.springframework.core.io.Resource;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.io.BufferedReader;
|
|
|
import java.io.InputStream;
|
|
|
import java.io.InputStreamReader;
|
|
@ -34,6 +43,7 @@ import java.util.stream.Collectors;
|
|
|
* Created by zdm on 2019/5/20.
|
|
|
*/
|
|
|
@Service
|
|
|
@Transactional
|
|
|
public class EntranceService {
|
|
|
//门诊余额查询
|
|
|
private static String BS15017="BS15017";
|
|
@ -59,8 +69,20 @@ public class EntranceService {
|
|
|
private static String MS02013="MS02013";
|
|
|
//医院频次字典表
|
|
|
private static String MS30012="MS30012";
|
|
|
@Value("${hospital.mqUser}")
|
|
|
private String mqUser;
|
|
|
@Value("${hospital.mqPwd}")
|
|
|
private String mqPwd;
|
|
|
@Value("${hospital.SourceSysCode}")
|
|
|
private String sourceSysCode;
|
|
|
@Value("${hospital.TargetSysCode}")
|
|
|
private String targetSysCode;
|
|
|
@Autowired
|
|
|
private HospitalDeptMappingDao hospitalDeptMappingDao;
|
|
|
private DictHospitalDeptDao dictHospitalDeptDao;
|
|
|
@Autowired
|
|
|
private PatientMappingDao patientMappingDao;
|
|
|
@Autowired
|
|
|
private WlyyChargeDictDao wlyyChargeDictDao;
|
|
|
|
|
|
/**
|
|
|
* 获取本地示例返参
|
|
@ -151,9 +173,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(SOCIAL_NO)) {
|
|
@ -189,9 +211,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(REGISTER_SN)) {
|
|
@ -253,6 +275,8 @@ public class EntranceService {
|
|
|
if (!(null != stringSet && stringSet.contains(realOrder))) {
|
|
|
//初始化处方
|
|
|
wlyyPrescriptionVO = initWlyyPrescriptionVo(new WlyyPrescriptionVO(), jsonObjectBody, realOrder);
|
|
|
wlyyPrescriptionVO.setHospital("350211A1002");
|
|
|
wlyyPrescriptionVO.setHospitalName("厦门市中山医院");
|
|
|
wlyyPrescriptionVOMap.put(realOrder, wlyyPrescriptionVO);
|
|
|
//主诊断 毒蛇咬伤&T63.001
|
|
|
String[] icdName = jsonObjectBody.get("icd_name").toString().split("&");
|
|
@ -338,10 +362,18 @@ public class EntranceService {
|
|
|
wlyyPrescriptionVO.setRealOrder(realOrder);
|
|
|
wlyyPrescriptionVO.setSerialNo(null != jsonObjectBody.get("REGISTER_SN") ? jsonObjectBody.get("REGISTER_SN").toString() : "");
|
|
|
wlyyPrescriptionVO.setType(1);
|
|
|
wlyyPrescriptionVO.setPatientCode(null != jsonObjectBody.get("PAT_NO") ? jsonObjectBody.get("PAT_NO").toString() : "");
|
|
|
wlyyPrescriptionVO.setPatientName(null != jsonObjectBody.get("UOM") ? jsonObjectBody.get("UOM").toString() : "");
|
|
|
//TODO 通过映射表获取居民身份证号e
|
|
|
wlyyPrescriptionVO.setIdcard("");
|
|
|
String patNo=null != jsonObjectBody.get("PAT_NO") ? jsonObjectBody.get("PAT_NO").toString() : "";
|
|
|
String patientName=null != jsonObjectBody.get("UOM") ? jsonObjectBody.get("UOM").toString() : "";
|
|
|
PatientMappingDO patientMappingDo=new PatientMappingDO();
|
|
|
if(StringUtils.isNotBlank(patNo)){
|
|
|
patientMappingDo= patientMappingDao.findByMappingCodeAndSource(patNo.trim(),"1");
|
|
|
patNo=null==patientMappingDo?null:patientMappingDo.getPatient();
|
|
|
patientName=null==patientMappingDo?null:patientMappingDo.getPatientName();
|
|
|
}
|
|
|
|
|
|
wlyyPrescriptionVO.setPatientCode(patNo);
|
|
|
wlyyPrescriptionVO.setPatientName(patientName);
|
|
|
wlyyPrescriptionVO.setIdcard(patientMappingDo.getIdcard());
|
|
|
//TODO 社保卡号
|
|
|
wlyyPrescriptionVO.setSsc("");
|
|
|
wlyyPrescriptionVO.setHisDoctorCode(null != jsonObjectBody.get("PRESC_DOC") ? jsonObjectBody.get("PRESC_DOC").toString() : "");
|
|
@ -371,14 +403,15 @@ public class EntranceService {
|
|
|
* 患者门诊就诊记录
|
|
|
* 使用时间查询的话,很可能会超时。时间没有索引,所以超时时间需要加长
|
|
|
* @param PAT_NO 居民唯一号 一个居民在该医院只有一个号,该接口必须输入的参数
|
|
|
* @param admNo 就诊唯一号 每一次就诊都有一个唯一号:居民号+就诊次数,查询确定的一条就诊记录时需要传,否则传null
|
|
|
* @param registerSn 挂号流水号,查询确定的一条就诊记录时需要传,否则传null
|
|
|
* @param conNo 就诊次数,使用居民唯一号+就诊次数获取唯一一条就诊记录
|
|
|
// * @param admNo 就诊唯一号 每一次就诊都有一个唯一号:居民号+就诊次数,查询确定的一条就诊记录时需要传,否则传null
|
|
|
// * @param registerSn 挂号流水号,查询确定的一条就诊记录时需要传,否则传null
|
|
|
* @param startTime 开始时间 (查询一段时间内就诊记录开始时间,查询就诊记录列表时需要传,否则传null)
|
|
|
* @param endTime 结束时间 (查询一段时间内就诊记录结束时间,查询就诊记录列表时需要传,否则传null)
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public List<WlyyOutpatientVO> BS30025(String PAT_NO,String admNo,String registerSn,String startTime,String endTime,boolean demoFlag) throws Exception {
|
|
|
public List<WlyyOutpatientVO> BS30025(String PAT_NO,String conNo,String startTime,String endTime,boolean demoFlag) throws Exception {
|
|
|
String fid = BS30025;
|
|
|
String resp = "";
|
|
|
if (demoFlag) {
|
|
@ -386,19 +419,16 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><onceFlag>1</onceFlag><startNum>1</startNum><endNum>50000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(PAT_NO)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + PAT_NO + "'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(admNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'" + admNo + "'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(registerSn)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'" + registerSn + "'\"/>");
|
|
|
if (StringUtils.isNotBlank(conNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"CON_NO\" splice=\"and\" value=\"'" + conNo + "'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(startTime)) {
|
|
|
sbs.append("<query compy=\">=\" item=\"CON_DATE\" splice=\"and\" value=\"'" + startTime + "'\"/>");
|
|
@ -418,14 +448,23 @@ public class EntranceService {
|
|
|
net.sf.json.JSONObject jsonObjectMgsInfo = (net.sf.json.JSONObject) object;
|
|
|
if (null != jsonObjectMgsInfo) {
|
|
|
wlyyOutpatientVO = new WlyyOutpatientVO();
|
|
|
wlyyOutpatientVO.setHospital("350211A1002");
|
|
|
wlyyOutpatientVO.setHospitalName("厦门市中山医院");
|
|
|
wlyyOutpatientVO.setAdmNo(null == jsonObjectMgsInfo.get("ADM_NO") ? "" : jsonObjectMgsInfo.get("ADM_NO") + "");
|
|
|
wlyyOutpatientVO.setRegisterNo(null == jsonObjectMgsInfo.get("REGISTER_SN") ? "" : jsonObjectMgsInfo.get("REGISTER_SN") + "");
|
|
|
wlyyOutpatientVO.setDept(null == jsonObjectMgsInfo.get("ADM_SPEC") ? "" : jsonObjectMgsInfo.get("ADM_SPEC") + "");
|
|
|
wlyyOutpatientVO.setDeptName(null == jsonObjectMgsInfo.get("ADM_SPEC_NAME") ? "" : jsonObjectMgsInfo.get("ADM_SPEC_NAME") + "");
|
|
|
|
|
|
wlyyOutpatientVO.setPatient(null == jsonObjectMgsInfo.get("PAT_NO") ? "" : jsonObjectMgsInfo.get("PAT_NO") + "");
|
|
|
wlyyOutpatientVO.setPatientName(null == jsonObjectMgsInfo.get("PAT_NAME") ? "" : jsonObjectMgsInfo.get("PAT_NAME") + "");
|
|
|
|
|
|
String patNo=null != jsonObjectMgsInfo.get("PAT_NO") ? jsonObjectMgsInfo.get("PAT_NO").toString() : "";
|
|
|
String patientName=null != jsonObjectMgsInfo.get("PAT_NAME") ? jsonObjectMgsInfo.get("PAT_NAME").toString() : "";
|
|
|
PatientMappingDO patientMappingDo=new PatientMappingDO();
|
|
|
if(StringUtils.isNotBlank(patNo)){
|
|
|
patientMappingDo= patientMappingDao.findByMappingCodeAndSource(patNo.trim(),"1");
|
|
|
patNo=null==patientMappingDo?null:patientMappingDo.getPatient();
|
|
|
patientName=null==patientMappingDo?null:patientMappingDo.getPatientName();
|
|
|
}
|
|
|
wlyyOutpatientVO.setPatient(patNo);
|
|
|
wlyyOutpatientVO.setPatientName(patientName);
|
|
|
wlyyOutpatientVO.setConNo(null == jsonObjectMgsInfo.get("CON_NO") ? "" : jsonObjectMgsInfo.get("CON_NO") + "");
|
|
|
wlyyOutpatientVO.setDoctor(null == jsonObjectMgsInfo.get("CON_DOC") ? "" : jsonObjectMgsInfo.get("CON_DOC") + "");
|
|
|
wlyyOutpatientVO.setDoctorName(null == jsonObjectMgsInfo.get("CON_DOC_NAME") ? "" : jsonObjectMgsInfo.get("CON_DOC_NAME") + "");
|
|
|
|
|
@ -455,9 +494,9 @@ public class EntranceService {
|
|
|
String fid=MS30001;
|
|
|
StringBuffer sbs= new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
|
|
@ -483,9 +522,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>10</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(charge_code)) {
|
|
@ -526,9 +565,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(supply_code)) {
|
|
@ -563,10 +602,10 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
|
|
|
sbs.append("<resquest card_no=\"" + card_no + "\" doctor=\"" + doctor + "\" dept=\"" + dept + "\" charge_type=\"" + charge_type + "\" win_no=\"" + win_no + "\" >");
|
|
|
sbs.append("</resquest></root>]]></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
@ -593,9 +632,11 @@ public class EntranceService {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>BS10112</Fid><UserName>jkzl</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<MessageHeader><Fid>BS10112</Fid><MsgDate>2018-10-09 16:52:39</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
|
|
|
for(WlyyHisPrescriptionVO vo:patientSubscribeJkedus){
|
|
|
//必输字段
|
|
|
sbs.append("<resquest card_no=\"" + vo.getCardNo() + "\" doctor=\"" + vo.getDoctor() + "\" dept=\"" + vo.getDept() + "\" charge_code=\"" + vo.getChargeCode() + "\" win_no=\"" + vo.getWinNo() + "\" charge_flag=\"" + vo.getChargeFlag() + "\" ");
|
|
@ -657,9 +698,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(doctor_code)) {
|
|
@ -686,8 +727,8 @@ public class EntranceService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class)
|
|
|
public List<HospitalDeptMappingDO> MS02001(boolean demoFlag) throws Exception {
|
|
|
// @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class)
|
|
|
public List<DictHospitalDeptDO> MS02001(boolean demoFlag) throws Exception {
|
|
|
String fid=MS02001;
|
|
|
String resp="";
|
|
|
if (demoFlag) {
|
|
@ -695,9 +736,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg></Msg>");
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
@ -705,14 +746,36 @@ public class EntranceService {
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
}
|
|
|
JSONArray jsonArray= ConvertUtil.convertListEnvelopInBody(resp);
|
|
|
List<HospitalDeptMappingDO> hospitalDeptMappingDOS=new ArrayList<>();
|
|
|
HospitalDeptMappingDO hdmDo;
|
|
|
List<DictHospitalDeptDO> hospitalDeptMappingDOS=new ArrayList<>();
|
|
|
DictHospitalDeptDO hdmDo;
|
|
|
String orgCode="350211A1002";
|
|
|
Map<String,String> orgCodeMap=new HashMap<>();
|
|
|
//6总部7金榜8夏禾
|
|
|
orgCodeMap.put("6",orgCode);
|
|
|
orgCodeMap.put("7","");
|
|
|
orgCodeMap.put("8","");
|
|
|
//删除旧数据
|
|
|
hospitalDeptMappingDao.deleteBySource("1");
|
|
|
List<String> strings=new ArrayList<>(orgCodeMap.values()) ;
|
|
|
for(String s:strings) {
|
|
|
if(StringUtils.isNotBlank(s)){
|
|
|
dictHospitalDeptDao.deleteByOrgCode(s);
|
|
|
}
|
|
|
}
|
|
|
for(Object object:jsonArray){
|
|
|
hdmDo=new HospitalDeptMappingDO();
|
|
|
hdmDo=new DictHospitalDeptDO();
|
|
|
net.sf.json.JSONObject jsonObjectBody=(net.sf.json.JSONObject)object;
|
|
|
hdmDo.setSerialNo(null==jsonObjectBody.get("Serial_No")?"":jsonObjectBody.get("Serial_No").toString());
|
|
|
String deptTypeCode=null==jsonObjectBody.get("Dept_Type_Code")?"":jsonObjectBody.get("Dept_Type_Code").toString();
|
|
|
if(StringUtils.isNotBlank(orgCodeMap.get(deptTypeCode))){
|
|
|
hdmDo.setOrgCode(orgCode);
|
|
|
hdmDo.setCode(null==jsonObjectBody.get("Dept_Code")?"":jsonObjectBody.get("Dept_Code").toString());
|
|
|
hdmDo.setName(null==jsonObjectBody.get("Dept_Name")?"":jsonObjectBody.get("Dept_Name").toString());
|
|
|
hdmDo.setDeptTypeCode(deptTypeCode);
|
|
|
hdmDo.setCreateTime(new Date());
|
|
|
// DictHospitalDeptDao.save(hdmDo);
|
|
|
hospitalDeptMappingDOS.add(hdmDo);
|
|
|
}
|
|
|
|
|
|
/* hdmDo.setSerialNo(null==jsonObjectBody.get("Serial_No")?"":jsonObjectBody.get("Serial_No").toString());
|
|
|
hdmDo.setDeptCode(null==jsonObjectBody.get("Dept_Code")?"":jsonObjectBody.get("Dept_Code").toString());
|
|
|
hdmDo.setDeptName(null==jsonObjectBody.get("Dept_Name")?"":jsonObjectBody.get("Dept_Name").toString());
|
|
|
hdmDo.setDeptAlias(null==jsonObjectBody.get("Dept_Alias")?"":jsonObjectBody.get("Dept_Alias").toString());
|
|
@ -725,7 +788,6 @@ public class EntranceService {
|
|
|
hdmDo.setInputCode(null==jsonObjectBody.get("Input_Code")?"":jsonObjectBody.get("Input_Code").toString());
|
|
|
hdmDo.setPinyinCode(null==jsonObjectBody.get("Pinyin_Code")?"":jsonObjectBody.get("Pinyin_Code").toString());
|
|
|
hdmDo.setWubiCode(null==jsonObjectBody.get("Wubi_Code")?"":jsonObjectBody.get("Wubi_Code").toString());
|
|
|
hdmDo.setDeptTypeCode(null==jsonObjectBody.get("Dept_Type_Code")?"":jsonObjectBody.get("Dept_Type_Code").toString());
|
|
|
hdmDo.setLocation(null==jsonObjectBody.get("Location")?"":jsonObjectBody.get("Location").toString());
|
|
|
hdmDo.setDisplaySequence(null==jsonObjectBody.get("Display_Sequence")?"":jsonObjectBody.get("Display_Sequence").toString());
|
|
|
hdmDo.setOpenBedNum(null==jsonObjectBody.get("Open_Bed_Num")?"":jsonObjectBody.get("Open_Bed_Num").toString());
|
|
@ -738,11 +800,11 @@ public class EntranceService {
|
|
|
hdmDo.setDeptZipCode(null==jsonObjectBody.get("Dept_Zip_Code")?"":jsonObjectBody.get("Dept_Zip_Code").toString());
|
|
|
hdmDo.setDeDlid(null==jsonObjectBody.get("De_Dlid")?"":jsonObjectBody.get("De_Dlid").toString());
|
|
|
hdmDo.setDeLcid(null==jsonObjectBody.get("De_Lcid")?"":jsonObjectBody.get("De_Lcid").toString());
|
|
|
hdmDo.setSource("1");
|
|
|
hdmDo.setCreateTime(new Date());
|
|
|
hospitalDeptMappingDOS.add(hdmDo);
|
|
|
hdmDo.setSource("1");*/
|
|
|
|
|
|
}
|
|
|
hospitalDeptMappingDao.save(hospitalDeptMappingDOS);
|
|
|
|
|
|
dictHospitalDeptDao.save(hospitalDeptMappingDOS);
|
|
|
return hospitalDeptMappingDOS;
|
|
|
}
|
|
|
|
|
@ -751,22 +813,21 @@ public class EntranceService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray MS02013(boolean demoFlag) throws Exception {
|
|
|
public net.sf.json.JSONArray MS02013(String code) throws Exception {
|
|
|
String fid=MS02013;
|
|
|
String resp="";
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/><startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
StringBuffer sbs= new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if(StringUtils.isNotBlank(code)){
|
|
|
sbs.append("<query compy=\"=\" item=\"code\" splice=\"and\" value=\"'"+code+"'\"/>");
|
|
|
}
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
|
|
|
resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
return ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
}
|
|
|
|
|
@ -783,9 +844,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/><startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
@ -808,9 +869,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(py_code)) {
|
|
@ -829,13 +890,13 @@ public class EntranceService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public String MS25002(String py_code,String win_no) throws Exception {
|
|
|
public JSONArray MS25002(String py_code,String win_no) throws Exception {
|
|
|
String fid="MS25002";
|
|
|
StringBuffer sbs= new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>"+fid+"</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>"+fid+"</Fid><MsgDate>"+ DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD_HH_MM_SS)+"</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
|
|
|
if(StringUtils.isNotBlank(py_code)){
|
|
@ -850,7 +911,7 @@ public class EntranceService {
|
|
|
// <MsgInfo><endNum>20000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>
|
|
|
String resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid );
|
|
|
resp= MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
return resp;
|
|
|
return ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -915,9 +976,9 @@ public class EntranceService {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><onceFlag>1</onceFlag><startNum>1</startNum><endNum>50000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(patNo)) {
|
|
@ -993,9 +1054,9 @@ public class EntranceService {
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>");
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>S60</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>");
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(patNo)) {
|
|
@ -1005,17 +1066,241 @@ public class EntranceService {
|
|
|
sbs.append("<query compy=\"=\" item=\"times\" splice=\"and\" value=\"'" + conNo + "'\"/>");
|
|
|
}
|
|
|
sbs.append("<order item=\"apply_date\" sort=\"desc\"/>");
|
|
|
//<ESBEntry><AccessControl><Fid>BS25017</Fid><UserName>JKZL</UserName><Password>123456</Password></AccessControl>
|
|
|
// <MessageHeader><Fid>BS25017</Fid><MsgDate>2019-06-03 13:52:39</MsgDate><SourceSysCode>S47</SourceSysCode><TargetSysCode>S01</TargetSysCode></MessageHeader>
|
|
|
// <MsgInfo><endNum>20000</endNum><Msg/>
|
|
|
// <query compy="=" item="inpatient_no" splice="and" value="'P10728535-0'"/>
|
|
|
// <query compy="=" item="times" splice="and" value="'62'"/>
|
|
|
// <order item="apply_date" sort="desc"/><startNum>1</startNum></MsgInfo></ESBEntry>
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
}
|
|
|
return ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 检验送检信息查询
|
|
|
* @param patNo 患者唯一号 必传参数
|
|
|
* @param conNo 就诊次数 必传参数
|
|
|
* @param demoFlag 是否获取测试数据
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray BS20010(String patNo,String conNo,boolean demoFlag) throws Exception {
|
|
|
String fid="BS20010";
|
|
|
String resp="";
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>1000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(patNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"CureNo\" splice=\"and\" value=\"'" + patNo + "'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(conNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"patientid\" splice=\"and\" value=\"'" + conNo + "'\"/>");
|
|
|
}
|
|
|
sbs.append("<order item=\"receiveTime\" sort=\"desc\"/>");
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
}
|
|
|
return ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
*检验的是通过BS20010先查出applyno 这个,然后去查BS20019
|
|
|
* @param patNo 居民唯一号 必传参数
|
|
|
* @param conNo 就诊次数 必传次数
|
|
|
* @param demoFlag 是否获取本地示例数据 true 是,false 否
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray BS20019(String patNo,String conNo,boolean demoFlag) throws Exception {
|
|
|
String fid="BS20019";
|
|
|
String resp="";
|
|
|
net.sf.json.JSONArray jsonArrayLast=new net.sf.json.JSONArray();
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
net.sf.json.JSONArray jsonArray1= ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
jsonArrayLast.add(jsonArray1);
|
|
|
} else {
|
|
|
//获取检验送检记录
|
|
|
JSONArray jsonArray= BS20010(patNo,conNo,demoFlag);
|
|
|
for(Object object:jsonArray){
|
|
|
net.sf.json.JSONObject jsonObjectBody=(net.sf.json.JSONObject)object;
|
|
|
if(null!=jsonObjectBody){
|
|
|
String applyno=null==jsonObjectBody.get("applyno")?"":jsonObjectBody.get("applyno").toString();
|
|
|
if(StringUtils.isNotBlank(applyno)){
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<RequestOption><onceFlag>0</onceFlag></RequestOption><MsgInfo><startNum>1</startNum><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(applyno)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"applyno\" splice=\"and\" value=\"'" + applyno + "'\"/>");
|
|
|
}
|
|
|
sbs.append("<order item=\"ResultTime\" sort=\"desc\"/>");
|
|
|
sbs.append("</MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
net.sf.json.JSONArray jsonArray1= ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
jsonArrayLast.add(jsonArray1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
return jsonArrayLast;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
*微生物的是先查BS20018,也是查出applyno 再去查BS20011
|
|
|
* @param patNo 居民唯一号 必传参数
|
|
|
* @param conNo 就诊次数 必传次数
|
|
|
* @param demoFlag 是否获取本地示例数据 true 是,false 否
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray BS20011(String patNo,String conNo,boolean demoFlag) throws Exception {
|
|
|
String fid="BS20011";
|
|
|
String resp="";
|
|
|
net.sf.json.JSONArray jsonArrayLast=new net.sf.json.JSONArray();
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
net.sf.json.JSONArray jsonArray1= ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
jsonArrayLast.add(jsonArray1);
|
|
|
} else {
|
|
|
//获取微生物送检记录
|
|
|
JSONArray jsonArray= BS20018(patNo,conNo,demoFlag);
|
|
|
for(Object object:jsonArray){
|
|
|
net.sf.json.JSONObject jsonObjectBody=(net.sf.json.JSONObject)object;
|
|
|
jsonObjectBody= (net.sf.json.JSONObject)jsonObjectBody.get("body");
|
|
|
jsonObjectBody=null==jsonObjectBody?jsonObjectBody:(net.sf.json.JSONObject)jsonObjectBody.get("row");
|
|
|
if(null!=jsonObjectBody){
|
|
|
String applyno=null==jsonObjectBody.get("applyno")?"":jsonObjectBody.get("applyno").toString();
|
|
|
if(StringUtils.isNotBlank(applyno)){
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(applyno)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"applyno\" splice=\"and\" value=\"'" + applyno + "'\"/>");
|
|
|
}
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
net.sf.json.JSONArray jsonArray1= ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
jsonArrayLast.add(jsonArray1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return jsonArrayLast;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取微生物检查记录
|
|
|
* @param patNo 居民唯一号 必传
|
|
|
* @param conNo 就诊次数 必传
|
|
|
* @param demoFlag
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray BS20018(String patNo,String conNo,boolean demoFlag) throws Exception {
|
|
|
String fid="BS20018";
|
|
|
String resp="";
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(patNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"CureNo\" splice=\"and\" value=\"'" + patNo + "'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(conNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"patientid\" splice=\"and\" value=\"'" + conNo + "'\"/>");
|
|
|
}
|
|
|
sbs.append("<order item=\"receiveTime\" sort=\"desc\"/>");
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
}
|
|
|
return ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
}
|
|
|
|
|
|
|
|
|
public List<WlyyChargeDictDO> BS55010(String windowsNo,String code,String chargeType,boolean demoFlag) throws Exception {
|
|
|
String fid="BS55010";
|
|
|
String resp="";
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
|
List<WlyyChargeDictDO> wlyyChargeDictDOS=new ArrayList<>();
|
|
|
if (demoFlag) {
|
|
|
resp = getJosnFileResullt(fid);
|
|
|
} else {
|
|
|
StringBuffer sbs = new StringBuffer();
|
|
|
//AccessControl :用户、密码、服务id
|
|
|
sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>"+mqUser+"</UserName><Password>"+mqPwd+"</Password></AccessControl>");
|
|
|
//MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
|
|
|
sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>"+sourceSysCode+"</SourceSysCode><TargetSysCode>"+targetSysCode+"</TargetSysCode></MessageHeader>");
|
|
|
//查询信息拼接
|
|
|
sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
|
|
|
if (StringUtils.isNotBlank(windowsNo)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"windows_no\" splice=\"and\" value=\"'"+windowsNo+"'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(chargeType)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"charge_type\" splice=\"and\" value=\"'"+chargeType+"'\"/>");
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(code)) {
|
|
|
sbs.append("<query compy=\"=\" item=\"code\" splice=\"and\" value=\"'"+code+"'\"/>");
|
|
|
}
|
|
|
sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
|
|
|
resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
|
|
|
resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
|
|
|
}
|
|
|
net.sf.json.JSONArray jsonArray= ConvertUtil.convertListEnvelopInBodyRow(resp);
|
|
|
for(Object object:jsonArray){
|
|
|
net.sf.json.JSONObject jsonObjectBody=(net.sf.json.JSONObject)object;
|
|
|
String chareName="";
|
|
|
if(null!=jsonObjectBody){
|
|
|
String chareCode=null==jsonObjectBody.get("charge_type")?"":jsonObjectBody.get("charge_type").toString();
|
|
|
String winNo=null==jsonObjectBody.get("windows_no")?"":jsonObjectBody.get("windows_no").toString();
|
|
|
//WlyyChargeDictDO
|
|
|
if(!map.containsKey(chareCode+"_"+winNo)){
|
|
|
//查询号别
|
|
|
net.sf.json.JSONArray chares= MS02013(chareCode);
|
|
|
for(Object object1:chares) {
|
|
|
net.sf.json.JSONObject jsonObjectBody1 = (net.sf.json.JSONObject) object1;
|
|
|
chareName=null==jsonObjectBody1.get("name")?"":jsonObjectBody1.get("name").toString();
|
|
|
System.out.println(chareCode+chareName);
|
|
|
WlyyChargeDictDO wlyyChargeDictDO=new WlyyChargeDictDO();
|
|
|
wlyyChargeDictDO.setChargeType(chareCode);
|
|
|
wlyyChargeDictDO.setChargeName(chareName);
|
|
|
|
|
|
wlyyChargeDictDO.setDeptTypeCode(winNo);
|
|
|
Double free=null==jsonObjectBody.get("req_fee")?0:Double.parseDouble(jsonObjectBody.get("req_fee").toString());
|
|
|
wlyyChargeDictDO.setReqFee(free);
|
|
|
wlyyChargeDictDO.setCreateTime(new Date());
|
|
|
map.put(chareCode+"_"+winNo,chareName);
|
|
|
wlyyChargeDictDO=wlyyChargeDictDao.save(wlyyChargeDictDO);
|
|
|
wlyyChargeDictDOS.add(wlyyChargeDictDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return wlyyChargeDictDOS;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|