From 193a3a6095aba497ac1b08597e789ef4056944b5 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Mon, 8 Apr 2024 11:14:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=93=E7=97=85=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../questioninfo/QuestionInfoController.java | 4 +-- .../SignPatientManageRouteNode.java | 2 +- .../questioninfo/QuestionInfoMapper.java | 7 ++-- .../PatientTaskExecuteRecordServiceImpl.java | 32 ++++++++++++++++- .../questioninfo/IQuestionInfoService.java | 2 +- .../impl/QuestionInfoServiceImpl.java | 4 +-- .../impl/SpecialDiseaseNodeServiceImpl.java | 33 ++--------------- .../PatientQuestionSubmitResultVO.java | 7 +++- .../questioninfo/QuestionInfoMapper.xml | 3 ++ .../SpecialDiseaseNodeMapper.xml | 35 ++----------------- 10 files changed, 55 insertions(+), 74 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java index 0ff43d1a..bc5f659c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java @@ -110,7 +110,7 @@ public class QuestionInfoController extends BaseController { * 科室问卷数量 */ @GetMapping("/departmentQuestionCount") - public AjaxResult departmentQuestionCount(String departmentName) { - return questionInfoService.departmentQuestionCount(departmentName); + public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) { + return questionInfoService.departmentQuestionCount(departmentName, questionnaireStatus); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java index f3c28637..bf46e5c8 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java @@ -97,7 +97,7 @@ public class SignPatientManageRouteNode extends BaseEntity { /** 电话内容(富文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记) */ @ApiModelProperty(value = "电话内容") - @Excel(name = "电话内容", readConverterExp = "富=文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记") + @Excel(name = "电话内容", readConverterExp = "富文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记") private String phoneNodeContent; /** 电话重拨次数,重拨一次:REDIAL_ONCE,重拨二次:REDIAL_TWICE,不重播:NOT_REPLAY */ diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java index ae56a5a2..f1482991 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java @@ -2,10 +2,10 @@ package com.xinelu.manage.mapper.questioninfo; import com.xinelu.manage.domain.questioninfo.QuestionInfo; import com.xinelu.manage.vo.department.DepartmentVO; +import org.apache.ibatis.annotations.Param; import java.util.List; - /** * 问卷基本信息Mapper接口 * @@ -65,8 +65,9 @@ public interface QuestionInfoMapper { /** * 科室路径数量 * - * @param departmentName 科室名称 + * @param departmentName 科室名称 + * @param questionnaireStatus 问卷状态 * @return DepartmentVO */ - List departmentQuestionByDepartmentName(String departmentName); + List departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java index f075de7b..1f7aeca4 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java @@ -1,17 +1,22 @@ package com.xinelu.manage.service.patienttaskexecuterecord.impl; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.enums.TaskContentEnum; import com.xinelu.common.utils.AgeUtil; import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper; import com.xinelu.manage.mapper.patienttaskexecuterecord.PatientTaskExecuteRecordMapper; import com.xinelu.manage.service.patienttaskexecuterecord.IPatientTaskExecuteRecordService; +import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService; +import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO; import com.xinelu.manage.vo.patienttaskexecuterecord.PatientTaskExecuteRecordVO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; /** * 患者管理任务执行记录Service业务层处理 @@ -25,6 +30,8 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR private PatientTaskExecuteRecordMapper patientTaskExecuteRecordMapper; @Resource private PatientQuestionSubmitResultMapper submitResultMapper; + @Resource + private IPropagandaInfoService iPropagandaInfoService; /** * 查询患者管理任务执行记录 @@ -115,6 +122,29 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR */ @Override public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) { - return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId)); + //判断任务类型 + PatientTaskExecuteRecord patientTaskExecuteRecord = patientTaskExecuteRecordMapper.selectPatientTaskExecuteRecordById(taskExecuteRecordId); + if (Objects.isNull(patientTaskExecuteRecord) || StringUtils.isBlank(patientTaskExecuteRecord.getTaskContent())) { + return AjaxResult.success(); + } + //如果是人工随访或问卷表 + if (TaskContentEnum.ARTIFICIAL_FOLLOW_UP.getInfo().equals(patientTaskExecuteRecord.getTaskContent()) || TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) { + PatientQuestionSubmitResultVO patientQuestionSubmitResult = submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId); + patientQuestionSubmitResult.setTaskContent(patientTaskExecuteRecord.getTaskContent()); + return AjaxResult.success(patientQuestionSubmitResult); + } + //如果是电话外呼 + if (TaskContentEnum.PHONE_OUTBOUND.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) { + return AjaxResult.success(); + } + //如果是宣教文章 + if (TaskContentEnum.PROPAGANDA_ARTICLE.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) { + return AjaxResult.success(); + } + + if (TaskContentEnum.TEXT_REMIND.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) { + return AjaxResult.success(); + } + return AjaxResult.success(); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java index fa8fe4c0..e36fc62a 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java @@ -75,5 +75,5 @@ public interface IQuestionInfoService { * @param departmentName 科室名称 * @return AjaxResult */ - AjaxResult departmentQuestionCount(String departmentName); + AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java index b28cbd1b..968a6871 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java @@ -288,12 +288,12 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { * @return AjaxResult */ @Override - public AjaxResult departmentQuestionCount(String departmentName) { + public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) { DepartmentVO departmentVO = new DepartmentVO(); List department = new ArrayList<>(); departmentVO.setDepartmentName("全部"); departmentVO.setCountNum(0); - List departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName); + List departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus); if (CollectionUtils.isNotEmpty(departmentVOS)) { Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum(); departmentVO.setCountNum(result); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java index 5d8cb826..832ca6df 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java @@ -6,7 +6,6 @@ import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; -import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition; import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper; import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper; @@ -18,7 +17,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; /** @@ -86,17 +84,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService if (insertNodeCount < 0) { throw new ServiceException("新增专病路径管理节点信息失败"); } - List specialDiseaseTriggerConditions = new ArrayList<>(); - for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) { - triggerCondition.setRouteId(specialDiseaseRoute.getId()); - triggerCondition.setCreateTime(LocalDateTime.now()); - triggerCondition.setCreateBy(SecurityUtils.getUsername()); - specialDiseaseTriggerConditions.add(triggerCondition); - } - int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions); - if (triggerConditionCount < 0) { - throw new ServiceException("新增专病路径管理节点信息失败"); - } return AjaxResult.success(); } @@ -113,18 +100,20 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode); specialDiseaseRoute.setUpdateTime(LocalDateTime.now()); specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername()); + specialDiseaseRoute.setId(specialDiseaseNode.getSpecialDiseaseRouteId()); int updateRouteCount = specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute); if (updateRouteCount < 0) { log.info("修改专病路径失败"); throw new ServiceException("修改专病路径管理节点信息失败"); } - int deleteCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(specialDiseaseNode.getId()); + int deleteCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(specialDiseaseRoute.getId()); if (deleteCount < 0) { log.info("删除管理节点信息失败"); throw new ServiceException("修改专病路径管理节点信息失败"); } for (SpecialDiseaseNode diseaseNode : specialDiseaseNode.getSpecialDiseaseNodeList()) { diseaseNode.setRouteId(specialDiseaseRoute.getId()); + diseaseNode.setRouteName(specialDiseaseNode.getRouteName()); diseaseNode.setUpdateTime(LocalDateTime.now()); diseaseNode.setUpdateBy(SecurityUtils.getUsername()); } @@ -133,22 +122,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService log.info("新增管理节点信息失败"); throw new ServiceException("修改专病路径管理节点信息失败"); } - int deleteCondition = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(specialDiseaseRoute.getId()); - if (deleteCondition < 0) { - log.info("删除管理节点信息失败"); - throw new ServiceException("修改专病路径管理节点信息失败"); - } - List specialDiseaseTriggerConditions = new ArrayList<>(); - for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) { - triggerCondition.setRouteId(specialDiseaseRoute.getId()); - triggerCondition.setCreateTime(LocalDateTime.now()); - triggerCondition.setCreateBy(SecurityUtils.getUsername()); - specialDiseaseTriggerConditions.add(triggerCondition); - } - int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions); - if (triggerConditionCount < 0) { - throw new ServiceException("修改专病路径管理节点信息失败"); - } return AjaxResult.success(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java index 0eebbf31..8d2d52dc 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java @@ -1,6 +1,5 @@ package com.xinelu.manage.vo.patientquestionsubmitresult; - import com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultVO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,6 +16,12 @@ import java.util.List; public class PatientQuestionSubmitResultVO { private Long submitResulId; + + /** + * 任务类型 + */ + private String taskContent; + /** * 问卷标题 */ diff --git a/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml index 51bd81a1..4b533bc9 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml @@ -256,6 +256,9 @@ dt.department_name like concat('%',#{departmentName},'%') + + qi.questionnaire_status =#{questionnaireStatus} + GROUP BY dt.id diff --git a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml index f698c374..372c8286 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml @@ -20,8 +20,6 @@ - @@ -72,19 +70,6 @@ - - - - - - - - - - - - - select id, route_id, @@ -716,7 +701,7 @@ - - - - - - \ No newline at end of file