Commit 6b245beb by landerliang@163.com

新增列表筛选未上传文件功能,以及上传文件时保存上传记录

parent 98157e7d
......@@ -19,25 +19,21 @@ public class MyConstants {
//////// 约定的上传检测报告的其他文件以 车牌号 + 文件名称的后缀 .jpg 来扫描
/**
* 车牌号文件后缀
*/
public static final String CARNUM_SUFFIX = "_1.jpg";
/**
* 身份证文件名后缀
*/
public static final String IDCARD_SUFFIX = "_2.jpg";
public static final String IDCARD_SUFFIX = "_1.jpg";
/**
* 申请表文件后缀
*/
public static final String APPLY_SUFFIX = "_3.jpg";
public static final String APPLY_SUFFIX = "_2.jpg";
/**
* 维修凭证文件后缀
*/
/*public static final String CERTIFICATE_SUFFIX = "_4.jpg";*/
public static final String CERTIFICATE_SUFFIX = "_3.jpg";
/**
* 行驶证1文件后缀
......
package me.zhengjie.modules.system.domain.vo.upload;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 上传文件查看页内容实体vo
* @author Lander
*/
@Data
public class UploadFileViewVo {
@ApiModelProperty("base64文件流")
private String fileBase64;
@ApiModelProperty("上传者")
private String uploader;
@ApiModelProperty("上传时间")
private String uploadTime;
@ApiModelProperty("文件类型")
private String fileType;
}
package me.zhengjie.modules.system.domain.vo.upload;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Lander
*/
@Data
public class UploadRecordPageReqVo {
@ApiModelProperty("页码")
private Integer page;
@ApiModelProperty("每页显示条数 默认10")
private Integer size = 10;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("检测报告编号")
private String reportNum;
@ApiModelProperty("部门编号")
private Long deptId;
@ApiModelProperty("上传状态 0-失败 1-成功")
private Integer state;
@ApiModelProperty("文件类型 0-检测报告 1-检测申请表 2-身份证 3-行驶证1 4-行驶证2 5-维修凭证")
private Integer fileType;
@ApiModelProperty("记录起始时间")
private Date startTime;
@ApiModelProperty("记录截止时间")
private Date endTime;
}
package me.zhengjie.modules.system.domain.vo.upload;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 上传记录vo
* @author Lander
*/
@TableName("t_upload_record")
@Data
public class UploadRecordVo {
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("部门id")
private Long deptId;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("检测报告编号")
private String reportNum;
@ApiModelProperty("业务key")
private String businessKey;
@ApiModelProperty("上传状态 0-失败 1-成功")
private Integer state;
@ApiModelProperty("记录时间")
private Date createTime;
@ApiModelProperty("文件路径")
private String path;
@ApiModelProperty("上传文件类型 0-检测报告 1-检测申请表 2-身份证 3-行驶证1 4-行驶证2 5-维修凭证")
private Integer fileType;
@TableField(exist = false)
@ApiModelProperty("文件base64流")
private String fileBase64Code;
}
package me.zhengjie.modules.system.repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordVo;
import org.springframework.stereotype.Repository;
/**
* t_upload_record mapper
* @author Lander
*/
@Repository
public interface UploadRecordMapper extends BaseMapper<UploadRecordVo> {
}
package me.zhengjie.modules.system.rest;
import cn.hutool.http.server.HttpServerRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import me.zhengjie.base.ResultVo;
import me.zhengjie.modules.system.domain.vo.IdListVo;
import me.zhengjie.modules.system.domain.vo.report.*;
import me.zhengjie.modules.system.domain.vo.signature.SignReportVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadFileViewVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordPageReqVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordVo;
import me.zhengjie.modules.system.service.ReportService;
import me.zhengjie.modules.system.service.UploadRecordService;
import me.zhengjie.utils.AssertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
......@@ -32,10 +33,12 @@ import java.util.Map;
public class ReportController {
private final ReportService reportService;
private final UploadRecordService uploadRecordService;
@Autowired
public ReportController(ReportService reportService) {
public ReportController(ReportService reportService, UploadRecordService uploadRecordService) {
this.reportService = reportService;
this.uploadRecordService = uploadRecordService;
}
......@@ -142,9 +145,9 @@ public class ReportController {
@ApiOperation("检测报告详情")
public ResultVo<ReportPdfVo> signatureReport(@RequestBody ReportDetailsReqVo detailsReqVo){
AssertUtil.isNotBlank(detailsReqVo.getCarNum(),"缺少参数车牌号");
AssertUtil.isNotBlank(detailsReqVo.getBusinessKey(),"缺少参数businessKey");
AssertUtil.isNotBlank(detailsReqVo.getUniqueString(),"缺少参数uniqueString");
AssertUtil.isNotBlank(detailsReqVo.getVehicleId(),"缺少参数vehicleId");
//AssertUtil.isNotBlank(detailsReqVo.getBusinessKey(),"缺少参数businessKey");
//AssertUtil.isNotBlank(detailsReqVo.getUniqueString(),"缺少参数uniqueString");
//AssertUtil.isNotBlank(detailsReqVo.getVehicleId(),"缺少参数vehicleId");
AssertUtil.isNotBlank(detailsReqVo.getReportNum(),"缺少参数检测报告编号");
AssertUtil.isNotNull(detailsReqVo.getStartTime(),"缺少参数开始检测时间");
AssertUtil.isNotNull(detailsReqVo.getEndTime(),"缺少参数检测结束时间");
......@@ -160,9 +163,31 @@ public class ReportController {
@ApiOperation("查看上传文件个数")
@GetMapping("/showFiles/{businessKey}")
public ResultVo showFiles(@PathVariable String businessKey){
public ResultVo<List<UploadFileViewVo>> showFiles(@PathVariable String businessKey){
AssertUtil.isNotBlank(businessKey,"缺少参数businessKey");
return ResultVo.success(reportService.getUploadFileList(businessKey));
}
@ApiOperation("文件上传记录分页列表")
@PostMapping("/uploadRecord/page")
public ResultVo<IPage<UploadRecordVo>> uploadRecordPage(@RequestBody UploadRecordPageReqVo pageReqVo){
return ResultVo.success(uploadRecordService.pageList(pageReqVo));
}
@ApiOperation("根据id删除上传记录")
@GetMapping("/uploadRecord/delete/{id}")
public ResultVo deleteById(@PathVariable Integer id){
AssertUtil.isNotNull(id,"缺少参数id");
uploadRecordService.deleteByIdList(Arrays.asList(id));
return ResultVo.success();
}
@ApiOperation("根据id批量删除上传记录")
@PostMapping("/uploadRecord/deleteByIdList")
public ResultVo deleteByIdList(@RequestBody IdListVo idListVo){
AssertUtil.isTrue(idListVo!=null && idListVo.getIds().size()>0,"请选择至少一条记录");
uploadRecordService.deleteByIdList(idListVo.getIds());
return ResultVo.success();
}
}
......@@ -16,6 +16,7 @@ import me.zhengjie.modules.system.domain.vo.report.*;
import me.zhengjie.modules.system.domain.vo.signature.SignReportVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.domain.vo.task.TaskErrorVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadFileViewVo;
import me.zhengjie.modules.system.repository.DeptMapper;
import me.zhengjie.modules.system.repository.ReportPdfMapper;
import me.zhengjie.modules.system.repository.TaskErrorMapper;
......@@ -101,7 +102,7 @@ public class ReportService {
* @param businessKey
* @return
*/
public String getUploadFileList(String businessKey){
public List<UploadFileViewVo> getUploadFileList(String businessKey){
Long currentUserId = SecurityUtils.getCurrentUserId();
AssertUtil.isNotNull(currentUserId,"登录身份已失效请重新登录");
......@@ -110,14 +111,14 @@ public class ReportService {
DeptVo deptVo = deptMapper.getById(sysUserVo.getDeptId());
AssertUtil.isNotNull(deptVo,"查询不到当前用户的部门信息");
String s = null;
List<UploadFileViewVo> vo = null;
try {
s = carReportUtil.downloadUploadFilesView(deptVo.getEpAccount(), deptVo.getEpPassword(),businessKey);
vo = carReportUtil.downloadUploadFilesView(deptVo.getEpAccount(), deptVo.getEpPassword(),businessKey);
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException(e.getCause().getMessage());
}
return s;
return vo;
}
......@@ -181,7 +182,7 @@ public class ReportService {
reportPdfMapper.updateById(reportPdfVos);
//上传文件
carReportUtil.uploadReportPost(account,password,reportPdfVo);
carReportUtil.uploadReportPost(account,password,reportPdfVo,signatureVo1.getDeptId());
}
}
} catch (Exception e) {
......@@ -250,7 +251,7 @@ public class ReportService {
}*/
//carReportUtil.uploadReport(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo);
carReportUtil.uploadReportPost(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo);
carReportUtil.uploadReportPost(currUserDept.getEpAccount(),currUserDept.getEpPassword(),reportPdfVo,currUserDept.getDeptId());
} catch (Exception e) {
throw new BusinessException(e.getLocalizedMessage());
} finally {
......
package me.zhengjie.modules.system.service;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import me.zhengjie.modules.system.domain.vo.SysUserVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordPageReqVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordVo;
import me.zhengjie.modules.system.repository.UploadRecordMapper;
import me.zhengjie.modules.system.repository.UserMapper;
import me.zhengjie.utils.AssertUtil;
import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.stereotype.Service;
import sun.misc.BASE64Encoder;
import java.util.List;
import java.util.stream.Collectors;
/**
* 上传记录service
* @author Lander
*/
@Service
public class UploadRecordService {
private final UploadRecordMapper uploadRecordMapper;
private final UserMapper userMapper;
@Autowired
public UploadRecordService(UploadRecordMapper uploadRecordMapper, UserMapper userMapper) {
this.uploadRecordMapper = uploadRecordMapper;
this.userMapper = userMapper;
}
/**
* 根据id删除上传记录
* @param ids
*/
public void deleteByIdList(List<Integer> ids){
uploadRecordMapper.deleteBatchIds(ids);
}
/**
* 分页查询上传记录
* @param pageReqVo
* @return
*/
public IPage<UploadRecordVo> pageList(UploadRecordPageReqVo pageReqVo){
QueryWrapper<UploadRecordVo> queryWrapper = new QueryWrapper<>();
if(pageReqVo.getDeptId() != null){
queryWrapper.lambda().and(i -> i.eq(UploadRecordVo::getDeptId,pageReqVo.getDeptId()));
} else {
// 获取当前用户的所有权限
List<String> elPermissions = SecurityUtils.getCurrentUser().getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList());
if(!elPermissions.contains("admin")){
//非超级管理员只能查看自己部门
//为空则普通用户只能查询当前部门的上传记录
Long currentUserId = SecurityUtils.getCurrentUserId();
AssertUtil.isNotNull(currentUserId,"登录身份已失效请重新登录");
SysUserVo sysUserVo = userMapper.selectById(currentUserId);
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
queryWrapper.lambda().and(i -> {
i.eq(UploadRecordVo::getDeptId,sysUserVo.getDeptId());
});
}
}
//检索车牌号
if(StrUtil.isNotBlank(pageReqVo.getCarNum())){
queryWrapper.and(i -> i.lambda().eq(UploadRecordVo::getCarNum,pageReqVo.getCarNum()));
}
//检索检测报告编号
if(StrUtil.isNotBlank(pageReqVo.getReportNum())){
queryWrapper.and(i -> i.lambda().eq(UploadRecordVo::getReportNum,pageReqVo.getReportNum()));
}
//检索文件类型
if(pageReqVo.getFileType() != null){
queryWrapper.and(i -> i.lambda().eq(UploadRecordVo::getFileType,pageReqVo.getFileType()));
}
//上传状态
if(pageReqVo.getState() != null){
queryWrapper.and(i -> i.lambda().eq(UploadRecordVo::getState,pageReqVo.getState()));
}
//检索时间段
if(pageReqVo.getStartTime() != null && pageReqVo.getEndTime() != null){
queryWrapper.and(i -> i.lambda().between(UploadRecordVo::getCreateTime,pageReqVo.getStartTime(),pageReqVo.getEndTime()));
}
queryWrapper.lambda().orderByDesc(UploadRecordVo::getCreateTime);
Page<UploadRecordVo> uploadRecordVoPage = uploadRecordMapper.selectPage(new Page<>(pageReqVo.getPage(), pageReqVo.getSize()), queryWrapper);
uploadRecordVoPage.getRecords().forEach(uploadRecordVo -> {
if(FileUtil.exist(uploadRecordVo.getPath())){
BASE64Encoder encoder = new BASE64Encoder();
String reportBase64 = encoder.encode(FileUtil.readBytes(uploadRecordVo.getPath()));
uploadRecordVo.setFileBase64Code(reportBase64);
}
});
return uploadRecordVoPage;
}
/**
* 保存上传记录
* @param uploadRecordVo
*/
public void saveRecord(UploadRecordVo uploadRecordVo){
uploadRecordMapper.insert(uploadRecordVo);
}
}
package me.zhengjie.modules.system.util;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpStatus;
......@@ -16,22 +18,28 @@ import lombok.extern.slf4j.Slf4j;
import me.zhengjie.exception.BusinessException;
import me.zhengjie.modules.system.constants.MyConstants;
import me.zhengjie.modules.system.domain.vo.report.*;
import me.zhengjie.modules.system.domain.vo.upload.UploadFileViewVo;
import me.zhengjie.modules.system.domain.vo.upload.UploadRecordVo;
import me.zhengjie.modules.system.service.UploadRecordService;
import me.zhengjie.utils.AssertUtil;
import me.zhengjie.utils.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.openqa.selenium.*;
import org.jsoup.select.Elements;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.support.ui.Select;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import sun.misc.BASE64Encoder;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* 车检报告工具
......@@ -60,6 +68,9 @@ public class CarReportUtil {
@Value("${uploadFilePath}")
private String uploadFilePath;
@Autowired
private UploadRecordService uploadRecordService;
/**
* 爬取上传文件显示页
......@@ -67,7 +78,7 @@ public class CarReportUtil {
* @param password
* @return
*/
public String downloadUploadFilesView(String account,String password,String businessKey) throws InterruptedException {
public List<UploadFileViewVo> downloadUploadFilesView(String account, String password, String businessKey) throws InterruptedException {
WebDriver webDriver = loginEp(account, password, null);
Object[] cookies = webDriver.manage().getCookies().toArray();
......@@ -86,7 +97,25 @@ public class CarReportUtil {
body = body.replace("../../Scripts",host + "/Scripts")
.replace("../../Entities/",host + "/Entities/");
Document parse = Jsoup.parse(body);
return parse.toString();
Elements elementsByClass = parse.getElementsByClass("unit");
List<UploadFileViewVo> uploadFileViewVos=new ArrayList<>();
BASE64Encoder base64Encoder = new BASE64Encoder();
elementsByClass.forEach(element -> {
UploadFileViewVo uploadFileViewVo = new UploadFileViewVo();
Elements img = element.getElementsByTag("img");
String imgSrc = img.attr("src");
byte[] bytes = HttpUtil.createGet(imgSrc).execute().bodyBytes();
String picBase64 = base64Encoder.encode(bytes);
uploadFileViewVo.setFileBase64(picBase64);
Elements divList = element.getElementsByTag("div");
uploadFileViewVo.setUploader(divList.get(1).text());
uploadFileViewVo.setUploadTime(divList.get(2).text());
uploadFileViewVo.setFileType(divList.get(3).text());
uploadFileViewVos.add(uploadFileViewVo);
});
return uploadFileViewVos;
}
......@@ -120,10 +149,9 @@ public class CarReportUtil {
* @param password
* @param reportPdfVo
*/
public void uploadReportPost(String username, String password,ReportPdfVo reportPdfVo){
public void uploadReportPost(String username, String password,ReportPdfVo reportPdfVo,Long deptid){
//登录环保系统获取token
WebDriver driver = null;
try {
String errMsgList = "";
......@@ -150,9 +178,27 @@ public class CarReportUtil {
formData.put("params", "Submit Query");
formData.put("FileData", FileUtil.file(reportPdfVo.getPath()));
HttpResponse reportResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecordVo = new UploadRecordVo();
uploadRecordVo.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecordVo.setCarNum(reportPdfVo.getCarNum());
uploadRecordVo.setReportNum(reportPdfVo.getReportNum());
uploadRecordVo.setFileType(0);
uploadRecordVo.setCreateTime(DateUtil.date());
uploadRecordVo.setDeptId(deptid);
uploadRecordVo.setPath(reportPdfVo.getPath());
if(reportResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传检测报告失败!\n";
//上传状态
uploadRecordVo.setState(0);
} else {
//上传状态
uploadRecordVo.setState(1);
}
uploadRecordService.saveRecord(uploadRecordVo);
//申请表上传
if(FileUtil.exist(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.APPLY_SUFFIX)){
......@@ -162,9 +208,21 @@ public class CarReportUtil {
formData.put("FileData", FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.APPLY_SUFFIX));
HttpResponse applyResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecord = new UploadRecordVo();
uploadRecord.setReportNum(reportPdfVo.getReportNum());
uploadRecord.setCarNum(reportPdfVo.getCarNum());
uploadRecord.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecord.setDeptId(deptid);
uploadRecord.setCreateTime(DateUtil.date());
uploadRecord.setPath(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.APPLY_SUFFIX);
uploadRecord.setFileType(1);
if(applyResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传检测申请表失败!\n";
uploadRecord.setState(0);
} else {
uploadRecord.setState(1);
}
uploadRecordService.saveRecord(uploadRecord);
}
......@@ -176,9 +234,21 @@ public class CarReportUtil {
formData.put("FileData", FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.IDCARD_SUFFIX));
HttpResponse applyResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecord = new UploadRecordVo();
uploadRecord.setReportNum(reportPdfVo.getReportNum());
uploadRecord.setCarNum(reportPdfVo.getCarNum());
uploadRecord.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecord.setCreateTime(DateUtil.date());
uploadRecord.setFileType(2);
uploadRecord.setPath(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.IDCARD_SUFFIX);
uploadRecord.setDeptId(deptid);
if(applyResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传身份证失败!\n";
uploadRecord.setState(0);
} else {
uploadRecord.setState(1);
}
uploadRecordService.saveRecord(uploadRecord);
}
//行驶证1文件上传
......@@ -189,9 +259,21 @@ public class CarReportUtil {
formData.put("FileData", FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.DRIVER_SUFFIX1));
HttpResponse applyResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecord = new UploadRecordVo();
uploadRecord.setReportNum(reportPdfVo.getReportNum());
uploadRecord.setCarNum(reportPdfVo.getCarNum());
uploadRecord.setCreateTime(DateUtil.date());
uploadRecord.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecord.setFileType(3);
uploadRecord.setPath(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.DRIVER_SUFFIX1);
uploadRecord.setDeptId(deptid);
if(applyResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传行驶证1文件失败!\n";
uploadRecord.setState(0);
} else {
uploadRecord.setState(1);
}
uploadRecordService.saveRecord(uploadRecord);
}
//行驶证2文件上传
......@@ -202,24 +284,49 @@ public class CarReportUtil {
formData.put("FileData", FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.DRIVER_SUFFIX2));
HttpResponse applyResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecord = new UploadRecordVo();
uploadRecord.setReportNum(reportPdfVo.getReportNum());
uploadRecord.setCarNum(reportPdfVo.getCarNum());
uploadRecord.setCreateTime(DateUtil.date());
uploadRecord.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecord.setPath(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.DRIVER_SUFFIX2);
uploadRecord.setDeptId(deptid);
uploadRecord.setFileType(4);
if(applyResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传行驶证2文件失败!\n";
uploadRecord.setState(0);
} else {
uploadRecord.setState(1);
}
uploadRecordService.saveRecord(uploadRecord);
}
//维修凭证上传
/*if(FileUtil.exist(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.CERTIFICATE_SUFFIX)){
if(FileUtil.exist(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.CERTIFICATE_SUFFIX)){
formData.put("contentType","multipart/form-data; boundary=----------GI3gL6cH2GI3gL6GI3GI3KM7KM7ae0");
formData.put("Filename",FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.CERTIFICATE_SUFFIX).getName());
formData.put("FileGroup", "02");
formData.put("FileData", FileUtil.file(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.CERTIFICATE_SUFFIX));
HttpResponse applyResp = uploadPost(formData,uploadFileUrl,cookies);
UploadRecordVo uploadRecord = new UploadRecordVo();
uploadRecord.setReportNum(reportPdfVo.getReportNum());
uploadRecord.setCarNum(reportPdfVo.getCarNum());
uploadRecord.setBusinessKey(reportPdfVo.getBusinessKey());
uploadRecord.setCreateTime(DateUtil.date());
uploadRecord.setPath(uploadFilePath + reportPdfVo.getCarNum() + MyConstants.CERTIFICATE_SUFFIX);
uploadRecord.setDeptId(deptid);
uploadRecord.setFileType(5);
if(applyResp.getStatus() != HttpStatus.HTTP_OK){
errMsgList += "上传维修凭证失败!\n";
uploadRecord.setState(0);
} else {
uploadRecord.setState(1);
}
uploadRecordService.saveRecord(uploadRecord);
}
}*/
//如果有错误信息则抛出给客户端
if(StrUtil.isNotBlank(errMsgList)){
......@@ -438,24 +545,6 @@ public class CarReportUtil {
stationCodvO.setVals(Arrays.asList(stationCode));
conditionVoList.add(stationCodvO);
//是否检测通过
/*if(reportPageQueryVo.getIsZero() == 1){
ConditionVo carNumVo=new ConditionVo();
carNumVo.setFld(MyContext.VDCT_FLD);
carNumVo.setFldtype(MyContext.FLD_TYPE);
carNumVo.setOp(MyContext.VDCT_OP);
carNumVo.setVals(Arrays.asList("0"));
conditionVoList.add(carNumVo);
}*/
/*if(reportPageQueryVo.getIsZero() == 1){
ConditionVo carNumVo=new ConditionVo();
carNumVo.setFld("PDFCount");
carNumVo.setFldtype(MyContext.FLD_TYPE);
carNumVo.setOp(MyContext.VDCT_OP);
carNumVo.setVals(Arrays.asList("0"));
conditionVoList.add(carNumVo);
}*/
//如果车牌号不为空
if(StrUtil.isNotBlank(reportPageQueryVo.getCarNum())){
......@@ -502,10 +591,7 @@ public class CarReportUtil {
MyContext.PHOTO_TABLE_NAME,MyContext.PHOTO_WHERE,fldsVo.getFld(),conditionVoList,null,reportPageQueryVo.getSize());
JSONObject body = JSONUtil.createObj();
body.put("data",queryDataVo);
body.put("rows",reportPageQueryVo.getSize());
if(reportPageQueryVo.getIsZero() == 1){
body.put("UploadDate","");
}
body.put("rows",reportPageQueryVo.getIsZero() == 1?999999999:reportPageQueryVo.getSize());
body.put("page",reportPageQueryVo.getCurrNo());
body.put("sort","DetectEndTime");
body.put("order","DESC");
......@@ -528,8 +614,19 @@ public class CarReportUtil {
InspecPageVo pageVo = JSONUtil.toBean(queryResult, InspecPageVo.class);
IPage<TestReportVo> testReportVoPage = new Page<>(reportPageQueryVo.getCurrNo(),reportPageQueryVo.getSize());
//如果车牌号不为空
if(reportPageQueryVo.getIsZero() == 1){
List<TestReportVo> collect = pageVo.getRows().stream().filter(i -> i.getPDFCount().equals("0")).collect(Collectors.toList());
pageVo.setRows(collect);
pageVo.setTotal(collect.size());
testReportVoPage.setSize(reportPageQueryVo.getSize());
testReportVoPage.setCurrent(reportPageQueryVo.getCurrNo());
}
testReportVoPage.setTotal(pageVo.getTotal());
testReportVoPage.setRecords(pageVo.getRows());
return testReportVoPage;
}
......@@ -766,7 +863,6 @@ public class CarReportUtil {
IPage<TestReportVo> testReportVoIPage = postReportList(stationCode, cookies, reportPageQueryVo);
testReportVoIPage.getRecords().forEach(testReportVo -> {
testReportVo.setSiteName(stationSpan.getText() );
});
//获取
return testReportVoIPage;
......@@ -819,6 +915,9 @@ public class CarReportUtil {
//将结果转vo对象
InspecPageVo pageVo = JSONUtil.toBean(queryResult, InspecPageVo.class);
List<TestReportVo> collect = pageVo.getRows().stream().filter(i -> i.getPDFCount().equals(0)).collect(Collectors.toList());
pageVo.setRows(collect);
pageVo.setTotal(collect.size());
return pageVo.getRows();
}
......
......@@ -84,7 +84,7 @@ like:
kinggrid:
url: http://sign.kinggrid.com/OfficeServer.jsp
#上传检测报告其他文件的存放目录
#上传检测报告其他文件的扫描存放目录
uploadFilePath: C:\\reptiles\\uploadPicture\\
#签章服务的url
......@@ -92,3 +92,4 @@ signature:
carSignature:
url: http://127.0.0.1:9988/car-signature/start
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