小程序满意度

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;
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<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());
if (questionSubjectIds.size() == 0) {
questionVO.setQuestionSubjectList(questionSubjects);
return questionVO;
}
// 选项表
List<QuestionSubjectOptionVO> questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds);
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());
questionSubject.setQuestionSubjectOptionList(collect);
}
questionVO.setQuestionSubjectList(questionSubjects);
}
QuestionVO questionVO = new QuestionVO();
// 查询题目表
if (Objects.nonNull(questionInfo)) {
BeanUtils.copyBeanProp(questionVO, questionInfo);
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());
if (questionSubjectIds.size() == 0) {
questionVO.setQuestionSubjectList(questionSubjects);
return questionVO;
}
// 选项表
List<QuestionSubjectOptionVO> questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds);
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());
questionSubject.setQuestionSubjectOptionList(collect);
}
questionVO.setQuestionSubjectList(questionSubjects);
}
return questionVO;
}
@ -308,7 +310,11 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
departmentVO.setCountNum(0);
List<DepartmentVO> 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 {

View File

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

View File

@ -74,6 +74,6 @@ public interface HomePageService {
* @param residentId 居民信息
* @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
*/
@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());
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;
}
/**