修改了调查问卷bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m52s
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m52s
This commit is contained in:
parent
e383f112d2
commit
5a9cc74405
@ -51,7 +51,7 @@ public class QuestionnaireController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("property:questionnaire:query")
|
// @SaCheckPermission("property:questionnaire:query")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<QuestionnaireVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<QuestionnaireVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable("id") Long id) {
|
@PathVariable("id") Long id) {
|
||||||
|
@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.*;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@ -59,5 +58,4 @@ public class Questionnaire extends TenantEntity {
|
|||||||
*/
|
*/
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,6 @@ import jakarta.validation.constraints.*;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 调查问卷业务对象 questionnaire
|
* 调查问卷业务对象 questionnaire
|
||||||
*
|
*
|
||||||
|
@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
|||||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.dromara.property.domain.QuestionnaireQuestionItem;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,5 +71,8 @@ public class QuestionnaireQuestionVo implements Serializable {
|
|||||||
@ExcelProperty(value = "排序")
|
@ExcelProperty(value = "排序")
|
||||||
private Long sort;
|
private Long sort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 问题列表
|
||||||
|
*/
|
||||||
|
private List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos;
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ import lombok.Data;
|
|||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,5 +72,8 @@ public class QuestionnaireVo implements Serializable {
|
|||||||
@ExcelProperty(value = "状态(1草稿2已发布3未发布)")
|
@ExcelProperty(value = "状态(1草稿2已发布3未发布)")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 问题列表
|
||||||
|
*/
|
||||||
|
private List<QuestionnaireQuestionVo> questionnaireQuestionVos;
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@ import org.dromara.property.domain.QuestionnaireQuestion;
|
|||||||
import org.dromara.property.domain.QuestionnaireQuestionItem;
|
import org.dromara.property.domain.QuestionnaireQuestionItem;
|
||||||
import org.dromara.property.domain.bo.QuestionnaireQuestionBo;
|
import org.dromara.property.domain.bo.QuestionnaireQuestionBo;
|
||||||
import org.dromara.property.domain.bo.QuestionnaireQuestionItemBo;
|
import org.dromara.property.domain.bo.QuestionnaireQuestionItemBo;
|
||||||
|
import org.dromara.property.domain.vo.QuestionnaireQuestionItemVo;
|
||||||
|
import org.dromara.property.domain.vo.QuestionnaireQuestionVo;
|
||||||
import org.dromara.property.mapper.QuestionnaireQuestionItemMapper;
|
import org.dromara.property.mapper.QuestionnaireQuestionItemMapper;
|
||||||
import org.dromara.property.mapper.QuestionnaireQuestionMapper;
|
import org.dromara.property.mapper.QuestionnaireQuestionMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -53,7 +55,9 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public QuestionnaireVo queryById(Long id) {
|
public QuestionnaireVo queryById(Long id) {
|
||||||
return baseMapper.selectVoById(id);
|
QuestionnaireVo questionnaireVo = baseMapper.selectVoById(id);
|
||||||
|
processingData(questionnaireVo,null, null);
|
||||||
|
return questionnaireVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,6 +71,23 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
|
|||||||
public TableDataInfo<QuestionnaireVo> queryPageList(QuestionnaireBo bo, PageQuery pageQuery) {
|
public TableDataInfo<QuestionnaireVo> queryPageList(QuestionnaireBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<Questionnaire> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<Questionnaire> lqw = buildQueryWrapper(bo);
|
||||||
Page<QuestionnaireVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<QuestionnaireVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
if (CollUtil.isNotEmpty(result.getRecords())) {
|
||||||
|
//收集所有的问卷id
|
||||||
|
List<Long> questionnaireIds = result.getRecords().stream().map(QuestionnaireVo::getId).toList();
|
||||||
|
// 一次性查询所有问题
|
||||||
|
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
|
||||||
|
questionQueryWrapper.in(QuestionnaireQuestion::getQuestionnaireId, questionnaireIds);
|
||||||
|
List<QuestionnaireQuestionVo> questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
|
||||||
|
//收集所有问题id
|
||||||
|
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
|
||||||
|
//查询所有问题选项
|
||||||
|
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
|
||||||
|
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
|
||||||
|
List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
|
||||||
|
result.getRecords().stream().forEach(questionnaireVo -> {
|
||||||
|
processingData(questionnaireVo, questionnaireQuestionVos, questionnaireQuestionItemVos);
|
||||||
|
});
|
||||||
|
}
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,6 +112,37 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
|
|||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理数据
|
||||||
|
*/
|
||||||
|
private void processingData(QuestionnaireVo questionnaireVo, List<QuestionnaireQuestionVo> questionnaireQuestionVos, List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos) {
|
||||||
|
// 在此处添加您选中的代码来获取问卷问题列表
|
||||||
|
if (CollUtil.isEmpty(questionnaireQuestionVos)) {
|
||||||
|
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
|
||||||
|
questionQueryWrapper.eq(QuestionnaireQuestion::getQuestionnaireId, questionnaireVo.getId());
|
||||||
|
questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
|
||||||
|
if (CollUtil.isEmpty(questionnaireQuestionItemVos)) {
|
||||||
|
//收集所有问题id
|
||||||
|
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
|
||||||
|
//查询所有问题选项
|
||||||
|
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
|
||||||
|
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
|
||||||
|
questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(questionnaireQuestionVos)) {
|
||||||
|
List<QuestionnaireQuestionItemVo> finalQuestionnaireQuestionItemVos = questionnaireQuestionItemVos;
|
||||||
|
questionnaireQuestionVos.stream().forEach(questionnaireQuestionVo -> {
|
||||||
|
//筛选出属于当前问题的问题项返回list
|
||||||
|
List<QuestionnaireQuestionItemVo> list = finalQuestionnaireQuestionItemVos.stream().filter(questionnaireQuestionItemVo -> questionnaireQuestionItemVo.getQuestionId().equals(questionnaireQuestionVo.getId())).toList();
|
||||||
|
questionnaireQuestionVo.setQuestionnaireQuestionItemVos(list);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
questionnaireVo.setQuestionnaireQuestionVos(questionnaireQuestionVos);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增调查问卷
|
* 新增调查问卷
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user