From 5e1e1b7799f57508521a5cfafc2ef392a3eda87b Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期五, 10 十月 2025 23:16:05 +0800
Subject: [PATCH] 修改了对应的代码
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java | 160 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 119 insertions(+), 41 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 9e13d7e..5830c54 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
@@ -4,6 +4,12 @@
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
import java.util.List;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
@@ -16,22 +22,18 @@
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.framework.web.domain.server.Sys;
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;
@@ -45,7 +47,7 @@
import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
/**
- * 銆愯濉啓鍔熻兘鍚嶇О銆慍ontroller
+ * 銆愭枃浠舵潗鏂欑患鍚堜俊鎭�慍ontroller
*
* @author ruoyi
* @date 2025-07-28
@@ -61,7 +63,7 @@
private IDocumentMaterialsService documentMaterialsService;
/**
- * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ * 鏌ヨ銆愭枃浠舵潗鏂欑患鍚堜俊鎭�戝垪琛�
*/
@PreAuthorize("@ss.hasPermi('system:materials:list')")
@GetMapping("/list")
@@ -74,20 +76,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}")
@@ -97,10 +99,10 @@
}
/**
- * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ * 鏂板銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
*/
@PreAuthorize("@ss.hasPermi('system:materials:add')")
- @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.INSERT)
+ @Log(title = "銆愭枃浠舵潗鏂欑患鍚堜俊鎭��", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DocumentMaterials documentMaterials)
{
@@ -110,12 +112,12 @@
}
/**
- * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ * 淇敼銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
*
* 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)
{
@@ -123,19 +125,32 @@
}
/**
- * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ * 鍒犻櫎銆愭枃浠舵潗鏂欑患鍚堜俊鎭��
*/
@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
+ @PostMapping("/upload/{recordId}")
+ public AjaxResult uploadFile(MultipartFile file, @PathVariable Long recordId) throws Exception
{
// System.out.println("sdfd9999999999999999999999999999999");
try
@@ -154,28 +169,75 @@
//鍒嗗壊鏂囦欢鍚�
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淇℃伅
+ //鏍规嵁椤靛彿鎷垮埌妗堝嵎鐨勮缁嗕俊鎭�
+ System.out.println("0-------------");
+ System.out.println(recordId);
+ DocumentMaterials doc = documentMaterialsService.selectByPageNumber(nam, Math.toIntExact(recordId));
+ if(doc==null)
+ return AjaxResult.error("鏃犲搴旈〉鍙凤紝璇锋鏌ユ竻妤氶檮浠朵互鍙婂搴旂殑杈撳叆锛�");
+ else{
+ if(doc.getSecurityLevel().equals("璇ラ〉鍙﹀瓨"))
+ {
+ //鏇挎崲涓轰簡鍑嗗濂界殑鍥惧儚
+ //璇诲彇鏈嶅姟鍣ㄤ笂鐨勫浘鍍�
+ // new InputStream();
+ String fp = filePath + "\\0071.jpg";
+ Path path = Paths.get(fp);
+ File fil = new File(fp);
+ //鎷垮埌鍥惧儚灞炴��
+ BufferedImage bufferedImage = ImageIO.read(Files.newInputStream(path));
+ int wid = bufferedImage.getWidth();
+ int hei = bufferedImage.getHeight();
+ double sz = Double.parseDouble(String.format("%.2f", Files.size(path)*1.0/1024));
+ System.out.println("ddsdsdsd");
+ System.out.println(wid+":"+hei+":"+sz);
- ImageInfo info = Imaging.getImageInfo(file.getBytes());
+ //鎷垮埌鍥惧儚鐨刣pi淇℃伅
+
+ ImageInfo info = Imaging.getImageInfo(Files.readAllBytes(path));
- int wdpi = info.getPhysicalWidthDpi() ;
- int hdpi = info.getPhysicalHeightDpi();
- System.out.println("DPI: " + info.getPhysicalWidthDpi());
- //璁$畻fileNumber
- Long fileNumber = documentMaterialsService.getFiNum(nam);
- //鎻掑叆鏁版嵁搴撳搴旂殑url褰撲腑
- documentMaterialsService.updateByPageNumber(nam, fileNumber,wid, hei,wdpi, hdpi, sz, fileName, pname);
-// System.out.println(url);
+ int wdpi = info.getPhysicalWidthDpi() ;
+ int hdpi = info.getPhysicalHeightDpi();
+ System.out.println("DPI: " + info.getPhysicalWidthDpi());
+ //璁$畻fileNumber
+ Long fileNumber = documentMaterialsService.getFiNum(nam,recordId);
+ //璁$畻sizeType
+ String sizeType = getPageSize(wid*hei);
+ String us = "/profile/upload/0071.jpg";
+ documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi, sz, us, "jpg", recordId);
+
+
+ }
+ else
+ {
+ //鏂囦欢鍚嶇О
+ 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, recordId);
+ //璁$畻sizeType
+ String sizeType = getPageSize(wid*hei);
+ //鎻掑叆鏁版嵁搴撳搴旂殑url褰撲腑
+ documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi, sz, fileName, pname, recordId);
+//
+ }
+ }
+ System.out.println(url);
// System.out.println(fileName);
ajax.put("fileName", fileName);
// System.out.println(FileUtils.getName(fileName));
@@ -189,4 +251,20 @@
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