From 5fbe03708161877cd5c40bdba57845b71942fe95 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 24 Dec 2024 11:23:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=8E=A8=E9=80=81=E5=81=A5?= =?UTF-8?q?=E5=BA=B7=E5=AE=A3=E6=95=99=E6=8E=A8=E9=80=81=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignPatientManageRouteNodeMapper.java | 3 ++- .../SignPatientManageRouteNodeMapper.xml | 5 ++++- .../quartz/service/impl/SendTextMessageServiceImpl.java | 7 ++++--- .../quartz/service/impl/subscribeTaskServiceImpl.java | 9 ++++----- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java index f9448577..c072d010 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java @@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.List; /** @@ -169,7 +170,7 @@ public interface SignPatientManageRouteNodeMapper { * @param officialStatus 公众号发送状态 * @return int */ - int updateNodeExecuteStatusByIds(@Param("manageRouteNodeIds") List manageRouteNodeIds, @Param("nodeExecuteStatus") String nodeExecuteStatus, @Param("appletStatus") String appletStatus, @Param("messageStatus") String messageStatus, @Param("officialStatus") String officialStatus); + int updateNodeExecuteStatusByIds(@Param("manageRouteNodeIds") List manageRouteNodeIds, @Param("nodeExecuteStatus") String nodeExecuteStatus, @Param("appletStatus") String appletStatus, @Param("messageStatus") String messageStatus, @Param("officialStatus") String officialStatus, @Param("nodeFinishDate") LocalDateTime nodeFinishDate); /** * 根据创建时间查询任务数量 diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml index 3a652525..ae580797 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -1031,6 +1031,9 @@ official_node_execute_result_status = #{officialStatus}, + node_finish_date = + #{nodeFinishDate}, + where id in @@ -1263,7 +1266,7 @@ left join patient_question_subject_result pqsjr on pqsbr.id = pqsjr.question_submit_result_id left join patient_question_option_result pqor on pqsjr.id = pqor.question_subject_result_id where p.del_flag = 0 - and spmrn.node_finish_status = 'SUCCESS' + -- and spmrn.node_finish_status = 'SUCCESS' and pqsjr.question_type in ('MULTIPLE_CHOICE','MULTIPLE_CHOICE_QUESTIONS','COMBINATION_RADIO_SUBJECT','COMBINATION_MULTIPLE_SUBJECT') diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java index 8c069b09..eeb38add 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java @@ -70,6 +70,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { List messages = new ArrayList<>(); //超时短信ids List expiredManageRouteNodeIds = new ArrayList<>(); + LocalDateTime now = LocalDateTime.now(); for (TextMessage textMessage : textMessages) { //判断推送状态 if (Objects.isNull(textMessage.getMessagePushSign()) || textMessage.getMessagePushSign() != 1) { @@ -107,7 +108,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { } //更改过期执行状态 if (CollectionUtils.isNotEmpty(expiredManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(expiredManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.EXPIRED.getInfo(), null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(expiredManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.EXPIRED.getInfo(), null, now); } //判断路径节点,组装数据 @@ -191,11 +192,11 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { } //修改节点状态 if (CollectionUtils.isNotEmpty(expiredManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(ids, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.SUCCESS.getInfo(), null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(ids, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.SUCCESS.getInfo(), null, now); } //修改节点状态 if (CollectionUtils.isNotEmpty(expiredManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(failSignPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.FAILURE.getInfo(), null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(failSignPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), null, NodeExecuteResultStatusEnum.FAILURE.getInfo(), null, now); } // 患者任务统计表修改 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 6a804fe2..d6d9c859 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 @@ -71,6 +71,7 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService { if (CollectionUtils.isEmpty(signPatientManageRouteNodes)) { return; } + LocalDateTime now = LocalDateTime.now(); // 注:PatientVO 包含签约路径节点相关属性,后面用于推送消息 List patientVOList = new ArrayList<>(); //发送消息到期节点id集合 @@ -110,7 +111,7 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService { } //2.2 对过期的任务,更改过期执行状态 if (CollectionUtils.isNotEmpty(expiredManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(expiredManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.EXPIRED.getInfo(), null, null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(expiredManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.EXPIRED.getInfo(), null, null, now); } // //如果节点 适用范围是 出院后或就诊/出院后 @@ -204,15 +205,13 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService { //3.1 托送记录入库 subscribeMessageSendRecordMapper.insertSubscribeMessageSendRecord(subscribeMessageSendRecord); } - - //4、更改成功执行状态 if (CollectionUtils.isNotEmpty(signPatientManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(signPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.SUCCESS.getInfo(), null, null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(signPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.SUCCESS.getInfo(), null, null,now); } //4.2 更改失败执行状态 if (CollectionUtils.isNotEmpty(failSignPatientManageRouteNodeIds)) { - signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(failSignPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.FAILURE.getInfo(), null, null); + signPatientManageRouteNodeMapper.updateNodeExecuteStatusByIds(failSignPatientManageRouteNodeIds, NodeExecuteStatusEnum.EXECUTED.getInfo(), NodeExecuteResultStatusEnum.FAILURE.getInfo(), null, null,now); } //5、 患者任务统计表修改 if (CollectionUtils.isNotEmpty(patientIdSet)) {