feat: 增加工时报表导出并调整质量菜单
This commit is contained in:
@@ -25,7 +25,7 @@ BEGIN
|
||||
(
|
||||
SELECT
|
||||
src.[账号代码],
|
||||
COALESCE(prodParent.[id], src.[pid]) AS [pid],
|
||||
qualityParent.[id] AS [pid],
|
||||
src.[icon],
|
||||
src.[AddData],
|
||||
src.[DeleteData],
|
||||
@@ -37,13 +37,15 @@ BEGIN
|
||||
SELECT TOP (1) rp.[id]
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS rp
|
||||
WHERE rp.[账号代码] = src.[账号代码]
|
||||
AND rp.[pid] = 0
|
||||
AND rp.[是否启用] = 1
|
||||
AND rp.[title] = N'生产管理'
|
||||
AND (rp.[title] = N'质量管理' OR rp.[path] = '/QualityManagement' OR rp.[name] = 'QualityManagement')
|
||||
ORDER BY rp.[id]
|
||||
) AS prodParent
|
||||
) AS qualityParent
|
||||
WHERE src.[是否启用] = 1
|
||||
AND (@TargetRole IS NULL OR src.[账号代码] = @TargetRole)
|
||||
AND (src.[path] = @SourcePath OR src.[componet] = @SourceComponent OR src.[title] = N'生产计划跟踪')
|
||||
AND qualityParent.[id] IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
@@ -77,7 +79,7 @@ BEGIN
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY src.[账号代码], src.[id]) AS rn,
|
||||
src.[账号代码],
|
||||
COALESCE(prodParent.[id], src.[pid]) AS [pid],
|
||||
qualityParent.[id] AS [pid],
|
||||
src.[icon],
|
||||
src.[AddData],
|
||||
src.[DeleteData],
|
||||
@@ -89,13 +91,15 @@ BEGIN
|
||||
SELECT TOP (1) rp.[id]
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS rp
|
||||
WHERE rp.[账号代码] = src.[账号代码]
|
||||
AND rp.[pid] = 0
|
||||
AND rp.[是否启用] = 1
|
||||
AND rp.[title] = N'生产管理'
|
||||
AND (rp.[title] = N'质量管理' OR rp.[path] = '/QualityManagement' OR rp.[name] = 'QualityManagement')
|
||||
ORDER BY rp.[id]
|
||||
) AS prodParent
|
||||
) AS qualityParent
|
||||
WHERE src.[是否启用] = 1
|
||||
AND (@TargetRole IS NULL OR src.[账号代码] = @TargetRole)
|
||||
AND (src.[path] = @SourcePath OR src.[componet] = @SourceComponent OR src.[title] = N'生产计划跟踪')
|
||||
AND qualityParent.[id] IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
@@ -132,6 +136,24 @@ END;
|
||||
|
||||
UPDATE [dbo].[登录基础数据_二级菜单]
|
||||
SET
|
||||
[pid] = COALESCE
|
||||
(
|
||||
(
|
||||
SELECT TOP (1) qualityParent.[id]
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS qualityParent
|
||||
WHERE qualityParent.[账号代码] = [dbo].[登录基础数据_二级菜单].[账号代码]
|
||||
AND qualityParent.[pid] = 0
|
||||
AND qualityParent.[是否启用] = 1
|
||||
AND
|
||||
(
|
||||
qualityParent.[title] = N'质量管理'
|
||||
OR qualityParent.[path] = '/QualityManagement'
|
||||
OR qualityParent.[name] = 'QualityManagement'
|
||||
)
|
||||
ORDER BY qualityParent.[id]
|
||||
),
|
||||
[pid]
|
||||
),
|
||||
[path] = @Path,
|
||||
[componet] = @Component,
|
||||
[name] = @Name,
|
||||
@@ -144,4 +166,3 @@ SELECT [id], [pid], [path], [componet], [name], [title], [icon], [账号代码],
|
||||
FROM [dbo].[登录基础数据_二级菜单]
|
||||
WHERE [path] = @Path OR [componet] = @Component OR [title] = @Title
|
||||
ORDER BY [账号代码], [id];
|
||||
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
USE [YL_MESDB];
|
||||
GO
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
DECLARE @QualityMenuId int = 4;
|
||||
|
||||
DECLARE @TargetAccounts TABLE
|
||||
(
|
||||
[账号代码] int PRIMARY KEY
|
||||
);
|
||||
|
||||
INSERT INTO @TargetAccounts ([账号代码])
|
||||
SELECT DISTINCT [账号代码]
|
||||
FROM [dbo].[登录基础数据_二级菜单]
|
||||
WHERE [path] = 'ProductPassRateWorkstation/index'
|
||||
OR [componet] = '/ProductionManagement/ProductPassRateWorkstation/index'
|
||||
OR [name] = 'ProductPassRateWorkstation'
|
||||
OR [title] IN (N'产品合格率工位', N'产品合格率(工位)');
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM @TargetAccounts)
|
||||
BEGIN
|
||||
THROW 50001, N'未找到产品合格率工位菜单,未执行迁移。', 1;
|
||||
END;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
IF EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
FROM @TargetAccounts AS target
|
||||
INNER JOIN [dbo].[登录基础数据_二级菜单] AS menu WITH (UPDLOCK, HOLDLOCK)
|
||||
ON menu.[账号代码] = target.[账号代码]
|
||||
AND menu.[id] = @QualityMenuId
|
||||
WHERE menu.[pid] <> 0
|
||||
OR menu.[path] <> '/QualityManagement'
|
||||
OR menu.[name] <> 'QualityManagement'
|
||||
OR menu.[title] <> N'质量管理'
|
||||
)
|
||||
BEGIN
|
||||
THROW 50002, N'目标账号的菜单 ID 4 已被其他菜单占用,未执行迁移。', 1;
|
||||
END;
|
||||
|
||||
INSERT INTO [dbo].[登录基础数据_二级菜单]
|
||||
([id], [pid], [path], [componet], [redirect], [name], [title], [icon], [账号代码], [模块代码], [操作时间], [是否启用])
|
||||
SELECT
|
||||
@QualityMenuId,
|
||||
0,
|
||||
'/QualityManagement',
|
||||
'/layout/Layout',
|
||||
NULL,
|
||||
'QualityManagement',
|
||||
N'质量管理',
|
||||
'KKIMaintenance',
|
||||
target.[账号代码],
|
||||
@QualityMenuId,
|
||||
GETDATE(),
|
||||
1
|
||||
FROM @TargetAccounts AS target
|
||||
WHERE NOT EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS existing WITH (UPDLOCK, HOLDLOCK)
|
||||
WHERE existing.[账号代码] = target.[账号代码]
|
||||
AND existing.[id] = @QualityMenuId
|
||||
);
|
||||
|
||||
UPDATE qualityMenu
|
||||
SET
|
||||
qualityMenu.[pid] = 0,
|
||||
qualityMenu.[path] = '/QualityManagement',
|
||||
qualityMenu.[componet] = '/layout/Layout',
|
||||
qualityMenu.[redirect] = NULL,
|
||||
qualityMenu.[name] = 'QualityManagement',
|
||||
qualityMenu.[title] = N'质量管理',
|
||||
qualityMenu.[icon] = 'KKIMaintenance',
|
||||
qualityMenu.[模块代码] = @QualityMenuId,
|
||||
qualityMenu.[是否启用] = 1,
|
||||
qualityMenu.[操作时间] = GETDATE()
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS qualityMenu
|
||||
INNER JOIN @TargetAccounts AS target
|
||||
ON target.[账号代码] = qualityMenu.[账号代码]
|
||||
WHERE qualityMenu.[id] = @QualityMenuId;
|
||||
|
||||
UPDATE targetMenu
|
||||
SET
|
||||
targetMenu.[pid] = @QualityMenuId,
|
||||
targetMenu.[path] = 'ProductPassRateWorkstation/index',
|
||||
targetMenu.[componet] = '/ProductionManagement/ProductPassRateWorkstation/index',
|
||||
targetMenu.[redirect] = NULL,
|
||||
targetMenu.[name] = 'ProductPassRateWorkstation',
|
||||
targetMenu.[title] = N'产品合格率(工位)',
|
||||
targetMenu.[模块代码] = targetMenu.[id],
|
||||
targetMenu.[是否启用] = 1,
|
||||
targetMenu.[操作时间] = GETDATE()
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS targetMenu
|
||||
INNER JOIN @TargetAccounts AS target
|
||||
ON target.[账号代码] = targetMenu.[账号代码]
|
||||
WHERE targetMenu.[path] = 'ProductPassRateWorkstation/index'
|
||||
OR targetMenu.[componet] = '/ProductionManagement/ProductPassRateWorkstation/index'
|
||||
OR targetMenu.[name] = 'ProductPassRateWorkstation'
|
||||
OR targetMenu.[title] IN (N'产品合格率工位', N'产品合格率(工位)');
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
|
||||
SELECT
|
||||
menu.[id],
|
||||
menu.[pid],
|
||||
menu.[path],
|
||||
menu.[componet],
|
||||
menu.[name],
|
||||
menu.[title],
|
||||
menu.[账号代码],
|
||||
menu.[模块代码],
|
||||
menu.[是否启用]
|
||||
FROM [dbo].[登录基础数据_二级菜单] AS menu
|
||||
INNER JOIN @TargetAccounts AS target
|
||||
ON target.[账号代码] = menu.[账号代码]
|
||||
WHERE menu.[id] = @QualityMenuId
|
||||
OR menu.[path] = 'ProductPassRateWorkstation/index'
|
||||
OR menu.[componet] = '/ProductionManagement/ProductPassRateWorkstation/index'
|
||||
ORDER BY menu.[账号代码], menu.[pid], menu.[id];
|
||||
GO
|
||||
Reference in New Issue
Block a user