|  | @ -9,10 +9,13 @@ import com.yihu.wlyy.entity.doctor.profile.Doctor;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.followup.Followup;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.followup.FollowupContent;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.patient.Patient;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.patient.SignFamily;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.dict.SystemDictDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.doctor.DoctorDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.followup.FollowupContentDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.patient.PatientDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.patient.SignFamilyDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.app.team.DrHealthTeamService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.system.SystemDictService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.task.FollowupUploadTask;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.DateUtil;
 | 
	
	
		
			
				|  | @ -55,6 +58,12 @@ public class FollowUpService extends BaseService {
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	private ObjectMapper objectMapper;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	private SignFamilyDao signFamilyDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	private DrHealthTeamService drHealthTeamService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 转译随访信息
 | 
	
		
			
				|  |  |      */
 | 
	
	
		
			
				|  | @ -400,26 +409,6 @@ public class FollowUpService extends BaseService {
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 获取上次随访项目数据
 | 
	
		
			
				|  |  | 	 */
 | 
	
		
			
				|  |  | 	public Map<String,String> getLastFollowupProjectData(String doctor,String patient,String followupProject) throws Exception
 | 
	
		
			
				|  |  | 	{
 | 
	
		
			
				|  |  | 		Map<String,String> re = new HashMap<>();
 | 
	
		
			
				|  |  | 		Followup lastFollowup = followupDao.findLastFollowup(doctor,patient);
 | 
	
		
			
				|  |  | 		if(lastFollowup!=null)
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			List<FollowupContent> dataList =  followupContentDao.findByFollowupIdAndFollowupProject(lastFollowup.getId(),followupProject);
 | 
	
		
			
				|  |  | 			for(FollowupContent item:dataList)
 | 
	
		
			
				|  |  | 			{
 | 
	
		
			
				|  |  | 				re.put(item.getFollowupKey(),item.getFollowupValue());
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		return re;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 *保存面访项目数据
 | 
	
		
			
				|  |  | 	 */
 | 
	
	
		
			
				|  | @ -484,4 +473,90 @@ public class FollowUpService extends BaseService {
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/*************************************** 上次随访 ********************************************/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 获取团队医生
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  | 	private List<Doctor>  getTeamDoctors(String doctor,String patient) throws Exception
 | 
	
		
			
				|  |  | 	{
 | 
	
		
			
				|  |  | 		List<Doctor> doctors = new ArrayList<>();
 | 
	
		
			
				|  |  | 		//获取医生团队成员
 | 
	
		
			
				|  |  | 		SignFamily signFamily = signFamilyDao.findByFamilyDoctorAndPatient(doctor, patient);
 | 
	
		
			
				|  |  | 		// 查询家庭医生团队
 | 
	
		
			
				|  |  | 		if (signFamily != null) {
 | 
	
		
			
				|  |  | 			doctors = drHealthTeamService.findTeamDoctors(signFamily.getTeamCode());
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		// 查询三师团队医生
 | 
	
		
			
				|  |  | 		if (doctors == null || doctors.size() == 0) {
 | 
	
		
			
				|  |  | 			SignFamily sanshiSign = signFamilyDao.findBySanshiDoctorAndPatient(doctor, patient);
 | 
	
		
			
				|  |  | 			if (sanshiSign != null) {
 | 
	
		
			
				|  |  | 				doctors = drHealthTeamService.findTeamDoctors(patient, 1);
 | 
	
		
			
				|  |  | 			} else {
 | 
	
		
			
				|  |  | 				doctors = new ArrayList<>();
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		return doctors;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 获取上次随访
 | 
	
		
			
				|  |  | 	 */
 | 
	
		
			
				|  |  | 	public Map<String,String> getLastFollowup(String doctor,String patient,String followClass) throws Exception
 | 
	
		
			
				|  |  | 	{
 | 
	
		
			
				|  |  | 		Map<String,String> re = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		//获取医生团队成员
 | 
	
		
			
				|  |  | 		String[] doctors = new String[]{doctor};
 | 
	
		
			
				|  |  | 		List<Doctor> doctorList = getTeamDoctors(doctor,patient);
 | 
	
		
			
				|  |  | 		if(doctorList!=null&& doctorList.size()>1)
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			doctors = new String[doctorList.size()];
 | 
	
		
			
				|  |  | 			for(int i=0;i<doctorList.size();i++)
 | 
	
		
			
				|  |  | 			{
 | 
	
		
			
				|  |  | 				doctors[i] = doctorList.get(i).getCode();
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		//获取最新的随访记录
 | 
	
		
			
				|  |  | 		Followup followup = followupDao.findLastFollowup(doctors,patient,followClass);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		if(followup!=null)
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			re.put("id",String.valueOf(followup.getId()));
 | 
	
		
			
				|  |  | 			re.put("followupDate",DateUtil.dateToStrShort(followup.getFollowupDate()));
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		else{
 | 
	
		
			
				|  |  | 			re = null;
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		return re;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 获取上次随访
 | 
	
		
			
				|  |  | 	 */
 | 
	
		
			
				|  |  | 	public void copyFollowup(Long id,Long fromId) throws Exception
 | 
	
		
			
				|  |  | 	{
 | 
	
		
			
				|  |  | 		List<FollowupContent> list = followupContentDao.findByFollowupId(fromId);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		if(list!=null && list.size()>0)
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			List<FollowupContent> copyList = new ArrayList<>();
 | 
	
		
			
				|  |  | 			for (FollowupContent item :list)
 | 
	
		
			
				|  |  | 			{
 | 
	
		
			
				|  |  | 				FollowupContent copyItem = new FollowupContent();
 | 
	
		
			
				|  |  | 				copyItem.setFollowupId(id);
 | 
	
		
			
				|  |  | 				copyItem.setFollowupKey(item.getFollowupKey());
 | 
	
		
			
				|  |  | 				copyItem.setFollowupValue(item.getFollowupKey());
 | 
	
		
			
				|  |  | 				copyItem.setFollowupProject(item.getFollowupProject());
 | 
	
		
			
				|  |  | 				copyItem.setCreateTime(new Date());
 | 
	
		
			
				|  |  | 				copyList.add(copyItem);
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 			followupContentDao.save(copyList);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | }
 |