|
@@ -24,7 +24,6 @@ import com.qmth.distributed.print.common.contant.SystemConstant;
|
|
|
import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.distributed.print.common.util.FileUtil;
|
|
|
import com.qmth.distributed.print.common.util.HexUtils;
|
|
|
-import com.qmth.distributed.print.common.util.JacksonUtil;
|
|
|
import com.qmth.distributed.print.common.util.ResultUtil;
|
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
@@ -46,7 +45,6 @@ import java.io.*;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @Description: 任务处理逻辑impl
|
|
@@ -110,6 +108,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
@Resource
|
|
|
RedisTemplate<String, Object> redisTemplate;
|
|
|
|
|
|
+ @Resource
|
|
|
+ BasicExamRuleService basicExamRuleService;
|
|
|
|
|
|
/**
|
|
|
* 创建pdf逻辑
|
|
@@ -141,6 +141,10 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
}
|
|
|
|
|
|
BasicSchool basicSchool = cacheService.schoolCache(examPrintPlan.getSchoolId());
|
|
|
+ BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
|
|
|
+ if (Objects.isNull(basicExamRule)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("考务规则为空");
|
|
|
+ }
|
|
|
|
|
|
//查询examDetail
|
|
|
QueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<>();
|
|
@@ -156,6 +160,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
attachmentIds = Objects.isNull(attachmentIds) ? attachmentIds = new HashSet<>() : attachmentIds;
|
|
|
ftlList = Objects.isNull(ftlList) ? ftlList = new HashSet<>() : ftlList;
|
|
|
for (ExamDetail examDetail : examDetailList) {
|
|
|
+ tbTask.setObjName(examDetail.getExamRoom());
|
|
|
//查询examDetailCourse
|
|
|
QueryWrapper<ExamDetailCourse> examDetailCourseQueryWrapper = new QueryWrapper<>();
|
|
|
if (Objects.nonNull(examDetailCourseIds) && examDetailCourseIds.size() > 0) {
|
|
@@ -196,7 +201,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
.eq(ExamTask::getCourseName, examDetailCourse.getCourseName())
|
|
|
.eq(ExamTask::getPaperNumber, examDetailCourse.getPaperNumber())
|
|
|
.eq(ExamTask::getEnable, true)
|
|
|
- .eq(ExamTask::getStatus, ExamStatusEnum.FINISH);
|
|
|
+ .eq(ExamTask::getStatus, ExamStatusEnum.FINISH)
|
|
|
+ .orderByAsc(ExamTask::getPaperNumber);
|
|
|
List<ExamTask> examTaskList = examTaskService.list(examTaskQueryWrapper);
|
|
|
if (Objects.isNull(examTaskList) || examTaskList.size() == 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("命题任务为空");
|
|
@@ -237,7 +243,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
String studentContent = cardContent;
|
|
|
|
|
|
for (int i = 1; i <= examPrintPlan.getBackupCount(); i++) {
|
|
|
- basicAttachmentList.add(createPdfUtil.cardHtml(cardContent, paperType, examDetail, examDetailCourse, examCard, jsonArray, sysUser.getId(), cardPdfTempList));
|
|
|
+ basicAttachmentList.add(createPdfUtil.cardHtml(String.format("%02d", i), cardContent, paperType, examDetail, examDetailCourse, examCard, jsonArray, sysUser.getId(), cardPdfTempList));
|
|
|
}
|
|
|
cardPdfList.addAll(cardPdfTempList);
|
|
|
|
|
@@ -292,9 +298,13 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|
|
}
|
|
|
detailCourseService.saveOrUpdateBatch(examDetailCourseList);
|
|
|
//合并pdf
|
|
|
- basicAttachmentList.add(createPdfUtil.mergePdf(tbTask, examDetail, sysUser.getId(), schoolId, variablePdfList, ordinaryPdfList, paperPdfList, examStudentPdfList, backupPaperPdfList, cardPdfList));
|
|
|
+ basicAttachmentList.add(createPdfUtil.mergePdf(basicExamRule, tbTask, examDetail, sysUser.getId(), schoolId, variablePdfList, ordinaryPdfList, paperPdfList, examStudentPdfList, backupPaperPdfList, cardPdfList));
|
|
|
}
|
|
|
}
|
|
|
+ if (PrintMethodEnum.AUTO == basicExamRule.getPrintMethod()) {
|
|
|
+ examPrintPlan.setStatus(PrintPlanStatusEnum.PRINTING);
|
|
|
+ examPrintPlanService.updateById(examPrintPlan);
|
|
|
+ }
|
|
|
map.computeIfAbsent("size", v -> examDetailList.size());
|
|
|
//最后一步删除附件
|
|
|
createPdfUtil.deleteAttachment(attachmentIds, ftlList);
|