Compare commits
4 Commits
ab1d958e49
...
2f07f6d4bb
Author | SHA1 | Date |
---|---|---|
|
2f07f6d4bb | |
|
5f64389f6e | |
|
53f055c155 | |
|
200944f5f4 |
|
@ -86,6 +86,11 @@ public class SysScale extends BaseEntity {
|
|||
*/
|
||||
private Integer evalNums;
|
||||
|
||||
/**
|
||||
* 发布次数
|
||||
*/
|
||||
private Integer publishNums;
|
||||
|
||||
/**
|
||||
* 量表类型:对应字典项scale_type
|
||||
*/
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.dromara.common.core.validate.AddGroup;
|
|||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.scale.domain.SysScaleFactor;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
@ -53,8 +54,8 @@ public class SysScaleFactorBo extends BaseEntity {
|
|||
@NotNull(message = "权重不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal weight;
|
||||
|
||||
|
||||
private List<Long> questionIds;
|
||||
|
||||
private List<SysScaleFactorRange> factorRangeList;
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
|||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.scale.domain.SysScaleFactor;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
@ -64,4 +66,6 @@ public class SysScaleFactorVo implements Serializable {
|
|||
* 问题id列表
|
||||
*/
|
||||
private List<Long> questionIds;
|
||||
|
||||
private List<SysScaleFactorRange> factorRangeList;
|
||||
}
|
||||
|
|
|
@ -95,6 +95,11 @@ public class SysScaleVo implements Serializable {
|
|||
*/
|
||||
private Integer evalNums;
|
||||
|
||||
/**
|
||||
* 发布次数
|
||||
*/
|
||||
private Integer publishNums;
|
||||
|
||||
/**
|
||||
* 量表类型:对应字典项scale_type
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.dromara.scale.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|||
* @author jiangzhe
|
||||
* @date 2024-04-07
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysScaleFactorRangeMapper extends BaseMapperPlus<SysScaleFactorRange, SysScaleFactorRangeVo> {
|
||||
|
||||
}
|
||||
|
|
|
@ -11,21 +11,17 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.scale.domain.SysScale;
|
||||
import org.dromara.scale.domain.SysScaleFactor;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
import org.dromara.scale.domain.SysScaleQuestion;
|
||||
import org.dromara.scale.domain.bo.SysScaleFactorBo;
|
||||
import org.dromara.scale.domain.vo.SysScaleFactorVo;
|
||||
import org.dromara.scale.domain.vo.SysScaleQuestionVo;
|
||||
import org.dromara.scale.mapper.SysScaleFactorMapper;
|
||||
import org.dromara.scale.mapper.SysScaleFormulaMapper;
|
||||
import org.dromara.scale.mapper.SysScaleMapper;
|
||||
import org.dromara.scale.mapper.SysScaleQuestionMapper;
|
||||
import org.dromara.scale.mapper.*;
|
||||
import org.dromara.scale.service.ISysScaleFactorService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -42,6 +38,7 @@ public class SysScaleFactorServiceImpl implements ISysScaleFactorService {
|
|||
private final SysScaleMapper scaleMapper;
|
||||
private final SysScaleFormulaMapper scaleFormulaMapper;
|
||||
private final SysScaleQuestionMapper scaleQuestionMapper;
|
||||
private final SysScaleFactorRangeMapper sysScaleFactorRangeMapper;
|
||||
|
||||
/**
|
||||
* 查询测评因子
|
||||
|
@ -53,6 +50,15 @@ public class SysScaleFactorServiceImpl implements ISysScaleFactorService {
|
|||
if (CollUtil.isNotEmpty(list)) {
|
||||
List<Long> questionIds = list.stream().map(SysScaleQuestionVo::getQuestionId).collect(Collectors.toList());
|
||||
sysScaleFactorVo.setQuestionIds(questionIds);
|
||||
} else {
|
||||
sysScaleFactorVo.setQuestionIds(Collections.emptyList());
|
||||
}
|
||||
|
||||
List<SysScaleFactorRange> rangeList = sysScaleFactorRangeMapper.selectList(Wrappers.<SysScaleFactorRange>lambdaQuery().eq(SysScaleFactorRange::getFactorId, factorId));
|
||||
if (CollUtil.isNotEmpty(rangeList)) {
|
||||
sysScaleFactorVo.setFactorRangeList(rangeList);
|
||||
} else {
|
||||
sysScaleFactorVo.setFactorRangeList(Collections.emptyList());
|
||||
}
|
||||
return sysScaleFactorVo;
|
||||
}
|
||||
|
@ -94,6 +100,7 @@ public class SysScaleFactorServiceImpl implements ISysScaleFactorService {
|
|||
/**
|
||||
* 新增测评因子
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Boolean insertByBo(SysScaleFactorBo bo) {
|
||||
SysScaleFactor add = MapstructUtils.convert(bo, SysScaleFactor.class);
|
||||
|
@ -104,27 +111,55 @@ public class SysScaleFactorServiceImpl implements ISysScaleFactorService {
|
|||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(bo.getQuestionIds())) {
|
||||
List<SysScaleQuestion> list = new ArrayList<>(bo.getQuestionIds().size());
|
||||
for (Long questionId : bo.getQuestionIds()) {
|
||||
SysScaleQuestion question = new SysScaleQuestion();
|
||||
question.setQuestionId(questionId);
|
||||
question.setFactorId(bo.getFactorId());
|
||||
question.setFactorName(bo.getFactorName());
|
||||
list.add(question);
|
||||
}
|
||||
scaleQuestionMapper.updateBatchById(list, 100);
|
||||
updateQuestionFactor(bo);
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(bo.getFactorRangeList())) {
|
||||
insertFactorRange(bo);
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
private void insertFactorRange(SysScaleFactorBo bo) {
|
||||
List<SysScaleFactorRange> list = new ArrayList<>(bo.getFactorRangeList().size());
|
||||
for (SysScaleFactorRange range : bo.getFactorRangeList()) {
|
||||
range.setFactorId(bo.getFactorId());
|
||||
list.add(range);
|
||||
}
|
||||
sysScaleFactorRangeMapper.insertBatch(list, 100);
|
||||
}
|
||||
|
||||
private void updateQuestionFactor(SysScaleFactorBo bo) {
|
||||
List<SysScaleQuestion> list = new ArrayList<>(bo.getQuestionIds().size());
|
||||
for (Long questionId : bo.getQuestionIds()) {
|
||||
SysScaleQuestion question = new SysScaleQuestion();
|
||||
question.setQuestionId(questionId);
|
||||
question.setFactorId(bo.getFactorId());
|
||||
question.setFactorName(bo.getFactorName());
|
||||
list.add(question);
|
||||
}
|
||||
scaleQuestionMapper.updateBatchById(list, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改测评因子
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Boolean updateByBo(SysScaleFactorBo bo) {
|
||||
SysScaleFactor update = MapstructUtils.convert(bo, SysScaleFactor.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
if (CollUtil.isNotEmpty(bo.getQuestionIds())) {
|
||||
updateQuestionFactor(bo);
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(bo.getFactorRangeList())) {
|
||||
sysScaleFactorRangeMapper.delete(Wrappers.lambdaQuery(SysScaleFactorRange.class).eq(SysScaleFactorRange::getFactorId, bo.getFactorId()));
|
||||
insertFactorRange(bo);
|
||||
}
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -103,7 +103,6 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService {
|
|||
for (SysScaleAnswer sysScaleAnswer : scaleAnswerList) {
|
||||
sysScaleAnswer.setScaleId(bo.getScaleId());
|
||||
sysScaleAnswer.setQuestionId(sysScaleQuestion.getQuestionId());
|
||||
//sysScaleAnswer.setQuestionContent(sysScaleQuestion.getQuestionContent());
|
||||
}
|
||||
scaleAnswerMapper.batchInsert(scaleAnswerList);
|
||||
}
|
||||
|
|
|
@ -4,12 +4,10 @@
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.scale.mapper.SysScaleAnswerMapper">
|
||||
<insert id="batchInsert">
|
||||
insert into sys_scale_answer(answer_id, question_id, question_content, scale_id, answer_option, score,
|
||||
create_dept, create_time, create_by, update_time, update_by, factor_id) values
|
||||
insert into sys_scale_answer(answer_id, question_id, scale_id, answer_option, score, type) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#{item.answerId}, #{item.questionId}, #{item.questionContent}, #{item.scaleId}, #{item.answerOption},
|
||||
#{item.score}, #{item.createDept}, #{item.createTime}, #{item.createBy}, #{item.updateTime},
|
||||
#{item.updateBy}, #{item.factorId})
|
||||
(#{item.answerId}, #{item.questionId}, #{item.scaleId}, #{item.answerOption},
|
||||
#{item.score}, #{item.type})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
|
Loading…
Reference in New Issue