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