| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.google.common.collect.ImmutableMap; |
| | | import com.ruoyi.common.annotation.Log; |
| | |
| | | for (TQuestionnaireStem questionnaireStem : questionnaireStems) { |
| | | questionnaireStem.setQuestionnaireId(dto.getId()); |
| | | questionnaireStemService.save(questionnaireStem); |
| | | options = questionnaireStem.getOptions(); |
| | | for (TQuestionnaireStemOption option : options) { |
| | | option.setStemId(questionnaireStem.getId()); |
| | | List<TQuestionnaireStemOption> optionList = questionnaireStem.getOptions(); |
| | | if(!CollectionUtils.isEmpty(optionList)){ |
| | | for (TQuestionnaireStemOption option : optionList) { |
| | | option.setStemId(questionnaireStem.getId()); |
| | | options.add(option); |
| | | } |
| | | } |
| | | } |
| | | if(!CollectionUtils.isEmpty(options)){ |
| | |
| | | LocalDateTime startTime = dto.getStartTime(); |
| | | LocalDateTime endTime = dto.getEndTime(); |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | if(now.isAfter(endTime)){ |
| | | dto.setStatus(3); |
| | | } |
| | | questionnaireService.updateById(dto); |
| | | // 查询题干 |
| | | List<TQuestionnaireStem> questionnaireStemList = questionnaireStemService.list(Wrappers.lambdaQuery(TQuestionnaireStem.class) |
| | | .eq(TQuestionnaireStem::getQuestionnaireId, dto.getId())); |
| | | |
| | | if(!CollectionUtils.isEmpty(questionnaireStemList)){ |
| | | List<String> stemIds = questionnaireStemList.stream().map(TQuestionnaireStem::getId).collect(Collectors.toList()); |
| | | // 删除题干选项 |
| | | questionnaireStemOptionService.remove(Wrappers.lambdaQuery(TQuestionnaireStemOption.class) |
| | | .in(TQuestionnaireStemOption::getStemId, stemIds)); |
| | | } |
| | | // 删除题干 |
| | | questionnaireStemService.remove(Wrappers.lambdaQuery(TQuestionnaireStem.class) |
| | | .eq(TQuestionnaireStem::getQuestionnaireId, dto.getId())); |
| | | // 添加题干 |
| | | List<TQuestionnaireStemOption> options = new ArrayList<>(); |
| | | List<TQuestionnaireStem> questionnaireStems = dto.getQuestionnaireStems(); |
| | | for (TQuestionnaireStem questionnaireStem : questionnaireStems) { |
| | | questionnaireStem.setQuestionnaireId(dto.getId()); |
| | | questionnaireStemService.save(questionnaireStem); |
| | | List<TQuestionnaireStemOption> optionList = questionnaireStem.getOptions(); |
| | | if(!CollectionUtils.isEmpty(optionList)){ |
| | | for (TQuestionnaireStemOption option : optionList) { |
| | | option.setStemId(questionnaireStem.getId()); |
| | | options.add(option); |
| | | } |
| | | } |
| | | } |
| | | if(!CollectionUtils.isEmpty(options)){ |
| | | questionnaireStemOptionService.saveBatch(options); |
| | | } |
| | | if(now.isBefore(startTime)){ |
| | | dto.setStatus(1); |
| | | // 添加定时任务 |
| | |
| | | maps |
| | | ); |
| | | } |
| | | if(now.isAfter(endTime)){ |
| | | dto.setStatus(3); |
| | | } |
| | | questionnaireService.updateById(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | for (TQuestionnaireStem questionnaireStem : questionnaireStems) { |
| | | List<TQuestionnaireStemOption> options = questionnaireStemOptions.stream().filter(questionnaireStemOption -> questionnaireStemOption.getStemId().equals(questionnaireStem.getId())).collect(Collectors.toList()); |
| | | // 匹配作答人数 |
| | | for (TQuestionnaireStemOption option : options) { |
| | | String answerValue = option.getAnswerValue(); |
| | | option.setAnswerNum(StringUtils.hasLength(answerValue)?answerValue.split(",").length:0); |
| | | if(!CollectionUtils.isEmpty(options)){ |
| | | for (TQuestionnaireStemOption option : options) { |
| | | String answerValue = option.getAnswerValue(); |
| | | option.setAnswerNum(StringUtils.hasLength(answerValue)?answerValue.split(",").length:0); |
| | | } |
| | | } |
| | | questionnaireStem.setOptions(options); |
| | | // 匹配解答题答案 |