|
@@ -2,6 +2,7 @@ package com.qmth.teachcloud.task.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto;
|
|
import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto;
|
|
|
|
+import com.qmth.distributed.print.business.bean.dto.initMarkData.InitExamDetailDto;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.enums.CardTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.CardTypeEnum;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
@@ -83,12 +84,11 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
* @param courseCode
|
|
* @param courseCode
|
|
* @param courseName
|
|
* @param courseName
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
- * @param packageCode
|
|
|
|
* @param paperInfoVos
|
|
* @param paperInfoVos
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
- public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType, List<PaperInfoVo> paperInfoVos) {
|
|
|
|
|
|
+ public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, Long userId, String paperType, List<PaperInfoVo> paperInfoVos) {
|
|
try {
|
|
try {
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, paperNumber, paperType);
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, paperNumber, paperType);
|
|
if (markPaper == null) {
|
|
if (markPaper == null) {
|
|
@@ -101,11 +101,6 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
}
|
|
}
|
|
markPaperService.save(insertMarkPaper);
|
|
markPaperService.save(insertMarkPaper);
|
|
}
|
|
}
|
|
- List<MarkPaperPackage> markPaperPackages = new ArrayList<>();
|
|
|
|
- for (String code : packageCode.split(",")) {
|
|
|
|
- markPaperPackages.add(new MarkPaperPackage(examId, courseCode, courseName, paperNumber, coursePaperId, paperType, code));
|
|
|
|
- }
|
|
|
|
- markPaperPackageService.saveOrUpdateBatchByMultiId(markPaperPackages);
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.info("同步考试课程失败");
|
|
log.info("同步考试课程失败");
|
|
}
|
|
}
|
|
@@ -115,21 +110,18 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
@Override
|
|
@Override
|
|
public void insertMarkStudent(ExamDetailCourseInitMarkDto dto, String paperType) {
|
|
public void insertMarkStudent(ExamDetailCourseInitMarkDto dto, String paperType) {
|
|
try {
|
|
try {
|
|
|
|
+ List<InitExamDetailDto> initExamDetailDtoList = examDetailService.listPrintFinishExamDetailCourseIds(dto.getExamId(), dto.getPaperNumber(), paperType);
|
|
|
|
+
|
|
List<MarkStudent> markStudentList = new ArrayList<>();
|
|
List<MarkStudent> markStudentList = new ArrayList<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
- for (String id : dto.getExamDetailCourseIds().split(",")) {
|
|
|
|
- Long examDetailCourseId = Long.valueOf(id);
|
|
|
|
- ExamDetail examDetail = examDetailService.getByExamDetailCourseId(examDetailCourseId);
|
|
|
|
- if (examDetail == null) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- List<ExamStudent> examStudentList = examStudentService.listByExamDetailCourseIdNotIntMarkStudent(examDetailCourseId, paperType);
|
|
|
|
|
|
+ for (InitExamDetailDto initExamDetailDto : initExamDetailDtoList) {
|
|
|
|
+ List<ExamStudent> examStudentList = examStudentService.listByExamDetailCourseIdNotIntMarkStudent(initExamDetailDto.getExamDetailCourseId(), paperType);
|
|
for (ExamStudent examStudent : examStudentList) {
|
|
for (ExamStudent examStudent : examStudentList) {
|
|
MarkStudent markStudent = markStudentService.getById(examStudent.getId());
|
|
MarkStudent markStudent = markStudentService.getById(examStudent.getId());
|
|
if (markStudent != null) {
|
|
if (markStudent != null) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), paperType, examStudent.getStudentCode(), examStudent.getStudentName(), examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(), examStudent.getCollegeName(), examStudent.getMajorName(), examStudent.getTeachClazzName(), examStudent.getTeacherId(), examStudent.getTeacherName(), dto.getExamStartTime(), dto.getExamEndTime(), dto.getCreateId());
|
|
|
|
|
|
+ MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), paperType, examStudent.getStudentCode(), examStudent.getStudentName(), initExamDetailDto.getPackageCode(), initExamDetailDto.getExamPlace(), initExamDetailDto.getExamRoom(), examStudent.getCollegeName(), examStudent.getMajorName(), examStudent.getTeachClazzName(), examStudent.getTeacherId(), examStudent.getTeacherName(), dto.getExamStartTime(), dto.getExamEndTime(), dto.getCreateId());
|
|
if (student.getSecretNumber() == null) {
|
|
if (student.getSecretNumber() == null) {
|
|
student.randomSecretNumber();
|
|
student.randomSecretNumber();
|
|
while (secretNumberSet.contains(student.getSecretNumber())
|
|
while (secretNumberSet.contains(student.getSecretNumber())
|
|
@@ -312,4 +304,16 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void insertMarkPaperPackageCode(ExamDetailCourseInitMarkDto dto, String paperType) {
|
|
|
|
+ List<ExamDetailCourseInitMarkDto> packageCodeList = examDetailService.listPrintFinishPackageCode(dto.getExamId(), dto.getPaperNumber(), paperType);
|
|
|
|
+ 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()));
|
|
|
|
+ }
|
|
|
|
+ markPaperPackageService.saveOrUpdateBatchByMultiId(markPaperPackages);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|