haogh 1 year ago
parent
commit
98e052e120

+ 17 - 8
src/main/java/com/qmth/exam/reserve/service/impl/MaterialGenerateServiceImpl.java

@@ -68,12 +68,16 @@ public class MaterialGenerateServiceImpl implements MaterialGenerateService {
     private void createSignInTable(List<StudentApplyVO> tempList, Document doc) {
         Table tableTitle = tableTitle();
         int number = Math.min(tempList.size(), LINE_NUMBER);
+        int nameFontSize = FONT_SIZE;
         for (int i = 0; i < number; i++) {
             StudentApplyVO result = null;
             if (tempList.size() >= i + 1) {
                 result = tempList.get(i);
+                if (result != null && result.getName().length() > 4) {
+                    nameFontSize = 10;
+                }
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getName() : " ").setTextAlignment(TextAlignment.CENTER)
-                        .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(FONT_SIZE).setHeight(LINE_HEIGHT));
+                        .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(nameFontSize).setHeight(LINE_HEIGHT));
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getStudentCode() : " ").setTextAlignment(TextAlignment.CENTER)
                         .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(FONT_SIZE).setHeight(LINE_HEIGHT));
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getSeatNumber() : " ").setTextAlignment(TextAlignment.CENTER)
@@ -97,8 +101,11 @@ public class MaterialGenerateServiceImpl implements MaterialGenerateService {
             }
             if (tempList.size() >= i + number + 1) {
                 result = tempList.get(i + 30);
+                if (result != null && result.getName().length() > 4) {
+                    nameFontSize = 10;
+                }
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getName() : " ").setTextAlignment(TextAlignment.CENTER)
-                        .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(FONT_SIZE).setHeight(LINE_HEIGHT));
+                        .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(nameFontSize).setHeight(LINE_HEIGHT));
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getStudentCode() : " ").setTextAlignment(TextAlignment.CENTER)
                         .setVerticalAlignment(VerticalAlignment.MIDDLE).setFontSize(FONT_SIZE).setHeight(LINE_HEIGHT));
                 tableTitle.addCell(new Cell(1, 1).add(result != null ? result.getSeatNumber() : " ").setTextAlignment(TextAlignment.CENTER)
@@ -126,19 +133,20 @@ public class MaterialGenerateServiceImpl implements MaterialGenerateService {
 
     private Table subHead(MaterialTitleInfo title, int studentSize, int titleFontSize) {
         Table table = new Table(new float[] { 1.2f, 1f }).setWidthPercent(100);
-        table.addCell(new Cell(1, 1).add("考点名称:" + title.getSiteName()).setTextAlignment(TextAlignment.LEFT)
-                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(titleFontSize).setMarginLeft(20f));
-        table.addCell(new Cell(1, 1).add("考试时间:" + title.getTimePeriod()).setTextAlignment(TextAlignment.LEFT)
-                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(titleFontSize).setMarginLeft(40f));
         String address = title.getAddress();
         int fontSize = titleFontSize;
-        if(address != null && address.length()>17) {
+        if(address != null && address.length()>18) {
             fontSize = 10;
         }
+        table.addCell(new Cell(1, 1).add("考点名称:" + title.getSiteName()).setTextAlignment(TextAlignment.LEFT)
+                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(fontSize).setMarginLeft(20f));
+        table.addCell(new Cell(1, 1).add("考试时间:" + title.getTimePeriod()).setTextAlignment(TextAlignment.LEFT)
+                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(fontSize).setMarginLeft(40f));
+
         table.addCell(new Cell(1, 1).add("考场名称:" + address).setTextAlignment(TextAlignment.LEFT)
                 .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(fontSize).setMarginLeft(20f));
         table.addCell(new Cell(1, 1).add("考生数量:" + studentSize).setTextAlignment(TextAlignment.LEFT)
-                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(titleFontSize).setMarginLeft(40f));
+                .setVerticalAlignment(VerticalAlignment.MIDDLE).setBorder(null).setFontSize(fontSize).setMarginLeft(40f));
         return table;
     }
 
@@ -161,4 +169,5 @@ public class MaterialGenerateServiceImpl implements MaterialGenerateService {
         return signTable;
     }
 
+
 }