|  | @ -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());
 | 
	
		
			
				|  |  | 
 |