增加问卷调查展示逻辑

This commit is contained in:
2025-06-27 17:36:33 +08:00
parent f120195f04
commit a0b941e3f7
6 changed files with 89 additions and 16 deletions

View File

@ -1,27 +1,19 @@
package com.ruoyi.dw.controller; package com.ruoyi.dw.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.dw.domain.DwIndexConfig; import com.ruoyi.dw.domain.DwIndexConfig;
import com.ruoyi.dw.service.IDwIndexConfigService; import com.ruoyi.dw.service.IDwIndexConfigService;
import com.ruoyi.common.utils.poi.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired;
import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* 调查问卷统计展示Controller * 调查问卷统计展示Controller
@ -47,6 +39,15 @@ public class DwIndexConfigController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
* 获取首页的数据展示
* @return
*/
@GetMapping("/getIndex")
public AjaxResult getIndex(){
return AjaxResult.success(dwIndexConfigService.getIndex());
}
/** /**
* 导出调查问卷统计展示列表 * 导出调查问卷统计展示列表
*/ */

View File

@ -0,0 +1,23 @@
package com.ruoyi.dw.domain.vo;
public class AnswerCountVo {
private String answer;
private int answerCount;
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public int getAnswerCount() {
return answerCount;
}
public void setAnswerCount(int answerCount) {
this.answerCount = answerCount;
}
}

View File

@ -1,7 +1,12 @@
package com.ruoyi.dw.mapper; package com.ruoyi.dw.mapper;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects;
import com.ruoyi.dw.domain.DwIndexConfig; import com.ruoyi.dw.domain.DwIndexConfig;
import com.ruoyi.dw.domain.vo.AnswerCountVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 调查问卷统计展示Mapper接口 * 调查问卷统计展示Mapper接口
@ -58,4 +63,11 @@ public interface DwIndexConfigMapper
* @return 结果 * @return 结果
*/ */
public int deleteDwIndexConfigByIds(Long[] ids); public int deleteDwIndexConfigByIds(Long[] ids);
/**
* 根据问题id进行统计
* @param questionIds
* @return
*/
public List<AnswerCountVo> selectIndex(@Param("questionIds") String[] questionIds, @Param("infoId") Long infoId);
} }

View File

@ -1,6 +1,8 @@
package com.ruoyi.dw.service; package com.ruoyi.dw.service;
import java.util.List; import java.util.List;
import java.util.Map;
import com.ruoyi.dw.domain.DwIndexConfig; import com.ruoyi.dw.domain.DwIndexConfig;
/** /**
@ -58,4 +60,10 @@ public interface IDwIndexConfigService
* @return 结果 * @return 结果
*/ */
public int deleteDwIndexConfigById(Long id); public int deleteDwIndexConfigById(Long id);
/**
* 获取首页的四个展位数据
* @return
*/
public Map<String, Object> getIndex();
} }

View File

@ -1,7 +1,12 @@
package com.ruoyi.dw.service.impl; package com.ruoyi.dw.service.impl;
import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.dw.domain.vo.AnswerCountVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.dw.mapper.DwIndexConfigMapper; import com.ruoyi.dw.mapper.DwIndexConfigMapper;
@ -93,4 +98,18 @@ public class DwIndexConfigServiceImpl implements IDwIndexConfigService
{ {
return dwIndexConfigMapper.deleteDwIndexConfigById(id); return dwIndexConfigMapper.deleteDwIndexConfigById(id);
} }
@Override
public Map<String, Object> getIndex()
{
List<DwIndexConfig> configs = dwIndexConfigMapper.selectDwIndexConfigList(new DwIndexConfig());
Map<String, Object> result = new HashMap<String, Object>();
for (DwIndexConfig config: configs){
result.put("id", config.getId());
result.put("indexType", config.getIndexType());
List<AnswerCountVo> list = dwIndexConfigMapper.selectIndex(config.getQuestionId().split(","), config.getInfoId());
result.put("data", list);
}
return result;
}
} }

View File

@ -88,4 +88,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<select id="selectIndex" resultType="com.ruoyi.dw.domain.vo.AnswerCountVo">
select answer, count(0) as answer_count from dw_answer
where indo_id = #{infoId}
and question_id in
<foreach item="questionId" collection="questionIds" open="(" separator="," close=")">
#{questionId}
</foreach>
group by answer
</select>
</mapper> </mapper>