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