提交 a12bb120 authored 作者: 133's avatar 133

修改workservice

上级 9c06afc9
...@@ -6,13 +6,15 @@ import com.itextpdf.text.Image; ...@@ -6,13 +6,15 @@ import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle; import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.pdf.PdfWriter;
import com.tykj.dev.config.swagger.AutoDocument; import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.file.service.UseReportFIleService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.MultipartRequest; import org.springframework.web.multipart.MultipartRequest;
...@@ -21,6 +23,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -21,6 +23,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.tykj.dev.device.file.entity.FileRet; import com.tykj.dev.device.file.entity.FileRet;
import java.io.*; import java.io.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -40,117 +43,42 @@ public class FileController { ...@@ -40,117 +43,42 @@ public class FileController {
public String url; public String url;
@Value("${preview.path}") @Value("${preview.path}")
public String preview; public String preview;
@Autowired
UseReportFIleService useReportFIleService;
/** /**
* 文件上传 * 文件上传
*/ */
@ApiOperation(value = "单文件上传")
@PostMapping("/upload") @PostMapping("/upload")
public ResponseEntity upload(HttpServletRequest request) { public ResponseEntity upload(HttpServletRequest request) {
MultipartRequest multiRequest = (MultipartRequest) request; MultipartRequest multiRequest = (MultipartRequest) request;
MultipartFile file = multiRequest.getFile("file"); MultipartFile file = multiRequest.getFile("file");
String originalFilename = file.getOriginalFilename(); return ResponseEntity.ok(fileUpload(file));
System.out.println(originalFilename);
File file1 = new File(url);
if (!file1.exists()) {
file1.mkdirs();
}
FileOutputStream fos = null;
InputStream inputStream = null;
OutputStream os = null;
String[] split = originalFilename.split("\\.");
String newName=UUID.randomUUID().toString()+"."+split[split.length-1];
byte[] typeByte = new byte[1024*1024*10];
try {
inputStream = file.getInputStream();
fos = new FileOutputStream(url+newName);
int i = 0;
while((i=inputStream.read(typeByte))!=-1){
fos.write(typeByte,0,i);
}
fos.flush();
} catch (IOException e) {
e.printStackTrace();
}
if(inputStream!=null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
inputStream = null;
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
fos = null;
}
}
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
os = null;
}
}
return ResponseEntity.ok(new FileRet(originalFilename,url+newName,preview+newName));
} }
/** /**
* 文件下载 * 文件下载
*/ */
@PostMapping("/download") @ApiOperation(value = "文件下载")
public void download(@RequestBody FileRet fileRet, HttpServletResponse response, HttpServletRequest httpServletRequest){ @GetMapping("/download")
String fileName = fileRet.getName(); public void download(@RequestParam String url,@RequestParam String name,HttpServletResponse response, HttpServletRequest httpServletRequest){
response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/octet-stream");
try {
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
setFileDownloadHeader(httpServletRequest, response, fileName); }
OutputStream os = null;
InputStream is = null; @ApiOperation(value = "多文件上传")
BufferedInputStream bs = null; @PostMapping(value = "/many/upload")
byte[] buffer = new byte[1024]; public ResponseEntity<List<FileRet>> manyFileUpload(HttpServletRequest request) {
try { List<FileRet> fileRets=new ArrayList<>();
is = new FileInputStream(new File(fileRet.getFilePath())); List<MultipartFile> multipartFiles = ((MultipartHttpServletRequest) request).getFiles("file");
bs = new BufferedInputStream(is); for (MultipartFile file : multipartFiles) {
os = response.getOutputStream(); fileRets.add(fileUpload(file));
int i = bs.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bs.read(buffer);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bs.close();
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
return ResponseEntity.ok(fileRets);
} }
@ApiOperation(value = "上传图片转pdf")
@PostMapping("/print/pdf") @PostMapping("/print/pdf")
public ResponseEntity fileUpload(HttpServletRequest request) throws IOException, DocumentException { public ResponseEntity fileUpload(HttpServletRequest request) throws IOException, DocumentException {
...@@ -187,24 +115,64 @@ public class FileController { ...@@ -187,24 +115,64 @@ public class FileController {
return ResponseEntity.ok(new FileRet("",url+"print/"+fileName+fileName,preview+"print/"+fileName)); return ResponseEntity.ok(new FileRet("",url+"print/"+fileName+fileName,preview+"print/"+fileName));
} }
/**
* 解决中文名称
*/ private FileRet fileUpload(MultipartFile file){
private void setFileDownloadHeader(HttpServletRequest request, HttpServletResponse response, String fileName) { String originalFilename = file.getOriginalFilename();
System.out.println(originalFilename);
File file1 = new File(url);
if (!file1.exists()) {
file1.mkdirs();
}
FileOutputStream fos = null;
InputStream inputStream = null;
OutputStream os = null;
String[] split = originalFilename.split("\\.");
String newName=UUID.randomUUID().toString()+"."+split[split.length-1];
byte[] typeByte = new byte[1024*1024*10];
try { try {
//中文文件名支持 inputStream = file.getInputStream();
String encodedfileName; fos = new FileOutputStream(url+newName);
String agent = request.getHeader("USER-AGENT"); int i = 0;
if (null != agent && agent.contains("MSIE")) {//IE while((i=inputStream.read(typeByte))!=-1){
encodedfileName = java.net.URLEncoder.encode(fileName, "UTF-8"); fos.write(typeByte,0,i);
} else if (null != agent && agent.contains("Mozilla")) {
encodedfileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
} else {
encodedfileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} }
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\""); fos.flush();
} catch (UnsupportedEncodingException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
if(inputStream!=null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
inputStream = null;
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
fos = null;
}
}
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
os = null;
}
}
return new FileRet(originalFilename,url+newName,preview+newName);
} }
} }
package com.tykj.dev.device.file.service.Impl; package com.tykj.dev.device.file.service.Impl;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFParagraph;
...@@ -8,8 +9,12 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -8,8 +9,12 @@ import org.springframework.beans.factory.annotation.Value;
import com.tykj.dev.device.file.entity.WrodParameter; import com.tykj.dev.device.file.entity.WrodParameter;
import com.tykj.dev.device.file.service.UseReportFIleService; import com.tykj.dev.device.file.service.UseReportFIleService;
import java.io.FileOutputStream; import org.springframework.stereotype.Service;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.UUID;
/** /**
* @author zjm * @author zjm
...@@ -18,13 +23,15 @@ import java.io.IOException; ...@@ -18,13 +23,15 @@ import java.io.IOException;
* @Description TODO * @Description TODO
* @createTime 2020年09月15日 19:33:00 * @createTime 2020年09月15日 19:33:00
*/ */
@Service
@Slf4j
public class UseReportFIleServiceImpl implements UseReportFIleService { public class UseReportFIleServiceImpl implements UseReportFIleService {
@Value("${file.path}") @Value("${file.path}")
public String url; public String url;
@Value("${preview.path}") @Value("${preview.path}")
public String preview; public String preview;
@Override @Override
public String findToFileService(WrodParameter wrodParameter) throws IOException { public void findToFileService(WrodParameter wrodParameter, HttpServletResponse response, HttpServletRequest httpServletRequest) throws IOException {
XWPFDocument doc = new XWPFDocument();// 创建Word文件 XWPFDocument doc = new XWPFDocument();// 创建Word文件
XWPFParagraph p = doc.createParagraph();// 新建一个段落 XWPFParagraph p = doc.createParagraph();// 新建一个段落
// p.setAlignment(ParagraphAlignment.CENTER);// 设置段落的对齐方式 // p.setAlignment(ParagraphAlignment.CENTER);// 设置段落的对齐方式
...@@ -76,12 +83,111 @@ public class UseReportFIleServiceImpl implements UseReportFIleService { ...@@ -76,12 +83,111 @@ public class UseReportFIleServiceImpl implements UseReportFIleService {
p.setAlignment(ParagraphAlignment.RIGHT); p.setAlignment(ParagraphAlignment.RIGHT);
XWPFRun title7 = p.createRun(); XWPFRun title7 = p.createRun();
title7.setText("2020年12月1日"); title7.setText("2020年12月1日");
String fileName=wrodParameter.getTitle1() +".doc";
url=url+UUID.randomUUID().toString()+".doc";
FileOutputStream out = new FileOutputStream(url+wrodParameter.getTitle1()+".doc"); FileOutputStream out = new FileOutputStream(url);
doc.write(out); doc.write(out);
out.close(); out.close();
return preview+wrodParameter.getTitle1()+".doc"; response.setContentType("application/x-download");
try {
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
setFileDownloadHeader(httpServletRequest, response, fileName);
OutputStream os = null;
InputStream is = null;
BufferedInputStream bs = null;
byte[] buffer = new byte[1024];
try {
is = new FileInputStream(new File(url));
bs = new BufferedInputStream(is);
os = response.getOutputStream();
int i = bs.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bs.read(buffer);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bs.close();
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void download(String url, String name, HttpServletResponse response, HttpServletRequest httpServletRequest) {
String fileName =name;
log.info("---------");
// response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/x-download");
try {
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
setFileDownloadHeader(httpServletRequest, response, fileName);
OutputStream os = null;
InputStream is = null;
BufferedInputStream bs = null;
byte[] buffer = new byte[1024];
try {
is = new FileInputStream(new File(url));
bs = new BufferedInputStream(is);
os = response.getOutputStream();
int i = bs.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bs.read(buffer);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bs.close();
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} }
/**
* 解决中文名称
*/
private void setFileDownloadHeader(HttpServletRequest request, HttpServletResponse response, String fileName) {
try {
//中文文件名支持
String encodedfileName;
String agent = request.getHeader("USER-AGENT");
if (null != agent && agent.contains("MSIE")) {//IE
encodedfileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else if (null != agent && agent.contains("Mozilla")) {
encodedfileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
} else {
encodedfileName = java.net.URLEncoder.encode(fileName, "UTF-8");
}
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\"");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
} }
...@@ -2,8 +2,13 @@ package com.tykj.dev.device.file.service; ...@@ -2,8 +2,13 @@ package com.tykj.dev.device.file.service;
import com.tykj.dev.device.file.entity.WrodParameter; import com.tykj.dev.device.file.entity.WrodParameter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
public interface UseReportFIleService { public interface UseReportFIleService {
String findToFileService(WrodParameter wrodParameter) throws IOException; void findToFileService(WrodParameter wrodParameter, HttpServletResponse response, HttpServletRequest httpServletRequest) throws IOException;
void download(String url,String name,HttpServletResponse response, HttpServletRequest httpServletRequest);
} }
...@@ -338,6 +338,18 @@ ...@@ -338,6 +338,18 @@
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>config</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.tykj.dev</groupId>
<artifactId>union</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Spring Security Test --> <!-- Spring Security Test -->
<dependency> <dependency>
<groupId>org.springframework.security</groupId> <groupId>org.springframework.security</groupId>
......
...@@ -263,11 +263,13 @@ public class UserServiceImpl implements UserService { ...@@ -263,11 +263,13 @@ public class UserServiceImpl implements UserService {
HandoverUser handoverUser = userDao.findById(userId).get().toHandoverUserVo(); HandoverUser handoverUser = userDao.findById(userId).get().toHandoverUserVo();
Mgrcert mgrcert = mgrcertDao.findByUserId(userId); Mgrcert mgrcert = mgrcertDao.findByUserId(userId);
if (handoverUser.getTrainStatus()!=2) { if (handoverUser.getTrainStatus()!=2) {
handoverUser.setCertName(mgrcert.getCertName()); if (mgrcert!=null) {
handoverUser.setCertNum(mgrcert.getCertNum()); handoverUser.setCertName(mgrcert.getCertName());
handoverUser.setIssueDate(mgrcert.getIssueDate()); handoverUser.setCertNum(mgrcert.getCertNum());
handoverUser.setExpiryDate(mgrcert.getExpiryDate()); handoverUser.setIssueDate(mgrcert.getIssueDate());
handoverUser.setIsExpiry(mgrcert.getIsExpiry()); handoverUser.setExpiryDate(mgrcert.getExpiryDate());
handoverUser.setIsExpiry(mgrcert.getIsExpiry());
}
handoverUser.setUnitsName(unitsService.findById(handoverUser.getUnitsId()).getName()); handoverUser.setUnitsName(unitsService.findById(handoverUser.getUnitsId()).getName());
} }
return handoverUser; return handoverUser;
......
...@@ -78,11 +78,6 @@ ...@@ -78,11 +78,6 @@
<artifactId>rfid</artifactId> <artifactId>rfid</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.tykj.dev</groupId> <groupId>com.tykj.dev</groupId>
<artifactId>blockcha</artifactId> <artifactId>blockcha</artifactId>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论