diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java index c178bb9..5a3765e 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java @@ -16,6 +16,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; import org.dromara.scale.domain.bo.SysScaleQuestionBo; +import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.scale.service.ISysScaleQuestionService; import org.springframework.validation.annotation.Validated; @@ -60,12 +61,12 @@ public class ScaleQuestionController extends BaseController { /** * 查询量表所有问题 * - * @param bo + * @param scaleId * @return */ @GetMapping("/findByScaleId") - public R> findByScaleId(SysScaleQuestionBo bo) { - return R.ok(sysScaleQuestionService.queryList(bo)); + public R> findByScaleId(Long scaleId) { + return R.ok(sysScaleQuestionService.queryFactorList(scaleId)); } /** diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleFactorVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleFactorVo.java index 2ab8e41..ce719fe 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleFactorVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleFactorVo.java @@ -62,6 +62,7 @@ public class SysScaleFactorVo implements Serializable { */ private List questionIds; + private List questionList; private List factorRangeList; } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/word/EvaluationEecordWordData.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/word/EvaluationEecordWordData.java index 5749018..3c2e906 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/word/EvaluationEecordWordData.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/word/EvaluationEecordWordData.java @@ -24,7 +24,7 @@ public class EvaluationEecordWordData { private String scaleName; private String scaleDetails; private TableRenderData factor; - private ChartMultiSeriesRenderData barChart; + private ChartMultiSeriesRenderData radarChart; private List factors; private String propose; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScaleQuestionMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScaleQuestionMapper.java index c1829d5..fb0d623 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScaleQuestionMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScaleQuestionMapper.java @@ -1,10 +1,10 @@ package org.dromara.scale.mapper; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.dromara.scale.domain.SysScaleQuestion; -import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.scale.domain.SysScaleQuestion; +import org.dromara.scale.domain.vo.SysScaleFactorVo; +import org.dromara.scale.domain.vo.SysScaleQuestionVo; import java.util.List; @@ -17,6 +17,5 @@ import java.util.List; @Mapper public interface SysScaleQuestionMapper extends BaseMapperPlus { - int cleanFactorIdByFactorId(Long factorId); - int updateFactorIdByIds(@Param("factorId") Long factorId, @Param("ids") List ids); + List selectFactorListById(Long scaleId); } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java index e0c83f2..8be6b0a 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java @@ -3,6 +3,7 @@ package org.dromara.scale.service; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.scale.domain.bo.SysScaleQuestionBo; +import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; import java.util.Collection; @@ -31,6 +32,14 @@ public interface ISysScaleQuestionService { */ List queryList(SysScaleQuestionBo bo); + /** + * 查询量表的因子列表,包含因子对应的题目 + * + * @param scaleId + * @return + */ + List queryFactorList(Long scaleId); + /** * 新增量问题内容 */ diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysEvaluationRecordServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysEvaluationRecordServiceImpl.java index 9a6ad2e..9bde916 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysEvaluationRecordServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysEvaluationRecordServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.scale.service.impl; +import cn.hutool.http.HtmlUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -20,7 +21,6 @@ import org.dromara.scale.domain.word.EvaluationEecordWordData; import org.dromara.scale.domain.word.WordEvaluationFactor; import org.dromara.scale.domain.word.WordFactor; import org.dromara.scale.mapper.SysEvaluationRecordMapper; -import org.dromara.scale.mapper.SysInterveneRecordMapper; import org.dromara.scale.mapper.SysScaleMapper; import org.dromara.scale.service.ISysEvaluationRecordService; import org.dromara.system.domain.vo.SysUserVo; @@ -50,8 +50,6 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi private final SysScaleMapper scaleMapper; - private final SysInterveneRecordMapper interveneMapper; - private final String resource = "word/personalTemplate.docx"; /** @@ -129,7 +127,8 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi borderStyle.setType(XWPFTable.XWPFBorderType.SINGLE); RowRenderData factorHeader = Rows.of("名称", "包含题目", "原始分", "得分").bgColor("F2F2F2").center() .textColor("7F7f7F").textFontFamily("Hei").textFontSize(9).create(); - TableRenderData factorTable = Tables.ofA4MediumWidth().addRow(factorHeader).border(borderStyle).center().create(); + TableRenderData factorTable = Tables.ofA4MediumWidth().addRow(factorHeader).border(borderStyle) + .width(14.63d,null).center().create(); //一并处理数据 int size = answerVos.size(); LinkedList factors = new LinkedList<>(); @@ -151,7 +150,7 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi //判断激活,放到首位并添加建议 if (answerVo.getStatus() == 1) { factors.addFirst(wordFactor); - stringBuilder.append(answerVo.getEvalPropose()).append("\n"); + stringBuilder.append(HtmlUtil.cleanHtmlTag(answerVo.getEvalPropose())).append("\n"); } else { factors.add(wordFactor); } @@ -167,7 +166,7 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi .ofMultiSeries(scale.getScaleName(), strings) .addSeries("因子项", doubles) .create(); - wordData.setBarChart(chart); + wordData.setRadarChart(chart); wordData.setPropose(stringBuilder.toString()); ClassPathResource classPathResource = new ClassPathResource(resource); return XWPFTemplate.compile(classPathResource.getInputStream()).render(wordData); diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java index bc3a9e3..b16ebbb 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java @@ -14,6 +14,7 @@ import org.dromara.scale.domain.SysScaleAnswer; import org.dromara.scale.domain.SysScaleQuestion; import org.dromara.scale.domain.bo.SysScaleQuestionBo; import org.dromara.scale.domain.vo.SysScaleAnswerVo; +import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.scale.mapper.SysScaleAnswerMapper; import org.dromara.scale.mapper.SysScaleQuestionMapper; @@ -83,6 +84,16 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { // lqw.like(StringUtils.isNotBlank(bo.getFactorName()), SysScaleQuestion::getFactorName, bo.getFactorName()); return lqw; } + /** + * 查询量表的因子列表,包含因子对应的题目 + * + * @param scaleId + * @return + */ + @Override + public List queryFactorList(Long scaleId) { + return baseMapper.selectFactorListById(scaleId); + } /** * 新增量问题内容 diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml index 0211f3d..85b316e 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/StatisticMapper.xml @@ -99,6 +99,7 @@ left join sys_scale_publish sp on FIND_IN_SET(d.dept_id, sp.dept_ids) where parent.parent_id = 100 group by parent.dept_id + order by `name` diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScaleQuestionMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScaleQuestionMapper.xml index 7290ee4..edc473d 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScaleQuestionMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScaleQuestionMapper.xml @@ -3,18 +3,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - update sys_scale_question - set factor_id = #{factorId} where question_id in - - #{id} - - + + + + + + + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx b/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx index 4d93e2f..e5000ff 100644 Binary files a/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx and b/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx differ