|
@@ -1,13 +1,15 @@
|
|
|
package com.qmth.teachcloud.task.service.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto;
|
|
|
import com.qmth.distributed.print.business.entity.ExamCard;
|
|
|
import com.qmth.distributed.print.business.entity.ExamDetail;
|
|
|
import com.qmth.distributed.print.business.entity.ExamStudent;
|
|
|
import com.qmth.distributed.print.business.entity.ExamTaskDetail;
|
|
|
import com.qmth.distributed.print.business.enums.CardTypeEnum;
|
|
|
-import com.qmth.distributed.print.business.service.*;
|
|
|
+import com.qmth.distributed.print.business.service.ExamCardService;
|
|
|
+import com.qmth.distributed.print.business.service.ExamDetailService;
|
|
|
+import com.qmth.distributed.print.business.service.ExamStudentService;
|
|
|
+import com.qmth.distributed.print.business.service.ExamTaskDetailService;
|
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
@@ -17,6 +19,7 @@ import com.qmth.teachcloud.common.util.ExamTaskUtil;
|
|
|
import com.qmth.teachcloud.mark.bean.answercard.CardFile;
|
|
|
import com.qmth.teachcloud.mark.bean.vo.parseCard.Struct;
|
|
|
import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkPaperPackage;
|
|
|
import com.qmth.teachcloud.mark.entity.MarkStudent;
|
|
|
import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
|
|
|
import com.qmth.teachcloud.mark.enums.CardSource;
|
|
@@ -38,7 +41,10 @@ import java.io.File;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
@Service
|
|
|
public class PrintFinishServiceImpl implements PrintFinishService {
|
|
@@ -54,7 +60,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
|
@Resource
|
|
|
private ScanAnswerCardService scanAnswerCardService;
|
|
|
@Resource
|
|
|
- private ExamDetailCourseService examDetailCourseService;
|
|
|
+ private MarkPaperPackageService markPaperPackageService;
|
|
|
@Resource
|
|
|
private ExamDetailService examDetailService;
|
|
|
@Resource
|
|
@@ -77,20 +83,19 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
|
* @param paperNumber
|
|
|
* @param packageCode
|
|
|
*/
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType) {
|
|
|
try {
|
|
|
- MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
+ MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, paperNumber, paperType);
|
|
|
if (markPaper != null) {
|
|
|
- if (packageCode.equals(markPaper.getPackageCode())) {
|
|
|
- return;
|
|
|
+ List<MarkPaperPackage> markPaperPackages = new ArrayList<>();
|
|
|
+ for (String code : packageCode.split(",")) {
|
|
|
+ markPaperPackages.add(new MarkPaperPackage(examId, courseCode, courseName, paperNumber, coursePaperId, paperType, code));
|
|
|
}
|
|
|
- UpdateWrapper<MarkPaper> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().set(MarkPaper::getPackageCode, packageCode)
|
|
|
- .eq(MarkPaper::getId, markPaper.getId());
|
|
|
- markPaperService.update(updateWrapper);
|
|
|
+ markPaperPackageService.saveOrUpdateBatchByMultiId(markPaperPackages);
|
|
|
} else {
|
|
|
- MarkPaper insertMarkPaper = new MarkPaper(examId, courseCode, courseName, paperNumber, coursePaperId, packageCode, userId, paperType);
|
|
|
+ MarkPaper insertMarkPaper = new MarkPaper(examId, courseCode, courseName, paperNumber, coursePaperId, userId, paperType);
|
|
|
markPaperService.save(insertMarkPaper);
|
|
|
}
|
|
|
} catch (Exception e) {
|