问卷
This commit is contained in:
parent
19e10ea376
commit
52de6173d1
@ -59,7 +59,10 @@ public class QuestionInfoController extends BaseController {
|
|||||||
@PreAuthorize("@ss.hasPermi('system:question:query')")
|
@PreAuthorize("@ss.hasPermi('system:question:query')")
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||||
return AjaxResult.success(questionInfoService.selectQuestionInfoById(id));
|
if (Objects.isNull(id)) {
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return questionInfoService.selectQuestionInfoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -81,8 +84,8 @@ public class QuestionInfoController extends BaseController {
|
|||||||
@PreAuthorize("@ss.hasPermi('system:question:edit')")
|
@PreAuthorize("@ss.hasPermi('system:question:edit')")
|
||||||
@Log(title = "问卷基本信息", businessType = BusinessType.UPDATE)
|
@Log(title = "问卷基本信息", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody QuestionInfo questionInfo) {
|
public AjaxResult edit(@RequestBody QuestionVO question) {
|
||||||
return toAjax(questionInfoService.updateQuestionInfo(questionInfo));
|
return questionInfoService.updateQuestionInfo(question);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -91,7 +94,7 @@ public class QuestionInfoController extends BaseController {
|
|||||||
@PreAuthorize("@ss.hasPermi('system:question:remove')")
|
@PreAuthorize("@ss.hasPermi('system:question:remove')")
|
||||||
@Log(title = "问卷基本信息", businessType = BusinessType.DELETE)
|
@Log(title = "问卷基本信息", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
public AjaxResult remove(@PathVariable Long id) {
|
||||||
return toAjax(questionInfoService.deleteQuestionInfoByIds(ids));
|
return toAjax(questionInfoService.deleteQuestionInfoById(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.xinelu.manage.mapper.questionsubject;
|
package com.xinelu.manage.mapper.questionsubject;
|
||||||
|
|
||||||
import com.xinelu.manage.domain.questionsubject.QuestionSubject;
|
import com.xinelu.manage.domain.questionsubject.QuestionSubject;
|
||||||
|
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -61,9 +62,26 @@ public interface QuestionSubjectMapper {
|
|||||||
int deleteQuestionSubjectByIds(Long[] ids);
|
int deleteQuestionSubjectByIds(Long[] ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 批量新增问卷题目信息表
|
||||||
*
|
*
|
||||||
* @param questionSubjectList
|
* @param questionSubjectList 问卷题目信息
|
||||||
* @return
|
* @return 数量
|
||||||
*/
|
*/
|
||||||
int insertQuestionSubjectList(List<QuestionSubject> questionSubjectList);
|
int insertQuestionSubjectList(List<QuestionSubject> questionSubjectList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询问卷题目信息列表
|
||||||
|
*
|
||||||
|
* @param questionInfoId 问卷题目信息
|
||||||
|
* @return 问卷题目信息集合
|
||||||
|
*/
|
||||||
|
List<QuestionSubjectVO> selectQuestionSubjectBy(Long questionInfoId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除问卷题目信息
|
||||||
|
*
|
||||||
|
* @param questionInfoId 问卷题目信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteSubjectByQuestionInfoId(Long questionInfoId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.xinelu.manage.mapper.questionsubjectoption;
|
package com.xinelu.manage.mapper.questionsubjectoption;
|
||||||
|
|
||||||
import com.xinelu.manage.domain.questionsubjectoption.QuestionSubjectOption;
|
import com.xinelu.manage.domain.questionsubjectoption.QuestionSubjectOption;
|
||||||
|
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -59,4 +61,28 @@ public interface QuestionSubjectOptionMapper {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int deleteQuestionSubjectOptionByIds(Long[] ids);
|
int deleteQuestionSubjectOptionByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增问卷题目信息表
|
||||||
|
*
|
||||||
|
* @param saveQuestionSubjectOptions 问卷题目信息
|
||||||
|
* @return 数量
|
||||||
|
*/
|
||||||
|
int insertQuestionSubjectOptionList(List<QuestionSubjectOption> saveQuestionSubjectOptions);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据题目表id查询选项表信息
|
||||||
|
*
|
||||||
|
* @param questionSubjectIds 题目表id
|
||||||
|
* @return QuestionSubjectOptionVO
|
||||||
|
*/
|
||||||
|
List<QuestionSubjectOptionVO> selectQuestionSubjectOptions(@Param("questionSubjectIds") List<Long> questionSubjectIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据题目表id删除选项表信息
|
||||||
|
*
|
||||||
|
* @param questionSubjectIds 题目表id
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
int deleteOptionByQuestionSubjectIds(List<Long> questionSubjectIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public interface IQuestionInfoService {
|
|||||||
* @param id 问卷基本信息主键
|
* @param id 问卷基本信息主键
|
||||||
* @return 问卷基本信息
|
* @return 问卷基本信息
|
||||||
*/
|
*/
|
||||||
QuestionInfo selectQuestionInfoById(Long id);
|
AjaxResult selectQuestionInfoById(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询问卷基本信息列表
|
* 查询问卷基本信息列表
|
||||||
@ -41,10 +41,10 @@ public interface IQuestionInfoService {
|
|||||||
/**
|
/**
|
||||||
* 修改问卷基本信息
|
* 修改问卷基本信息
|
||||||
*
|
*
|
||||||
* @param questionInfo 问卷基本信息
|
* @param question 问卷基本信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int updateQuestionInfo(QuestionInfo questionInfo);
|
AjaxResult updateQuestionInfo(QuestionVO question);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除问卷基本信息
|
* 批量删除问卷基本信息
|
||||||
|
|||||||
@ -9,17 +9,21 @@ import com.xinelu.manage.domain.questionsubject.QuestionSubject;
|
|||||||
import com.xinelu.manage.domain.questionsubjectoption.QuestionSubjectOption;
|
import com.xinelu.manage.domain.questionsubjectoption.QuestionSubjectOption;
|
||||||
import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper;
|
import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper;
|
||||||
import com.xinelu.manage.mapper.questionsubject.QuestionSubjectMapper;
|
import com.xinelu.manage.mapper.questionsubject.QuestionSubjectMapper;
|
||||||
|
import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper;
|
||||||
import com.xinelu.manage.service.questioninfo.IQuestionInfoService;
|
import com.xinelu.manage.service.questioninfo.IQuestionInfoService;
|
||||||
import com.xinelu.manage.vo.questionInfo.QuestionVO;
|
import com.xinelu.manage.vo.questionInfo.QuestionVO;
|
||||||
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
|
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
|
||||||
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
|
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问卷基本信息Service业务层处理
|
* 问卷基本信息Service业务层处理
|
||||||
@ -34,11 +38,34 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
private QuestionInfoMapper questionInfoMapper;
|
private QuestionInfoMapper questionInfoMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private QuestionSubjectMapper questionSubjectMapper;
|
private QuestionSubjectMapper questionSubjectMapper;
|
||||||
|
@Resource
|
||||||
|
private QuestionSubjectOptionMapper questionSubjectOptionMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QuestionInfo selectQuestionInfoById(Long id) {
|
public AjaxResult selectQuestionInfoById(Long id) {
|
||||||
return questionInfoMapper.selectQuestionInfoById(id);
|
//查询问卷表
|
||||||
|
QuestionInfo questionInfo = questionInfoMapper.selectQuestionInfoById(id);
|
||||||
|
if (Objects.isNull(questionInfo)) {
|
||||||
|
return AjaxResult.error("该问卷信息已不存在!");
|
||||||
|
}
|
||||||
|
//查询题目表
|
||||||
|
QuestionVO questionVO = new QuestionVO();
|
||||||
|
BeanUtils.copyBeanProp(questionVO, questionInfo);
|
||||||
|
List<QuestionSubjectVO> questionSubjects = questionSubjectMapper.selectQuestionSubjectBy(id);
|
||||||
|
List<Long> questionSubjectIds = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList());
|
||||||
|
if (questionSubjectIds.size() == 0) {
|
||||||
|
questionVO.setQuestionSubjectList(questionSubjects);
|
||||||
|
return AjaxResult.success(questionVO);
|
||||||
|
}
|
||||||
|
//查询选项表
|
||||||
|
List<QuestionSubjectOptionVO> questionSubjectOptions = questionSubjectOptionMapper.selectQuestionSubjectOptions(questionSubjectIds);
|
||||||
|
for (QuestionSubjectVO questionSubject : questionSubjects) {
|
||||||
|
List<QuestionSubjectOptionVO> collect = questionSubjectOptions.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionnaireSubjectId()) && questionSubject.getId().equals(item.getQuestionnaireSubjectId())).collect(Collectors.toList());
|
||||||
|
questionSubject.setQuestionSubjectOptionList(collect);
|
||||||
|
}
|
||||||
|
questionVO.setQuestionSubjectList(questionSubjects);
|
||||||
|
return AjaxResult.success(questionVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -58,8 +85,10 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
* @param question 问卷基本信息
|
* @param question 问卷基本信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult insertQuestionInfo(QuestionVO question) {
|
public AjaxResult insertQuestionInfo(QuestionVO question) {
|
||||||
|
//新增问卷表
|
||||||
QuestionInfo questionInfo = new QuestionInfo();
|
QuestionInfo questionInfo = new QuestionInfo();
|
||||||
BeanUtils.copyBeanProp(questionInfo, question);
|
BeanUtils.copyBeanProp(questionInfo, question);
|
||||||
questionInfo.setCreateTime(DateUtils.getNowDate());
|
questionInfo.setCreateTime(DateUtils.getNowDate());
|
||||||
@ -69,6 +98,7 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
log.info("新增问卷表失败," + questionInfo);
|
log.info("新增问卷表失败," + questionInfo);
|
||||||
throw new SecurityException("新增问卷失败!请联系管理员!");
|
throw new SecurityException("新增问卷失败!请联系管理员!");
|
||||||
}
|
}
|
||||||
|
//新增题目表
|
||||||
List<QuestionSubjectVO> questionSubjectList = question.getQuestionSubjectList();
|
List<QuestionSubjectVO> questionSubjectList = question.getQuestionSubjectList();
|
||||||
List<QuestionSubject> questionSubjects = new ArrayList<>();
|
List<QuestionSubject> questionSubjects = new ArrayList<>();
|
||||||
List<QuestionSubjectOptionVO> questionSubjectOptions = new ArrayList<>();
|
List<QuestionSubjectOptionVO> questionSubjectOptions = new ArrayList<>();
|
||||||
@ -86,7 +116,8 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
log.info("新增问卷题目表失败," + questionSubjects);
|
log.info("新增问卷题目表失败," + questionSubjects);
|
||||||
throw new SecurityException("新增问卷失败!请联系管理员!");
|
throw new SecurityException("新增问卷失败!请联系管理员!");
|
||||||
}
|
}
|
||||||
ArrayList<QuestionSubjectOption> saveQuestionSubjectOptions = new ArrayList<>();
|
//新增选项表
|
||||||
|
List<QuestionSubjectOption> saveQuestionSubjectOptions = new ArrayList<>();
|
||||||
QuestionSubjectOption saveQuestionSubjectOption = new QuestionSubjectOption();
|
QuestionSubjectOption saveQuestionSubjectOption = new QuestionSubjectOption();
|
||||||
for (QuestionSubjectOptionVO questionSubjectOption : questionSubjectOptions) {
|
for (QuestionSubjectOptionVO questionSubjectOption : questionSubjectOptions) {
|
||||||
BeanUtils.copyBeanProp(saveQuestionSubjectOption, questionSubjectOption);
|
BeanUtils.copyBeanProp(saveQuestionSubjectOption, questionSubjectOption);
|
||||||
@ -96,20 +127,82 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
saveQuestionSubjectOption.setCreateBy(SecurityUtils.getUsername());
|
saveQuestionSubjectOption.setCreateBy(SecurityUtils.getUsername());
|
||||||
saveQuestionSubjectOptions.add(questionSubjectOption);
|
saveQuestionSubjectOptions.add(questionSubjectOption);
|
||||||
}
|
}
|
||||||
|
int subjectOptionCount = questionSubjectOptionMapper.insertQuestionSubjectOptionList(saveQuestionSubjectOptions);
|
||||||
|
if (subjectOptionCount <= 0) {
|
||||||
|
log.info("新增问卷答案表失败," + questionSubjects);
|
||||||
|
throw new SecurityException("新增问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改问卷基本信息
|
* 修改问卷基本信息
|
||||||
*
|
*
|
||||||
* @param questionInfo 问卷基本信息
|
* @param question 问卷基本信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public int updateQuestionInfo(QuestionInfo questionInfo) {
|
public AjaxResult updateQuestionInfo(QuestionVO question) {
|
||||||
|
//新增问卷表
|
||||||
|
QuestionInfo questionInfo = new QuestionInfo();
|
||||||
|
BeanUtils.copyBeanProp(questionInfo, question);
|
||||||
questionInfo.setUpdateTime(DateUtils.getNowDate());
|
questionInfo.setUpdateTime(DateUtils.getNowDate());
|
||||||
return questionInfoMapper.updateQuestionInfo(questionInfo);
|
questionInfo.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
int questionCount = questionInfoMapper.updateQuestionInfo(questionInfo);
|
||||||
|
if (questionCount <= 0) {
|
||||||
|
log.info("修改问卷表失败," + questionInfo);
|
||||||
|
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
//查询题目及选项表id 根据上级id删除
|
||||||
|
List<QuestionSubjectVO> originalSubjectList = questionSubjectMapper.selectQuestionSubjectBy(question.getId());
|
||||||
|
if (CollectionUtils.isNotEmpty(originalSubjectList)) {
|
||||||
|
List<Long> originalSubjectIds = originalSubjectList.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList());
|
||||||
|
int deleteQuestionCount = questionSubjectMapper.deleteSubjectByQuestionInfoId(question.getId());
|
||||||
|
if (deleteQuestionCount < 0) {
|
||||||
|
log.info("删除问卷题目表失败");
|
||||||
|
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
int deleteOptionIds = questionSubjectOptionMapper.deleteOptionByQuestionSubjectIds(originalSubjectIds);
|
||||||
|
if (deleteOptionIds < 0) {
|
||||||
|
log.info("删除问卷选项表失败");
|
||||||
|
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//新增问卷表及题目表
|
||||||
|
List<QuestionSubjectVO> questionSubjectList = question.getQuestionSubjectList();
|
||||||
|
List<QuestionSubject> questionSubjects = new ArrayList<>();
|
||||||
|
List<QuestionSubjectOptionVO> questionSubjectOptions = new ArrayList<>();
|
||||||
|
QuestionSubject saveQuestionSubject = new QuestionSubject();
|
||||||
|
for (QuestionSubjectVO questionSubject : questionSubjectList) {
|
||||||
|
BeanUtils.copyBeanProp(saveQuestionSubject, questionSubject);
|
||||||
|
saveQuestionSubject.setQuestionInfoId(questionInfo.getId());
|
||||||
|
saveQuestionSubject.setCreateTime(DateUtils.getNowDate());
|
||||||
|
saveQuestionSubject.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
questionSubjects.add(saveQuestionSubject);
|
||||||
|
questionSubjectOptions.addAll(questionSubject.getQuestionSubjectOptionList());
|
||||||
|
}
|
||||||
|
int questionSubjectCount = questionSubjectMapper.insertQuestionSubjectList(questionSubjects);
|
||||||
|
if (questionSubjectCount <= 0) {
|
||||||
|
log.info("修改问卷题目表失败," + questionSubjects);
|
||||||
|
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
List<QuestionSubjectOption> saveQuestionSubjectOptions = new ArrayList<>();
|
||||||
|
QuestionSubjectOption saveQuestionSubjectOption = new QuestionSubjectOption();
|
||||||
|
for (QuestionSubjectOptionVO questionSubjectOption : questionSubjectOptions) {
|
||||||
|
BeanUtils.copyBeanProp(saveQuestionSubjectOption, questionSubjectOption);
|
||||||
|
QuestionSubject questionSubject = questionSubjects.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionNumber()) && questionSubjectOption.getQuestionNumber().equals(item.getQuestionNumber())).findFirst().orElse(new QuestionSubject());
|
||||||
|
questionSubjectOption.setQuestionnaireSubjectId(questionSubject.getId());
|
||||||
|
saveQuestionSubjectOption.setCreateTime(DateUtils.getNowDate());
|
||||||
|
saveQuestionSubjectOption.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
saveQuestionSubjectOptions.add(questionSubjectOption);
|
||||||
|
}
|
||||||
|
int subjectOptionCount = questionSubjectOptionMapper.insertQuestionSubjectOptionList(saveQuestionSubjectOptions);
|
||||||
|
if (subjectOptionCount <= 0) {
|
||||||
|
log.info("修改问卷答案表失败," + questionSubjects);
|
||||||
|
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -129,8 +222,23 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
|||||||
* @param id 问卷基本信息主键
|
* @param id 问卷基本信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public int deleteQuestionInfoById(Long id) {
|
public int deleteQuestionInfoById(Long id) {
|
||||||
|
List<QuestionSubjectVO> originalSubjectList = questionSubjectMapper.selectQuestionSubjectBy(id);
|
||||||
|
if (CollectionUtils.isNotEmpty(originalSubjectList)) {
|
||||||
|
List<Long> originalSubjectIds = originalSubjectList.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId())).map(QuestionSubject::getId).collect(Collectors.toList());
|
||||||
|
int deleteQuestionCount = questionSubjectMapper.deleteSubjectByQuestionInfoId(id);
|
||||||
|
if (deleteQuestionCount < 0) {
|
||||||
|
log.info("删除问卷题目表失败");
|
||||||
|
throw new SecurityException("删除问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
int deleteOptionIds = questionSubjectOptionMapper.deleteOptionByQuestionSubjectIds(originalSubjectIds);
|
||||||
|
if (deleteOptionIds < 0) {
|
||||||
|
log.info("删除问卷选项表失败");
|
||||||
|
throw new SecurityException("删除问卷失败!请联系管理员!");
|
||||||
|
}
|
||||||
|
}
|
||||||
return questionInfoMapper.deleteQuestionInfoById(id);
|
return questionInfoMapper.deleteQuestionInfoById(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -340,4 +340,19 @@
|
|||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<select id="selectQuestionSubjectBy" resultType="com.xinelu.manage.vo.questionsubject.QuestionSubjectVO">
|
||||||
|
<include refid="selectQuestionSubjectVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="questionInfoId != null ">
|
||||||
|
and question_info_id = #{id}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteSubjectByQuestionInfoId">
|
||||||
|
delete
|
||||||
|
from question_subject
|
||||||
|
where question_info_id = #{questionInfoId}
|
||||||
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -174,4 +174,63 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<insert id="insertQuestionSubjectOptionList">
|
||||||
|
insert into question_subject_option(
|
||||||
|
questionnaire_subject_id,
|
||||||
|
question_name,
|
||||||
|
option_name,
|
||||||
|
option_answer,
|
||||||
|
option_score,
|
||||||
|
option_sort,
|
||||||
|
option_remark,
|
||||||
|
create_by,
|
||||||
|
create_time
|
||||||
|
) values
|
||||||
|
<foreach item="QuestionSubjectOption" index="index" collection="list" separator=",">
|
||||||
|
(
|
||||||
|
#{QuestionSubjectOption.questionnaireSubjectId},
|
||||||
|
#{QuestionSubjectOption.questionName},
|
||||||
|
#{QuestionSubjectOption.optionName},
|
||||||
|
#{QuestionSubjectOption.optionAnswer},
|
||||||
|
#{QuestionSubjectOption.optionScore},
|
||||||
|
#{QuestionSubjectOption.optionSort},
|
||||||
|
#{QuestionSubjectOption.optionRemark},
|
||||||
|
#{QuestionSubjectOption.createBy},
|
||||||
|
#{QuestionSubjectOption.createTime}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<select id="selectQuestionSubjectOptions"
|
||||||
|
resultType="com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO">
|
||||||
|
select id,
|
||||||
|
questionnaire_subject_id,
|
||||||
|
question_name,
|
||||||
|
option_name,
|
||||||
|
option_answer,
|
||||||
|
option_score,
|
||||||
|
option_sort,
|
||||||
|
option_remark,
|
||||||
|
create_by,
|
||||||
|
create_time,
|
||||||
|
update_by,
|
||||||
|
update_time
|
||||||
|
from question_subject_option
|
||||||
|
<where>
|
||||||
|
<if test="questionSubjectIds != null and questionSubjectIds.size() > 0">
|
||||||
|
questionnaire_subject_id in
|
||||||
|
<foreach item="questionSubjectIds" collection="questionSubjectIds" open="(" separator="," close=")">
|
||||||
|
#{questionSubjectIds}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteOptionByQuestionSubjectIds">
|
||||||
|
delete from question_subject_option where questionnaire_subject_id in
|
||||||
|
<foreach item="id" collection="list" open="(" separator="," close=")">
|
||||||
|
#{questionSubjectIds}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user