From fc717ad1098711df4c50e8e1a7531a9ff32173da Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 07 九月 2026 19:14:31 +0800
Subject: [PATCH] 补齐拼接报表指定版本打印权限
---
ruoyi-admin/src/main/resources/db/migration-final/V18__splice_report_print_permission.sql | 12 ++++++++++++
ruoyi-admin/src/main/java/com/battery/business/web/SpliceReportController.java | 1 +
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/battery/business/web/SpliceReportController.java b/ruoyi-admin/src/main/java/com/battery/business/web/SpliceReportController.java
index 67c434a..e47fd5b 100644
--- a/ruoyi-admin/src/main/java/com/battery/business/web/SpliceReportController.java
+++ b/ruoyi-admin/src/main/java/com/battery/business/web/SpliceReportController.java
@@ -11,6 +11,7 @@
@GetMapping("/{id}/editing") @PreAuthorize("@ss.hasPermi('system:splice-report:edit')") public AjaxResult editing(@PathVariable long id){return success(service.get(id,null));}
@GetMapping("/{id}/versions") @PreAuthorize("@ss.hasPermi('system:splice-report:query')") public AjaxResult history(@PathVariable long id){return success(reports.history(id));}
@GetMapping("/{id}/versions/{version}") @PreAuthorize("@ss.hasPermi('system:splice-report:query')") public AjaxResult version(@PathVariable long id,@PathVariable int version){return success(service.get(id,version));}
+ /** 仅按导出权限读取指定冻结版本;来源测试删除后仍可打印,不登记下载结果。 */
@GetMapping("/{id}/versions/{version}/print") @PreAuthorize("@ss.hasPermi('system:splice-report:export')") public AjaxResult print(@PathVariable long id,@PathVariable int version){return success(service.get(id,version));}
@PostMapping("/{id}/versions") @PreAuthorize("@ss.hasPermi('system:splice-report:edit')") public AjaxResult edit(@PathVariable long id,@Valid @RequestBody SpliceReportRequest.Edit r){return success(service.edit(id,r,getUserId(),getUsername()));}
@PostMapping("/{id}/refresh-source") @PreAuthorize("@ss.hasPermi('system:splice-report:edit')") public AjaxResult refresh(@PathVariable long id,@RequestBody java.util.Map<String,Object> body){return success(service.refresh(id,((Number)body.get("baseVersionNo")).intValue(),String.valueOf(body.getOrDefault("changeSummary","")),getUserId(),getUsername()));}
diff --git a/ruoyi-admin/src/main/resources/db/migration-final/V18__splice_report_print_permission.sql b/ruoyi-admin/src/main/resources/db/migration-final/V18__splice_report_print_permission.sql
new file mode 100644
index 0000000..896145c
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/db/migration-final/V18__splice_report_print_permission.sql
@@ -0,0 +1,12 @@
+-- 既有 V17 未创建正式拼接菜单,指定版本查看与打印必须使用接口对应的权限。
+SET @splice_analysis_menu_id = (SELECT menu_id FROM sys_menu WHERE path='data-analysis' AND parent_id=0 LIMIT 1);
+INSERT INTO sys_menu(menu_name,parent_id,order_num,path,menu_type,visible,status,perms,create_by,create_time)
+SELECT '拼接报表',@splice_analysis_menu_id,3,'report-splice','C','0','0','','system',UTC_TIMESTAMP(3)
+WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE path='report-splice' AND parent_id=@splice_analysis_menu_id);
+SET @splice_print_menu_id = (SELECT menu_id FROM sys_menu WHERE path='report-splice' AND parent_id=@splice_analysis_menu_id LIMIT 1);
+INSERT INTO sys_menu(menu_name,parent_id,order_num,path,menu_type,visible,status,perms,create_by,create_time)
+SELECT '查看',@splice_print_menu_id,1,'#','F','0','0','system:splice-report:query','system',UTC_TIMESTAMP(3)
+WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms='system:splice-report:query');
+INSERT INTO sys_menu(menu_name,parent_id,order_num,path,menu_type,visible,status,perms,create_by,create_time)
+SELECT '导出',@splice_print_menu_id,5,'#','F','0','0','system:splice-report:export','system',UTC_TIMESTAMP(3)
+WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms='system:splice-report:export');
--
Gitblit v1.7.1