wangliang 4 ani în urmă
părinte
comite
3c78a29ccc

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamStudent.java

@@ -104,7 +104,7 @@ public class ExamStudent extends BaseEntity implements Serializable {
     }
 
     public String getSiteNumber() {
-        return Objects.isNull(siteNumber) ? "" : null;
+        return siteNumber;
     }
 
     public void setSiteNumber(String siteNumber) {

+ 25 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -111,7 +111,9 @@ public class CreatePdfUtil {
         htmlMap.put("startTime", DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DEFAULT_DATE_PATTERN));
         htmlMap.put("endTime", DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.DEFAULT_DATE_PATTERN));
         htmlMap.put("paperCode", examDetailCourse.getPaperNumber());
-        htmlMap.put("paperCodeImg", GoogleBarCodeUtil.createBarCode(examDetailCourse.getPaperNumber(), false));
+        if (Objects.nonNull(examDetailCourse.getPaperNumber())) {
+            htmlMap.put("paperCodeImg", GoogleBarCodeUtil.createBarCode(examDetailCourse.getPaperNumber(), false));
+        }
 
         List<String> extendColumnList = examStudentList.stream().map(m -> m.getExtendFields()).distinct().collect(Collectors.toList());
         Set<String> startCollege = new HashSet();
@@ -144,8 +146,12 @@ public class CreatePdfUtil {
         htmlMap.put("proctorCollege", String.join(",", proctorCollege));
         htmlMap.put("examManager", String.join(",", examManager));
 
-        String minSite = examStudentList.stream().min((a, b) -> a.getSiteNumber().compareTo(b.getSiteNumber())).get().getSiteNumber();
-        String maxSite = examStudentList.stream().max((a, b) -> a.getSiteNumber().compareTo(b.getSiteNumber())).get().getSiteNumber();
+        List<ExamStudent> tempList = examStudentList.stream().filter(s -> (Objects.nonNull(s.getSiteNumber()) && !Objects.equals("", s.getSiteNumber().trim()))).collect(Collectors.toList());
+        String minSite = "", maxSite = "";
+        if (Objects.nonNull(tempList) && tempList.size() > 0) {
+            minSite = tempList.stream().min((a, b) -> a.getSiteNumber().compareTo(b.getSiteNumber())).get().getSiteNumber();
+            maxSite = tempList.stream().max((a, b) -> a.getSiteNumber().compareTo(b.getSiteNumber())).get().getSiteNumber();
+        }
 
         htmlMap.put("minSite", minSite);
         htmlMap.put("maxSite", maxSite);
@@ -200,7 +206,9 @@ public class CreatePdfUtil {
         htmlMap.put("startTime", DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DEFAULT_DATE_PATTERN));
         htmlMap.put("endTime", DateUtil.format(new Date(examDetail.getExamEndTime()), SystemConstant.DEFAULT_DATE_PATTERN));
         htmlMap.put("paperCode", examDetailCourse.getPaperNumber());
-        htmlMap.put("paperCodeImg", GoogleBarCodeUtil.createBarCode(examDetailCourse.getPaperNumber(), false));
+        if (Objects.nonNull(examDetailCourse.getPaperNumber())) {
+            htmlMap.put("paperCodeImg", GoogleBarCodeUtil.createBarCode(examDetailCourse.getPaperNumber(), false));
+        }
 
         int totalCount = examStudentList.size();
         if (totalCount > 0) {
@@ -541,10 +549,14 @@ public class CreatePdfUtil {
             }
         }
         //生成学生考号条码并将图片转成base64
-        studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", GoogleBarCodeUtil.createBarCode(t.getTicketNumber(), false));
+        if (Objects.nonNull(t.getTicketNumber())) {
+            studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", GoogleBarCodeUtil.createBarCode(t.getTicketNumber(), false));
+        }
         studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", t.getTicketNumber());
         //随机生成学生试卷条码并将图片转成base64
-        studentHtml = studentHtml.replaceAll("\\$\\{paperType\\}", GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(paperType), false));
+        if (Objects.nonNull(paperType)) {
+            studentHtml = studentHtml.replaceAll("\\$\\{paperType\\}", GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(paperType), false));
+        }
         studentHtml = studentHtml.replaceAll("\\$\\{paperTypeName\\}", paperType);
         studentHtml = studentHtml.replaceAll("\\$\\{studentCode\\}", t.getStudentCode());
         studentHtml = studentHtml.replaceAll("\\$\\{studentName\\}", t.getStudentName());
@@ -574,10 +586,15 @@ public class CreatePdfUtil {
         String cardTemp = cardContent;
         cardTemp = cardTemp.replaceAll("\\$\\{paperTypeName\\}", examDetailCourse.getPaperType());
         //随机生成试卷条码并将图片转成base64
-        cardTemp = cardTemp.replaceAll("\\$\\{paperType\\}", GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(examDetailCourse.getPaperType()), false));
+        if (Objects.nonNull(examDetailCourse.getPaperType())) {
+            cardTemp = cardTemp.replaceAll("\\$\\{paperType\\}", GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(examDetailCourse.getPaperType()), false));
+        }
         //通用题卡生成卷袋贴条码
         String packageCode = examDetail.getPackageCode() + sequence;
-        String packageCodeImg = GoogleBarCodeUtil.createBarCode(packageCode, false);
+        String packageCodeImg = null;
+        if (Objects.nonNull(packageCode)) {
+            packageCodeImg = GoogleBarCodeUtil.createBarCode(packageCode, false);
+        }
         String packageCodeDiv = "<div class=\"page-box page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 80px;right: 35px;transform: rotate(-90deg);transform-origin: center right;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
         cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-0\">", packageCodeDiv);
         BasicAttachment cardAttachment = basicAttachmentService.saveAttachmentHtml(examCard.getSchoolId() + "|" + examCard.getCourseCode(), cardTemp, userId, cardPdfList);