From bd2df0a3e0634bb5469472f10315797365748559 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期日, 21 九月 2025 11:05:02 +0800
Subject: [PATCH] 添加注释

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java |  145 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 124 insertions(+), 21 deletions(-)

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 ca90495..d0d5927 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
@@ -2,23 +2,32 @@
 
 
 
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.util.Collections;
 import java.util.List;
+import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
 
+import com.drew.imaging.ImageMetadataReader;
+import com.drew.metadata.Metadata;
+import com.drew.metadata.exif.ExifIFD0Directory;
+import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.text.Convert;
 import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.domain.ArchiveCategory;
 import com.ruoyi.domain.DocumentMaterials;
+import com.ruoyi.domain.vo.DocumentMaterialFileSmallVo;
+import com.ruoyi.framework.config.ServerConfig;
 import com.ruoyi.service.IDocumentMaterialsService;
+import com.sun.xml.internal.ws.api.addressing.WSEndpointReference;
+import org.apache.commons.imaging.ImageInfo;
+import org.apache.commons.imaging.Imaging;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -26,12 +35,13 @@
 
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
 import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
 
 /**
- * 銆愯濉啓鍔熻兘鍚嶇О銆慍ontroller
+ * 銆愭枃浠舵潗鏂欑患鍚堜俊鎭�慍ontroller
  *
  * @author ruoyi
  * @date 2025-07-28
@@ -41,10 +51,13 @@
 public class DocumentMaterialsController extends BaseController
 {
     @Autowired
+    private ServerConfig serverConfig;
+
+    @Autowired
     private IDocumentMaterialsService documentMaterialsService;
 
     /**
-     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     * 鏌ヨ銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
      */
     @PreAuthorize("@ss.hasPermi('system:materials:list')")
     @GetMapping("/list")
@@ -57,20 +70,20 @@
     }
 
     /**
-     * 瀵煎嚭銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     * 瀵煎嚭銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
      */
     @PreAuthorize("@ss.hasPermi('system:materials:export')")
-    @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.EXPORT)
+    @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, DocumentMaterials documentMaterials)
     {
         List<DocumentMaterials> list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
         ExcelUtil<DocumentMaterials> util = new ExcelUtil<DocumentMaterials>(DocumentMaterials.class);
-        util.exportExcel(response, list, "銆愯濉啓鍔熻兘鍚嶇О銆戞暟鎹�");
+        util.exportExcel(response, list, "銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戞暟鎹�");
     }
 
     /**
-     * 鑾峰彇銆愯濉啓鍔熻兘鍚嶇О銆戣缁嗕俊鎭�
+     * 鑾峰彇銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戣缁嗕俊鎭�
      */
     @PreAuthorize("@ss.hasPermi('system:materials:query')")
     @GetMapping(value = "/{materialId}")
@@ -80,23 +93,25 @@
     }
 
     /**
-     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 鏂板銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
      */
     @PreAuthorize("@ss.hasPermi('system:materials:add')")
-    @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.INSERT)
+    @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody DocumentMaterials documentMaterials)
     {
-        return toAjax(documentMaterialsService.insertDocumentMaterials(documentMaterials));
+        int res = documentMaterialsService.insertDocumentMaterials(documentMaterials);
+        System.out.println(res+"][[[[[[[[[[[[[[[[[[");
+        return toAjax(res);
     }
 
     /**
-     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 淇敼銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
      *
      * system:materials:edit
      */
     @PreAuthorize("@ss.hasPermi('system:materials:edit')")
-    @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.UPDATE)
+    @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody DocumentMaterials documentMaterials)
     {
@@ -104,13 +119,101 @@
     }
 
     /**
-     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 鍒犻櫎銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
      */
     @PreAuthorize("@ss.hasPermi('system:materials:remove')")
-    @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.DELETE)
+    @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.DELETE)
     @DeleteMapping("/{materialIds}")
     public AjaxResult remove(@PathVariable String[] materialIds)
     {
         return toAjax(documentMaterialsService.deleteDocumentMaterialsByMaterialIds(materialIds));
     }
+
+    public String getPageSize(double du)
+    {
+        if(du <= 8699840)
+            return "A4";
+        else if(du <= 17403188)
+            return "A3";
+        else if(du <= 34811347)
+            return "A2";
+        else if(du <= 69622674)
+            return "A1";
+        else
+            return "A0";
+    }
+
+    @PostMapping("/upload")
+    public AjaxResult uploadFile(MultipartFile file) throws Exception
+    {
+        // System.out.println("sdfd9999999999999999999999999999999");
+        try
+        {
+            //鏍规嵁鏂囦欢鍚嶇О锛岀劧鍚庝慨鏀瑰搴旀暟鎹殑url
+            String fname = file.getOriginalFilename();
+
+//            System.out.println(fname);
+            // 涓婁紶鏂囦欢璺緞
+            String filePath = RuoYiConfig.getUploadPath();
+//            System.out.println(filePath);
+            // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
+            String fileName = FileUploadUtils.upload(filePath, file);
+            String url = serverConfig.getUrl() + fileName;
+            AjaxResult ajax = AjaxResult.success();
+            //鍒嗗壊鏂囦欢鍚�
+            String [] nams = fname.split("\\.");
+            Long nam = Long.parseLong(nams[0]);
+            //鏂囦欢鍚嶇О
+            String pname = nams[1];
+            ajax.put("url", url);
+            //鎷垮埌鍥惧儚灞炴��
+            BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
+            int wid = bufferedImage.getWidth();
+            int hei = bufferedImage.getHeight();
+            double sz =  Double.parseDouble(String.format("%.2f", file.getSize()*1.0/1024));
+            System.out.println(wid+":"+hei+":"+sz);
+            //鎷垮埌鍥惧儚鐨刣pi淇℃伅
+
+            ImageInfo info = Imaging.getImageInfo(file.getBytes());
+
+
+            int wdpi = info.getPhysicalWidthDpi() ;
+            int hdpi = info.getPhysicalHeightDpi();
+            System.out.println("DPI: " + info.getPhysicalWidthDpi());
+            //璁$畻fileNumber
+            Long fileNumber = documentMaterialsService.getFiNum(nam);
+            //璁$畻sizeType
+            String sizeType = getPageSize(wid*hei);
+            //鎻掑叆鏁版嵁搴撳搴旂殑url褰撲腑
+            documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi,  sz, fileName, pname);
+//            System.out.println(url);
+//            System.out.println(fileName);
+            ajax.put("fileName", fileName);
+//            System.out.println(FileUtils.getName(fileName));
+            ajax.put("newFileName", FileUtils.getName(fileName));
+            ajax.put("originalFilename", file.getOriginalFilename());
+            return ajax;
+        }
+        catch (Exception e)
+        {
+            System.out.println(e);
+            return AjaxResult.error(e.getMessage());
+        }
+    }
+
+
+    @Log(title = "妗f璇︾粏淇℃伅璁板綍瀵煎叆", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(@RequestParam("file") MultipartFile file, @RequestParam("recordId")String recordId) throws Exception
+    {
+        System.out.println(file);
+        return documentMaterialsService.importExcel(file, recordId);
+    }
+
+    @PostMapping("/model")
+    public void getExportModel(HttpServletResponse response){
+        List<DocumentMaterialFileSmallVo> list = Collections.singletonList(new DocumentMaterialFileSmallVo());
+        ExcelUtil<DocumentMaterialFileSmallVo> util = new ExcelUtil<>(DocumentMaterialFileSmallVo.class);
+        util.exportExcel(response,list,"妗f璇︾粏淇℃伅瀵煎叆妯℃澘");
+    }
 }

--
Gitblit v1.9.1