| 
															
																@ -958,21 +958,33 @@ public class SpecialistService{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 专科-通过手机号码精确搜索注册居民 
															 | 
															
															 | 
															
																     * 专科-通过手机号码精确搜索注册居民 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @param keywords 
															 | 
															
															 | 
															
																     * @param keywords 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public MixEnvelop searchPatientInSpecialistNew(String keywords,Integer page,Integer pageSize) throws Exception{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public MixEnvelop searchPatientInSpecialistNew(String doctorCode,String keywords,Integer page,Integer pageSize) throws Exception{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sql1 = " select count(1) as num "; 
															 | 
															
															 | 
															
																        String sql1 = " select count(1) as num "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sql2 = " select p.name as name,p.idcard,p.code,p.photo ,r.sign_status"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String sql2 = " select p.name as name,p.idcard,p.code,p.photo"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String whereSql =""; 
															 | 
															
															 | 
															
																        String whereSql =""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(!StringUtils.isEmpty(keywords)){ 
															 | 
															
															 | 
															
																        if(!StringUtils.isEmpty(keywords)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            whereSql+=" and  p.mobile ='"+keywords+"'"; 
															 | 
															
															 | 
															
																            whereSql+=" and  p.mobile ='"+keywords+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //根据手机号码精确查找居民 
															 | 
															
															 | 
															
																        //根据手机号码精确查找居民 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String centerSql =" from "+basedb+".wlyy_patient p LEFT JOIN wlyy_specialist.wlyy_specialist_patient_relation r ON p.code=r.patient where  p.openid IS NOT NULL "+whereSql; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String centerSql =" from "+basedb+".wlyy_patient p /*LEFT JOIN wlyy_specialist.wlyy_specialist_patient_relation r ON p.code=r.patient */where  p.openid IS NOT NULL "+whereSql; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String signSql ="SELECT r.patient,r.sign_status  FROM  wlyy_specialist.wlyy_specialist_patient_relation r WHERE (r.sign_status = '1' or r.sign_status = '0') " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " AND doctor in (SELECT m.doctor_code FROM  "+basedb+".wlyy_admin_team_member m where m.team_id in " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " (SELECT dt.id FROM  "+basedb+".wlyy_admin_team dt LEFT JOIN  "+basedb+".wlyy_admin_team_member watm ON dt.id=watm.team_id " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " WHERE dt.available='1' AND watm.available='1' AND watm.doctor_code='"+doctorCode+"') AND  m.available='1')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<Map<String,Object>> map1=jdbcTemplate.queryForList(signSql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sqlCount=sql1+centerSql; 
															 | 
															
															 | 
															
																        String sqlCount=sql1+centerSql; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sql=sql2+centerSql+" LIMIT "+(page-1)*pageSize+","+pageSize; 
															 | 
															
															 | 
															
																        String sql=sql2+centerSql+" LIMIT "+(page-1)*pageSize+","+pageSize; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String,Object>> map = jdbcTemplate.queryForList(sql); 
															 | 
															
															 | 
															
																        List<Map<String,Object>> map = jdbcTemplate.queryForList(sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String,Object>> countMap = jdbcTemplate.queryForList(sqlCount); 
															 | 
															
															 | 
															
																        List<Map<String,Object>> countMap = jdbcTemplate.queryForList(sqlCount); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //根据居民查找专科签约状态 
															 | 
															
															 | 
															
																        //根据居民查找专科签约状态 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //已签约专科,获取签约信息 
															 | 
															
															 | 
															
																        //已签约专科,获取签约信息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Map<String,String> patientMap = new HashMap<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if(null!=map1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            map1.stream().forEach(temp->{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                patientMap.put(temp.get("patient").toString(),temp.get("sign_status").toString()) ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //未签约,获取居民信息,及专科医生信息 
															 | 
															
															 | 
															
																        //未签约,获取居民信息,及专科医生信息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String,Object>> resultList = new ArrayList<>(); 
															 | 
															
															 | 
															
																        List<Map<String,Object>> resultList = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Map m = null; 
															 | 
															
															 | 
															
																        Map m = null; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -983,13 +995,14 @@ public class SpecialistService{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            m = new HashMap(); 
															 | 
															
															 | 
															
																            m = new HashMap(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            age = IdCardUtil.getAgeForIdcard(one.get("idcard")+""); 
															 | 
															
															 | 
															
																            age = IdCardUtil.getAgeForIdcard(one.get("idcard")+""); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            sex = IdCardUtil.getSexForIdcard_new(one.get("idcard")+""); 
															 | 
															
															 | 
															
																            sex = IdCardUtil.getSexForIdcard_new(one.get("idcard")+""); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String patientCode=null==one.get("code")?"":one.get("code").toString(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            m.put("name",one.get("name")); 
															 | 
															
															 | 
															
																            m.put("name",one.get("name")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            m.put("age",age); 
															 | 
															
															 | 
															
																            m.put("age",age); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            m.put("sex",sex); 
															 | 
															
															 | 
															
																            m.put("sex",sex); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //1已签约,0待审核,-1未签约或已取消或已拒绝 
															 | 
															
															 | 
															
																            //1已签约,0待审核,-1未签约或已取消或已拒绝 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(null != one.get("sign_status")&& one.get("sign_status").toString().equals("1")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if(patientMap.containsKey(patientCode)&&"1".equals(patientMap.get(patientCode))){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                m.put("sign_status", 1); 
															 | 
															
															 | 
															
																                m.put("sign_status", 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else if(null != one.get("sign_status")&& one.get("sign_status").toString().equals("0")){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }else if(patientMap.containsKey(patientCode)&&"0".equals(patientMap.get(patientCode))){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                m.put("sign_status", 0); 
															 | 
															
															 | 
															
																                m.put("sign_status", 0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else { 
															 | 
															
															 | 
															
																            }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                m.put("sign_status", -1); 
															 | 
															
															 | 
															
																                m.put("sign_status", -1); 
															 |