浏览代码

Merge branch 'dev_v2.0.0' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev_v2.0.0

xiaof 4 年之前
父节点
当前提交
989ffea4a0

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamStudentCourseDto.java

@@ -28,6 +28,17 @@ public class ExamStudentCourseDto extends ExamStudent {
     @ApiModelProperty("试卷编号")
     private String paperNumber;
 
+    @ApiModelProperty("排序用")
+    String ascii;
+
+    public String getAscii() {
+        return ascii;
+    }
+
+    public void setAscii(String ascii) {
+        this.ascii = ascii;
+    }
+
     public String getPaperNumber() {
         return paperNumber;
     }

+ 23 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -159,15 +159,31 @@ public class CreatePdfUtil {
         htmlMap.put("proctorCollege", String.join(",", proctorCollege));
         htmlMap.put("examManager", String.join(",", examManager));
 
-        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();
+//        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();
+//        }
+
+        for (ExamStudentCourseDto e : examStudentList) {
+            char[] chars = e.getSiteNumber().toLowerCase().toCharArray();
+            String ascii = "";
+            for (int i = 0; i < chars.length; i++) {
+                ascii = ascii + chars[i];
+            }
+            e.setAscii(ascii);
+        }
+
+        Optional<ExamStudentCourseDto> minSite = null;
+        Optional<ExamStudentCourseDto> maxSite = null;
+        if (Objects.nonNull(examStudentList) && examStudentList.size() > 0) {
+            minSite = examStudentList.stream().min(Comparator.comparing(s -> Integer.parseInt(s.getAscii())));
+            maxSite = examStudentList.stream().max(Comparator.comparing(s -> Integer.parseInt(s.getAscii())));
         }
 
-        htmlMap.put("minSite", minSite);
-        htmlMap.put("maxSite", maxSite);
+        htmlMap.put("minSite", Optional.ofNullable(minSite).map(s -> s.get().getSiteNumber()).orElse(""));
+        htmlMap.put("maxSite", Optional.ofNullable(maxSite).map(s -> s.get().getSiteNumber()).orElse(""));
         htmlMap.put("studentCount", examStudentList.size());
 
         String tagValue = tag ? "订" : null;