From 63211c7592b9c7b814de2756d338ffd33ac0c58f Mon Sep 17 00:00:00 2001
From: zhai <1528081232@qq.com>
Date: 星期一, 19 一月 2026 16:37:38 +0800
Subject: [PATCH] 1、提交验收按钮新增判断是否关联附件 2、借阅暂存添加不可外借新增提醒 3、成果表单借阅管理修改为借阅记录 4、合格资料模块,导出文件按钮需要添加日志 5、装盒按钮调整:需要一个确认按钮并且可以更改盒号,调整盒号时能同步展示盒号容量 6、对接斑马打印机 7、利用用户修改
---
src/main/java/com/zbooksoft/gdmis/controller/CatAjjxxController.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zbooksoft/gdmis/controller/CatAjjxxController.java b/src/main/java/com/zbooksoft/gdmis/controller/CatAjjxxController.java
index 51ef088..555e5e0 100644
--- a/src/main/java/com/zbooksoft/gdmis/controller/CatAjjxxController.java
+++ b/src/main/java/com/zbooksoft/gdmis/controller/CatAjjxxController.java
@@ -37,7 +37,9 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.zip.ZipFile;
+import static cn.hutool.core.util.ZipUtil.unzip;
import static com.zbooksoft.gdmis.common.XmlUtil.getDocument;
@@ -101,10 +103,34 @@
@RequiresUser
public Object importXML(@RequestParam(value = "file", required = false) MultipartFile file, String startData, String endData) {
try {
- Document document = getDocument(file);
- Element rootElement = document.getRootElement();
- String rootName = rootElement.getName();
- xmlService.readXml(document, startData, endData);
+ ArchivesCustomConfig archivesCustomConfig = customConfigUtil.getConfigObj(ArchivesCustomConfig.class);
+ String uploadPath = archivesCustomConfig.getOriginalPath();
+ //鍒ゆ柇浼犺繃鏉ョ殑鏂囦欢鏄笉鏄帇缂╁寘
+ if (file.getOriginalFilename().endsWith(".zip")) {
+ String tempDir = System.getProperty("java.io.tmpdir");
+ String extractPath = tempDir + File.separator + "temp_" + System.currentTimeMillis();
+ File extractDir = new File(extractPath);
+ extractDir.mkdirs();
+ String originalFilename = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
+ try {
+ // 淇濆瓨涓婁紶鐨� ZIP 鏂囦欢鍒颁复鏃朵綅缃�
+ File zipFile = new File(extractPath + File.separator + file.getOriginalFilename());
+ file.transferTo(zipFile);
+ // 瑙e帇 ZIP 鏂囦欢
+ unzip(zipFile.getAbsolutePath(), uploadPath);
+
+ String xmlPath = uploadPath + File.separator + originalFilename + File.separator + "绠$悊鎬ф枃浠�" + File.separator + "璧勬枡鏂囦欢鐩綍.xml";
+ Document document = getDocument(xmlPath);
+ xmlService.readXml(document, startData, endData);
+ } finally {
+ // 娓呯悊涓存椂鏂囦欢
+ deleteDir(extractDir);
+ }
+
+ } else {
+ Document document = getDocument(file);
+ xmlService.readXml(document, startData, endData);
+ }
return new AjaxResponse(true);
} catch (Exception e) {
logger.error(e.getMessage(), e);
@@ -379,8 +405,8 @@
File file = new File(yswjPath);
if (file.exists()) {
- long folderSize = getFolderSize(file);
- long fileSizeMB = folderSize / 1024 / 1024;
+ Long folderSize = getFolderSize(file);
+ double fileSizeMB = (double) folderSize / 1024 / 1024;
String fileSizeStr = String.format("%.2f", fileSizeMB);
catYswjxx.setWjdx(fileSizeStr);
catYswjxx.setWjlj(yswjPath);
@@ -581,16 +607,16 @@
System.out.println(folderSize / 1024 / 1024);
}
- public static long getFolderSize(File folder) {
+ public static Long getFolderSize(File folder) {
if (!folder.exists()) {
- return 0;
+ return 0L;
}
if (folder.isFile()) {
return folder.length();
}
- long totalSize = 0;
+ Long totalSize = 0L;
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
@@ -603,5 +629,17 @@
}
return totalSize;
}
+
+ private void deleteDir(File dir) {
+ if (dir.isDirectory()) {
+ File[] files = dir.listFiles();
+ if (files != null) {
+ for (File file : files) {
+ deleteDir(file);
+ }
+ }
+ }
+ dir.delete();
+ }
}
--
Gitblit v1.9.1