Răsfoiți Sursa

Merge branch 'dev_v3.3.3' into dev_v3.3.4

xiaofei 1 an în urmă
părinte
comite
e7856eaa1a

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/ScanAnswerCardService.java

@@ -37,7 +37,7 @@ public interface ScanAnswerCardService extends IService<ScanAnswerCard> {
 
     AnswerCardVo cardGet(Long examId, Integer number);
 
-    ScanAnswerCard getByExamIdAndCoursePaperIdAndCardId(Long examId, String coursePaperId, Long cardId);
+    ScanAnswerCard getByExamIdAndCoursePaperIdAndPaperTypeAndCardId(Long examId, String coursePaperId, String paperType, Long cardId);
 
     List<ScanAnswerCard> listByExamIdAndPaperNumber(Long examId, String paperNumber);
 

+ 2 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java

@@ -254,10 +254,11 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
     }
 
     @Override
-    public ScanAnswerCard getByExamIdAndCoursePaperIdAndCardId(Long examId, String coursePaperId, Long cardId) {
+    public ScanAnswerCard getByExamIdAndCoursePaperIdAndPaperTypeAndCardId(Long examId, String coursePaperId, String paperType, Long cardId) {
         QueryWrapper<ScanAnswerCard> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(ScanAnswerCard::getExamId, examId)
                 .eq(ScanAnswerCard::getCoursePaperId, coursePaperId)
+                .eq(ScanAnswerCard::getPaperType, paperType)
                 .eq(ScanAnswerCard::getCardId, cardId);
         return this.getOne(queryWrapper);
     }

+ 1 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/PrintFinishService.java

@@ -16,7 +16,7 @@ public interface PrintFinishService {
 
     void insertScanAnswerCardAndMarkQuestion(ExamDetailCourseInitMarkDto dto, String paperType);
 
-    void insertScanAnswerCard(ExamDetailCourseInitMarkDto dto, PaperInfoVo paperInfoVo, String content);
+    void insertScanAnswerCard(ExamDetailCourseInitMarkDto dto, String paperType, PaperInfoVo paperInfoVo, String content);
 
     void insertMarkQuestion(Long examId, String paperNumber, String paperType, String content);
 

+ 5 - 5
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/impl/PrintFinishServiceImpl.java

@@ -159,7 +159,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
                     // 解析卡格式中试卷结构并保存
                     this.insertMarkQuestion(dto.getExamId(), dto.getPaperNumber(), paperType, examCard.getContent());
                     // 生成并保存卡格式文件(后缀为.json)
-                    this.insertScanAnswerCard(dto, paperInfoVo, examCard.getContent());
+                    this.insertScanAnswerCard(dto, paperType, paperInfoVo, examCard.getContent());
                     // 题库获取的试卷,同步标答文件
                     if (examCard.getPaperId() != null) {
                         this.insertPaperAnswerFile(dto.getExamId(), dto.getPaperNumber(), paperType, examCard.getPaperId());
@@ -170,10 +170,10 @@ public class PrintFinishServiceImpl implements PrintFinishService {
     }
 
     @Override
-    public void insertScanAnswerCard(ExamDetailCourseInitMarkDto dto, PaperInfoVo paperInfoVo, String content) {
+    public void insertScanAnswerCard(ExamDetailCourseInitMarkDto dto, String paperType, PaperInfoVo paperInfoVo, String content) {
         ExamCard examCard = examCardService.getById(paperInfoVo.getCardId());
         if (examCard != null) {
-            ScanAnswerCard scanAnswerCard = scanAnswerCardService.getByExamIdAndCoursePaperIdAndCardId(dto.getExamId(), dto.getCoursePaperId(), Long.valueOf(paperInfoVo.getCardId()));
+            ScanAnswerCard scanAnswerCard = scanAnswerCardService.getByExamIdAndCoursePaperIdAndPaperTypeAndCardId(dto.getExamId(), dto.getCoursePaperId(), paperType, Long.valueOf(paperInfoVo.getCardId()));
             if (scanAnswerCard != null) {
                 return;
             }
@@ -200,7 +200,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
                     scanAnswerCard.setExamId(dto.getExamId());
                     scanAnswerCard.setPaperNumber(dto.getPaperNumber());
                     scanAnswerCard.setCoursePaperId(dto.getCoursePaperId());
-                    scanAnswerCard.setPaperType(dto.getPaperType());
+                    scanAnswerCard.setPaperType(paperType);
                     scanAnswerCard.setCardId(Long.valueOf(paperInfoVo.getCardId()));
                     scanAnswerCard.setNumber(number);
                     scanAnswerCard.setSource(CardSource.WEB);
@@ -311,7 +311,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
         if (CollectionUtils.isNotEmpty(packageCodeList)) {
             List<MarkPaperPackage> markPaperPackages = new ArrayList<>();
             for (ExamDetailCourseInitMarkDto packageCodeDto : packageCodeList) {
-                markPaperPackages.add(new MarkPaperPackage(packageCodeDto.getExamId(), packageCodeDto.getCourseCode(), packageCodeDto.getCourseName(), packageCodeDto.getPaperNumber(), packageCodeDto.getCoursePaperId(), paperType, packageCodeDto.getPackageCode()));
+                markPaperPackages.add(new MarkPaperPackage(packageCodeDto.getExamId(), packageCodeDto.getCourseCode(), packageCodeDto.getCourseName(), packageCodeDto.getPaperNumber(), dto.getCoursePaperId(), paperType, packageCodeDto.getPackageCode()));
             }
             markPaperPackageService.saveOrUpdateBatchByMultiId(markPaperPackages);
         }