Commit c410f4fa by landerliang@163.com

修复自动扫描不到未上传的检测报告问题,以及给自动签章上传的方法加上异步注解,修改了上传其他文件的后缀

parent ce3fa1f0
......@@ -23,26 +23,26 @@ public class MyConstants {
/**
* 身份证文件名后缀
*/
public static final String IDCARD_SUFFIX = "_1.jpg";
public static final String IDCARD_SUFFIX = "_sfz.jpg";
/**
* 申请表文件后缀
* 检测申请表文件后缀
*/
public static final String APPLY_SUFFIX = "_2.jpg";
public static final String APPLY_SUFFIX = "_jcsqb.jpg";
/**
* 维修凭证文件后缀
*/
public static final String CERTIFICATE_SUFFIX = "_3.jpg";
public static final String CERTIFICATE_SUFFIX = "_wxpz.jpg";
/**
* 行驶证1文件后缀
*/
public static final String DRIVER_SUFFIX1 = "_4.jpg";
public static final String DRIVER_SUFFIX1 = "_xsz1.jpg";
/**
* 行驶证2文件后缀
*/
public static final String DRIVER_SUFFIX2 = "_5.jpg";
public static final String DRIVER_SUFFIX2 = "_xsz2.jpg";
}
......@@ -3,10 +3,15 @@ package me.zhengjie.modules.system.domain.vo.report;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Lander
*/
@Data
public class ReportUploadReqVo {
@ApiModelProperty("检测报告pdf自增ID")
private Integer reportPdfId;
@ApiModelProperty("是否上传换检测报告 0-仅上传其他文件 1-连同检测报告一起上传")
private Integer type;
}
......@@ -43,7 +43,7 @@ public class ReportController {
@ApiOperation("上传车检文件")
/*@ApiOperation("上传车检文件")
@PostMapping(value = "/uploadReportFilesNotCertificate")
@ResponseBody
public ResultVo uploadReportFiles(@RequestParam(name = "reportFile")MultipartFile reportFile,
......@@ -69,8 +69,12 @@ public class ReportController {
multipartFiles.add(applyTable);
reportService.uploadReport(reportPdfId, multipartFiles);
return ResultVo.success();
}
@ApiOperation("上传车检文件")
}*/
/* @ApiOperation("上传车检文件")
@ResponseBody
@PostMapping(value = "/uploadReportFiles")
public ResultVo uploadReportFiles(@RequestParam(name = "reportFile")MultipartFile reportFile,
......@@ -98,7 +102,7 @@ public class ReportController {
multipartFiles.add(certificatePic);
reportService.uploadReport(reportPdfId, multipartFiles);
return ResultVo.success();
}
}*/
@ApiOperation("下载检测报告Base64文件")
......@@ -115,21 +119,22 @@ public class ReportController {
}
@ApiOperation("上传当前检测报告")
@GetMapping("/uploadCurrent/{reportPdfId}")
public ResultVo uploadCurrentReport(@PathVariable Integer reportPdfId){
AssertUtil.isNotNull(reportPdfId,"缺少参数reportPdfId");
reportService.uploadReport(reportPdfId,null);
@PostMapping("/uploadCurrent")
public ResultVo uploadCurrentReport(@RequestBody ReportUploadReqVo reqVo){
AssertUtil.isNotNull(reqVo.getReportPdfId(),"缺少参数reportPdfId");
AssertUtil.isNotNull(reqVo.getType(),"缺少参数type");
reportService.uploadReport(reqVo);
return ResultVo.success();
}
@ApiOperation("上传报告")
/*@ApiOperation("上传报告")
@PostMapping("/upload")
public ResultVo uploadReport(ReportUploadReqVo reqVo, @RequestParam(name = "files")List<MultipartFile> files){
AssertUtil.isNotNull(reqVo.getReportPdfId(),"缺少参数reportPdfId");
AssertUtil.isTrue(files.size()==4,"请按照提示选择文件上传");
reportService.uploadReport(reqVo.getReportPdfId(),files);
return ResultVo.success();
}
}*/
@ApiOperation("签章检测报告")
@PostMapping("/signature")
......
......@@ -30,6 +30,7 @@ import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Async;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
......@@ -82,21 +83,6 @@ public class ReportService {
this.taskErrorMapper = taskErrorMapper;
}
//调试用
static {
reportVoList = Arrays.asList(
TestReportVo.builder().InspectionNum("450107690120200529155024739")
.BusinessKey("450107690120200529155024739")
.VIN("2142435346475678")
.IUIDATE("2020-06-13 11:07:12.2345")
.ESignNo("1000001").DetectStartTime("2020-06-13T10:38:07").DetectEndTime("2020-06-13T12:38:07")
.InspectionReportNo("450107690120200529155024739").IUTYPE("A").NewVDCT("1").PDFCount("4").siteName("金盾西乡塘检测站")
.SceneCode("1231").UniqueString("450107690120200529155024739").VDCT("1").VehicleID("1231313213123").VerifyResult("1").VLPN("测试11111").VLPNColor("蓝")
.StationCode("4501001").build()
);
}
/**
* 获取上传文件显示页面
......@@ -125,13 +111,16 @@ public class ReportService {
/**
* 自动下载检测报告并签章上传
*
*/
@Async
public void autoDownloadAndSignAndUploadReport(String account,String password,String snKey1,String snKey2,String snKey3,
String snName1,String snName2,String snName3){
try {
List<TestReportVo> testReportVos = carReportUtil.taskReportList(account, password);
log.info(">> 定时扫描未签章上传的检测报告,扫描结果:{} 条数据",testReportVos.size());
for(TestReportVo testReportVo:testReportVos){
//根据报告编码查询数据库是否已下载 未下载则进行自动下载签章和上传
ReportPdfVo reportPdfVo = reportPdfMapper.selectOne(new QueryWrapper<ReportPdfVo>().lambda().eq(ReportPdfVo::getReportNum, testReportVo.getInspectionNum()));
......@@ -182,14 +171,14 @@ public class ReportService {
ReportPdfVo reportPdfVos = JSONUtil.toBean(JSONUtil.toJsonPrettyStr(responseEntity.getBody().getData()), ReportPdfVo.class);
reportPdfMapper.updateById(reportPdfVos);
//上传文件
carReportUtil.uploadReportPost(account,password,reportPdfVo,signatureVo1.getDeptId());
//上传文件 (连同检测报告全部文件)
carReportUtil.autoUploadReportPost(account,password,reportPdfVo,signatureVo1.getDeptId());
}
}
} catch (Exception e) {
e.printStackTrace();
//记录错误信息
log.error(e.getCause().getMessage());
log.error(e.getLocalizedMessage());
TaskErrorVo taskErrorVo = new TaskErrorVo();
taskErrorVo.setCreateTime(DateUtil.date());
taskErrorVo.setErrMsg(e.getCause().getMessage()==null?e.getMessage():e.getCause().getMessage());
......@@ -230,37 +219,12 @@ public class ReportService {
/**
* 上传检测报告以及其他文件到公安
* @param reportPdfId
* @param files
*/
public void uploadReport(Integer reportPdfId, List<MultipartFile> files){
ReportPdfVo reportPdfVo = reportPdfMapper.selectById(reportPdfId);
public void uploadReport(ReportUploadReqVo reqVo){
ReportPdfVo reportPdfVo = reportPdfMapper.selectById(reqVo.getReportPdfId());
AssertUtil.isNotNull(reportPdfVo,"不存在该检测报告,请刷新页面");
DeptVo currUserDept = getCurrUserDept();
List<String> filePath=new ArrayList<>();
try {
/*int i =0;
for (MultipartFile file : files) {
String reportPath = carReportUtil.getReportPath(reportPdfVo.getReportNum() + "_" + i , ".jpg");
if(FileUtil.exist(reportPath)){
FileUtil.del(reportPath);
}
FileUtil.writeBytes(file.getBytes(),reportPath);
filePath.add(reportPath);
i++;
}*/
//carReportUtil.uploadReport(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo);
carReportUtil.uploadReportPost(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo,currUserDept.getDeptId());
} catch (Exception e) {
throw new BusinessException(e.getLocalizedMessage());
} finally {
//删除刚才保存的文件
filePath.forEach(path -> {
FileUtil.del(path);
});
}
carReportUtil.uploadReportPost(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo,currUserDept.getDeptId(),reqVo.getType());
}
......
......@@ -5,7 +5,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: prod
active: dev
jackson:
time-zone: GMT+8
data:
......
package me.zhengjie;
import cn.hutool.core.io.FileUtil;
import me.zhengjie.utils.DateUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@SpringBootTest
public class EladminSystemApplicationTests {
@Test
......@@ -17,6 +17,12 @@ public class EladminSystemApplicationTests {
System.out.println(DateUtil.fromTimeStamp(1592023087L).toString());
}
@Test
public void testFileExit() {
String filePath ="C:\\reptiles\\uploadPicture\\粤JHB607_jcsqb.jpg";
System.out.println(FileUtil.exist(filePath));
}
public static void main(String[] args) {
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment