diff --git a/00_SCRIPT_COLLECTED/CreateDB_Objects_WM_based.sql b/00_SCRIPT_COLLECTED/CreateDB_Objects_WM_based.sql index c850b1f..c99b1ae 100644 --- a/00_SCRIPT_COLLECTED/CreateDB_Objects_WM_based.sql +++ b/00_SCRIPT_COLLECTED/CreateDB_Objects_WM_based.sql @@ -4073,6 +4073,8 @@ QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO +USE [DD_ECM] +GO --############################################################################################################################################################ --GLOBAL-INDEXER AKA FILE-FLOW --############################################################################################################################################################ diff --git a/01_DD_ECM/FolderImport.sql b/01_DD_ECM/FolderImport.sql new file mode 100644 index 0000000..7d4ab01 --- /dev/null +++ b/01_DD_ECM/FolderImport.sql @@ -0,0 +1,97 @@ +SELECt * FROM TBFOLDERIMPORT_PROFILE +CREATE TABLE TBFOLDERIMPORT_PROFILE +( + GUID INTEGER IDENTITY(1,1), + TITLE VARCHAR(250) NOT NULL, + IMPORT_PATH VARCHAR(900) NOT NULL, + REGEX_FILENAME VARCHAR(250) NOT NULL DEFAULT '', + LIMIT_FILECOUNT TINYINT NOT NULL DEFAULT 0, + DOCTYPE_ID INTEGER NOT NULL, + ARCHIVE_PATH VARCHAR(900) NOT NULL DEFAULT '', + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBFOLDERIMPORT_PROFILE PRIMARY KEY (GUID), + CONSTRAINT UC_TBFOLDERIMPORT_PROFILE UNIQUE (IMPORT_PATH), +) +GO + +CREATE TRIGGER [dbo].[TBFOLDERIMPORT_PROFILE_AFT_UPD] ON [dbo].[TBFOLDERIMPORT_PROFILE] +FOR UPDATE +AS +BEGIN + UPDATE TBFOLDERIMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBFOLDERIMPORT_PROFILE.GUID = INSERTED.GUID +END +GO + +ALTER PROCEDURE PRIDBFOLDERIMPORT_PROFILE ( @TITLE VARCHAR(250), + @IMPORT_PATH VARCHAR(900), + @REGEX_FILENAME VARCHAR(250), + @LIMIT_FILECOUNT TINYINT, + @DOCTYPE_ID INTEGER, + @ARCHIVE_PATH VARCHAR(900), + @COMMENT VARCHAR(200), + @WHO VARCHAR(50), + @GUID INTEGER = 0) +AS +BEGIN + IF @GUID = 0 + BEGIN + INSERT INTO [dbo].[TBFOLDERIMPORT_PROFILE] + ([TITLE] + ,[IMPORT_PATH] + ,[REGEX_FILENAME] + ,[LIMIT_FILECOUNT] + ,[DOCTYPE_ID] + ,[ARCHIVE_PATH] + ,[COMMENT] + ,[ADDED_WHO] + ) + VALUES + (@TITLE + ,@IMPORT_PATH + ,@REGEX_FILENAME + ,@LIMIT_FILECOUNT + ,@DOCTYPE_ID + ,@ARCHIVE_PATH + ,@COMMENT + ,@WHO); + SELECT @GUID = GUID FROM TBFOLDERIMPORT_PROFILE WHERE IMPORT_PATH = @IMPORT_PATH; + END + ELSE + BEGIN + UPDATE [dbo].[TBFOLDERIMPORT_PROFILE] + SET [TITLE] = @TITLE + ,[IMPORT_PATH] = @IMPORT_PATH + ,[REGEX_FILENAME] = @REGEX_FILENAME + ,[LIMIT_FILECOUNT] = @LIMIT_FILECOUNT + ,[DOCTYPE_ID] = @DOCTYPE_ID + ,[ARCHIVE_PATH] = @ARCHIVE_PATH + ,[COMMENT] = @COMMENT + ,[CHANGED_WHO] = @WHO + WHERE GUID = @GUID + END + SELECT * FROM TBFOLDERIMPORT_PROFILE WHERE GUID = @GUID +END +GO +CREATE TABLE TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT +( + GUID INTEGER IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + PRAEFIX VARCHAR(250) NOT NULL DEFAULT '', + SPLIT_CHARACTER VARCHAR(10) NOT NULL, + SPLIT_POS TINYINT NOT NULL, + SUFFIX VARCHAR(250) NOT NULL DEFAULT '', + ATTRIBUTE VARCHAR(900) NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT PRIMARY KEY (GUID), + CONSTRAINT UC_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT UNIQUE (PROFILE_ID,ATTRIBUTE), + CONSTRAINT FK_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT FOREIGN KEY(PROFILE_ID) REFERENCES TBFOLDERIMPORT_PROFILE(GUID) +) +GO \ No newline at end of file diff --git a/01_DD_ECM/Microsoft Publisher Document (neu).pub b/01_DD_ECM/Microsoft Publisher Document (neu).pub deleted file mode 100644 index 56b6e97..0000000 Binary files a/01_DD_ECM/Microsoft Publisher Document (neu).pub and /dev/null differ diff --git a/01_DD_ECM/SQL_JOB1.sql b/01_DD_ECM/SQL_JOB1.sql deleted file mode 100644 index 49f07f1..0000000 --- a/01_DD_ECM/SQL_JOB1.sql +++ /dev/null @@ -1,68 +0,0 @@ -USE [msdb] -GO - -/****** Object: Job [DD_DAILY] Script Date: 05.05.2022 16:42:48 ******/ -BEGIN TRANSACTION -DECLARE @ReturnCode INT -SELECT @ReturnCode = 0 -/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 05.05.2022 16:42:48 ******/ -IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) -BEGIN -EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback - -END - -DECLARE @jobId BINARY(16) -EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_DAILY', - @enabled=1, - @notify_level_eventlog=0, - @notify_level_email=0, - @notify_level_netsend=0, - @notify_level_page=0, - @delete_level=0, - @description=N'Es ist keine Beschreibung verfügbar.', - @category_name=N'[Uncategorized (Local)]', - @owner_login_name=N'sa', @job_id = @jobId OUTPUT -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -/****** Object: Step [PRAPPSERV_FILL_TBDD_USER_MODULE] Script Date: 05.05.2022 16:42:48 ******/ -EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRAPPSERV_FILL_TBDD_USER_MODULE', - @step_id=1, - @cmdexec_success_code=0, - @on_success_action=1, - @on_success_step_id=0, - @on_fail_action=2, - @on_fail_step_id=0, - @retry_attempts=0, - @retry_interval=0, - @os_run_priority=0, @subsystem=N'TSQL', - @command=N'EXEC PRAPPSERV_FILL_TBDD_USER_MODULE;', - @database_name=N'DD_ECM', - @flags=0 -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'DAILY08_12_16', - @enabled=1, - @freq_type=8, - @freq_interval=62, - @freq_subday_type=8, - @freq_subday_interval=4, - @freq_relative_interval=0, - @freq_recurrence_factor=1, - @active_start_date=20220505, - @active_end_date=99991231, - @active_start_time=80000, - @active_end_time=160259, - @schedule_uid=N'42f54c9f-e4f2-466c-9543-d454d6fb6c03' -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' -IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -COMMIT TRANSACTION -GOTO EndSave -QuitWithRollback: - IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION -EndSave: -GO - - diff --git a/01_DD_ECM/Update/1.9.3.0.sql b/01_DD_ECM/Update/1.9.3.0.sql new file mode 100644 index 0000000..093c6d6 --- /dev/null +++ b/01_DD_ECM/Update/1.9.3.0.sql @@ -0,0 +1,35 @@ +UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.3.0' +CREATE TABLE TBDD_NOTIFICATIONS_SYSTEM +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(250) NOT NULL, + MODULE VARCHAR(250) NOT NULL, + DISPLAY_TYPE VARCHAR(100) NOT NULL, + MSG_STRING NVARCHAR(MAX) NOT NULL, + DISPLAY_UNTIL DATE, + VALIDATE_READ BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_NOTIFICATIONS_SYSTEM PRIMARY KEY (GUID), + ) +GO +CREATE TRIGGER TTBDD_NOTIFICATIONS_SYSTEM_AFT_UPD ON TBDD_NOTIFICATIONS_SYSTEM +FOR UPDATE +AS + UPDATE TBDD_NOTIFICATIONS_SYSTEM SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBDD_NOTIFICATIONS_SYSTEM .GUID = INSERTED.GUID +GO + +CREATE TABLE TBDD_NOTIFICATIONS_USER_HISTORY +( + GUID INTEGER IDENTITY(1,1), + NOTIFY_ID INT NOT NULL, + USR_ID INT NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBDD_NOTIFICATIONS_USER_HISTORY PRIMARY KEY (GUID), + CONSTRAINT FK_TBDD_NOTIFICATIONS_USER_HISTORY_NID FOREIGN KEY(NOTIFY_ID) REFERENCES TBDD_NOTIFICATIONS_SYSTEM(GUID), +) +GO \ No newline at end of file diff --git a/01_IDB/CreateDBObjects.sql b/01_IDB/CreateDBObjects.sql index 3408957..db8813e 100644 --- a/01_IDB/CreateDBObjects.sql +++ b/01_IDB/CreateDBObjects.sql @@ -1203,13 +1203,15 @@ WHERE ATTR.DELETED = 0 GO + CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS SELECT COALESCE(T.GUID,0) as GUID, COALESCE(T.[BE_ID],0) BE_ID ,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE - ,[ATTR_ID] + ,T1.GUID AS [ATTR_ID] ,T6.TERM_VALUE AS ATTR_TITLE + ,T4.TERM_ID AS ATTR_TERM_ID ,T1.TYP_ID ,T1.TYP_ID AS [TYPE_ID] ,T3.NAME_TYPE AS [TYPE_NAME] @@ -1494,7 +1496,42 @@ BEGIN SELECT * FROM @TBRESULT END GO - +--DROP TABLE TBIDB_SEARCH_DEF_RELATIONS +--DROP TABLE TBIDB_SEARCH_DEFINITION +CREATE TABLE TBIDB_SEARCH_DEFINITION +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(250) NOT NULL, + DESCRIPTION VARCHAR(500), + XML_VALUE NVARCHAR(MAX) NOT NULL, + SYS_SEARCH BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(100) NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_DEFINITION PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER [dbo].[TBIDB_SEARCH_DEFINITION_AFT_UPD] ON [dbo].[TBIDB_SEARCH_DEFINITION] +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_DEFINITION SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_DEFINITION.GUID = INSERTED.GUID +GO +CREATE TABLE TBIDB_SEARCH_DEF_RELATIONS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_ID INTEGER NOT NULL, + USR_ID INT NOT NULL DEFAULT 0, + GRP_ID INT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_DEF_RELATIONS PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_DEF_RELATIONS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_DEFINITION (GUID), + CONSTRAINT UQ_PK_TBIDB_SEARCH_DEF_RELATIONS UNIQUE(SEARCH_ID,USR_ID,GRP_ID) + ) +GO CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pTERM_ID BIGINT, @pTOKENID TINYINT = 0, @pLANG_CODE as VARCHAR(5) = 'de-DE') AS BEGIN @@ -1520,7 +1557,7 @@ BEGIN + CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON DT.TERM_ID = TERM.GUID' + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON DT.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) - SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' + SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' + char(10) IF @DateStr = 'DATEPART' BEGIN SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; @@ -1555,22 +1592,18 @@ BEGIN END END - SET @DYNSQL_INSERT += 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10) + SET @DYNSQL_INSERT += CHAR(9) + 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10) DECLARE @LANGUAGE AS VARCHAR(100) IF @pType <> 'DOCTYPE' SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' ELSE SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + '''' - SET @DYNSQL_INSERT += @LANGUAGE + char(10) + SET @DYNSQL_INSERT += CHAR(9) + @LANGUAGE + char(10) PRINT @DYNSQL_INSERT EXEC sp_executesql @DYNSQL_INSERT END GO -USE [IDB] -GO -USE [IDB] -GO -- ============================================= -- Author: DD MS -- Changed: 19.05.2022 @@ -1582,6 +1615,7 @@ BEGIN DECLARE @DATE1 DATE,@DATE2 DATE DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID; + IF LEN(@pDATE_RESTRICTION) > 0 BEGIN PRINT '@pDATE_RESTRICTION....' @@ -1613,18 +1647,18 @@ BEGIN -- DELETE FROM @DOC_RESULTS; -- END SET @TOKEN_ID += 1 - + PRINT '### WORKIN ON ATTRIBUTE [' + @ATTR_TITLE + '] TOKEN_ID [' + CONVERT(VARCHAR(2),@TOKEN_ID) + '] ###' EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE IF @TOKEN_ID > 1 AND @OPERATOR = 'AND' BEGIN DELETE FROM @DOC_RESULTS; INSERT INTO @DOC_RESULTS(DocID) - SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID) + SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID AND USR_ID = @pUSR_ID) END ELSE INSERT INTO @DOC_RESULTS(DocID) - SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS) + SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND USR_ID = @pUSR_ID --AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS) FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR END CLOSE curs_Tokens @@ -1633,6 +1667,7 @@ BEGIN INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID) SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS; END + GO CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pSEARCH_TERM as VARCHAR(900), @pLANG_CODE as VARCHAR(5) = 'de-DE') AS @@ -4369,6 +4404,7 @@ BEGIN SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID END GO + ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), @LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT AS @@ -4379,9 +4415,12 @@ BEGIN @TYP_DESCR VARCHAR(100), @MULTI BIT, @LANG_ID INT, - @WHO_TERM_ID BIGINT + @WHO_TERM_ID BIGINT, + @ATTR_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@WHO,@WHO,@TERM_ID = @WHO_TERM_ID OUTPUT; + --PRINT 'GETTIN ATTR-TERMID...' + EXEC PRIDB_NEW_TERM 'VARCHAR',@ATTRIBUTE,@WHO,@TERM_ID = @ATTR_TERM_ID OUTPUT; --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY BEGIN @@ -4396,17 +4435,23 @@ BEGIN END END - - IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = @ATTRIBUTE) + --IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE) + -- BEGIN + -- DECLARE @MSG VARCHAR(100) + -- SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']' + -- RAISERROR (@MSG,16,1) + -- END + + SELECT @ATTR_ID = T.ATTR_ID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T.TYPE_NAME FROM VWIDB_BE_ATTRIBUTE T + WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE + --PRINT 'ATTRIBUTID: ' + CONVERT(VARCHAR(10),@ATTR_ID) + IF LEN(@ATTR_ID) = 0 BEGIN DECLARE @MSG VARCHAR(100) SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']' RAISERROR (@MSG,16,1) END - - SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 - WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) - PRINT @TYP_DESCR + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE DECLARE @MY_TERM_ID BIGINT diff --git a/01_IDB/StructureNode.sql b/01_IDB/StructureNode.sql index a8440e2..ddd34b6 100644 --- a/01_IDB/StructureNode.sql +++ b/01_IDB/StructureNode.sql @@ -1,81 +1,16 @@ --- ============================================= --- Author: DD MS --- Changed: --- ============================================= ---CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT - -DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) ---AS -SET @pIDB_OBJ_ID = 10026 -SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner' -DECLARE - @FOLD_PART VARCHAR(250) -BEGIN - - DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900) - SET @FOLDER_DEPTH = 0 - DECLARE @PARENT_OBJ_ID BIGINT - --SPLIT FOR FOLDER PARTS - DECLARE cursSplitFolder CURSOR FOR - SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\') - OPEN cursSplitFolder - FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART - WHILE @@FETCH_STATUS = 0 - BEGIN - --EACH FOLDER PART WORKED SEPERATELY - IF @FOLDER_DEPTH = 0 - BEGIN - SET @PARENT_OBJ_ID = 0 - SET @FOLDER_PART = @FOLD_PART - END - ELSE - BEGIN - SET @FOLDER_PART += '\' + @FOLD_PART - END - PRINT '##############################' - PRINT '@FOLDER_PART: ' + @FOLDER_PART - DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT - EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT; - --EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT; - DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT - IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID) - BEGIN - PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden' - EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT; - DECLARE @NEW_OBJ_MD_ID BIGINT - EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT - END - ELSE - BEGIN - SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID - PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS' - END - SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID - - SET @FOLDER_DEPTH += 1 - FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART - END - CLOSE cursSplitFolder - DEALLOCATE cursSplitFolder - - IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID) - INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO); -END -GO -DROP TABLE TBIDB_SN_IDB_OBJ +DROP TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ DROP TABLE TBIDB_STRUCTURE_NODES CREATE TABLE TBIDB_STRUCTURE_NODES ( GUID BIGINT NOT NULL IDENTITY (1, 1), PARENT_ID BIGINT NOT NULL DEFAULT 0, - TERM_LANG_ID BIGINT NOT NULL, + NODE_CAPTION VARCHAR(250) NOT NULL, ADDED_WHO VARCHAR(100), ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBIDB_STRUCTURE_NODES PRIMARY KEY (GUID), - CONSTRAINT FK_TBIDB_STRUCTURE_NODES_TLANGID FOREIGN KEY (TERM_LANG_ID) REFERENCES TBIDB_LANGUAGE_TERM (GUID), - CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,TERM_LANG_ID) + CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,NODE_CAPTION) ) GO CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES @@ -85,16 +20,7 @@ AS FROM INSERTED WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID GO -CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pPARENT_ID BIGINT, @pTERM_LANG_ID BIGINT,@pWHO VARCHAR(100), @OUT_SN_GUID BIGINT OUTPUT -AS -BEGIN - IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID) - INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,TERM_LANG_ID,ADDED_WHO) VALUES (@pPARENT_ID,@pTERM_LANG_ID,@pWHO) - BEGIN - SELECT @OUT_SN_GUID = GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID - END -END -GO + CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ ( @@ -109,6 +35,31 @@ CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ CONSTRAINT UQ_TBIDB_SN_IDB_OBJ UNIQUE(SN_ID,IDB_OBJ_ID) ) GO +CREATE TABLE TBIDB_STRUCTURE_NODES_RELATIONS +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + SN_ID BIGINT NOT NULL, + USR_ID INT, + GRP_ID INT, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_STRUCTURE_NODES_RELATIONS PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_STRUCTURE_NODES_RELATIONS_SN_ID FOREIGN KEY (SN_ID) REFERENCES TBIDB_STRUCTURE_NODES (GUID), + CONSTRAINT UQ_TBIDB_STRUCTURE_NODES_RELATIONS UNIQUE(SN_ID,USR_ID,GRP_ID) + ) +GO +CREATE OR ALTER VIEW VWIDB_SN_RELATIONS +AS +SELECT SNR.GUID as REL_ID, SNR.SN_ID, SN.NODE_CAPTION, USR.EMAIL as Identification, 'USR' as Scope, USR.GUID ScopeID +FROM + TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_USER USR ON SNR.USR_ID = USR.GUID + INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID +UNION +SELECT SNR.GUID as REL_ID, SNR.SN_ID,SN.NODE_CAPTION, GRP.NAME as Identification, 'GRP' as Scope, GRP.GUID ScopeID +FROM + TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_GROUPS GRP ON SNR.GRP_ID = GRP.GUID + INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID +GO CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE AS SELECT @@ -128,7 +79,7 @@ GO CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_LANGUAGE_TERM] @pOBJ_ID BIGINT, @pTERM_ID BIGINT,@pWHO_TERM_ID BIGINT,@pKIND_TYPE INT,@pLANG_ID TINYINT, @OUT_LANG_TERM_GUID BIGINT OUTPUT AS BEGIN - IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND TERM_ID = @pTERM_ID AND KIND_TYPE = @pKIND_TYPE ) + IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND KIND_TYPE = @pKIND_TYPE ) INSERT INTO TBIDB_LANGUAGE_TERM (OBJECT_ID,TERM_ID,LANG_ID,ADDED_WHO,KIND_TYPE) VALUES (@pOBJ_ID,@pTERM_ID,@pLANG_ID,@pWHO_TERM_ID,@pKIND_TYPE) ELSE BEGIN @@ -144,23 +95,12 @@ GO -- Author: DD MS -- Changed: -- ============================================= ---CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT - -DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT ---AS -SET @pIDB_OBJ_ID = 10026 -SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner' -SET @pLANG_ID = 1 -SET @pWHO = 'SchreiberM' -DECLARE - @FOLD_PART VARCHAR(250), - @WHO_TERM_ID BIGINT - EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; +CREATE OR ALTER PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT +AS BEGIN - - DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900) + DECLARE @FOLDER_DEPTH TINYINT,@FOLD_PART VARCHAR(250),@FOLD_PATH_SO_FAR VARCHAR(900) SET @FOLDER_DEPTH = 0 - DECLARE @PARENT_NODE_GUID BIGINT + DECLARE @PARENT_NODE_GUID BIGINT,@SN_ID BIGINT --SPLIT FOR FOLDER PARTS DECLARE cursSplitFolder CURSOR FOR SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\') @@ -172,37 +112,57 @@ BEGIN IF @FOLDER_DEPTH = 0 BEGIN SET @PARENT_NODE_GUID = 0 - SET @FOLDER_PART = @FOLD_PART + SET @FOLD_PATH_SO_FAR = @FOLD_PART END ELSE BEGIN - SET @FOLDER_PART += '\' + @FOLD_PART + SET @FOLD_PATH_SO_FAR += '\' + @FOLD_PART END PRINT '##############################' - PRINT '@FOLDER_PART: ' + @FOLDER_PART - DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT - EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT; - --EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT; - DECLARE @OUT_LANG_TERM_GUID BIGINT + PRINT 'WORKING ON @FOLD_PATH_SO_FAR: ' + @FOLD_PATH_SO_FAR - --PRÜFEN OB DER NODE_TERM ANGELEGT IST - EXEC [PRIDB_NEW_LANGUAGE_TERM] @PARENT_NODE_GUID, @PATH_PART_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID = @OUT_LANG_TERM_GUID - SELECT @OUT_LANG_TERM_GUID = GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @PARENT_NODE_GUID AND LANG_ID = @pLANG_ID AND TERM_ID = @PATH_PART_ID AND KIND_TYPE = 4 - DECLARE @OUT_SN_GUID BIGINT - EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @OUT_LANG_TERM_GUID,@pWHO,@OUT_SN_GUID = @OUT_SN_GUID OUTPUT - - SET @PARENT_NODE_GUID = @OUT_SN_GUID - + + EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @FOLD_PART,@pWHO, @pLANG_ID, @LAST_SN_ID OUTPUT + SET @PARENT_NODE_GUID = @LAST_SN_ID SET @FOLDER_DEPTH += 1 FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART END CLOSE cursSplitFolder DEALLOCATE cursSplitFolder - --IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID) - -- INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO); END - +GO +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pNODE_PARENT_ID BIGINT, @pNODECAPTION VARCHAR(200),@pWHO VARCHAR(100), @pLANG_ID TINYINT, @OUT_SN_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @WHO_TERM_ID BIGINT, @NODECAPTION_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO, @TERM_ID = @WHO_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM 'VARCHAR',@pNODECAPTION,@pWHO, @TERM_ID = @NODECAPTION_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LANG_ID = @pLANG_ID) + INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO); + ELSE + IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LTERM_TERMID = @NODECAPTION_TERM_ID AND LANG_ID = @pLANG_ID) + INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO); + BEGIN + SELECT @OUT_SN_ID = MAX(GUID) FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pNODE_PARENT_ID AND NODE_CAPTION = @pNODECAPTION + END + + DECLARE @OUT_LANG_TERM_GUID BIGINT + EXEC [PRIDB_NEW_LANGUAGE_TERM] @OUT_SN_ID, @NODECAPTION_TERM_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID OUTPUT +END +GO +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +CREATE OR ALTER PROCEDURE PRIDB_NEW_STUCTURE_NODE_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pSN_ID BIGINT,@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT +AS + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES_IDB_OBJ WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND SN_ID = @pSN_ID) + INSERT INTO TBIDB_STRUCTURE_NODES_IDB_OBJ (IDB_OBJ_ID,SN_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@pSN_ID,@pWHO); + END GO CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE AS @@ -223,4 +183,47 @@ WHERE LTERM.KIND_TYPE = 4 GO -select * from TBIDB_STRUCTURE_NODES \ No newline at end of file + +CREATE OR ALTER VIEW [dbo].[VWIDB_STRUCTURE_NODES_STRUCTURE] AS +select + SN.GUID SN_ID + ,SN.PARENT_ID SN_PARENT_ID + ,SN.NODE_CAPTION SN_NODE_CAPTION + ,T2.TERM_ID LTERM_TERMID + ,T3.TERM_VALUE + ,T4.LANG_CODE + ,T4.GUID as LANG_ID + ,SN.ADDED_WHO SN_ADDED_WHO + ,SN.ADDED_WHEN SN_ADDED_WHEN + ,T2.CHANGED_WHO TERM_CHANGED_WHO + ,T2.CHANGED_WHEN TERM_CHANGED_WHEN +from + TBIDB_STRUCTURE_NODES SN INNER JOIN + TBIDB_LANGUAGE_TERM T2 ON SN.GUID = T2.[OBJECT_ID] + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID + INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID +WHERE + T2.KIND_TYPE = 4 +GO +CREATE VIEW [dbo].[VWIDB_SN_DYNAMIC_FOLDER_OBJECT] AS +select + SN_OBJ.GUID AS SN_REL_ID, + SN_OBJ.IDB_OBJ_ID, + SN.GUID SN_ID, + SN.PARENT_ID SN_PARENT_ID, + OBJ.PARENT_OBJ_ID, + T3.TERM_VALUE AS LANG_NODE_CAPTION , + LTERM.LANG_ID, + T4.LANG_CODE, + + SN_OBJ.ADDED_WHO, + SN_OBJ.ADDED_WHEN +from + TBIDB_STRUCTURE_NODES_IDB_OBJ SN_OBJ + INNER JOIN TBIDB_STRUCTURE_NODES SN ON SN_OBJ.SN_ID = SN.GUID + INNER JOIN TBIDB_LANGUAGE_TERM LTERM ON SN_OBJ.SN_ID = LTERM.OBJECT_ID + INNER JOIN TBIDB_OBJECT OBJ ON SN_OBJ.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON LTERM.TERM_ID = T3.GUID + INNER JOIN TBIDB_LANGUAGE T4 ON LTERM.LANG_ID = T4.GUID +WHERE OBJ.ACTIVE = 1 AND LTERM.KIND_TYPE = 4 +GO \ No newline at end of file diff --git a/02_PM/Updates/2.2.1.2.sql b/02_PM/Updates/2.2.1.2.sql index c69b83f..7e1d488 100644 --- a/02_PM/Updates/2.2.1.2.sql +++ b/02_PM/Updates/2.2.1.2.sql @@ -1,226 +1,49 @@ UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.2' where NAME = 'Process-Manager' GO --- ============================================= --- Author: Digital Data JJ --- Created: 18.08.2022 --- Description: Add SAVE_CHANGE_ON_ENABLED Column --- when copying profile --- Changed: --- ============================================= -USE [DD_ECM] + +ALTER TABLE TBPM_PROFILE_CONTROLS ADD SAVE_CHANGE_ON_ENABLED BIT NOT NULL DEFAULT 0 GO -/****** Object: StoredProcedure [dbo].[PRPM_COPY_PROFILE] Script Date: 18.08.2022 14:13:15 ******/ -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO - -ALTER PROCEDURE [dbo].[PRPM_COPY_PROFILE] (@pProfileID as Integer,@pAddedWho Varchar(100)) -AS - DECLARE @NEWPROFILE_ID INTEGER - INSERT INTO [dbo].[TBPM_PROFILE] - ([NAME] - ,[TITLE] - ,[WD_OBJECTTYPE] - ,[PRIORITY] - ,[DESCRIPTION] - ,[TYPE] - ,[LOG_INDEX] - ,[IN_WORK] - ,[ACTIVE] - ,[WD_SEARCH] - ,[PM_VEKTOR_INDEX] - ,[NO_OF_DOCUMENTS] - ,[FINAL_PROFILE] - ,[FINAL_TEXT] - ,[MOVE2FOLDER] - ,[SORT_BY_LATEST] - ,[WORK_HISTORY_ENTRY] - ,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] - ,[ANNOTATE_WORK_HISTORY_ENTRY] - ,[SQL_VIEW] - ,[ADDED_WHO] - ,[DISPLAY_MODE] - ,[SQL_BTN_FINISH]) - SELECT [NAME] + ' - COPY' - ,[TITLE] + ' - COPY' - ,[WD_OBJECTTYPE] - ,[PRIORITY] - ,[DESCRIPTION] - ,[TYPE] - ,[LOG_INDEX] - ,[IN_WORK] - ,0 - ,[WD_SEARCH] - ,[PM_VEKTOR_INDEX] - ,[NO_OF_DOCUMENTS] - ,[FINAL_PROFILE] - ,[FINAL_TEXT] - ,[MOVE2FOLDER] - ,[SORT_BY_LATEST] - ,[WORK_HISTORY_ENTRY] - ,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] - ,[ANNOTATE_WORK_HISTORY_ENTRY] - ,[SQL_VIEW] - ,@pAddedWho - ,[DISPLAY_MODE] - ,[SQL_BTN_FINISH] FROM TBPM_PROFILE WHERE GUID = @pProfileID; - - SELECT @NEWPROFILE_ID = MAX(GUID) FROM TBPM_PROFILE WHERE ADDED_WHO = @pAddedWho; - - INSERT INTO [dbo].[TBPM_PROFILE_FINAL_INDEXING] - ([PROFIL_ID] - ,[CONNECTION_ID] - ,[SQL_COMMAND] - ,[INDEXNAME] - ,[VALUE] - ,[ACTIVE] - ,[DESCRIPTION] - ,[ADDED_WHO] - ,[PREVENT_DUPLICATES] - ,[ALLOW_NEW_VALUES] - ,[IF_VEKTOR_BEHAVIOUR] - ,[SEQUENCE]) - SELECT - @NEWPROFILE_ID - ,[CONNECTION_ID] - ,[SQL_COMMAND] - ,[INDEXNAME] - ,[VALUE] - ,[ACTIVE] - ,[DESCRIPTION] - ,[ADDED_WHO] - ,[PREVENT_DUPLICATES] - ,[ALLOW_NEW_VALUES] - ,[IF_VEKTOR_BEHAVIOUR] - ,[SEQUENCE] - FROM [TBPM_PROFILE_FINAL_INDEXING] WHERE PROFIL_ID = @pProfileID - - - - - - INSERT INTO [dbo].[TBPM_PROFILE_CONTROLS] - ([PROFIL_ID] - ,[NAME] - ,[CTRL_TYPE] - ,[CTRL_TEXT] - ,[X_LOC] - ,[Y_LOC] - ,[HEIGHT] - ,[WIDTH] - ,[INDEX_NAME] - ,[TYP] - ,[VALIDATION] - ,[CHOICE_LIST] - ,[CONNECTION_ID] - ,[DEFAULT_VALUE] - ,[SQL_UEBERPRUEFUNG] - ,[READ_ONLY] - ,[LOAD_IDX_VALUE] - ,[FONT_STYLE] - ,[FONT_SIZE] - ,[FONT_FAMILY] - ,[FONT_COLOR] - ,[ADDED_WHO] - ,[MULTISELECT] - ,[VKT_ADD_ITEM] - ,[VKT_PREVENT_MULTIPLE_VALUES] - ,[REGEX_MATCH] - ,[REGEX_MESSAGE_DE] - ,[REGEX_MESSAGE_EN] - ,[IMAGE_CONTROL] - ,[SQL2] - ,[SQL_ENABLE] - ,[BACKGROUND_COLOR] - ,[OVERWRITE_DATA] - ,[SET_CONTROL_DATA] - ,[SAVE_CHANGE_ON_ENABLED]) - SELECT @NEWPROFILE_ID - ,[NAME] - ,[CTRL_TYPE] - ,[CTRL_TEXT] - ,[X_LOC] - ,[Y_LOC] - ,[HEIGHT] - ,[WIDTH] - ,[INDEX_NAME] - ,[TYP] - ,[VALIDATION] - ,[CHOICE_LIST] - ,[CONNECTION_ID] - ,[DEFAULT_VALUE] - ,[SQL_UEBERPRUEFUNG] - ,[READ_ONLY] - ,[LOAD_IDX_VALUE] - ,[FONT_STYLE] - ,[FONT_SIZE] - ,[FONT_FAMILY] - ,[FONT_COLOR] - ,@pAddedWho - ,[MULTISELECT] - ,[VKT_ADD_ITEM] - ,[VKT_PREVENT_MULTIPLE_VALUES] - ,[REGEX_MATCH] - ,[REGEX_MESSAGE_DE] - ,[REGEX_MESSAGE_EN] - ,[IMAGE_CONTROL] - ,[SQL2] - ,[SQL_ENABLE] - ,[BACKGROUND_COLOR] - ,[OVERWRITE_DATA] - ,[SET_CONTROL_DATA] - ,[SAVE_CHANGE_ON_ENABLED] - FROM [TBPM_PROFILE_CONTROLS] WHERE PROFIL_ID = @pProfileID; - - DECLARE - @OLD_ID INTEGER, - @NEW_ID INTEGER - - DECLARE cursor1 CURSOR FOR - select T.GUID, T1.GUID from TBPM_PROFILE_CONTROLS T,TBPM_PROFILE_CONTROLS T1 WHERE - T.CTRL_TYPE = 'TABLE' and T1.CTRL_TYPE = 'TABLE' AND T.PROFIL_ID = @pProfileID AND T1.PROFIL_ID = @NEWPROFILE_ID AND T.NAME = T1.NAME - OPEN cursor1 - FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID - WHILE @@FETCH_STATUS = 0 - BEGIN - INSERT INTO [dbo].[TBPM_CONTROL_TABLE] - ([CONTROL_ID] - ,[SPALTENNAME] - ,[SPALTEN_HEADER] - ,[SPALTENBREITE] - ,[VALIDATION] - ,[CHOICE_LIST] - ,[CONNECTION_ID] - ,[SQL_COMMAND] - ,[READ_ONLY] - ,[LOAD_IDX_VALUE] - ,[ADDED_WHO] - ,[REGEX_MESSAGE_DE] - ,[REGEX_MESSAGE_EN] - ,[REGEX_MATCH] - ,[LOAD_AFT_LOAD_CONTROL] - ,[SEQUENCE]) - SELECT @NEW_ID - ,[SPALTENNAME] - ,[SPALTEN_HEADER] - ,[SPALTENBREITE] - ,[VALIDATION] - ,[CHOICE_LIST] - ,[CONNECTION_ID] - ,[SQL_COMMAND] - ,[READ_ONLY] - ,[LOAD_IDX_VALUE] - ,@pAddedWho - ,[REGEX_MESSAGE_DE] - ,[REGEX_MESSAGE_EN] - ,[REGEX_MATCH] - ,[LOAD_AFT_LOAD_CONTROL] - ,[SEQUENCE] FROM [TBPM_CONTROL_TABLE] WHERE CONTROL_ID = @OLD_ID ORDER BY SEQUENCE - - - FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID - END - CLOSE cursor1 - DEALLOCATE cursor1 - +ALTER VIEW [dbo].[VWPM_CONTROL_INDEX] AS +SELECT TOP 100 PERCENT + T1.GUID, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.LOG_INDEX, + T1.NAME CTRL_NAME, + T1.CTRL_TYPE, + T1.CTRL_TEXT, + T1.X_LOC, + T1.Y_LOC, + T1.FONT_COLOR, + T1.FONT_FAMILY, + T1.FONT_SIZE, + T1.FONT_STYLE, + T1.WIDTH, + T1.HEIGHT, + COALESCE(T1.INDEX_NAME,'') INDEX_NAME, + 0 AS IDB_TYP, + T1.VALIDATION, + T1.CHOICE_LIST, + T1.TYP, + T1.CONNECTION_ID, + CASE WHEN T1.[SQL_UEBERPRUEFUNG] IS NULL THEN '' ELSE T1.[SQL_UEBERPRUEFUNG] END AS [SQL_UEBERPRUEFUNG], + T1.[READ_ONLY], + T1.LOAD_IDX_VALUE, + T1.DEFAULT_VALUE, + T1.REGEX_MATCH, + T1.REGEX_MESSAGE_DE, + T1.REGEX_MESSAGE_EN, + T1.OVERWRITE_DATA, + T1.SET_CONTROL_DATA, + T1.SAVE_CHANGE_ON_ENABLED +FROM + TBPM_PROFILE T, + TBPM_PROFILE_CONTROLS T1 +WHERE + T.GUID = T1.PROFIL_ID + AND T1.CONTROL_ACTIVE = 1 +ORDER BY + T.GUID, + T1.X_LOC, + T1.Y_LOC +GO \ No newline at end of file diff --git a/01_DD_ECM/Update/Added2Main_script/2.0.0.2.sql b/02_PM/Updates/Added2MainScript/2.0.0.2.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.0.0.2.sql rename to 02_PM/Updates/Added2MainScript/2.0.0.2.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.0.0.3.sql b/02_PM/Updates/Added2MainScript/2.0.0.3.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.0.0.3.sql rename to 02_PM/Updates/Added2MainScript/2.0.0.3.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.0.0.4.sql b/02_PM/Updates/Added2MainScript/2.0.0.4.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.0.0.4.sql rename to 02_PM/Updates/Added2MainScript/2.0.0.4.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.0.0.5.sql b/02_PM/Updates/Added2MainScript/2.0.0.5.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.0.0.5.sql rename to 02_PM/Updates/Added2MainScript/2.0.0.5.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.0.0.6.sql b/02_PM/Updates/Added2MainScript/2.0.0.6.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.0.0.6.sql rename to 02_PM/Updates/Added2MainScript/2.0.0.6.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.1.0.0.sql b/02_PM/Updates/Added2MainScript/2.1.0.0.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.1.0.0.sql rename to 02_PM/Updates/Added2MainScript/2.1.0.0.sql diff --git a/01_DD_ECM/Update/Added2Main_script/2.1.0.1.sql b/02_PM/Updates/Added2MainScript/2.1.0.1.sql similarity index 100% rename from 01_DD_ECM/Update/Added2Main_script/2.1.0.1.sql rename to 02_PM/Updates/Added2MainScript/2.1.0.1.sql diff --git a/02_PM/Updates/Added2MainScript/2.2.0.0 - AH Workflows.sql b/02_PM/Updates/Added2MainScript/2.2.0.0 - AH Workflows.sql index c2d52ca..b262a8c 100644 --- a/02_PM/Updates/Added2MainScript/2.2.0.0 - AH Workflows.sql +++ b/02_PM/Updates/Added2MainScript/2.2.0.0 - AH Workflows.sql @@ -5,76 +5,93 @@ UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Metadata based' where BEZEICHNUNG = 'Man. Va GO UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Serially' where BEZEICHNUNG = 'Automatism' GO - +DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES +DROP TABLE TBPM_WF_ADHOC_OBJECT --Ein Object wird einem Profil zugeordnet -CREATE TABLE TBPM_WF_ADHOC_OBJECT +CREATE TABLE TBPM_ADHOC_WF_OBJECT ( GUID BIGINT IDENTITY(1,1), PROFIL_ID INTEGER NOT NULL, OBJ_ID BIGINT NOT NULL, WORK_INSTRUCTION VARCHAR(250) NOT NULL, - CMD_WF_SELECT NVARCHAR(MAX) NOT NULL, WF_FINISHED DATETIME, ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_WF_ADHOC_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) + CONSTRAINT PK_TBPM_ADHOC_WF_OBJECT PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_ADHOC_WF_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) ) GO -CREATE TRIGGER TBPM_WF_ADHOC_OBJECT_AFT_UPD ON TBPM_WF_ADHOC_OBJECT +CREATE TRIGGER TBPM_ADHOC_WF_OBJECT_AFT_UPD ON TBPM_ADHOC_WF_OBJECT FOR UPDATE AS - UPDATE TBPM_WF_ADHOC_OBJECT SET CHANGED_WHEN = GETDATE() + UPDATE TBPM_ADHOC_WF_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED - WHERE TBPM_WF_ADHOC_OBJECT.GUID = INSERTED.GUID + WHERE TBPM_ADHOC_WF_OBJECT.GUID = INSERTED.GUID GO - -CREATE TABLE TBPM_WF_ADHOC_OBJECT_PARTIES +--DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES +CREATE TABLE TBPM_ADHOC_WF_SERIEL_PARTIES ( GUID BIGINT IDENTITY(1,1), AH_WF_ID BIGINT NOT NULL, - ENTITY_TYPE VARCHAR(50) NOT NULL, - USER_OR_GROUP_ID INTEGER NOT NULL, - CRITERIA_NEXT_STEP NVARCHAR(MAX), + USR_ID INTEGER, + FINISHED_WHEN DATETIME, SEQUENCE TINYINT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT_PARTIES PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_WF_ADHOC_OBJECT_PARTIES_PROFIL_ID FOREIGN KEY (AH_WF_ID) REFERENCES TBPM_WF_ADHOC_OBJECT (GUID) + CONSTRAINT PK_TBPM_ADHOC_WF_SERIEL_PARTIES PRIMARY KEY(GUID), + CONSTRAINT UQ_TBPM_ADHOC_WF_SERIEL_PARTIES UNIQUE (AH_WF_ID,USR_ID), + CONSTRAINT FK_TBPM_ADHOC_WF_SERIEL_PARTIES_PROFIL_ID FOREIGN KEY (AH_WF_ID) REFERENCES TBPM_ADHOC_WF_OBJECT (GUID), + CONSTRAINT FK_TBPM_ADHOC_WF_SERIEL_PARTIES_USR_ID FOREIGN KEY (USR_ID) REFERENCES TBDD_USER (GUID) ) GO -CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_WF_ADHOC_OBJECT_PARTIES +CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_ADHOC_WF_SERIEL_PARTIES FOR UPDATE AS - UPDATE TBPM_WF_ADHOC_OBJECT_PARTIES SET CHANGED_WHEN = GETDATE() + UPDATE TBPM_ADHOC_WF_SERIEL_PARTIES SET CHANGED_WHEN = GETDATE() FROM INSERTED - WHERE TBPM_WF_ADHOC_OBJECT_PARTIES.GUID = INSERTED.GUID + WHERE TBPM_ADHOC_WF_SERIEL_PARTIES.GUID = INSERTED.GUID GO +CREATE OR ALTER PROCEDURE [dbo].[PRPM_AH_WF_ADD_OBJ_REL] @pOBJ_ID BIGINT, @pPROFILID INTEGER, @pTEXT VARCHAR(200), @pWHO VARCHAR(100), @OUT_ID BIGINT OUTPUT +AS +BEGIN + INSERT INTO [dbo].[TBPM_ADHOC_WF_OBJECT] + ([PROFIL_ID] + ,[OBJ_ID] + ,[WORK_INSTRUCTION] + ,[ADDED_WHO]) + VALUES + (@pPROFILID + ,@pOBJ_ID + ,@pTEXT + ,@pWHO); + SELECT @OUT_ID = MAX(GUID) FROM TBPM_ADHOC_WF_OBJECT WHERE OBJ_ID = @pOBJ_ID AND PROFIL_ID = @pPROFILID + PRINT 'NEW @OUT_ID: ' + CONVERT(VARCHAR(10),@OUT_ID) +END +GO +CREATE OR ALTER PROCEDURE [dbo].[PRPM_AH_WF_PARTY] @pAH_WF_ID BIGINT, @pUSR_ID INTEGER, @pWHO VARCHAR(100), @OUT_ID BIGINT OUTPUT +AS +BEGIN + DECLARE @MAX_SEQU TINYINT + SELECT @MAX_SEQU= COALESCE(MAX(SEQUENCE),0) FROM TBPM_ADHOC_WF_SERIEL_PARTIES WHERE AH_WF_ID = @pAH_WF_ID + SET @MAX_SEQU += 1 + SELECT @MAX_SEQU + INSERT INTO [dbo].[TBPM_ADHOC_WF_SERIEL_PARTIES] + ([AH_WF_ID] + ,[USR_ID] + ,[SEQUENCE] + ,[ADDED_WHO]) + VALUES + (@pAH_WF_ID + ,@pUSR_ID + ,@MAX_SEQU + ,@pWHO) -CREATE TABLE TBPM_SERIELL_PARTIES_STATE -( - GUID BIGINT IDENTITY(1,1), - SPID_ID BIGINT NOT NULL, - --ENTITY_TYPE VARCHAR(50) NOT NULL, - --USER_OR_GROUP_ID INTEGER NOT NULL, - STATE_DESC VARCHAR(500) NOT NULL, - COMMENT VARCHAR(500), - ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, - ADDED_WHEN DATETIME DEFAULT GETDATE(), - CHANGED_WHO VARCHAR(50), - CHANGED_WHEN DATETIME , - CONSTRAINT PK_TBPM_SP_STATE PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_SP_STATE_SPID_ID FOREIGN KEY (SPID_ID) REFERENCES TBPM_PROFILE_SERIELL_PARTIES (GUID) -) + SELECT @OUT_ID = MAX(GUID) FROM TBPM_ADHOC_WF_SERIEL_PARTIES WHERE AH_WF_ID = @pAH_WF_ID + PRINT 'NEW @OUTAHWFP_ID: ' + CONVERT(VARCHAR(10),@OUT_ID) +END GO -CREATE TRIGGER TBPM_SERIELL_PARTIES_STATE_AFT_UPD ON TBPM_SERIELL_PARTIES_STATE -FOR UPDATE -AS - UPDATE TBPM_SERIELL_PARTIES_STATE SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_SERIELL_PARTIES_STATE.GUID = INSERTED.GUID -GO \ No newline at end of file +-- diff --git a/06_EmailProfiler/1.3.0.1.sql b/06_EmailProfiler/1.3.0.1.sql new file mode 100644 index 0000000..8ac5fe3 --- /dev/null +++ b/06_EmailProfiler/1.3.0.1.sql @@ -0,0 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.3.0.1' where SHORT_NAME = 'EMLP' +GO +ALTER TABLE TBEMLP_HISTORY ADD FB_UPDATE BIT NOT NULL DEFAULT 0 +GO \ No newline at end of file diff --git a/09_ZooFlow/Update/1.0.2.0.sql b/09_ZooFlow/Update/1.0.2.0.sql new file mode 100644 index 0000000..7064a9d Binary files /dev/null and b/09_ZooFlow/Update/1.0.2.0.sql differ