| 
					
				 | 
			
			
				@ -1,155 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.wlyy.service.app.concern; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.concern.ConcernDo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.profile.Doctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.Patient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.concern.ConcernDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorTeamDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.patient.PatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.BaseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.vavr.collection.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by Administrator on 2018/4/4 0004. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class ConcernService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ConcernDao concernDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PatientDao patientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorDao doctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorTeamDao doctorTeamDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorTeamMemberDao doctorTeamDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增患者关注医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctorCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param concernSource 关注方式: 1扫描二维码 2页面跳转 前端传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean addConcern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String patientCode, String doctorCode, Integer concernSource) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Patient patient = patientDao.findByCode(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Doctor doctor = doctorDao.findByCode(doctorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //新增关注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConcernDo concern = new ConcernDo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //新增关注的服务团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //建立团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DoctorTeam doctorTeam = new DoctorTeam(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String doctorTeamCode = getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeam.setName("签约团队患者:" + patient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeam.setCode(doctorTeamCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeam.setCzrq(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeam.setSignType("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeam.setDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDao.save(doctorTeam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setTeamCode(doctorTeamCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //添加团队成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DoctorTeamMember wlyyDoctorTeamDoctor = new DoctorTeamMember(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setTeam(doctorTeamCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setMemberCode(doctor.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setName(doctor.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setCode(getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoctorTeamDoctor.setCzrq(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDoctorDao.save(wlyyDoctorTeamDoctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存关注记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setCode(getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setName(patient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setConcernDoctorCode(doctor.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setConcernDoctorName(doctor.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setIdcard(patient.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setMobile(patient.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setSsc(patient.getSsc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setOpenid(patient.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setPatient(patient.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setConcernSource(concernSource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concernDao.save(concern); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除患者关注医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param concernCode 关注code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteConcern(String concernCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConcernDo concern = concernDao.findByCode(concernCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除关注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDao.deleteTeam(concern.getTeamCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除团队成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDoctorDao.deleteMember(concern.getTeamCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除患者关注医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientCode 患者code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctorCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void deleteConcern(String patientCode, String doctorCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConcernDo concern = concernDao.findByPatientAndDoctor(patientCode, doctorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除关注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        concern.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDao.deleteTeam(concern.getTeamCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除团队成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorTeamDoctorDao.deleteMember(concern.getTeamCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取患者关注医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Doctor> listDoctorsByPatientCode(String patientCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Doctor> doctors = concernDao.listDoctorsByPatientCode(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return doctors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取患者关注医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctorCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Patient> listPatientsByDoctorCode(String doctorCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Patient> patients = concernDao.listPatientsByDoctorCode(doctorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return patients; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |