diff --git a/db_backups/add_design_report_check_pagination_20260723.sql b/db_backups/add_design_report_check_pagination_20260723.sql new file mode 100644 index 0000000..39519c6 --- /dev/null +++ b/db_backups/add_design_report_check_pagination_20260723.sql @@ -0,0 +1,122 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE OR ALTER PROCEDURE [dbo].[设计报工_工时校验_查询] + @DID int = NULL, + @项目号 nvarchar(100) = N'', + @物料编码 nvarchar(100) = N'', + @类别 nvarchar(100) = N'', + @操作人 nvarchar(100) = N'', + @开始日期 nvarchar(30) = N'', + @结束日期 nvarchar(30) = N'', + @校验状态 nvarchar(50) = N'未校验', + @当前操作人 nvarchar(100) = N'', + @角色编号 nvarchar(100) = N'', + @PageCurrent int = 1, + @PageSize int = 20, + @PageCount int = NULL OUTPUT, + @ItemCount int = NULL OUTPUT +AS +BEGIN + SET NOCOUNT ON; + + SET @PageCurrent = CASE WHEN ISNULL(@PageCurrent, 0) < 1 THEN 1 ELSE @PageCurrent END; + SET @PageSize = CASE + WHEN ISNULL(@PageSize, 0) < 1 THEN 20 + WHEN @PageSize > 100 THEN 100 + ELSE @PageSize + END; + + DECLARE @开始 datetime = TRY_CONVERT(datetime, NULLIF(@开始日期, N'')); + DECLARE @结束 datetime = TRY_CONVERT(datetime, NULLIF(@结束日期, N'')); + DECLARE @当前用户 nvarchar(100) = LTRIM(RTRIM(ISNULL(@当前操作人, N''))); + DECLARE @可查看全部 bit = CASE WHEN EXISTS + ( + SELECT 1 + FROM [dbo].[登录基础数据_角色信息] + WHERE CONVERT(nvarchar(100), [Roles_number]) = @角色编号 + AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%') + ) THEN 1 ELSE 0 END; + + CREATE TABLE #FilteredRecords + ( + [RID] int NOT NULL PRIMARY KEY + ); + + INSERT INTO #FilteredRecords ([RID]) + SELECT r.[RID] + FROM [dbo].[MES_设计报工_记录] AS r + INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID] + WHERE + (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID) + AND (ISNULL(@项目号, N'') = N'' OR t.[项目号] LIKE N'%' + @项目号 + N'%') + AND (ISNULL(@物料编码, N'') = N'' OR t.[物料编码] LIKE N'%' + @物料编码 + N'%') + AND (ISNULL(@类别, N'') = N'' OR t.[类别] LIKE N'%' + @类别 + N'%') + AND (ISNULL(@操作人, N'') = N'' OR r.[操作人] LIKE N'%' + @操作人 + N'%') + AND (@开始 IS NULL OR r.[开始时间] >= @开始) + AND (@结束 IS NULL OR r.[开始时间] < DATEADD(day, 1, @结束)) + AND + ( + ISNULL(@校验状态, N'') = N'' + OR @校验状态 = N'全部' + OR (@校验状态 = N'已校验' AND r.[已校验] = 1) + OR (@校验状态 = N'未校验' AND r.[已校验] = 0) + ) + AND + ( + @可查看全部 = 1 + OR + ( + NULLIF(@当前用户, N'') IS NOT NULL + AND + ( + LTRIM(RTRIM(ISNULL(t.[创建人], N''))) = @当前用户 + OR LTRIM(RTRIM(ISNULL(r.[操作人], N''))) = @当前用户 + ) + ) + ); + + SELECT @ItemCount = COUNT(1) FROM #FilteredRecords; + SET @PageCount = CASE + WHEN @ItemCount = 0 THEN 0 + ELSE CEILING(CONVERT(decimal(18, 2), @ItemCount) / @PageSize) + END; + + SELECT + r.[RID], + r.[DID], + t.[项目号], + t.[物料编码], + t.[物料名称], + t.[图号], + t.[类别], + t.[任务描述], + t.[指派对象], + r.[操作人ID], + r.[操作人], + CONVERT(varchar(19), r.[开始时间], 120) AS [开始时间], + CONVERT(varchar(19), r.[结束时间], 120) AS [结束时间], + r.[工时秒数], + CAST(CAST(ISNULL(r.[工时秒数], 0) / 3600.0 AS decimal(18, 2)) AS varchar(30)) AS [工时小时], + r.[报工状态], + r.[已校验], + CASE WHEN r.[已校验] = 1 THEN N'已校验' ELSE N'未校验' END AS [校验状态], + r.[校验人], + CONVERT(varchar(19), r.[校验时间], 120) AS [校验时间], + r.[进度说明], + r.[备注], + t.[单据状态] + FROM #FilteredRecords AS f + INNER JOIN [dbo].[MES_设计报工_记录] AS r ON f.[RID] = r.[RID] + INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID] + ORDER BY r.[RID] DESC + OFFSET (@PageCurrent - 1) * @PageSize ROWS + FETCH NEXT @PageSize ROWS ONLY; +END +GO diff --git a/db_backups/add_design_report_task_view_permissions_20260723.sql b/db_backups/add_design_report_task_view_permissions_20260723.sql new file mode 100644 index 0000000..3afdd4b --- /dev/null +++ b/db_backups/add_design_report_task_view_permissions_20260723.sql @@ -0,0 +1,204 @@ +USE [YL_MESDB]; +GO + +SET ANSI_NULLS ON; +GO +SET QUOTED_IDENTIFIER ON; +GO + +CREATE OR ALTER PROCEDURE [dbo].[设计报工_任务_查询] + @DID int = NULL, + @项目号 nvarchar(100) = N'', + @物料编码 nvarchar(100) = N'', + @图号 nvarchar(100) = N'', + @类别 nvarchar(100) = N'', + @任务来源 nvarchar(200) = N'', + @关联父件物料编码 nvarchar(100) = N'', + @预计开始时间_Start nvarchar(30) = N'', + @预计开始时间_End nvarchar(30) = N'', + @预计结束时间_Start nvarchar(30) = N'', + @预计结束时间_End nvarchar(30) = N'', + @单据状态 nvarchar(50) = N'', + @当前操作人ID nvarchar(100) = N'', + @当前操作人 nvarchar(100) = N'', + @角色编号 nvarchar(100) = N'' +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @预计开始日期1 datetime = TRY_CONVERT(datetime, NULLIF(@预计开始时间_Start, N'')); + DECLARE @预计开始日期2 datetime = TRY_CONVERT(datetime, NULLIF(@预计开始时间_End, N'')); + DECLARE @预计结束日期1 datetime = TRY_CONVERT(datetime, NULLIF(@预计结束时间_Start, N'')); + DECLARE @预计结束日期2 datetime = TRY_CONVERT(datetime, NULLIF(@预计结束时间_End, N'')); + DECLARE @可查看全部 bit = CASE WHEN EXISTS + ( + SELECT 1 + FROM [dbo].[登录基础数据_角色信息] + WHERE CONVERT(nvarchar(100), [Roles_number]) = @角色编号 + AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%') + ) THEN 1 ELSE 0 END; + + SELECT TOP 1000 + ISNULL(task_notes.[领导批示], N'') AS [领导批示], + t.[DID], + t.[项目号], + t.[物料编码], + t.[物料名称], + t.[图号], + t.[类别], + t.[任务来源], + t.[任务描述], + t.[关联父件物料编码], + t.[关联父件物料名称], + t.[设计要求], + t.[研发立项号], + t.[研发目的], + t.[对齐可见ID], + t.[对齐可见], + t.[指派对象ID], + t.[指派对象], + CONVERT(varchar(19), t.[预计开始时间], 120) AS [预计开始时间], + CONVERT(varchar(19), t.[预计结束时间], 120) AS [预计结束时间], + t.[单据状态], + CONVERT(varchar(19), t.[创建日期], 120) AS [创建日期], + t.[创建人], + t.[最后编辑人], + CONVERT(varchar(19), t.[最后编辑时间], 120) AS [最后编辑时间], + t.[备注], + ISNULL(r.[报工次数], 0) AS [报工次数], + ISNULL(r.[未结束报工数], 0) AS [未结束报工数], + ISNULL(r.[当前用户未结束报工数], 0) AS [当前用户未结束报工数], + ISNULL(p.[未结束报工人员], N'') AS [未结束报工人员], + CONVERT(varchar(19), r.[最后开始时间], 120) AS [最后开始时间], + CONVERT(varchar(19), r.[最后结束时间], 120) AS [最后结束时间], + ISNULL(progress_notes.[进度说明], N'') AS [进度说明], + ISNULL(task_notes.[异常说明], N'') AS [异常说明], + ISNULL(task_notes.[奇思妙想], N'') AS [奇思妙想] + FROM [dbo].[MES_设计报工_任务] AS t + OUTER APPLY + ( + SELECT + COUNT(1) AS [报工次数], + SUM(CASE WHEN rr.[结束时间] IS NULL THEN 1 ELSE 0 END) AS [未结束报工数], + SUM(CASE + WHEN rr.[结束时间] IS NULL + AND + ( + (NULLIF(@当前操作人ID, N'') IS NOT NULL AND ISNULL(rr.[操作人ID], N'') = @当前操作人ID) + OR (NULLIF(@当前操作人ID, N'') IS NULL AND NULLIF(@当前操作人, N'') IS NOT NULL AND ISNULL(rr.[操作人], N'') = @当前操作人) + ) + THEN 1 ELSE 0 END) AS [当前用户未结束报工数], + MAX(rr.[开始时间]) AS [最后开始时间], + MAX(rr.[结束时间]) AS [最后结束时间] + FROM [dbo].[MES_设计报工_记录] AS rr + WHERE rr.[DID] = t.[DID] + ) AS r + OUTER APPLY + ( + SELECT STRING_AGG(CONVERT(nvarchar(max), x.[操作人标识]), N'、') AS [未结束报工人员] + FROM + ( + SELECT DISTINCT COALESCE(NULLIF(rr2.[操作人], N''), NULLIF(rr2.[操作人ID], N''), N'未填写操作人') AS [操作人标识] + FROM [dbo].[MES_设计报工_记录] AS rr2 + WHERE rr2.[DID] = t.[DID] + AND rr2.[结束时间] IS NULL + ) AS x + ) AS p + OUTER APPLY + ( + SELECT STRING_AGG( + CONVERT(nvarchar(max), + CONVERT(nvarchar(19), rr3.[结束时间], 120) + + N' ' + + COALESCE(NULLIF(LTRIM(RTRIM(rr3.[操作人])), N''), NULLIF(LTRIM(RTRIM(rr3.[操作人ID])), N''), N'未填写编辑人') + + NCHAR(13) + NCHAR(10) + + rr3.[进度说明]), + NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10) + ) WITHIN GROUP (ORDER BY rr3.[结束时间] DESC, rr3.[RID] DESC) AS [进度说明] + FROM [dbo].[MES_设计报工_记录] AS rr3 + WHERE rr3.[DID] = t.[DID] + AND NULLIF(LTRIM(RTRIM(rr3.[进度说明])), N'') IS NOT NULL + ) AS progress_notes + OUTER APPLY + ( + SELECT + STRING_AGG( + CASE WHEN n.[说明类型] = N'领导批示' + THEN CONVERT(nvarchar(max), + CONVERT(nvarchar(19), n.[录入时间], 120) + + N' ' + + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + + NCHAR(13) + NCHAR(10) + + n.[说明内容]) END, + NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10) + ) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [领导批示], + STRING_AGG( + CASE WHEN n.[说明类型] = N'异常说明' + THEN CONVERT(nvarchar(max), + CONVERT(nvarchar(19), n.[录入时间], 120) + + N' ' + + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + + NCHAR(13) + NCHAR(10) + + n.[说明内容]) END, + NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10) + ) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [异常说明], + STRING_AGG( + CASE WHEN n.[说明类型] = N'奇思妙想' + THEN CONVERT(nvarchar(max), + CONVERT(nvarchar(19), n.[录入时间], 120) + + N' ' + + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + + NCHAR(13) + NCHAR(10) + + n.[说明内容]) END, + NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10) + ) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [奇思妙想] + FROM [dbo].[MES_设计报工_任务说明] AS n + WHERE n.[DID] = t.[DID] + ) AS task_notes + WHERE + (@DID IS NULL OR @DID = 0 OR t.[DID] = @DID) + AND (ISNULL(@项目号, N'') = N'' OR t.[项目号] LIKE N'%' + @项目号 + N'%') + AND (ISNULL(@物料编码, N'') = N'' OR t.[物料编码] LIKE N'%' + @物料编码 + N'%') + AND (ISNULL(@图号, N'') = N'' OR t.[图号] LIKE N'%' + @图号 + N'%') + AND (ISNULL(@类别, N'') = N'' OR t.[类别] LIKE N'%' + @类别 + N'%') + AND (ISNULL(@任务来源, N'') = N'' OR t.[任务来源] LIKE N'%' + @任务来源 + N'%') + AND (ISNULL(@关联父件物料编码, N'') = N'' OR t.[关联父件物料编码] LIKE N'%' + @关联父件物料编码 + N'%') + AND + ( + ISNULL(@单据状态, N'') = N'' + OR @单据状态 = N'全部' + OR (@单据状态 = N'未完成' AND ISNULL(t.[单据状态], N'') <> N'已完成') + OR (@单据状态 <> N'未完成' AND t.[单据状态] = @单据状态) + ) + AND (@预计开始日期1 IS NULL OR t.[预计开始时间] >= @预计开始日期1) + AND (@预计开始日期2 IS NULL OR t.[预计开始时间] < DATEADD(day, 1, @预计开始日期2)) + AND (@预计结束日期1 IS NULL OR t.[预计结束时间] >= @预计结束日期1) + AND (@预计结束日期2 IS NULL OR t.[预计结束时间] < DATEADD(day, 1, @预计结束日期2)) + AND + ( + @可查看全部 = 1 + OR (NULLIF(@当前操作人, N'') IS NOT NULL AND ISNULL(t.[创建人], N'') = @当前操作人) + OR + ( + NULLIF(@当前操作人ID, N'') IS NOT NULL + AND CHARINDEX(N',' + @当前操作人ID + N',', N',' + ISNULL(t.[对齐可见ID], N'') + N',') > 0 + ) + OR + ( + NULLIF(@当前操作人, N'') IS NOT NULL + AND CHARINDEX(N',' + @当前操作人 + N',', N',' + ISNULL(t.[对齐可见], N'') + N',') > 0 + ) + OR + ( + NULLIF(@当前操作人ID, N'') IS NOT NULL + AND CHARINDEX(N',' + @当前操作人ID + N',', N',' + ISNULL(t.[指派对象ID], N'') + N',') > 0 + ) + OR + ( + NULLIF(@当前操作人, N'') IS NOT NULL + AND CHARINDEX(N',' + @当前操作人 + N',', N',' + ISNULL(t.[指派对象], N'') + N',') > 0 + ) + ) + ORDER BY t.[DID] DESC; +END +GO diff --git a/db_backups/add_research_financial_hours_20260723.sql b/db_backups/add_research_financial_hours_20260723.sql new file mode 100644 index 0000000..96def62 --- /dev/null +++ b/db_backups/add_research_financial_hours_20260723.sql @@ -0,0 +1,197 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE OR ALTER PROCEDURE [dbo].[设计报工_研发财务工时_查询] + @开始日期 nvarchar(30) = N'', + @结束日期 nvarchar(30) = N'', + @操作人 nvarchar(100) = N'', + @项目号 nvarchar(100) = N'', + @物料编码 nvarchar(100) = N'', + @类别 nvarchar(100) = N'', + @任务来源 nvarchar(200) = N'', + @研发立项号 nvarchar(100) = N'', + @DID int = NULL, + @当前操作人 nvarchar(100) = N'', + @角色编号 nvarchar(100) = N'' +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @开始 datetime = TRY_CONVERT(datetime, NULLIF(@开始日期, N'')); + DECLARE @结束 datetime = TRY_CONVERT(datetime, NULLIF(@结束日期, N'')); + DECLARE @当前用户 nvarchar(100) = LTRIM(RTRIM(ISNULL(@当前操作人, N''))); + DECLARE @可查看全部 bit = CASE WHEN EXISTS + ( + SELECT 1 + FROM [dbo].[登录基础数据_角色信息] + WHERE CONVERT(nvarchar(100), [Roles_number]) = @角色编号 + AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%') + ) THEN 1 ELSE 0 END; + + SELECT + r.[RID], + r.[DID], + ISNULL(r.[操作人], N'') AS [操作人], + CONVERT(varchar(10), r.[开始时间], 120) AS [工作日期], + CONVERT(varchar(19), t.[创建日期], 120) AS [创建日期], + ISNULL(t.[类别], N'') AS [类别], + ISNULL(t.[任务来源], N'') AS [任务来源], + ISNULL(t.[任务描述], N'') AS [任务描述], + ISNULL(t.[设计要求], N'') AS [设计要求], + ISNULL(t.[对齐可见], N'') AS [对齐可见], + ISNULL(t.[指派对象], N'') AS [指派对象], + CONVERT(varchar(19), t.[预计开始时间], 120) AS [预计开始时间], + CONVERT(varchar(19), t.[预计结束时间], 120) AS [预计结束时间], + ISNULL(t.[项目号], N'') AS [项目号], + ISNULL(t.[物料编码], N'') AS [物料编码], + ISNULL(t.[物料名称], N'') AS [物料名称], + ISNULL(t.[图号], N'') AS [图号], + ISNULL(t.[关联父件物料编码], N'') AS [关联父件物料编码], + ISNULL(t.[关联父件物料名称], N'') AS [关联父件物料名称], + ISNULL(t.[研发立项号], N'') AS [研发立项号], + ISNULL(t.[研发目的], N'') AS [研发目的], + ISNULL(t.[单据状态], N'') AS [任务状态], + ISNULL(t.[创建人], N'') AS [创建人], + ISNULL(t.[备注], N'') AS [任务备注], + CONVERT(varchar(19), r.[开始时间], 120) AS [开始时间], + CONVERT(varchar(19), r.[结束时间], 120) AS [结束时间], + CAST(1 AS int) AS [报工次数], + CAST(ISNULL(r.[工时秒数], 0) / 3600.0 AS decimal(18, 2)) AS [工时小时], + CASE WHEN r.[已校验] = 1 THEN N'已校验' ELSE N'未校验' END AS [校验状态], + ISNULL(r.[进度说明], N'') AS [进度说明], + ISNULL(r.[备注], N'') AS [报工备注] + FROM [dbo].[MES_设计报工_记录] AS r + INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID] + WHERE + r.[开始时间] IS NOT NULL + AND r.[结束时间] IS NOT NULL + AND (@开始 IS NULL OR r.[开始时间] >= @开始) + AND (@结束 IS NULL OR r.[开始时间] < DATEADD(day, 1, @结束)) + AND (ISNULL(@操作人, N'') = N'' OR r.[操作人] LIKE N'%' + @操作人 + N'%') + AND (ISNULL(@项目号, N'') = N'' OR t.[项目号] LIKE N'%' + @项目号 + N'%') + AND (ISNULL(@物料编码, N'') = N'' OR t.[物料编码] LIKE N'%' + @物料编码 + N'%') + AND (ISNULL(@类别, N'') = N'' OR t.[类别] LIKE N'%' + @类别 + N'%') + AND (ISNULL(@任务来源, N'') = N'' OR t.[任务来源] LIKE N'%' + @任务来源 + N'%') + AND (ISNULL(@研发立项号, N'') = N'' OR t.[研发立项号] LIKE N'%' + @研发立项号 + N'%') + AND (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID) + AND + ( + @可查看全部 = 1 + OR + ( + NULLIF(@当前用户, N'') IS NOT NULL + AND + ( + LTRIM(RTRIM(ISNULL(t.[创建人], N''))) = @当前用户 + OR LTRIM(RTRIM(ISNULL(r.[操作人], N''))) = @当前用户 + ) + ) + ) + ORDER BY r.[开始时间] DESC, r.[RID] DESC; +END +GO + +SET NOCOUNT ON; +SET XACT_ABORT ON; + +BEGIN TRANSACTION; + +DECLARE @TargetMenus TABLE +( + [账号代码] int NOT NULL PRIMARY KEY, + [研发管理ID] int NOT NULL +); + +INSERT INTO @TargetMenus ([账号代码], [研发管理ID]) +SELECT + parent_menu.[账号代码], + MIN(parent_menu.[id]) AS [研发管理ID] +FROM [dbo].[登录基础数据_二级菜单] AS parent_menu WITH (UPDLOCK, HOLDLOCK) +WHERE parent_menu.[pid] = 0 + AND parent_menu.[是否启用] = 1 + AND + ( + parent_menu.[title] = N'研发管理' + OR parent_menu.[path] = '/ResearchManagement' + OR parent_menu.[name] = 'ResearchManagement' + ) +GROUP BY parent_menu.[账号代码]; + +UPDATE menu_row +SET + menu_row.[pid] = target.[研发管理ID], + menu_row.[path] = 'DesignReportTask/FinancialHours/index', + menu_row.[componet] = '/ProductionManagement/DesignReportTask/FinancialHours/index', + menu_row.[redirect] = NULL, + menu_row.[name] = 'DesignReportFinancialHours', + menu_row.[title] = N'研发财务工时', + menu_row.[icon] = 'WhiteCollarBonusesSummary', + menu_row.[模块代码] = menu_row.[id], + menu_row.[是否启用] = 1, + menu_row.[操作时间] = GETDATE() +FROM [dbo].[登录基础数据_二级菜单] AS menu_row +INNER JOIN @TargetMenus AS target ON target.[账号代码] = menu_row.[账号代码] +WHERE + menu_row.[path] = 'DesignReportTask/FinancialHours/index' + OR menu_row.[componet] = '/ProductionManagement/DesignReportTask/FinancialHours/index' + OR menu_row.[name] = 'DesignReportFinancialHours' + OR menu_row.[title] = N'研发财务工时'; + +INSERT INTO [dbo].[登录基础数据_二级菜单] + ([id], [pid], [path], [componet], [redirect], [name], [title], [icon], [账号代码], [模块代码], [是否启用], [操作时间]) +SELECT + next_id.[新菜单ID], + target.[研发管理ID], + 'DesignReportTask/FinancialHours/index', + '/ProductionManagement/DesignReportTask/FinancialHours/index', + NULL, + 'DesignReportFinancialHours', + N'研发财务工时', + 'WhiteCollarBonusesSummary', + target.[账号代码], + next_id.[新菜单ID], + 1, + GETDATE() +FROM @TargetMenus AS target +CROSS APPLY +( + SELECT ISNULL(MAX(existing.[id]), 0) + 1 AS [新菜单ID] + FROM [dbo].[登录基础数据_二级菜单] AS existing WITH (UPDLOCK, HOLDLOCK) + WHERE existing.[账号代码] = target.[账号代码] +) AS next_id +WHERE NOT EXISTS +( + SELECT 1 + FROM [dbo].[登录基础数据_二级菜单] AS existing WITH (UPDLOCK, HOLDLOCK) + WHERE existing.[账号代码] = target.[账号代码] + AND + ( + existing.[path] = 'DesignReportTask/FinancialHours/index' + OR existing.[componet] = '/ProductionManagement/DesignReportTask/FinancialHours/index' + OR existing.[name] = 'DesignReportFinancialHours' + OR existing.[title] = N'研发财务工时' + ) +); + +COMMIT TRANSACTION; + +SELECT + menu_row.[id], + menu_row.[pid], + menu_row.[path], + menu_row.[componet], + menu_row.[name], + menu_row.[title], + menu_row.[icon], + menu_row.[账号代码], + menu_row.[是否启用] +FROM [dbo].[登录基础数据_二级菜单] AS menu_row +WHERE menu_row.[title] = N'研发财务工时' +ORDER BY menu_row.[账号代码], menu_row.[id]; +GO diff --git a/src/views/ProductionManagement/DesignReportTask/Check/index.vue b/src/views/ProductionManagement/DesignReportTask/Check/index.vue index 596a537..9af59bd 100644 --- a/src/views/ProductionManagement/DesignReportTask/Check/index.vue +++ b/src/views/ProductionManagement/DesignReportTask/Check/index.vue @@ -1,7 +1,7 @@