|
@@ -344,47 +344,112 @@ public class CreatePdfUtil {
|
|
|
pdfPackageDto.setTitlePlate(titlePlate);
|
|
|
|
|
|
List<JSONObject> objectList = JSON.parseArray(object.getString("basic"), JSONObject.class);
|
|
|
+
|
|
|
+ boolean isCourseHasTwo = objectList.stream().filter(m -> "courseCode".equals(m.getString("code")) || "courseName".equals(m.getString("code"))).count() == 2;
|
|
|
+ boolean isDateHasTwo = objectList.stream().filter(m -> "examDate".equals(m.getString("code")) || "examTime".equals(m.getString("code"))).count() == 2;
|
|
|
+ boolean isCourseFill = false;
|
|
|
+ boolean isDateFill = false;
|
|
|
// 基础信息
|
|
|
List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
for (JSONObject jsonObject : objectList) {
|
|
|
- Map<String, String> basicMap = new HashMap<>();
|
|
|
if (jsonObject.getBoolean("enable")) {
|
|
|
String code = jsonObject.getString("code");
|
|
|
String name = jsonObject.getString("name");
|
|
|
- basicMap.put("code", code);
|
|
|
- basicMap.put("name", name);
|
|
|
- if ("examTime".equals(code)) {
|
|
|
+ if ("examDate".equals(code) || "examTime".equals(code)) {
|
|
|
String startDate = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DATE_PATTERN);
|
|
|
String endDate = DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.DATE_PATTERN);
|
|
|
String startTime = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.TIME_PATTERN);
|
|
|
String endTime = DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.TIME_PATTERN);
|
|
|
- String examTime;
|
|
|
- if (startDate.equals(endDate)) {
|
|
|
- examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ if (isDateHasTwo) {
|
|
|
+ if (isDateFill) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String examTime;
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ }
|
|
|
+ basicMap.put("code", "examTime");
|
|
|
+ basicMap.put("name", "考试时间");
|
|
|
+ basicMap.put("value", examTime);
|
|
|
+ isDateFill = true;
|
|
|
} else {
|
|
|
- examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ String examTime = "";
|
|
|
+ if ("examDate".equals(code)) {
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + SystemConstant.HYPHEN + endDate;
|
|
|
+ }
|
|
|
+ } else if ("examTime".equals(code)) {
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", examTime);
|
|
|
}
|
|
|
- basicMap.put("value", examTime);
|
|
|
- } else if ("courseCode".equals(code)) {
|
|
|
- List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
|
- basicMap.put("value", String.join(",", courseNames));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else if ("courseCode".equals(code) || "courseName".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ if (isCourseHasTwo) {
|
|
|
+ if (isCourseFill) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
|
+ basicMap.put("code", "courseName");
|
|
|
+ basicMap.put("name", "科目名称");
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
+ isCourseFill = true;
|
|
|
+ } else {
|
|
|
+ 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("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
+ }
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("paperNumber".equals(code)) {
|
|
|
List<String> paperNumbers = examDetailCourseList.stream().map(ExamDetailCourse::getPaperNumber).collect(Collectors.toList());
|
|
|
- basicMap.put("value", String.join(",", paperNumbers));
|
|
|
- } else if ("examPlace".equals(code) || "campusName".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else if ("examPlace".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
basicMap.put("value", examDetail.getExamPlace());
|
|
|
- } else if ("examRoom".equals(code) || "examClassroomName".equals(code)) {
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else if ("examRoom".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
basicMap.put("value", examDetail.getExamRoom());
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("collegeName".equals(code)) {
|
|
|
Set<String> collegeNames = examStudentList.stream().map(ExamStudent::getCollegeName).collect(Collectors.toSet());
|
|
|
- basicMap.put("value", String.join(",", collegeNames));
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("majorName".equals(code)) {
|
|
|
Set<String> stringSet = new HashSet<>();
|
|
|
Set<String> majorNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getMajorName())).map(ExamStudent::getMajorName).collect(Collectors.toSet());
|
|
|
if (!majorNames.isEmpty()) {
|
|
|
stringSet.addAll(majorNames);
|
|
|
}
|
|
|
- basicMap.put("value", String.join(",", stringSet));
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, stringSet));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("clazzName".equals(code)) {
|
|
|
Set<String> stringSet = new HashSet<>();
|
|
|
Set<String> clazzNames = examStudentList.stream().filter(m -> m.getStudentClazzType().equals(StudentClazzEnum.BASIC_CLAZZ) && StringUtils.isNotBlank(m.getClazzName())).map(ExamStudent::getClazzName).collect(Collectors.toSet());
|
|
@@ -395,52 +460,44 @@ public class CreatePdfUtil {
|
|
|
if (!teachClazzNames.isEmpty()) {
|
|
|
stringSet.addAll(teachClazzNames);
|
|
|
}
|
|
|
- basicMap.put("value", String.join(",", stringSet));
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, stringSet));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("examCount".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
basicMap.put("value", String.valueOf(examStudentList.size()));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("actualExamCount".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
basicMap.put("value", "");
|
|
|
+ basicPlate.add(basicMap);
|
|
|
} else if ("paperCount".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
basicMap.put("value", examStudentList.size() + " + " + printCount);
|
|
|
- }
|
|
|
- //开课学院
|
|
|
- else if ("BCollege".equals(code)) {
|
|
|
- Set<String> bollegeSet = new HashSet<>();
|
|
|
- for (ExamStudentCourseDto studentCourseDto : examStudentList) {
|
|
|
- String extendFields = studentCourseDto.getExtendFields();
|
|
|
- Set<String> stringSet = JSON.parseArray(extendFields, JSONObject.class).stream().filter(m -> "BCollege".equals(m.getString("code"))).map(m -> m.getString("value")).collect(Collectors.toSet());
|
|
|
- if (!stringSet.isEmpty()) {
|
|
|
- bollegeSet.addAll(stringSet);
|
|
|
- }
|
|
|
- }
|
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, bollegeSet));
|
|
|
- }
|
|
|
- //派监考学院
|
|
|
- else if ("STICollege".equals(code)) {
|
|
|
- Set<String> stiCollegeSet = new HashSet<>();
|
|
|
- for (ExamStudentCourseDto studentCourseDto : examStudentList) {
|
|
|
- String extendFields = studentCourseDto.getExtendFields();
|
|
|
- Set<String> stringSet = JSON.parseArray(extendFields, JSONObject.class).stream().filter(m -> "STICollege".equals(m.getString("code"))).map(m -> m.getString("value")).collect(Collectors.toSet());
|
|
|
- if (!stringSet.isEmpty()) {
|
|
|
- stiCollegeSet.addAll(stringSet);
|
|
|
- }
|
|
|
- }
|
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, stiCollegeSet));
|
|
|
- }
|
|
|
- //上课教师
|
|
|
- else if ("CTeacher".equals(code)) {
|
|
|
- Set<String> cTeacherSet = new HashSet<>();
|
|
|
- for (ExamStudentCourseDto studentCourseDto : examStudentList) {
|
|
|
- String extendFields = studentCourseDto.getExtendFields();
|
|
|
- Set<String> stringSet = JSON.parseArray(extendFields, JSONObject.class).stream().filter(m -> "CTeacher".equals(m.getString("code"))).map(m -> m.getString("value")).collect(Collectors.toSet());
|
|
|
- if (!stringSet.isEmpty()) {
|
|
|
- cTeacherSet.addAll(stringSet);
|
|
|
- }
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else {
|
|
|
+ // 扩展字段走本校验,进行数据组装
|
|
|
+ Set<String> extendFieldsSet = examStudentList.stream().map(ExamStudentCourseDto::getExtendFields).collect(Collectors.toSet());
|
|
|
+ Set<String> finalSet = new HashSet<>();
|
|
|
+ for (String extendField : extendFieldsSet) {
|
|
|
+ List<JSONObject> jsonObjects = JSON.parseArray(extendField, JSONObject.class);
|
|
|
+ Set<String> values = jsonObjects.stream().filter(m -> code.equals(m.getString("code"))).map(m -> m.getString("value")).collect(Collectors.toSet());
|
|
|
+ finalSet.addAll(values);
|
|
|
}
|
|
|
- basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, cTeacherSet));
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, finalSet));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
}
|
|
|
- basicPlate.add(basicMap);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
pdfPackageDto.setBasicPlate(basicPlate);
|
|
@@ -664,56 +721,130 @@ public class CreatePdfUtil {
|
|
|
JSONObject jsonObject = JSON.parseObject(basicTemplate.getDisplayRange());
|
|
|
List<JSONObject> objectList = JSON.parseArray(jsonObject.getString("basic"), JSONObject.class);
|
|
|
|
|
|
+ boolean isCourseHasTwo = objectList.stream().filter(m -> "courseCode".equals(m.getString("code")) || "courseName".equals(m.getString("code"))).count() == 2;
|
|
|
+ boolean isDateHasTwo = objectList.stream().filter(m -> "examDate".equals(m.getString("code")) || "examTime".equals(m.getString("code"))).count() == 2;
|
|
|
+ boolean isPlaceHasTwo = objectList.stream().filter(m -> "examPlace".equals(m.getString("code")) || "examRoom".equals(m.getString("code"))).count() == 2;
|
|
|
+
|
|
|
// 基础信息
|
|
|
List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
+ boolean isCourseFill = false;
|
|
|
+ boolean isDateFill = false;
|
|
|
+ boolean isPlaceFill = false;
|
|
|
for (JSONObject object : objectList) {
|
|
|
if (!object.getBoolean("enable")) {
|
|
|
continue;
|
|
|
}
|
|
|
String code = object.getString("code");
|
|
|
String name = object.getString("name");
|
|
|
- if ("courseName".equals(code)) {
|
|
|
- List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
|
+ if ("courseCode".equals(code) || "courseName".equals(code)) {
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
|
- basicMap.put("code", code);
|
|
|
- basicMap.put("name", name);
|
|
|
- basicMap.put("value", String.join(",", courseNames));
|
|
|
+ if (isCourseHasTwo) {
|
|
|
+ if (isCourseFill) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ List<String> courseNames = examDetailCourseList.stream().map(m -> String.format("%s(%s)", m.getCourseName(), m.getCourseCode())).collect(Collectors.toList());
|
|
|
+ basicMap.put("code", "courseName");
|
|
|
+ basicMap.put("name", "科目名称");
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
+ isCourseFill = true;
|
|
|
+ } else {
|
|
|
+ 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("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, courseNames));
|
|
|
+ }
|
|
|
basicPlate.add(basicMap);
|
|
|
} else if ("paperNumber".equals(code)) {
|
|
|
List<String> paperNumbers = examDetailCourseList.stream().map(ExamDetailCourse::getPaperNumber).collect(Collectors.toList());
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
|
basicMap.put("code", code);
|
|
|
basicMap.put("name", name);
|
|
|
- basicMap.put("value", String.join(",", paperNumbers));
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers));
|
|
|
basicPlate.add(basicMap);
|
|
|
- } else if ("examTime".equals(code)) {
|
|
|
+ } else if ("examDate".equals(code) || "examTime".equals(code)) {
|
|
|
String startDate = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DATE_PATTERN);
|
|
|
String endDate = DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.DATE_PATTERN);
|
|
|
String startTime = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.TIME_PATTERN);
|
|
|
String endTime = DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.TIME_PATTERN);
|
|
|
- String examTime;
|
|
|
- if (startDate.equals(endDate)) {
|
|
|
- examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ if (isDateHasTwo) {
|
|
|
+ if (isDateFill) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String examTime;
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ }
|
|
|
+ basicMap.put("code", "examTime");
|
|
|
+ basicMap.put("name", "考试时间");
|
|
|
+ basicMap.put("value", examTime);
|
|
|
+ isDateFill = true;
|
|
|
+ } else {
|
|
|
+ String examTime = "";
|
|
|
+ if ("examDate".equals(code)) {
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + SystemConstant.HYPHEN + endDate;
|
|
|
+ }
|
|
|
+ } else if ("examTime".equals(code)) {
|
|
|
+ if (startDate.equals(endDate)) {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endTime;
|
|
|
+ } else {
|
|
|
+ examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", examTime);
|
|
|
+ }
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else if ("examPlace".equals(code) || "examRoom".equals(code)) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ if (isPlaceHasTwo) {
|
|
|
+ if (isPlaceFill) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ StringJoiner stringJoiner = new StringJoiner("");
|
|
|
+ if (StringUtils.isNotBlank(examDetail.getExamPlace())) {
|
|
|
+ stringJoiner.add(examDetail.getExamPlace());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(examDetail.getExamRoom())) {
|
|
|
+ stringJoiner.add(examDetail.getExamRoom());
|
|
|
+ }
|
|
|
+ basicMap.put("code", "examRoom");
|
|
|
+ basicMap.put("name", "考试地点");
|
|
|
+ basicMap.put("value", stringJoiner.toString());
|
|
|
+ isPlaceFill = true;
|
|
|
} else {
|
|
|
- examTime = startDate + " " + startTime + SystemConstant.HYPHEN + endDate + " " + endTime;
|
|
|
+ StringJoiner stringJoiner = new StringJoiner("");
|
|
|
+ if ("examPlace".equals(code) && StringUtils.isNotBlank(examDetail.getExamPlace())) {
|
|
|
+ stringJoiner.add(examDetail.getExamPlace());
|
|
|
+ }
|
|
|
+ if ("examRoom".equals(code) && StringUtils.isNotBlank(examDetail.getExamRoom())) {
|
|
|
+ stringJoiner.add(examDetail.getExamRoom());
|
|
|
+ }
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", stringJoiner.toString());
|
|
|
}
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ } else if ("collegeName".equals(code)) {
|
|
|
+ Set<String> collegeNames = examStudentList.stream().map(ExamStudentCourseDto::getCollegeName).collect(Collectors.toSet());
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
|
basicMap.put("code", code);
|
|
|
basicMap.put("name", name);
|
|
|
- basicMap.put("value", examTime);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames));
|
|
|
basicPlate.add(basicMap);
|
|
|
- } else if ("examPlace".equals(code)) {
|
|
|
+ } else if ("majorName".equals(code)) {
|
|
|
+ Set<String> majorNames = examStudentList.stream().map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
|
basicMap.put("code", code);
|
|
|
basicMap.put("name", name);
|
|
|
- StringJoiner stringJoiner = new StringJoiner("");
|
|
|
- if (StringUtils.isNotBlank(examDetail.getExamPlace())) {
|
|
|
- stringJoiner.add(examDetail.getExamPlace());
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(examDetail.getExamRoom())) {
|
|
|
- stringJoiner.add(examDetail.getExamRoom());
|
|
|
- }
|
|
|
- basicMap.put("value", stringJoiner.toString());
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, majorNames));
|
|
|
basicPlate.add(basicMap);
|
|
|
} else if ("examCount".equals(code)) {
|
|
|
Map<String, String> basicMap = new HashMap<>();
|
|
@@ -727,6 +858,20 @@ public class CreatePdfUtil {
|
|
|
basicMap.put("name", name);
|
|
|
basicMap.put("value", "");
|
|
|
basicPlate.add(basicMap);
|
|
|
+ } else {
|
|
|
+ // 扩展字段走本校验,进行数据组装
|
|
|
+ Set<String> extendFieldsSet = examStudentList.stream().map(ExamStudentCourseDto::getExtendFields).collect(Collectors.toSet());
|
|
|
+ Set<String> finalSet = new HashSet<>();
|
|
|
+ for (String extendField : extendFieldsSet) {
|
|
|
+ List<JSONObject> jsonObjects = JSON.parseArray(extendField, JSONObject.class);
|
|
|
+ Set<String> values = jsonObjects.stream().filter(m -> code.equals(m.getString("code"))).map(m -> m.getString("value")).collect(Collectors.toSet());
|
|
|
+ finalSet.addAll(values);
|
|
|
+ }
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", code);
|
|
|
+ basicMap.put("name", name);
|
|
|
+ basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, finalSet));
|
|
|
+ basicPlate.add(basicMap);
|
|
|
}
|
|
|
}
|
|
|
pdfFillDto.setBasicPlate(basicPlate);
|
|
@@ -1088,7 +1233,7 @@ public class CreatePdfUtil {
|
|
|
* @param tbTask
|
|
|
* @param userId
|
|
|
* @param examDetail
|
|
|
- * @param basicExam
|
|
|
+ * @param basicPrintConfig
|
|
|
* @param fileTempList
|
|
|
* @return
|
|
|
* @throws IOException
|
|
@@ -1099,7 +1244,7 @@ public class CreatePdfUtil {
|
|
|
TBTask tbTask,
|
|
|
Long userId,
|
|
|
ExamDetail examDetail,
|
|
|
- BasicExam basicExam,
|
|
|
+ BasicPrintConfig basicPrintConfig,
|
|
|
List<File> fileTempList) throws Exception {
|
|
|
File localA4PdfFile = null, localPaperPdfFile = null, localA3PdfCardFile = null;
|
|
|
BasicAttachment basicAttachment = null;
|
|
@@ -1132,7 +1277,7 @@ public class CreatePdfUtil {
|
|
|
examDetail.setPaperPages(PdfUtil.getPdfPages(localPaperPdfFile));
|
|
|
examDetail.setCardPages(PdfUtil.getPdfPages(localA3PdfCardFile));
|
|
|
examDetail.setPagesA4(PdfUtil.getPdfPages(localA4PdfFile));
|
|
|
- if (PrintMethodEnum.AUTO == basicExam.getPrintMethod()) {
|
|
|
+ if (PrintMethodEnum.AUTO == basicPrintConfig.getPrintMethod()) {
|
|
|
examDetail.setStatus(ExamDetailStatusEnum.WAITING);
|
|
|
} else {
|
|
|
examDetail.setStatus(ExamDetailStatusEnum.READY);
|