From b1a6b26807f7c140cbd1b87d60d231efad39bf84 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Sun, 28 Apr 2024 09:42:14 +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 --- .../common/enums/QuestionnaireStatusEnum.java | 25 +++++++++++ .../impl/QuestionInfoServiceImpl.java | 44 +++++++++++-------- .../homepage/HomePageController.java | 4 +- .../service/homepage/HomePageService.java | 2 +- .../homepage/Impl/HomePageServiceImpl.java | 6 +-- 5 files changed, 55 insertions(+), 26 deletions(-) create mode 100644 postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionnaireStatusEnum.java diff --git a/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionnaireStatusEnum.java b/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionnaireStatusEnum.java new file mode 100644 index 00000000..691ede47 --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionnaireStatusEnum.java @@ -0,0 +1,25 @@ +package com.xinelu.common.enums; + +import lombok.Getter; + +@Getter +public enum QuestionnaireStatusEnum { + + + /** + * 已发布 + */ + PUBLISHED("PUBLISHED"), + + /** + * 未发布 + */ + UNPUBLISHED("UNPUBLISHED"), + ; + + final private String info; + + QuestionnaireStatusEnum(String info) { + this.info = info; + } +} 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 7570ba71..e3e8bd5b 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 @@ -1,6 +1,7 @@ package com.xinelu.manage.service.questioninfo.impl; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.enums.QuestionnaireStatusEnum; import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.common.utils.uuid.IdUtils; @@ -17,6 +18,7 @@ import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO; import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,24 +53,24 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { //if (Objects.isNull(questionInfo)) { // throw new ServiceException("该问卷信息已不存在!"); //} - QuestionVO questionVO = new QuestionVO(); - // 查询题目表 - if (Objects.nonNull(questionInfo)) { - BeanUtils.copyBeanProp(questionVO, questionInfo); - List questionSubjects = questionSubjectMapper.selectQuestionSubjectBy(id); - List questionSubjectIds = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList()); - if (questionSubjectIds.size() == 0) { - questionVO.setQuestionSubjectList(questionSubjects); - return questionVO; - } - // 选项表 - List questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds); - for (QuestionSubjectVO questionSubject : questionSubjects) { - List collect = questionSubjectOptions.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionnaireSubjectId()) && questionSubject.getId().equals(item.getQuestionnaireSubjectId())).collect(Collectors.toList()); - questionSubject.setQuestionSubjectOptionList(collect); - } - questionVO.setQuestionSubjectList(questionSubjects); - } + QuestionVO questionVO = new QuestionVO(); + // 查询题目表 + if (Objects.nonNull(questionInfo)) { + BeanUtils.copyBeanProp(questionVO, questionInfo); + List questionSubjects = questionSubjectMapper.selectQuestionSubjectBy(id); + List questionSubjectIds = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList()); + if (questionSubjectIds.size() == 0) { + questionVO.setQuestionSubjectList(questionSubjects); + return questionVO; + } + // 选项表 + List questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds); + for (QuestionSubjectVO questionSubject : questionSubjects) { + List collect = questionSubjectOptions.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionnaireSubjectId()) && questionSubject.getId().equals(item.getQuestionnaireSubjectId())).collect(Collectors.toList()); + questionSubject.setQuestionSubjectOptionList(collect); + } + questionVO.setQuestionSubjectList(questionSubjects); + } return questionVO; } @@ -308,7 +310,11 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { departmentVO.setCountNum(0); List departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus, questionType); if (CollectionUtils.isNotEmpty(departmentVOS)) { - departmentVO.setCountNum(departmentVOS.get(0).getTotalNumber()); + Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum(); + if (StringUtils.isBlank(questionnaireStatus) || QuestionnaireStatusEnum.PUBLISHED.getInfo().equals(questionnaireStatus)) { + result = departmentVOS.get(0).getTotalNumber(); + } + departmentVO.setCountNum(result); department.add(departmentVO); department.addAll(departmentVOS); } else { 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 2d85b4df..16565922 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 @@ -91,8 +91,6 @@ public class HomePageController extends BaseController { */ @GetMapping("/incompleteSatisfaction") private TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { - startPage(); - List list = homePageService.incompleteSatisfactionQuestionnaire(residentId,pageNum,pageSize); - return getDataTable(list); + return homePageService.incompleteSatisfactionQuestionnaire(residentId, pageNum, pageSize); } } \ 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 0c14ff06..ba3c343d 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 @@ -74,6 +74,6 @@ public interface HomePageService { * @param residentId 居民信息 * @return SatisfactionQuestionnaire */ - List incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize); + TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize); } \ 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 1dd4fa0b..898fbc22 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 @@ -257,10 +257,10 @@ public class HomePageServiceImpl implements HomePageService { * @return SatisfactionQuestionnaire */ @Override - public List incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { + 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 new ArrayList<>(); + return pageServiceUtil.getDataTable(incompleteSatisfaction); } int total = incompleteSatisfaction.size(); for (SatisfactionQuestionnaire satisfactionQuestionnaire : incompleteSatisfaction) { @@ -274,7 +274,7 @@ public class HomePageServiceImpl implements HomePageService { } TableDataInfo dataTable = pageServiceUtil.getDataTable(incompleteSatisfaction); dataTable.setTotal(total); - return incompleteSatisfaction; + return dataTable; } /**