diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java index a197040..c6c131b 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java @@ -1,14 +1,13 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.IAntExRecordDao; +import com.lyms.platform.biz.dal.IAntExRecordMDao; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; -import com.lyms.platform.pojo.AntExChuModel; -import com.lyms.platform.pojo.AntExRecordModel; -import com.lyms.platform.pojo.AntenatalExaminationModel; -import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.*; import com.lyms.platform.query.AntExChuQuery; import com.lyms.platform.query.AntExQuery; import com.lyms.platform.query.AntExRecordQuery; @@ -42,12 +41,40 @@ public class AntExRecordService { private PatientsService patientsService; @Autowired private CommonService commonService; + @Autowired + private IAntExRecordMDao iAntExRecordMDao; public List aggregateOne(AntExRecordQuery antExRecordQuery) { return antExRecordDao.aggregateOne(antExRecordQuery.convertToQuery()); } + private void handRecord( AntExRecordModel record ){ + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setParentId(record.getParentId()); + antExRecordQuery.setcId(record.getCheckDoctor()); + antExRecordQuery.setfId(record.getfId()); + Integer count = count(antExRecordQuery); + if (null == count || 0 == count) { + antExRecordDao.addOneRecord(record); + } + antExRecordQuery.setfId(null); + count = iAntExRecordMDao.count(antExRecordQuery.convertToQuery()); + if (null == count || 0 == count) { + AntExPRecordModel pRecordModel=new AntExPRecordModel(); + BeanUtils.copy(record, pRecordModel); + Patients p = patientsService.findOnePatientById(pRecordModel.getParentId()); + pRecordModel.sethRisk(p.getRiskFactorId()); + pRecordModel.sethScore(p.getRiskScore()); + try { + List list1 = JsonUtil.toList(p.getRiskLevelId(), List.class); + pRecordModel.sethLevel(list1); + }catch (Exception e){ + } + iAntExRecordMDao.addOneRecord(pRecordModel); + } + } + /** * 同步初诊和复诊记录到产检管理里面 * @@ -63,14 +90,7 @@ public class AntExRecordService { for (AntenatalExaminationModel antEx : list) { AntExRecordModel record = convert(antEx); if (null != record) { - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - antExRecordQuery.setParentId(record.getParentId()); - antExRecordQuery.setcId(record.getCheckDoctor()); - antExRecordQuery.setfId(record.getfId()); - Integer count = count(antExRecordQuery); - if (null == count || 0 == count) { - antExRecordDao.addOneRecord(record); - } + handRecord(record); } } @@ -85,14 +105,7 @@ public class AntExRecordService { for (AntExChuModel antEx : antExChuModelList) { AntExRecordModel record = convert(antEx); if (null != record) { - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - antExRecordQuery.setParentId(record.getParentId()); - antExRecordQuery.setcId(record.getCheckDoctor()); - antExRecordQuery.setfId(record.getfId()); - Integer count = count(antExRecordQuery); - if (null == count || 0 == count) { - antExRecordDao.addOneRecord(record); - } + handRecord(record); } } } @@ -108,14 +121,7 @@ public class AntExRecordService { for (AntenatalExaminationModel antEx : list) { AntExRecordModel record = convert(antEx); if (null != record) { - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - antExRecordQuery.setPid(record.getPid()); - antExRecordQuery.setcId(record.getCheckDoctor()); - antExRecordQuery.setfId(record.getfId()); - Integer count = count(antExRecordQuery); - if (null == count || 0 == count) { - antExRecordDao.addOneRecord(record); - } + handRecord(record); } } @@ -130,14 +136,7 @@ public class AntExRecordService { for (AntExChuModel antEx : antExChuModelList) { AntExRecordModel record = convert(antEx); if (null != record) { - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - antExRecordQuery.setPid(record.getPid()); - antExRecordQuery.setcId(record.getCheckDoctor()); - antExRecordQuery.setfId(record.getfId()); - Integer count = count(antExRecordQuery); - if (null == count || 0 == count) { - antExRecordDao.addOneRecord(record); - } + handRecord(record); } } } @@ -156,7 +155,6 @@ public class AntExRecordService { antExRecordQuery1.setPid(parentId); antExRecordDao.findAndMove(antExRecordQuery1.convertToQuery()); - syncSingle(parentId); }