| 
					
				 | 
			
			
				@ -2,11 +2,13 @@ package com.yihu.jw.door.service.followup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorServiceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.followup.FollowUpDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.service.common.WlyySystemDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.patient.BasePatientDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.system.SystemDictEntryDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorServiceOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.followup.Followup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.es.es.ElasticFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.es.es.ElastricSearchSave; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -53,6 +55,37 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorDao doctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BasePatientDao patientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private WlyyDoorServiceOrderDao doorServiceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * ES获取面访项目数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public FollowupContentESDO esGetFollowupProjectData(String id, String followupProject) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JestClient jestClient = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        FollowupContentESDO followupContentESDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据随访ID、分类ID获取随访记录详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jestClient = elasticFactory.getJestClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //先根据条件查找出来 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            searchSourceBuilder.query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    new BoolQueryBuilder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .must(QueryBuilders.matchQuery("followup_id", id)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .must(QueryBuilders.matchQuery("followup_project", followupProject)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SearchResult result = jestClient.execute(search); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            followupContentESDO = result.getSourceAsObject(FollowupContentESDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (jestClient != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jestClient.shutdownClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return followupContentESDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增临时随访记录(返回ID) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -73,8 +106,8 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String followupClasss[] = followupClass.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String followupClassTemp:followupClasss){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Followup followupTemp = followupDao.getFollowupByPrescriptionCode(relateCode,followupClassTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(followupTemp != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Followup> followupTemp = followupDao.getFollowupListByPrescriptionCode(relateCode,followupClassTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(followupTemp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Followup followup = new Followup(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -82,6 +115,8 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Date followDate = DateUtil.strToDate(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                followup.setFollowupDate(followDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                followup.setFollowupPlanDate(followDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                followup.setFollowupDate(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            followup.setDoctorCode(doctorCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -140,6 +175,11 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            followupDao.save(followup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyDoorServiceOrderDO orderDO = doorServiceOrderDao.findOne(relateCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(orderDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orderDO.setFollowupDate(DateUtil.getStringDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -344,7 +384,6 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("followupTypeName", followupTypeName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访类别转译 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String followupClass = followup.getFollowupClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("followupClass", followupClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -364,8 +403,10 @@ public class FollowUpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访管理状态转译 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("followupManagerStatus", followup.getFollowupManagerStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String followupManagerStatusName = systemDictService.getDictValue("FOLLOWUP_MANAGER_STATUS", followup.getFollowupManagerStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("followupManagerStatusName", followupManagerStatusName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNoneBlank(followup.getFollowupManagerStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String followupManagerStatusName = systemDictService.getDictValue("FOLLOWUP_MANAGER_STATUS", followup.getFollowupManagerStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            re.put("followupManagerStatusName", followupManagerStatusName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("doctorCode", followup.getDoctorCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        re.put("doctorName", followup.getDoctorName()); 
			 |