| 
					
				 | 
			
			
				@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -365,6 +366,111 @@ public class SpecialistService{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop<SpecialistTeamVO> signSpecialistTeam(String patient,String patientName,String doctor,String doctorName,Long teamCode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //1.查询该居民是否已经与该专科医生签约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String checkDoctorSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient_name AS patientName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.team_code AS teamCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.`name`, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.photo " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_specialist_patient_relation r " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN "+basedb+".wlyy_admin_team t ON t.id = r.team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN "+basedb+".wlyy_doctor d ON d. CODE = r.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient = '"+patient+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.doctor = '"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.`status` >= '0' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.sign_status >= '0' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.available = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SpecialistTeamVO> specialistTeamVOs = jdbcTemplate.query(checkDoctorSql,new BeanPropertyRowMapper(SpecialistTeamVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(specialistTeamVOs!=null&&specialistTeamVOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(SpecialistTeamVO specialistTeamVO:specialistTeamVOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String menberSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " m.doctor_code AS doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " d.`name` AS doctorName " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " "+basedb+".wlyy_admin_team_member m " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " JOIN "+basedb+".wlyy_doctor d ON m.doctor_code = d.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " m.available='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " AND m.team_id="+specialistTeamVO.getTeamCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<AdminTeamMemberVO> adminTeamMemberVOs = jdbcTemplate.query(menberSql,new BeanPropertyRowMapper(AdminTeamMemberVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                specialistTeamVO.setMembers(adminTeamMemberVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getSuccess(SpecialistMapping.doctor_exist,specialistTeamVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //验证团队是否已经签约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String checkTeamSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient_name AS patientName, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.team_code AS teamCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.`name`, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.photo " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_specialist_patient_relation r " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN "+basedb+".wlyy_admin_team t ON t.id = r.team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN "+basedb+".wlyy_doctor d ON d. CODE = r.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " r.patient = '"+patient+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.`status` >='0' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND r.sign_status >='0' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.available = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SpecialistTeamVO> teamVOs = jdbcTemplate.query(checkTeamSql,new BeanPropertyRowMapper(SpecialistTeamVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(teamVOs!=null&&teamVOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(SpecialistTeamVO specialistTeamVO:teamVOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String menberSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " m.doctor_code AS doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " d.`name` AS doctorName " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " "+basedb+".wlyy_admin_team_member m " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " JOIN "+basedb+".wlyy_doctor d ON m.doctor_code = d.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " m.available='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        " AND m.team_id="+specialistTeamVO.getTeamCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<AdminTeamMemberVO> adminTeamMemberVOs = jdbcTemplate.query(menberSql,new BeanPropertyRowMapper(AdminTeamMemberVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                specialistTeamVO.setMembers(adminTeamMemberVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getSuccess(SpecialistMapping.team_exist,teamVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //存储签约关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SpecialistPatientRelationDO relation = new SpecialistPatientRelationDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setDoctorName(doctorName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setPatientName(patientName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setTeamCode(teamCode.intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setSignStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relation.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SpecialistPatientRelationDO relationDO = specialistPatientRelationDao.save(relation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success,relationDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop<Boolean> agreeSpecialistTeam(String state,String relationCode,String remark){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SpecialistPatientRelationDO relation = specialistPatientRelationDao.findOne(relationCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(state)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relation.setSignStatus("-2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relation.setRemark(remark); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            specialistPatientRelationDao.save(relation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relation.setSignStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            specialistPatientRelationDao.save(relation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccess(SpecialistMapping.api_success); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    public Envelop<Boolean> createSpecialists(List<SpecialistDO> info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        specialistDao.save(info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        return Envelop.getSuccess(SpecialistMapping.api_success,true); 
			 |