Merge pull request 'C2025-027-AnnotationsTypeSelect' (#574) from C2025-027-AnnotationsTypeSelect into Development
good for the testing phase
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
Set NoCount On;
|
||||
|
||||
If (db_name() in('master','model','msdn','tempdb'))
|
||||
@@ -24035,6 +24033,7 @@ Begin -- Rofst Tables
|
||||
End
|
||||
Go
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [vesp_UpdateEPFormat];
|
||||
GO
|
||||
@@ -24075,6 +24074,218 @@ ELSE
|
||||
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 7/10/2025 2:38:23 PM ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 07/10/2025
|
||||
-- Description: Store user Annotation selections for annotation filter.
|
||||
-- =============================================
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
||||
BEGIN
|
||||
|
||||
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
||||
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[TypeID] [int] NULL,
|
||||
[UserID] [varchar](50) NULL,
|
||||
[LastChanged] [datetime] NULL,
|
||||
CONSTRAINT [PK_AnnotationTypeSelections] PRIMARY KEY CLUSTERED
|
||||
([ASTypeID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
|
||||
IF OBJECT_ID('DF_AnnotationTypeSelections_LastChanged', 'D') IS NULL
|
||||
ALTER TABLE AnnotationTypeSelections ADD CONSTRAINT [DF_AnnotationTypeSelections_LastChanged] DEFAULT (getdate()) for [LastChanged];
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.indexes WHERE name='idx_AnnotationTypeSelections_UserIDTypeID'
|
||||
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
||||
begin
|
||||
DROP INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections];
|
||||
end
|
||||
|
||||
CREATE UNIQUE INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections]
|
||||
(
|
||||
[UserID] ASC,
|
||||
[TypeID] ASC
|
||||
)
|
||||
INCLUDE (ASTypeID)
|
||||
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationSelectListTypes]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationSelectListTypes];
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 7/10/2025
|
||||
-- Description: Retrieve Annotation Types not added to Annotation type filtering by user.
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[getAnnotationSelectListTypes]
|
||||
(
|
||||
@UserID varchar(50)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes] --A
|
||||
LEFT OUTER JOIN AnnotationTypeSelections ON AnnotationTypeSelections.TypeID = AnnotationTypes.TypeID
|
||||
WHERE AnnotationTypeSelections.UserID = @UserID
|
||||
AND
|
||||
AnnotationTypeSelections.ASTypeID IS NULL
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationstypeSelections];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 07/10/2025
|
||||
-- Description: Retrieve Current Annotation Types
|
||||
-- =============================================
|
||||
|
||||
CREATE PROC [dbo].[getAnnotationstypeSelections]
|
||||
(
|
||||
@UsrID varchar(50)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SELECT [ASTypeID]
|
||||
,ATS.[TypeID]
|
||||
,ATS.[UserID]
|
||||
,AT.[Name]
|
||||
,AT.[Config]
|
||||
,ATS.[LastChanged]
|
||||
,AT.[UserID]
|
||||
,AT.[IsEPAnnotationType]
|
||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||
WHERE ATS.UserID = @UsrID
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeFiltered]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationstypeFiltered];
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 07/10/2025
|
||||
-- Description: Retrieve Current Annotation Types
|
||||
-- =============================================
|
||||
|
||||
CREATE PROC [dbo].[getAnnotationstypeFiltered]
|
||||
(
|
||||
@UsrID varchar(50)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UserID = @UsrID) > 0)
|
||||
BEGIN
|
||||
SELECT [ASTypeID]
|
||||
,ATS.[TypeID]
|
||||
,ATS.[UserID]
|
||||
,AT.[Name]
|
||||
,AT.[Config]
|
||||
,ATS.[LastChanged]
|
||||
,AT.[UserID]
|
||||
,AT.[IsEPAnnotationType]
|
||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||
WHERE ATS.UserID = @UsrID
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes]
|
||||
END
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UpdateAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [UpdateAnnotationstypeSelections];
|
||||
|
||||
-- Need to drop UpdateAnnotationstypeSelections SP first so script can drop and recreate the TableValAnnotTypeSelections table type
|
||||
|
||||
IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.DOMAINS WHERE Domain_Name = 'TableValAnnotTypeSelections' )
|
||||
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
||||
|
||||
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
||||
[TypeID] [int] NOT NULL
|
||||
|
||||
)
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections] Script Date: 7/21/2025 8:51:42 PM ******/
|
||||
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 07/21/2025
|
||||
-- Description: Manage user choice annotation types
|
||||
-- =============================================
|
||||
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
||||
(
|
||||
@TempTable AS dbo.TableValAnnotTypeSelections READONLY,
|
||||
@UserID [varchar](50) NULL
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
|
||||
|
||||
DELETE FROM AnnotationTypeSelections where UserID = @UserID
|
||||
AND
|
||||
TypeID not in
|
||||
(Select TypeID From @TempTable tmp)
|
||||
|
||||
--this would insert all the ones that are in the uploaded table and not already in AnnotationTypeSelections
|
||||
Insert INTO AnnotationTypeSelections (TypeID, UserID)
|
||||
Select tmp.TypeID, @UserID
|
||||
FROM
|
||||
@TempTable tmp
|
||||
LEFT OUTER JOIN
|
||||
AnnotationTypeSelections ATS on ATS.TypeID = tmp.TypeID
|
||||
AND ATS.UserID = @UserID
|
||||
where
|
||||
ATS.ASTypeID IS NULL
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
||||
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
||||
GO
|
||||
@@ -24117,8 +24328,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '6/20/2025 3:07 PM'
|
||||
set @RevDescription = 'Annotation Support'
|
||||
set @RevDate = '07/10/2025 2:30 PM'
|
||||
set @RevDescription = 'C2025-027 Annotation Type Filtering'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
Reference in New Issue
Block a user