From 5aa0e7b7303e0a9701497a8c318441bdcb8c4ea1 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Mon, 29 Apr 2024 13:45:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=BB=A1=E6=84=8F?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatientQuestionSubmitResult.java | 2 + .../impl/QuestionInfoServiceImpl.java | 12 +++ .../PatientQuestionSubmitResultMapper.xml | 4 + .../homepage/HomePageController.java | 20 ++--- .../mapper/homepage/HomePageMapper.java | 17 +--- .../service/homepage/HomePageService.java | 15 +--- .../homepage/Impl/HomePageServiceImpl.java | 90 +++---------------- .../SatisfactionQuestionnaire.java | 26 ++---- .../mapper/homepage/HomePageMapper.xml | 51 ++++------- 9 files changed, 65 insertions(+), 172 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/patientquestionsubmitresult/PatientQuestionSubmitResult.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/patientquestionsubmitresult/PatientQuestionSubmitResult.java index f0569611..df867e44 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/patientquestionsubmitresult/PatientQuestionSubmitResult.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/patientquestionsubmitresult/PatientQuestionSubmitResult.java @@ -166,6 +166,8 @@ public class PatientQuestionSubmitResult extends BaseEntity { @Excel(name = "问卷总得分,根据患者提交问卷得出的分值") private BigDecimal totalScore; + private Long residentId; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) 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 2a458308..f26742ae 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 @@ -105,11 +105,17 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { log.info("新增问卷表失败," + questionInfo); throw new SecurityException("新增问卷失败!请联系管理员!"); } + if (CollectionUtils.isEmpty(question.getQuestionSubjectList())) { + throw new SecurityException("请添加问卷信息!"); + } //新增题目表 List questionSubjectList = question.getQuestionSubjectList(); List questionSubjects = new ArrayList<>(); List questionSubjectOptions = new ArrayList<>(); for (QuestionSubjectVO questionSubject : questionSubjectList) { + if (StringUtils.isBlank(questionSubject.getQuestionName())) { + throw new SecurityException("请添加完整问卷题目!"); + } QuestionSubject saveQuestionSubject = new QuestionSubject(); BeanUtils.copyBeanProp(saveQuestionSubject, questionSubject); saveQuestionSubject.setQuestionInfoId(questionInfo.getId()); @@ -125,6 +131,9 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { log.info("新增问卷题目表失败," + questionSubjects); throw new SecurityException("新增问卷失败!请联系管理员!"); } + if (CollectionUtils.isEmpty(questionSubjectOptions)) { + return AjaxResult.success(); + } //新增选项表 List saveQuestionSubjectOptions = new ArrayList<>(); for (QuestionSubjectOptionVO questionSubjectOption : questionSubjectOptions) { @@ -183,6 +192,9 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { List questionSubjects = new ArrayList<>(); List questionSubjectOptions = new ArrayList<>(); for (QuestionSubjectVO questionSubject : questionSubjectList) { + if (StringUtils.isBlank(questionSubject.getQuestionName())) { + throw new SecurityException("请添加完整问卷题目!"); + } QuestionSubject saveQuestionSubject = new QuestionSubject(); BeanUtils.copyBeanProp(saveQuestionSubject, questionSubject); saveQuestionSubject.setQuestionInfoId(questionInfo.getId()); diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml index 3608fb45..a65d2da5 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml @@ -219,6 +219,8 @@ total_score, + resident_id, + remark, create_by, @@ -269,6 +271,8 @@ #{totalScore}, + #{residentId}, + #{remark}, #{createBy}, 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 16565922..ce15c964 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 @@ -54,8 +54,8 @@ public class HomePageController extends BaseController { * 问卷记录信息 */ @GetMapping("/selectQuestionSubmit") - public AjaxResult selectQuestionSubmit(Long patientTaskExecuteRecordId) { - return homePageService.selectQuestionSubmit(patientTaskExecuteRecordId); + public AjaxResult selectQuestionSubmit(Long patientQuestionSubmitResultId) { + return homePageService.selectQuestionSubmit(patientQuestionSubmitResultId); } /** @@ -77,20 +77,12 @@ public class HomePageController extends BaseController { } /** - * 已完成满意度问卷 + * 满意度问卷 */ - @GetMapping("/completedSatisfaction") - private TableDataInfo completedSatisfactionQuestionnaire(Long residentId) { + @GetMapping("/satisfactionQuestionnaire") + private TableDataInfo satisfactionQuestionnaire(Long residentId) { startPage(); - List list = homePageService.completedSatisfactionQuestionnaire(residentId); + List list = homePageService.satisfactionQuestionnaire(residentId); return getDataTable(list); } - - /** - * 未执行满意度问卷 - */ - @GetMapping("/incompleteSatisfaction") - private TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { - return homePageService.incompleteSatisfactionQuestionnaire(residentId, pageNum, pageSize); - } } \ 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 0c69b0c5..506f8faa 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 @@ -33,23 +33,10 @@ public interface HomePageMapper { List selectTaskExecuteRecordByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus); /** - * 根据居民查询已完成满意度问卷 + * 根据居民查询满意度问卷 * * @param residentId 居民id * @return SatisfactionQuestionnaire */ - List satisfactionQuestionnaireByResidentId(@Param("residentId") Long residentId, @Param("taskContent") String taskContent, - @Param("questionType") String questionType, @Param("routeNodeName") String routeNodeName); - - - /** - * 根据居民查询已完成满意度问卷 - * - * @param residentId 居民id - * @return SatisfactionQuestionnaire - */ - List incompleteSatisfactionQuestionnaire(@Param("residentId") Long residentId, @Param("taskContent") String taskContent, - @Param("questionType") String questionType, @Param("routeNodeName") String routeNodeName, - @Param("nodeExecuteStatus") String nodeExecuteStatus, @Param("routeCheckStatus") String routeCheckStatus); - + List satisfactionQuestionnaireByResidentId(@Param("residentId") Long residentId, @Param("questionType") String questionType, @Param("questionnaireStatus") String questionnaireStatus); } \ 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 ba3c343d..ec297182 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 @@ -39,10 +39,10 @@ public interface HomePageService { /** * 问卷记录信息 * - * @param patientTaskExecuteRecordId 记录表id + * @param patientQuestionSubmitResultId 记录表id * @return AjaxResult */ - AjaxResult selectQuestionSubmit(Long patientTaskExecuteRecordId); + AjaxResult selectQuestionSubmit(Long patientQuestionSubmitResultId); /** * 问卷提交 @@ -66,14 +66,5 @@ public interface HomePageService { * @param residentId 居民信息 * @return SatisfactionQuestionnaire */ - List completedSatisfactionQuestionnaire(Long residentId); - - /** - * 未执行满意度问卷 - * - * @param residentId 居民信息 - * @return SatisfactionQuestionnaire - */ - TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize); - + List satisfactionQuestionnaire(Long residentId); } \ 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 898fbc22..61e48227 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 @@ -3,7 +3,10 @@ package com.xinelu.mobile.service.homepage.Impl; import com.xinelu.common.constant.TaskCreateTypeConstant; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.page.TableDataInfo; -import com.xinelu.common.enums.*; +import com.xinelu.common.enums.NodeExecuteStatusEnum; +import com.xinelu.common.enums.QuestionTypeEnum; +import com.xinelu.common.enums.QuestionnaireStatusEnum; +import com.xinelu.common.enums.RouteNodeNameEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.PageServiceUtil; import com.xinelu.common.utils.bean.BeanUtils; @@ -153,12 +156,12 @@ public class HomePageServiceImpl implements HomePageService { /** * 问卷记录信息 * - * @param patientTaskExecuteRecordId 记录表id + * @param patientQuestionSubmitResultId 记录表id * @return AjaxResult */ @Override - public AjaxResult selectQuestionSubmit(Long patientTaskExecuteRecordId) { - return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(patientTaskExecuteRecordId, null)); + public AjaxResult selectQuestionSubmit(Long patientQuestionSubmitResultId) { + return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId)); } /** @@ -170,17 +173,10 @@ public class HomePageServiceImpl implements HomePageService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult updatePatientTaskExecuteRecord(PatientQuestionSubmitResultDTO dto) { - String routeHandlePerson = dto.getRouteHandlePerson(); LocalDateTime time = LocalDateTime.now(); - // 更新节点任务表 - updateSignPatientManageRouteNode(dto, routeHandlePerson, time); - // 新增患者管理任务执行记录 - Long taskExecuteRecordId = insertPatientTaskExecuteRecord(dto, routeHandlePerson, time); PatientQuestionSubmitResult patientQuestionSubmitResult = new PatientQuestionSubmitResult(); BeanUtils.copyBeanProp(patientQuestionSubmitResult, dto); - patientQuestionSubmitResult.setCreateBy(routeHandlePerson); patientQuestionSubmitResult.setCreateTime(time); - patientQuestionSubmitResult.setTaskExecuteRecordId(taskExecuteRecordId); // 新增患者问卷提交结果 if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) { throw new ServiceException("新增患者问卷提交结果失败"); @@ -195,7 +191,6 @@ public class HomePageServiceImpl implements HomePageService { PatientQuestionSubjectResult saveQuestionSubject = new PatientQuestionSubjectResult(); BeanUtils.copyBeanProp(saveQuestionSubject, questionSubjectResult); saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId()); - saveQuestionSubject.setCreateBy(routeHandlePerson); saveQuestionSubject.setCreateTime(time); patientQuestionSubjectResults.add(saveQuestionSubject); if (CollectionUtils.isNotEmpty(questionSubjectResult.getOptionResultList())) { @@ -218,7 +213,6 @@ public class HomePageServiceImpl implements HomePageService { PatientQuestionSubjectResult patientQuestionSubjectResult = patientQuestionSubjectResults.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionNumber()) && patientQuestionOptionResult.getQuestionNumber().compareTo(item.getQuestionNumber()) == 0).findFirst().orElse(new PatientQuestionSubjectResult()); saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId()); saveQuestionOption.setCreateTime(time); - saveQuestionOption.setCreateBy(routeHandlePerson); saveQuestionSubjectOptions.add(saveQuestionOption); } // 新增患者问卷题目选项提交结果 @@ -240,77 +234,13 @@ public class HomePageServiceImpl implements HomePageService { } /** - * 已完成满意度问卷 + * 满意度问卷 * * @param residentId 居民信息 * @return SatisfactionQuestionnaire */ @Override - public List completedSatisfactionQuestionnaire(Long residentId) { - return homePageMapper.satisfactionQuestionnaireByResidentId(residentId, TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo(), QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()); - } - - /** - * 未执行满意度问卷 - * - * @param residentId 居民信息 - * @return SatisfactionQuestionnaire - */ - @Override - public TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { - List incompleteSatisfaction = homePageMapper.incompleteSatisfactionQuestionnaire(residentId, TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo(), QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), RouteNodeNameEnum.AFTER_DISCHARGE.getInfo(), NodeExecuteStatusEnum.UNEXECUTED.getInfo(), RouteCheckStatusEnum.AGREE.getInfo()); - if (CollectionUtils.isEmpty(incompleteSatisfaction)) { - return pageServiceUtil.getDataTable(incompleteSatisfaction); - } - int total = incompleteSatisfaction.size(); - for (SatisfactionQuestionnaire satisfactionQuestionnaire : incompleteSatisfaction) { - if (Objects.nonNull(satisfactionQuestionnaire) && Objects.nonNull(satisfactionQuestionnaire.getDischargeTime())) { - satisfactionQuestionnaire.setExecuteTime(satisfactionQuestionnaire.getDischargeTime().plusDays(satisfactionQuestionnaire.getRouteNodeDay())); - } - } - incompleteSatisfaction.sort(Comparator.comparing(SatisfactionQuestionnaire::getExecuteTime).reversed()); - if (Objects.nonNull(pageSize) || Objects.nonNull(pageNum)) { - incompleteSatisfaction = incompleteSatisfaction.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); - } - TableDataInfo dataTable = pageServiceUtil.getDataTable(incompleteSatisfaction); - dataTable.setTotal(total); - return dataTable; - } - - /** - * 更新节点任务表 - */ - private void updateSignPatientManageRouteNode(PatientQuestionSubmitResultDTO dto, String routeHandlePerson, LocalDateTime time) { - SignPatientManageRouteNode signPatientManageRouteNode = new SignPatientManageRouteNode(); - signPatientManageRouteNode.setId(dto.getManageRouteNodeId()); - signPatientManageRouteNode.setRouteHandleRemark(dto.getRouteHandleRemark()); - signPatientManageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTED.toString()); - signPatientManageRouteNode.setRouteHandleId(dto.getRouteHandleId()); - signPatientManageRouteNode.setRouteHandlePerson(routeHandlePerson); - signPatientManageRouteNode.setUpdateBy(routeHandlePerson); - signPatientManageRouteNode.setUpdateTime(time); - // 更新节点任务表 - if (signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode) <= 0) { - throw new ServiceException("更新节点任务表失败"); - } - } - - /** - * 新增患者管理任务执行记录 - */ - private Long insertPatientTaskExecuteRecord(PatientQuestionSubmitResultDTO dto, String routeHandlePerson, LocalDateTime time) { - PatientTaskExecuteRecord patientTaskExecuteRecord = new PatientTaskExecuteRecord(); - BeanUtils.copyProperties(dto, patientTaskExecuteRecord); - patientTaskExecuteRecord.setExecuteTime(time); - patientTaskExecuteRecord.setTaskContent(dto.getTaskType()); - patientTaskExecuteRecord.setExecutePerson(routeHandlePerson); - patientTaskExecuteRecord.setCreateBy(routeHandlePerson); - patientTaskExecuteRecord.setExecuteType(TaskCreateTypeConstant.MANUAL_CREATE); - patientTaskExecuteRecord.setCreateTime(time); - if (patientTaskExecuteRecordMapper.insertPatientTaskExecuteRecord(patientTaskExecuteRecord) > 0) { - return patientTaskExecuteRecord.getId(); - } else { - throw new ServiceException("新增患者管理任务记录失败"); - } + public List satisfactionQuestionnaire(Long residentId) { + return homePageMapper.satisfactionQuestionnaireByResidentId(residentId, QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), QuestionnaireStatusEnum.PUBLISHED.getInfo()); } } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/satisfactionquestionnaire/SatisfactionQuestionnaire.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/satisfactionquestionnaire/SatisfactionQuestionnaire.java index 0f8f17d5..266e4fd6 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/satisfactionquestionnaire/SatisfactionQuestionnaire.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/satisfactionquestionnaire/SatisfactionQuestionnaire.java @@ -8,34 +8,26 @@ import java.time.LocalDateTime; @Data public class SatisfactionQuestionnaire { - /** - * 路径名称 - */ - private String manageRouteName; /** * 执行时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime executeTime; - /** - * 节点名称 - */ - private String routeNodeName; - - /** - * 节点天数 - */ - private Integer routeNodeDay; - /** * 问卷标题 */ private String questionnaireName; /** - * 出院时间 + * 问卷id */ - @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDateTime dischargeTime; + private Long templateId; + + private String sign; + + /*** + * + */ + private Long patientQuestionSubmitResultId; } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml index 2d51cdbe..1610810a 100644 --- a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml +++ b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml @@ -67,40 +67,23 @@ - - \ No newline at end of file