小程序满意度

This commit is contained in:
zhangheng 2024-04-28 09:42:14 +08:00
parent 158dafcbcb
commit b1a6b26807
5 changed files with 55 additions and 26 deletions

View File

@ -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;
}
}

View File

@ -1,6 +1,7 @@
package com.xinelu.manage.service.questioninfo.impl; package com.xinelu.manage.service.questioninfo.impl;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.QuestionnaireStatusEnum;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.common.utils.bean.BeanUtils;
import com.xinelu.common.utils.uuid.IdUtils; 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 com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -51,24 +53,24 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
//if (Objects.isNull(questionInfo)) { //if (Objects.isNull(questionInfo)) {
// throw new ServiceException("该问卷信息已不存在!"); // throw new ServiceException("该问卷信息已不存在!");
//} //}
QuestionVO questionVO = new QuestionVO(); QuestionVO questionVO = new QuestionVO();
// 查询题目表 // 查询题目表
if (Objects.nonNull(questionInfo)) { if (Objects.nonNull(questionInfo)) {
BeanUtils.copyBeanProp(questionVO, questionInfo); BeanUtils.copyBeanProp(questionVO, questionInfo);
List<QuestionSubjectVO> questionSubjects = questionSubjectMapper.selectQuestionSubjectBy(id); List<QuestionSubjectVO> questionSubjects = questionSubjectMapper.selectQuestionSubjectBy(id);
List<Long> questionSubjectIds = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList()); List<Long> questionSubjectIds = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList());
if (questionSubjectIds.size() == 0) { if (questionSubjectIds.size() == 0) {
questionVO.setQuestionSubjectList(questionSubjects); questionVO.setQuestionSubjectList(questionSubjects);
return questionVO; return questionVO;
} }
// 选项表 // 选项表
List<QuestionSubjectOptionVO> questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds); List<QuestionSubjectOptionVO> questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds);
for (QuestionSubjectVO questionSubject : questionSubjects) { for (QuestionSubjectVO questionSubject : questionSubjects) {
List<QuestionSubjectOptionVO> collect = questionSubjectOptions.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionnaireSubjectId()) && questionSubject.getId().equals(item.getQuestionnaireSubjectId())).collect(Collectors.toList()); List<QuestionSubjectOptionVO> collect = questionSubjectOptions.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionnaireSubjectId()) && questionSubject.getId().equals(item.getQuestionnaireSubjectId())).collect(Collectors.toList());
questionSubject.setQuestionSubjectOptionList(collect); questionSubject.setQuestionSubjectOptionList(collect);
} }
questionVO.setQuestionSubjectList(questionSubjects); questionVO.setQuestionSubjectList(questionSubjects);
} }
return questionVO; return questionVO;
} }
@ -308,7 +310,11 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
departmentVO.setCountNum(0); departmentVO.setCountNum(0);
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus, questionType); List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus, questionType);
if (CollectionUtils.isNotEmpty(departmentVOS)) { 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.add(departmentVO);
department.addAll(departmentVOS); department.addAll(departmentVOS);
} else { } else {

View File

@ -91,8 +91,6 @@ public class HomePageController extends BaseController {
*/ */
@GetMapping("/incompleteSatisfaction") @GetMapping("/incompleteSatisfaction")
private TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { private TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) {
startPage(); return homePageService.incompleteSatisfactionQuestionnaire(residentId, pageNum, pageSize);
List<SatisfactionQuestionnaire> list = homePageService.incompleteSatisfactionQuestionnaire(residentId,pageNum,pageSize);
return getDataTable(list);
} }
} }

View File

@ -74,6 +74,6 @@ public interface HomePageService {
* @param residentId 居民信息 * @param residentId 居民信息
* @return SatisfactionQuestionnaire * @return SatisfactionQuestionnaire
*/ */
List<SatisfactionQuestionnaire> incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize); TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize);
} }

View File

@ -257,10 +257,10 @@ public class HomePageServiceImpl implements HomePageService {
* @return SatisfactionQuestionnaire * @return SatisfactionQuestionnaire
*/ */
@Override @Override
public List<SatisfactionQuestionnaire> incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) { public TableDataInfo incompleteSatisfactionQuestionnaire(Long residentId, Integer pageNum, Integer pageSize) {
List<SatisfactionQuestionnaire> incompleteSatisfaction = homePageMapper.incompleteSatisfactionQuestionnaire(residentId, TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo(), QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), RouteNodeNameEnum.AFTER_DISCHARGE.getInfo(), NodeExecuteStatusEnum.UNEXECUTED.getInfo(), RouteCheckStatusEnum.AGREE.getInfo()); List<SatisfactionQuestionnaire> 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)) { if (CollectionUtils.isEmpty(incompleteSatisfaction)) {
return new ArrayList<>(); return pageServiceUtil.getDataTable(incompleteSatisfaction);
} }
int total = incompleteSatisfaction.size(); int total = incompleteSatisfaction.size();
for (SatisfactionQuestionnaire satisfactionQuestionnaire : incompleteSatisfaction) { for (SatisfactionQuestionnaire satisfactionQuestionnaire : incompleteSatisfaction) {
@ -274,7 +274,7 @@ public class HomePageServiceImpl implements HomePageService {
} }
TableDataInfo dataTable = pageServiceUtil.getDataTable(incompleteSatisfaction); TableDataInfo dataTable = pageServiceUtil.getDataTable(incompleteSatisfaction);
dataTable.setTotal(total); dataTable.setTotal(total);
return incompleteSatisfaction; return dataTable;
} }
/** /**