Compare commits

...

4 Commits

Author SHA1 Message Date
cjw 2f07f6d4bb 导包整理 2024-04-09 14:10:50 +08:00
cjw 5f64389f6e Merge branch 'dev' into dev.caojiawei
# Conflicts:
#	ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleFactorVo.java
#	ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleFactorServiceImpl.java
2024-04-09 14:10:00 +08:00
jiangzhe 53f055c155 Merge remote-tracking branch 'origin/dev' into dev 2024-04-09 11:01:51 +08:00
jiangzhe 200944f5f4 按照恒沁功能界面重新完善因子范围 2024-04-09 11:01:36 +08:00
8 changed files with 73 additions and 24 deletions

View File

@ -86,6 +86,11 @@ public class SysScale extends BaseEntity {
*/
private Integer evalNums;
/**
* 发布次数
*/
private Integer publishNums;
/**
* 量表类型对应字典项scale_type
*/

View File

@ -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;
}

View File

@ -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;
}

View File

@ -95,6 +95,11 @@ public class SysScaleVo implements Serializable {
*/
private Integer evalNums;
/**
* 发布次数
*/
private Integer publishNums;
/**
* 量表类型对应字典项scale_type
*/

View File

@ -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> {
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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>