From 87b1d22f9bf88f56373a55d7b7e6ba17491153f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=AE=8F=E6=96=8C?= <2164406372@qq.com> Date: Fri, 5 Dec 2025 16:48:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A2=84=E8=A7=88=E9=99=84?= =?UTF-8?q?=E4=BB=B6=E5=92=8C=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/controller/EamProjectController.java | 20 +++++++++ .../modules/pms/mapper/EamProjectMapper.java | 2 + .../pms/service/EamProjectService.java | 5 +++ .../service/Impl/EamProjectServiceImpl.java | 41 +++++++++++++++++++ .../resources/mapper/pms/EamProjectMapper.xml | 3 ++ 5 files changed, 71 insertions(+) diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java b/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java index 50931e13..8d9721b5 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.mail.MessagingException; +import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.util.List; @@ -457,4 +458,23 @@ public class EamProjectController { return R.ok().put("list", list); } + @PostMapping("/selectFileDataList") + @ResponseBody + public R selectFileDataList(@RequestBody ProofDocumentData inData) { + List list = eamProjectService.getFileDataList(inData); + return R.ok().put("list", list); + } + + @PostMapping("/previewEamProjectInfoForUploadFile") + @ResponseBody + public R previewEamProjectInfoForUploadFile(@RequestBody SysOssEntity inData, HttpServletResponse response) throws UnsupportedEncodingException { + try{ + eamProjectService.previewEamProjectInfoForUploadFile(inData, response); + }catch (Exception e){ + e.printStackTrace(); + return R.error().put("msg",e.getMessage()); + } + return R.ok(); + } + } diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java index 416090fb..96e845a1 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java @@ -127,4 +127,6 @@ public interface EamProjectMapper { List searchMassProductionBomList(@Param("data")EamProjectPartInfoData inData); List searchRoutingList(@Param("data")EamProjectPartInfoData inData); + + List searchSysOssFileList(ProofDocumentData inData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java b/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java index abb67b6b..42eae122 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java @@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.web.multipart.MultipartFile; import javax.mail.MessagingException; +import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.util.List; @@ -86,4 +87,8 @@ public interface EamProjectService { List searchMassProductionBomList(EamProjectPartInfoData inData); List searchRoutingList(EamProjectPartInfoData inData); + + List getFileDataList(ProofDocumentData inData); + + void previewEamProjectInfoForUploadFile(SysOssEntity inData, HttpServletResponse response) throws UnsupportedEncodingException; } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java index c9a2d6c0..4abbce4f 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java @@ -41,7 +41,10 @@ import org.springframework.web.multipart.MultipartFile; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.net.URLEncoder; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; @@ -422,6 +425,44 @@ public class EamProjectServiceImpl implements EamProjectService { return list; } + @Override + public List getFileDataList(ProofDocumentData inData) { + List fileList = EamProjectMapper.searchSysOssFileList(inData); + return fileList; + } + + @Override + public void previewEamProjectInfoForUploadFile(SysOssEntity inData, HttpServletResponse response) throws UnsupportedEncodingException { + String url = inData.getUrl(); + // 创建文件对象 + File file = new File(url); + if (!file.exists()) { + throw new IllegalArgumentException("文件不存在"); + } + + String encodedFileName = URLEncoder.encode("sop", "UTF-8"); + // 设置响应头 + response.setContentType("application/pdf;charset=utf-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName); + + try (FileInputStream fis = new FileInputStream(file); + BufferedInputStream bis = new BufferedInputStream(fis); + ServletOutputStream os = response.getOutputStream()) { + + byte[] buffer = new byte[1024]; + int bytesRead; + + // 循环读取文件内容并写入到响应流中 + while ((bytesRead = bis.read(buffer)) != -1) { + os.write(buffer, 0, bytesRead); + } + + } catch (IOException e) { + throw new RuntimeException("文件下载失败", e); + } + + } + @Override public boolean checkProductionValidationDocument(List list) { for (ProjectProductionValidationDocumentData inData : list) { diff --git a/src/main/resources/mapper/pms/EamProjectMapper.xml b/src/main/resources/mapper/pms/EamProjectMapper.xml index 084daaea..86a185d3 100644 --- a/src/main/resources/mapper/pms/EamProjectMapper.xml +++ b/src/main/resources/mapper/pms/EamProjectMapper.xml @@ -594,6 +594,9 @@ + INSERT INTO plm_project_part ( site,