From 693b4e4b083919745806cef47ce82039d2f3f149 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 07 九月 2026 00:00:19 +0800
Subject: [PATCH] 实现对比报表字段模板复用
---
ruoyi-admin/src/main/java/com/battery/business/web/CompareReportController.java | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/battery/business/web/CompareReportController.java b/ruoyi-admin/src/main/java/com/battery/business/web/CompareReportController.java
index ad9ecb6..11d5462 100644
--- a/ruoyi-admin/src/main/java/com/battery/business/web/CompareReportController.java
+++ b/ruoyi-admin/src/main/java/com/battery/business/web/CompareReportController.java
@@ -4,8 +4,10 @@
import com.battery.business.report.CompareReportService;
import com.battery.business.report.CompareReportRequest;
import com.battery.business.report.CompareReportEditRequest;
+import com.battery.business.report.CompareFieldTemplateRepository;
import jakarta.validation.Valid;
import java.util.List;
+import java.util.Map;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -24,8 +26,23 @@
{
private final CompareReportRepository reports;
private final CompareReportService service;
- public CompareReportController(CompareReportRepository reports, CompareReportService service)
- { this.reports = reports; this.service = service; }
+ private final CompareFieldTemplateRepository templates;
+ public CompareReportController(CompareReportRepository reports, CompareReportService service, CompareFieldTemplateRepository templates)
+ { this.reports = reports; this.service = service; this.templates = templates; }
+
+ @PreAuthorize("@ss.hasPermi('system:compare-report:query')")
+ @GetMapping("/templates")
+ public AjaxResult templates() { return success(templates.list()); }
+
+ @PreAuthorize("@ss.hasPermi('system:compare-report:add')")
+ @PostMapping("/templates")
+ public AjaxResult createTemplate(@RequestBody Map<String, Object> body)
+ {
+ String name = String.valueOf(body.getOrDefault("name", "")).trim();
+ Object fields = body.get("fields");
+ if (name.isBlank() || !(fields instanceof List<?> list) || list.isEmpty() || list.size() > 100) throw new com.ruoyi.common.exception.ServiceException("模板名称和字段不能为空");
+ return success().put("id", templates.insert(name, (List<Map<String,Object>>) (List<?>) list, getUserId(), getUsername()));
+ }
/** 查询报表摘要;筛选与分页沿用现有列表交互。 */
@PreAuthorize("@ss.hasPermi('system:compare-report:query')")
--
Gitblit v1.7.1