| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.system.mapper.TQuestionnaireMapper; |
| | | import com.ruoyi.system.mapper.TQuestionnaireRecordMapper; |
| | | import com.ruoyi.system.mapper.TQuestionnaireStemMapper; |
| | | import com.ruoyi.system.model.TAssistedDining; |
| | | import com.ruoyi.system.model.TQuestionnaire; |
| | | import com.ruoyi.system.model.TQuestionnaireRecord; |
| | | import com.ruoyi.system.model.TQuestionnaireStem; |
| | | import com.ruoyi.system.query.TQuestionnaireQuery; |
| | | import com.ruoyi.system.service.TQuestionnaireService; |
| | | import com.ruoyi.system.vo.TQuestionnaireVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class TQuestionnaireServiceImpl extends ServiceImpl<TQuestionnaireMapper, TQuestionnaire> implements TQuestionnaireService { |
| | | |
| | | @Autowired |
| | | private TQuestionnaireStemMapper questionnaireStemMapper; |
| | | @Autowired |
| | | private TQuestionnaireRecordMapper questionnaireRecordMapper; |
| | | |
| | | @Override |
| | | public PageInfo<TQuestionnaireVO> pageList(TQuestionnaireQuery query) { |
| | | PageInfo<TQuestionnaireVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<TQuestionnaireVO> list = this.baseMapper.pageList(query,pageInfo); |
| | | |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return pageInfo; |
| | | } |
| | | List<String> ids = list.stream().map(TQuestionnaireVO::getId).collect(Collectors.toList()); |
| | | List<TQuestionnaireStem> questionnaireStemList = questionnaireStemMapper.selectList(Wrappers.lambdaQuery(TQuestionnaireStem.class) |
| | | .in(TQuestionnaireStem::getQuestionnaireId, ids)); |
| | | List<TQuestionnaireRecord> questionnaireRecordList = questionnaireRecordMapper.selectList(Wrappers.lambdaQuery(TQuestionnaireRecord.class) |
| | | .in(TQuestionnaireRecord::getQuestionnaireId, ids)); |
| | | for (TQuestionnaireVO questionnaireVO : list) { |
| | | List<TQuestionnaireStem> questionnaireStems = questionnaireStemList.stream().filter(questionnaireStem -> questionnaireVO.getId().equals(questionnaireStem.getQuestionnaireId())).collect(Collectors.toList()); |
| | | questionnaireVO.setOptionNum(questionnaireStems.size()); |
| | | List<TQuestionnaireRecord> questionnaireRecords = questionnaireRecordList.stream().filter(questionnaireRecord -> questionnaireVO.getId().equals(questionnaireRecord.getQuestionnaireId())).collect(Collectors.toList()); |
| | | questionnaireVO.setTotalNum(questionnaireRecords.size()); |
| | | } |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | | } |