diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java index 3020e8abf..682af6d01 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java @@ -74,19 +74,20 @@ public class ParamsCollectManifestEOController extends JeroController queryList(ParamsCollectManifestEO paramsCollectManifestEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="100") Integer pageSize, - @RequestParam(name = "cut") String cut) { - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) { - paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%")); - } - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getParamsName())) { - paramsCollectManifestEO.setParamsName(paramsCollectManifestEO.getParamsName().replace("%","\\%")); - } - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getDre())) { - paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%")); - } + @RequestParam(name = "cut") String cut, + HttpServletRequest req) { +// if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) { +// paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%")); +// } +// if (StringUtils.isNotEmpty(paramsCollectManifestEO.getParamsName())) { +// paramsCollectManifestEO.setParamsName(paramsCollectManifestEO.getParamsName().replace("%","\\%")); +// } +// if (StringUtils.isNotEmpty(paramsCollectManifestEO.getDre())) { +// paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%")); +// } IPage page = new Page(pageNo, pageSize); - IPage list = paramsCollectManifestEOService.queryList(page, paramsCollectManifestEO, cut); + IPage list = paramsCollectManifestEOService.queryList(page, paramsCollectManifestEO, cut, req); return Result.OK(list); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestHistoryEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestHistoryEOController.java index ba090fa7d..2bcab4ab6 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestHistoryEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestHistoryEOController.java @@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO; import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService; @@ -13,13 +14,13 @@ import com.jero.modules.cert.collect.service.IParamsConfigHistoryEOService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -66,22 +67,23 @@ public class ParamsCollectManifestHistoryEOController extends JeroController queryList(ParamsCollectManifestEO paramsCollectManifestEO, + public Result queryList(ParamsCollectManifestHistoryEO paramsCollectManifestHistoryEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="500") Integer pageSize, - @RequestParam(name = "cut") String cut) { - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) { - paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%")); - } - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getParamsName())) { - paramsCollectManifestEO.setParamsName(paramsCollectManifestEO.getParamsName().replace("%","\\%")); - } - if (StringUtils.isNotEmpty(paramsCollectManifestEO.getDre())) { - paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%")); - } + @RequestParam(name = "cut") String cut, + HttpServletRequest req) { +// if (StringUtils.isNotEmpty(paramsCollectManifestHistoryEO.getNioNumber())) { +// paramsCollectManifestHistoryEO.setNioNumber(paramsCollectManifestHistoryEO.getNioNumber().replace("%","\\%")); +// } +// if (StringUtils.isNotEmpty(paramsCollectManifestHistoryEO.getParamsName())) { +// paramsCollectManifestHistoryEO.setParamsName(paramsCollectManifestHistoryEO.getParamsName().replace("%","\\%")); +// } +// if (StringUtils.isNotEmpty(paramsCollectManifestHistoryEO.getDre())) { +// paramsCollectManifestHistoryEO.setDre(paramsCollectManifestHistoryEO.getDre().replace("%","\\%")); +// } IPage page = new Page(pageNo, pageSize); - IPage list = paramsCollectManifestHistoryEOService.queryList(page, paramsCollectManifestEO, cut); + IPage list = paramsCollectManifestHistoryEOService.queryList(page, paramsCollectManifestHistoryEO, cut, req); return Result.OK(list); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index d41c37cf2..b86067b96 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -63,7 +64,7 @@ public interface IParamsCollectManifestEOService extends IService queryWrapper = QueryGenerator.initQueryWrapper(paramsCollectManifestEO, req.getParameterMap()); + queryWrapper.lambda().notIn(ParamsCollectManifestEO::getControlType, ControlTypeEnum.Title.getValue()) + .orderByDesc(ParamsCollectManifestEO::getDelFlag) + .orderByDesc(ParamsCollectManifestEO::getAddFlag) + .orderByDesc(ParamsCollectManifestEO::getChangeFlag) + .orderByAsc(ParamsCollectManifestEO::getNioNumber); + String paramsManifestId = paramsCollectManifestEO.getParamsManifestId(); String userTypes = paramsCollectManifestEO.getUserTypes(); @@ -268,16 +277,21 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl list = pageInfo.getRecords(); // 查询固定列 List paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列 List paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java index 9deb0dc6a..d15de9823 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java @@ -2,11 +2,13 @@ package com.jero.modules.cert.collect.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.system.query.QueryGenerator; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.cert.collect.entity.*; @@ -27,6 +29,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; @@ -74,10 +77,15 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl queryWrapper = QueryGenerator.initQueryWrapper(paramsCollectManifestHistoryEO, req.getParameterMap()); + queryWrapper.lambda().notIn(ParamsCollectManifestHistoryEO::getControlType, ControlTypeEnum.Title.getValue()) + .orderByAsc(ParamsCollectManifestHistoryEO::getNioNumber); - IPage pageInfo = paramsCollectManifestHistoryEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列 + String paramsManifestId = paramsCollectManifestHistoryEO.getParamsManifestId(); + + IPage pageInfo = page(page, queryWrapper); // 查询固定列 +// IPage pageInfo = paramsCollectManifestHistoryEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列 List list = pageInfo.getRecords(); // 查询固定列 List paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); // 查询配置列 List paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationItemResultEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationItemResultEOController.java index eb34fe50e..1a435230f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationItemResultEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationItemResultEOController.java @@ -2,6 +2,7 @@ package com.jero.modules.lawsTechnologyEvaluation.controller; import java.util.Arrays; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -160,6 +161,20 @@ public class LawsTechnologyEvaluationItemResultEOController extends JeroControll return super.exportXls(request, lawsTechnologyEvaluationItemResultEO, LawsTechnologyEvaluationItemResultEO.class, "法规技术评估-条款信息评估结果表"); } + /** + * 导出zip压缩包,带文件。 + * @param response + * @param request + * @param lawsTechnologyEvaluationItemResultEO + * @param params + */ + @RequestMapping(value = "/exportZip") + public void exportZip(HttpServletResponse response,HttpServletRequest request, + LawsTechnologyEvaluationItemResultEO lawsTechnologyEvaluationItemResultEO, + @RequestParam Map params) { + this.lawsTechnologyEvaluationItemResultEOService.exportZip(response,request, lawsTechnologyEvaluationItemResultEO,params); + } + /** * 通过excel导入数据 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java index 86ef20c82..c807864a6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java @@ -108,11 +108,15 @@ public class LawsTechnologyEvaluationItemResultEO implements Serializable { @Excel(name = "附件", width = 15) @ApiModelProperty(value = "附件") private java.lang.String accessoryFile; + @TableField(exist = false) + private java.lang.String accessoryFileName; /**符合性结果*/ @Excel(name = "符合性结果", width = 15) @ApiModelProperty(value = "符合性结果") private java.lang.String complianceResult; + @TableField(exist = false) + private java.lang.String complianceResultName; /**评估人id*/ @Excel(name = "评估人id", width = 15) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationItemResultEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationItemResultEOService.java index e0eaf3b76..7dcfb9104 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationItemResultEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationItemResultEOService.java @@ -6,7 +6,9 @@ import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluation import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * @Description: 法规技术评估-条款信息评估结果表 @@ -79,4 +81,8 @@ public interface ILawsTechnologyEvaluationItemResultEOService extends IService datas, String cut); + + void exportZip(HttpServletResponse response, HttpServletRequest request, LawsTechnologyEvaluationItemResultEO lawsTechnologyEvaluationItemResultEO, Map params); + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java index c7ab70d02..cb1314e10 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java @@ -1,29 +1,41 @@ package com.jero.modules.lawsTechnologyEvaluation.service.impl; +import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.utils.IOUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; -import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.oss.CosBootUtil; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationItemResultEO; +import com.jero.modules.lawsTechnologyEvaluation.enums.ComplianceResultEnum; import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationItemResultEOMapper; import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationItemResultEOService; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.project.enums.OperatorTypeEnum; import com.jero.modules.project.enums.RequestSourceEnum; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; +import com.jero.modules.system.util.PDFUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.shiro.SecurityUtils; +import org.aspectj.util.FileUtil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Date; +import java.io.*; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -31,6 +43,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @Description: 法规技术评估-条款信息评估结果表 @@ -42,8 +55,12 @@ import javax.servlet.http.HttpServletRequest; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class LawsTechnologyEvaluationItemResultEOServiceImpl extends ServiceImpl implements ILawsTechnologyEvaluationItemResultEOService { + @Value(value = "${jero.path.upload}") + private String uploadpath; @Autowired private SysCategoryServiceImpl sysCategoryService; + @Autowired + private IOSSFileService iOSSFileService; /** * 保存 @@ -178,10 +195,189 @@ public class LawsTechnologyEvaluationItemResultEOServiceImpl extends ServiceImpl List evaluationMethodsList = Arrays.asList(evaluationMethods.split(",")); String name = getTreeName(cut, categoryList, evaluationMethodsList); data.setEvaluationMethodsName(name); + if(StringUtils.isNotEmpty(data.getComplianceResult())){ + data.setComplianceResultName(ComplianceResultEnum.getTextByValue(data.getComplianceResult(),cut)); + } + + if(StringUtils.isNotEmpty(data.getAccessoryFile())){ + List accessoryFileList = iOSSFileService.getFileInfos(data.getAccessoryFile()); + String accessoryFileName = accessoryFileList.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + data.setAccessoryFileName(accessoryFileName); + } } } } + @Override + public void exportZip(HttpServletResponse response, HttpServletRequest request, LawsTechnologyEvaluationItemResultEO lawsTechnologyEvaluationItemResultEO, Map params) { + String ids = (String)params.get("ids"); + String cut = (String)params.get("cut"); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationItemResultEO, request.getParameterMap()); + if(StringUtils.isNotEmpty(ids)){ + List idList = Arrays.asList(ids.split(",")); + queryWrapper.lambda().in(LawsTechnologyEvaluationItemResultEO::getId,idList); + } + List exportData = this.baseMapper.selectList(queryWrapper); + this.disposeData(exportData,cut); + + String title = ""; + String fileName = ""; + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + title = "条款号,条款名称,条款内容,评估人,评估方式,技术文件名称,章节,符合性结果,意见,附件,反馈时间"; + fileName = "条款评估结果 " + ".xlsx"; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + title = "Item num,Item name,Item Contents,Evaluator,Evaluation methods,Name of technical document,Section,Compliance results,Opinion,Accessory,Feedback time "; + fileName = "Item Evaluation results " + ".xlsx"; + } + + OutputStream os = null; + HSSFWorkbook workbook = new HSSFWorkbook(); + + String path = uploadpath + "/tempZip/itemEvaluationResults/" + System.currentTimeMillis(); + + try { + response.setHeader("Content-Disposition", + "attachment; filename=" + fileName); + response.setContentType("application/force-download"); + + HSSFSheet sheet = workbook.createSheet("sheet1"); + + CellStyle titleCellStyle = workbook.createCellStyle(); + titleCellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中 + titleCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中 + titleCellStyle.setWrapText(true);//自动换行 + + Row firstRow = sheet.createRow(0); + + //创建表头 + String[] titleArr = title.split(","); + for (int i=0; i<=5; i++){ + sheet.setColumnWidth(i,4000); + Cell cell = firstRow.createCell(i); + cell.setCellStyle(titleCellStyle); + cell.setCellValue(titleArr[i]); + } + + //设置导出数据 + if(CollectionUtils.isNotEmpty(exportData)) { + for (int dataIndex = 0; dataIndex < exportData.size(); dataIndex++) { + Row dataRow = sheet.createRow(dataIndex + 1); + dataRow.createCell(0).setCellValue(exportData.get(dataIndex).getItemNum()); + dataRow.createCell(1).setCellValue(exportData.get(dataIndex).getItemName()); + dataRow.createCell(2).setCellValue(exportData.get(dataIndex).getItemContent()); + dataRow.createCell(3).setCellValue(exportData.get(dataIndex).getCreateBy()); + dataRow.createCell(4).setCellValue(exportData.get(dataIndex).getEvaluationMethodsName()); + dataRow.createCell(5).setCellValue(exportData.get(dataIndex).getTechnicalFileName()); + dataRow.createCell(6).setCellValue(exportData.get(dataIndex).getSection()); + dataRow.createCell(7).setCellValue(exportData.get(dataIndex).getComplianceResultName()); + dataRow.createCell(8).setCellValue(exportData.get(dataIndex).getOpinion()); + dataRow.createCell(9).setCellValue(exportData.get(dataIndex).getAccessoryFileName()); + String feedBackTimeStr = disposeDate(exportData.get(dataIndex).getCreateTime()); + dataRow.createCell(10).setCellValue(feedBackTimeStr); + } + } + + + File fileTemp = new File(path); + if (fileTemp.exists()) { + fileTemp.delete(); + } + fileTemp.mkdirs(); + //excel + OutputStream excelOS = new FileOutputStream(path + File.separator + fileName); + workbook.write(excelOS); + excelOS.flush(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + for (LawsTechnologyEvaluationItemResultEO data : exportData) { + String accessoryFile = data.getAccessoryFile(); + + List fileInfosList = iOSSFileService.getFileInfos(accessoryFile); + if (fileInfosList.size() != 0) { + for (OSSFile ossFile : fileInfosList) { + String url = ossFile.getUrl(); + //判断文件是否存在 + if(StringUtils.isNotBlank(url)){ + //判断文件是否存在 + boolean b = CosBootUtil.doesObjectExist(url); + if(b){ + InputStream download = CosBootUtil.download(url); + if(url.endsWith(".pdf") || url.endsWith(".PDF")){ + String currentTime = sdf.format(new Date()); + String waterContent = loginUser.getUsername() + " " + currentTime; + File newFile = PDFUtils.PDFWatermark(download,uploadpath,ossFile.getFileName(),waterContent); + download = new FileInputStream(newFile.getPath()); + } + copyFile(download, path + File.separator + ossFile.getFileName()); + } + } + } + } + } + ZipUtil.zip(path, path + ".zip"); + //文件 + FileInputStream fis = new FileInputStream(path + ".zip"); + os = response.getOutputStream(); + + int len = 0; + while ((len = fis.read()) != -1) { + os.write(len); + } + os.flush(); + fis.close(); + excelOS.close(); + + }catch (IOException ex){ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("下载文件失败"); + }else{ + throw new JeroBootException("Failed to download file"); + } + }finally { + IOUtils.closeQuietly(os); + File file = new File(path); + FileUtil.deleteContents(file); + File fileTemp = new File(path + ".zip"); + FileUtil.deleteContents(fileTemp); + } + } + + public static void copyFile(InputStream in, String newFile) throws IOException { + File file2 = new File(newFile); + if (!file2.exists()) { + file2.createNewFile(); + } + try (FileOutputStream ou = new FileOutputStream(newFile);) { + byte[] bs = new byte[1024]; + int count = 0; + while ((count = in.read(bs, 0, bs.length)) != -1) { + ou.write(bs, 0, count); + } + ou.flush(); + } catch (IOException e) { + e.printStackTrace(); + throw new IOException("复制文件失败!"); + } finally { + in.close(); + } + } + + public String disposeDate(Date date){ + String result = ""; + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if(date != null){ + result = sdf.format(date); + } + }catch (Exception ex){ + ex.printStackTrace(); + log.error("处理日期失败:" +ex.getMessage()); + } + return result; + } + private String getTreeName(String cut, List categoryList, List evaluationMethodsList) { StringBuilder sb = new StringBuilder(); for (String evaluationMethods : evaluationMethodsList) {