org und taskFLOW

This commit is contained in:
Developer01
2026-08-10 16:24:54 +02:00
parent 1014e475dd
commit a8417cdfc1
2 changed files with 280 additions and 0 deletions

View File

@@ -0,0 +1,280 @@
UPDATE TBDD_MODULES SET DB_VERSION = '3.5' where NAME = 'Process-Manager';
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Digital Data MS
-- Created: 11.06.2021
-- Description: Gets the next DocumentID
-- Changed: 10.08.2026 MS NLCK
-- Changed: 10.07.2026 MK Format and logic rework
-- Changed: 05.05.2022 Insert only when <> 0
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] (
@PROFIL_ID Integer,
@pDocID BigInt,
@UserID Integer
)
AS
BEGIN
DECLARE @GUID BIGINT = 0,
@DocID BIGINT = 0,
@FILES2BValidated SMALLINT = 0;
IF (@pDocID = 0 And EXISTS(SELECT GUID FROM TBPM_FILES_USER_NOT_INDEXED WITH (NOLOCK) WHERE DATEDIFF(second,ADDED_WHEN,GETDATE()) < 4 AND USRID = @UserID)) BEGIN
PRINT 'NO DocID and datdiff < 5 sec'
DECLARE @FILEPATH VARCHAR(512)
SELECT @FILEPATH = FILE_PATH FROM TBPM_FILES_USER_NOT_INDEXED WITH (NOLOCK)WHERE DATEDIFF(second,ADDED_WHEN,GETDATE()) < 4 AND USRID = @UserID;
PRINT '@FILEPATH'
SELECT @pDocID = DOC_ID From TBPM_PROFILE_FILES WITH (NOLOCK) where FILE_PATH = @FILEPATH;
END;
INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@pDocID,@UserID);
SELECT @GUID = ISNULL([GUID],0),
@DocID = ISNULL([DOC_ID],0),
@FILES2BValidated = ISNULL((SELECT COUNT(GUID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER A WITH (NOLOCK) WHERE A.DocID NOT IN (SELECT DocID FROM TBPM_DOCWALKOVER WITH (NOLOCK) WHERE UserID = @UserID) and UserID = @UserID),0)
FROM TBPM_PROFILE_FILES WITH (NOLOCK)
WHERE PROFIL_ID = @PROFIL_ID
AND DOC_ID = (SELECT MIN(DocID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER WITH (NOLOCK) WHERE UserID = @UserID AND DocID not in (SELECT DISTINCT DocID FROM TBPM_DOCWALKOVER WITH (NOLOCK) WHERE UserID = @UserID));
SELECT @GUID as 'DocGUID',
@DocID as 'DocID',
@FILES2BValidated as 'FILES2BValidated';
RETURN;
END;
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: 10.07.2026 / MK
-- Version Number: 1.2.0.0
-- =================================================================
-- History:
-- 10.07.2026 / MK - Aktiv/Inaktiv Anzeige verbessert
-- 02.06.2026 / MK - Inaktive TF Profile werden gefiltert
-- 23.04.2026 / MK - First Version
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],
CASE
WHEN [CCP].[TYPE_ID] = 0 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 1 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0 OR [TFP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 2 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 3 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
ELSE [CCP].[ACTIVE]
END as [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 [CCP].[TYPE_ID] = 0) -- Overview
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 1) -- Profile
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 2) -- Monitor
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 3)) -- Chart
AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates
ORDER BY [CCP].[TYPE_ID] ASC, [MC].[SEQUENCE] ASC, [CCP].[PARENT_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],
CASE
WHEN [CCP].[TYPE_ID] = 0 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 1 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0 OR [TFP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 2 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
WHEN [CCP].[TYPE_ID] = 3 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0)
THEN 0
ELSE [CCP].[ACTIVE]
END as [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 [CCP].[TYPE_ID] = 0) -- Overview
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 1) -- Profile
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 2) -- Monitor
OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 3)) -- Chart
AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates
ORDER BY [CCP].[TYPE_ID] ASC, [MC].[SEQUENCE] ASC, [CCP].[PARENT_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')
***/