|
@@ -92,12 +92,19 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
throw new ParameterException("阅卷已结束");
|
|
throw new ParameterException("阅卷已结束");
|
|
}
|
|
}
|
|
|
|
|
|
- ScanAnswerCard card = null;
|
|
|
|
|
|
+ ScanAnswerCard card;
|
|
if (domain.getNumber() != null) {
|
|
if (domain.getNumber() != null) {
|
|
card = findByExamAndNumber(domain.getExamId(), domain.getNumber());
|
|
card = findByExamAndNumber(domain.getExamId(), domain.getNumber());
|
|
if (card == null) {
|
|
if (card == null) {
|
|
throw new ParameterException("未找到卡格式信息");
|
|
throw new ParameterException("未找到卡格式信息");
|
|
}
|
|
}
|
|
|
|
+ if (CardSource.WEB.equals(card.getSource())) {
|
|
|
|
+ throw new ParameterException("电子卡格式,不能修改");
|
|
|
|
+ }
|
|
|
|
+ int studentCount = scanPaperService.getCountByExamAndCardNumber(domain.getExamId(), domain.getNumber());
|
|
|
|
+ if (studentCount > 0) {
|
|
|
|
+ throw new ParameterException("卡格式已被使用,不能修改");
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
card = new ScanAnswerCard();
|
|
card = new ScanAnswerCard();
|
|
card.setId(SystemConstant.getDbUuid());
|
|
card.setId(SystemConstant.getDbUuid());
|
|
@@ -201,10 +208,14 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
|
|
if (card == null) {
|
|
if (card == null) {
|
|
throw new ParameterException("未找到卡格式信息");
|
|
throw new ParameterException("未找到卡格式信息");
|
|
}
|
|
}
|
|
- if (!card.getNeedAdapte()) {
|
|
|
|
|
|
+ if (!card.getNeedAdapte() || CardSource.CLIENT.equals(card.getSource())) {
|
|
throw new ParameterException("卡格式无需适配");
|
|
throw new ParameterException("卡格式无需适配");
|
|
}
|
|
}
|
|
- String filePath = null;
|
|
|
|
|
|
+ int studentCount = scanPaperService.getCountByExamAndCardNumber(examId, cardNumber);
|
|
|
|
+ if (studentCount > 0) {
|
|
|
|
+ throw new ParameterException("卡格式已被使用,无法适配");
|
|
|
|
+ }
|
|
|
|
+ String filePath;
|
|
try {
|
|
try {
|
|
filePath = markFileService.uploadAdapteFile(file.getInputStream(), md5, examId, coursePaperId, cardNumber);
|
|
filePath = markFileService.uploadAdapteFile(file.getInputStream(), md5, examId, coursePaperId, cardNumber);
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|