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 54d3993..15dd0b4 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 @@ -288,7 +288,7 @@ public class PatientsService { handSieveTrack(); //开始处理产检、产筛追访数据进入分娩追访,由于数据量比较大暂时关闭,后期进行分页处理 - patientAutoFm(); + // patientAutoFm(); //自动流转产后复查转出或产后访视转出 trackAutoFlow(); @@ -334,7 +334,7 @@ public class PatientsService { /** - * 开始处理产检、产筛追访数据进入分娩追访 + * 开始处理产检、产筛追访数据 */ public void patientAutoFm() { //添加产后追访信息 @@ -344,19 +344,32 @@ public class PatientsService { System.out.println("开始处理产检、产筛追访数据进入产后复查追访:" + records.size()); for (TrackDownRecord tr : records) { Patients patients = iPatientDao.getPatient(tr.getParentId()); - if (patients != null && patients.getType() == 3) {//产妇 - System.out.println("产检追访已经分娩:" + patients.getId()); - //分娩距当前时间天数 - int day = DateUtil.daysBetween(patients.getFmDate(), new Date()); - if (day <= 60) {//产后60天内,可做产后访视或产后复查环节 - if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访 - tr.setTrackType(TrackDownDateEnums.G.getId()); - } else { - tr.setTrackType(TrackDownDateEnums.F.getId()); + if (patients != null){ + if( patients.getType() == 3) {//产妇 + System.out.println("产检追访已经分娩:" + patients.getId()); + //分娩距当前时间天数 + int day = DateUtil.daysBetween(patients.getFmDate(), new Date()); + if (day <= 60) {//产后60天内,可做产后访视或产后复查环节 + if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访 + tr.setTrackType(TrackDownDateEnums.G.getId()); + } else { + tr.setTrackType(TrackDownDateEnums.F.getId()); + } + } else {//否则不显示 + System.out.println("开始处理产检、产筛追访数据进入分娩追访:" + patients.getId()); + tr.setStatus(0); + } + }if(patients.getType() == 1){ + if (patients.getLastMenses() != null) { + int week = DateUtil.getWeek2(patients.getLastMenses(), new Date()); + if (week > 20) {//不能做产前筛查追访,显示产前检查追访 + if (tr.getTrackType() == TrackDownDateEnums.C.getId()) { + tr.setTrackType(TrackDownDateEnums.I.getId()); + } else if (tr.getTrackType() == TrackDownDateEnums.H.getId()) { + tr.setTrackType(TrackDownDateEnums.E.getId()); + } + } } - } else {//否则不显示 - System.out.println("开始处理产检、产筛追访数据进入分娩追访:" + patients.getId()); - tr.setStatus(0); } trackDownRecordService.updateTrackDown(tr, tr.getId()); } @@ -373,6 +386,7 @@ public class PatientsService { downRecordQuery.setTrackTypes(Arrays.asList(TrackDownDateEnums.C.getId(), TrackDownDateEnums.H.getId())); List records = trackDownRecordService.queryTrackDown(downRecordQuery); + System.out.println("开始处理孕周大于20周自动进入产检追访:"+records.size()); for (TrackDownRecord tr : records) { Patients patients = iPatientDao.getPatient(tr.getParentId()); if (patients == null || tr == null) {