From 6adcb9d2eaa5676fbbaa251dca95a12f40223f4a Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期三, 10 十二月 2025 17:36:08 +0800
Subject: [PATCH] 修改了对应代码
---
archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/archiveAllExportController.java | 44 ++++++++++++--
archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialFileSmallVo.java | 3
archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialsVoSmall.java | 4 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java | 52 +++++++++++++++++
archiveManager/src/main/java/com/ruoyi/domain/DocumentMaterials.java | 9 +++
archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java | 6 +
7 files changed, 110 insertions(+), 12 deletions(-)
diff --git a/archiveManager/src/main/java/com/ruoyi/domain/DocumentMaterials.java b/archiveManager/src/main/java/com/ruoyi/domain/DocumentMaterials.java
index 0becc32..5ee3df9 100644
--- a/archiveManager/src/main/java/com/ruoyi/domain/DocumentMaterials.java
+++ b/archiveManager/src/main/java/com/ruoyi/domain/DocumentMaterials.java
@@ -135,6 +135,15 @@
/** $column.columnComment */
private Date createdAt;
+ public Integer getVisible() {
+ return visible;
+ }
+
+ public void setVisible(Integer visible) {
+ this.visible = visible;
+ }
+
+ private Integer visible;
/** $column.columnComment */
private Date updatedAt;
private String fileStyle;
diff --git a/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialFileSmallVo.java b/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialFileSmallVo.java
index f4eba1b..58bae63 100644
--- a/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialFileSmallVo.java
+++ b/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialFileSmallVo.java
@@ -29,7 +29,8 @@
/** $column.columnComment */
@Excel(name = "椤靛彿", handler = NumberFormatHandler.class)
private Long pageNumber;
-
+ @Excel(name = "鏉愭枡绫诲瀷")
+ private String fileStyle;
/** $column.columnComment */
@Excel(name = "鎵�澶勯樁娈�")
diff --git a/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialsVoSmall.java b/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialsVoSmall.java
index 77524fe..970241c 100644
--- a/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialsVoSmall.java
+++ b/archiveManager/src/main/java/com/ruoyi/domain/vo/DocumentMaterialsVoSmall.java
@@ -40,6 +40,10 @@
this.pageNumber = pageNumber;
this.remarks = remarks;
}
+
+ public DocumentMaterialsVoSmall() {
+
+ }
// public DocumentMaterialsVoSmall(Long num, String documentNumber, String creator, String title, Date date, Long pageNumber, String remarks) {
// this.num = num;
// this.documentNumber = documentNumber;
diff --git a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
index febfadf..dc00f16 100644
--- a/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
+++ b/archiveManager/src/main/java/com/ruoyi/mapper/DocumentMaterialsMapper.java
@@ -28,8 +28,8 @@
@Select("select count(*) from document_materials where title=#{title} and page_number<#{pageNumber} and stage=#{stage} and record_id=#{recordId}")
Long getMaxPageOrder(@Param("title")String title,@Param("pageNumber") Long pageNumber,@Param("stage") String stage, @Param("recordId") Long recordId);
- //璁$畻鏂囦欢鐨勫簭鍙�
- @Select("select count(distinct(title))-1 from document_materials where page_number<=#{pageNumber} and record_id=#{recordId}")
+ //璁$畻鏂囦欢鐨勫簭鍙凤紝title鏈夊彲鑳介噸澶�
+ @Select("select count(distinct(concat_ws(',', title, stage)))-1 from document_materials where page_number<=#{pageNumber} and record_id=#{recordId}")
Long getFileNumber(@Param("pageNumber") Long pageNumber, @Param("recordId") Long recordId);
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
index f34a9d5..8ca7e7d 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -254,7 +254,7 @@
@Override
public Long getFiNum(Long pageNumber, Long recordId) {
- return this.baseMapper.getFileNumber(pageNumber, recordId);
+ return this.baseMapper.getFileNumber(pageNumber, recordId)+1;
}
@Override
@@ -308,6 +308,7 @@
DocumentMaterials documentMaterials = new DocumentMaterials();
BeanUtils.copyProperties(archiveCategory, documentMaterials);
documentMaterials.setRecordId(Long.parseLong(recordId));
+ documentMaterials.setVisible(1);
this.insertDocumentMaterials(documentMaterials);
}
@@ -341,6 +342,7 @@
// 鑾峰彇鎸囧畾recordId涓嬬殑鎵�鏈夎褰曪紝鎸夐〉鍙峰崌搴忔帓鍒�
LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
lqw.eq(DocumentMaterials::getRecordId, recordId);
+ lqw.ne(DocumentMaterials::getFileStyle, "鍏朵粬鏉愭枡");
lqw.orderByAsc(DocumentMaterials::getPageNumber);
List<DocumentMaterials> records = this.list(lqw);
@@ -384,6 +386,8 @@
newRecord.setFileSize(null);
newRecord.setFormat(null);
newRecord.setUrl(null);
+ //涓嶅湪鍓嶇鏄剧ず
+ newRecord.setVisible(0);
// 娣诲姞鍒颁腑闂磋褰曞垪琛�
middleRecords.add(newRecord);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
index 8c2ec44..89fb691 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java
@@ -11,6 +11,9 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.stream.Collectors;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
@@ -26,6 +29,8 @@
import com.ruoyi.domain.ArchiveRecords;
import com.ruoyi.domain.DocumentMaterials;
import com.ruoyi.domain.vo.DocumentMaterialFileSmallVo;
+import com.ruoyi.domain.vo.DocumentMaterialsVo;
+import com.ruoyi.domain.vo.DocumentMaterialsVoSmall;
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.framework.web.domain.server.Sys;
import com.ruoyi.service.IDocumentMaterialsService;
@@ -132,8 +137,52 @@
}
ExcelUtil<DocumentMaterials> util = new ExcelUtil<DocumentMaterials>(DocumentMaterials.class);
- util.exportExcel(response, list, "銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戞暟鎹�");
+ util.exportExcel(response, list, "鐢靛瓙鏂囦欢鐩綍");
}
+
+ @PreAuthorize("@ss.hasPermi('system:materials:export')")
+ @Log(title = "銆愬鍑哄嵎鍐呯洰褰曘��", businessType = BusinessType.EXPORT)
+ @PostMapping("/exportDir")
+ public void exportDir(HttpServletResponse response, DocumentMaterials documentMaterials, @RequestParam(value = "ids", required = false) Long[] ids)
+ {
+ List<DocumentMaterials> list;
+ System.out.println(ids);
+ // 濡傛灉鎻愪緵浜唅ds鍙傛暟锛屽垯鏍规嵁ids瀵煎嚭鎸囧畾璁板綍
+ if (ids != null && ids.length > 0) {
+ list = documentMaterialsService.selectDocumentMaterialsByIds(ids);
+ } else {
+ list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
+
+ }
+ // 鏍规嵁visible瀛楁绛涢�夛紝鍙繚鐣檝isible涓�1鐨勮褰�
+ List<DocumentMaterials> filteredList = list.stream()
+ .filter(doc -> doc.getVisible() != null && doc.getVisible() == 1 && !Objects.equals(doc.getFileStyle(), "鍏朵粬鏉愭枡"))
+ .collect(Collectors.toList());
+
+ // 浣跨敤AtomicLong瀹炵幇搴忓彿鐨勯�掑
+ AtomicLong nm = new AtomicLong(1L);
+ // 灏嗙瓫閫夊悗鐨凞ocumentMaterials杞崲涓篋ocumentMaterialsVo
+ List<DocumentMaterialsVoSmall> list1 = filteredList.stream().map(doc -> {
+ DocumentMaterialsVoSmall vo = new DocumentMaterialsVoSmall();
+ // 鎵嬪姩鏄犲皠瀛楁锛屼娇鐢╣etAndIncrement()鏂规硶鑾峰彇褰撳墠鍊煎苟閫掑
+ vo.setNum(nm.getAndIncrement());
+
+ vo.setDocumentNumber(doc.getDocumentNumber());
+ vo.setCreator(doc.getCreator());
+ vo.setTitle(doc.getTitle());
+ vo.setDate(doc.getDate());
+ vo.setPageNumber(doc.getPageNumber());
+ vo.setRemarks(doc.getRemarks());
+// vo.setRecordId(doc.getRecordId() != null ? doc.getRecordId().toString() : null);
+// vo.setPublicity(doc.getPublicity());
+ return vo;
+ }).collect(Collectors.toList());
+
+ ExcelUtil<DocumentMaterialsVoSmall> util = new ExcelUtil<DocumentMaterialsVoSmall>(DocumentMaterialsVoSmall.class);
+ util.exportExcel(response, list1, "鍗峰唴鐩綍");
+ }
+
+ // List<DocumentMaterialsVo> dsvs = documentMaterialsService.findArchMInfo(id.toString());
/**
* 鑾峰彇銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戣缁嗕俊鎭�
@@ -153,6 +202,7 @@
@PostMapping
public AjaxResult add(@RequestBody DocumentMaterials documentMaterials)
{
+ documentMaterials.setVisible(1);
int res = documentMaterialsService.insertDocumentMaterials(documentMaterials);
System.out.println(res+"][[[[[[[[[[[[[[[[[[");
return toAjax(res);
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