Просмотр исходного кода

档案-日志同步
1、同步时页数调整

LHB 1 месяц назад
Родитель
Сommit
75e34bb330

+ 3 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveSyncLogVO.java

@@ -36,6 +36,8 @@ public class ArchiveSyncLogVO {
 
     @ApiModelProperty("电签文件路径")
     private String eVisaPdfUrl;
-    @ApiModelProperty("电签文件路径")
+    @ApiModelProperty("父级节点")
     private Long wbsNodeId;
+    @ApiModelProperty("文件页数")
+    private Integer page;
 }

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -1050,6 +1050,7 @@
             create_user,
             create_time,
             wbs_node_id,
+            page,
             ( SELECT node_type FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logType,
             ( SELECT node_name FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logName
         FROM

+ 13 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java

@@ -2,10 +2,10 @@ package org.springblade.manager.service.impl;
 
 import com.alibaba.nacos.common.utils.DateFormatUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import jodd.util.StringUtil;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
+import org.apache.pdfbox.pdmodel.PDDocument;
 import org.springblade.archive.entity.ArchiveProjectConfig;
 import org.springblade.archive.feign.ArchiveAutoClient;
 import org.springblade.business.dto.ImageClassificationFileDTO;
@@ -13,7 +13,6 @@ import org.springblade.business.entity.*;
 import org.springblade.business.feign.ArchiveFileClient;
 import org.springblade.business.feign.ImageClassificationFileClient;
 import org.springblade.business.feign.InformationQueryClient;
-import org.springblade.business.vo.TreeVoTwo;
 import org.springblade.business.vo.TrialSelfInspectionRecordFileVO;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.common.utils.ForestNodeMergerEx;
@@ -32,15 +31,14 @@ import org.springblade.manager.mapper.ArchiveTreeContractMapper;
 import org.springblade.manager.service.*;
 import org.springblade.manager.utils.ForestNodeMerger;
 import org.springblade.manager.vo.*;
-import org.springblade.resource.entity.Attach;
 import org.springblade.resource.feign.CommonFileClient;
 import org.springblade.system.entity.DictBiz;
-import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -1183,6 +1181,16 @@ public class ArchiveTreeContractSyncImpl {
                 List<ArchiveSyncLogVO> list = collect.get(f);
                 if(CollectionUtil.isEmpty(list)){
                     List<ArchiveSyncLogVO> contractAllLog = wbsTreePrivateService.getContractAllLog(contractId, f);
+                    //生成页数
+                    contractAllLog.forEach(x -> {
+                        InputStream inputStream = CommonUtil.getOSSInputStream(x.getPdfUrl());
+                        try (PDDocument document = PDDocument.load(inputStream)) {
+                            int numberOfPages = document.getNumberOfPages();
+                            x.setPage(numberOfPages);
+                        } catch (IOException e) {
+                            System.err.println("文件读取错误: " + e.getMessage());
+                        }
+                    });
                     if(CollectionUtil.isNotEmpty(contractAllLog)){
                         logs.addAll(contractAllLog);
                     }
@@ -1653,7 +1661,7 @@ public class ArchiveTreeContractSyncImpl {
         archiveFile.setFileTime(vo.getRecordTime());
         archiveFile.setFileUrl(vo.getPdfUrl());
         archiveFile.setPdfFileUrl(StringUtil.isNotBlank(vo.getEVisaPdfUrl()) ? vo.getEVisaPdfUrl() : vo.getPdfUrl());
-        archiveFile.setFilePage(1);
+        archiveFile.setFilePage(vo.getPage());
         archiveFile.setIsApproval(0);
         archiveFile.setIsCertification(1);
         archiveFile.setIsNeedCertification(0);