diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.4.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.4.sql index 6477e5d..3acc10f 100644 --- a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.4.sql +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.4.sql @@ -1,113 +1,31 @@ -UPDATE TBDD_MODULES SET DB_VERSION = '3.3' where NAME = 'Process-Manager'; +UPDATE TBDD_MODULES SET DB_VERSION = '3.4' where NAME = 'Process-Manager'; GO -IF NOT EXISTS ( - SELECT 1 - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'dbo' - AND TABLE_NAME = 'TBPM_CONTROL_TABLE' - AND COLUMN_NAME = 'INHERIT_VALUE' -) - BEGIN - PRINT 'Spalte INHERIT_VALUE existiert nicht'; - ALTER TABLE TBPM_CONTROL_TABLE ADD INHERIT_VALUE BIT NOT NULL DEFAULT 0 -END - +SET ANSI_NULLS ON GO -IF NOT EXISTS ( - SELECT 1 - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'dbo' - AND TABLE_NAME = 'TBPM_PROFILE_CONTROLS' - AND COLUMN_NAME = 'DISPLAY_IN_SEPERATE_FORM' -) - BEGIN - PRINT 'Spalte DISPLAY_IN_SEPERATE_FORM existiert nicht'; - ALTER TABLE TBPM_PROFILE_CONTROLS ADD DISPLAY_IN_SEPERATE_FORM BIT NOT NULL DEFAULT 0 - END +SET QUOTED_IDENTIFIER ON GO - ---24.06.2026 MS Kontierungstabelle as sep Form -ALTER TRIGGER [dbo].[TBPM_PROFILE_CONTROLS_AFT_UPD] -ON [dbo].[TBPM_PROFILE_CONTROLS] -FOR UPDATE +ALTER PROCEDURE [dbo].[PRTF_PROFILE_FILES_WORK] @pDocID BIGINT,@pProfilID INTEGER,@pUserID INTEGER, @pMode VARCHAR(100) AS BEGIN - SET NOCOUNT ON; + -- Race Condition verhindern mit MERGE + MERGE TBTF_PROFILE_FILES_WORK AS target + USING (SELECT @pProfilID AS ProfileID, @pDocID AS DocID) AS source + ON (target.ProfileID = source.ProfileID AND target.DocID = source.DocID) + WHEN NOT MATCHED THEN + INSERT (ProfileID, DocID, Action_UserID, Action_When, InWork, Worked) + VALUES (@pProfilID, @pDocID, @pUserID, GETDATE(), 0, 0); - DECLARE - @NAME VARCHAR(50), - @WHO VARCHAR(100), - @CTRL_TYPE VARCHAR(10), - @CTRL_TEXT VARCHAR(100), - @CTRL_CONFIG_TITLE VARCHAR(100); - - SELECT - @NAME = [NAME], - @WHO = CHANGED_WHO, - @CTRL_TYPE = CTRL_TYPE, - @CTRL_TEXT = CTRL_TEXT - FROM inserted; - - IF NOT (UPDATE(NAME) OR UPDATE(CTRL_TEXT)) - RETURN; - - IF @CTRL_TYPE NOT IN ('LBL', 'CHK', 'BUTTON', 'TABLE') - RETURN; - - SET @CTRL_CONFIG_TITLE = @CTRL_TYPE + '.' + @NAME; - SET @WHO = ISNULL(NULLIF(LTRIM(@WHO), ''), 'DD Automatic'); - - -- Eintrag 1: Standard-Titel (für TABLE nur initial mit angepasstem Text) - DECLARE @CTRL_TEXT_INSERT VARCHAR(100) = @CTRL_TEXT; - - IF @CTRL_TYPE = 'TABLE' - AND NOT EXISTS ( - SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK) - WHERE MODULE = 'PM' - AND CAPT_TYPE = 'Caption Validator Control' - AND TITLE = @CTRL_CONFIG_TITLE - AND OBJ_NAME = 'frmValidator' - ) - SET @CTRL_TEXT_INSERT = 'Öffne ' + @CTRL_TEXT + ' in separatem Fenster'; - - INSERT INTO TBDD_GUI_LANGUAGE_PHRASE - (MODULE, TITLE, LANGUAGE, CAPT_TYPE, STRING1, STRING2, ADDED_WHO, OBJ_NAME) - SELECT 'PM', @CTRL_CONFIG_TITLE, L.LANG_CODE, - 'Caption Validator Control', @CTRL_TEXT_INSERT, '', @WHO, 'frmValidator' - FROM TBDD_GUI_LANGUAGE AS L WITH (NOLOCK) - WHERE NOT EXISTS ( - SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK) - WHERE MODULE = 'PM' - AND CAPT_TYPE = 'Caption Validator Control' - AND TITLE = @CTRL_CONFIG_TITLE - AND LANGUAGE = L.LANG_CODE - AND OBJ_NAME = 'frmValidator' - ); - - -- Eintrag 2: Nur für TABLE – FORMCAPTION mit originalem CTRL_TEXT und CAPT_TYPE 'FormTitle' - IF @CTRL_TYPE = 'TABLE' - BEGIN - DECLARE @CTRL_CONFIG_TITLE_FC VARCHAR(100) = @CTRL_TYPE + '.' + @NAME + '.FORMCAPTION'; - - INSERT INTO TBDD_GUI_LANGUAGE_PHRASE - (MODULE, TITLE, LANGUAGE, CAPT_TYPE, STRING1, STRING2, ADDED_WHO, OBJ_NAME) - SELECT 'PM', @CTRL_CONFIG_TITLE_FC, L.LANG_CODE, - 'FormTitle', @CTRL_TEXT, '', @WHO, 'frmValidator' - FROM TBDD_GUI_LANGUAGE AS L WITH (NOLOCK) - WHERE NOT EXISTS ( - SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK) - WHERE MODULE = 'PM' - AND CAPT_TYPE = 'FormTitle' - AND TITLE = @CTRL_CONFIG_TITLE_FC - AND LANGUAGE = L.LANG_CODE - AND OBJ_NAME = 'frmValidator' - ); - END - - -- Zeitstempel aktualisieren - UPDATE pc - SET pc.CHANGED_WHEN = GETDATE() - FROM TBPM_PROFILE_CONTROLS AS pc - JOIN inserted AS i ON pc.GUID = i.GUID; -END; \ No newline at end of file + IF @pMode = 'FreeFile' + BEGIN + PRINT 'FreeFile ...' + UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0, Action_When = NULL, Action_UserID = @pUserID + WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 1; + END + ELSE IF @pMode = 'InWork' + UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 1, Action_When = GETDATE(), Action_UserID = @pUserID + WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 0; + ELSE IF @pMode = 'Worked' + UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0,Worked = 1, Action_When = GETDATE(), Action_UserID = @pUserID + WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0; +END diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql index f248fa2..9c544ac 100644 Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql differ diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql index cae8dda..b05e085 100644 Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql differ diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.3.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.3.0.sql index f79f94c..8692abf 100644 Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.3.0.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.3.0.sql differ