|  | @ -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());
 |