From 39c068eb69e70528d45ae52cf3898204c33e174d Mon Sep 17 00:00:00 2001 From: zhuangyuanke Date: Wed, 24 Jul 2024 18:21:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E7=94=A8=E5=87=BA=E9=99=A2=E6=97=B6=E9=97=B4?= =?UTF-8?q?discharge=5Ftime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/subscribeTaskServiceImpl.java | 105 ++++++++++-------- 1 file changed, 60 insertions(+), 45 deletions(-) diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java index f9a9bcfc..5cbc5709 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java @@ -58,52 +58,67 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService { } //判断路径节点,组装数据 - //如果节点 适用范围是 出院后或就诊/出院后 - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { - PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); - //患者类型如果是 出院患者 - if (patientVO.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo())) { - //出院时间 - LocalDate localDate = patientVO.getDischargeTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); - signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); - patientVOList.add(signPatientManageRouteNode); - } - } + PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); + LocalDate localDate = patientVO.getDischargeTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); + boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); + if (before) { + signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); + //转换成中文…… + signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.getNameByInfo(signPatientManageRouteNode.getRouteNodeName()).getName()); + patientVOList.add(signPatientManageRouteNode); } - //如果节点适用范围是 入院后 - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) { - PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); - //患者类型如果是 在院患者 - if (patientVO.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo())) { - //入院时间 - LocalDate localDate = patientVO.getAdmissionTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); - signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName()); - patientVOList.add(signPatientManageRouteNode); - } - } - } - //如果节点 适用范围是 就诊后 或 就诊/出院后 - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { - PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); - //患者类型如果是 门诊患者 - if (patientVO.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && patientVO.getAdmissionTime() == null) { - //就诊时间 - LocalDate localDate = patientVO.getVisitDate().plusDays(signPatientManageRouteNode.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); - signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName()); - patientVOList.add(signPatientManageRouteNode); - } - } - } - } + patientVOList.add(signPatientManageRouteNode); + + +// //如果节点 适用范围是 出院后或就诊/出院后 +// if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { +// PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); +// //患者类型如果是 出院患者 +// if (patientVO.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo())) { +// //出院时间 +// LocalDate localDate = patientVO.getDischargeTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); +// signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); +// patientVOList.add(signPatientManageRouteNode); +// } +// } +// } +// //如果节点适用范围是 入院后 +// if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) { +// PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); +// //患者类型如果是 在院患者 +// if (patientVO.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo())) { +// //入院时间 +// LocalDate localDate = patientVO.getAdmissionTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); +// signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName()); +// patientVOList.add(signPatientManageRouteNode); +// } +// } +// } +// //如果节点 适用范围是 就诊后 或 就诊/出院后 +// if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { +// PatientVO patientVO = patientList.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); +// //患者类型如果是 门诊患者 +// if (patientVO.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && patientVO.getAdmissionTime() == null) { +// //就诊时间 +// LocalDate localDate = patientVO.getVisitDate().plusDays(signPatientManageRouteNode.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); +// signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName()); +// patientVOList.add(signPatientManageRouteNode); +// } +// } +// } + + } + + List signPatientManageRouteNodeIds = new ArrayList<>(); //发送 for (PatientVO patientVO : patientVOList) {