From 6adcb9d2eaa5676fbbaa251dca95a12f40223f4a Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 10 十二月 2025 17:36:08 +0800
Subject: [PATCH] 修改了对应代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 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 3f7963e..f2e7b9a 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
@@ -41,8 +41,11 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
@@ -54,6 +57,8 @@
 @RestController
 @RequestMapping("/system/archiveAllExport")
 public class archiveAllExportController {
+    // 瀛樺偍褰撳ぉ瀵煎嚭搴忓彿鐨凪ap锛岄敭涓烘棩鏈�(yyyyMMdd)锛屽�间负褰撳墠搴忓彿
+    private static Map<String, Integer> dailySequenceMap = new ConcurrentHashMap<>();
 
     @Autowired
     private pdfGenerateService pdfGenerateService;
@@ -64,6 +69,21 @@
 
     @Autowired
     private IArchiveRecordsService iArchiveRecordsService;
+    
+    // 鐢ㄤ簬鐢熸垚褰撳ぉ瀵煎嚭搴忓彿鐨勬柟娉�
+    private String generateDailySequence(String date) {
+        // 浣跨敤synchronized纭繚绾跨▼瀹夊叏
+        synchronized (dailySequenceMap) {
+            // 鑾峰彇褰撳墠鏃ユ湡鐨勫簭鍙凤紝濡傛灉涓嶅瓨鍦ㄥ垯鍒濆鍖栦负0
+            int sequence = dailySequenceMap.getOrDefault(date, 0);
+            // 搴忓彿閫掑
+            sequence++;
+            // 鏇存柊Map涓殑搴忓彿
+            dailySequenceMap.put(date, sequence);
+            // 鏍煎紡鍖栦负涓変綅瀛楃涓诧紝涓嶈冻涓変綅琛ュ墠瀵奸浂
+            return String.format("%03d", sequence);
+        }
+    }
 
 
 
@@ -138,6 +158,10 @@
         }
         System.out.println(siz/1000);
         //鍒ゆ柇鏄惁澶т簬4G锛屾槸鐨勮瘽锛岀洿鎺ユ姏鍑哄紓甯�
+        long maxSize = 4L * 1024 * 1024 * 1024; // 4GB in bytes
+        if (siz > maxSize) {
+            throw new RuntimeException("鏂囦欢鎬诲ぇ灏忚秴杩�4GB锛屾棤娉曞鍑�");
+        }
         System.out.println("092939932");
         String zipFileName ="test" +".zip";
         //鐢熸垚鍘嬬缉鍖呭瓨鍌ㄥ湴鍧�锛堟渶鍚庝細鍒犳帀锛�
@@ -162,7 +186,10 @@
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
             String formattedDate = date.format(formatter);
             System.out.println(formattedDate);
-            String fna = "GH"+20250908+"/";
+            
+            // 鐢熸垚褰撳ぉ瀵煎嚭搴忓彿
+            String sequence = generateDailySequence(formattedDate);
+            String fna = "GH" + formattedDate + sequence + "/";
             zos.putNextEntry(new ZipEntry(fna));
 
 
@@ -171,7 +198,7 @@
             archiveRecords.setIds(ids);
             List<ArchiveRecords> lis = iArchiveRecordsService.selectArchiveRecordsList(archiveRecords);
             //妗堝嵎鐩綍瀵煎嚭
-            ZipEntry entry = new ZipEntry("妗堝嵎鐩綍" + ".xls");
+            ZipEntry entry = new ZipEntry(fna + "妗堝嵎鐩綍" + ".xls");
             ExcelUtil<ArchiveRecords> util = new ExcelUtil<ArchiveRecords>(ArchiveRecords.class);
 
             zos.putNextEntry(entry);
@@ -183,7 +210,7 @@
             List<ArchiveRecordSmall> lrs = iArchiveRecordsService.findByIds(archiveRecords);
             System.out.println(lrs);
             System.out.println("99999999990000");
-            ZipEntry entry1 = new ZipEntry("绉讳氦娓呭崟" + ".xls");
+            ZipEntry entry1 = new ZipEntry(fna + "绉讳氦娓呭崟" + ".xls");
             ExcelUtil<ArchiveRecordSmall> util1 = new ExcelUtil<ArchiveRecordSmall>(ArchiveRecordSmall.class);
 
 
@@ -208,7 +235,6 @@
 
 
             for(int i = 0; i < ids.length; i++) {
-
                 // 鑾峰彇鏂囦欢鐨勪繚瀛樹綅缃�,璇诲彇鏁版嵁搴�,
                 DocumentMaterials documentMaterials = new DocumentMaterials();
                 documentMaterials.setRecordId(ids[i]);
@@ -221,7 +247,7 @@
                 ArchiveInfoVo aIV = iArchiveRecordsService.selectByRecordId(ids[i]);
 
                 String adir = aIV.getInquiryNumber() + " " + aIV.getRecordId();
-                System.out.println(fna+adir);
+                System.out.println(fna + adir);
                 zos.putNextEntry(new ZipEntry(fna + adir + "/"));
 
                 //鍦ㄩ噷闈㈡坊鍔犳枃浠�
@@ -456,8 +482,12 @@
 
                 //.selectDocumentMaterialsList(documentMaterials);
         List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(id.toString());
+        if(dsvs==null||dsvs.isEmpty())
+        {
+            throw new RuntimeException("鐢靛瓙鏂囦欢淇℃伅娌℃湁涓婁紶锛岃琛ュ厖锛�");
+        }
         ArchiveInfoVo aIV = iArchiveRecordsService.selectByRecordId(id);
-
+        System.out.println(dsvs.size());
         List<String> paths = new ArrayList<>();
 //        System.out.println(docs);
         if (docs.size() == 1) {  // 鐩存帴涓嬭浇

--
Gitblit v1.9.1