Merge remote-tracking branch 'ztcloud/test' into dev
This commit is contained in:
132
sql/dm/外部系统推送配置初始化_DM8_20260120.sql
Normal file
132
sql/dm/外部系统推送配置初始化_DM8_20260120.sql
Normal file
@@ -0,0 +1,132 @@
|
||||
-- DM8 外部系统推送配置初始化脚本
|
||||
-- 用于配置不同公司/部门/业务类型下的外部系统推送开关
|
||||
-- 创建日期:2026-01-20
|
||||
|
||||
-- 重复执行时请先备份数据
|
||||
-- DROP TABLE IF EXISTS system_external_push_config;
|
||||
|
||||
-- 创建表
|
||||
CREATE TABLE system_external_push_config (
|
||||
id BIGINT NOT NULL PRIMARY KEY,
|
||||
company_id BIGINT DEFAULT NULL NULL,
|
||||
dept_id BIGINT DEFAULT NULL NULL,
|
||||
business_type VARCHAR(32) DEFAULT NULL NULL,
|
||||
external_system VARCHAR(64) DEFAULT NULL NULL,
|
||||
enable_push BIT DEFAULT '1' NOT NULL,
|
||||
remark VARCHAR(512) DEFAULT NULL NULL,
|
||||
tenant_id BIGINT DEFAULT 0 NOT NULL,
|
||||
creator VARCHAR(64) DEFAULT '' NULL,
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
updater VARCHAR(64) DEFAULT '' NULL,
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
deleted TINYINT DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE system_external_push_config IS '外部系统推送配置';
|
||||
COMMENT ON COLUMN system_external_push_config.id IS '主键编号';
|
||||
COMMENT ON COLUMN system_external_push_config.company_id IS '公司编号(关联 system_dept 表的 is_company=1 的记录,为空表示不限制公司)';
|
||||
COMMENT ON COLUMN system_external_push_config.dept_id IS '部门编号(关联 system_dept 表的 is_company=0 的记录,为空表示公司级配置)';
|
||||
COMMENT ON COLUMN system_external_push_config.business_type IS '业务类型(PURCHASE/SALE/PRODUCTION,为空表示所有业务类型)';
|
||||
COMMENT ON COLUMN system_external_push_config.external_system IS '外部系统标识(ERP/IWORK/等,为空表示所有外部系统)';
|
||||
COMMENT ON COLUMN system_external_push_config.enable_push IS '是否启用推送(1启用 0停用)';
|
||||
COMMENT ON COLUMN system_external_push_config.remark IS '备注';
|
||||
COMMENT ON COLUMN system_external_push_config.tenant_id IS '租户编号';
|
||||
COMMENT ON COLUMN system_external_push_config.creator IS '创建者';
|
||||
COMMENT ON COLUMN system_external_push_config.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN system_external_push_config.updater IS '更新者';
|
||||
COMMENT ON COLUMN system_external_push_config.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN system_external_push_config.deleted IS '删除标记(0未删除 1已删除)';
|
||||
|
||||
/*-- 唯一索引:租户+公司+部门+业务类型+外部系统的组合唯一
|
||||
-- 注意:因为 dept_id 和 external_system 可以为 NULL,使用 COALESCE 处理
|
||||
CREATE UNIQUE INDEX uk_external_push_config_unique
|
||||
ON system_external_push_config (tenant_id, company_id, COALESCE(dept_id, 0), business_type, COALESCE(external_system, ''));
|
||||
|
||||
-- 辅助索引:按公司查询
|
||||
CREATE INDEX idx_external_push_config_company
|
||||
ON system_external_push_config (tenant_id, company_id);
|
||||
|
||||
-- 辅助索引:按业务类型查询
|
||||
CREATE INDEX idx_external_push_config_biz_type
|
||||
ON system_external_push_config (tenant_id, business_type);
|
||||
|
||||
|
||||
|
||||
-- 初始化菜单权限数据
|
||||
-- 主菜单
|
||||
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
|
||||
)
|
||||
SELECT
|
||||
20060, '外部系统推送配置', '', 2, 60, 1,
|
||||
'external-push-config', 'setting', 'system/push/config/index', 'SystemExternalPushConfig', 0,
|
||||
'1', '1', '1', 'admin', SYSDATE,
|
||||
'admin', SYSDATE, 0
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM system_menu WHERE id = 20060
|
||||
);
|
||||
|
||||
-- 查询权限
|
||||
INSERT INTO system_menu (
|
||||
id, name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, visible, keep_alive,
|
||||
creator, create_time, updater, update_time, deleted
|
||||
)
|
||||
SELECT
|
||||
2006001, '推送配置查询', 'system:external-push-config:query', 3, 1, 20060,
|
||||
'', '', '', 0, '1', '1',
|
||||
'admin', SYSDATE, 'admin', SYSDATE, 0
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM system_menu WHERE id = 2006001
|
||||
);
|
||||
|
||||
-- 创建权限
|
||||
INSERT INTO system_menu (
|
||||
id, name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, visible, keep_alive,
|
||||
creator, create_time, updater, update_time, deleted
|
||||
)
|
||||
SELECT
|
||||
2006002, '推送配置创建', 'system:external-push-config:create', 3, 2, 20060,
|
||||
'', '', '', 0, '1', '1',
|
||||
'admin', SYSDATE, 'admin', SYSDATE, 0
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM system_menu WHERE id = 2006002
|
||||
);
|
||||
|
||||
-- 修改权限
|
||||
INSERT INTO system_menu (
|
||||
id, name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, visible, keep_alive,
|
||||
creator, create_time, updater, update_time, deleted
|
||||
)
|
||||
SELECT
|
||||
2006003, '推送配置修改', 'system:external-push-config:update', 3, 3, 20060,
|
||||
'', '', '', 0, '1', '1',
|
||||
'admin', SYSDATE, 'admin', SYSDATE, 0
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM system_menu WHERE id = 2006003
|
||||
);
|
||||
|
||||
-- 删除权限
|
||||
INSERT INTO system_menu (
|
||||
id, name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, visible, keep_alive,
|
||||
creator, create_time, updater, update_time, deleted
|
||||
)
|
||||
SELECT
|
||||
2006004, '推送配置删除', 'system:external-push-config:delete', 3, 4, 20060,
|
||||
'', '', '', 0, '1', '1',
|
||||
'admin', SYSDATE, 'admin', SYSDATE, 0
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM system_menu WHERE id = 2006004
|
||||
);*/
|
||||
Reference in New Issue
Block a user