2026-08-05 9e97c94713ada364bfee7be2616c79a53bafb8c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
-- =============================================
-- BI 决策BI大屏模块 SQL 初始化脚本
-- 包含仪表盘定义、图表配置、数据源配置相关表
-- =============================================
 
-- =============================================
-- 1. 仪表盘定义表
-- =============================================
CREATE TABLE IF NOT EXISTS `bi_dashboard` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `name` varchar(100) NOT NULL COMMENT '仪表盘名称',
    `code` varchar(100) NOT NULL COMMENT '仪表盘编码(唯一标识)',
    `group_code` varchar(50) NOT NULL COMMENT '所属分组:purchase_sales/warehouse/production_equipment/quality/hr_oa',
    `icon` varchar(100) DEFAULT NULL COMMENT '图标',
    `sort` int NOT NULL DEFAULT 0 COMMENT '排序',
    `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-禁用 1-启用',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`),
    KEY `idx_group_code` (`group_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BI仪表盘定义表';
 
-- =============================================
-- 2. 图表配置表
-- =============================================
CREATE TABLE IF NOT EXISTS `bi_chart_config` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `dashboard_id` bigint NOT NULL COMMENT '所属仪表盘ID',
    `name` varchar(100) NOT NULL COMMENT '图表名称',
    `chart_type` varchar(50) NOT NULL COMMENT '图表类型:bar/line/pie/scatter/gauge/table/number',
    `data_source_id` bigint DEFAULT NULL COMMENT '数据源配置ID',
    `query_sql` text COMMENT '查询SQL(支持 {{param}} 占位符)',
    `position` json DEFAULT NULL COMMENT '布局位置 {x, y, w, h}',
    `chart_options` json DEFAULT NULL COMMENT 'ECharts 配置项覆盖',
    `refresh_interval` int NOT NULL DEFAULT 0 COMMENT '刷新间隔(秒),0表示不自动刷新',
    `sort` int NOT NULL DEFAULT 0 COMMENT '排序',
    `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-禁用 1-启用',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    KEY `idx_dashboard_id` (`dashboard_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BI图表配置表';
 
-- =============================================
-- 3. 数据源配置表
-- =============================================
CREATE TABLE IF NOT EXISTS `bi_data_source_config` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `name` varchar(100) NOT NULL COMMENT '数据源名称',
    `type` varchar(50) NOT NULL DEFAULT 'mysql' COMMENT '类型:mysql/api',
    `config` json DEFAULT NULL COMMENT '连接配置',
    `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-禁用 1-启用',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BI数据源配置表';
 
-- =============================================
-- 4. 菜单权限
-- =============================================
 
-- 4.1 决策BI大屏目录
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063000, '决策BI大屏', '', 1, 45, 0, '/bi', 'ep:data-analysis', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.2 采购销售售后大屏
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063001, '采购销售售后大屏', '', 2, 1, 1063000, 'purchase-sales', 'ep:trend-charts', 'bi/dashboard/index', 'BiPurchaseSalesDashboard', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.3 仓库大屏
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063002, '仓库大屏', '', 2, 2, 1063000, 'warehouse', 'ep:warehouse', 'bi/dashboard/index', 'BiWarehouseDashboard', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.4 生产设备大屏
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063003, '生产设备大屏', '', 2, 3, 1063000, 'production-equipment', 'ep:set-up', 'bi/dashboard/index', 'BiProductionEquipmentDashboard', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.5 质量大屏
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063004, '质量大屏', '', 2, 4, 1063000, 'quality', 'ep:circle-check', 'bi/dashboard/index', 'BiQualityDashboard', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.6 人资办公大屏
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063005, '人资办公大屏', '', 2, 5, 1063000, 'hr-oa', 'ep:office-building', 'bi/dashboard/index', 'BiHrOaDashboard', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.7 配置管理目录
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063006, '配置管理', '', 1, 6, 1063000, 'config', 'ep:setting', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.8 图表配置菜单
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063007, '图表配置', '', 2, 1, 1063006, 'chart-config', 'ep:pie-chart', 'bi/config/chart/index', 'BiChartConfig', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 按钮权限
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063071, '图表配置查询', 'bi:chart-config:query', 3, 1, 1063007, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063072, '图表配置新增', 'bi:chart-config:create', 3, 2, 1063007, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063073, '图表配置修改', 'bi:chart-config:update', 3, 3, 1063007, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063074, '图表配置删除', 'bi:chart-config:delete', 3, 4, 1063007, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 4.9 数据源配置菜单
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063008, '数据源配置', '', 2, 2, 1063006, 'data-source-config', 'ep:connection', 'bi/config/data-source/index', 'BiDataSourceConfig', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- 按钮权限
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063081, '数据源配置查询', 'bi:data-source-config:query', 3, 1, 1063008, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063082, '数据源配置新增', 'bi:data-source-config:create', 3, 2, 1063008, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063083, '数据源配置修改', 'bi:data-source-config:update', 3, 3, 1063008, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1063084, '数据源配置删除', 'bi:data-source-config:delete', 3, 4, 1063008, '', '', '', NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- =============================================
-- 5. 角色菜单关联(角色ID=1 超级管理员)
-- =============================================
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063000, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063001, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063002, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063003, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063004, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063005, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063006, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063007, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063071, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063072, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063073, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063074, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063008, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063081, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063082, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063083, '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, 1063084, '1', NOW(), '1', NOW(), b'0');
 
-- =============================================
-- 6. 默认仪表盘数据
-- =============================================
INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1, '采购销售售后大屏', 'purchase_sales', 'purchase_sales', 'ep:trend-charts', 1, 1, '采购、销售、售后业务概览', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (2, '仓库大屏', 'warehouse', 'warehouse', 'ep:warehouse', 2, 1, '仓储物流业务概览', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (3, '生产设备大屏', 'production_equipment', 'production_equipment', 'ep:set-up', 3, 1, '生产管控、设备管理业务概览', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (4, '质量大屏', 'quality', 'quality', 'ep:circle-check', 4, 1, '质量管理业务概览', '1', NOW(), '1', NOW(), b'0');
 
INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (5, '人资办公大屏', 'hr_oa', 'hr_oa', 'ep:office-building', 5, 1, '人力资源、协同办公业务概览', '1', NOW(), '1', NOW(), b'0');
 
-- =============================================
-- 执行完成提示
-- =============================================
SELECT 'BI 决策BI大屏模块 SQL 初始化完成!' AS result;