Browse Source

增加预览附件和下载功能

java8
赵宏斌 8 months ago
parent
commit
87b1d22f9b
  1. 20
      src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java
  2. 2
      src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java
  3. 5
      src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java
  4. 41
      src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java
  5. 3
      src/main/resources/mapper/pms/EamProjectMapper.xml

20
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<SysOssEntity> 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();
}
}

2
src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java

@ -127,4 +127,6 @@ public interface EamProjectMapper {
List<EamProjectPartInfoData> searchMassProductionBomList(@Param("data")EamProjectPartInfoData inData);
List<EamProjectPartInfoData> searchRoutingList(@Param("data")EamProjectPartInfoData inData);
List<SysOssEntity> searchSysOssFileList(ProofDocumentData inData);
}

5
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<EamProjectPartInfoData> searchMassProductionBomList(EamProjectPartInfoData inData);
List<EamProjectPartInfoData> searchRoutingList(EamProjectPartInfoData inData);
List<SysOssEntity> getFileDataList(ProofDocumentData inData);
void previewEamProjectInfoForUploadFile(SysOssEntity inData, HttpServletResponse response) throws UnsupportedEncodingException;
}

41
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<SysOssEntity> getFileDataList(ProofDocumentData inData) {
List<SysOssEntity> 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<ProjectProductionValidationDocumentData> list) {
for (ProjectProductionValidationDocumentData inData : list) {

3
src/main/resources/mapper/pms/EamProjectMapper.xml

@ -594,6 +594,9 @@
<select id="searchRoutingList" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData">
{call dbo.rfq_get_fullRouting(#{data.site, mode=IN}, #{data.partNo, mode=IN})}
</select>
<select id="searchSysOssFileList" resultType="com.xujie.sys.modules.oss.entity.SysOssEntity">
select * from sys_oss where file_name = #{fileName}
</select>
<insert id="saveNewProjectPart" useGeneratedKeys="true" keyProperty="projectPartId">
INSERT INTO plm_project_part (
site,

Loading…
Cancel
Save