Neue Skripte von marvin DD_ECm und taskFLOW Cockpit
This commit is contained in:
222
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.2.sql
Normal file
222
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.2.sql
Normal file
@@ -0,0 +1,222 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '3.2' where NAME = 'Process-Manager';
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER TABLE dbo.TBPM_MONITOR_KONFIG
|
||||
ADD COCKPIT_ID BIGINT NOT NULL DEFAULT ((0));
|
||||
GO
|
||||
|
||||
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- [FNTF_GET_COCKPIT_DEFINITION]
|
||||
-- =================================================================
|
||||
-- Returns a table with user allocated cockpits
|
||||
--
|
||||
-- Returns: TABLE
|
||||
-- =================================================================
|
||||
-- Copyright (c) 2026 by Digital Data GmbH
|
||||
--
|
||||
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
||||
-- =================================================================
|
||||
-- Creation Date / Author: 23.04.2026 / MK
|
||||
-- Version Date / Editor: 02.06.2026 / MK
|
||||
-- Version Number: 1.1.0.0
|
||||
-- =================================================================
|
||||
-- History:
|
||||
-- 23.04.2026 / MK - First Version
|
||||
-- 02.06.2026 / MK - Inaktive TF Profile werden gefiltert
|
||||
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNTF_GET_COCKPIT_DEFINITION](
|
||||
@pUSER_ID BIGINT, -- GUID from [TBDD_USER]
|
||||
@pLANGUAGE NVARCHAR(10) = NULL -- OPTIONAL: Set Language if you want to Override setting in Profile table. Failsafe is getting data from [TBDD_USERS]
|
||||
)
|
||||
RETURNS @RESULT TABLE ( [PK_RESULT_ID] [bigint] Identity(1,1) NOT NULL,
|
||||
[PK_CFG_COCKPIT_DEFINITION_ID] [bigint] NOT NULL,
|
||||
[FK_CFG_COCKPIT_ID] [bigint] NOT NULL,
|
||||
[PARENT_ID] [bigint] NOT NULL,
|
||||
[MAP_SEQUENCE] [smallint] NULL,
|
||||
[ACTIVE] [bit] NOT NULL,
|
||||
[TYPE_ID] [tinyint] NOT NULL,
|
||||
[ICON_INDEX] [smallint] NOT NULL,
|
||||
[NAME] [nvarchar](150) NULL,
|
||||
[FK_PROFILE_ID] [bigint] NULL,
|
||||
[FK_CHART_ID] [bigint] NULL,
|
||||
[FK_MONITOR_ID] [bigint] NULL,
|
||||
[SQL_QUERY] [nvarchar](max) NOT NULL,
|
||||
[SQL_QUERY_COUNT] [nvarchar](max) NULL,
|
||||
[COMMENT] [nvarchar](500) NULL,
|
||||
[ADDED_WHO] [nvarchar](50) NOT NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHO] [nvarchar](50) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
--=========================================-- Parameter copies (avoid sniffing) --========================================--
|
||||
DECLARE @USER_ID BIGINT = @pUSER_ID,
|
||||
@LANGUAGE NVARCHAR(10) = @pLANGUAGE;
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- declare runtime vars --===============================================--
|
||||
DECLARE @MY_FUNCTION_NAME NVARCHAR(128) = OBJECT_NAME(@@PROCID);
|
||||
DECLARE @MODULE_SHORT_NAME NVARCHAR(10) = 'PM';
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===================================================-- Failsafe settings --====================================================--
|
||||
SET @LANGUAGE =
|
||||
CASE
|
||||
WHEN ((LEN(@LANGUAGE) = 0) AND (SELECT count([LANGUAGE]) FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID) = 1)
|
||||
THEN (SELECT [LANGUAGE] FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID)
|
||||
ELSE @LANGUAGE
|
||||
END;
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- get user allocated cockpits --===============================================--
|
||||
INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[FK_CFG_COCKPIT_ID],
|
||||
[PARENT_ID],
|
||||
[MAP_SEQUENCE],
|
||||
[ACTIVE],
|
||||
[TYPE_ID],
|
||||
[ICON_INDEX],
|
||||
[NAME],
|
||||
[FK_PROFILE_ID],
|
||||
[FK_CHART_ID],
|
||||
[FK_MONITOR_ID],
|
||||
[SQL_QUERY],
|
||||
[SQL_QUERY_COUNT],
|
||||
[COMMENT],
|
||||
[ADDED_WHO],
|
||||
[ADDED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN])
|
||||
|
||||
SELECT DISTINCT TOP 100 PERCENT
|
||||
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[CCP].[FK_CFG_COCKPIT_ID],
|
||||
[CCP].[PARENT_ID],
|
||||
[MC].[SEQUENCE],
|
||||
[CCP].[ACTIVE],
|
||||
[CCP].[TYPE_ID],
|
||||
[CCP].[ICON_ID] ,
|
||||
CASE
|
||||
WHEN ((SELECT COUNT(1) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1)
|
||||
THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME])
|
||||
|
||||
ELSE [CCP].[NAME]
|
||||
END as [NAME],
|
||||
[CCP].[FK_PROFILE_ID],
|
||||
[CCP].[FK_CHART_ID],
|
||||
[CCP].[FK_MONITOR_ID],
|
||||
[CCP].[SQL_QUERY],
|
||||
[CCP].[SQL_QUERY_COUNT],
|
||||
[CCP].[COMMENT],
|
||||
[CCP].[ADDED_WHO],
|
||||
[CCP].[ADDED_WHEN],
|
||||
[CCP].[CHANGED_WHO],
|
||||
[CCP].[CHANGED_WHEN]
|
||||
|
||||
FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK)
|
||||
INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].[PK_CFG_COCKPIT_ID]
|
||||
LEFT JOIN [dbo].[TBTF_MAP_COCKPIT] as [MC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [MC].[FK_CFG_COCKPIT_ID]
|
||||
AND [MC].[FK_CFG_USER_ID] = @USER_ID
|
||||
LEFT JOIN [dbo].[TBPM_PROFILE] as [TFP] WITH (NOLOCK) ON [CCP].[FK_PROFILE_ID] = [TFP].[GUID]
|
||||
|
||||
WHERE (([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 0) -- Overview
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 1 AND [TFP].[ACTIVE] = 1) -- Profile
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 2) -- Monitor
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 3)) -- Chart
|
||||
|
||||
AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates
|
||||
|
||||
ORDER BY [MC].[SEQUENCE] ASC, [CCP].[PARENT_ID] ASC, [CCP].[TYPE_ID] ASC;
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- get group allocated cockpits --==============================================--
|
||||
INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[FK_CFG_COCKPIT_ID],
|
||||
[PARENT_ID],
|
||||
[MAP_SEQUENCE],
|
||||
[ACTIVE],
|
||||
[TYPE_ID],
|
||||
[ICON_INDEX],
|
||||
[NAME],
|
||||
[FK_PROFILE_ID],
|
||||
[FK_CHART_ID],
|
||||
[FK_MONITOR_ID],
|
||||
[SQL_QUERY],
|
||||
[SQL_QUERY_COUNT],
|
||||
[COMMENT],
|
||||
[ADDED_WHO],
|
||||
[ADDED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN])
|
||||
|
||||
SELECT DISTINCT TOP 100 PERCENT
|
||||
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[CCP].[FK_CFG_COCKPIT_ID],
|
||||
[CCP].[PARENT_ID],
|
||||
[MC].[SEQUENCE],
|
||||
[CCP].[ACTIVE],
|
||||
[CCP].[TYPE_ID],
|
||||
[CCP].[ICON_ID] ,
|
||||
CASE
|
||||
WHEN ((SELECT COUNT(1) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1)
|
||||
THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME])
|
||||
|
||||
ELSE [CCP].[NAME]
|
||||
END as [NAME],
|
||||
[CCP].[FK_PROFILE_ID],
|
||||
[CCP].[FK_CHART_ID],
|
||||
[CCP].[FK_MONITOR_ID],
|
||||
[CCP].[SQL_QUERY],
|
||||
[CCP].[SQL_QUERY_COUNT],
|
||||
[CCP].[COMMENT],
|
||||
[CCP].[ADDED_WHO],
|
||||
[CCP].[ADDED_WHEN],
|
||||
[CCP].[CHANGED_WHO],
|
||||
[CCP].[CHANGED_WHEN]
|
||||
|
||||
FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK)
|
||||
INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].PK_CFG_COCKPIT_ID
|
||||
LEFT JOIN [dbo].[TBTF_MAP_COCKPIT] as [MC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [MC].[FK_CFG_COCKPIT_ID]
|
||||
AND [MC].[FK_CFG_GROUP_ID] IN (SELECT DISTINCT [GROUP_ID]
|
||||
FROM [dbo].[TBDD_GROUPS_USER] WITH (NOLOCK)
|
||||
WHERE [USER_ID] = @USER_ID)
|
||||
LEFT JOIN [dbo].[TBPM_PROFILE] as [TFP] WITH (NOLOCK) ON [CCP].[FK_PROFILE_ID] = [TFP].[GUID]
|
||||
|
||||
WHERE (([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 0) -- Overview
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 1 AND [TFP].[ACTIVE] = 1) -- Profile
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 2) -- Monitor
|
||||
OR ([CC].[ACTIVE] IN (0,1) AND [TYPE_ID] = 3)) -- Chart
|
||||
|
||||
AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates
|
||||
|
||||
ORDER BY [MC].[SEQUENCE] ASC, [CCP].[PARENT_ID] ASC, [CCP].[TYPE_ID] ASC;
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
RETURN;
|
||||
|
||||
END;
|
||||
|
||||
/***
|
||||
-- TEST:
|
||||
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](1,NULL)
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](2,'en-us')
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](5,'en-us')
|
||||
|
||||
***/
|
||||
GO
|
||||
Reference in New Issue
Block a user