|
|
|
@@ -1,5 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set NoCount On;
|
|
|
|
|
|
|
|
|
|
If (db_name() in('master','model','msdn','tempdb'))
|
|
|
|
@@ -24076,16 +24074,72 @@ ELSE
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- C2025-027 Annotation Type Filtering
|
|
|
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
|
|
|
|
DROP TABLE [dbo].[AnnotationTypeSelections]
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
/****** 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.
|
|
|
|
|
-- =============================================
|
|
|
|
|
|
|
|
|
|
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
|
|
|
|
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[TypeID] [int] NULL,
|
|
|
|
|
[UsrID] [varchar](50) NULL,
|
|
|
|
|
[Name] [nvarchar](100) NULL,
|
|
|
|
|
[Config] [nvarchar](max) NULL,
|
|
|
|
|
[DTS] [datetime] NULL,
|
|
|
|
|
[UserID] [nvarchar](100) NULL,
|
|
|
|
|
[LastChanged] [timestamp] NULL,
|
|
|
|
|
[IsEPAnnotationType] [bit] NULL
|
|
|
|
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
--CREATE UNIQUE INDEX idx_AnnotationTypeSelections_Usrid
|
|
|
|
|
--ON AnnotationTypeSelections (TypeID, Name, UsrID);
|
|
|
|
|
--GO
|
|
|
|
|
|
|
|
|
|
IF EXISTS (SELECT * FROM sys.indexes WHERE name='idx_AnnotationTypeSelections_UsrID'
|
|
|
|
|
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
|
|
|
|
begin
|
|
|
|
|
DROP INDEX [idx_AnnotationTypeSelections_UsrID] ON [dbo].[AnnotationTypeSelections];
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
CREATE NONCLUSTERED INDEX idx_AnnotationTypeSelections_UsrID
|
|
|
|
|
ON [dbo].[AnnotationTypeSelections] (UsrID)
|
|
|
|
|
INCLUDE (TypeID, Name)
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
--CREATE NONCLUSTERED INDEX [idx_AnnotationTypeSelections_Usrid] ON [dbo].[AnnotationTypeSelections]
|
|
|
|
|
--(
|
|
|
|
|
-- [UsrID] ASC
|
|
|
|
|
--)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
|
|
--GO
|
|
|
|
|
--CREATE NONCLUSTERED INDEX [idx_AnnotationTypeSelections_TypeID] ON [dbo].[AnnotationTypeSelections]
|
|
|
|
|
--(
|
|
|
|
|
-- [TypeID] ASC
|
|
|
|
|
--)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) 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
|
|
|
|
|
|
|
|
|
|
SET ANSI_NULLS ON
|
|
|
|
|
GO
|
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
|
|
|
-- Author: Paul Larsen
|
|
|
|
|
-- Create date: 7/10/2025
|
|
|
|
@@ -24104,13 +24158,10 @@ AS
|
|
|
|
|
[DTS],
|
|
|
|
|
[UserID],
|
|
|
|
|
[LastChanged],
|
|
|
|
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount]
|
|
|
|
|
--[IsEPAnnotationType]
|
|
|
|
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount],
|
|
|
|
|
[IsEPAnnotationType]
|
|
|
|
|
FROM [AnnotationTypes] --A
|
|
|
|
|
--JOIN AnnotationTypeSelections S ON S.TypeID = A.TypeID
|
|
|
|
|
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UserID) --S.ItemID = @ItemID AND S.TypeID != A.TypeID
|
|
|
|
|
|
|
|
|
|
RETURN
|
|
|
|
|
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UserID)
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
@@ -24154,7 +24205,6 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationsty
|
|
|
|
|
GO
|
|
|
|
|
SET ANSI_NULLS ON
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
@@ -24198,12 +24248,42 @@ BEGIN
|
|
|
|
|
END
|
|
|
|
|
END
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
-- C2025-027 Annotation Type Filtering
|
|
|
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
|
|
|
|
DROP TABLE [dbo].[AnnotationTypeSelections]
|
|
|
|
|
--IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TableValAnnotTypeSelections]') AND OBJECTPROPERTY(id,N'IsType') = 1)
|
|
|
|
|
|
|
|
|
|
-- Type --
|
|
|
|
|
|
|
|
|
|
--IF NOT EXISTS (SELECT * FROM sys.types WHERE is_table_type = 1 AND name ='TableValAnnotTypeSelections')
|
|
|
|
|
-- DROP PROCEDURE [TableValAnnotTypeSelections];
|
|
|
|
|
--GO
|
|
|
|
|
|
|
|
|
|
--/****** Object: UserDefinedTableType [dbo].[TableValAnnotTypeSelections] Script Date: 7/21/2025 8:06:11 PM ******/
|
|
|
|
|
--CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
|
|
|
|
-- [TypeID] [int] NOT NULL,
|
|
|
|
|
-- [NameStr] [varchar](200) NULL,
|
|
|
|
|
-- [UserID] [varchar](50) NULL
|
|
|
|
|
--)
|
|
|
|
|
--GO
|
|
|
|
|
|
|
|
|
|
-- C2025-027 Annotation Type Filtering
|
|
|
|
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UpdateAnnotationstypeSelections2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
|
|
|
|
DROP PROCEDURE [UpdateAnnotationstypeSelections2];
|
|
|
|
|
|
|
|
|
|
-- Need to drop UpdateAnnotationstypeSelections2 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,
|
|
|
|
|
[NameStr] [varchar](200) NULL,
|
|
|
|
|
[UserID] [varchar](50) NULL
|
|
|
|
|
)
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 7/10/2025 2:38:23 PM ******/
|
|
|
|
|
|
|
|
|
|
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections2] Script Date: 7/21/2025 8:51:42 PM ******/
|
|
|
|
|
SET ANSI_NULLS ON
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
@@ -24212,33 +24292,51 @@ GO
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
|
|
|
-- Author: Paul Larsen
|
|
|
|
|
-- Create date: 07/10/2025
|
|
|
|
|
-- Description: Store user Annotation selections for annotation filter.
|
|
|
|
|
-- Create date: 07/21/2025
|
|
|
|
|
-- Description: Manage user choice annotation types
|
|
|
|
|
-- =============================================
|
|
|
|
|
|
|
|
|
|
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
|
|
|
|
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[TypeID] [int] NULL,
|
|
|
|
|
[UsrID] [varchar](50) NULL,
|
|
|
|
|
[Name] [nvarchar](100) NOT NULL,
|
|
|
|
|
[Config] [nvarchar](max) NULL,
|
|
|
|
|
[DTS] [datetime] NOT NULL,
|
|
|
|
|
[UserID] [nvarchar](100) NOT NULL,
|
|
|
|
|
[LastChanged] [timestamp] NOT NULL,
|
|
|
|
|
[IsEPAnnotationType] [bit] NOT NULL
|
|
|
|
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
|
|
|
GO
|
|
|
|
|
CREATE NONCLUSTERED INDEX [idx_AnnotationTypeSelections_Usrid] ON [dbo].[AnnotationTypeSelections]
|
|
|
|
|
CREATE PROC [dbo].[UpdateAnnotationstypeSelections2]
|
|
|
|
|
(
|
|
|
|
|
[UsrID] ASC
|
|
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
|
|
GO
|
|
|
|
|
CREATE NONCLUSTERED INDEX [idx_AnnotationTypeSelections_TypeID] ON [dbo].[AnnotationTypeSelections]
|
|
|
|
|
(
|
|
|
|
|
[TypeID] ASC
|
|
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
|
|
GO
|
|
|
|
|
@TempTable AS dbo.TableValAnnotTypeSelections READONLY
|
|
|
|
|
)
|
|
|
|
|
AS
|
|
|
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
--INSERT INTO CUSTOMER (CustomerId,CustomerName ,Isdeleted )
|
|
|
|
|
--SELECT CustomerId, CustomerName, 0 AS Isdeleted FROM @TempTable
|
|
|
|
|
|
|
|
|
|
MERGE AnnotationTypeSelections AS TARGET
|
|
|
|
|
USING @TempTable AS SOURCE
|
|
|
|
|
|
|
|
|
|
/* 1. Performing the UPDATE operation */
|
|
|
|
|
|
|
|
|
|
/* If the P_ID is same,
|
|
|
|
|
check for change in P_NAME or P_PRICE */
|
|
|
|
|
ON (TARGET.TypeID = SOURCE.TypeID)
|
|
|
|
|
WHEN MATCHED
|
|
|
|
|
AND TARGET.Name <> SOURCE.NameStr
|
|
|
|
|
|
|
|
|
|
/* Update the records in TARGET */
|
|
|
|
|
THEN UPDATE
|
|
|
|
|
SET TARGET.Name = SOURCE.NameStr,
|
|
|
|
|
TARGET.UsrID = SOURCE.UserID
|
|
|
|
|
|
|
|
|
|
/* 2. Performing the INSERT operation */
|
|
|
|
|
|
|
|
|
|
/* When no records are matched with TARGET table
|
|
|
|
|
Then insert the records in the target table */
|
|
|
|
|
WHEN NOT MATCHED BY TARGET
|
|
|
|
|
THEN INSERT (TypeID, Name, UsrID)
|
|
|
|
|
VALUES (SOURCE.TypeID, SOURCE.NameStr,SOURCE.UserID)
|
|
|
|
|
|
|
|
|
|
/* 3. Performing the DELETE operation */
|
|
|
|
|
|
|
|
|
|
/* When no records are matched with SOURCE table
|
|
|
|
|
Then delete the records from the target table */
|
|
|
|
|
WHEN NOT MATCHED BY SOURCE
|
|
|
|
|
THEN DELETE;
|
|
|
|
|
END
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
|
|
|
|
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
|
|
|
|