|
@@ -25,9 +25,9 @@ import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import com.qmth.teachcloud.mark.bean.mark.DoubleMarkParam;
|
|
|
import com.qmth.teachcloud.mark.bean.student.MarkStudentQuery;
|
|
|
import com.qmth.teachcloud.mark.bean.vo.parseCard.pic.SubPictureConfig;
|
|
|
+import com.qmth.teachcloud.mark.dto.mark.MarkPaperFileDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.MarkQuestionAnswerVo;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.MarkStudentVo;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.MarkPaperFileDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.manage.*;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupTaskDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkQuestionDto;
|
|
@@ -53,7 +53,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
@@ -94,11 +93,6 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
|
|
|
@Resource
|
|
|
private MarkSyncService markSyncService;
|
|
|
|
|
|
- @Override
|
|
|
- public String assembleGroupQuestionsByExamIdAndPaperNumberAndNumber(Long examId, String paperNumber, Integer groupNumber) {
|
|
|
- return this.baseMapper.assembleQuestionsByExamIdAndPaperNumberAndNumber(examId, paperNumber, groupNumber);
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public List<MarkQuestion> listQuestionByExamIdAndPaperNumber(Long examId, String paperNumber) {
|
|
|
QueryWrapper<MarkQuestion> queryWrapper = new QueryWrapper<>();
|
|
@@ -839,31 +833,22 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
|
|
|
|
|
|
@Override
|
|
|
public void updatePic(String content, List<MarkQuestion> markQuestions) {
|
|
|
- List<SubPictureConfig> pictureConfigs = CardParseUtils.parseCardPic(content, markQuestions);
|
|
|
- List<SubPictureConfig> subPictureConfigList;
|
|
|
- for (MarkQuestion markQuestion : markQuestions) {
|
|
|
- // 填空题区域为一个整体
|
|
|
- if (markQuestion.getQuestionType() == 4) {
|
|
|
- subPictureConfigList = pictureConfigs.stream().filter(m -> m.getMainNumber().equals(markQuestion.getMainNumber())).collect(Collectors.toList());
|
|
|
- } else {
|
|
|
- subPictureConfigList = pictureConfigs.stream().filter(m -> m.getQuestionNumber().equals(markQuestion.getQuestionNumber())).collect(Collectors.toList());
|
|
|
+ // 只更新主观题
|
|
|
+ List<MarkQuestion> questions = markQuestions.stream().filter(m -> !m.getObjective()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(questions)) {
|
|
|
+ List<SubPictureConfig> pictureConfigs = CardParseUtils.parseCardPic(content, questions);
|
|
|
+ List<SubPictureConfig> subPictureConfigList;
|
|
|
+ for (MarkQuestion markQuestion : questions) {
|
|
|
+ // 填空题区域为一个整体
|
|
|
+ if (markQuestion.getQuestionType() == 4) {
|
|
|
+ subPictureConfigList = pictureConfigs.stream().filter(m -> m.getMainNumber().equals(markQuestion.getMainNumber())).collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ subPictureConfigList = pictureConfigs.stream().filter(m -> m.getQuestionNumber().equals(markQuestion.getQuestionNumber())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ markQuestion.setPicList(SubPictureConfig.transfer(subPictureConfigList));
|
|
|
}
|
|
|
- markQuestion.setPicList(SubPictureConfig.transfer(subPictureConfigList));
|
|
|
+ this.updateBatchById(questions);
|
|
|
}
|
|
|
- this.updateBatchById(markQuestions);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public long countUnBindMarkerByExamIdAndPaperNumberAndObjective(Long examId, String paperNumber, boolean objective) {
|
|
|
- return this.baseMapper.countUnBindMarkerByExamIdAndPaperNumberAndObjective(examId, paperNumber, objective);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public long countByExamIdAndPaperNumberAndObjective(Long examId, String paperNumber, boolean objective) {
|
|
|
- QueryWrapper<MarkQuestion> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(MarkQuestion::getExamId, examId)
|
|
|
- .eq(MarkQuestion::getPaperNumber, paperNumber)
|
|
|
- .eq(MarkQuestion::getObjective, objective);
|
|
|
- return this.count(queryWrapper);
|
|
|
- }
|
|
|
}
|