taskFLOW und orgFLOW

This commit is contained in:
Developer01
2026-08-06 10:35:00 +02:00
parent 73aea27ba1
commit 1014e475dd
4 changed files with 24 additions and 106 deletions

View File

@@ -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 GO
IF NOT EXISTS ( SET ANSI_NULLS ON
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
GO GO
IF NOT EXISTS ( SET QUOTED_IDENTIFIER ON
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
GO GO
ALTER PROCEDURE [dbo].[PRTF_PROFILE_FILES_WORK] @pDocID BIGINT,@pProfilID INTEGER,@pUserID INTEGER, @pMode VARCHAR(100)
--24.06.2026 MS Kontierungstabelle as sep Form
ALTER TRIGGER [dbo].[TBPM_PROFILE_CONTROLS_AFT_UPD]
ON [dbo].[TBPM_PROFILE_CONTROLS]
FOR UPDATE
AS AS
BEGIN 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 IF @pMode = 'FreeFile'
@NAME VARCHAR(50), BEGIN
@WHO VARCHAR(100), PRINT 'FreeFile ...'
@CTRL_TYPE VARCHAR(10), UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0, Action_When = NULL, Action_UserID = @pUserID
@CTRL_TEXT VARCHAR(100), WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 1;
@CTRL_CONFIG_TITLE VARCHAR(100); END
ELSE IF @pMode = 'InWork'
SELECT UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 1, Action_When = GETDATE(), Action_UserID = @pUserID
@NAME = [NAME], WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 0;
@WHO = CHANGED_WHO, ELSE IF @pMode = 'Worked'
@CTRL_TYPE = CTRL_TYPE, UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0,Worked = 1, Action_When = GETDATE(), Action_UserID = @pUserID
@CTRL_TEXT = CTRL_TEXT WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0;
FROM inserted; END
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;