diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index ca0789e..5d39e9d 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -284,21 +284,29 @@ public class PatientsService { * 处理产后复查、产后追访数据显示及自动流转 */ public void dandleAutoReachDue() { + //处理产筛20周自动流转数据 + new Thread(new Runnable() { + @Override + public void run() { + handSieveTrack(); + } + }).start(); + //添加产后追访信息 TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); downRecordQuery.setTrackTypes(Arrays.asList(TrackDownDateEnums.F.getId(), TrackDownDateEnums.G.getId(), - TrackDownDateEnums.K.getId())); + TrackDownDateEnums.K.getId())); List records = trackDownRecordService.queryTrackDown(downRecordQuery); for (TrackDownRecord tr : records) { Patients patients = iPatientDao.getPatient(tr.getParentId()); - if (patients != null&&patients.getFmDate()!=null) {//分娩时间不为空 + if (patients != null && patients.getFmDate() != null) {//分娩时间不为空 //分娩距当前时间天数 int day = DateUtil.daysBetween(patients.getFmDate(), new Date()); if (day <= 60) {//产后60天内,可做产后访视或产后复查环节 if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访 - if(tr.getTrackType() == TrackDownDateEnums.K.getId()){//如果已经是产后复查已经转出,则不显示数据了 + if (tr.getTrackType() == TrackDownDateEnums.K.getId()) {//如果已经是产后复查已经转出,则不显示数据了 tr.setStatus(0); - }else{//否则进入产后复查追访 + } else {//否则进入产后复查追访 tr.setTrackType(TrackDownDateEnums.J.getId()); } trackDownRecordService.updateTrackDown(tr, tr.getId()); @@ -308,6 +316,25 @@ public class PatientsService { } } + /** + * 处理产筛追访数据,孕周大于20周自动进入产检追访 + */ + public void handSieveTrack() { + //添加产后追访信息 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setTrackType(TrackDownDateEnums.C.getId()); + + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + for (TrackDownRecord tr : records) { + Patients patients = iPatientDao.getPatient(tr.getParentId()); + int week = DateUtil.getWeek2(patients.getLastMenses(), new Date()); + if (week > 20) {//不能做产前筛查追访,显示产前检查追访 + tr.setTrackType(TrackDownDateEnums.I.getId()); + } + trackDownRecordService.updateTrackDown(tr, tr.getId()); + } + } + /** * 删除过期产筛的数据,删掉自动到期的部分 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index 287c57e..7309989 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -213,11 +213,11 @@ public class TrackDownFacade { //产后复查次数 map.put("fcCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)), PostReviewModel.class)); //产前检查次数(初诊+复诊) - map.put("checkCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("hospitalId").is(hospitalId)), AntenatalExaminationModel.class) + mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId)), AntExChuModel.class)); + map.put("checkCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("hospitalId").is(hospitalId).and("yn").is(1)), AntenatalExaminationModel.class) + mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)), AntExChuModel.class)); //复诊 - AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); + AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); if (examinationModel != null) { map.put("checkTime", DateUtil.getyyyy_MM_dd(examinationModel.getCheckDate())); //产检日期 if (examinationModel.getNextCheckTime() != null) { @@ -225,7 +225,7 @@ public class TrackDownFacade { } } else { //初诊 - AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); + AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); if (antExChuModel != null) { map.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); // 产检日期 if (antExChuModel.getNextCheckTime() != null) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java index 8fd33ca..033a81a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java @@ -116,7 +116,7 @@ public class TrackDownJobFacade { //怀孕建档数据加载 // downJobHandlers.add(new HYTrackDownDataLoader()); //产检数据加载 - downJobHandlers.add(new CJTrackDownDataLoader()); + // downJobHandlers.add(new CJTrackDownDataLoader()); //分娩数据加载,有自动任务处理 // downJobHandlers.add(new FMTrackDownDataLoader()); //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样