|
@ -33,6 +33,8 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
import java.net.URL;
|
|
|
|
import java.net.URLEncoder;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
@ -380,7 +382,7 @@ public class TasyNatService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
jsonObject.put("preNo",preNo);
|
|
|
|
|
|
//jsonObject.put("preNo",preNo);
|
|
jsonObject.put("icCardNo",icCardNo);
|
|
jsonObject.put("icCardNo",icCardNo);
|
|
jsonObject.put("patientName",patientName);
|
|
jsonObject.put("patientName",patientName);
|
|
jsonObject.put("deptCode",deptCode);
|
|
jsonObject.put("deptCode",deptCode);
|
|
@ -538,11 +540,11 @@ public class TasyNatService {
|
|
first.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
first.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key1.put("value",baseNatAppointmentD0.getDoctorName());
|
|
key1.put("value",baseNatAppointmentD0.getDoctorName());
|
|
key1.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key1.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key2.put("value",baseNatAppointmentD0.getChargeAmount());
|
|
|
|
|
|
key2.put("value",baseNatAppointmentD0.getChargeAmount()+".00元");
|
|
key2.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key2.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key3.put("value",wxTemplateConfigDO1.getKeyword3());
|
|
key3.put("value",wxTemplateConfigDO1.getKeyword3());
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("value",baseNatAppointmentD0.getChargeAmount());
|
|
|
|
|
|
key4.put("value",baseNatAppointmentD0.getChargeAmount()+".00元");
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key5.put("value",baseNatAppointmentD0.getVoucherNo());
|
|
key5.put("value",baseNatAppointmentD0.getVoucherNo());
|
|
key5.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key5.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
@ -582,7 +584,7 @@ public class TasyNatService {
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("value",baseNatAppointmentD0.getDoctorName());
|
|
key4.put("value",baseNatAppointmentD0.getDoctorName());
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key5.put("value", DateUtil.formatDate(baseNatAppointmentD0.getCreateTime(),"yyyy-MM-dd hh:mm:ss"));
|
|
|
|
|
|
key5.put("value", DateUtil.formatDate(baseNatAppointmentD0.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
|
|
key5.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key5.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
remark.put("value",wxTemplateConfigDO1.getRemark());
|
|
remark.put("value",wxTemplateConfigDO1.getRemark());
|
|
remark.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
remark.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
@ -616,7 +618,7 @@ public class TasyNatService {
|
|
key1.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key1.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key2.put("value",baseNatAppointmentD0.getInspectionName());
|
|
key2.put("value",baseNatAppointmentD0.getInspectionName());
|
|
key2.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key2.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key3.put("value",DateUtil.formatDate(baseNatAppointmentD0.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"));
|
|
|
|
|
|
key3.put("value",DateUtil.formatDate(baseNatAppointmentD0.getAppointmentTime(),"yyyy-MM-dd HH:mm:ss"));
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key3.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("value",wxTemplateConfigDO1.getKeyword4());
|
|
key4.put("value",wxTemplateConfigDO1.getKeyword4());
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
key4.put("color",wxTemplateConfigDO1.getKeyword6());
|
|
@ -802,7 +804,7 @@ public class TasyNatService {
|
|
}
|
|
}
|
|
|
|
|
|
public void savePayStatusByHis(String patientId) throws Exception {
|
|
public void savePayStatusByHis(String patientId) throws Exception {
|
|
List<BaseNatAppointmentDO> baseNatAppointmentDOList = baseNatAppointmentDao.findPayStatusByPatientId(patientId);
|
|
|
|
|
|
List<BaseNatAppointmentDO> baseNatAppointmentDOList = baseNatAppointmentDao.findPayStatusByPatientIdTASY(patientId);
|
|
for (BaseNatAppointmentDO baseNatAppointmentDO:baseNatAppointmentDOList){
|
|
for (BaseNatAppointmentDO baseNatAppointmentDO:baseNatAppointmentDOList){
|
|
String res = QueryApplyInfo(baseNatAppointmentDO.getRealOrder());
|
|
String res = QueryApplyInfo(baseNatAppointmentDO.getRealOrder());
|
|
JSONObject jsonObject = JSON.parseObject(res);
|
|
JSONObject jsonObject = JSON.parseObject(res);
|
|
@ -817,6 +819,20 @@ public class TasyNatService {
|
|
businessOrderDO.setStatus(1);
|
|
businessOrderDO.setStatus(1);
|
|
businessOrderDao.save(businessOrderDO);
|
|
businessOrderDao.save(businessOrderDO);
|
|
}
|
|
}
|
|
|
|
}else if ("已退费".equalsIgnoreCase(jsonObject.getString("Status"))){
|
|
|
|
logger.info("进入退费订单同步");
|
|
|
|
baseNatAppointmentDO.setPayStatus("-1");
|
|
|
|
baseNatAppointmentDO.setIsSuccess("-1");
|
|
|
|
baseNatAppointmentDO.setCancelReson("患者本人线下取消");
|
|
|
|
baseNatAppointmentDO.setCancelTime(new Date());
|
|
|
|
baseNatAppointmentDO.setCancelBy(patientId);
|
|
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(baseNatAppointmentDO.getId().toString());
|
|
|
|
if (businessOrderDO!=null){
|
|
|
|
businessOrderDO.setStatus(-1);
|
|
|
|
businessOrderDao.save(businessOrderDO);
|
|
|
|
}
|
|
|
|
//取消号源
|
|
|
|
//cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
|
|
}
|
|
}
|
|
baseNatAppointmentDao.save(baseNatAppointmentDO);
|
|
baseNatAppointmentDao.save(baseNatAppointmentDO);
|
|
}
|
|
}
|
|
@ -850,6 +866,11 @@ public class TasyNatService {
|
|
orderObj.put("openId",openId);
|
|
orderObj.put("openId",openId);
|
|
orderObj.put("name",baseNatAppointmentDO.getName());
|
|
orderObj.put("name",baseNatAppointmentDO.getName());
|
|
orderObj.put("idNo",baseNatAppointmentDO.getCardNo());
|
|
orderObj.put("idNo",baseNatAppointmentDO.getCardNo());
|
|
|
|
Map mapHis=getPatientHisId(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getMedicare());
|
|
|
|
orderObj.put("patientId",mapHis.get("Patientid").toString());
|
|
|
|
orderObj.put("mobile",mapHis.get("MobilePhone").toString());
|
|
|
|
//orderObj.put("socialCard","");
|
|
|
|
orderObj.put("icCard",baseNatAppointmentDO.getMedicare());
|
|
BigDecimal b = new BigDecimal(baseNatAppointmentDO.getChargeAmount());
|
|
BigDecimal b = new BigDecimal(baseNatAppointmentDO.getChargeAmount());
|
|
b=b.setScale(2, BigDecimal.ROUND_DOWN);
|
|
b=b.setScale(2, BigDecimal.ROUND_DOWN);
|
|
System.out.println("amount"+b);
|
|
System.out.println("amount"+b);
|
|
@ -926,13 +947,16 @@ public class TasyNatService {
|
|
params.put("msg",msgBody);
|
|
params.put("msg",msgBody);
|
|
logger.info("hdrQueryDataWS params:"+params.toString());
|
|
logger.info("hdrQueryDataWS params:"+params.toString());
|
|
String xml = getTaszWebServiceInfo("hdrQueryDataWS",params,gethsQueryDataWS());
|
|
String xml = getTaszWebServiceInfo("hdrQueryDataWS",params,gethsQueryDataWS());
|
|
xml=xml.substring(xml.indexOf("<ArrayList>"),xml.lastIndexOf("]]"));
|
|
|
|
|
|
if (xml.contains("<ArrayList>")){
|
|
|
|
xml=xml.substring(xml.indexOf("<ArrayList>"),xml.lastIndexOf("]]"));
|
|
|
|
}else {
|
|
|
|
xml=xml.substring(xml.indexOf("<?xml"),xml.lastIndexOf("]]"));
|
|
|
|
}
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
XMLSerializer xmlSerializer = new XMLSerializer();
|
|
String json = xmlSerializer.read(xml).toString();
|
|
String json = xmlSerializer.read(xml).toString();
|
|
logger.info("hdrQueryDataWS json:"+json);
|
|
logger.info("hdrQueryDataWS json:"+json);
|
|
return json;
|
|
return json;
|
|
}
|
|
}
|
|
|
|
|
|
public Map checkBalance(String relationCode) throws Exception{
|
|
public Map checkBalance(String relationCode) throws Exception{
|
|
BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(Integer.parseInt(relationCode));
|
|
BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(Integer.parseInt(relationCode));
|
|
WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("MzBalance");
|
|
WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("MzBalance");
|
|
@ -1002,7 +1026,8 @@ public class TasyNatService {
|
|
result.put("msg","验证通过");
|
|
result.put("msg","验证通过");
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
public String getPatientHisId(String idcard,String mediacard) throws Exception{
|
|
|
|
|
|
public Map getPatientHisId(String idcard,String mediacard) throws Exception{
|
|
|
|
Map map = new HashMap();
|
|
String res = findHisPatientCard(idcard);
|
|
String res = findHisPatientCard(idcard);
|
|
JSONObject jsonObject = JSON.parseObject(res);
|
|
JSONObject jsonObject = JSON.parseObject(res);
|
|
if ("1".equalsIgnoreCase(jsonObject.getString("ReturnCode"))) {
|
|
if ("1".equalsIgnoreCase(jsonObject.getString("ReturnCode"))) {
|
|
@ -1014,7 +1039,10 @@ public class TasyNatService {
|
|
JSONObject child = jsonArray.getJSONObject(i);
|
|
JSONObject child = jsonArray.getJSONObject(i);
|
|
if (mediacard.equalsIgnoreCase(child.getString("CardNo"))) {
|
|
if (mediacard.equalsIgnoreCase(child.getString("CardNo"))) {
|
|
String Patientid = child.getString("Patientid");
|
|
String Patientid = child.getString("Patientid");
|
|
return Patientid;
|
|
|
|
|
|
String MobilePhone = child.getString("MobilePhone");
|
|
|
|
map.put("Patientid",Patientid);
|
|
|
|
map.put("MobilePhone",MobilePhone);
|
|
|
|
return map;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@ -1024,7 +1052,10 @@ public class TasyNatService {
|
|
JSONObject jsonObject1 = JSONObject.parseObject(patients);
|
|
JSONObject jsonObject1 = JSONObject.parseObject(patients);
|
|
if (mediacard.equalsIgnoreCase(jsonObject1.getString("CardNo"))) {
|
|
if (mediacard.equalsIgnoreCase(jsonObject1.getString("CardNo"))) {
|
|
String Patientid = jsonObject1.getString("Patientid");
|
|
String Patientid = jsonObject1.getString("Patientid");
|
|
return Patientid;
|
|
|
|
|
|
String MobilePhone = jsonObject1.getString("MobilePhone");
|
|
|
|
map.put("Patientid",Patientid);
|
|
|
|
map.put("MobilePhone",MobilePhone);
|
|
|
|
return map;
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
@ -1032,6 +1063,6 @@ public class TasyNatService {
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
|
|
|
|
return map;
|
|
}
|
|
}
|
|
}
|
|
}
|