优化个人模板展示;优化量表详情接口
This commit is contained in:
parent
67976e017a
commit
2d43fcb8da
|
@ -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<List<SysScaleQuestionVo>> findByScaleId(SysScaleQuestionBo bo) {
|
||||
return R.ok(sysScaleQuestionService.queryList(bo));
|
||||
public R<List<SysScaleFactorVo>> findByScaleId(Long scaleId) {
|
||||
return R.ok(sysScaleQuestionService.queryFactorList(scaleId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -62,6 +62,7 @@ public class SysScaleFactorVo implements Serializable {
|
|||
*/
|
||||
private List<String> questionIds;
|
||||
|
||||
private List<SysScaleQuestionVo> questionList;
|
||||
|
||||
private List<SysScaleFactorRangeVo> factorRangeList;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ public class EvaluationEecordWordData {
|
|||
private String scaleName;
|
||||
private String scaleDetails;
|
||||
private TableRenderData factor;
|
||||
private ChartMultiSeriesRenderData barChart;
|
||||
private ChartMultiSeriesRenderData radarChart;
|
||||
private List<WordFactor> factors;
|
||||
private String propose;
|
||||
|
||||
|
|
|
@ -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<SysScaleQuestion, SysScaleQuestionVo> {
|
||||
|
||||
int cleanFactorIdByFactorId(Long factorId);
|
||||
int updateFactorIdByIds(@Param("factorId") Long factorId, @Param("ids") List<Long> ids);
|
||||
List<SysScaleFactorVo> selectFactorListById(Long scaleId);
|
||||
}
|
||||
|
|
|
@ -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<SysScaleQuestionVo> queryList(SysScaleQuestionBo bo);
|
||||
|
||||
/**
|
||||
* 查询量表的因子列表,包含因子对应的题目
|
||||
*
|
||||
* @param scaleId
|
||||
* @return
|
||||
*/
|
||||
List<SysScaleFactorVo> queryFactorList(Long scaleId);
|
||||
|
||||
/**
|
||||
* 新增量问题内容
|
||||
*/
|
||||
|
|
|
@ -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<WordFactor> 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);
|
||||
|
|
|
@ -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<SysScaleFactorVo> queryFactorList(Long scaleId) {
|
||||
return baseMapper.selectFactorListById(scaleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增量问题内容
|
||||
|
|
|
@ -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`
|
||||
</select>
|
||||
|
||||
<select id="selectEvaluationNumByGrade" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
|
@ -106,7 +107,8 @@
|
|||
from sys_dept parent
|
||||
left join sys_dept d on d.parent_id = parent.dept_id
|
||||
left join sys_evaluation_record er on er.dept_id = d.dept_id
|
||||
where parent.parent_id = 100
|
||||
where parent.parent_id = 100
|
||||
group by parent.dept_id
|
||||
order by `name`
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -3,18 +3,28 @@
|
|||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.scale.mapper.SysScaleQuestionMapper">
|
||||
<select id="cleanFactorIdByFactorId" resultType="int">
|
||||
update sys_scale_question
|
||||
set factor_id = null
|
||||
where factor_id = #{factorId}
|
||||
</select>
|
||||
|
||||
<update id="updateFactorIdByIds">
|
||||
update sys_scale_question
|
||||
set factor_id = #{factorId} where question_id in
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
<resultMap type="org.dromara.scale.domain.vo.SysScaleFactorVo" id="SysFactorResult">
|
||||
<id property="factorId" column="factor_id"/>
|
||||
<result property="scaleId" column="scale_id"/>
|
||||
<collection property="questionList" javaType="java.util.List" resultMap="QuestionResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="QuestionResult" type="org.dromara.scale.domain.vo.SysScaleQuestionVo">
|
||||
<id property="questionId" column="question_id"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectFactorListById" resultMap="SysFactorResult">
|
||||
select sf.factor_id,
|
||||
sf.scale_id,
|
||||
sf.factor_name,
|
||||
sq.question_id,
|
||||
sq.question_content,
|
||||
sq.question_order
|
||||
from sys_scale_factor sf
|
||||
left join sys_scale_question sq on find_in_set(sq.question_id, sf.question_ids)
|
||||
where sf.scale_id = #{scaleId}
|
||||
order by sq.question_order
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue