| 
					
				 | 
			
			
				@ -1,10 +1,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.SpecialistArticleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.SpecialistConsultDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.SpecialistDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.SpecialistPatientRelationDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.specialist.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.common.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.specialist.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.specialist.SpecialistMapping; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -126,7 +123,8 @@ public class SpecialistService{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient_name AS patientName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.photo, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " rd.create_time AS createTime " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " rd.create_time AS createTime ," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.sex " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_specialist_patient_relation r JOIN "+basedb+".wlyy_patient p ON p.code = r.patient  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " LEFT JOIN wlyy_patient_hospital_record rd ON r.discharge_record = rd.id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -138,7 +136,7 @@ public class SpecialistService{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   wlyy.wlyy_sign_patient_label_info i " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_type = '5' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_type = '7' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.status = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " )"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -173,4 +171,96 @@ public class SpecialistService{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success,patientRelationVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop<PatientLabelVO>  getPatientByLabel(String doctor,String labelType, String labelCode, Integer page, Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p. NAME, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p. CODE, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  YEAR ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   from_days(datediff(now(), p.birthday)) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  ), " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  '未知' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) age, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " lb.labelName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " lb.labelType, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " lb.label, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.photo, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " h.label_name as health, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " h.label AS healthcode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_type AS labelType, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_name AS labelName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   "+basedb+".wlyy_sign_patient_label_info i " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label = '"+labelCode+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND i.label_type = '"+labelType+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND i.`status` = '1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) lb " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN "+basedb+".wlyy_patient p ON p. CODE = lb.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN wlyy_specialist_patient_relation s ON s.patient = lb.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " LEFT JOIN ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  t.label, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  t.label_name, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  t.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  "+basedb+".wlyy_sign_patient_label_info t " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  t.label_type = '8' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.`status` = '1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) h ON h.patient = lb.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE s.doctor ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " LIMIT "+(page-1)*size+","+size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<PatientLabelVO> PatientLabelVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientLabelVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success,PatientLabelVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop<Long> getLabelpatientCount(String doctor,String label,String labelType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) as total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_type AS labelType, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label_name AS labelName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   "+basedb+".wlyy_sign_patient_label_info i " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   i.label = '"+label+"' "+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND i.label_type = '"+labelType+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND i.`status` = '1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) lb " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN wlyy_specialist_patient_relation s ON s.patient = lb.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " s.doctor = '"+doctor+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(rstotal!=null&&rstotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = (Long) rstotal.get(0).get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop<Long> getAssistantPatientCount(String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT COUNT(1) AS total FROM wlyy_specialist_patient_relation r WHERE r.health_assistant = '"+doctor+"' AND r.`status` <> '-1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(rstotal!=null&&rstotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = (Long) rstotal.get(0).get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |