200 lines
3.4 KiB
Transact-SQL
200 lines
3.4 KiB
Transact-SQL
/* 修改人:Ld 修改时间:2026-08-06 16:15:15; 补回建议清单缺项并重排角色2新一级菜单下二级组件顺序 */
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRAN;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.基础表_角色模块信息
|
|
WHERE id = 135
|
|
AND pid = 163
|
|
AND 角色编号 = 2
|
|
)
|
|
BEGIN
|
|
INSERT INTO dbo.基础表_角色模块信息
|
|
(
|
|
id,
|
|
pid,
|
|
模块顺序,
|
|
角色编号,
|
|
是否启用,
|
|
角色模块顺序
|
|
)
|
|
VALUES
|
|
(
|
|
135,
|
|
163,
|
|
135,
|
|
2,
|
|
1,
|
|
7
|
|
);
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.基础表_角色模块信息
|
|
SET 是否启用 = 1,
|
|
角色模块顺序 = 7
|
|
WHERE id = 135
|
|
AND pid = 163
|
|
AND 角色编号 = 2;
|
|
END;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.基础表_角色模块信息
|
|
WHERE id = 45
|
|
AND pid = 164
|
|
AND 角色编号 = 2
|
|
)
|
|
BEGIN
|
|
INSERT INTO dbo.基础表_角色模块信息
|
|
(
|
|
id,
|
|
pid,
|
|
模块顺序,
|
|
角色编号,
|
|
是否启用,
|
|
角色模块顺序
|
|
)
|
|
VALUES
|
|
(
|
|
45,
|
|
164,
|
|
45,
|
|
2,
|
|
1,
|
|
24
|
|
);
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.基础表_角色模块信息
|
|
SET 是否启用 = 1,
|
|
角色模块顺序 = 24
|
|
WHERE id = 45
|
|
AND pid = 164
|
|
AND 角色编号 = 2;
|
|
END;
|
|
|
|
DECLARE @OrderMap TABLE
|
|
(
|
|
id INT PRIMARY KEY,
|
|
pid INT NOT NULL,
|
|
顺序 INT NOT NULL
|
|
);
|
|
|
|
INSERT INTO @OrderMap (id, pid, 顺序)
|
|
VALUES
|
|
(132, 159, 1),
|
|
(67, 160, 1),
|
|
(11, 160, 2),
|
|
(12, 160, 3),
|
|
(13, 160, 4),
|
|
(14, 160, 5),
|
|
(147, 160, 6),
|
|
(68, 160, 7),
|
|
(17, 160, 8),
|
|
(16, 160, 9),
|
|
(18, 160, 10),
|
|
(81, 160, 11),
|
|
(19, 160, 12),
|
|
(15, 160, 13),
|
|
(99, 160, 14),
|
|
(86, 160, 15),
|
|
(87, 160, 16),
|
|
(108, 160, 17),
|
|
(114, 160, 18),
|
|
(120, 160, 19),
|
|
(82, 160, 20),
|
|
(129, 160, 21),
|
|
(155, 160, 22),
|
|
(156, 160, 23),
|
|
(35, 160, 24),
|
|
(36, 160, 25),
|
|
(37, 160, 26),
|
|
(41, 160, 27),
|
|
(124, 160, 28),
|
|
(157, 160, 29),
|
|
(88, 160, 30),
|
|
(94, 161, 1),
|
|
(78, 161, 2),
|
|
(28, 161, 3),
|
|
(98, 161, 4),
|
|
(80, 161, 5),
|
|
(29, 161, 6),
|
|
(79, 161, 7),
|
|
(30, 161, 8),
|
|
(100, 161, 9),
|
|
(84, 161, 10),
|
|
(95, 161, 11),
|
|
(153, 161, 12),
|
|
(154, 161, 13),
|
|
(149, 161, 14),
|
|
(25, 162, 1),
|
|
(69, 162, 2),
|
|
(24, 162, 3),
|
|
(102, 162, 4),
|
|
(21, 162, 5),
|
|
(22, 162, 6),
|
|
(23, 162, 7),
|
|
(117, 162, 8),
|
|
(134, 162, 9),
|
|
(150, 162, 10),
|
|
(125, 162, 11),
|
|
(126, 162, 12),
|
|
(133, 162, 13),
|
|
(104, 163, 1),
|
|
(110, 163, 2),
|
|
(103, 163, 3),
|
|
(121, 163, 4),
|
|
(128, 163, 5),
|
|
(131, 163, 6),
|
|
(135, 163, 7),
|
|
(43, 164, 1),
|
|
(112, 164, 2),
|
|
(44, 164, 3),
|
|
(46, 164, 4),
|
|
(47, 164, 5),
|
|
(48, 164, 6),
|
|
(49, 164, 7),
|
|
(75, 164, 8),
|
|
(51, 164, 9),
|
|
(76, 164, 10),
|
|
(77, 164, 11),
|
|
(50, 164, 12),
|
|
(92, 164, 13),
|
|
(93, 164, 14),
|
|
(96, 164, 15),
|
|
(118, 164, 16),
|
|
(122, 164, 17),
|
|
(123, 164, 18),
|
|
(130, 164, 19),
|
|
(138, 164, 20),
|
|
(143, 164, 21),
|
|
(151, 164, 22),
|
|
(158, 164, 23),
|
|
(45, 164, 24);
|
|
|
|
UPDATE r
|
|
SET r.pid = o.pid,
|
|
r.模块顺序 = r.id,
|
|
r.是否启用 = 1,
|
|
r.角色模块顺序 = o.顺序
|
|
FROM dbo.基础表_角色模块信息 r
|
|
INNER JOIN @OrderMap o ON o.id = r.id
|
|
WHERE r.角色编号 = 2
|
|
AND r.pid IN (159, 160, 161, 162, 163, 164);
|
|
|
|
SELECT p.title AS 一级菜单, COUNT(*) AS 二级数量
|
|
FROM dbo.基础表_角色模块信息 r
|
|
INNER JOIN dbo.基础表_模块信息 p ON p.id = r.pid
|
|
WHERE r.角色编号 = 2
|
|
AND ISNULL(r.是否启用, 1) = 1
|
|
AND r.pid IN (159, 160, 161, 162, 163, 164)
|
|
GROUP BY p.title, r.pid
|
|
ORDER BY r.pid;
|
|
|
|
COMMIT TRAN;
|