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/common/ZipUtil.java | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zbooksoft/gdmis/common/ZipUtil.java b/src/main/java/com/zbooksoft/gdmis/common/ZipUtil.java
index a792906..758159d 100644
--- a/src/main/java/com/zbooksoft/gdmis/common/ZipUtil.java
+++ b/src/main/java/com/zbooksoft/gdmis/common/ZipUtil.java
@@ -1,11 +1,18 @@
package com.zbooksoft.gdmis.common;
+import com.ruili.wcp.configsettting.SystemConfig;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.web.multipart.MultipartFile;
import java.io.*;
+import java.nio.charset.Charset;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Enumeration;
import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
/**
@@ -134,4 +141,68 @@
boolean directory = path.isDirectory();
System.out.println(directory);
}
+
+ /**
+ * 瑙e帇zip鏂囦欢
+ *
+ * @param multipartFile
+ */
+ private String unzip(MultipartFile multipartFile, String dataSource) throws Exception {
+ try {
+ //metaBusActivity
+ String fileName = multipartFile.getOriginalFilename();
+ SystemConfig config = SystemConfig.getInstance();
+ Date date = new Date();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM");
+ SimpleDateFormat formatterYear = new SimpleDateFormat("yyyy");
+ String strDate = formatter.format(date);
+ String formatYear = formatterYear.format(date);
+ // 寰呮帴鏀� /閮ㄩ棬缂栧彿/骞村害/骞村害鏈堜唤/
+ String destDir = config.getAttachUploadPath() + "寰呮帴鏀�" + File.separator + formatYear + File.separator + strDate + File.separator + dataSource;
+
+ String filePath = destDir + File.separator + fileName.substring(0, fileName.indexOf('.'));
+
+ File fileFolder = new File(destDir);
+ // 瀛樺叆鏂囦欢澶�
+ if (!fileFolder.exists() && !fileFolder.isDirectory()) {
+ fileFolder.mkdirs();
+ }
+
+ File targetFile = new File(fileFolder, fileName);
+ multipartFile.transferTo(targetFile);
+ ZipFile zp = null;
+
+ //鎸囧畾缂栫爜锛屽惁鍒欏帇缂╁寘閲岄潰涓嶈兘鏈変腑鏂囩洰褰�
+ zp = new ZipFile(targetFile, Charset.forName("gbk"));
+ //閬嶅巻閲岄潰鐨勬枃浠跺強鏂囦欢澶�
+ Enumeration entries = zp.entries();
+ while (entries.hasMoreElements()) {
+ ZipEntry entry = (ZipEntry) entries.nextElement();
+ String zipEntryName = entry.getName();
+ InputStream in = zp.getInputStream(entry);
+ String outpath = (filePath + File.separator + zipEntryName).replace("/", File.separator);
+ //鍒ゆ柇璺緞鏄惁瀛樺湪锛屼笉瀛樺湪鍒欏垱寤烘枃浠惰矾寰�
+ File file = new File(outpath.substring(0, outpath.lastIndexOf(File.separator)));
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ //鍒ゆ柇鏂囦欢鍏ㄨ矾寰勬槸鍚︿负鏂囦欢澶�,濡傛灉鏄�,涓嶉渶瑕佽В鍘�
+ if (new File(outpath).isDirectory()) {
+ continue;
+ }
+ OutputStream out = new FileOutputStream(outpath);
+ byte[] bf = new byte[2048];
+ int len;
+ while ((len = in.read(bf)) > 0) {
+ out.write(bf, 0, len);
+ }
+ in.close();
+ out.close();
+ }
+ zp.close();
+ return filePath;
+ } catch (Exception e) {
+ throw new Exception("瑙e帇澶辫触");
+ }
+ }
}
--
Gitblit v1.9.1