From ee98daf76231cb373d20803dfa1a309fefd82644 Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期四, 27 十一月 2025 23:33:07 +0800
Subject: [PATCH] 修改了对应代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java |   91 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 83 insertions(+), 8 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 5830c54..beff88c 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,14 +2,14 @@
 
 
 
+import java.awt.*;
 import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
+import java.io.*;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
@@ -23,6 +23,7 @@
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.domain.ArchiveCategory;
+import com.ruoyi.domain.ArchiveRecords;
 import com.ruoyi.domain.DocumentMaterials;
 import com.ruoyi.domain.vo.DocumentMaterialFileSmallVo;
 import com.ruoyi.framework.config.ServerConfig;
@@ -31,6 +32,7 @@
 import com.sun.xml.internal.ws.api.addressing.WSEndpointReference;
 import org.apache.commons.imaging.ImageInfo;
 import org.apache.commons.imaging.Imaging;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -62,6 +64,33 @@
     @Autowired
     private IDocumentMaterialsService documentMaterialsService;
 
+
+    /**
+     * 鍒ゆ柇PageNumber鏄惁杩炵画
+     */
+    @PreAuthorize("@ss.hasPermi('system:materials:list')")
+    @GetMapping("/isPageNubLegal/{recordId}")
+    public AjaxResult judgePageLegal(@PathVariable("recordId") Integer recordId)
+    {
+
+        boolean res = documentMaterialsService.isPageNumberIslegal(recordId);
+        int cnt = documentMaterialsService.getFileCount(recordId);
+        HashMap<String, Object> data = new HashMap<>();
+        data.put("res",res);
+        data.put("total",cnt);
+        return AjaxResult.success(data);
+    }
+    /**
+     * 鎷垮埌闄や簡鍏跺畠绫诲瀷鏉愭枡鐨勪釜鏁�
+     */
+    @PreAuthorize("@ss.hasPermi('system:materials:list')")
+    @GetMapping("/getFileCount/{recordId}")
+    public AjaxResult getFileCount(@PathVariable("recordId") Integer recordId)
+    {
+
+        int cnt = documentMaterialsService.getFileCount(recordId);
+        return AjaxResult.success(cnt);
+    }
     /**
      * 鏌ヨ銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
      */
@@ -69,7 +98,6 @@
     @GetMapping("/list")
     public AjaxResult list(DocumentMaterials documentMaterials)
     {
-
         Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
         Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
         return documentMaterialsService.selectDataList(documentMaterials, pageNum, pageSize);
@@ -81,9 +109,17 @@
     @PreAuthorize("@ss.hasPermi('system:materials:export')")
     @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, DocumentMaterials documentMaterials)
+    public void export(HttpServletResponse response, DocumentMaterials documentMaterials, @RequestParam(value = "ids", required = false) Long[] ids)
     {
-        List<DocumentMaterials> list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
+        List<DocumentMaterials> list;
+        System.out.println(ids);
+        // 濡傛灉鎻愪緵浜唅ds鍙傛暟锛屽垯鏍规嵁ids瀵煎嚭鎸囧畾璁板綍
+        if (ids != null && ids.length > 0) {
+            list = documentMaterialsService.selectDocumentMaterialsByIds(ids);
+        } else {
+            list = documentMaterialsService.selectDocumentMaterialsList(documentMaterials);
+
+        }
         ExcelUtil<DocumentMaterials> util = new ExcelUtil<DocumentMaterials>(DocumentMaterials.class);
         util.exportExcel(response, list, "銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戞暟鎹�");
     }
@@ -178,10 +214,11 @@
             else{
                 if(doc.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
                 {
+
                     //鏇挎崲涓轰簡鍑嗗濂界殑鍥惧儚
                     //璇诲彇鏈嶅姟鍣ㄤ笂鐨勫浘鍍�
                  //   new InputStream();
-                    String fp = filePath + "\\0071.jpg";
+                    String fp = filePath + "\\glc.jpg";
                     Path path = Paths.get(fp);
                     File fil = new File(fp);
                     //鎷垮埌鍥惧儚灞炴��
@@ -204,8 +241,44 @@
                     Long fileNumber = documentMaterialsService.getFiNum(nam,recordId);
                     //璁$畻sizeType
                     String sizeType = getPageSize(wid*hei);
+
+
+                    Graphics2D g2d = bufferedImage.createGraphics(); // 鑾峰彇Graphics2D瀵硅薄鐢ㄤ簬缁樺埗
+                    g2d.setFont(new Font("Arial", Font.BOLD, 80)); // 璁剧疆瀛椾綋鏍峰紡鍜屽ぇ灏�
+                    g2d.setColor(Color.black); // 璁剧疆瀛椾綋棰滆壊涓虹櫧鑹诧紝鍙牴鎹渶瑕佽皟鏁撮鑹插拰瀛椾綋鏍峰紡
+                    String pageNumber =      doc.getPageNumber()+""; // 椤电爜瀛楃涓诧紝鍙互鏍规嵁闇�瑕佷慨鏀规垨鍔ㄦ�佺敓鎴�
+                    int fontHeight = g2d.getFontMetrics().getHeight(); // 鑾峰彇瀛椾綋楂樺害锛岀敤浜庡畾浣嶆枃鏈綅缃�
+                    int x = bufferedImage.getWidth() - g2d.getFontMetrics().stringWidth(pageNumber) - 80; // 璁$畻鏂囨湰X鍧愭爣浣嶇疆锛岀‘淇濆湪鍙充笅瑙掗檮杩�
+                    int y = bufferedImage.getHeight() - fontHeight / 2 - 100; // 璁$畻鏂囨湰Y鍧愭爣浣嶇疆锛屽瀭鐩村眳涓樉绀烘枃鏈�
+                    g2d.drawString(pageNumber, x, y); // 鍦ㄥ浘鐗囦笂缁樺埗椤电爜鏂囨湰
+
+
+                    System.out.println(pageNumber+"[[[[[[[[[[[[[[[");
+                    g2d.dispose(); // 閲婃斁Graphics2D璧勬簮
+//                    File outputFile = new File(filePath+"/output_image.jpg"); // 杈撳嚭鏂囦欢璺緞
+//                    ImageIO.write(bufferedImage, "jpg", outputFile); // 淇�
+                    //寰楀埌BufferedImage瀵硅薄
+                    MultipartFile multipartFile = null;
+                    try {
+                        //鍒涘缓涓�涓狟yteArrayOutputStream
+                        ByteArrayOutputStream os = new ByteArrayOutputStream();
+                        //鎶夿ufferedImage鍐欏叆ByteArrayOutputStream
+                        ImageIO.write(bufferedImage, "jpg", os);
+                        //ByteArrayOutputStream杞垚InputStream
+                        InputStream input = new ByteArrayInputStream(os.toByteArray());
+                        //InputStream杞垚MultipartFile
+                        multipartFile = new MockMultipartFile(pageNumber, pageNumber+".jpg", "text/plain", input);
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+
+                    // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
+                    String fileName1 = FileUploadUtils.upload(filePath, multipartFile);
+                    String url1 = serverConfig.getUrl() + fileName;
+
+
                     String us = "/profile/upload/0071.jpg";
-                    documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi,  sz, us, "jpg", recordId);
+                    documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi,  sz, fileName1, "jpg", recordId);
 
 
                 }
@@ -267,4 +340,6 @@
         ExcelUtil<DocumentMaterialFileSmallVo> util = new ExcelUtil<>(DocumentMaterialFileSmallVo.class);
         util.exportExcel(response,list,"妗f璇︾粏淇℃伅瀵煎叆妯℃澘");
     }
+
+    //瀵煎嚭material
 }

--
Gitblit v1.9.1