终端检测代码提交

This commit is contained in:
wurui
2023-03-20 14:05:17 +08:00
parent 196e599cd8
commit e13b18d6ff
3 changed files with 45 additions and 44 deletions

View File

@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.*;
import java.util.List; import java.util.List;
/** /**
@@ -124,8 +124,8 @@ public class PmsTerminalDetectionController extends BaseController {
} }
@ApiOperation("检测报告下载") @ApiOperation("检测报告下载")
@PostMapping(value = "/reportDownload") @GetMapping(value = "/reportDownload")
public InputStreamResource reportDownload(@RequestBody TerminalParam.DownloadParam param) throws IOException { public InputStreamResource reportDownload( TerminalParam.DownloadParam param) throws IOException {
InputStreamResource minIoUploadResDTO = pmsTerminalDetectionService.reportDownload(param); InputStreamResource minIoUploadResDTO = pmsTerminalDetectionService.reportDownload(param);
return minIoUploadResDTO; return minIoUploadResDTO;
} }

View File

@@ -1,8 +1,6 @@
package com.njcn.process.service; package com.njcn.process.service;
import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.minioss.bo.MinIoUploadResDTO;
import com.njcn.process.pojo.param.TerminalParam; import com.njcn.process.pojo.param.TerminalParam;
import com.njcn.process.pojo.po.PmsTerminalDetection; import com.njcn.process.pojo.po.PmsTerminalDetection;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@@ -12,7 +10,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.util.List; import java.util.List;
/** /**

View File

@@ -11,7 +11,6 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
@@ -44,11 +43,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream; import java.io.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
@@ -207,6 +202,19 @@ public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDete
//上传的文件名称 //上传的文件名称
String originalFilename = files[i].getOriginalFilename(); String originalFilename = files[i].getOriginalFilename();
if (StrUtil.isNotBlank(originalFilename)) { if (StrUtil.isNotBlank(originalFilename)) {
if(type==0){
//判断文件名称是否正确
boolean matches = Pattern.matches("^[A-Za-z0-9\\u4e00-\\u9fa5]*-原始数据报告.docx$",originalFilename );
if(!matches){
continue;
}
}else{
String time="[(]((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))[)]";
boolean matches1 = Pattern.matches("^[A-Za-z0-9\\u4e00-\\u9fa5]*-检测报告"+time+"$", originalFilename);
if(!matches1){
continue;
}
}
//获取编号 //获取编号
String terminalIds = originalFilename.substring(0, originalFilename.indexOf("-")); String terminalIds = originalFilename.substring(0, originalFilename.indexOf("-"));
//判断数据是否存在 //判断数据是否存在
@@ -231,8 +239,6 @@ public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDete
//传入的文件格式(终端编号-检测报告(2023-03-01).docx); //传入的文件格式(终端编号-检测报告(2023-03-01).docx);
if (fileName.substring(0, fileName.indexOf("(")).equals("检测报告")) { if (fileName.substring(0, fileName.indexOf("(")).equals("检测报告")) {
String nextInspectionTime = fileName.substring( fileName.indexOf("(") + 1, fileName.indexOf(")")); String nextInspectionTime = fileName.substring( fileName.indexOf("(") + 1, fileName.indexOf(")"));
boolean matches = Pattern.matches(PatternRegex.TIME_FORMAT, nextInspectionTime);
if (matches) {
//文件上传的地址 //文件上传的地址
String path = fileStorageUtil.uploadMultipart(files[i], OssPath.TEST_REPORT); String path = fileStorageUtil.uploadMultipart(files[i], OssPath.TEST_REPORT);
detection.setInspectionReport(path); detection.setInspectionReport(path);
@@ -242,7 +248,6 @@ public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDete
data.add(detection); data.add(detection);
} }
} }
}
} }
} }
@@ -298,16 +303,15 @@ public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDete
if (StrUtil.isBlank(terminal.getInspectionReport())) { if (StrUtil.isBlank(terminal.getInspectionReport())) {
throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_ERROR, "下载检测报告文件URL不存在请检查数据"); throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_ERROR, "下载检测报告文件URL不存在请检查数据");
} }
String fileUrl = fileStorageUtil.getFileUrl(terminal.getInspectionReport()); InputStream fileStream = fileStorageUtil.getFileStream(terminal.getOriginalReport());
URL url = new URL(fileUrl); return new InputStreamResource(fileStream);
return new InputStreamResource(url.openStream());
} }
if (StrUtil.isBlank(terminal.getOriginalReport())) { if (StrUtil.isBlank(terminal.getOriginalReport())) {
throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_ERROR, "下载原始数据报告文件URL不存在请检查数据"); throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_ERROR, "下载原始数据报告文件URL不存在请检查数据");
} }
String fileUrl = fileStorageUtil.getFileUrl(terminal.getOriginalReport()); InputStream fileStream = fileStorageUtil.getFileStream(terminal.getOriginalReport());
URL url = new URL(fileUrl);
return new InputStreamResource(url.openStream()); return new InputStreamResource(fileStream);
} }
@Override @Override