|
@ -469,6 +469,8 @@ public class JwPrescriptionService {
|
|
|
JSONArray dataArray = jwData.getJSONArray("DATA");
|
|
|
logger.info("从基卫获取随访信息数量"+ dataArray.size()+",社区名称:"+hospitalMapping.getName());
|
|
|
for (int i = 0; i < dataArray.size(); i++) {
|
|
|
|
|
|
// logger.info("同步单条随访记录-开始,时间:"+DateUtil.getStringDate());
|
|
|
Followup followup = new Followup();
|
|
|
|
|
|
JSONObject json = dataArray.getJSONObject(i);
|
|
@ -798,6 +800,7 @@ public class JwPrescriptionService {
|
|
|
followupContentESDO10.setFollowup_project("10");
|
|
|
newList.add(followupContentESDO10);
|
|
|
|
|
|
// logger.info("同步单条随访记录-ES数据对象组装完毕,时间:"+DateUtil.getStringDate());
|
|
|
//ES保存新数据
|
|
|
this.esSaveFollowupContentData(String.valueOf(followupId),newList);
|
|
|
|
|
@ -884,30 +887,32 @@ public class JwPrescriptionService {
|
|
|
|
|
|
//转MAP
|
|
|
followupResultMap = this.operaESFollowUpContentData(followupContentESDOList);
|
|
|
|
|
|
String JW_ORG_CODE = followup.getJworgCode();//基卫机构编码
|
|
|
String ORG_CODE = followup.getOrgCode();//本地机构编码
|
|
|
if(StringUtils.isBlank(JW_ORG_CODE)){
|
|
|
JW_ORG_CODE = hospitalMappingDao.getMappingCode(ORG_CODE,"1");
|
|
|
followup.setJworgCode(JW_ORG_CODE);
|
|
|
}
|
|
|
|
|
|
String OPERATOR = followup.getJwdoctorCode();//操作员&录入医生
|
|
|
if (StringUtils.isBlank(OPERATOR)) {
|
|
|
OPERATOR = doctorMappingDao.findByDocotrCodeAndJwDoctorHospital(followup.getDoctorCode(), followup.getOrgCode());
|
|
|
OPERATOR = doctorMappingDao.findByDocotrCodeAndJwDoctorHospital(followup.getDoctorCode(), followup.getJworgCode());
|
|
|
followup.setJwdoctorCode(OPERATOR);
|
|
|
}
|
|
|
|
|
|
followupResultMap.put("OPERATOR",OPERATOR);
|
|
|
|
|
|
String FOLLOWUP_NO = followup.getFollowupNo();//家庭医生服务随访主表ID
|
|
|
if (StringUtils.isBlank(FOLLOWUP_NO)) {
|
|
|
FOLLOWUP_NO = "0";
|
|
|
}else{
|
|
|
|
|
|
}
|
|
|
|
|
|
followupResultMap.put("FOLLOWUP_ID",String.valueOf(followup.getId()));
|
|
|
followupResultMap.put("FOLLOWUP_NO",FOLLOWUP_NO);
|
|
|
|
|
|
String FAMILY_FOLLOWUP_TYPE = "3";//随访类型,必传值3 【必填】
|
|
|
String ORG_CODE = followup.getOrgCode();//本地机构编码
|
|
|
String JW_ORG_CODE = followup.getJworgCode();//基卫机构编码
|
|
|
if(StringUtils.isBlank(JW_ORG_CODE)){
|
|
|
JW_ORG_CODE = hospitalMappingDao.getMappingCode(ORG_CODE,"1");
|
|
|
followup.setJworgCode(JW_ORG_CODE);
|
|
|
}
|
|
|
|
|
|
String FOLLOWUP_SOURCE = "3";//健康之路移动端
|
|
|
String IDENTITY_CARD_NO = followup.getIdcard();
|
|
|
String FAMILY_FOLLOWUP_CLASS_NAMES = followup.getFollowupClass();
|
|
@ -992,18 +997,19 @@ public class JwPrescriptionService {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
DecimalFormat df = new DecimalFormat("######0.00");
|
|
|
// DecimalFormat df = new DecimalFormat("######0.00");
|
|
|
|
|
|
//普通药品
|
|
|
// if(!followupDrugsNormal.isEmpty()){
|
|
|
for (int i = 0; i <= 6; i++) {
|
|
|
int tag = i+1;
|
|
|
if( !followupDrugsNormal.isEmpty() && followupDrugsNormal.size() >0 && followupDrugsNormal.size() <= tag){
|
|
|
if( !followupDrugsNormal.isEmpty() && followupDrugsNormal.size() >0 && i < followupDrugsNormal.size()){
|
|
|
followupResultMap.put("PHYSIC_NAME"+tag,followupDrugsNormal.get(i).getDrugsName());
|
|
|
followupResultMap.put("FREQUENCY"+tag,followupDrugsNormal.get(i).getFrequency());
|
|
|
followupResultMap.put("PHYSIC_UNIT"+tag,followupDrugsNormal.get(i).getUnit());
|
|
|
if(followupDrugsNormal.get(i).getDose() !=null){
|
|
|
followupResultMap.put("PHYSIC_DOSE"+tag,df.format(followupDrugsNormal.get(i).getDose()));
|
|
|
followupResultMap.put("PHYSIC_DOSE"+tag,followupDrugsNormal.get(i).getDose());
|
|
|
// followupResultMap.put("PHYSIC_DOSE"+tag,df.format(followupDrugsNormal.get(i).getDose()));
|
|
|
}else{
|
|
|
followupResultMap.put("PHYSIC_DOSE"+tag,"");
|
|
|
}
|
|
@ -1024,7 +1030,8 @@ public class JwPrescriptionService {
|
|
|
followupResultMap.put("INSULIN_FREQUENCY"+tag,followupDrugsInsulin.get(j).getFrequency());
|
|
|
followupResultMap.put("INSULIN_UNIT"+tag,followupDrugsInsulin.get(j).getUnit());
|
|
|
if(followupDrugsInsulin.get(j).getDose() !=null){
|
|
|
followupResultMap.put("INSULIN_DOSE"+tag,df.format(followupDrugsInsulin.get(j).getDose()));
|
|
|
followupResultMap.put("INSULIN_DOSE"+tag,followupDrugsInsulin.get(j).getDose());
|
|
|
// followupResultMap.put("INSULIN_DOSE"+tag,df.format(followupDrugsInsulin.get(j).getDose()));
|
|
|
}else{
|
|
|
followupResultMap.put("INSULIN_DOSE","");
|
|
|
}
|
|
@ -1200,6 +1207,7 @@ public class JwPrescriptionService {
|
|
|
JestClient jestClient = null;
|
|
|
|
|
|
try {
|
|
|
// logger.info("同步单条随访记录-开始建立ES数据连接,时间:"+DateUtil.getStringDate());
|
|
|
jestClient = elasticFactory.getJestClient();
|
|
|
//先根据条件查找出来
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
@ -1209,13 +1217,19 @@ public class JwPrescriptionService {
|
|
|
);
|
|
|
Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType).build();
|
|
|
SearchResult result = jestClient.execute(search);
|
|
|
// logger.info("同步单条随访记录-开始查询ES数据,时间:"+DateUtil.getStringDate());
|
|
|
List<FollowupContentESDO> dataList = result.getSourceAsObjectList(FollowupContentESDO.class);
|
|
|
// logger.info("同步单条随访记录-ES数据查询成功,时间:"+DateUtil.getStringDate());
|
|
|
if(!dataList.isEmpty()){
|
|
|
//删除原有记录
|
|
|
// logger.info("同步单条随访记录-开始删除ES数据,时间:"+DateUtil.getStringDate());
|
|
|
this.esDeleteFollowUpContent(dataList);
|
|
|
// logger.info("同步单条随访记录-ES数据删除成功,时间:"+DateUtil.getStringDate());
|
|
|
}
|
|
|
//保存新的随访详情记录
|
|
|
// logger.info("同步单条随访记录-开始保存ES数据,时间:"+DateUtil.getStringDate());
|
|
|
elastricSearchSave.save(newdatalist,esIndex,esType);
|
|
|
// logger.info("同步单条随访记录-ES数据保存成功,时间:"+DateUtil.getStringDate());
|
|
|
jestClient.shutdownClient();
|
|
|
}catch (Exception e){
|
|
|
logger.error(" save error :" + e.getMessage());
|