214 lines
7.6 KiB
Transact-SQL

UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.7' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD EXPAND BIT NOT NULL DEFAULT 0
GO
ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS
select
T.*,
T1.CONTROL_ID,
T1.CREATE_RECORD,
T1.ENTITY_ID,
T1.NAME,
T1.TYPE_NODE,
T1.PARENT_NODE,
T1.EXPAND AS EXPAND_NODE
FROM TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
WHERE T.NODE_CONFIG_ID = T1.GUID
GO
CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY(
GUID INT,
CONTROL_ID INT,
RECORD_ID INT,
VALUE VARCHAR(max) ,
ADDED_WHO VARCHAR(50),
ADDED_WHEN DATETIME,
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CHANGE_STEP INT,
REDO BIT,
CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID)
)
GO
CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY]
ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID])
INCLUDE ([VALUE])
GO
ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE]
FOR DELETE
AS
BEGIN TRY
DECLARE
@GUID INTEGER,
@RECORD_ID INTEGER,
@CONTROL_ID INTEGER,
@ADDED_WHO VARCHAR(50),
@ADDED_WHEN DATETIME,
@CHANGED_WHO VARCHAR(50),
@CHANGED_WHEN DATETIME,
@VALUE_DEL VARCHAR(MAX),
@DOC_ID INTEGER,
@USER_ID INTEGER,
@USER_ID_ECM INTEGER,
@RIGHT INTEGER,
@ENTITY_ID INTEGER,
@COL_NAME VARCHAR(50),
@COUNTER_CONTROL_UPDATE_ID INTEGER
SELECT
@GUID = DELETED.GUID,
@RECORD_ID = DELETED.RECORD_ID,
@CONTROL_ID = DELETED.CONTROL_ID,
@VALUE_DEL = DELETED.VALUE,
@ENTITY_ID = T1.FORM_ID,
@COL_NAME = T1.COL_NAME ,
@ADDED_WHO = DELETED.ADDED_WHO,
@ADDED_WHEN = DELETED.ADDED_WHEN,
@CHANGED_WHO = DELETED.CHANGED_WHO,
@CHANGED_WHEN = DELETED.CHANGED_WHEN
FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
WHERE DELETED.RECORD_ID = T.GUID AND
DELETED.CONTROL_ID = T1.GUID
IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID
EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,''
INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN)
SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED
/*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
IF @CONTROL_ID in (29,14,346)
BEGIN
SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
END
IF @CONTROL_ID = 346
BEGIN
DECLARE cursor_DOCS CURSOR FOR
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
TRL.RECORD_ID = @RECORD_ID
--SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
OPEN cursor_DOCS
FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN
DECLARE cursor_User CURSOR FOR
SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL)
OPEN cursor_User
FETCH NEXT FROM cursor_User INTO @USER_ID
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID
FETCH NEXT FROM cursor_User INTO @USER_ID
END
CLOSE cursor_User
DEALLOCATE cursor_User
END
FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
END
CLOSE cursor_DOCS
DEALLOCATE cursor_DOCS
END
/*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
END TRY
BEGIN CATCH
PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
AS
DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
EXEC sp_executesql @DELETE_SQL
DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
GO
ALTER TABLE TBPMO_CONTROL
ADD AUTO_SUGGEST BIT NOT NULL DEFAULT 0
GO
ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
SELECT TOP 100 PERCENT
T.GUID CONTROL_ID,
T.FORM_ID CONTROL_ENTITY_ID,
T.NAME CONTROL_NAME,
T.REQUIRED CONTROL_REQUIRED,
T.DEFAULT_VALUE CONTROL_DEF_VALUE,
T.READ_ONLY CONTROL_READ_ONLY,
T.SELECT_ONLY CONTROL_SELECT_ONLY,
T.MULTILINE CONTROL_MULTILINE,
T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
T.COL_NAME CONTROL_COL_NAME,
T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
T.CONNECTION_ID_1 CONTROL_CONNID_1,
T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
T.VISIBLE CONTROL_VISIBLE,
T.TREE_VIEW CONTROL_TREE_VIEW,
T.STATIC_LIST CONTROL_STATIC_LIST,
T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST,
T4.GUID CTRLTYPE_ID,
T4.TYPE_NAME CTRLTYPE_NAME,
T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
T.FORM_ID,
T3.NAME FORM_NAME,
T3.LEVEL FORM_LEVEL,
T1.SCREEN_ID SCREEN_ID,
T2.NAME SCREEN_NAME,
T1.GUID CTRLSCR_ID,
T1.CONTROL_TEXT CTRLSCR_CAPTION,
T1.X_LOC CTRLSCR_X_LOC,
T1.Y_LOC CTRLSCR_Y_LOC,
T1.HEIGHT CTRLSCR_HEIGHT,
T1.WIDTH CTRLSCR_WIDTH,
T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
T1.FONT_COLOR CTRLSCR_FONT_COLOR,
T1.FONT_SIZE CTRLSCR_FONT_SIZE,
T1.FONT_STYLE CTRLSCR_FONT_STYLE,
T1.TAB_INDEX CTRLSCR_TAB_INDEX,
T1.TAB_STOP CTRLSCR_TAB_STOP,
T1.BACK_COLOR CTRLSCR_BACK_COLOR,
T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
FROM
TBPMO_CONTROL T,
TBPMO_CONTROL_SCREEN T1,
TBPMO_SCREEN T2,
TBPMO_FORM T3,
TBPMO_CONTROL_TYPE T4
WHERE
T.FORM_ID = T3.GUID AND
T.GUID = T1.CONTROL_ID AND
T1.SCREEN_ID = T2.GUID AND
T.CONTROL_TYPE_ID = T4.GUID
ORDER BY
T1.SCREEN_ID,
T.FORM_ID,
T1.TAB_STOP
GO