From 1d1a0e45c6265da99e0c6f0fcbb689f4b2edcc93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Wed, 19 Nov 2025 16:46:30 +0800 Subject: [PATCH] =?UTF-8?q?11-19-=E6=A8=A1=E6=9D=BF=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HseSafetyWeeklyReportVo.java | 10 + .../IHseSafetyWeeklyReportService.java | 2 +- .../HseSafetyWeeklyReportServiceImpl.java | 180 +++++++++++++++--- 3 files changed, 168 insertions(+), 24 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetyweeklyreport/HseSafetyWeeklyReportVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetyweeklyreport/HseSafetyWeeklyReportVo.java index 9e3a03f3..97963bff 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetyweeklyreport/HseSafetyWeeklyReportVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetyweeklyreport/HseSafetyWeeklyReportVo.java @@ -77,6 +77,16 @@ public class HseSafetyWeeklyReportVo implements Serializable { */ private Long excelId; + /** + * excel文件原始名称 + */ + private String excelFileName; + + /** + * excel路径 + */ + private String excelPath; + /** * 文件后缀 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyWeeklyReportService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyWeeklyReportService.java index e6b57bbd..6c162af5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyWeeklyReportService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyWeeklyReportService.java @@ -111,6 +111,6 @@ public interface IHseSafetyWeeklyReportService extends IService queryPageList(HseSafetyWeeklyReportQueryReq req, PageQuery pageQuery) { Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); - return TableDataInfo.build(this.getVoPage(result)); + Page voPage = this.getVoPage(result); + setValue(voPage.getRecords()); + return TableDataInfo.build(voPage); } /** @@ -123,8 +134,12 @@ public class HseSafetyWeeklyReportServiceImpl extends ServiceImpl safetyWeeklyReportVo1 = List.of(safetyWeeklyReportVo); + setValue(safetyWeeklyReportVo1); + return safetyWeeklyReportVo1.getFirst(); } /** @@ -295,8 +313,15 @@ public class HseSafetyWeeklyReportServiceImpl extends ServiceImpl vos){ + for (HseSafetyWeeklyReportVo vo : vos) { + if (vo.getExcelId() != null){ + SysOssVo byId = sysOssService.getById(vo.getExcelId()); + if (byId != null){ + vo.setExcelFileName(byId.getOriginalName()); + vo.setExcelPath(byId.getUrl()); + } + } + } + } + /** * 测试生成Excel模板 */ @Override - public File testExcel(HseSafetyWeeklyReport report) { + public File testExcel(HseSafetyWeeklyReport report,Integer weekOfYear) { // 生成Excel模板文件 // String outputFilePath = "C:\\Users\\Administrator\\Desktop\\周报模板.xlsx"; try { - File file = generateWeeklyReportTemplate(report); + File file = generateWeeklyReportTemplate(report,weekOfYear); return file; } catch (Exception e) { System.err.println("Excel模板生成失败:" + e.getMessage()); @@ -329,7 +369,7 @@ public class HseSafetyWeeklyReportServiceImpl extends ServiceImpl scxl = progressCategoryService.getProgressCategoryByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.SEND_LINE, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDateTotalVo vo : scxl) { + sb.append(vo.getName()).append(": ").append("本周完成").append(vo.getCompletedNum()).append(vo.getUnit()).append(",").append("累计完成").append(vo.getCompletedTotal()).append(vo.getUnit()).append("。\n"); + } + if (!scxl.isEmpty()) { + sb.append("\n"); + } + //升压站 + List syz = progressCategoryService.getProgressCategoryByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.BOOSTER_STATION, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDateTotalVo vo : syz) { + sb.append(vo.getName()).append(": ").append("本周完成").append(vo.getCompletedNum()).append(vo.getUnit()).append(",").append("累计完成").append(vo.getCompletedTotal()).append(vo.getUnit()).append("。\n"); + } + if (!syz.isEmpty()) { + sb.append("\n"); + } + //集电线路 + List jdlx = progressCategoryService.getProgressCategoryByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.COLLECTING_LINE, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDateTotalVo vo : jdlx) { + sb.append(vo.getName()).append(": ").append("本周完成").append(vo.getCompletedNum()).append(vo.getUnit()).append(",").append("累计完成").append(vo.getCompletedTotal()).append(vo.getUnit()).append("。\n"); + } + if (!jdlx.isEmpty()) { + sb.append("\n"); + } + //光伏场区 + List gfcq = progressCategoryService.getProgressCategoryByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.PHOTOVOLTAIC_AREA, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDateTotalVo vo : gfcq) { + sb.append(vo.getName()).append(": ").append("本周完成").append(vo.getCompletedNum()).append(vo.getUnit()).append(",").append("累计完成").append(vo.getCompletedTotal()).append(vo.getUnit()).append("。\n"); + } + if (!gfcq.isEmpty()) { + sb.append("\n"); + } + //其他工程 + List qtgc = progressCategoryService.getProgressCategoryByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.OTHER_PROJECT, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDateTotalVo vo : qtgc) { + sb.append(vo.getName()).append(": ").append("本周完成").append(vo.getCompletedNum()).append(vo.getUnit()).append(",").append("累计完成").append(vo.getCompletedTotal()).append(vo.getUnit()).append("。\n"); + } + +// contentCell.setCellValue("本周有1天因下雨全部停工;\n" + +// "本周完成量:清表0亩,累计完成4104亩;钻孔4875个,累计完成119985个,灌注桩浇筑3955个,累计完成104434个桩,安装支架644组,累计完成6412组,安装光伏组件409组,累计完成4902组;\n" + +// "直流电缆电池至逆变器电缆 H1Z2Z2-k-1×4mm2约10km,累计完成55km;1×6mm2约10km,累计完成32km;接地扁钢40*4约2km,累计完成7km;50*5约1km,累计完成4km;接地角钢100根,累计完成250根;场区道路改扩建10%,累计30%。"); + contentCell.setCellValue(sb.toString()); contentCell.setCellStyle(contentStyle); addMergedRegionSafe(sheet, startRow, startRow, 2, 11); } @@ -651,7 +737,8 @@ public class HseSafetyWeeklyReportServiceImpl extends ServiceImpl scxl = progressCategoryService.getProgressCategoryPlanByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.SEND_LINE, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDatePlanVo vo : scxl) { + sb.append(vo.getName()).append(": ").append("下周计划周完成").append(vo.getPlanNum()).append(vo.getUnit()).append("。\n"); + } + if (!scxl.isEmpty()) { + sb.append("\n"); + } + //升压站 + List syz = progressCategoryService.getProgressCategoryPlanByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.BOOSTER_STATION, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDatePlanVo vo : syz) { + sb.append(vo.getName()).append(": ").append("下周计划周完成").append(vo.getPlanNum()).append(vo.getUnit()).append("。\n"); + } + if (!syz.isEmpty()) { + sb.append("\n"); + } + //集电线路 + List jdlx = progressCategoryService.getProgressCategoryPlanByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.COLLECTING_LINE, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDatePlanVo vo : jdlx) { + sb.append(vo.getName()).append(": ").append("下周计划周完成").append(vo.getPlanNum()).append(vo.getUnit()).append("。\n"); + } + if (!jdlx.isEmpty()) { + sb.append("\n"); + } + //光伏场区 + List gfcq = progressCategoryService.getProgressCategoryPlanByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.PHOTOVOLTAIC_AREA, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDatePlanVo vo : gfcq) { + sb.append(vo.getName()).append(": ").append("下周计划周完成").append(vo.getPlanNum()).append(vo.getUnit()).append("。\n"); + } + if (!gfcq.isEmpty()) { + sb.append("\n"); + } + //其他工程 + List qtgc = progressCategoryService.getProgressCategoryPlanByDate(report.getProjectId(), PgsProgressCategoryTypeEnum.OTHER_PROJECT, report.getScope(), report.getScopeEnd()); + for (PgsProgressCategoryDatePlanVo vo : qtgc) { + sb.append(vo.getName()).append(": ").append("下周计划周完成").append(vo.getPlanNum()).append(vo.getUnit()).append("。\n"); + } + +// contentCell.setCellValue("继续钻孔、安装钢筋笼、浇筑混凝土、支架安装、光伏组件安装、接地扁铁安装、电缆沟开挖等工作。"); + contentCell.setCellValue(sb.toString()); contentCell.setCellStyle(contentStyle); addMergedRegionSafe(sheet, startRow, startRow, 2, 11); } @@ -706,6 +836,10 @@ public class HseSafetyWeeklyReportServiceImpl extends ServiceImpl