|
@ -13,12 +13,17 @@ import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
|
|
|
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
|
|
|
import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService;
|
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.restmodel.hospital.doctor.PersonInfoVO;
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
import com.yihu.jw.utils.StringUtil;
|
|
|
import com.yihu.jw.utils.WebserviceUtil;
|
|
|
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
|
|
|
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
|
|
|
import net.sf.json.xml.XMLSerializer;
|
|
|
import nu.xom.Builder;
|
|
|
import nu.xom.Document;
|
|
|
import nu.xom.Element;
|
|
|
import nu.xom.Elements;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.http.NameValuePair;
|
|
@ -30,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.StringReader;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
@ -160,6 +166,10 @@ public class TasyNatService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("registerPatient params:"+params.toString());
|
|
|
String xml = getTaszWebServiceInfo("CallInterface",params,getOperateUrl());
|
|
|
/*xml= xml.replace("<![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
|
|
|
xml= xml.replace("]]>","");*/
|
|
|
xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]"));
|
|
|
System.out.println(xml);
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("registerPatient json:"+json);
|
|
@ -200,6 +210,18 @@ public class TasyNatService {
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("clinicFee"))){
|
|
|
condition += "<clinicFee>"+jsonObject.getString("clinicFee")+"</clinicFee>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("address_now"))){
|
|
|
condition += "<address_now>"+jsonObject.getString("address_now")+"</address_now>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("ncp_standing_type"))){
|
|
|
condition += "<ncp_standing_type>"+jsonObject.getString("ncp_standing_type")+"</ncp_standing_type>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("ncp_profession"))){
|
|
|
condition += "<ncp_profession>"+jsonObject.getString("ncp_profession")+"</ncp_profession>";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("ncp_profession_sub"))){
|
|
|
condition += "<ncp_profession_sub>"+jsonObject.getString("ncp_profession_sub")+"</ncp_profession_sub>";
|
|
|
}
|
|
|
String itemCoditon="";
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("item"))){
|
|
|
JSONObject itemObject=jsonObject.getJSONObject("item");
|
|
@ -222,6 +244,10 @@ public class TasyNatService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("insertNucleicBill params:"+params.toString());
|
|
|
String xml = getTaszWebServiceInfo("CallInterface",params,getOperateUrl());
|
|
|
/*xml= xml.replace("<![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
|
|
|
xml= xml.replace("]]>","");*/
|
|
|
xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]"));
|
|
|
System.out.println(xml);
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("insertNucleicBill json:"+json);
|
|
@ -259,11 +285,16 @@ public class TasyNatService {
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("cancelNucleicBill params:"+params.toString());
|
|
|
String xml = getTaszWebServiceInfo("CallInterface",params,getOperateUrl());
|
|
|
/*xml= xml.replace("<![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
|
|
|
xml= xml.replace("]]>","");*/
|
|
|
xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]"));
|
|
|
System.out.println(xml);
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("cancelNucleicBill json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 核酸检测项目扣费
|
|
|
* @return
|
|
@ -294,16 +325,17 @@ public class TasyNatService {
|
|
|
Map<String,String> params = new HashedMap();
|
|
|
params.put("msgHeader",msgHeader);
|
|
|
params.put("msgBody",msgBody);
|
|
|
logger.info("cancelNucleicBill params:"+params.toString());
|
|
|
logger.info("ChargenucleicBill params:"+params.toString());
|
|
|
String xml = getTaszWebServiceInfo("CallInterface",params,getOperateUrl());
|
|
|
xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]"));
|
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
|
String json = xmlSerializer.read(xml).toString();
|
|
|
logger.info("cancelNucleicBill json:"+json);
|
|
|
logger.info("ChargenucleicBill json:"+json);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
//组装核算下单参数
|
|
|
public String initNatParams(String preNo,String patientName,String icCardNo){
|
|
|
public String initNatParams(String preNo,String patientName,String icCardNo,String address,String job,String jobChild){
|
|
|
List<WlyyHospitalSysDictDO> natConfigList = wlyyHospitalSysDictDao.findByDictName("natConfigList");
|
|
|
String deptCode = "0001";
|
|
|
String staffNo = "0001";
|
|
@ -312,6 +344,7 @@ public class TasyNatService {
|
|
|
String itemCode = "xmCode";
|
|
|
String itemName = "核酸检测";
|
|
|
String itemPrice = "0.01";
|
|
|
String ncpStandingType="";
|
|
|
for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:natConfigList){
|
|
|
if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"deptCode".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
deptCode = wlyyHospitalSysDictDO.getDictValue();
|
|
@ -334,6 +367,9 @@ public class TasyNatService {
|
|
|
if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"itemPrice".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
itemPrice = wlyyHospitalSysDictDO.getDictValue();
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"ncp_standing_type".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
ncpStandingType = wlyyHospitalSysDictDO.getDictValue();
|
|
|
}
|
|
|
}
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("preNo",preNo);
|
|
@ -343,6 +379,10 @@ public class TasyNatService {
|
|
|
jsonObject.put("staffNo",staffNo);
|
|
|
jsonObject.put("registerFee",registerFee);
|
|
|
jsonObject.put("clinicFee",clinicFee);
|
|
|
jsonObject.put("ncp_profession_sub",jobChild);
|
|
|
jsonObject.put("address_now",address);
|
|
|
jsonObject.put("ncp_profession",job);
|
|
|
jsonObject.put("ncp_standing_type",ncpStandingType);
|
|
|
JSONObject item = new JSONObject();
|
|
|
item.put("itemCode",itemCode);
|
|
|
item.put("itemName",itemName);
|
|
@ -364,8 +404,8 @@ public class TasyNatService {
|
|
|
//调用取消核酸接口
|
|
|
public String cancelNat(String hisTraceNo,String idCardNo,String patientName){
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hisTraceNo",hisTraceNo);
|
|
|
jsonObject.put("idCardNo",idCardNo);
|
|
|
jsonObject.put("hisTradeNo",hisTraceNo);
|
|
|
jsonObject.put("icCardNo",idCardNo);
|
|
|
jsonObject.put("patientName",patientName);
|
|
|
String res="";
|
|
|
try {
|
|
@ -530,4 +570,11 @@ public class TasyNatService {
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) throws Exception{
|
|
|
String xml="<StringResponse><StringValue><![CDATA[<?xml version=\"1.0\" encoding=\"utf-8\"?><root><ReturnCode>1</ReturnCode><hisTradeNo>599907010</hisTradeNo><ReturnMsg></ReturnMsg></root>]]></StringValue></StringResponse>";
|
|
|
|
|
|
xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]"));
|
|
|
System.out.println(xml);
|
|
|
|
|
|
}
|
|
|
}
|