xiexiang 1 rok pred
rodič
commit
c2e47328c8

+ 6 - 1
src/main/java/cn/cslg/pas/controller/PatentController.java

@@ -33,6 +33,7 @@ import cn.cslg.pas.service.common.FileManagerService;
 import cn.cslg.pas.service.common.PatentStarApiService;
 import cn.hutool.core.util.IdUtil;
 import io.swagger.v3.oas.annotations.Operation;
+import org.apache.commons.io.input.XmlStreamReaderException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.InputStreamResource;
 import org.springframework.http.HttpHeaders;
@@ -245,7 +246,11 @@ public class PatentController {
         Integer taskId = importTaskService.addExportTask(exportTaskDTO);
         exportTaskDTO.setEsVO(EsVO);
         exportTaskDTO.setTaskId(taskId);
-        pdfExportFirstPageService.mergePdfFirstPage(exportTaskDTO);
+        try {
+            pdfExportFirstPageService.mergePdfFirstPage(exportTaskDTO);
+        } catch (Exception e) {
+            throw new XiaoShiException("导出失败");
+        }
         Records records = new Records();
         records.setData("正在导出PDF首页");
         return Response.success(records);

+ 57 - 0
src/main/java/cn/cslg/pas/domain/business/HightlightTemplate.java

@@ -0,0 +1,57 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 高亮
+ * @Author xiexiang
+ * @Date 2024/1/12
+ */
+@Data
+public class HightlightTemplate extends BaseEntity<HightlightTemplate> {
+    /**
+     * 模板名称
+     */
+    @TableField(value = "name")
+    private String name;
+
+    /**
+     * 是否启用
+     */
+    @TableField(value = "if_enable")
+    private Boolean ifEnable;
+
+    /**
+     * 是否默认
+     */
+    @TableField(value = "if_default")
+    private Boolean ifDefault;
+
+    /**
+     * description
+     */
+    @TableField(value = "description")
+    private String description;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * config
+     */
+    @TableField(value = "config")
+    private String config;
+}

+ 86 - 90
src/main/java/cn/cslg/pas/service/business/PDFExportFirstPageService.java

@@ -60,66 +60,43 @@ public class PDFExportFirstPageService {
 
 
     @Async
-    public void mergePdfFirstPage(ExportTaskDTO exportTask){
+    public void mergePdfFirstPage(ExportTaskDTO exportTask) throws IOException {
         EsCustomFieldBatchVO EsVO = exportTask.getEsVO();
-        try {
-            List<String> patentNos = this.getPatentNo(EsVO);
-            Integer total = patentNos.size();
-            Integer defaultNum = 0;
-            PDFMergerUtility merger = new PDFMergerUtility();
-            PDDocument resultDocument = new PDDocument();
-            for (int i = 0; i < patentNos.size(); i++) {
-                PatentNoVO patentNoVO = new PatentNoVO();
-                patentNoVO.setPatentNo(patentNos.get(i));
-                PatentColumnDTO patentColumnDTO = new PatentColumnDTO();
-                try {
-                    patentColumnDTO = patentService.selectPatentDetail(patentNoVO);
-                } catch (Exception e) {
-                    defaultNum++;
-                    continue;
-                }
-                if (patentColumnDTO != null) {
-                    //判断申请号是否为空
-                    if (patentColumnDTO.getAppNo() != null) {
-                        String appNo = patentColumnDTO.getAppNo();
-                        Integer type = 1;
-                        //获取公告专利pdf文档guid
-                        String pdfGuid = FormatUtil.getPDFFormat(appNo, type);
-                        byte[] pdfData = new byte[0];
-                        try {
-                            pdfData = fileManagerService.downloadSystemFileFromFMS(pdfGuid);
+        List<String> patentNos = this.getPatentNo(EsVO);
+        Integer total = patentNos.size();
+        Integer defaultNum = 0;
+        PDFMergerUtility merger = new PDFMergerUtility();
+        PDDocument resultDocument = new PDDocument();
+        for (int i = 0; i < patentNos.size(); i++) {
+            PatentNoVO patentNoVO = new PatentNoVO();
+            patentNoVO.setPatentNo(patentNos.get(i));
+            PatentColumnDTO patentColumnDTO = new PatentColumnDTO();
+            try {
+                patentColumnDTO = patentService.selectPatentDetail(patentNoVO);
+            } catch (Exception e) {
+                defaultNum++;
+                continue;
+            }
+            if (patentColumnDTO != null) {
+                //判断申请号是否为空
+                if (patentColumnDTO.getAppNo() != null) {
+                    String appNo = patentColumnDTO.getAppNo();
+                    Integer type = 1;
+                    //获取公告专利pdf文档guid
+                    String pdfGuid = FormatUtil.getPDFFormat(appNo, type);
+                    byte[] pdfData = new byte[0];
+                    try {
+                        pdfData = fileManagerService.downloadSystemFileFromFMS(pdfGuid);
+                        if (pdfData == null || pdfData.length == 0) {
+                            //获取公开专利pdf文档guid
+                            Integer type2 = 0;
+                            String pdfGuid2 = FormatUtil.getPDFFormat(appNo, type2);
+                            pdfData = fileManagerService.downloadSystemFileFromFMS(pdfGuid2);
                             if (pdfData == null || pdfData.length == 0) {
-                                //获取公开专利pdf文档guid
-                                Integer type2 = 0;
-                                String pdfGuid2 = FormatUtil.getPDFFormat(appNo, type2);
-                                pdfData = fileManagerService.downloadSystemFileFromFMS(pdfGuid2);
-                                if (pdfData == null || pdfData.length == 0) {
-                                    defaultNum++;
-                                    continue;
-                                } else {
-                                    // 加载输入的PDF文档
-                                    PDDocument document = PDDocument.load(pdfData);
-                                    // 获取第一页
-                                    PDPage firstPage = document.getPage(0);
-                                    // 创建一个新的文档用于保存第一页
-                                    PDDocument firstPageDocument = new PDDocument();
-                                    firstPageDocument.addPage(firstPage);
-                                    // 将第一页添加到合并器中
-                                    merger.appendDocument(resultDocument, firstPageDocument);
-                                    // 关闭当前处理的文档
-                                    document.close();
-                                    firstPageDocument.close();
-                                    WebSocketMessageVO webSocketMessageVO =new WebSocketMessageVO();
-                                    webSocketMessageVO.setProjectId(EsVO.getProjectId());
-                                    webSocketMessageVO.setCreateId("328");
-                                    webSocketMessageVO.setCode(604);
-                                    webSocketMessageVO.setAllNum(total);
-                                    webSocketMessageVO.setCurrentNum(i+1);
-                                    webSocketMessageVO.setState(1);
-                                    messageService.sendPatentExportMessage(webSocketMessageVO);
-                                }
+                                defaultNum++;
+                                continue;
                             } else {
-                                // 加载每个输入的PDF文档
+                                // 加载输入的PDF文档
                                 PDDocument document = PDDocument.load(pdfData);
                                 // 获取第一页
                                 PDPage firstPage = document.getPage(0);
@@ -131,54 +108,73 @@ public class PDFExportFirstPageService {
                                 // 关闭当前处理的文档
                                 document.close();
                                 firstPageDocument.close();
-                                WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
+                                WebSocketMessageVO webSocketMessageVO =new WebSocketMessageVO();
                                 webSocketMessageVO.setProjectId(EsVO.getProjectId());
-                                webSocketMessageVO.setCreateId(exportTask.getCreateId());
+                                webSocketMessageVO.setCreateId("328");
                                 webSocketMessageVO.setCode(604);
                                 webSocketMessageVO.setAllNum(total);
                                 webSocketMessageVO.setCurrentNum(i+1);
                                 webSocketMessageVO.setState(1);
                                 messageService.sendPatentExportMessage(webSocketMessageVO);
                             }
-                        } catch (IOException e) {
-                            e.printStackTrace();
-                            defaultNum++;
-                            continue;//继续处理下一件专利
+                        } else {
+                            // 加载每个输入的PDF文档
+                            PDDocument document = PDDocument.load(pdfData);
+                            // 获取第一页
+                            PDPage firstPage = document.getPage(0);
+                            // 创建一个新的文档用于保存第一页
+                            PDDocument firstPageDocument = new PDDocument();
+                            firstPageDocument.addPage(firstPage);
+                            // 将第一页添加到合并器中
+                            merger.appendDocument(resultDocument, firstPageDocument);
+                            // 关闭当前处理的文档
+                            document.close();
+                            firstPageDocument.close();
+                            WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
+                            webSocketMessageVO.setProjectId(EsVO.getProjectId());
+                            webSocketMessageVO.setCreateId(exportTask.getCreateId());
+                            webSocketMessageVO.setCode(604);
+                            webSocketMessageVO.setAllNum(total);
+                            webSocketMessageVO.setCurrentNum(i+1);
+                            webSocketMessageVO.setState(1);
+                            messageService.sendPatentExportMessage(webSocketMessageVO);
                         }
-                    } else {
+                    } catch (IOException e) {
+                        e.printStackTrace();
                         defaultNum++;
-                        continue;
+                        continue;//继续处理下一件专利
                     }
                 } else {
                     defaultNum++;
                     continue;
                 }
+            } else {
+                defaultNum++;
+                continue;
             }
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            resultDocument.save(out);
-            resultDocument.close();
-            WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
-            webSocketMessageVO.setProjectId(EsVO.getProjectId());
-            webSocketMessageVO.setCreateId(exportTask.getCreateId());
-            webSocketMessageVO.setCode(605);
-            webSocketMessageVO.setAllNum(total);
-            webSocketMessageVO.setCurrentNum(total);
-            webSocketMessageVO.setState(2);
-            messageService.sendPatentExportMessage(webSocketMessageVO);
-            String fileGuid = "";
-            if (out.toByteArray() != null && out.toByteArray().length != 0) {
-                fileGuid = parseByteToFileUtils.uploadFile(out.toByteArray(), 2);
-            }
-            exportTask.setFileGuid(fileGuid);
-            exportTask.setAllNum(total);
-            exportTask.setDefaultNum(defaultNum);
-            exportTask.setState(2);
-            Integer taskId = importTaskService.updateExportTask(exportTask);
-            if (taskId == null) {
-                throw new XiaoShiException("导出记录失败");
-            }
-        } catch (Exception e) {
-            throw new XiaoShiException("合并错误");
+        }
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        resultDocument.save(out);
+        resultDocument.close();
+        WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
+        webSocketMessageVO.setProjectId(EsVO.getProjectId());
+        webSocketMessageVO.setCreateId(exportTask.getCreateId());
+        webSocketMessageVO.setCode(605);
+        webSocketMessageVO.setAllNum(total);
+        webSocketMessageVO.setCurrentNum(total);
+        webSocketMessageVO.setState(2);
+        messageService.sendPatentExportMessage(webSocketMessageVO);
+        String fileGuid = "";
+        if (out.toByteArray() != null && out.toByteArray().length != 0) {
+            fileGuid = parseByteToFileUtils.uploadFile(out.toByteArray(), 2);
+        }
+        exportTask.setFileGuid(fileGuid);
+        exportTask.setAllNum(total);
+        exportTask.setDefaultNum(defaultNum);
+        exportTask.setState(2);
+        Integer taskId = importTaskService.updateExportTask(exportTask);
+        if (taskId == null) {
+            throw new XiaoShiException("导出记录失败");
         }
     }