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)) {