This commit is contained in:
Jonathan Jenne 2022-08-18 14:19:35 +02:00
commit 66e4d6dbec
18 changed files with 421 additions and 463 deletions

View File

@ -4073,6 +4073,8 @@ QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave: EndSave:
GO GO
USE [DD_ECM]
GO
--############################################################################################################################################################ --############################################################################################################################################################
--GLOBAL-INDEXER AKA FILE-FLOW --GLOBAL-INDEXER AKA FILE-FLOW
--############################################################################################################################################################ --############################################################################################################################################################

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1203,13 +1203,15 @@ WHERE
ATTR.DELETED = 0 ATTR.DELETED = 0
GO GO
CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT SELECT
COALESCE(T.GUID,0) as GUID, COALESCE(T.GUID,0) as GUID,
COALESCE(T.[BE_ID],0) BE_ID COALESCE(T.[BE_ID],0) BE_ID
,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE ,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE
,[ATTR_ID] ,T1.GUID AS [ATTR_ID]
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T4.TERM_ID AS ATTR_TERM_ID
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
@ -1494,7 +1496,42 @@ BEGIN
SELECT * FROM @TBRESULT SELECT * FROM @TBRESULT
END END
GO 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') 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 AS
BEGIN 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_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) + 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' IF @DateStr = 'DATEPART'
BEGIN BEGIN
SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; 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
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) DECLARE @LANGUAGE AS VARCHAR(100)
IF @pType <> 'DOCTYPE' IF @pType <> 'DOCTYPE'
SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + ''''
ELSE ELSE
SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + '''' 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 PRINT @DYNSQL_INSERT
EXEC sp_executesql @DYNSQL_INSERT EXEC sp_executesql @DYNSQL_INSERT
END END
GO GO
USE [IDB]
GO
USE [IDB]
GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Changed: 19.05.2022 -- Changed: 19.05.2022
@ -1582,6 +1615,7 @@ BEGIN
DECLARE @DATE1 DATE,@DATE2 DATE DECLARE @DATE1 DATE,@DATE2 DATE
DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID; DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID;
IF LEN(@pDATE_RESTRICTION) > 0 IF LEN(@pDATE_RESTRICTION) > 0
BEGIN BEGIN
PRINT '@pDATE_RESTRICTION....' PRINT '@pDATE_RESTRICTION....'
@ -1613,18 +1647,18 @@ BEGIN
-- DELETE FROM @DOC_RESULTS; -- DELETE FROM @DOC_RESULTS;
-- END -- END
SET @TOKEN_ID += 1 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 EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE
IF @TOKEN_ID > 1 AND @OPERATOR = 'AND' IF @TOKEN_ID > 1 AND @OPERATOR = 'AND'
BEGIN BEGIN
DELETE FROM @DOC_RESULTS; DELETE FROM @DOC_RESULTS;
INSERT INTO @DOC_RESULTS(DocID) 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 END
ELSE ELSE
INSERT INTO @DOC_RESULTS(DocID) 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 FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR
END END
CLOSE curs_Tokens CLOSE curs_Tokens
@ -1633,6 +1667,7 @@ BEGIN
INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID) INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID)
SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS; SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS;
END END
GO 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') 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 AS
@ -4369,6 +4404,7 @@ BEGIN
SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID
END END
GO GO
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), 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 @LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
AS AS
@ -4379,9 +4415,12 @@ BEGIN
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT, @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; 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) --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
BEGIN BEGIN
@ -4396,17 +4435,23 @@ BEGIN
END END
END END
--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
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = @ATTRIBUTE) 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 BEGIN
DECLARE @MSG VARCHAR(100) DECLARE @MSG VARCHAR(100)
SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']' SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']'
RAISERROR (@MSG,16,1) RAISERROR (@MSG,16,1)
END 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 SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
DECLARE @MY_TERM_ID BIGINT DECLARE @MY_TERM_ID BIGINT

View File

@ -1,81 +1,16 @@
-- ============================================= DROP TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
-- 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 DROP TABLE TBIDB_STRUCTURE_NODES
CREATE TABLE TBIDB_STRUCTURE_NODES CREATE TABLE TBIDB_STRUCTURE_NODES
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
PARENT_ID BIGINT NOT NULL DEFAULT 0, PARENT_ID BIGINT NOT NULL DEFAULT 0,
TERM_LANG_ID BIGINT NOT NULL, NODE_CAPTION VARCHAR(250) NOT NULL,
ADDED_WHO VARCHAR(100), ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100), CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_STRUCTURE_NODES PRIMARY KEY (GUID), 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,NODE_CAPTION)
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,TERM_LANG_ID)
) )
GO GO
CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES
@ -85,16 +20,7 @@ AS
FROM INSERTED FROM INSERTED
WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID
GO 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 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) CONSTRAINT UQ_TBIDB_SN_IDB_OBJ UNIQUE(SN_ID,IDB_OBJ_ID)
) )
GO 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 CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS AS
SELECT 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 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 AS
BEGIN 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) 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 ELSE
BEGIN BEGIN
@ -144,23 +95,12 @@ GO
-- Author: DD MS -- Author: DD MS
-- Changed: -- Changed:
-- ============================================= -- =============================================
--CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT CREATE OR ALTER PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT
AS
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;
BEGIN BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLD_PART VARCHAR(250),@FOLD_PATH_SO_FAR VARCHAR(900)
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
SET @FOLDER_DEPTH = 0 SET @FOLDER_DEPTH = 0
DECLARE @PARENT_NODE_GUID BIGINT DECLARE @PARENT_NODE_GUID BIGINT,@SN_ID BIGINT
--SPLIT FOR FOLDER PARTS --SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\') SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
@ -172,37 +112,57 @@ BEGIN
IF @FOLDER_DEPTH = 0 IF @FOLDER_DEPTH = 0
BEGIN BEGIN
SET @PARENT_NODE_GUID = 0 SET @PARENT_NODE_GUID = 0
SET @FOLDER_PART = @FOLD_PART SET @FOLD_PATH_SO_FAR = @FOLD_PART
END END
ELSE ELSE
BEGIN BEGIN
SET @FOLDER_PART += '\' + @FOLD_PART SET @FOLD_PATH_SO_FAR += '\' + @FOLD_PART
END END
PRINT '##############################' PRINT '##############################'
PRINT '@FOLDER_PART: ' + @FOLDER_PART PRINT 'WORKING ON @FOLD_PATH_SO_FAR: ' + @FOLD_PATH_SO_FAR
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
--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 SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END END
CLOSE cursSplitFolder CLOSE cursSplitFolder
DEALLOCATE 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 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 GO
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS AS
@ -223,4 +183,47 @@ WHERE
LTERM.KIND_TYPE = 4 LTERM.KIND_TYPE = 4
GO GO
select * from TBIDB_STRUCTURE_NODES
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

View File

@ -1,226 +1,49 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.2' where NAME = 'Process-Manager' UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.2' where NAME = 'Process-Manager'
GO GO
-- =============================================
-- Author: Digital Data JJ ALTER TABLE TBPM_PROFILE_CONTROLS ADD SAVE_CHANGE_ON_ENABLED BIT NOT NULL DEFAULT 0
-- Created: 18.08.2022
-- Description: Add SAVE_CHANGE_ON_ENABLED Column
-- when copying profile
-- Changed:
-- =============================================
USE [DD_ECM]
GO GO
/****** Object: StoredProcedure [dbo].[PRPM_COPY_PROFILE] Script Date: 18.08.2022 14:13:15 ******/ ALTER VIEW [dbo].[VWPM_CONTROL_INDEX] AS
SET ANSI_NULLS ON 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 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

View File

@ -5,76 +5,93 @@ UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Metadata based' where BEZEICHNUNG = 'Man. Va
GO GO
UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Serially' where BEZEICHNUNG = 'Automatism' UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Serially' where BEZEICHNUNG = 'Automatism'
GO GO
DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
DROP TABLE TBPM_WF_ADHOC_OBJECT
--Ein Object wird einem Profil zugeordnet --Ein Object wird einem Profil zugeordnet
CREATE TABLE TBPM_WF_ADHOC_OBJECT CREATE TABLE TBPM_ADHOC_WF_OBJECT
( (
GUID BIGINT IDENTITY(1,1), GUID BIGINT IDENTITY(1,1),
PROFIL_ID INTEGER NOT NULL, PROFIL_ID INTEGER NOT NULL,
OBJ_ID BIGINT NOT NULL, OBJ_ID BIGINT NOT NULL,
WORK_INSTRUCTION VARCHAR(250) NOT NULL, WORK_INSTRUCTION VARCHAR(250) NOT NULL,
CMD_WF_SELECT NVARCHAR(MAX) NOT NULL,
WF_FINISHED DATETIME, WF_FINISHED DATETIME,
ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100), CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT PRIMARY KEY(GUID), CONSTRAINT PK_TBPM_ADHOC_WF_OBJECT PRIMARY KEY(GUID),
CONSTRAINT FK_TBPM_WF_ADHOC_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) CONSTRAINT FK_TBPM_ADHOC_WF_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID)
) )
GO 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 FOR UPDATE
AS AS
UPDATE TBPM_WF_ADHOC_OBJECT SET CHANGED_WHEN = GETDATE() UPDATE TBPM_ADHOC_WF_OBJECT SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBPM_WF_ADHOC_OBJECT.GUID = INSERTED.GUID WHERE TBPM_ADHOC_WF_OBJECT.GUID = INSERTED.GUID
GO GO
--DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
CREATE TABLE TBPM_WF_ADHOC_OBJECT_PARTIES CREATE TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
( (
GUID BIGINT IDENTITY(1,1), GUID BIGINT IDENTITY(1,1),
AH_WF_ID BIGINT NOT NULL, AH_WF_ID BIGINT NOT NULL,
ENTITY_TYPE VARCHAR(50) NOT NULL, USR_ID INTEGER,
USER_OR_GROUP_ID INTEGER NOT NULL, FINISHED_WHEN DATETIME,
CRITERIA_NEXT_STEP NVARCHAR(MAX),
SEQUENCE TINYINT NOT NULL DEFAULT 0, SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT_PARTIES PRIMARY KEY(GUID), CONSTRAINT PK_TBPM_ADHOC_WF_SERIEL_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 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 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 FOR UPDATE
AS AS
UPDATE TBPM_WF_ADHOC_OBJECT_PARTIES SET CHANGED_WHEN = GETDATE() UPDATE TBPM_ADHOC_WF_SERIEL_PARTIES SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBPM_WF_ADHOC_OBJECT_PARTIES.GUID = INSERTED.GUID WHERE TBPM_ADHOC_WF_SERIEL_PARTIES.GUID = INSERTED.GUID
GO 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 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)
GUID BIGINT IDENTITY(1,1), END
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)
)
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 GO
--

View File

@ -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

Binary file not shown.