xiaofei 1 年間 前
コミット
fca9ff720a

+ 7 - 16
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -764,14 +764,6 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         List<ExamStudent> examStudentList = new ArrayList<>();
         Long schoolId = sysUser.getSchoolId();
         for (ExaminationImportDto examinationImportDto : examDetailCourseStudentList) {
-            String paperNumber = examinationImportDto.getPaperNumber();
-            String studentName = examinationImportDto.getStudentName();
-            String studentCode = examinationImportDto.getStudentCode();
-            String siteNumber = examinationImportDto.getSiteNumber();
-            String collegeName = examinationImportDto.getCollegeName();
-            String majorName = examinationImportDto.getMajorName();
-            String clazzName = examinationImportDto.getClazzName();
-
             List<FieldsDto> fieldsDtoList = examinationImportDto.getSecondaryFieldList();
             List<CodeNameEnableValue> extendFieldsDtoList = this.getExtendFieldsByFields(fieldsDtoList);
 
@@ -781,23 +773,22 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             examStudent.setOrgId(sysUser.getOrgId());
             examStudent.setExamId(examId);
             examStudent.setExamDetailCourseId(examDetailCourseId);
-            examStudent.setPaperNumber(paperNumber);
+            examStudent.setPaperNumber(examinationImportDto.getPaperNumber());
             examStudent.setCoursePaperId(examinationImportDto.getCoursePaperId());
-            examStudent.setStudentCode(studentCode);
-            examStudent.setStudentName(studentName);
+            examStudent.setStudentCode(examinationImportDto.getStudentCode());
+            examStudent.setStudentName(examinationImportDto.getStudentName());
             examStudent.setRequiredFields(JSON.toJSONString(examinationImportDto.getRequiredFieldList()));
             examStudent.setExtendFields(JSON.toJSONString(extendFieldsDtoList));
-            examStudent.setSiteNumber(siteNumber);
-            examStudent.setCollegeName(collegeName);
-            examStudent.setMajorName(majorName);
-            examStudent.setTeachClazzName(clazzName);
+            examStudent.setSiteNumber(examinationImportDto.getSiteNumber());
+            examStudent.setCollegeName(examinationImportDto.getCollegeName());
+            examStudent.setMajorName(examinationImportDto.getMajorName());
+            examStudent.setClazzName(examinationImportDto.getClazzName());
             examStudent.setTeachClazzName(examinationImportDto.getTeachClazzName());
             examStudent.setTeacherName(examinationImportDto.getTeacherName());
             examStudent.setTeacherId(examinationImportDto.getTeacherId());
             examStudent.setCreateId(sysUser.getId());
             examStudentList.add(examStudent);
         }
-
         examStudentService.saveBatch(examStudentList);
     }
 

+ 39 - 40
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -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.PaperInfoVo;
 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.entity.BasicAttachment;
 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.enums.*;
 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.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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.io.File;
@@ -54,10 +55,6 @@ public class CreatePdfUtil {
 
     @Resource
     BasicAttachmentService basicAttachmentService;
-
-//    @Resource
-//    FreemarkerUtil freemarkerUtil;
-
     @Resource
     @Lazy
     PrintCommonService printCommonService;
@@ -71,15 +68,6 @@ public class CreatePdfUtil {
     @Resource
     TeachcloudCommonService teachcloudCommonService;
 
-    @Resource
-    FileStoreUtil fileStoreUtil;
-
-    @Resource
-    BasicClazzService basicClazzService;
-
-    @Resource
-    ExamDetailService examDetailService;
-
     @Resource
     ExamStudentService examStudentService;
 
@@ -95,8 +83,6 @@ public class CreatePdfUtil {
     @Resource
     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());
                     basicMap.put("code", "courseName");
                     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;
                 } 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));
+                    basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
                 }
                 basicPlate.add(basicMap);
             } else if ("paperNumber".equals(code)) {
@@ -255,7 +241,7 @@ public class CreatePdfUtil {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } else if ("examPlace".equals(code) || "campusName".equals(code)) {
                 Map<String, String> basicMap = new HashMap<>();
@@ -274,7 +260,7 @@ public class CreatePdfUtil {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } else if ("majorName".equals(code)) {
                 Set<String> stringSet = new HashSet<>();
@@ -285,18 +271,21 @@ public class CreatePdfUtil {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } 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());
-                if (!teachClazzNames.isEmpty()) {
-                    stringSet.addAll(teachClazzNames);
-                }
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } else {
                 // 扩展字段走本校验,进行数据组装
@@ -314,19 +303,19 @@ public class CreatePdfUtil {
                 basicPlate.add(basicMap);
             }
 
-            if("paperCount".equals(code)){
+            if ("paperCount".equals(code)) {
                 Map<String, String> basicMap1 = new HashMap<>();
                 basicMap1.put("code", "paperCount");
                 basicMap1.put("name", "试卷数量");
                 basicMap1.put("value", examStudentList.size() + " + " + backupCount);
                 basicPlate.add(basicMap1);
-            } else if("examCount".equals(code)){
+            } else if ("examCount".equals(code)) {
                 Map<String, String> basicMap2 = new HashMap<>();
                 basicMap2.put("code", "examCount");
                 basicMap2.put("name", "应考人数");
                 basicMap2.put("value", String.valueOf(examStudentList.size()));
                 basicPlate.add(basicMap2);
-            } else if("actualExamCount".equals(code)){
+            } else if ("actualExamCount".equals(code)) {
                 Map<String, String> basicMap3 = new HashMap<>();
                 basicMap3.put("code", "actualExamCount");
                 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());
                     basicMap.put("code", "courseName");
                     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;
                 } 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));
+                    basicMap.put("value", CollectionUtils.isNotEmpty(courseNames) ? String.join(SystemConstant.COMMA_OF_CHINESE, courseNames) : "");
                 }
                 basicPlate.add(basicMap);
             } else if ("paperNumber".equals(code)) {
@@ -399,7 +388,7 @@ public class CreatePdfUtil {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } else if ("examDate".equals(code) || "examTime".equals(code)) {
                 String startDate = DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DATE_PATTERN);
@@ -477,21 +466,28 @@ public class CreatePdfUtil {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } else if ("majorName".equals(code)) {
                 Set<String> majorNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getMajorName())).map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 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);
             } 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<>();
                 basicMap.put("code", code);
                 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);
             } else if ("examCount".equals(code)) {
                 Map<String, String> basicMap = new HashMap<>();
@@ -549,7 +545,10 @@ public class CreatePdfUtil {
                 studentMap.put("courseName", examStudentCourseDto.getCourseName());
             }
             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")) {
                 studentMap.put("ticketNumber", examStudentCourseDto.getTicketNumber());