Compare commits

...

4 Commits

Author SHA1 Message Date
Jonathan Jenne
e5e7c9b14d Schema 006 2023-09-13 15:47:43 +02:00
Jonathan Jenne
7571f8d7d8 Updates to Schema v5 2023-09-13 15:47:35 +02:00
Jonathan Jenne
3f9862b7cc Add view for ReportViewer 2023-09-13 15:47:16 +02:00
Jonathan Jenne
e45c3df9c5 Revert "MultiTool/TBMD_SCHEMA_006_13_09_2023.sql hinzugefügt"
This reverts commit 7baf47760526e9815b0c17805f0d8f63660fcfe4.
2023-09-13 15:46:42 +02:00
4 changed files with 167 additions and 26 deletions

View File

@ -1,9 +0,0 @@
USE DD_ECM
INSERT INTO TBMT_FUNCTIONS (NAME, DESCRIPTION, ACTIVE, [PARAMETERS], ADDED_WHO) VALUES (
'ADDRESS',
'Fetches address details from an account number and fills configured fields',
1,
'Name,Street,Zip,City'
'UPDATE-006',
)

View File

@ -1,38 +1,110 @@
USE DD_ECM USE DD_ECM
CREATE TABLE [dbo].[TBMT_FILTER]( CREATE TABLE [dbo].[TBMT_FILTERS](
[GUID] [int] IDENTITY(1,1) NOT NULL, [GUID] [int] IDENTITY(1,1) NOT NULL,
[SQL_COMMAND] [nvarchar](500) NOT NULL, [SQL_COMMAND] [nvarchar](500) NOT NULL,
[COLUMN_NAME] [nvarchar](100) NOT NULL, [ITEM_ID] [int] NOT NULL,
[XML_TABLE_ID] [int] NOT NULL, [TABLE_ID] [int] NOT NULL,
[ACTIVE] [bit] NOT NULL, [ACTIVE] [bit] NOT NULL,
[COMMENT] [nvarchar](100) NULL, [COMMENT] [nvarchar](100) NULL,
[ADDED_WHO] [nvarchar](50) NOT NULL, [ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NULL, [ADDED_WHEN] [datetime] NULL,
[CHANGED_WHO] [nvarchar](50) NULL, [CHANGED_WHO] [nvarchar](50) NULL,
[CHANGED_WHEN] [datetime] NULL, [CHANGED_WHEN] [datetime] NULL,
CONSTRAINT [PK__TBMT_FILTER] PRIMARY KEY CLUSTERED CONSTRAINT [PK__TBMT_FILTERS] PRIMARY KEY CLUSTERED
( (
[GUID] ASC [GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ) ON [PRIMARY]
GO GO
ALTER TABLE [dbo].[TBMT_FILTER] ADD CONSTRAINT [DF_TBMT_FILTER_ACTIVE] DEFAULT ((1)) FOR [ACTIVE] ALTER TABLE [dbo].[TBMT_FILTERS] ADD CONSTRAINT [DF_TBMT_FILTERS_ACTIVE] DEFAULT ((1)) FOR [ACTIVE]
GO
ALTER TABLE [dbo].[TBMT_FILTER] ADD CONSTRAINT [DF_TBMT_FILTER_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
GO
ALTER TABLE [dbo].[TBMT_FILTER] ADD CONSTRAINT [DF_TBMT_FILTER_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO GO
DROP TRIGGER IF EXISTS [dbo].[TBMT_FILTER_AFTER_UPDATE] ALTER TABLE [dbo].[TBMT_FILTERS] ADD CONSTRAINT [DF_TBMT_FILTERS_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
GO GO
CREATE OR ALTER TRIGGER [dbo].[TBMT_FILTER_AFTER_UPDATE] ON [dbo].[TBMT_FILTER] ALTER TABLE [dbo].[TBMT_FILTERS] ADD CONSTRAINT [DF_TBMT_FILTERS_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
FOR UPDATE GO
CREATE VIEW [dbo].[VWMT_FILTERS]
AS AS
UPDATE [TBMT_FILTER] SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE [TBMT_FILTER].GUID = INSERTED.GUID SELECT
TFILTERS.*,
TTABLES.NAME TABLE_NAME,
TITEMS.XML_NAME ITEM_NAME
FROM
dbo.TBMT_FILTERS TFILTERS
INNER JOIN TBMT_TABLES AS TTABLES ON TFILTERS.TABLE_ID = TTABLES.GUID
INNER JOIN TBMT_TEMPLATE_ITEMS AS TITEMS ON TFILTERS.ITEM_ID = TITEMS.GUID
GO GO
ALTER TABLE [dbo].[TBMT_FILTER] ENABLE TRIGGER [TBMT_FILTER_AFTER_UPDATE] EXEC sp_rename 'TBMT_TEMPLATE_ITEMS.XML_TABLE_ID', 'TABLE_ID', 'COLUMN'
GO GO
EXEC sp_rename 'TBMT_TEMPLATE_ITEMS.XML_TYPE_ID', 'TYPE_ID', 'COLUMN'
GO
EXEC sp_rename 'TBMT_TEMPLATE_ITEMS.XML_NAME', 'NAME', 'COLUMN'
GO
ALTER VIEW [dbo].[VWMT_ITEMS]
AS
SELECT DISTINCT
[TBTEMPLATES].[NAME] [TEMPLATE_NAME]
,[TBTABLES].[NAME] AS [TABLE_NAME]
,[TBITEMS].[NAME] AS [ITEM_NAME]
,[TBTYPES].[NAME] AS [DATA_TYPE]
,[TBTABLES].[IS_HEAD] AS [IS_HEAD]
,[TBITEMS].[IS_READ_ONLY]
,[TBITEMS].[IS_VISIBLE]
,[TBITEMS].[IS_REQUIRED]
,[TBITEMS].[IS_VIRTUAL]
,[TBITEMS].[ORDER_KEY]
,[TBITEMS].[PREFER_EXTERNAL]
,[TBFUNCTIONS].[GUID] AS [FUNCTION_ID]
,[TBFUNCTIONS].[NAME] AS [FUNCTION_NAME]
,[TBITEMS].[FUNCTION_PARAMETERS]
FROM
[dbo].[TBMT_TEMPLATE_ITEMS] [TBITEMS]
INNER JOIN [dbo].[TBMT_TABLES] [TBTABLES] ON [TBITEMS].[TABLE_ID] = [TBTABLES].[GUID]
INNER JOIN [dbo].[TBMT_TYPES] [TBTYPES] ON [TBITEMS].[TYPE_ID] = [TBTYPES].[GUID]
INNER JOIN [dbo].[TBMT_TEMPLATES] [TBTEMPLATES] ON [TBTABLES].[TEMPLATE_ID] = [TBTEMPLATES].[GUID]
LEFT OUTER JOIN [dbo].[TBMT_FUNCTIONS] [TBFUNCTIONS] ON [TBITEMS].[FUNCTION_ID] = [TBFUNCTIONS].[GUID]
GO
ALTER VIEW [dbo].[VWMT_MAPPING]
AS
SELECT
TMAPPINGCONFIG.ORDER_KEY,
TSOURCE.NAME AS SOURCE_NAME,
TSOURCE_ITEMS.NAME SOURCE_ITEM,
TMAPPINGCONFIG.SOURCE_REGEX,
TDESTINATION.NAME AS DESTINATION_NAME,
TDESTINATION_ITEMS.NAME AS DESTINATION_ITEM,
TMAPPINGCONFIG.DESTINATION_VALUE
FROM
dbo.TBMT_MAPPING_CONFIG TMAPPINGCONFIG
INNER JOIN TBMT_MAPPING_ENTITIES AS TSOURCE ON TMAPPINGCONFIG.SOURCE_ENTITY_ID = TSOURCE.GUID
INNER JOIN TBMT_MAPPING_ENTITIES AS TDESTINATION ON TMAPPINGCONFIG.DESTINATION_ENTITY_ID = TDESTINATION.GUID
LEFT OUTER JOIN TBMT_TEMPLATE_ITEMS AS TSOURCE_ITEMS ON TSOURCE.ITEM_ID = TSOURCE_ITEMS.GUID
LEFT OUTER JOIN TBMT_TEMPLATE_ITEMS AS TDESTINATION_ITEMS ON TDESTINATION.ITEM_ID = TDESTINATION_ITEMS.GUID
GO
ALTER VIEW [dbo].[VWMT_FILTERS]
AS
SELECT
TFILTERS.*,
TTABLES.NAME TABLE_NAME,
TITEMS.NAME ITEM_NAME
FROM
dbo.TBMT_FILTERS TFILTERS
INNER JOIN TBMT_TABLES AS TTABLES ON TFILTERS.TABLE_ID = TTABLES.GUID
INNER JOIN TBMT_TEMPLATE_ITEMS AS TITEMS ON TFILTERS.ITEM_ID = TITEMS.GUID
GO

View File

@ -0,0 +1,74 @@
USE DD_ECM
IF (SELECT NAME FROM [TBMT_FUNCTIONS] WHERE NAME = 'ADDRESS') IS NULL
BEGIN
INSERT INTO TBMT_FUNCTIONS (NAME, DESCRIPTION, [PARAMETERS], ACTIVE, ADDED_WHO)
VALUES ('ADDRESS', 'Finds an Address by Winline Account Number', 'Name,Street,Zip,City', 1, 'UPDATE-006')
END
CREATE TABLE [dbo].[TBMT_TEMPLATE_ITEMS_FUNCTIONS](
[GUID] [int] IDENTITY(1,1) NOT NULL,
[TEMPLATE_ITEM_ID] [int] NOT NULL,
[FUNCTION_ID] [int] NOT NULL,
[FUNCTION_PARAMETERS] [nvarchar](max) NULL,
[SEQUENCE] [int] NULL,
[ADDED_WHEN] [datetime] NULL,
[ADDED_WHO] [nvarchar](50) NULL,
[CHANGED_WHEN] [datetime] NULL,
[CHANGED_WHO] [nvarchar](50) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBMT_TEMPLATE_ITEMS_FUNCTIONS] ADD CONSTRAINT [DF_TBMT_TEMPLATE_ITEMS_FUNCTIONS_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
ALTER TABLE [dbo].[TBMT_TEMPLATE_ITEMS_FUNCTIONS] ADD CONSTRAINT [DF_TBMT_TEMPLATE_ITEMS_FUNCTIONS_SEQUENCE] DEFAULT (0) FOR [SEQUENCE]
GO
IF (SELECT COUNT(*) FROM TBMT_TEMPLATE_ITEMS_FUNCTIONS) = 0
BEGIN
INSERT INTO TBMT_TEMPLATE_ITEMS_FUNCTIONS (TEMPLATE_ITEM_ID, FUNCTION_ID, FUNCTION_PARAMETERS, ADDED_WHO)
SELECT GUID AS TEMPLATE_ITEM_ID, FUNCTION_ID, FUNCTION_PARAMETERS, 'UPDATE-006' AS ADDED_WHO
FROM TBMT_TEMPLATE_ITEMS
WHERE FUNCTION_ID IS NOT NULL
END
GO
ALTER TABLE TBMT_TEMPLATE_ITEMS DROP COLUMN FUNCTION_ID
ALTER TABLE TBMT_TEMPLATE_ITEMS DROP COLUMN FUNCTION_PARAMETERS
GO
ALTER VIEW [dbo].[VWMT_ITEMS]
AS
SELECT DISTINCT
[TBITEMS].[GUID] AS ITEM_ID
,[TBTEMPLATES].[NAME] [TEMPLATE_NAME]
,[TBTABLES].[NAME] AS [TABLE_NAME]
,[TBITEMS].[NAME] AS [ITEM_NAME]
,[TBTYPES].[NAME] AS [DATA_TYPE]
,[TBTABLES].[IS_HEAD] AS [IS_HEAD]
,[TBITEMS].[IS_READ_ONLY]
,[TBITEMS].[IS_VISIBLE]
,[TBITEMS].[IS_REQUIRED]
,[TBITEMS].[IS_VIRTUAL]
,[TBITEMS].[ORDER_KEY]
,[TBITEMS].[PREFER_EXTERNAL]
FROM
[dbo].[TBMT_TEMPLATE_ITEMS] [TBITEMS]
INNER JOIN [dbo].[TBMT_TABLES] [TBTABLES] ON [TBITEMS].[TABLE_ID] = [TBTABLES].[GUID]
INNER JOIN [dbo].[TBMT_TYPES] [TBTYPES] ON [TBITEMS].[TYPE_ID] = [TBTYPES].[GUID]
INNER JOIN [dbo].[TBMT_TEMPLATES] [TBTEMPLATES] ON [TBTABLES].[TEMPLATE_ID] = [TBTEMPLATES].[GUID]
GO
CREATE VIEW [dbo].[VWMT_FUNCTIONS]
AS
SELECT
TBITEMS.TEMPLATE_ITEM_ID AS ITEM_ID,
TBFUNCTIONS.NAME FUNCTION_NAME,
TBITEMS.FUNCTION_ID,
TBITEMS.FUNCTION_PARAMETERS,
TBITEMS.SEQUENCE
FROM TBMT_TEMPLATE_ITEMS_FUNCTIONS TBITEMS
LEFT OUTER JOIN [dbo].[TBMT_FUNCTIONS] AS [TBFUNCTIONS] ON [TBITEMS].[FUNCTION_ID] = [TBFUNCTIONS].[GUID]
ORDER BY ITEM_ID, SEQUENCE
GO

View File

@ -0,0 +1,4 @@
CREATE OR ALTER VIEW [dbo].[VWCUST_REPORT_VIEWER]
AS
SELECT c010, c012, c013, c014, c017, c029, c044, c089, c154, STRING_AGG(c045, ', ') AS c045, STRING_AGG(u047, CHAR(10)) AS u047 FROM t025 WHERE c044 IS NOT NULL AND c045 IS NOT NULL AND U047 IS NOT NULL AND NOT (c023 = 'L' AND c024 = 'L' AND c025 = 'L' AND c026 = 'L') GROUP BY c010, c012, c013, c014, c017, c029, c044, c089, c154
GO