-- ============================================= -- 财务核算模块菜单初始化脚本 -- ============================================= -- 模块:yudao-module-finance -- 记账凭证 / 总账 / 明细账 / 会计科目 / 固定资产 / 无形资产 / 财务报表 -- 前端页面:mom-pro2-before/src/views/erp/finance/** -- 后端权限码:见各 Controller 的 @PreAuthorize -- -- 说明: -- 1. 新建一级菜单「财务核算」(/finance-core)。原 ERP 下的「财务管理」(id=2645) -- 因其父菜单「ERP 系统」(id=2563) 已停用而不可见,本脚本把它挂到「财务核算」下, -- 恢复 结算账户/付款单/收款单 三个菜单(原 role_menu 授权保留)。 -- 2. 页面菜单(type=2) 各自携带 :query 权限;增删改/导出/折旧摊销等操作权限建成按钮(type=3)。 -- 3. 总账与明细账共用 finance:ledger:query、finance:ledger:export 两个权限码, -- 因此「导出账簿」按钮只挂在「总账」下 —— 同一权限码在角色授权树里出现一次即可, -- 授予后「明细账」的导出按钮同样生效。 -- 4. 幂等:先删除本脚本占用的 id 区间 (1075600~1075649) 及对应角色授权再插入,可重复执行。 -- 注意:若之后已在「角色管理」里给这些菜单授权,重跑本脚本会丢失对应 system_role_menu 记录。 -- 5. 不含 tenant_id(本项目非多租户)。 -- ============================================= DELETE FROM system_role_menu WHERE menu_id BETWEEN 1075600 AND 1075649; DELETE FROM system_menu WHERE id BETWEEN 1075600 AND 1075649; -- --------------------------------------------------------------- -- 一级菜单 -- --------------------------------------------------------------- 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 (1075600, '财务核算', '', 1, 4, 0, '/finance-core', 'ep:money', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); -- --------------------------------------------------------------- -- 页面菜单 (type=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 (1075601, '记账凭证', 'finance:voucher:query', 2, 1, 1075600, 'voucher', 'ep:document', 'erp/finance/voucher/index', 'FinVoucher', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075602, '总账', 'finance:ledger:query', 2, 2, 1075600, 'general-ledger', 'ep:notebook', 'erp/finance/ledger/general/index', 'FinGeneralLedger', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075603, '明细账', 'finance:ledger:query', 2, 3, 1075600, 'detail-ledger', 'ep:list', 'erp/finance/ledger/detail/index', 'FinDetailLedger', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075604, '会计科目', 'finance:account-subject:query', 2, 4, 1075600, 'subject', 'ep:collection-tag', 'erp/finance/subject/index', 'FinAccountSubject', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075605, '固定资产', 'finance:fixed-asset:query', 2, 5, 1075600, 'fixed-asset', 'ep:office-building', 'erp/finance/fixed-asset/index', 'FinFixedAsset', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075606, '无形资产', 'finance:intangible-asset:query', 2, 6, 1075600, 'intangible-asset','ep:medal', 'erp/finance/intangible-asset/index', 'FinIntangibleAsset', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075607, '财务报表', 'finance:statistics:query', 2, 7, 1075600, 'statistics', 'ep:data-line', 'erp/finance/statistics/index', 'FinStatistics', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'); -- --------------------------------------------------------------- -- 按钮权限 (type=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 -- 记账凭证 (1075610, '凭证新增', 'finance:voucher:create', 3, 1, 1075601, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075611, '凭证修改', 'finance:voucher:update', 3, 2, 1075601, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075612, '凭证删除', 'finance:voucher:delete', 3, 3, 1075601, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075613, '凭证状态变更', 'finance:voucher:update-status', 3, 4, 1075601, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075614, '凭证导出', 'finance:voucher:export', 3, 5, 1075601, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), -- 总账 / 明细账(两页共用 finance:ledger:query,导出权限只在此处挂一次,见文件头说明 3) (1075620, '账簿导出', 'finance:ledger:export', 3, 1, 1075602, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), -- 会计科目 (1075621, '科目新增', 'finance:account-subject:create',3, 1, 1075604, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075622, '科目修改', 'finance:account-subject:update',3, 2, 1075604, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075623, '科目删除', 'finance:account-subject:delete',3, 3, 1075604, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075624, '科目导出', 'finance:account-subject:export',3, 4, 1075604, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), -- 固定资产 (1075630, '资产新增', 'finance:fixed-asset:create', 3, 1, 1075605, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075631, '资产修改', 'finance:fixed-asset:update', 3, 2, 1075605, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075632, '资产删除', 'finance:fixed-asset:delete', 3, 3, 1075605, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075633, '计提折旧', 'finance:fixed-asset:depreciate',3, 4, 1075605, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075634, '资产导出', 'finance:fixed-asset:export', 3, 5, 1075605, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), -- 无形资产 (1075640, '资产新增', 'finance:intangible-asset:create', 3, 1, 1075606, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075641, '资产修改', 'finance:intangible-asset:update', 3, 2, 1075606, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075642, '资产删除', 'finance:intangible-asset:delete', 3, 3, 1075606, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075643, '无形资产摊销', 'finance:intangible-asset:amortize', 3, 4, 1075606, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1075644, '资产导出', 'finance:intangible-asset:export', 3, 5, 1075606, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'); -- --------------------------------------------------------------- -- 角色授权(可选) -- 超级管理员 (super_admin) 由代码直接返回全部菜单,无需授权。 -- 若要把财务核算放给某个角色,在「系统管理 → 角色管理」里勾选即可; -- 也可用下面的语句直接授权(把 换成目标角色 id,参考:163 设备 / 164 质量 / 165 销售): -- -- INSERT INTO system_role_menu (role_id, menu_id, creator, create_time, updater, update_time, deleted) -- SELECT 165, id, '1', NOW(), '1', NOW(), b'0' FROM system_menu WHERE id BETWEEN 1075600 AND 1075649; -- --------------------------------------------------------------- -- --------------------------------------------------------------- -- 恢复原有 ERP「财务管理」(id=2645) 子树 -- 其父菜单「ERP 系统」(id=2563) 已停用,导致 结算账户/付款单/收款单 无法显示; -- 现挂到「财务核算」下作为二级目录(排序 8,排在财务报表之后)。 -- --------------------------------------------------------------- UPDATE system_menu SET parent_id = 1075600, sort = 8 WHERE id = 2645; -- --------------------------------------------------------------- -- 给原本拥有「财务管理」(2645) 的角色补授新增的财务核算菜单 -- (超管由代码直接返回全部菜单,不受影响) -- --------------------------------------------------------------- INSERT INTO system_role_menu (role_id, menu_id, creator, create_time, updater, update_time, deleted) SELECT DISTINCT rm.role_id, m.id, '1', NOW(), '1', NOW(), b'0' FROM system_menu m JOIN system_role_menu rm ON rm.menu_id = 2645 AND rm.deleted = b'0' WHERE m.id BETWEEN 1075600 AND 1075649 AND NOT EXISTS (SELECT 1 FROM system_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = m.id AND x.deleted = b'0'); -- --------------------------------------------------------------- -- 回滚脚本 -- UPDATE system_menu SET parent_id = 2563, sort = 50 WHERE id = 2645; -- DELETE FROM system_menu WHERE id BETWEEN 1075600 AND 1075649; -- DELETE FROM system_role_menu WHERE menu_id BETWEEN 1075600 AND 1075649; -- ---------------------------------------------------------------