update 81707 专项项目库导出zip
This commit is contained in:
@@ -34,7 +34,7 @@ public class ZipUtil {
|
|||||||
try {
|
try {
|
||||||
zos = new ZipOutputStream(out);
|
zos = new ZipOutputStream(out);
|
||||||
File sourceFile = new File(srcDir);
|
File sourceFile = new File(srcDir);
|
||||||
compress(sourceFile, zos, sourceFile.getName(), KeepDirStructure);
|
compress(sourceFile, zos, sourceFile.getName().substring(0,sourceFile.getName().lastIndexOf("_")), KeepDirStructure);
|
||||||
long end = System.currentTimeMillis();
|
long end = System.currentTimeMillis();
|
||||||
System.out.println("压缩完成,耗时:" + (end - start) + " ms");
|
System.out.println("压缩完成,耗时:" + (end - start) + " ms");
|
||||||
|
|
||||||
|
|||||||
+14
@@ -5,11 +5,17 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.jero.common.aspect.annotation.Dict;
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
|
import com.jero.modules.laws.enterprise.entity.vo.DeclareFileList;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -132,6 +138,7 @@ public class ProcessProjectStandardTermUser {
|
|||||||
* 设计工程师
|
* 设计工程师
|
||||||
*/
|
*/
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||||
|
@Excel(name = "姓名", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||||
@TableField(value = "design_engineer")
|
@TableField(value = "design_engineer")
|
||||||
@ApiModelProperty(value="设计工程师")
|
@ApiModelProperty(value="设计工程师")
|
||||||
private String designEngineer;
|
private String designEngineer;
|
||||||
@@ -154,6 +161,7 @@ public class ProcessProjectStandardTermUser {
|
|||||||
*/
|
*/
|
||||||
@TableField(value = "model_series")
|
@TableField(value = "model_series")
|
||||||
@Dict(dicCode = "model_series")
|
@Dict(dicCode = "model_series")
|
||||||
|
@Excel(name = "车型", width = 15, dicCode = "model_series")
|
||||||
@ApiModelProperty(value="车型系列")
|
@ApiModelProperty(value="车型系列")
|
||||||
private String modelSeries;
|
private String modelSeries;
|
||||||
/**
|
/**
|
||||||
@@ -167,6 +175,7 @@ public class ProcessProjectStandardTermUser {
|
|||||||
* 依据描述
|
* 依据描述
|
||||||
*/
|
*/
|
||||||
@TableField(value = "description")
|
@TableField(value = "description")
|
||||||
|
@Excel(name = "依据描述", width = 15)
|
||||||
@ApiModelProperty(value="依据描述")
|
@ApiModelProperty(value="依据描述")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@@ -210,4 +219,9 @@ public class ProcessProjectStandardTermUser {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value="部门id")
|
@ApiModelProperty(value="部门id")
|
||||||
private String departId;
|
private String departId;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "相关材料文件名")
|
||||||
|
@ExcelCollection(name = "")
|
||||||
|
private List<DeclareFileList> declareFileList = Collections.emptyList();
|
||||||
}
|
}
|
||||||
+4
@@ -9,6 +9,7 @@ import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardDeclareVo;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ThinkBook
|
* @author ThinkBook
|
||||||
@@ -45,4 +46,7 @@ public interface EnterpriseStandardDeclareService extends IService<EnterpriseSta
|
|||||||
void exportDataWithFile(HttpServletResponse response, ESQueryCommonDTO parameterMap, String fileName, String sheetName);
|
void exportDataWithFile(HttpServletResponse response, ESQueryCommonDTO parameterMap, String fileName, String sheetName);
|
||||||
|
|
||||||
void exportDataWithFile(HttpServletRequest request, HttpServletResponse response, ESQueryCommonDTO parameterMap) throws IOException;
|
void exportDataWithFile(HttpServletRequest request, HttpServletResponse response, ESQueryCommonDTO parameterMap) throws IOException;
|
||||||
|
|
||||||
|
void writeToLocal(String destination, InputStream input)
|
||||||
|
throws IOException;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -277,15 +277,16 @@ public class EnterpriseStandardDeclareServiceImpl extends ServiceImpl<Enterprise
|
|||||||
/**
|
/**
|
||||||
* 将InputStream写入本地文件
|
* 将InputStream写入本地文件
|
||||||
*
|
*
|
||||||
* @param destination 写入本地目录
|
* @param filePath 写入本地目录
|
||||||
* @param input 输入流
|
* @param input 输入流
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private static void writeToLocal(String destination, InputStream input)
|
@Override
|
||||||
|
public void writeToLocal(String filePath, InputStream input)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
int index;
|
int index;
|
||||||
byte[] bytes = new byte[1024];
|
byte[] bytes = new byte[1024];
|
||||||
try (FileOutputStream downloadFile = new FileOutputStream(destination)){
|
try (FileOutputStream downloadFile = new FileOutputStream(filePath)){
|
||||||
while ((index = input.read(bytes)) != -1) {
|
while ((index = input.read(bytes)) != -1) {
|
||||||
downloadFile.write(bytes, 0, index);
|
downloadFile.write(bytes, 0, index);
|
||||||
downloadFile.flush();
|
downloadFile.flush();
|
||||||
|
|||||||
+19
-12
@@ -1,18 +1,35 @@
|
|||||||
package com.jero.modules.projectLibrary.controller;
|
package com.jero.modules.projectLibrary.controller;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.util.FileUtils;
|
||||||
|
import com.jero.common.util.oConvertUtils;
|
||||||
|
import com.jero.modules.projectLibrary.entity.LawsProjectLibrary;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService;
|
import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -153,18 +170,8 @@ public class LawsSpecialProjectLibraryController extends JeroController<LawsSpec
|
|||||||
@AutoLog(value = "专项项目库-导出")
|
@AutoLog(value = "专项项目库-导出")
|
||||||
@ApiOperation(value="专项项目库-导出")
|
@ApiOperation(value="专项项目库-导出")
|
||||||
@RequestMapping(value = "/exportXls")
|
@RequestMapping(value = "/exportXls")
|
||||||
public ModelAndView exportXls(HttpServletRequest request, LawsSpecialProjectLibrary lawsSpecialProjectLibrary) {
|
public void exportXls(HttpServletRequest request, HttpServletResponse response, LawsSpecialProjectLibrary lawsSpecialProjectLibrary) {
|
||||||
IPage<LawsSpecialProjectLibrary> pageList = lawsSpecialProjectLibraryService.queryPage(lawsSpecialProjectLibrary, -1, -1, request);
|
lawsSpecialProjectLibraryService.exportXls(request,response,lawsSpecialProjectLibrary);
|
||||||
List<LawsSpecialProjectLibrary> records = pageList.getRecords();
|
|
||||||
List<LawsSpecialProjectLibrary> exportList;
|
|
||||||
String selections = request.getParameter("selections");
|
|
||||||
if (StringUtils.isNotBlank(selections)) {
|
|
||||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
|
||||||
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
|
||||||
}else {
|
|
||||||
exportList = records;
|
|
||||||
}
|
|
||||||
return super.exportListXls(exportList, LawsSpecialProjectLibrary.class, "专项项目库");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-2
@@ -99,11 +99,9 @@ public class LawsSpecialProjectLibrary implements Serializable {
|
|||||||
@ApiModelProperty(value = "合规评估结果")
|
@ApiModelProperty(value = "合规评估结果")
|
||||||
private String result;
|
private String result;
|
||||||
/**问题描述*/
|
/**问题描述*/
|
||||||
@Excel(name = "依据描述", width = 15)
|
|
||||||
@ApiModelProperty(value = "依据描述")
|
@ApiModelProperty(value = "依据描述")
|
||||||
private String description;
|
private String description;
|
||||||
/**佐证材料*/
|
/**佐证材料*/
|
||||||
@Excel(name = "佐证材料", width = 15)
|
|
||||||
@ApiModelProperty(value = "佐证材料")
|
@ApiModelProperty(value = "佐证材料")
|
||||||
private String material;
|
private String material;
|
||||||
/**评估日期*/
|
/**评估日期*/
|
||||||
|
|||||||
+4
@@ -3,6 +3,8 @@ package com.jero.modules.projectLibrary.service;
|
|||||||
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -73,4 +75,6 @@ public interface ILawsSpecialProjectLibraryService extends IService<LawsSpecialP
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
LawsSpecialProjectLibrary queryById(String id);
|
LawsSpecialProjectLibrary queryById(String id);
|
||||||
|
|
||||||
|
void exportXls(HttpServletRequest request, HttpServletResponse response, LawsSpecialProjectLibrary lawsSpecialProjectLibrary);
|
||||||
}
|
}
|
||||||
|
|||||||
+135
@@ -1,42 +1,70 @@
|
|||||||
package com.jero.modules.projectLibrary.service.impl;
|
package com.jero.modules.projectLibrary.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.util.BeanCopyUtils;
|
||||||
|
import com.jero.common.util.FileUtils;
|
||||||
|
import com.jero.common.util.MinioUtil;
|
||||||
|
import com.jero.common.util.ZipUtil;
|
||||||
|
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTermUser;
|
||||||
|
import com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardService;
|
||||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
|
import com.jero.modules.laws.enterprise.entity.vo.DeclareFileList;
|
||||||
|
import com.jero.modules.laws.enterprise.service.EnterpriseStandardDeclareService;
|
||||||
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
|
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
|
||||||
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
||||||
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
|
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
|
||||||
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||||
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
|
import com.jero.modules.projectLibrary.entity.LawsProjectLibrary;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
||||||
import com.jero.modules.projectLibrary.mapper.LawsSpecialProjectLibraryMapper;
|
import com.jero.modules.projectLibrary.mapper.LawsSpecialProjectLibraryMapper;
|
||||||
import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService;
|
import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService;
|
||||||
|
import com.jero.modules.system.util.SysWaterMarkUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.logging.log4j.util.Strings;
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 专项项目库
|
* @Description: 专项项目库
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
* @Date: 2023-09-22
|
* @Date: 2023-09-22
|
||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public class LawsSpecialProjectLibraryServiceImpl extends ServiceImpl<LawsSpecialProjectLibraryMapper, LawsSpecialProjectLibrary> implements ILawsSpecialProjectLibraryService {
|
public class LawsSpecialProjectLibraryServiceImpl extends ServiceImpl<LawsSpecialProjectLibraryMapper, LawsSpecialProjectLibrary> implements ILawsSpecialProjectLibraryService {
|
||||||
@@ -46,7 +74,18 @@ public class LawsSpecialProjectLibraryServiceImpl extends ServiceImpl<LawsSpecia
|
|||||||
private ILawsOverseasStandardService lawsOverseasStandardService; //海外标准
|
private ILawsOverseasStandardService lawsOverseasStandardService; //海外标准
|
||||||
@Resource
|
@Resource
|
||||||
private LawsSpecialProjectLibraryMapper specialProjectLibraryMapper;
|
private LawsSpecialProjectLibraryMapper specialProjectLibraryMapper;
|
||||||
|
@Resource
|
||||||
|
private ProcessProjectStandardService processProjectStandardService;
|
||||||
|
@Resource
|
||||||
|
private EnterpriseStandardDeclareService enterpriseStandardDeclareService;
|
||||||
|
@Resource
|
||||||
|
private IOSSFileService ossFileService;
|
||||||
|
@Resource
|
||||||
|
private SysWaterMarkUtil sysWaterMarkUtil;
|
||||||
|
@Value("${jero.path.exportExcelTempPath}")
|
||||||
|
private String exportExcelTempPath;
|
||||||
|
|
||||||
|
private static final String EXPORT_EXCEL_TEMP = "exportExcelTemp";
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
*
|
*
|
||||||
@@ -148,4 +187,100 @@ public class LawsSpecialProjectLibraryServiceImpl extends ServiceImpl<LawsSpecia
|
|||||||
public LawsSpecialProjectLibrary queryById(String id) {
|
public LawsSpecialProjectLibrary queryById(String id) {
|
||||||
return getById(id);
|
return getById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exportXls(HttpServletRequest request, HttpServletResponse response, LawsSpecialProjectLibrary lawsSpecialProjectLibrary) {
|
||||||
|
IPage<LawsSpecialProjectLibrary> pageList = this.queryPage(lawsSpecialProjectLibrary, -1, -1, request);
|
||||||
|
List<LawsSpecialProjectLibrary> records = pageList.getRecords();
|
||||||
|
List<LawsSpecialProjectLibrary> exportList;
|
||||||
|
String selections = request.getParameter("selections");
|
||||||
|
if (StringUtils.isNotBlank(selections)) {
|
||||||
|
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||||
|
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||||
|
}else {
|
||||||
|
exportList = records;
|
||||||
|
}
|
||||||
|
String fileName = "专项项目库";
|
||||||
|
String termUserFileName = "依据描述";
|
||||||
|
String url = exportExcelTempPath.replace(EXPORT_EXCEL_TEMP, fileName + "_" + RandomUtil.randomString(12));
|
||||||
|
File file = new File(url);
|
||||||
|
if (!file.exists()){
|
||||||
|
boolean mkdirs = file.mkdirs();
|
||||||
|
log.info("创建临时目录:{}", mkdirs);
|
||||||
|
}
|
||||||
|
try (FileOutputStream fos = new FileOutputStream(url + File.separator + fileName + ".xls")){
|
||||||
|
// 生成excel
|
||||||
|
ExportParams exportParams = new ExportParams();
|
||||||
|
exportParams.setType(ExcelType.HSSF);
|
||||||
|
for (LawsSpecialProjectLibrary projectLibrary : exportList) {
|
||||||
|
String standardNumber = projectLibrary.getStandardNumber();
|
||||||
|
String termNumber = projectLibrary.getTermNumber();
|
||||||
|
String processTermId = projectLibrary.getProcessTermId();
|
||||||
|
//判断是否有描述依据
|
||||||
|
ProcessProjectStandardTermUser termUser = new ProcessProjectStandardTermUser();
|
||||||
|
termUser.setTermId(processTermId);
|
||||||
|
IPage<ProcessProjectStandardTermUser> termUserPage = processProjectStandardService.getTermUserList(termUser, -1, -1);
|
||||||
|
List<ProcessProjectStandardTermUser> termUserList = termUserPage.getRecords();
|
||||||
|
//导出描述依据和佐证材料
|
||||||
|
if (!termUserList.isEmpty()) {
|
||||||
|
//标准编号+条款号的文件夹
|
||||||
|
String termUserUrl = url + File.separator + standardNumber + (StringUtils.isBlank(termNumber)?"":termNumber) ;
|
||||||
|
File termUserFile = new File(termUserUrl);
|
||||||
|
if (!termUserFile.exists()){
|
||||||
|
boolean mkdirs = termUserFile.mkdirs();
|
||||||
|
log.info("创建临时子目录:{}", mkdirs);
|
||||||
|
}
|
||||||
|
//佐证材料
|
||||||
|
for (ProcessProjectStandardTermUser standardTermUser : termUserList) {
|
||||||
|
String fileId = standardTermUser.getFileId();
|
||||||
|
if (StringUtils.isNotBlank(fileId)){
|
||||||
|
List<String> fileIdList = Arrays.asList(fileId.split(","));
|
||||||
|
List<OSSFile> ossFileList = ossFileService.listByIds(fileIdList);
|
||||||
|
if (!ossFileList.isEmpty()){
|
||||||
|
// 赋值
|
||||||
|
List<DeclareFileList> declareFileLists = BeanCopyUtils.copyBeanList(ossFileList, DeclareFileList.class);
|
||||||
|
standardTermUser.setDeclareFileList(declareFileLists);
|
||||||
|
// 写出文件
|
||||||
|
for (OSSFile ossFile : ossFileList) {
|
||||||
|
InputStream inputStream = MinioUtil.getMinioFile(MinioUtil.getBucketName(), ossFile.getUrl());
|
||||||
|
// pdf加水印
|
||||||
|
if (StringUtils.endsWithIgnoreCase(ossFile.getFileName(), ".pdf")){
|
||||||
|
inputStream = sysWaterMarkUtil.addWatermarkToPdf(inputStream);
|
||||||
|
}
|
||||||
|
// 导出文件
|
||||||
|
String filePath = termUserFile + File.separator + ossFile.getFileName();
|
||||||
|
enterpriseStandardDeclareService.writeToLocal(filePath, inputStream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//描述依据
|
||||||
|
try (FileOutputStream fos1 = new FileOutputStream(termUserFile + File.separator + termUserFileName + ".xls")){
|
||||||
|
// 生成excel
|
||||||
|
Workbook workbook1 = ExcelExportUtil.exportExcel(exportParams, ProcessProjectStandardTermUser.class, termUserList);
|
||||||
|
// 导出excel
|
||||||
|
workbook1.write(fos1);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.getMessage());
|
||||||
|
throw new JeroBootException("excel导出失败!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsSpecialProjectLibrary.class, exportList);
|
||||||
|
// 导出excel
|
||||||
|
workbook.write(fos);
|
||||||
|
// 生成并导出zip
|
||||||
|
ZipUtil.toZip(url, response.getOutputStream(), response, true);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.getMessage());
|
||||||
|
throw new JeroBootException("excel导出失败!");
|
||||||
|
}finally {
|
||||||
|
// 删除文件
|
||||||
|
if (new File(url).exists()) {
|
||||||
|
FileUtils.deleteFolders(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user