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