diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index be0a978..c3bb440 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -46,6 +46,9 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS private AntExRecordService recordService; @Autowired + private AntenatalExaminationService antenatalExaminationService; + + @Autowired private SieveService sieveService; @Autowired private PostReviewService postReviewService; @@ -885,6 +888,11 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS } else if (3 == trackDown.getTrackDownTransfer()) { patients.setStop("1"); } + //预约时间冗余到下次产检时间 + if (trackDown.getTrackDownDateType() == TrackDownDateEnums.C.getId()) + { + patients.setNextCheckTime(trackDown.getReservatDate()); + } patientsService.updatePatientOne(patients, trackDownRecord.getParentId()); } //获取妇女建党id @@ -918,6 +926,13 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS trackDownRecord1.setStop("1"); } } + + //预约时间冗余到下次产检时间 + if (trackDown.getTrackDownDateType() == TrackDownDateEnums.C.getId()) + { + trackDownRecord1.setNextCheckTime(trackDown.getReservatDate()); + } + //冗余产筛 预约追访时间 if (trackDown.getTrackDownDateType() == 4) { if (trackDown.getReservatDate() != null) { @@ -950,7 +965,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS trackDownService.add(trackDown); String recordId = trackDown.getTrackDownRecId(); updateRecordStatus(trackDown, recordId); - updateTrackCount(trackDown.getParentId()); + updateTrackCount(trackDown); return RespBuilder.buildSuccess(trackDown.getId()); } /** @@ -974,12 +989,12 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS /** - * 追访统计 - * @param patientId + * 追访统计 和更新产检的最后一次产检的预约时间 + * @param trackDown */ - private void updateTrackCount(String patientId) + private void updateTrackCount(TrackDown trackDown) { - Patients patients = patientsService.findOnePatientById(patientId); + Patients patients = patientsService.findOnePatientById(trackDown.getParentId()); if (patients != null) { TrackCountRecord record = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(patients.getPid())).with(new Sort(Sort.Direction.DESC, @@ -992,6 +1007,45 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS .convertToNativeUpdate(ReflectionUtils.getUpdateField(record)); mongoTemplate.updateFirst(query, update, TrackCountRecord.class); } + + + if (trackDown.getTrackDownDateType() == TrackDownDateEnums.C.getId()) + { + System.out.println("pid="+trackDown.getPid()); + String fid = ""; + List examinationModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(trackDown.getPid()).and("yn").is(YnEnums.YES.getId()).and("lastMenses").gte(patients.getLastMenses())), AntenatalExaminationModel.class); + if (CollectionUtils.isNotEmpty(examinationModel)) { + AntenatalExaminationModel model = examinationModel.get(0); + fid = model.getId(); + model.setNextCheckTime(trackDown.getReservatDate()); + antenatalExaminationService.updateOneAnt(model, model.getId()); + } + else + { + List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(trackDown.getPid()).and("yn"). + is(YnEnums.YES.getId()).and("lastMenses").gte(patients.getLastMenses())), AntExChuModel.class); + if (CollectionUtils.isNotEmpty(antExChuModels)) { + AntExChuModel model = antExChuModels.get(0); + model.setNextCheckTime(trackDown.getReservatDate()); + fid = model.getId(); + antenatalExaminationService.updateAntExChu(model, model.getId()); + } + } + System.out.println("fid="+fid); + if (StringUtils.isNotEmpty(fid)) + { + //更新产检记录冗余表 + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setfId(fid); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); + if (CollectionUtils.isNotEmpty(antExRecordModelList)) + { + AntExRecordModel model = antExRecordModelList.get(0); + model.setNextCheckTime(trackDown.getReservatDate()); + recordService.updateOne(model,model.getId()); + } + } + } } }