|
@@ -210,7 +210,7 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
|
scanAnswerCardQuestion.setOptionCount(item.getOptions().size());
|
|
|
scanAnswerCardQuestion.setQuestionType(fillArea.isSingle() ? 1 : 2);
|
|
|
scanAnswerCardQuestion.setPaperIndex(i / 2 + 1);
|
|
|
- scanAnswerCardQuestion.setPageIndex((i+1) % 2 == 1 ? 1 : 2);
|
|
|
+ scanAnswerCardQuestion.setPageIndex((i + 1) % 2 == 1 ? 1 : 2);
|
|
|
scanAnswerCardQuestion.setCreateTime(System.currentTimeMillis());
|
|
|
scanAnswerCardQuestions.add(scanAnswerCardQuestion);
|
|
|
}
|
|
@@ -284,13 +284,21 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
|
if (studentCount != 0) {
|
|
|
throw new ParameterException("卡格式已被使用,无法删除");
|
|
|
}
|
|
|
- UpdateWrapper<ScanAnswerCard> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().eq(ScanAnswerCard::getExamId, card.getExamId());
|
|
|
- updateWrapper.lambda().eq(ScanAnswerCard::getNumber, card.getNumber());
|
|
|
- int count = this.baseMapper.delete(updateWrapper);
|
|
|
- if (count == 0) {
|
|
|
- throw new ParameterException("未找到卡格式");
|
|
|
+ ScanAnswerCard scanAnswerCard = this.getByExamIdAndNumber(card.getExamId(), card.getNumber());
|
|
|
+// UpdateWrapper<ScanAnswerCard> updateWrapper = new UpdateWrapper<>();
|
|
|
+// updateWrapper.lambda().eq(ScanAnswerCard::getExamId, card.getExamId());
|
|
|
+// updateWrapper.lambda().eq(ScanAnswerCard::getNumber, card.getNumber());
|
|
|
+// int count = this.baseMapper.delete(updateWrapper);
|
|
|
+// if (count == 0) {
|
|
|
+// throw new ParameterException("未找到卡格式");
|
|
|
+// }
|
|
|
+ if (scanAnswerCard == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到卡格式");
|
|
|
}
|
|
|
+ this.removeById(scanAnswerCard.getId());
|
|
|
+
|
|
|
+ // 删除卡格式结构
|
|
|
+ scanAnswerCardQuestionService.deleteByExamIdAndPaperNumberAndCardNumber(scanAnswerCard.getExamId(), scanAnswerCard.getPaperNumber(), scanAnswerCard.getNumber());
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -432,6 +440,17 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
|
card.setRemark(remark);
|
|
|
this.save(card);
|
|
|
|
|
|
+ // 保存卡格式结构
|
|
|
+ List<ScanAnswerCardQuestion> scanAnswerCardQuestionList = scanAnswerCardQuestionService.listByExamIdAndPaperNumberAndCardNumber(old.getExamId(), old.getPaperNumber(), old.getNumber());
|
|
|
+ if(CollectionUtils.isNotEmpty(scanAnswerCardQuestionList)){
|
|
|
+ for (ScanAnswerCardQuestion question : scanAnswerCardQuestionList) {
|
|
|
+ question.setId(SystemConstant.getDbUuid());
|
|
|
+ question.setCardNumber(card.getNumber());
|
|
|
+ question.setCreateTime(System.currentTimeMillis());
|
|
|
+ }
|
|
|
+ scanAnswerCardQuestionService.saveBatch(scanAnswerCardQuestionList);
|
|
|
+ }
|
|
|
+
|
|
|
return this.cardGet(examId, card.getNumber());
|
|
|
}
|
|
|
|
|
@@ -456,4 +475,12 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
|
public String getCardContentByCardId(Long cardId, ExamModelEnum examModel) {
|
|
|
return this.baseMapper.getCardContentByCardId(cardId, examModel);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ScanAnswerCard getByExamIdAndNumber(Long examId, Integer number) {
|
|
|
+ QueryWrapper<ScanAnswerCard> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.lambda().eq(ScanAnswerCard::getExamId, examId)
|
|
|
+ .eq(ScanAnswerCard::getNumber, number);
|
|
|
+ return this.getOne(queryWrapper);
|
|
|
+ }
|
|
|
}
|