|
@ -4711,6 +4711,19 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
remark);
|
|
|
logger.info("中山发送模板消息返回结果="+responseMsg);
|
|
|
System.out.println("结束发送模板消息");
|
|
|
}else if ("xm_zsyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
String prefix = "https://hlwyy.xmzsh.com";
|
|
|
responseMsg = entranceService.ehospitalNotice(
|
|
|
name,
|
|
|
idcard,
|
|
|
mobile,
|
|
|
first,
|
|
|
prefix + msgUrl,
|
|
|
contentMsg,
|
|
|
remark
|
|
|
);
|
|
|
logger.info("心脏发送模板消息返回结果="+responseMsg);
|
|
|
System.out.println("结束发送模板消息");
|
|
|
}
|
|
|
//保存发送模板记录,
|
|
|
WxPushLogDO wxPushLogDO = new WxPushLogDO();
|
|
@ -10413,10 +10426,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
public void saveNatAppointment(String mediaCard,String patientId,String name,String cardNo,String cardType,String mobile,
|
|
|
String firstJobCode,String firstJobName,String secondJobCode,String secondJobName,String natTime,String address,
|
|
|
String province,String provinceName,String city,String cityName,String town,String townName,String street,String streetName){
|
|
|
public Map saveNatAppointment(String mediaCard,String patientId,String name,String cardNo,String cardType,String mobile,
|
|
|
String firstJobCode,String firstJobName,String secondJobCode,String secondJobName,String natTime,String address,String provinceName,String cityName,String townName,String streetName){
|
|
|
BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO();
|
|
|
Map returnMap = new HashMap();
|
|
|
net.sf.json.JSONObject jsondate = new JSONObject();
|
|
|
jsondate.put("checkPart","鼻/咽拭子");
|
|
|
jsondate.put("cardNo",mediaCard);
|
|
@ -10425,10 +10438,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
jsondate.put("icdCode","Z00.000");
|
|
|
jsondate.put("socialNo",cardNo);
|
|
|
jsondate.put("tellPhone",mobile);
|
|
|
jsondate.put("address1",province);
|
|
|
jsondate.put("address2",city);
|
|
|
jsondate.put("address3",town);
|
|
|
jsondate.put("address4",street);
|
|
|
jsondate.put("address1",provinceName);
|
|
|
jsondate.put("address2",cityName);
|
|
|
jsondate.put("address3",townName);
|
|
|
jsondate.put("address4",streetName);
|
|
|
jsondate.put("address5",2);
|
|
|
jsondate.put("area",address);
|
|
|
jsondate.put("target",2);
|
|
@ -10436,76 +10449,114 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
net.sf.json.JSONObject rs = new JSONObject();
|
|
|
if (map!=null){
|
|
|
try {
|
|
|
rs = entranceService.BS10111(cardNo, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag);
|
|
|
net.sf.json.JSONObject res = rs.getJSONObject("resquest");
|
|
|
logger.info("挂号结果 res: " + res.toString());
|
|
|
String rsCode = res.getString("@RESULT");
|
|
|
if ("0".equals(rsCode)) {
|
|
|
//存储挂号号
|
|
|
// {"resquest":{"@RESULT":"0","@MSG":"完成","@serial_no":"47770476","@times":"28"}}
|
|
|
String serialNo = (String) res.get("@serial_no");
|
|
|
String conNo = (String) res.get("@times");
|
|
|
String xtgzh = (String) res.get("@xtgzh");
|
|
|
String realOrder = (String) res.get("@real_order");
|
|
|
logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo);
|
|
|
jsondate.put("serialNo",serialNo);
|
|
|
jsondate.put("dept",map.get("deptCode").toString());
|
|
|
jsondate.put("doctor",map.get("doctorMappingCode").toString());
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
// 存储挂号医生与挂号科室
|
|
|
registerDO.setDoctor(map.get("doctorCode").toString());
|
|
|
registerDO.setDoctorName(map.get("doctorName").toString());
|
|
|
registerDO.setDept(map.get("deptCode").toString());
|
|
|
registerDO.setDeptName(map.get("deptName").toString());
|
|
|
registerDO.setRealOrder(realOrder);
|
|
|
registerDO.setXtgzh(xtgzh);
|
|
|
registerDO.setPatient(patientId);
|
|
|
registerDO.setPatientName(name);
|
|
|
//挂号流水号与挂号次数
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
|
registerDO.setConNo(conNo);
|
|
|
registerDO.setCreateTime(new Date());
|
|
|
registerDO.setDel(1);
|
|
|
registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
patientRegisterDao.save(registerDO);
|
|
|
|
|
|
} else if ("-2".equals(rsCode)) {
|
|
|
String serialNo = (String) res.get("@serial_no");
|
|
|
String xtgzh = (String) res.get("@xtgzh");
|
|
|
String realOrder = (String) res.get("@real_order");
|
|
|
String conNo = (String) res.get("@times");
|
|
|
jsondate.put("serialNo",serialNo);
|
|
|
jsondate.put("dept",map.get("deptCode").toString());
|
|
|
jsondate.put("doctor",map.get("doctorMappingCode").toString());
|
|
|
logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo);
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
registerDO.setDoctor(map.get("doctorCode").toString());
|
|
|
registerDO.setDoctorName(map.get("doctorName").toString());
|
|
|
registerDO.setDept(map.get("deptCode").toString());
|
|
|
registerDO.setDeptName(map.get("deptName").toString());
|
|
|
registerDO.setRealOrder(realOrder);
|
|
|
registerDO.setXtgzh(xtgzh);
|
|
|
registerDO.setPatient(patientId);
|
|
|
registerDO.setPatientName(name);
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
|
registerDO.setConNo(conNo);
|
|
|
registerDO.setCreateTime(new Date());
|
|
|
registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
|
|
|
patientRegisterDao.save(registerDO);
|
|
|
//先进行核算检测预约
|
|
|
JSONArray jsonArray = entranceService.BS10144(map.get("deptCode").toString(),map.get("doctorMappingCode").toString(),natTime,mediaCard,name,patientId,mobile,demoFlag);
|
|
|
|
|
|
String date = DateUtil.dateToStr(new Date(), "yyyy-MM-dd");
|
|
|
List<WlyyPatientRegisterDO> patientRegisterDOs = patientRegisterDao.findByPatientAndDateAndDoctorAndDel(patientId, date,map.get("doctorCode").toString() ,1);
|
|
|
if (patientRegisterDOs != null && patientRegisterDOs.size() > 0) {
|
|
|
WlyyPatientRegisterDO registerDO = patientRegisterDOs.get(0);
|
|
|
//判断是否已经挂号,如果已经挂号
|
|
|
if (StringUtils.isNotBlank(registerDO.getConNo()) && StringUtils.isNotBlank(registerDO.getRegisterNo())) {
|
|
|
net.sf.json.JSONObject res = new JSONObject();
|
|
|
res.put("@RESULT", "0");
|
|
|
logger.info("已经挂号 res: " + res.toString());
|
|
|
jsondate.put("serialNo",registerDO.getRegisterNo());
|
|
|
jsondate.put("dept",map.get("deptCode").toString());
|
|
|
jsondate.put("doctor",map.get("doctorMappingCode").toString());
|
|
|
}else {
|
|
|
returnMap.put("msg","已经挂号的数据有误");
|
|
|
returnMap.put("status","-1");
|
|
|
return map;
|
|
|
}
|
|
|
}else {
|
|
|
rs = entranceService.BS10111(cardNo, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag);
|
|
|
net.sf.json.JSONObject res = rs.getJSONObject("resquest");
|
|
|
logger.info("挂号结果 res: " + res.toString());
|
|
|
String rsCode = res.getString("@RESULT");
|
|
|
if ("0".equals(rsCode)) {
|
|
|
//存储挂号号
|
|
|
// {"resquest":{"@RESULT":"0","@MSG":"完成","@serial_no":"47770476","@times":"28"}}
|
|
|
String serialNo = (String) res.get("@serial_no");
|
|
|
String conNo = (String) res.get("@times");
|
|
|
String xtgzh = (String) res.get("@xtgzh");
|
|
|
String realOrder = (String) res.get("@real_order");
|
|
|
logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo);
|
|
|
jsondate.put("serialNo",serialNo);
|
|
|
jsondate.put("dept",map.get("deptCode").toString());
|
|
|
jsondate.put("doctor",map.get("doctorMappingCode").toString());
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
// 存储挂号医生与挂号科室
|
|
|
registerDO.setDoctor(map.get("doctorCode").toString());
|
|
|
registerDO.setDoctorName(map.get("doctorName").toString());
|
|
|
registerDO.setDept(map.get("deptCode").toString());
|
|
|
registerDO.setDeptName(map.get("deptName").toString());
|
|
|
registerDO.setRealOrder(realOrder);
|
|
|
registerDO.setXtgzh(xtgzh);
|
|
|
registerDO.setPatient(patientId);
|
|
|
registerDO.setPatientName(name);
|
|
|
//挂号流水号与挂号次数
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
|
registerDO.setConNo(conNo);
|
|
|
registerDO.setCreateTime(new Date());
|
|
|
registerDO.setDel(1);
|
|
|
registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
patientRegisterDao.save(registerDO);
|
|
|
//保存日志
|
|
|
WlyyHttpLogDO log = new WlyyHttpLogDO();
|
|
|
log.setCode("registerOutPatient");
|
|
|
log.setName("挂号");
|
|
|
log.setPatient(patientId);
|
|
|
log.setDoctor(map.get("doctorCode").toString());
|
|
|
log.setResponse(rs.toString());
|
|
|
log.setStatus(rsCode);
|
|
|
log.setCreateTime(new Date());
|
|
|
wlyyHttpLogDao.save(log);
|
|
|
|
|
|
} else if ("-2".equals(rsCode)) {
|
|
|
String serialNo = (String) res.get("@serial_no");
|
|
|
String xtgzh = (String) res.get("@xtgzh");
|
|
|
String realOrder = (String) res.get("@real_order");
|
|
|
String conNo = (String) res.get("@times");
|
|
|
jsondate.put("serialNo",serialNo);
|
|
|
jsondate.put("dept",map.get("deptCode").toString());
|
|
|
jsondate.put("doctor",map.get("doctorMappingCode").toString());
|
|
|
logger.info("挂号流水 @serial_no: " + serialNo + " @times: " + conNo);
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
registerDO.setDoctor(map.get("doctorCode").toString());
|
|
|
registerDO.setDoctorName(map.get("doctorName").toString());
|
|
|
registerDO.setDept(map.get("deptCode").toString());
|
|
|
registerDO.setDeptName(map.get("deptName").toString());
|
|
|
registerDO.setRealOrder(realOrder);
|
|
|
registerDO.setXtgzh(xtgzh);
|
|
|
registerDO.setPatient(patientId);
|
|
|
registerDO.setPatientName(name);
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
|
registerDO.setConNo(conNo);
|
|
|
registerDO.setCreateTime(new Date());
|
|
|
registerDO.setDate(DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
|
|
|
patientRegisterDao.save(registerDO);
|
|
|
//保存日志
|
|
|
WlyyHttpLogDO log = new WlyyHttpLogDO();
|
|
|
log.setCode("registerOutPatient");
|
|
|
log.setName("挂号");
|
|
|
log.setPatient(patientId);
|
|
|
log.setDoctor(map.get("doctorCode").toString());
|
|
|
log.setResponse(rs.toString());
|
|
|
log.setStatus(rsCode);
|
|
|
log.setCreateTime(new Date());
|
|
|
wlyyHttpLogDao.save(log);
|
|
|
}else {
|
|
|
returnMap.put("msg","请求挂号失败");
|
|
|
returnMap.put("status","-1");
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//保存日志
|
|
|
WlyyHttpLogDO log = new WlyyHttpLogDO();
|
|
|
log.setCode("registerOutPatient");
|
|
|
log.setName("挂号");
|
|
|
log.setPatient(patientId);
|
|
|
log.setDoctor(map.get("doctorCode").toString());
|
|
|
log.setResponse(rs.toString());
|
|
|
log.setStatus(rsCode);
|
|
|
log.setCreateTime(new Date());
|
|
|
wlyyHttpLogDao.save(log);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@ -10529,6 +10580,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
baseNatAppointmentDO.setRealOrder(realOrder);
|
|
|
//成功后发送模板消息
|
|
|
sendNatWxTemplat(name,cardNo,mobile,natTime,realOrder,"natAppointmentRemind");
|
|
|
}else{
|
|
|
returnMap.put("msg","核酸检测开方失败");
|
|
|
returnMap.put("status","-1");
|
|
|
return map;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
@ -10540,17 +10595,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
baseNatAppointmentDO.setCardType(cardType);
|
|
|
baseNatAppointmentDO.setAddress(address);
|
|
|
baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDate(natTime,"yyyy-MM-dd hh:mm:ss"));
|
|
|
baseNatAppointmentDO.setCity(city);
|
|
|
baseNatAppointmentDO.setCityName(cityName);
|
|
|
baseNatAppointmentDO.setFirstJobCode(firstJobCode);
|
|
|
baseNatAppointmentDO.setFirstJobName(firstJobName);
|
|
|
baseNatAppointmentDO.setSecondJobCode(secondJobCode);
|
|
|
baseNatAppointmentDO.setSecondJobName(secondJobName);
|
|
|
baseNatAppointmentDO.setProvince(province);
|
|
|
baseNatAppointmentDO.setProvinceName(provinceName);
|
|
|
baseNatAppointmentDO.setTown(town);
|
|
|
baseNatAppointmentDO.setTownName(townName);
|
|
|
baseNatAppointmentDO.setStreet(street);
|
|
|
baseNatAppointmentDO.setStreet(streetName);
|
|
|
baseNatAppointmentDO.setPatientId(patientId);
|
|
|
baseNatAppointmentDO.setIsSuccess("0");
|
|
@ -10558,6 +10609,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
baseNatAppointmentDO.setCreateTime(new Date());
|
|
|
baseNatAppointmentDO.setMobile(mobile);
|
|
|
baseNatAppointmentDao.save(baseNatAppointmentDO);
|
|
|
returnMap.put("msg","预约成功");
|
|
|
returnMap.put("status","200");
|
|
|
return map;
|
|
|
}
|
|
|
public MixEnvelop getNatRecords(String patientId,Integer page ,Integer pageSize){
|
|
|
String sql = "select t.name as \"name\"," +
|
|
@ -10588,4 +10642,20 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
}
|
|
|
|
|
|
public List<Map<String,Object>> findBaseAddress(String addressFlag,String parentName){
|
|
|
String sql="";
|
|
|
if ("1".equalsIgnoreCase(addressFlag)){
|
|
|
sql+="select t.province_name as \"provinceName\" from base_address_mapping t group by t.province_name ";
|
|
|
}else if("2".equalsIgnoreCase(addressFlag)){
|
|
|
sql+="select t.city_name as \"cityName\" from base_address_mapping t where t.province_name ='"+parentName+"' and city_name <> '' and city_name is not null group by t.city_name ";
|
|
|
}else if("3".equalsIgnoreCase(addressFlag)){
|
|
|
sql+="select t.town_name as \"townName\" from base_address_mapping t where t.city_name ='"+parentName+"' and town_name <> '' and town_name is not null group by t.town_name";
|
|
|
}else if("4".equalsIgnoreCase(addressFlag)){
|
|
|
sql+="select t.street_name as \"streetName\" from base_address_mapping t where t.town_name ='"+parentName+"' and street_name <> '' and street_name is not null";
|
|
|
}
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
|
|
|
return list;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|