From 5d91a329768a2a86e01e4b9b6bc6a2b939b87adb Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期五, 16 一月 2026 22:48:51 +0800
Subject: [PATCH] 修改了对应代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java |  140 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 101 insertions(+), 39 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
index d3900de..e461f45 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java
@@ -527,6 +527,11 @@
                 //鎶奃ocumentMaterils杞埌docs
                 List<DocumentMaterialsVoLarge> docs = new ArrayList<>();
                 int nstar = 1;
+
+                //缁熻3涓潗鏂欑殑涓暟
+                int texPages = 0;
+                int picPages = 0;
+                int patPages = 0;
                 for (DocumentMaterials mater : docAllInfo) {
                     // physcialService.mySave(physcial);
                     DocumentMaterialsVoLarge docum = new DocumentMaterialsVoLarge();
@@ -534,6 +539,12 @@
                     docum.setRecordId(archiveRecords1.getRecordId());
                     docum.setNum(nstar++);
                     docs.add(docum);
+                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+                        texPages++;
+                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鍥炬牱鏉愭枡"))
+                        patPages++;
+                    if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鐓х墖鏉愭枡"))
+                        picPages++;
                 }
 
 
@@ -623,7 +634,7 @@
                         dc.setHorizontalResolution((long) wdpi);
                         dc.setVerticalResolution((long) hdpi);
                         dc.setSizeType(sizeType);
-                        fileMap.put(dc.getPageNumber()+"", fp);
+                        fileMap.put(dc.getPageNumber()+"", fileName1);
                         //   dc.set
                         // 鏇存柊鏁版嵁搴�
                         //   documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName1, "jpg", recordId);
@@ -641,6 +652,11 @@
                         System.out.println(dc.getPageNumber());
                         String fip = fileMap.get(dc.getPageNumber().toString());
 // 鍒涘缓 File 瀵硅薄
+                        if (fip == null) {
+                            // 琛ラ浂鍒�4浣嶏紙鏍规嵁浣犵殑闇�姹傝皟鏁翠綅鏁帮級
+                            String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
+                            fip = fileMap.get(paddedKey);
+                        }
                         File fils = new File(fip);
 
 // 浣跨敤 ImageIO 璇诲彇鍥剧墖
@@ -761,21 +777,21 @@
 
                 HashMap<String, Object> hs = new HashMap<String, Object>();
                 int allPages = 0;
-                int texPages = 0;
-                int picPages = 0;
-                int patPages = 0;
-                if(!dmfs.isEmpty())
-                {
-                    for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
-                    {
-                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
-                            texPages = documentMaterialFileStyle.getCnt();
-                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
-                            patPages = documentMaterialFileStyle.getCnt();
-                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
-                            picPages = documentMaterialFileStyle.getCnt();
-                    }
-                }
+//                int texPages = 0;
+//                int picPages = 0;
+//                int patPages = 0;
+//                if(!dmfs.isEmpty())
+//                {
+//                    for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
+//                    {
+//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+//                            texPages = documentMaterialFileStyle.getCnt();
+//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+//                            patPages = documentMaterialFileStyle.getCnt();
+//                        if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+//                            picPages = documentMaterialFileStyle.getCnt();
+//                    }
+//                }
 
 
                 String compName = "骞垮窞鐩堝妗f绠$悊鏈夐檺鍏徃";
@@ -938,6 +954,9 @@
                     // 鍒涘缓PDF淇濆瓨閫夐」
                     com.aspose.cells.PdfSaveOptions pdfSaveOptions = new com.aspose.cells.PdfSaveOptions();
                     pdfSaveOptions.setCompliance(com.aspose.cells.PdfCompliance.PDF_A_1_B);
+                    // 纭繚瀛椾綋宓屽叆鍒癙DF涓�
+
+
                     // 鍒涘缓涓存椂瀛楄妭杈撳嚭娴�
                     ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
@@ -1090,11 +1109,21 @@
                 byte[] buf = new byte[1024];
                 for (DocumentMaterialsVoLarge dc : docs) {
                     String filePath = fileMap.get(dc.getPageNumber().toString());
-                    if(filePath==null)
-                        continue;
+
                 //    filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
 
                     System.out.println(filePath);
+                    if (filePath == null) {
+                        // 琛ラ浂鍒�4浣嶏紙鏍规嵁浣犵殑闇�姹傝皟鏁翠綅鏁帮級
+                        String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
+                        filePath = fileMap.get(paddedKey);
+                    }
+                    if(filePath==null)
+                        continue;
+
+                    if(filePath.contains("profile"))
+                        filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
+
                     File tempFile = new File(filePath);
 
                     //鍦ㄥ帇缂╁寘涓坊鍔犳枃浠跺す
@@ -1195,6 +1224,9 @@
         //鎶奃ocumentMaterils杞埌docs
         List<DocumentMaterialsVoLarge> docs = new ArrayList<>();
         int nstar = 1;
+        int texPages = 0;
+        int patPages = 0;
+        int picPages = 0;
         for (DocumentMaterials mater : docAllInfo) {
             // physcialService.mySave(physcial);
             DocumentMaterialsVoLarge docum = new DocumentMaterialsVoLarge();
@@ -1202,6 +1234,12 @@
             docum.setRecordId(aIV.getRecordId());
             docum.setNum(nstar++);
             docs.add(docum);
+            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+                texPages++;
+            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鍥炬牱鏉愭枡"))
+                patPages++;
+            if(mater.getFileStyle()!=null&&mater.getFileStyle().equals("鐓х墖鏉愭枡"))
+                picPages++;
         }
         System.out.println(docs.size()+"----009");
 
@@ -1293,7 +1331,9 @@
                 dc.setHorizontalResolution((long) wdpi);
                 dc.setVerticalResolution((long) hdpi);
                 dc.setSizeType(sizeType);
-                fileMap.put(dc.getPageNumber()+"", fp);
+                System.out.println(fileName1);
+                System.out.println("gggggggggggggggg999999999999");
+                fileMap.put(dc.getPageNumber()+"", fileName1);
              //   dc.set
                 // 鏇存柊鏁版嵁搴�
                 //   documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber, wid, hei, wdpi, hdpi, sz, fileName1, "jpg", recordId);
@@ -1310,6 +1350,12 @@
                 //鎷垮埌鍥惧儚灞炴��
                 System.out.println(dc.getPageNumber());
                 String fip = fileMap.get(dc.getPageNumber().toString());
+                // 濡傛灉鐩存帴鍖归厤澶辫触锛屽皾璇曡ˉ闆跺尮閰�
+                if (fip == null) {
+                    // 琛ラ浂鍒�4浣嶏紙鏍规嵁浣犵殑闇�姹傝皟鏁翠綅鏁帮級
+                    String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
+                    fip = fileMap.get(paddedKey);
+                }
 // 鍒涘缓 File 瀵硅薄
                 if(fip==null||fip.equals(""))
                 {
@@ -1317,6 +1363,7 @@
 
 
                 }
+
                 File file = new File(fip);
 
 // 浣跨敤 ImageIO 璇诲彇鍥剧墖
@@ -1375,7 +1422,7 @@
             //鍘嬬缉鏂囦欢
             List<String> filePathList = paths;
             //鎶奷ocmentMaterial杞负
-            File file = compressedFileToZip(docs, dsvs, aIV, id, fileMap);
+            File file = compressedFileToZip(docs, dsvs, aIV, id, fileMap, texPages, patPages, picPages);
             System.out.println(file.getName());
 
             String fileName =aIV.getRecordId()+".zip";
@@ -1469,7 +1516,10 @@
 
 
     // 鍘嬬缉鏂囦欢
-    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id,   Map<String, String> fileMap) throws Exception {
+    private File compressedFileToZip(List<DocumentMaterialsVoLarge> docs, List<DocumentMaterialsVo> dsvs,   ArchiveInfoVo aIV, Long id,   Map<String, String> fileMap,
+     int texPages,
+    int patPages,
+    int picPages) throws Exception {
         //鍘嬬缉鍖呭叿浣撳悕绉帮紙鎷兼帴鏃堕棿鎴抽槻姝㈤噸鍚嶏級
         String datumName = "";
         String zipFileName =dsvs.get(0).getDocumentNumber()+aIV.getRecordId()+ ".zip";
@@ -1493,7 +1543,7 @@
             String pdf09Path = "09-澶囪�冭〃.pdf";
           //  pdfGenerateService.generateFileStyleInfo(pdf09Path, aIV.getRecordId(), id);
             //鎷垮埌鐩稿叧鏁版嵁
-            List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(id));
+          //  List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(id));
 
             LocalDate currentDate = LocalDate.now();
 
@@ -1502,21 +1552,21 @@
 
             HashMap<String, Object> hs = new HashMap<String, Object>();
             int allPages = 0;
-            int texPages = 0;
-            int picPages = 0;
-            int patPages = 0;
-            if(!dmfs.isEmpty())
-            {
-                for(DocumentMaterialFileStyle documentMaterialFileStyle:dmfs)
-                {
-                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
-                        texPages = documentMaterialFileStyle.getCnt();
-                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
-                        patPages = documentMaterialFileStyle.getCnt();
-                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
-                        picPages = documentMaterialFileStyle.getCnt();
-                }
-            }
+//            int texPages = 0;
+//            int picPages = 0;
+//            int patPages = 0;
+//            if(!docs.isEmpty())
+//            {
+//                for(DocumentMaterialsVoLarge documentMaterialFileStyle:docs)
+//                {
+//                    if(documentMaterialFileStyle!=null&&documentMaterialFileStyle.getFileStyle().equals("鏂囧瓧鏉愭枡"))
+//                        texPages = documentMaterialFileStyle.getCnt();
+//                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鍥炬牱鏉愭枡"))
+//                        patPages = documentMaterialFileStyle.getCnt();
+//                    if(documentMaterialFileStyle.getFileStyle()!=null&&documentMaterialFileStyle.getFileStyle().equals("鐓х墖鏉愭枡"))
+//                        picPages = documentMaterialFileStyle.getCnt();
+//                }
+//            }
 
             String compName = "骞垮窞鐩堝妗f绠$悊鏈夐檺鍏徃";
             String li_person = "浠囩縺";
@@ -1850,8 +1900,7 @@
             byte[] buf = new byte[1024];
             for (DocumentMaterialsVoLarge dc : docs) {
                 String filePath = fileMap.get(dc.getPageNumber().toString());
-                if(filePath==null)
-                    continue;
+
 
 //                    else {
 //                        // 鏂囦欢鍚嶇О
@@ -1883,7 +1932,20 @@
 //
 
 
+                if (filePath == null) {
+                    // 琛ラ浂鍒�4浣嶏紙鏍规嵁浣犵殑闇�姹傝皟鏁翠綅鏁帮級
+                    String paddedKey = frontCompWithZore(4, dc.getPageNumber().intValue());
+                    filePath = fileMap.get(paddedKey);
+                    System.out.println(paddedKey);
 
+                }
+                System.out.println(filePath);
+
+                if(filePath==null)
+                    continue;
+
+                if(filePath.contains("profile"))
+                    filePath = filePath.replace("/profile/", RuoYiConfig.getProfile() + "/");
 
                 File tempFile = new File(filePath);
                 System.out.println(filePath);

--
Gitblit v1.9.1