|
@ -25,6 +25,7 @@ import com.yihu.jw.hospital.prescription.service.entrance.util.AES;
|
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
|
|
|
import com.yihu.jw.utils.StringUtil;
|
|
|
import com.yihu.jw.utils.WebserviceUtil;
|
|
@ -74,15 +75,34 @@ public class XzzxEntranceService {
|
|
|
|
|
|
@Autowired
|
|
|
private BasePatientWechatDao basePatientWechatDao;
|
|
|
@Autowired
|
|
|
private HttpClientUtil httpClientUtil;
|
|
|
|
|
|
private static String key="bvvsf3JA0mUXMU+mVnMaOQ==";
|
|
|
|
|
|
//发送微信模板消息
|
|
|
public static String sendMessageUrl ="http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
|
|
|
|
|
|
public String getXzzxWebServiceInfo(String api, Map<String,String> params)throws Exception{
|
|
|
public static String entranceUrl = "http://172.16.100.240:10023/xzzx/";
|
|
|
|
|
|
|
|
|
public String getSelectUrl(){
|
|
|
|
|
|
List<WlyyHospitalSysDictDO> list = wlyyHospitalSysDictDao.findByDictName("xzzxWebService");
|
|
|
List<WlyyHospitalSysDictDO> list = wlyyHospitalSysDictDao.findByDictName("xzzxWebSelectService");
|
|
|
|
|
|
String url = list.get(0).getDictCode();
|
|
|
return url;
|
|
|
}
|
|
|
|
|
|
public String getOperateUrl(){
|
|
|
|
|
|
List<WlyyHospitalSysDictDO> list = wlyyHospitalSysDictDao.findByDictName("xzzxWebOperateService");
|
|
|
|
|
|
String url = list.get(0).getDictCode();
|
|
|
return url;
|
|
|
}
|
|
|
|
|
|
public String getXzzxWebServiceInfo(String api, Map<String,String> params,String url)throws Exception{
|
|
|
|
|
|
logger.info("url"+url);
|
|
|
|
|
@ -101,7 +121,6 @@ public class XzzxEntranceService {
|
|
|
*/
|
|
|
public String getDeptInfo(String code)throws Exception{
|
|
|
String api = "GetDeptInfo";
|
|
|
String key ="bvvsf3JA0mUXMU+mVnMaOQ==";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
@ -121,7 +140,7 @@ public class XzzxEntranceService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getDeptInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params);
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
@ -173,7 +192,6 @@ public class XzzxEntranceService {
|
|
|
*/
|
|
|
public String getDoctorInfo(String idcard)throws Exception{
|
|
|
String api = "GetDoctorInfo";
|
|
|
String key ="bvvsf3JA0mUXMU+mVnMaOQ==";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
@ -193,7 +211,7 @@ public class XzzxEntranceService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getDoctorInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params);
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
@ -369,7 +387,6 @@ public class XzzxEntranceService {
|
|
|
*/
|
|
|
public String getJobTitle()throws Exception{
|
|
|
String api = "GetTitleInfo";
|
|
|
String key ="bvvsf3JA0mUXMU+mVnMaOQ==";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
@ -385,7 +402,7 @@ public class XzzxEntranceService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getJobTitleInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params);
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
@ -420,7 +437,6 @@ public class XzzxEntranceService {
|
|
|
*/
|
|
|
public String getChargeDict()throws Exception{
|
|
|
String api = "GetScheduleType";
|
|
|
String key ="bvvsf3JA0mUXMU+mVnMaOQ==";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
@ -436,7 +452,7 @@ public class XzzxEntranceService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getChargeDictInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params);
|
|
|
String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
@ -472,6 +488,257 @@ public class XzzxEntranceService {
|
|
|
}
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询患者就诊卡
|
|
|
* @param idCard 身份证
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//查询患者就诊卡
|
|
|
public String findPatientCard(String idCard)throws Exception{
|
|
|
String api = "FindPatientCard";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(idCard)){
|
|
|
condition = "<Idcard>"+idCard+"</Idcard>";
|
|
|
}
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("findPatientCard params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("FindPatientCard",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("findPatientCard json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 获取卡信息
|
|
|
*
|
|
|
* @param cardNo 卡号(必填)
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//获取卡信息
|
|
|
public String getCardInfo(String cardNo)throws Exception{
|
|
|
String api = "GetCardInfo";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(cardNo)){
|
|
|
condition = "<cardNo>"+cardNo+"</cardNo>";
|
|
|
}
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getCardInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("GetCardInfo",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("getCardInfo json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取单条门诊就诊记录
|
|
|
* @param patient 居民id
|
|
|
* @param conNo 就诊次数
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//获取单条门诊就诊记录
|
|
|
public String findOutpatientInfo(String patient,String conNo)throws Exception{
|
|
|
String api = "FindOutpatientInfo";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(patient)){
|
|
|
condition += "<patient>"+patient+"</patient>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(conNo)){
|
|
|
condition += "<conNo>"+conNo+"</conNo>";
|
|
|
}
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("FindOutpatientInfo params:"+params.toString());
|
|
|
|
|
|
String xml = getXzzxWebServiceInfo("FindOutpatientInfo",params,getSelectUrl());
|
|
|
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("getCardInfo json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取门诊下所有处方信息
|
|
|
* @param registerSn 流水号(必传)
|
|
|
* @param patNo 病人id(必传)
|
|
|
* @param admNo 住院唯一号(必传)
|
|
|
* @param realOrder 处方号(非必传,传相当于查单条处方)
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//获取门诊下所有处方信息
|
|
|
public String getOriginPrescriptionList(String registerSn,String patNo,String admNo,String realOrder)throws Exception{
|
|
|
String api = "GetOriginPrescriptionList";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(registerSn)){
|
|
|
condition += "<registerSn>"+registerSn+"</registerSn>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(patNo)){
|
|
|
condition += "<patNo>"+patNo+"</patNo>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(admNo)){
|
|
|
condition += "<admNo>"+admNo+"</admNo>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(realOrder)){
|
|
|
condition += "<realOrder>"+realOrder+"</realOrder>";
|
|
|
}
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("getOriginPrescriptionList params:"+params.toString());
|
|
|
String xml = getXzzxWebServiceInfo("GetOriginPrescriptionList",params,getSelectUrl());
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("getOriginPrescriptionList json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 挂号(调his后台包)
|
|
|
* @param doctor 医生ID(必填)
|
|
|
* @param dept 科室编码(必填)
|
|
|
* @param sickId 病人id
|
|
|
* @param clinicclass 挂号类别(必填)
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//挂号(调his后台包)
|
|
|
public String registered(String doctor,String dept,String sickId,String clinicclass)throws Exception{
|
|
|
String api = "Registered";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(doctor)){
|
|
|
condition += "<doctor>"+doctor+"</doctor>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(dept)){
|
|
|
condition +="<dept>"+dept+"</dept>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(sickId)){
|
|
|
condition += "<sickId>"+sickId+"</sickId>";
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNoneBlank(clinicclass)){
|
|
|
condition +="<clinicclass>"+clinicclass+"</clinicclass>";
|
|
|
}
|
|
|
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("registered params:"+params.toString());
|
|
|
String xml = getXzzxWebServiceInfo("Registered",params,getOperateUrl());
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("registered json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 处方状态变更
|
|
|
* @param admNo 就诊唯一号(必填)
|
|
|
* @param realOrder 处方号(必填)
|
|
|
* @param status 处方状态:3结算完成(必填)
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
//处方状态变更
|
|
|
public String updatePreStatus(String admNo,String realOrder,String status)throws Exception{
|
|
|
String api = "UpdatePreStatus";
|
|
|
String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
|
|
|
"<root> " +
|
|
|
" <serverName>"+api+"</serverName> " +
|
|
|
" <format>xml</format>" +
|
|
|
" <callOperator></callOperator> " +
|
|
|
" <certificate>"+key+"</certificate> " +
|
|
|
"</root>";
|
|
|
String condition ="";
|
|
|
if (StringUtils.isNoneBlank(admNo)){
|
|
|
condition += "<admNo>"+admNo+"</admNo>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(realOrder)){
|
|
|
condition +="<realOrder>"+realOrder+"</realOrder>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(status)){
|
|
|
condition += "<status>"+status+"</status>";
|
|
|
}
|
|
|
|
|
|
String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
|
|
|
"<root>"+condition+"</root>";
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("updatePreStatus params:"+params.toString());
|
|
|
String xml = getXzzxWebServiceInfo("UpdatePreStatus",params,getOperateUrl());
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("updatePreStatus json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
//=====================微信模板消息推送===================================
|
|
|
|
|
|
public String sendMes(String wxId,String patient,String cardNo,String first,String noticeContent,String remark,String redirectUrl){
|
|
@ -557,7 +824,7 @@ public class XzzxEntranceService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取中山医院token
|
|
|
* 获取心脏医院token
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
@ -584,4 +851,81 @@ public class XzzxEntranceService {
|
|
|
|
|
|
//=====================微信模板消息推送接口================================
|
|
|
|
|
|
|
|
|
//=====================hospital应用调用entrance应用============start=================
|
|
|
|
|
|
/**
|
|
|
* 查询患者就诊卡
|
|
|
* @param idCard 身份证号
|
|
|
* @return
|
|
|
*/
|
|
|
public String selectPateintCard(String idCard){
|
|
|
String response="";
|
|
|
String url = entranceUrl+"findPatientCard?idCard="+idCard;
|
|
|
response = httpClientUtil.get(url,"GBK");
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取卡信息
|
|
|
* @param cardNo 就诊卡
|
|
|
* @return
|
|
|
*/
|
|
|
public String selectCardInfo(String cardNo){
|
|
|
String response="";
|
|
|
String url = entranceUrl+"getCardInfo?cardNo="+cardNo;
|
|
|
response = httpClientUtil.get(url,"GBK");
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取单条门诊就诊记录
|
|
|
* @param patient 居民id
|
|
|
* @param conNo 就诊次数
|
|
|
* @return
|
|
|
*/
|
|
|
public String selectOutpatientInfo(String patient,String conNo){
|
|
|
String response="";
|
|
|
String url = entranceUrl+"findOutpatientInfo?patient="+patient+"&conNo="+conNo;
|
|
|
response = httpClientUtil.get(url,"GBK");
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取门诊下所有处方信息
|
|
|
* @param registerSn 流水号
|
|
|
* @param patNo 病人id
|
|
|
* @param admNo 住院唯一号
|
|
|
* @param realOrder 处方号
|
|
|
* @return
|
|
|
*/
|
|
|
public String selectOriginPrescriptionList(String registerSn,String patNo,String admNo,String realOrder){
|
|
|
String response="";
|
|
|
String url = entranceUrl+"getOriginPrescriptionList?registerSn="+registerSn+"&patNo="+patNo+"&admNo="+admNo+"&realOrder"+realOrder;
|
|
|
response = httpClientUtil.get(url,"GBK");
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 挂号(调his后台包)
|
|
|
* @param doctor 医生ID(必填)
|
|
|
* @param dept 科室编码(必填)
|
|
|
* @param sickId 病人id
|
|
|
* @param clinicclass 挂号类别(必填)
|
|
|
* @return
|
|
|
*/
|
|
|
public String registeredOperate(String doctor,String dept,String sickId,String clinicclass){
|
|
|
String response="";
|
|
|
String url = entranceUrl+"registered?doctor="+doctor+"&dept="+dept+"&sickId="+sickId+"&clinicclass"+clinicclass;
|
|
|
response = httpClientUtil.get(url,"GBK");
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
|
|
|
//=====================hospital应用调用entrance应用============end=================
|
|
|
|
|
|
}
|