From ecf25b604f9cec61f524e031e3b0e2f0b9fe8a98 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Fri, 19 Jul 2024 11:03:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../homepage/HomePageController.java | 8 ++++ .../mapper/homepage/HomePageMapper.java | 9 ++++ .../service/homepage/HomePageService.java | 8 ++++ .../homepage/Impl/HomePageServiceImpl.java | 23 +++++++++- .../vo/homepage/MessageTabulationVO.java | 5 +++ .../mobile/vo/homepage/NodeExecuteStatus.java | 44 +++++++++++++++++++ .../mapper/homepage/HomePageMapper.xml | 23 ++++++++-- 7 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/NodeExecuteStatus.java diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java index 81027af4..2cd6e9b4 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java @@ -111,4 +111,12 @@ public class HomePageController extends BaseController { public AjaxResult updateMessageStatus(@RequestBody SignPatientManageRouteNode signPatientManageRouteNode) { return homePageService.updateMessageStatus(signPatientManageRouteNode); } + + /** + * 任务完成情况 + */ + @GetMapping("/nodeExecuteStatus") + public AjaxResult nodeExecuteStatus(Long manageRouteNodeId) { + return homePageService.nodeExecuteStatus(manageRouteNodeId); + } } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java index 4d068de6..0cca5e1f 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java @@ -3,6 +3,7 @@ package com.xinelu.mobile.mapper.homepage; import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.vo.signpatientmanageroute.PhonePush; import com.xinelu.mobile.vo.homepage.MessageTabulationVO; +import com.xinelu.mobile.vo.homepage.NodeExecuteStatus; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire; import com.xinelu.mobile.vo.wechatofficialaccountcallback.PatientVO; @@ -88,4 +89,12 @@ public interface HomePageMapper { * 话术类型代办处理详情 */ PhonePush selectPhoneNodeContent(Long patientTaskExecuteRecordId); + + /** + * 任务完成情况 + * + * @param manageRouteNodeId 节点id + * @return AjaxResult + */ + NodeExecuteStatus nodeExecuteStatus(Long manageRouteNodeId); } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java index 15c4f732..461b20fe 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java @@ -97,4 +97,12 @@ public interface HomePageService { * @return int */ AjaxResult updateMessageStatus(SignPatientManageRouteNode signPatientManageRouteNode); + + /** + * 任务完成情况 + * + * @param manageRouteNodeId 节点id + * @return AjaxResult + */ + AjaxResult nodeExecuteStatus(Long manageRouteNodeId); } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java index a7df96bf..e77a24e5 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java @@ -35,6 +35,7 @@ import com.xinelu.mobile.mapper.homepage.HomePageMapper; import com.xinelu.mobile.service.homepage.HomePageService; import com.xinelu.mobile.vo.homepage.MessageContentVO; import com.xinelu.mobile.vo.homepage.MessageTabulationVO; +import com.xinelu.mobile.vo.homepage.NodeExecuteStatus; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire; import lombok.extern.slf4j.Slf4j; @@ -291,7 +292,7 @@ public class HomePageServiceImpl implements HomePageService { */ @Override public AjaxResult selectSignPatientManageRouteNode(Long residentId) { - //查询已执行人工随访 + //查询已执行 List signPatientManageRouteNodes = homePageMapper.selectManageRouteByResidentId(residentId, NodeExecuteStatusEnum.EXECUTED.getInfo()); if (CollectionUtils.isEmpty(signPatientManageRouteNodes)) { return AjaxResult.success(new ArrayList<>()); @@ -379,4 +380,24 @@ public class HomePageServiceImpl implements HomePageService { public AjaxResult updateMessageStatus(SignPatientManageRouteNode signPatientManageRouteNode) { return AjaxResult.success(signPatientManageRouteNodeMapper.updateMessageStatus(signPatientManageRouteNode)); } + + /** + * 任务完成情况 + * + * @param manageRouteNodeId 节点id + * @return AjaxResult + */ + @Override + public AjaxResult nodeExecuteStatus(Long manageRouteNodeId) { + //查询任务信息 + NodeExecuteStatus nodeExecuteStatus = homePageMapper.nodeExecuteStatus(manageRouteNodeId); + //判断完成情况 + if (Objects.nonNull(nodeExecuteStatus) && Objects.isNull(nodeExecuteStatus.getPatientQuestionSubmitResultId())) { + nodeExecuteStatus.setSign(0); + } + if (Objects.nonNull(nodeExecuteStatus) && Objects.nonNull(nodeExecuteStatus.getPatientQuestionSubmitResultId())) { + nodeExecuteStatus.setSign(1); + } + return AjaxResult.success(nodeExecuteStatus); + } } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/MessageTabulationVO.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/MessageTabulationVO.java index fac07cbe..829abebb 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/MessageTabulationVO.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/MessageTabulationVO.java @@ -57,4 +57,9 @@ public class MessageTabulationVO { private Integer sign; private String messageStatus; + + /** + * 模版名称 + */ + private String manageRouteNodeName; } diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/NodeExecuteStatus.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/NodeExecuteStatus.java new file mode 100644 index 00000000..44b0bc37 --- /dev/null +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/NodeExecuteStatus.java @@ -0,0 +1,44 @@ +package com.xinelu.mobile.vo.homepage; + +import lombok.Data; + +/** + * 任务完成状态VO + * + * @Author zh + * @Date 2024-07-19 + */ +@Data +public class NodeExecuteStatus { + + /** + * 患者问卷提交结果信息表 + */ + private Long patientQuestionSubmitResultId; + + /** + * 患者管理任务执行记录id + */ + private Long patientTaskExecuteRecordId; + + + /** + * 问卷是否完成标记 0:否 1:是 + */ + private Integer sign; + + /** + * 任务节点id + */ + private Long manageRouteNodeId; + + /** + * 居民信息 + */ + private Long residentId; + + /** + * 任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND + */ + private String taskNodeType; +} diff --git a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml index f2c7baed..8c7e7070 100644 --- a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml +++ b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml @@ -134,9 +134,10 @@ where spmrn.node_execute_status = 'UNEXECUTED' and spmrn.del_flag = 0 + and spmrn.applet_push_sign = 1 and pi.del_flag = 0 and (spmrn.task_node_type = 'PROPAGANDA_ARTICLE' or spmrn.task_node_type = 'TEXT_REMIND' or - spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' and phone_dial_method = 'COMMON') + spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' and phone_dial_method != 'COMMON') and spmr.patient_id in @@ -166,7 +167,12 @@ spmrn.message_status, IF(pter.id is NULL, 0, 1) sign, pter.id patientTaskExecuteRecordId, - spmrn.task_node_type + spmrn.task_node_type, + CASE + WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name + WHEN spmrn.task_node_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_title + WHEN spmrn.task_node_type = 'TEXT_REMIND' THEN '文字提醒' + END AS manageRouteNodeName from sign_patient_manage_route_node spmrn LEFT JOIN sign_patient_manage_route spmr ON spmr.id = spmrn.manage_route_id LEFT JOIN patient_info pi on pi.id = spmr.patient_id @@ -176,7 +182,7 @@ and spmrn.del_flag = 0 and pi.del_flag = 0 and (spmrn.task_node_type = 'PROPAGANDA_ARTICLE' or spmrn.task_node_type = 'TEXT_REMIND' or - spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' and phone_dial_method = 'COMMON') + spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' and phone_dial_method != 'COMMON') Order BY spmrn.update_time DESC @@ -215,4 +221,15 @@ LEFT JOIN sign_patient_manage_route spmr ON spmr.id = pter.manage_route_id where pter.id = #{patientTaskExecuteRecordId} + + \ No newline at end of file