diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java index 2e66002d..e1a7e46a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java @@ -133,4 +133,11 @@ public interface ILawsCommonService { * 三表通用带文件导出 */ void exportDataWithFile(HttpServletResponse response, Map parameterMap, String sheetName, String fileName); + + /** + * 模板下载 + * @param response + * @param tableName + */ + void templateDownload(HttpServletResponse response, String tableName); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 28914da8..58224f6c 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -1071,6 +1071,21 @@ public class LawsCommonServiceImpl implements ILawsCommonService { } } + @Override + public void templateDownload(HttpServletResponse response, String tableName) { + //TODO 模板下载 +// // 获取全部字段 +// List fieldList = lawsCommonMapper.getFieldList(tableName); +// +// // 筛选出新增要用的字段 +// fieldList = fieldList.stream().filter(lawsTag -> YesOrNoEnum.YES.getValue() +// .equals(lawsTag.getIsShowFormCreate().toString())).collect(Collectors.toList()); +// +// +// +// return areaMap; + } + /** * @Author: liao * @Date: 2023/8/24 9:53 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java index cc49fea4..3348ccff 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java @@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.Map; /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardInspectController.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardInspectController.java index 86d8e948..d12f5250 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardInspectController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardInspectController.java @@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; /** @@ -128,4 +129,11 @@ public class EnterpriseStandardInspectController extends JeroController queryPageList(ESQueryCommonDTO esInspect, Integer pageNo, Integer pageSize) { IPage page = new Page<>(pageNo, pageSize); @@ -95,6 +111,71 @@ public class EnterpriseStandardInspectServiceImpl extends ServiceImpl enterpriseStandardInspectVoIPage = this.queryPageList(esQueryCommonDTO, 1, Integer.MAX_VALUE); + List records = enterpriseStandardInspectVoIPage.getRecords(); + + // 处理 inspectNo + records.forEach(vo -> vo.setInspectNo(vo.getInspectNo().replace("/", "-"))); + + // 复制 records 列表以避免修改 + List copyRecords = new ArrayList<>(records); + + for (EnterpriseStandardInspectVo vo : copyRecords) { + try { + IPage page = new Page<>(1, Integer.MAX_VALUE); + esInspectRectifyPlanMapper.page(page, vo.getId()); + List rectifyPlanList = page.getRecords(); + + if (rectifyPlanList.size() == 0) { + continue; + } + + ExportParams exportParams = new ExportParams(null, sheetName); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, EnterpriseStandardInspectRectifyPlan.class, rectifyPlanList); + + // 创建一个字节数组输出流保存 Excel 数据 + ByteArrayOutputStream excelOutputStream = new ByteArrayOutputStream(); + workbook.write(excelOutputStream); + workbook.close(); + + // 在 Zip 文件中为该 Excel 文件创建一个新目录 + String folderName = vo.getInspectNo(); // 根据需要更改文件夹名称 + ZipEntry folderZipEntry = new ZipEntry(folderName + "/"); + zos.putNextEntry(folderZipEntry); + zos.closeEntry(); + + // 将 Excel 文件添加到这个新目录中 + ZipEntry zipEntry = new ZipEntry(folderName + "/" + fileName + ".xls"); + zos.putNextEntry(zipEntry); + zos.write(excelOutputStream.toByteArray()); + zos.closeEntry(); + + } catch (Exception e) { + log.error("导出excel异常", e); + throw new JeroBootException("导出excel异常", e); + } + } + } catch (IOException e) { + log.error("创建ZIP文件时发生错误", e); + } + + // 将 Zip 文件写出到响应流中 + response.setContentType("application/zip"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".zip"); + try { + response.getOutputStream().write(zipOutputStream.toByteArray()); + } catch (IOException e) { + log.error("写入响应流时发生错误", e); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsEnterpriseController.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsEnterpriseController.java index 72a8adb1..97813c26 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsEnterpriseController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsEnterpriseController.java @@ -207,4 +207,11 @@ public class LawsEnterpriseController { public void exportDataWithFile(HttpServletResponse response, @RequestBody(required = false) Map parameterMap) { lawsCommonService.exportDataWithFile(response, parameterMap, "企标导出", "企标导出"); } + + @AutoLog(value = "企业法规标准-模板下载") + @ApiOperation(value="企业法规标准-模板下载", notes="企业法规标准-模板下载") + @PostMapping("/templateDownload") + public void templateDownload(HttpServletResponse response) { + lawsCommonService.templateDownload(response, TableNameEnum.ENTERPRISE_STANDARDS.getTableName()); + } }