From a5edca4c62ea99418dcaa5d792947b1bab7fe8b2 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 17 十二月 2025 23:08:36 +0800
Subject: [PATCH] 修改了对应代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java | 45 +++++++++++++++++++++++++++++++++++++++------
1 files changed, 39 insertions(+), 6 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..039f191 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);
@@ -456,8 +483,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) { // 鐩存帴涓嬭浇
@@ -501,6 +532,8 @@
System.out.println(filePath+"0009999999999");
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
+ // response.addHeader("Content-Disposition", "attachment;filename=fileName" + ".xls");
+
FileUtils.writeBytes(filePath, response.getOutputStream());
}
@@ -566,7 +599,7 @@
//pdf鐩綍灏侀潰
String pdfPathF = "07-妗堝嵎灏侀潰.pdf";
- pdfGenerateService.generatePdf(pdfPathF, 55L);
+ pdfGenerateService.generatePdf(pdfPathF, id);
// 2. 鍘嬬缉PDF鍒癦IP鏂囦欢
// 娣诲姞PDF鏂囦欢鍒癦IP
ZipEntry zipEntry = new ZipEntry(pdfPathF);
--
Gitblit v1.9.1