Merge remote-tracking branch 'ztcloud/test' into dev

This commit is contained in:
yangchaojin
2026-01-21 17:33:45 +08:00
20 changed files with 1218 additions and 7 deletions

View 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
);*/