|
@@ -15,7 +15,6 @@ import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
import com.qmth.teachcloud.common.bean.vo.OriginalVo;
|
|
import com.qmth.teachcloud.common.bean.vo.OriginalVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
|
|
-import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
import com.qmth.teachcloud.common.entity.BasicPrintConfig;
|
|
import com.qmth.teachcloud.common.entity.BasicPrintConfig;
|
|
@@ -23,17 +22,19 @@ import com.qmth.teachcloud.common.entity.BasicSemester;
|
|
import com.qmth.teachcloud.common.entity.TBTask;
|
|
import com.qmth.teachcloud.common.entity.TBTask;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
import com.qmth.teachcloud.common.service.BasicAttachmentService;
|
|
import com.qmth.teachcloud.common.service.BasicAttachmentService;
|
|
-import com.qmth.teachcloud.common.service.BasicClazzService;
|
|
|
|
import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
-import com.qmth.teachcloud.common.util.*;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.util.ConvertUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.ExamTaskUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.FileUtil;
|
|
|
|
+import com.qmth.teachcloud.common.util.RedisUtil;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
@@ -54,10 +55,6 @@ public class CreatePdfUtil {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
BasicAttachmentService basicAttachmentService;
|
|
BasicAttachmentService basicAttachmentService;
|
|
-
|
|
|
|
-// @Resource
|
|
|
|
-// FreemarkerUtil freemarkerUtil;
|
|
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
@Lazy
|
|
@Lazy
|
|
PrintCommonService printCommonService;
|
|
PrintCommonService printCommonService;
|
|
@@ -71,15 +68,6 @@ public class CreatePdfUtil {
|
|
@Resource
|
|
@Resource
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
|
|
|
|
- @Resource
|
|
|
|
- FileStoreUtil fileStoreUtil;
|
|
|
|
-
|
|
|
|
- @Resource
|
|
|
|
- BasicClazzService basicClazzService;
|
|
|
|
-
|
|
|
|
- @Resource
|
|
|
|
- ExamDetailService examDetailService;
|
|
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
ExamStudentService examStudentService;
|
|
ExamStudentService examStudentService;
|
|
|
|
|
|
@@ -95,8 +83,6 @@ public class CreatePdfUtil {
|
|
@Resource
|
|
@Resource
|
|
ExamTaskDetailService examTaskDetailService;
|
|
ExamTaskDetailService examTaskDetailService;
|
|
|
|
|
|
- @Resource
|
|
|
|
- DictionaryConfig dictionaryConfig;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 创建登记表
|
|
* 创建登记表
|
|
@@ -241,13 +227,13 @@ public class CreatePdfUtil {
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
basicMap.put("code", "courseName");
|
|
basicMap.put("code", "courseName");
|
|
basicMap.put("name", "课程名称");
|
|
basicMap.put("name", "课程名称");
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
|
|
isCourseFill = true;
|
|
isCourseFill = true;
|
|
} else {
|
|
} else {
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> "courseCode".equals(code) ? m.getCourseCode() : "courseName".equals(code) ? m.getCourseName() : "").collect(Collectors.toList());
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> "courseCode".equals(code) ? m.getCourseCode() : "courseName".equals(code) ? m.getCourseName() : "").collect(Collectors.toList());
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
|
|
}
|
|
}
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("paperNumber".equals(code)) {
|
|
} else if ("paperNumber".equals(code)) {
|
|
@@ -255,7 +241,7 @@ public class CreatePdfUtil {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(paperNumbers) ? String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("examPlace".equals(code) || "campusName".equals(code)) {
|
|
} else if ("examPlace".equals(code) || "campusName".equals(code)) {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
@@ -274,7 +260,7 @@ public class CreatePdfUtil {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(collegeNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("majorName".equals(code)) {
|
|
} else if ("majorName".equals(code)) {
|
|
Set<String> stringSet = new HashSet<>();
|
|
Set<String> stringSet = new HashSet<>();
|
|
@@ -285,18 +271,21 @@ public class CreatePdfUtil {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, stringSet));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(stringSet) ? String.join(SystemConstant.COMMA_OF_CHINESE, stringSet) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("clazzName".equals(code)) {
|
|
} else if ("clazzName".equals(code)) {
|
|
- Set<String> stringSet = new HashSet<>();
|
|
|
|
|
|
+ Set<String> clazzNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getClazzName())).map(ExamStudent::getClazzName).collect(Collectors.toSet());
|
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
|
+ basicMap.put("code", code);
|
|
|
|
+ basicMap.put("name", name);
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(clazzNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, clazzNames) : "");
|
|
|
|
+ basicPlate.add(basicMap);
|
|
|
|
+ } else if ("teachClazzName".equals(code)) {
|
|
Set<String> teachClazzNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
|
|
Set<String> teachClazzNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
|
|
- if (!teachClazzNames.isEmpty()) {
|
|
|
|
- stringSet.addAll(teachClazzNames);
|
|
|
|
- }
|
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, stringSet));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(teachClazzNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, teachClazzNames) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else {
|
|
} else {
|
|
// 扩展字段走本校验,进行数据组装
|
|
// 扩展字段走本校验,进行数据组装
|
|
@@ -314,19 +303,19 @@ public class CreatePdfUtil {
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
}
|
|
}
|
|
|
|
|
|
- if("paperCount".equals(code)){
|
|
|
|
|
|
+ if ("paperCount".equals(code)) {
|
|
Map<String, String> basicMap1 = new HashMap<>();
|
|
Map<String, String> basicMap1 = new HashMap<>();
|
|
basicMap1.put("code", "paperCount");
|
|
basicMap1.put("code", "paperCount");
|
|
basicMap1.put("name", "试卷数量");
|
|
basicMap1.put("name", "试卷数量");
|
|
basicMap1.put("value", examStudentList.size() + " + " + backupCount);
|
|
basicMap1.put("value", examStudentList.size() + " + " + backupCount);
|
|
basicPlate.add(basicMap1);
|
|
basicPlate.add(basicMap1);
|
|
- } else if("examCount".equals(code)){
|
|
|
|
|
|
+ } else if ("examCount".equals(code)) {
|
|
Map<String, String> basicMap2 = new HashMap<>();
|
|
Map<String, String> basicMap2 = new HashMap<>();
|
|
basicMap2.put("code", "examCount");
|
|
basicMap2.put("code", "examCount");
|
|
basicMap2.put("name", "应考人数");
|
|
basicMap2.put("name", "应考人数");
|
|
basicMap2.put("value", String.valueOf(examStudentList.size()));
|
|
basicMap2.put("value", String.valueOf(examStudentList.size()));
|
|
basicPlate.add(basicMap2);
|
|
basicPlate.add(basicMap2);
|
|
- } else if("actualExamCount".equals(code)){
|
|
|
|
|
|
+ } else if ("actualExamCount".equals(code)) {
|
|
Map<String, String> basicMap3 = new HashMap<>();
|
|
Map<String, String> basicMap3 = new HashMap<>();
|
|
basicMap3.put("code", "actualExamCount");
|
|
basicMap3.put("code", "actualExamCount");
|
|
basicMap3.put("name", "实考人数");
|
|
basicMap3.put("name", "实考人数");
|
|
@@ -385,13 +374,13 @@ public class CreatePdfUtil {
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
basicMap.put("code", "courseName");
|
|
basicMap.put("code", "courseName");
|
|
basicMap.put("name", "课程名称");
|
|
basicMap.put("name", "课程名称");
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
|
|
isCourseFill = true;
|
|
isCourseFill = true;
|
|
} else {
|
|
} else {
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> "courseCode".equals(code) ? m.getCourseCode() : "courseName".equals(code) ? m.getCourseName() : "").collect(Collectors.toList());
|
|
List<String> courseNames = examDetailCourseList.stream().map(m -> "courseCode".equals(code) ? m.getCourseCode() : "courseName".equals(code) ? m.getCourseName() : "").collect(Collectors.toList());
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
|
|
}
|
|
}
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("paperNumber".equals(code)) {
|
|
} else if ("paperNumber".equals(code)) {
|
|
@@ -399,7 +388,7 @@ public class CreatePdfUtil {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(paperNumbers) ? String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("examDate".equals(code) || "examTime".equals(code)) {
|
|
} else if ("examDate".equals(code) || "examTime".equals(code)) {
|
|
String startDate = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DATE_PATTERN);
|
|
String startDate = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DATE_PATTERN);
|
|
@@ -477,21 +466,28 @@ public class CreatePdfUtil {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(collegeNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("majorName".equals(code)) {
|
|
} else if ("majorName".equals(code)) {
|
|
Set<String> majorNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getMajorName())).map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
|
|
Set<String> majorNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getMajorName())).map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, majorNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(majorNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, majorNames) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("teachClazzName".equals(code)) {
|
|
} else if ("teachClazzName".equals(code)) {
|
|
- Set<String> teachClassNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getClazzName())).map(ExamStudentCourseDto::getClazzName).collect(Collectors.toSet());
|
|
|
|
|
|
+ Set<String> teachClassNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudentCourseDto::getTeachClazzName).collect(Collectors.toSet());
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
basicMap.put("code", code);
|
|
basicMap.put("code", code);
|
|
basicMap.put("name", name);
|
|
basicMap.put("name", name);
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, teachClassNames));
|
|
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(teachClassNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, teachClassNames) : "");
|
|
|
|
+ basicPlate.add(basicMap);
|
|
|
|
+ } else if ("clazzName".equals(code)) {
|
|
|
|
+ Set<String> classNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getClazzName())).map(ExamStudentCourseDto::getClazzName).collect(Collectors.toSet());
|
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
|
+ basicMap.put("code", code);
|
|
|
|
+ basicMap.put("name", name);
|
|
|
|
+ basicMap.put("value", CollectionUtils.isNotEmpty(classNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, classNames) : "");
|
|
basicPlate.add(basicMap);
|
|
basicPlate.add(basicMap);
|
|
} else if ("examCount".equals(code)) {
|
|
} else if ("examCount".equals(code)) {
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
@@ -549,7 +545,10 @@ public class CreatePdfUtil {
|
|
studentMap.put("courseName", examStudentCourseDto.getCourseName());
|
|
studentMap.put("courseName", examStudentCourseDto.getCourseName());
|
|
}
|
|
}
|
|
if (studentHeadPlateMap.containsKey("clazzName")) {
|
|
if (studentHeadPlateMap.containsKey("clazzName")) {
|
|
- studentMap.put("clazzName", StringUtils.isBlank(examStudentCourseDto.getTeachClazzName()) ? examStudentCourseDto.getClazzName() : examStudentCourseDto.getTeachClazzName());
|
|
|
|
|
|
+ studentMap.put("clazzName", examStudentCourseDto.getClazzName());
|
|
|
|
+ }
|
|
|
|
+ if (studentHeadPlateMap.containsKey("teachClazzName")) {
|
|
|
|
+ studentMap.put("teachClazzName", examStudentCourseDto.getTeachClazzName());
|
|
}
|
|
}
|
|
if (studentHeadPlateMap.containsKey("ticketNumber")) {
|
|
if (studentHeadPlateMap.containsKey("ticketNumber")) {
|
|
studentMap.put("ticketNumber", examStudentCourseDto.getTicketNumber());
|
|
studentMap.put("ticketNumber", examStudentCourseDto.getTicketNumber());
|