|
@ -6700,12 +6700,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
* @param outpatient
|
|
|
* @return
|
|
|
*/
|
|
|
public SystemMessageDO sendOutPatientMes(WlyyOutpatientDO outpatient,boolean payFlag) {
|
|
|
public SystemMessageDO sendOutPatientMes(WlyyOutpatientDO outpatient,boolean payFlag) {
|
|
|
System.out.println("发送新增门诊信息");
|
|
|
SystemMessageDO systemMessageDO = new SystemMessageDO();
|
|
|
String msg = "";
|
|
|
JSONObject data = new JSONObject();
|
|
|
try {
|
|
|
JSONObject data = new JSONObject();
|
|
|
//1.在线复诊2.协同门诊
|
|
|
if ("2".equals(outpatient.getOutpatientType())) {
|
|
|
systemMessageDO.setTitle("协同门诊");
|
|
@ -6718,81 +6718,85 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
msg="图文咨询";
|
|
|
} else if("3".equals(outpatient.getType())){
|
|
|
systemMessageDO.setTitle("家医咨询");
|
|
|
systemMessageDO.setType("15");
|
|
|
msg="家医咨询";
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
}else {
|
|
|
systemMessageDO.setTitle("视频咨询预约成功");
|
|
|
systemMessageDO.setType("2");
|
|
|
systemMessageDO.setType("17");
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
msg = "您的视频咨询已预约成功。\n" +
|
|
|
"预计" + outpatient.getDoctorName() + "医生将于" + outpatient.getRegisterDate() + " 与您进行视频咨询。请留意系统消息或微信公众号消息。咨询开始时,医生将邀请您进行视频通话,请您关注消息提醒,及时接受医生视频邀请。";
|
|
|
systemMessageDO.setReceiver(outpatient.getDoctor());
|
|
|
systemMessageDO.setReceiverName(outpatient.getDoctorName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
systemMessageDO.setSender(outpatient.getPatient());
|
|
|
systemMessageDO.setSenderName(outpatient.getPatientName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
|
|
|
|
|
|
data.put("name", outpatient.getPatientName());
|
|
|
data.put("age", IdCardUtil.getAgeForIdcard(outpatient.getIdcard()));
|
|
|
data.put("gender", IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
|
|
|
data.put("question", outpatient.getDescription());
|
|
|
data.put("msg", msg);
|
|
|
systemMessageDO.setData(data.toString());
|
|
|
systemMessageService.saveMessage(systemMessageDO);
|
|
|
|
|
|
sendWxTemplateMsg(wechatId, outpatient.getId(),null, "17", "videoOrderRemind", "");
|
|
|
}
|
|
|
systemMessageDO.setReceiver(outpatient.getDoctor());
|
|
|
systemMessageDO.setReceiverName(outpatient.getDoctorName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
systemMessageDO.setSender(outpatient.getPatient());
|
|
|
systemMessageDO.setSenderName(outpatient.getPatientName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
data.put("name", outpatient.getPatientName());
|
|
|
data.put("age", IdCardUtil.getAgeForIdcard(outpatient.getIdcard()));
|
|
|
data.put("gender", IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
|
|
|
data.put("question", outpatient.getDescription());
|
|
|
data.put("msg", msg);
|
|
|
systemMessageDO.setData(data.toString());
|
|
|
logger.info("添加模板消息4");
|
|
|
systemMessageService.saveMessage(systemMessageDO);
|
|
|
} else if ("1".equals(outpatient.getOutpatientType())) {//在线复诊
|
|
|
//1.图文 2.视频
|
|
|
if ("1".equals(outpatient.getType())) {
|
|
|
systemMessageDO.setTitle("图文复诊");
|
|
|
systemMessageDO.setType("1");
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
} else {
|
|
|
systemMessageDO.setTitle("视频复诊预约成功");
|
|
|
systemMessageDO.setType("2");
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
msg = "您的视频复诊已预约成功。\n" +
|
|
|
"预计" + outpatient.getDoctorName() + "医生将于" + outpatient.getRegisterDate() + " 与您进行视频咨询。请留意系统消息或微信公众号消息。咨询开始时,医生将邀请您进行视频通话,请您关注消息提醒,及时接受医生视频邀请。";
|
|
|
systemMessageDO.setReceiver(outpatient.getDoctor());
|
|
|
systemMessageDO.setReceiverName(outpatient.getDoctorName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
systemMessageDO.setSender(outpatient.getPatient());
|
|
|
systemMessageDO.setSenderName(outpatient.getPatientName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
|
|
|
|
|
|
data.put("name", outpatient.getPatientName());
|
|
|
data.put("age", IdCardUtil.getAgeForIdcard(outpatient.getIdcard()));
|
|
|
data.put("gender", IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
|
|
|
data.put("question", outpatient.getDescription());
|
|
|
data.put("msg", msg);
|
|
|
systemMessageDO.setData(data.toString());
|
|
|
systemMessageService.saveMessage(systemMessageDO);
|
|
|
sendWxTemplateMsg(wechatId, outpatient.getId(),null, "17", "videoOrderRemind", "");
|
|
|
//1.图文 2.视频
|
|
|
if ("1".equals(outpatient.getType())) {
|
|
|
systemMessageDO.setTitle("图文复诊");
|
|
|
systemMessageDO.setType("1");
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
msg="图文复诊";
|
|
|
} else {
|
|
|
systemMessageDO.setTitle("视频复诊预约成功");
|
|
|
systemMessageDO.setType("2");
|
|
|
|
|
|
if (payFlag){
|
|
|
saveInquirySystemMessage(outpatient,null);
|
|
|
}
|
|
|
msg = "您的视频复诊已预约成功。\n" +
|
|
|
"预计" + outpatient.getDoctorName() + "医生将于" + outpatient.getRegisterDate() + " 与您进行视频咨询。请留意系统消息或微信公众号消息。咨询开始时,医生将邀请您进行视频通话,请您关注消息提醒,及时接受医生视频邀请。";
|
|
|
|
|
|
sendWxTemplateMsg(wechatId, outpatient.getId(),null, "16", "videoOrderRemind", "");
|
|
|
}
|
|
|
systemMessageDO.setReceiver(outpatient.getDoctor());
|
|
|
systemMessageDO.setReceiverName(outpatient.getDoctorName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
systemMessageDO.setSender(outpatient.getPatient());
|
|
|
systemMessageDO.setSenderName(outpatient.getPatientName());
|
|
|
systemMessageDO.setRelationCode(outpatient.getId());
|
|
|
logger.info("添加模板消息5");
|
|
|
data.put("name", outpatient.getPatientName());
|
|
|
data.put("age", IdCardUtil.getAgeForIdcard(outpatient.getIdcard()));
|
|
|
data.put("gender", IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
|
|
|
data.put("question", outpatient.getDescription());
|
|
|
data.put("msg", msg);
|
|
|
systemMessageDO.setData(data.toString());
|
|
|
systemMessageService.saveMessage(systemMessageDO);
|
|
|
}
|
|
|
BasePatientDO patient = basePatientDao.findById(outpatient.getPatient());
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
ykyyService.pushNotificationToYktPatient(patient.getYktId(), systemMessageDO.getTitle(), data.get("msg").toString());
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
logger.error("sendOutPatientMes :" + e.toString());
|
|
|
return null;
|
|
|
return systemMessageDO;
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
logger.info("sendOutPatientMes"+e.getMessage());
|
|
|
return null;
|
|
|
}
|
|
|
return systemMessageDO;
|
|
|
}
|
|
|
|
|
|
public void saveInquirySystemMessage(WlyyOutpatientDO outpatient,ConsultTeamDo consultTeamDo) {
|
|
@ -9400,6 +9404,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
String ss = DateUtil.getStringDateShort();
|
|
|
System.out.println(ss);
|
|
|
}
|
|
|
public com.alibaba.fastjson.JSONObject selectHospitalInfo(String doctorId,String orgCode){
|
|
|
/**
|
|
|
* 1、今日待就诊:今日当前家庭医生在当前医院的未完成的协同门诊书
|
|
@ -9430,22 +9438,22 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
jsonObject.put("nextTime",null);
|
|
|
}
|
|
|
//3、服务评分:当前医院的综合服务评分
|
|
|
|
|
|
//在线医生:当前医院在班的专科医生数
|
|
|
String sql ="SELECT d.id as \"id\",d.name as \"name\" FROM base_doctor d WHERE (EXISTS (SELECT 1 FROM wlyy_doctor_work_time t WHERE t.doctor = d.id AND t.start_time >=:startTime AND t.end_time <=:endTime ) OR d.consult_status = '1')";
|
|
|
Map<String, Object> params = new HashedMap();
|
|
|
String timeCondition="";
|
|
|
if("xm_ykyy_wx".equals(wechatId)){
|
|
|
if (flag){
|
|
|
params.put("startTime",DateUtil.dateToStrLong(startTime));
|
|
|
params.put("endTime",DateUtil.dateToStrLong(endTime));
|
|
|
timeCondition+="AND t.start_time >= '"+nowDate+" 00:00:00'";
|
|
|
timeCondition+="AND t.start_time <= '"+nowDate+" 23:59:59'";
|
|
|
}else {
|
|
|
params.put("startTime","to_date('"+nowDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')");
|
|
|
params.put("endTime","to_date('"+nowDate+" 23:59:59','yyyy-mm-dd hh24:mi:ss')");
|
|
|
timeCondition+="AND t.start_time >= to_date('"+nowDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')";
|
|
|
timeCondition+="AND t.start_time <= to_date('"+nowDate+" 23:59:59','yyyy-mm-dd hh24:mi:ss')";
|
|
|
}
|
|
|
}else{
|
|
|
params.put("startTime",DateUtil.dateToStrLong(startTime));
|
|
|
params.put("endTime",DateUtil.dateToStrLong(endTime));
|
|
|
timeCondition+="AND t.start_time >= '"+nowDate+" 00:00:00'";
|
|
|
timeCondition+="AND t.start_time <= '"+nowDate+" 23:59:59'";
|
|
|
}
|
|
|
String sql ="SELECT d.id as \"id\",d.name as \"name\" FROM base_doctor d WHERE (EXISTS (SELECT 1 FROM wlyy_doctor_work_time t WHERE t.doctor = d.id "+timeCondition+" ) OR d.consult_status = '1')";
|
|
|
List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql, params);
|
|
|
jsonObject.put("onlineDoctors",list.size());
|
|
|
|