Răsfoiți Sursa

3.0.0-bug修改

xiaof 3 ani în urmă
părinte
comite
33074dc269

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

@@ -302,10 +302,13 @@ public class CreatePdfUtil {
         htmlMap.put("paperCode", examDetail.getPackageCode());
         htmlMap.put("paperCodeImg", GoogleBarCodeUtil.createBarCode(examDetail.getPackageCode(), false));
 
+        int pageSize = 80;
+        int halfPageSize = pageSize / 2;
+
         if (examStudentList.size() > 0) {
             int totalCount = examStudentList.size();
             List<Map> subList = new ArrayList<>();
-            int pageCount = totalCount % 70 == 0 ? totalCount / 70 : totalCount / 70 + 1;
+            int pageCount = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
             for (int i = 0; i < pageCount; i++) {
                 Map subMap = new HashMap();
                 subMap.put("index", i + 1);
@@ -315,11 +318,11 @@ public class CreatePdfUtil {
                     studentCount = totalCount;
                     subStudents = examStudentList;
                 } else if (i == pageCount - 1) {
-                    studentCount = totalCount - (pageCount - 1) * 70;
-                    subStudents = examStudentList.subList(70 * i, examStudentList.size());
+                    studentCount = totalCount - (pageCount - 1) * pageSize;
+                    subStudents = examStudentList.subList(pageSize * i, examStudentList.size());
                 } else {
-                    studentCount = 70;
-                    subStudents = examStudentList.subList(70 * i, 70 * (i + 1));
+                    studentCount = pageSize;
+                    subStudents = examStudentList.subList(pageSize * i, pageSize * (i + 1));
                 }
                 subMap.put("studentCount", totalCount);
                 List<ExamStudentDto> examStudentList1 = new ArrayList<>();
@@ -347,8 +350,9 @@ public class CreatePdfUtil {
 //                        examStudentList2.add(new ExamStudentDto());
 //                    }
 //                }
-                if (examStudentList1.size() < 40) {
-                    for (int j = 0; j < 40 - examStudentList1.size(); j++) {
+                if (examStudentList1.size() < halfPageSize) {
+                    int examStudentList1Size = examStudentList1.size();
+                    for (int j = 0; j < halfPageSize - examStudentList1Size; j++) {
                         ExamStudentDto examStudentDto = new ExamStudentDto();
                         examStudentDto.setIndex(null);
                         examStudentDto.setSiteNumber("");
@@ -357,8 +361,9 @@ public class CreatePdfUtil {
                         examStudentList1.add(examStudentDto);
                     }
                 }
-                if (examStudentList2.size() < 40) {
-                    for (int j = 0; j < 40 - examStudentList2.size(); j++) {
+                if (examStudentList2.size() < halfPageSize) {
+                    int examStudentList2Size = examStudentList2.size();
+                    for (int j = 0; j < halfPageSize - examStudentList2Size; j++) {
                         ExamStudentDto examStudentDto = new ExamStudentDto();
                         examStudentDto.setIndex(null);
                         examStudentDto.setSiteNumber("");
@@ -375,17 +380,17 @@ public class CreatePdfUtil {
         } else {
             int totalCount = examDetail.getPrintCount();
             List<Map> subList = new ArrayList<>();
-            int pageCount = totalCount % 70 == 0 ? totalCount / 70 : totalCount / 70 + 1;
+            int pageCount = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
             for (int i = 0; i < pageCount; i++) {
                 Map subMap = new HashMap();
                 subMap.put("index", i + 1);
                 int studentCount;
                 if (pageCount == 1) {
-                    studentCount = 70;
+                    studentCount = pageSize;
                 } else if (i == pageCount - 1) {
-                    studentCount = totalCount - (pageCount - 1) * 70;
+                    studentCount = totalCount - (pageCount - 1) * pageSize;
                 } else {
-                    studentCount = 70;
+                    studentCount = pageSize;
                 }
                 subMap.put("studentCount", totalCount);
                 List<ExamStudentDto> examStudentList1 = new ArrayList<>();
@@ -407,13 +412,8 @@ public class CreatePdfUtil {
                     examStudentDto.setClazzName("");
                     examStudentList2.add(examStudentDto);
                 }
-//                if (examStudentList1.size() > examStudentList2.size()) {
-//                    for (int j = studentCount - htmlTableCount; j < examStudentList1.size(); j++) {
-//                        examStudentList2.add(new ExamStudentDto());
-//                    }
-//                }
-                if (examStudentList1.size() < 40) {
-                    for (int j = 0; j < 40 - examStudentList1.size(); j++) {
+                if (examStudentList1.size() < halfPageSize) {
+                    for (int j = 0; j < halfPageSize - examStudentList1.size(); j++) {
                         ExamStudentDto examStudentDto = new ExamStudentDto();
                         examStudentDto.setIndex(null);
                         examStudentDto.setSiteNumber("");
@@ -422,8 +422,8 @@ public class CreatePdfUtil {
                         examStudentList1.add(examStudentDto);
                     }
                 }
-                if (examStudentList2.size() < 40) {
-                    for (int j = 0; j < 40 - examStudentList2.size(); j++) {
+                if (examStudentList2.size() < halfPageSize) {
+                    for (int j = 0; j < halfPageSize - examStudentList2.size(); j++) {
                         ExamStudentDto examStudentDto = new ExamStudentDto();
                         examStudentDto.setIndex(null);
                         examStudentDto.setSiteNumber("");

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -91,7 +91,7 @@
                     </foreach>
                 </if>
             </where>
-            order by edc.course_code
+            order by edc.course_code, 0+ cast(es.site_number as char)
     </select>
     <select id="listStudentByPrintPlanIdAndSyncStatus"
             resultType="com.qmth.distributed.print.business.bean.dto.SyncExamStudentDto">