拆分运费审批/出款页面,补充结算发票附件与菜单 SQL,并同步前后端模型与车辆相关展示。 Co-authored-by: Cursor <cursoragent@cursor.com>
100 lines
3.5 KiB
SQL
100 lines
3.5 KiB
SQL
-- =============================================================================
|
|
-- 运费结算 · 拆分为三菜单(结算 / 审批 / 财务发放)
|
|
-- 执行库:shanxia2.0 门户库
|
|
-- 说明:可重复执行;执行后重新登录刷新菜单
|
|
-- =============================================================================
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- 1. 新增菜单
|
|
-- -----------------------------------------------------------------------------
|
|
|
|
INSERT INTO `sys_menu` (
|
|
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
|
|
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
|
|
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
|
) VALUES
|
|
(
|
|
'PL_FREIGHT_APPROVAL', '运费结算审批', 'PL_MENU_ROOT', 'C',
|
|
'freight-approval', 'pl/freight-approval/index', 'pl:freight-approval:list',
|
|
1, '1', '1', 'shanxia2.0', 31, '待审批与已审批结算单',
|
|
'system', '', NOW(), NULL, NOW(), 0
|
|
),
|
|
(
|
|
'PL_FREIGHT_APPROVAL_Q', '查询', 'PL_FREIGHT_APPROVAL', 'F',
|
|
'', '', 'pl:freight-approval:query',
|
|
1, '1', '1', 'shanxia2.0', 1, NULL,
|
|
'system', '', NOW(), NULL, NOW(), 0
|
|
),
|
|
(
|
|
'PL_FREIGHT_DISBURSE_MENU', '运费财务发放', 'PL_MENU_ROOT', 'C',
|
|
'freight-disburse', 'pl/freight-disburse/index', 'pl:freight-disburse:list',
|
|
1, '1', '1', 'shanxia2.0', 32, '待发放与已发放结算单',
|
|
'system', '', NOW(), NULL, NOW(), 0
|
|
),
|
|
(
|
|
'PL_FREIGHT_DISBURSE_Q', '查询', 'PL_FREIGHT_DISBURSE_MENU', 'F',
|
|
'', '', 'pl:freight-disburse:query',
|
|
1, '1', '1', 'shanxia2.0', 1, NULL,
|
|
'system', '', NOW(), NULL, NOW(), 0
|
|
)
|
|
ON DUPLICATE KEY UPDATE
|
|
`menu_name` = VALUES(`menu_name`),
|
|
`parent_id` = VALUES(`parent_id`),
|
|
`menu_type` = VALUES(`menu_type`),
|
|
`path` = VALUES(`path`),
|
|
`component` = VALUES(`component`),
|
|
`perms` = VALUES(`perms`),
|
|
`visible` = VALUES(`visible`),
|
|
`status` = VALUES(`status`),
|
|
`order_num` = VALUES(`order_num`),
|
|
`update_time` = NOW(),
|
|
`del_flag` = 0;
|
|
|
|
-- 运费结算菜单排序保持在审批、发放之前
|
|
UPDATE `sys_menu`
|
|
SET `order_num` = 30, `update_time` = NOW()
|
|
WHERE `id` = 'PL_FREIGHT' AND `del_flag` = 0;
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- 2. 为已拥有「运费结算」菜单的角色自动授权新菜单
|
|
-- -----------------------------------------------------------------------------
|
|
|
|
INSERT INTO `sys_role_menu` (
|
|
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
|
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
|
)
|
|
SELECT
|
|
REPLACE(UUID(), '-', ''),
|
|
rm.`role_id`,
|
|
m.`menu_id`,
|
|
rm.`tenant_no`,
|
|
m.`order_num`,
|
|
'pl freight split menus auto grant',
|
|
'system',
|
|
'',
|
|
NOW(),
|
|
NULL,
|
|
NOW(),
|
|
0
|
|
FROM `sys_role_menu` rm
|
|
INNER JOIN (
|
|
SELECT 'PL_FREIGHT_APPROVAL' AS menu_id, 31 AS order_num UNION ALL
|
|
SELECT 'PL_FREIGHT_APPROVAL_Q', 1 UNION ALL
|
|
SELECT 'PL_FREIGHT_DISBURSE_MENU', 32 UNION ALL
|
|
SELECT 'PL_FREIGHT_DISBURSE_Q', 1
|
|
) m ON 1 = 1
|
|
WHERE rm.`menu_id` = 'PL_FREIGHT'
|
|
AND rm.`del_flag` = 0
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `sys_role_menu` x
|
|
WHERE x.`role_id` = rm.`role_id` AND x.`menu_id` = m.`menu_id` AND x.`del_flag` = 0
|
|
);
|
|
|
|
SELECT `id`, `menu_name`, `path`, `component`, `perms`, `order_num`
|
|
FROM `sys_menu`
|
|
WHERE `id` IN ('PL_FREIGHT', 'PL_FREIGHT_APPROVAL', 'PL_FREIGHT_DISBURSE_MENU')
|
|
AND `del_flag` = 0
|
|
ORDER BY `order_num`;
|