Przeglądaj źródła

Merge branch 'dev_v2.2.1' into release_v2.2.1
merge

wangliang 3 lat temu
rodzic
commit
bf879638ea

+ 17 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/PdfUtil.java

@@ -1,10 +1,12 @@
 package com.qmth.distributed.print.business.util;
 
 import com.itextpdf.text.Document;
+import com.itextpdf.text.Rectangle;
 import com.itextpdf.text.pdf.*;
 import com.qmth.boot.tools.models.ByteArray;
 import com.qmth.distributed.print.business.bean.dto.PdfDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.PageSizeEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.util.JacksonUtil;
@@ -18,6 +20,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.StringJoiner;
 
 /**
@@ -148,6 +151,20 @@ public class PdfUtil {
         return 0;
     }
 
+    /**
+     * 获取pdf格式
+     *
+     * @param file
+     * @return
+     * @throws IOException
+     */
+    public static PageSizeEnum getPdfFormat(File file) throws IOException {
+        Optional.ofNullable(file).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("文件不能为空"));
+        PdfReader reader = new PdfReader(ByteArray.fromFile(file).value());
+        Rectangle pageSize = reader.getPageSize(1);
+        return PageSizeEnum.convertToEnum(pageSize.getWidth(), pageSize.getHeight());
+    }
+
 //    public static void main(String[] args) {
 //        String[] files = {
 //                "/Users/king/Downloads/测试附件/101_148382537591291904_signAndSticker.pdf",

+ 0 - 8
distributed-print/src/main/java/com/qmth/distributed/print/api/TSyncExamStudentScoreController.java

@@ -24,8 +24,6 @@ import com.qmth.teachcloud.common.entity.TBTask;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.PushTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskTypeEnum;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -79,12 +77,6 @@ public class TSyncExamStudentScoreController {
     @Resource
     ExamPrintPlanService examPrintPlanService;
 
-    @Resource
-    SysOrgService sysOrgService;
-
-    @Resource
-    BasicClazzService basicClazzService;
-
     @ApiOperation(value = "成绩归档查询列表")
     @ApiResponses({@ApiResponse(code = 200, message = "成绩查询信息", response = TSyncExamStudentScoreResult.class)})
     @RequestMapping(value = "/score/list", method = RequestMethod.POST)

+ 11 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FieldUniqueEnum.java

@@ -21,7 +21,17 @@ public enum FieldUniqueEnum {
 
     role_schoolId_name_idx("角色名"),
 
-    uq_school_id_mobile_number("手机号码");
+    uq_school_id_mobile_number("手机号码"),
+
+    campus_schoolId_code_idx("校区编码"),
+
+    clazz_schoolId_name_idx("班级名称"),
+
+    major_schoolId_name_idx("专业名称"),
+
+    semester_schoolId_name_idx("学期名称"),
+
+    student_schoolId_code_orgId_idx("学生学号");
 
     private String title;
 

+ 96 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/PageSizeEnum.java

@@ -1,13 +1,106 @@
 package com.qmth.teachcloud.common.enums;
 
 /**
- * @Description: 页面大小enum
+ * @Description: pdf格式 enum
  * @Param:
  * @return:
  * @Author: wangliang
  * @Date: 2021/4/7
  */
 public enum PageSizeEnum {
-    A3,
-    A4;
+    A0(2384.0F, 3370.0F),
+    A1(1684.0F, 2384.0F),
+    A2(1191.0F, 1684.0F),
+    A3(842.0F, 1191.0F),
+    A4(595.0F, 842.0F),
+    A5(420.0F, 595.0F),
+    A6(297.0F, 420.0F),
+    A7(210.0F, 297.0F),
+    A8(148.0F, 210.0F),
+    A9(105.0F, 148.0F),
+    A10(73.0F, 105.0F),
+    B0(2834.0F, 4008.0F),
+    B1(2004.0F, 2834.0F),
+    B2(1417.0F, 2004.0F),
+    B3(1000.0F, 1417.0F),
+    B4(708.0F, 1000.0F),
+    B5(498.0F, 708.0F),
+    B6(354.0F, 498.0F),
+    B7(249.0F, 354.0F),
+    B8(175.0F, 249.0F),
+    B9(124.0F, 175.0F),
+    B10(87.0F, 124.0F),
+    ARCH_E(2592.0F, 3456.0F),
+    ARCH_D(1728.0F, 2592.0F),
+    ARCH_C(1296.0F, 1728.0F),
+    ARCH_B(864.0F, 1296.0F),
+    ARCH_A(648.0F, 864.0F),
+    FLSA(612.0F, 936.0F),
+    FLSE(648.0F, 936.0F),
+    HALFLETTER(396.0F, 612.0F),
+    _11X17(792.0F, 1224.0F),
+    ID_1(242.65F, 153.0F),
+    ID_2(297.0F, 210.0F),
+    ID_3(354.0F, 249.0F),
+    LEDGER(1224.0F, 792.0F),
+    CROWN_QUARTO(535.0F, 697.0F),
+    LARGE_CROWN_QUARTO(569.0F, 731.0F),
+    DEMY_QUARTO(620.0F, 782.0F),
+    ROYAL_QUARTO(671.0F, 884.0F),
+    CROWN_OCTAVO(348.0F, 527.0F),
+    LARGE_CROWN_OCTAVO(365.0F, 561.0F),
+    DEMY_OCTAVO(391.0F, 612.0F),
+    ROYAL_OCTAVO(442.0F, 663.0F),
+    SMALL_PAPERBACK(314.0F, 504.0F),
+    PENGUIN_SMALL_PAPERBACK(314.0F, 513.0F),
+    PENGUIN_LARGE_PAPERBACK(365.0F, 561.0F);
+
+    private float width;
+
+    private float height;
+
+    private PageSizeEnum(float width, float height) {
+        this.width = width;
+        this.height = height;
+    }
+
+    public float getWidth() {
+        return width;
+    }
+
+    public float getHeight() {
+        return height;
+    }
+
+    /**
+     * 状态转换 toName
+     *
+     * @param width
+     * @param height
+     * @return
+     */
+    public static String convertToName(float width, float height) {
+        for (PageSizeEnum e : PageSizeEnum.values()) {
+            if (e.getWidth() == width && e.getHeight() == height) {
+                return e.name();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 状态转换 toEnum
+     *
+     * @param width
+     * @param height
+     * @return
+     */
+    public static PageSizeEnum convertToEnum(float width, float height) {
+        for (PageSizeEnum e : PageSizeEnum.values()) {
+            if (e.getWidth() == width && e.getHeight() == height) {
+                return e;
+            }
+        }
+        return null;
+    }
 }