From 07ca812521c59feb82a95da5b163173ece2defa1 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 14 Jan 2022 12:55:34 +0100 Subject: [PATCH] MS PM CreateDBObjects --- 00_DD/DD_ECM.sql | 272 ++- .../{ => Added2Main_script}/1.9.1.0.sql | 0 .../{ => Added2Main_script}/1.9.1.1.sql | 0 .../{ => Added2Main_script}/1.9.2.0.sql | 0 00_DD/Update/Added2Main_script/2.0.0.2.sql | 3 + 00_DD/Update/Added2Main_script/2.0.0.3.sql | 4 + 00_DD/Update/Added2Main_script/2.0.0.4.sql | 4 + 00_DD/Update/Added2Main_script/2.0.0.5.sql | 37 + 00_DD/Update/Added2Main_script/2.0.0.6.sql | 5 + 00_DD/Update/Added2Main_script/2.1.0.0.sql | 40 + 00_DD/Update/Added2Main_script/2.1.0.1.sql | 8 + 01_PM/CreateDBObjects.sql | 1751 +++++++++++++++++ 01_PM/PM.sql | 1090 ---------- 01_PM/Updates/1.9.4.9.sql | 93 + 01_PM/Updates/1.9.5.0.sql | 19 + 15 files changed, 2234 insertions(+), 1092 deletions(-) rename 00_DD/Update/{ => Added2Main_script}/1.9.1.0.sql (100%) rename 00_DD/Update/{ => Added2Main_script}/1.9.1.1.sql (100%) rename 00_DD/Update/{ => Added2Main_script}/1.9.2.0.sql (100%) create mode 100644 00_DD/Update/Added2Main_script/2.0.0.2.sql create mode 100644 00_DD/Update/Added2Main_script/2.0.0.3.sql create mode 100644 00_DD/Update/Added2Main_script/2.0.0.4.sql create mode 100644 00_DD/Update/Added2Main_script/2.0.0.5.sql create mode 100644 00_DD/Update/Added2Main_script/2.0.0.6.sql create mode 100644 00_DD/Update/Added2Main_script/2.1.0.0.sql create mode 100644 00_DD/Update/Added2Main_script/2.1.0.1.sql create mode 100644 01_PM/CreateDBObjects.sql delete mode 100644 01_PM/PM.sql create mode 100644 01_PM/Updates/1.9.4.9.sql create mode 100644 01_PM/Updates/1.9.5.0.sql diff --git a/00_DD/DD_ECM.sql b/00_DD/DD_ECM.sql index 098e5b4..53afca3 100644 --- a/00_DD/DD_ECM.sql +++ b/00_DD/DD_ECM.sql @@ -708,6 +708,7 @@ CREATE TABLE TBDD_CONNECTION USERNAME VARCHAR(100), PASSWORD VARCHAR(100), BEMERKUNG VARCHAR(400), + SYS_CONNECTION BIT DEFAULT 0 NOT NULL, AKTIV BIT DEFAULT 1 NOT NULL, -- 1 - Connection aktiv, 0 - inaktiv ERSTELLTWER VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL, ERSTELLTWANN DATETIME DEFAULT GETDATE(), @@ -1104,7 +1105,270 @@ GO --GO -- END CREATE TABLES +CREATE TABLE TBDD_EMAIL_TEMPLATE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(100) NOT NULL, + EMAIL_SUBJECT VARCHAR(900) NOT NULL, + EMAIL_BODY1 VARCHAR(MAX) NOT NULL, + EMAIL_BODY2 VARCHAR(MAX) NOT NULL DEFAULT '', + EMAIL_BODY3 VARCHAR(MAX) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBCUST_EMAIL_TEMPLATE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBCUST_EMAIL_TEMPLATE_TITLE UNIQUE (TITLE) +) +GO +CREATE TRIGGER TBCUST_EMAIL_TEMPLATE_AFT_UPD ON [dbo].[TBDD_EMAIL_TEMPLATE] +FOR UPDATE +AS +BEGIN + UPDATE TBDD_EMAIL_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_EMAIL_TEMPLATE.GUID = INSERTED.GUID +END +GO +CREATE TABLE TBDD_SQL_COMMANDS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(100) NOT NULL, + SQL_COMMAND VARCHAR(MAX) NOT NULL, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_SQL_COMMANDS PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_SQL_COMMANDS UNIQUE (TITLE) +) +GO +CREATE TRIGGER TBDD_SQL_COMMANDS_AFT_UPD ON [dbo].TBDD_SQL_COMMANDS +FOR UPDATE +AS +BEGIN + UPDATE TBDD_SQL_COMMANDS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_SQL_COMMANDS.GUID = INSERTED.GUID +END +GO +INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES ('PM_IDB_DOC_DATA', +'select * from IDB.dbo.VWIDB_DOC_DATA T, TBPM_PROFILE_FILES T1 WHERE T.IDB_OBJ_ID = T1.DOC_ID AND T1.GUID = @DOC_GUID') +GO +INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES ('GHOST_SELECT',' +SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM TBDD_USER T ORDER BY USERNAME') +GO +CREATE TABLE TBDD_GUI_LANGUAGE_PHRASE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + MODULE VARCHAR(50) NOT NULL, + INTERNAL BIT NOT NULL DEFAULT 0, + OBJ_NAME VARCHAR(100) NOT NULL, + TITLE VARCHAR(100) NOT NULL, + [LANGUAGE] VARCHAR(5) NOT NULL, + CAPT_TYPE VARCHAR(50) NOT NULL, + STRING1 VARCHAR(900) NOT NULL, + STRING2 VARCHAR(900) NOT NULL, + STRING3 VARCHAR(900) , + STRING4 VARCHAR(900), + STRING5 VARCHAR(900), + STRING6 VARCHAR(900), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_GUI_LANGUAGE_PHRASE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_GUI_LANGUAGE_PHRASE UNIQUE (MODULE,OBJ_NAME,TITLE,[LANGUAGE]) +) +GO + +CREATE TRIGGER TBDD_GUI_LANGUAGE_PHRASE_AFT_UPD ON [dbo].[TBDD_GUI_LANGUAGE_PHRASE] +FOR UPDATE +AS +BEGIN + UPDATE TBDD_GUI_LANGUAGE_PHRASE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_GUI_LANGUAGE_PHRASE.GUID = INSERTED.GUID +END +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.MissingInput','de-DE','Information','Bitte validieren Sie die rot markierten Felder!','') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.MissingInput','en-US','Information','Please validate red marked fields!','') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.ValidationButton','de-DE','Button','Validierung speichern - Nächstes Dokument (F2)','') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.ValidationButton','en-US','Button','Save validation - Next document (F2)','') + +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.NoMoreDocument','de-DE','MsgBox','No more document! End of profile!','') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.NoMoreDocument','en-US','MsgBox','Kein weiteres Dokuemnt gefunden - Ende des Profils!','Hinweis') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.WrongInputControl','de-DE','Information','Falsche Eingabe','') +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2) + VALUES('frmValidator','PM','frmValidator.WrongInputControl','en-US','Information','Wrong input','') +GO +CREATE TABLE TBDD_GUI_LANGUAGE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + LANG_CODE VARCHAR(5) NOT NULL, + IS_DEFAULT BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBDD_GUI_LANGUAGE PRIMARY KEY (GUID) +) +GO +INSERT INTO TBDD_GUI_LANGUAGE (LANG_CODE,IS_DEFAULT) VALUES ('de-DE',1); +INSERT INTO TBDD_GUI_LANGUAGE (LANG_CODE) VALUES ('en-US'); +INSERT INTO TBDD_GUI_LANGUAGE (LANG_CODE) VALUES ('fr-FR'); +GO + +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Userconfig' + ,'de-DE' + ,'Information' + ,'Achtung: Sie sind nicht in der Userverwaltung hinterlegt!' + ,'Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!' + ,'SYSTEM' + ,'General' + ,1) +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Userconfig' + ,'en-US' + ,'Information' + ,'Achtung: Sie sind nicht in der Userverwaltung hinterlegt!' + ,'Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!' + ,'SYSTEM' + ,'General' + ,1) +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Client relation' + ,'de-DE' + ,'Information' + ,'You are not related to a client!' + ,'Please contact the system administrator!!' + ,'SYSTEM' + ,'General' + ,1) +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Client relation' + ,'en-US' + ,'Information' + ,'You are not related to a client!' + ,'Please contact the system administrator!!' + ,'SYSTEM' + ,'General' + ,1) +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Module Configuration' + ,'de-DE' + ,'Information' + ,'Achtung: Sie sind nicht für die Nutzung von ProcessManager freigegeben!' + ,'Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!!' + ,'SYSTEM' + ,'General' + ,1) +GO +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + ([MODULE] + ,[TITLE] + ,[LANGUAGE] + ,[CAPT_TYPE] + ,[STRING1] + ,[STRING2] + ,[ADDED_WHO] + ,[OBJ_NAME] + ,[INTERNAL]) + VALUES + ('All Modules' + ,'No Module Configuration' + ,'en-US' + ,'Information' + ,'Achtung: Sie sind nicht für die Nutzung von ProcessManager freigegeben!' + ,'Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!!' + ,'SYSTEM' + ,'General' + ,1) +GO + +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2,INTERNAL) + VALUES('Application','PM','App.ReminderPipeline','de-DE','Information','Es befinden sich noch unerledigte Aufgaben in Ihrem Verantwortungsbereich','',1); +INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE] + (OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2,INTERNAL) + VALUES('Application','PM','App.ReminderPipeline','en-US','Information','There are some tasks in your responsibility!','',1); +GO +Insert Into TBDD_GUI_LANGUAGE_PHRASE (MODULE,TITLE,LANGUAGE,CAPT_TYPE,STRING1,STRING2,OBJ_NAME) VALUES ('PM','frmValidator.Conversation_Delete','de-DE','MsgboxResult','Wollen Sie die Konversation beenden?','Nachfrage','frmValidator'); +Insert Into TBDD_GUI_LANGUAGE_PHRASE (MODULE,TITLE,LANGUAGE,CAPT_TYPE,STRING1,STRING2,OBJ_NAME) VALUES ('PM','frmValidator.Conversation_Delete','en-US','MsgboxResult','Would You like to end this conversation?','Question','frmValidator'); +GO +--############################################ +--##########PROCEDURES######################## +--############################################ CREATE PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT) AS @@ -1325,7 +1589,7 @@ AS GO -CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +CREATE OR ALTER FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) RETURNS @Table TABLE (SequentialOrder INT IDENTITY(1, 1), USER_ID INTEGER, @@ -1666,7 +1930,11 @@ SELECT ARG.dwObjectID, FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG GO - +CREATE VIEW [dbo].[VWDD_CUST_USER_LAST30Days] as + SELECT DISTINCT USER_ID + --Count(USER_ID), MONTH() + FROM TBDD_USER_LOGIN_OUT WHERE UPPER(MODULE) = UPPER('Process-Manager') and DATEDIFF(DAY,LOGIN,GETDATE()) <= 90 +GO diff --git a/00_DD/Update/1.9.1.0.sql b/00_DD/Update/Added2Main_script/1.9.1.0.sql similarity index 100% rename from 00_DD/Update/1.9.1.0.sql rename to 00_DD/Update/Added2Main_script/1.9.1.0.sql diff --git a/00_DD/Update/1.9.1.1.sql b/00_DD/Update/Added2Main_script/1.9.1.1.sql similarity index 100% rename from 00_DD/Update/1.9.1.1.sql rename to 00_DD/Update/Added2Main_script/1.9.1.1.sql diff --git a/00_DD/Update/1.9.2.0.sql b/00_DD/Update/Added2Main_script/1.9.2.0.sql similarity index 100% rename from 00_DD/Update/1.9.2.0.sql rename to 00_DD/Update/Added2Main_script/1.9.2.0.sql diff --git a/00_DD/Update/Added2Main_script/2.0.0.2.sql b/00_DD/Update/Added2Main_script/2.0.0.2.sql new file mode 100644 index 0000000..24a69c1 --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.0.0.2.sql @@ -0,0 +1,3 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.2' where NAME = 'Process-Manager' +GO +ALTER TABLE TBPM_CONTROL_TABLE ALTER COLUMN SQL_COMMAND VARCHAR (MAX); \ No newline at end of file diff --git a/00_DD/Update/Added2Main_script/2.0.0.3.sql b/00_DD/Update/Added2Main_script/2.0.0.3.sql new file mode 100644 index 0000000..dbe5720 --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.0.0.3.sql @@ -0,0 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.3' where NAME = 'Process-Manager' +GO +ALTER TABLE TBPM_CONTROL_TABLE ADD DEFAULT_VALUE VARCHAR (MAX) NOT NULL DEFAULT ''; +ALTER TABLE TBPM_CONTROL_TABLE ADD ADVANCED_LOOKUP BIT NOT NULL DEFAULT 0; diff --git a/00_DD/Update/Added2Main_script/2.0.0.4.sql b/00_DD/Update/Added2Main_script/2.0.0.4.sql new file mode 100644 index 0000000..a19a4a5 --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.0.0.4.sql @@ -0,0 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.4' where NAME = 'Process-Manager' +GO +INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES ('GHOST_SELECT',' +SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM TBDD_USER T ORDER BY USERNAME') diff --git a/00_DD/Update/Added2Main_script/2.0.0.5.sql b/00_DD/Update/Added2Main_script/2.0.0.5.sql new file mode 100644 index 0000000..338c1cf --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.0.0.5.sql @@ -0,0 +1,37 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.5' where NAME = 'Process-Manager' +GO +CREATE TABLE [dbo].[TBPM_DOCWALKOVER]( + [DocID] [bigint] NOT NULL, + [UserID] [int] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] + +GO + +ALTER TABLE [dbo].[TBPM_DOCWALKOVER] ADD CONSTRAINT [DF_TBPM_CUST_DocWalkOver_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 11.06.2021 +-- Description: Gets the next DocumentID +-- ============================================= +ALTER PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] +( + @PROFIL_ID Integer, + @DocID BigInt, + @UserID Integer +) +AS +BEGIN + INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,1) + + SELECT + GUID as DocGUID + ,DOC_ID as DocID, + (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES T WHERE EDIT = 0 and ACTIVE = 1 AND PROFIL_ID = @PROFIL_ID AND + DOC_ID NOT IN (SELECT DocID FROM TBPM_DOCWALKOVER WHERE UserID = @UserID)) COUNT_DocsLeft + FROM + TBPM_PROFILE_FILES WHERE GUID = ( + SELECT MIN(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @PROFIL_ID and DOC_ID not in + (SELECT DISTINCT DocID FROM TBPM_DOCWALKOVER WHERE UserID = @UserID)) +END diff --git a/00_DD/Update/Added2Main_script/2.0.0.6.sql b/00_DD/Update/Added2Main_script/2.0.0.6.sql new file mode 100644 index 0000000..78a4a9d --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.0.0.6.sql @@ -0,0 +1,5 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.6' where NAME = 'Process-Manager' +GO +ALTER TABLE [TBPM_CONTROL_TABLE] +ADD [SUMMARY_FUNCTION] VARCHAR(20) NOT NULL DEFAULT ('NONE') +GO \ No newline at end of file diff --git a/00_DD/Update/Added2Main_script/2.1.0.0.sql b/00_DD/Update/Added2Main_script/2.1.0.0.sql new file mode 100644 index 0000000..3874946 --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.1.0.0.sql @@ -0,0 +1,40 @@ +USE [DD_ECM] +GO +UPDATE TBDD_MODULES SET DB_VERSION = '2.1.0.0' where NAME = 'Process-Manager' +GO +CREATE TABLE [dbo].[TBPM_DOCWALKOVER]( + [DocID] BIGINT NOT NULL, + [UserID] INT NOT NULL, + [ADDED_WHEN] DATETIME NOT NULL DEFAULT GETDATE() +) ON [PRIMARY] +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 11.06.2021 +-- Description: Gets the next DocumentID +-- ============================================= +ALTER PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] +( + @PROFIL_ID Integer, + @DocID BigInt, + @UserID Integer +) +AS +BEGIN + INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,@UserID) + + SELECT Top 1 GUID, DOC_ID + FROM + TBPM_PROFILE_FILES + WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + DOC_ID <> @DocID AND DOC_ID NOT IN (select DocID from TBPM_DOCWALKOVER WHERE UserID = @DocID AND UserID = @UserID) + AND GUID NOT IN ( + SELECT A.[DocGUID] + FROM [TBPM_FILES_USER_NOT_INDEXED] A INNER JOIN TBDD_USER B ON A.USR_NAME = B.USERNAME + WHERE A.PROFIL_ID = @PROFIL_ID AND B.GUID = @UserID + ) + + RETURN +END +GO \ No newline at end of file diff --git a/00_DD/Update/Added2Main_script/2.1.0.1.sql b/00_DD/Update/Added2Main_script/2.1.0.1.sql new file mode 100644 index 0000000..a80959f --- /dev/null +++ b/00_DD/Update/Added2Main_script/2.1.0.1.sql @@ -0,0 +1,8 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.1.0.1' where NAME = 'Process-Manager' +GO +ALTER TABLE [TBPM_CONTROL_TABLE] +ADD [TYPE_COLUMN] VARCHAR(20) NOT NULL DEFAULT ('TEXT') +GO +ALTER TABLE [TBPM_PROFILE_CONTROLS] +ADD [TABLE_ORDER_COLUMN] VARCHAR(250) NOT NULL DEFAULT ('') +GO \ No newline at end of file diff --git a/01_PM/CreateDBObjects.sql b/01_PM/CreateDBObjects.sql new file mode 100644 index 0000000..ff7a1ee --- /dev/null +++ b/01_PM/CreateDBObjects.sql @@ -0,0 +1,1751 @@ + +/*################################## +1. Search for @MyUSER and replace the username + You use for administration +2. If windream database is not located: Search for windream60 and replace with databaselink.windream60 +ALTER TABLE TBDD_CONNECTION +ADD SYS_CONNECTION BIT DEFAULT 0 NOT NULL; +GO +####################################*/ + +UPDATE TBDD_MODULES SET DB_VERSION = '2.1.0.1' where NAME = 'Process-Manager' +GO +INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'),1 FROM TBDD_USER where UPPER(USERNAME) = UPPER('@MyUSER') +GO +INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1) +GO +INSERT INTO TBDD_GROUPS_USER (USER_ID,GROUP_ID) VALUES ((SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('@MyUSER')),(SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'PM_ADMINS')) +GO +CREATE TABLE TBPM_KONFIGURATION +( + GUID TINYINT, + LIZENZEN VARCHAR(2000), + INTERVALL_CKECK_NO_OF_FILES smallint NOT NULL DEFAULT 2, + VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', + EMAIL_ACTIVE BIT NOT NULL DEFAULT 0, + EMAIL_FROM VARCHAR(50), + EMAIL_SMTP VARCHAR(50), + EMAIL_USER VARCHAR(50), + EMAIL_PW VARCHAR(50), + EMAIL_REMINDER_HEADER VARCHAR(250), + EMAIL_REMINDER_FOOTER VARCHAR(250), + ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=', + ADMIN_SECURITY BIT NOT NULL DEFAULT 0, + SQL_PROFILE_MAIN_VIEW VARCHAR(MAX)NOT NULL DEFAULT '', + [SERVICE_SCHEDULE] VARCHAR(100) NOT NULL DEFAULT '07-18;1111100', + [SERVICE_IDXNAME_DOCID] VARCHAR(50) NOT NULL DEFAULT 'Dokument-ID', + [SERVICE_WMDRIVE_LETTER] VARCHAR(1) NOT NULL DEFAULT 'W', + [SERVICE_IDXNAME_CREATED] VARCHAR(50) NOT NULL DEFAULT 'DMS erstellt', + [SERVICE_LOG_ERRORS_ONLY] BIT NOT NULL DEFAULT 1, + WM_REL_PATH VARCHAR(100) NOT NULL DEFAULT '\\windream\objects', + ERFASSTWER VARCHAR(50) DEFAULT 'PER DMSLite' NOT NULL, + ERSTELLTWER VARCHAR(50) DEFAULT 'DMSLite-Admin' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, + GEAENDERTWER VARCHAR(50), + GEAENDERTWANN DATETIME, + CONSTRAINT PK_TBPM_KONFIGURATION_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBPM_KONFIGURATION_GUID CHECK(GUID = 1) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPM_KONFIGURATION_AFT_UPD ON TBPM_KONFIGURATION +FOR UPDATE +AS + UPDATE TBPM_KONFIGURATION SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBPM_KONFIGURATION.GUID = INSERTED.GUID +GO + +INSERT INTO TBPM_KONFIGURATION(GUID,LIZENZEN,EMAIL_REMINDER_HEADER,EMAIL_REMINDER_FOOTER) +VALUES +(1,'Y/R9cI8qEID774g/fqXzkrCdW5bhcB62jsBmRgJx2rI=','Der Process-Manager informiert Sie hiermit über nicht erledigte Dokumentenprozesse:

','

Bitte starten Sie Ihren Process-Manager und bearbeiten die entsprechenden Prozesse.
Vielen Dank.') +GO +-------------------------------------------------------------------------------- +CREATE TABLE TBPM_TYPE +( +GUID SMALLINT NOT NULL IDENTITY (1, 1), +BEZEICHNUNG VARCHAR(100) NOT NULL UNIQUE, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, + +CONSTRAINT PK_TBPM_TYPE_GUID PRIMARY KEY (GUID) +) +GO +INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Man. Validation') +GO +INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Automatism') +GO +CREATE TRIGGER TBPM_TYPE_AFT_UPD ON TBPM_TYPE +FOR UPDATE +AS + UPDATE TBPM_TYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_TYPE.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +NAME VARCHAR(100) NOT NULL UNIQUE, +TITLE VARCHAR(150) NOT NULL DEFAULT 'DEFAULT-TITLE', +WD_OBJECTTYPE VARCHAR(200) NOT NULL, +PRIORITY INTEGER NOT NULL DEFAULT 1, +DESCRIPTION VARCHAR(250) , +TYPE SMALLINT NOT NULL, +DISPLAY_MODE VARCHAR(20) NOT NULL DEFAULT 'Overview and Detail', +LOG_INDEX VARCHAR(50) NOT NULL DEFAULT '', +IN_WORK BIT NOT NULL DEFAULT 0, +ACTIVE BIT NOT NULL DEFAULT 0, +WD_SEARCH NVARCHAR(MAX) NOT NULL, +PM_VEKTOR_INDEX VARCHAR(50) NOT NULL DEFAULT '', +NO_OF_DOCUMENTS INTEGER NOT NULL DEFAULT 0, +FINAL_PROFILE BIT NOT NULL DEFAULT 0, +FINAL_TEXT VARCHAR(250), +MOVE2FOLDER NVARCHAR(1000), +SORT_BY_LATEST BIT NOT NULL DEFAULT 0, +WORK_HISTORY_ENTRY VARCHAR(500), +ANNOTATE_ALL_WORK_HISTORY_ENTRIES BIT NOT NULL DEFAULT 0, +ANNOTATE_WORK_HISTORY_ENTRY BIT NOT NULL DEFAULT 0, +SQL_VIEW NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_PROFILE_MAIN_VIEW NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_COLOR NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_TEXT NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_BTN_FINISH NVARCHAR(MAX) NOT NULL DEFAULT '', +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) +) +GO +--ALTER TABLE dbo.TBPM_PROFILE WITH NOCHECK +--ADD CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) ; + +CREATE TRIGGER TBPM_PROFILE_AFT_UPD ON TBPM_PROFILE +FOR UPDATE +AS + UPDATE TBPM_PROFILE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_PROFILE_FILES +( + GUID INTEGER IDENTITY(1,1), + DOC_ID INTEGER NOT NULL DEFAULT 0, + PROFIL_ID INTEGER NOT NULL, + FILE_PATH VARCHAR(1000), + EDIT BIT NOT NULL DEFAULT 0, + DMS_ERSTELLT_DATE DATE, + IN_WORK BIT NOT NULL DEFAULT 0, + IN_WORK_WHEN DATETIME, + WORK_USER VARCHAR(100), + ACTIVE BIT NOT NULL DEFAULT 0, + REFRESHED BIT NOT NULL DEFAULT 1, + REFRESHED_WHEN DATETIME, + ERSTELLTWER VARCHAR(50) DEFAULT 'PM_REFRESH_MANAGER' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBPM_PROFILE_FILES_GUID PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_PROFILE_FILES_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_FILES_USER_NOT_INDEXED +( + USR_NAME VARCHAR(50), + PROFIL_ID INTEGER, + DocGUID BigInt NOT NULL DEFAULT 0, + FILE_PATH VARCHAR(500), + UNIQUE (USR_NAME,PROFIL_ID,FILE_PATH) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_FILES_WORK_HISTORY +( + GUID INTEGER IDENTITY(1,1), + PROFIL_ID INTEGER NOT NULL, + DOC_ID INTEGER NOT NULL DEFAULT 0, + WORKED_BY VARCHAR(100) NOT NULL, + WORKED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + WORKED_WHERE VARCHAR(100) NOT NULL, + STATUS_COMMENT VARCHAR(500), + COMMENT VARCHAR(MAX), + CONSTRAINT [PK_TBPM_FILES_WORK_HISTORY] PRIMARY KEY (GUID) +) +GO +------------------------------------------------------------------------------ +--CREATE TABLE TBPM_ERROR_LOG +--( +-- GUID INT NOT NULL IDENTITY (1, 1), +-- PROFIL_ID INTEGER NOT NULL, +-- ERROR_MSG VARCHAR(1000) NOT NULL, +-- ADDED_WHO VARCHAR(50) NOT NULL, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- MACHINE_NAME VARCHAR(50), +-- CONSTRAINT PK_TBPM_ERROR_LOG_GUID PRIMARY KEY(GUID), +-- CONSTRAINT FK_TBPM_ERROR_LOG_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +--) +--GO +CREATE TABLE TBPM_PROFILE_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + PROFIL_ID INTEGER NOT NULL, + NAME VARCHAR(100) NOT NULL, + CTRL_TYPE VARCHAR(10) NOT NULL, --TXT,LBL,COMBO,DTP + CTRL_TEXT VARCHAR(100) NOT NULL DEFAULT 'CTRL TEXT', + X_LOC FLOAT NOT NULL, + Y_LOC FLOAT NOT NULL, + HEIGHT SMALLINT NOT NULL DEFAULT 25, + WIDTH SMALLINT NOT NULL DEFAULT 200, + INDEX_NAME VARCHAR(100), + TYP VARCHAR(50), + [VALIDATION] BIT NOT NULL DEFAULT 0, + CHOICE_LIST VARCHAR(50), + CONNECTION_ID SMALLINT, + DEFAULT_VALUE VARCHAR(100), + MULTISELECT BIT DEFAULT 0 NOT NULL, + VKT_ADD_ITEM BIT DEFAULT 0 NOT NULL, + VKT_PREVENT_MULTIPLE_VALUES BIT DEFAULT 0 NOT NULL, + IMAGE_CONTROL VARBINARY(MAX), + BACKGROUND_COLOR VARCHAR(50), + SQL_UEBERPRUEFUNG NVARCHAR(MAX) DEFAULT '', + SQL2 NVARCHAR(MAX), + SQL_ENABLE NVARCHAR(MAX), + SQL_ENABLE_ON_LOAD NVARCHAR(MAX), + SQL_ENABLE_ON_LOAD_CONID TINYINT, + OVERWRITE_DATA BIT NOT NULL DEFAULT 0, + SET_CONTROL_DATA NVARCHAR(MAX), + REGEX_MATCH NVARCHAR(1000), + REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', + REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', + [READ_ONLY] BIT NOT NULL DEFAULT 0, + LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, + CONTROL_ACTIVE BIT NOT NULL DEFAULT 1, + FONT_STYLE smallint, + FONT_SIZE smallint, + FONT_FAMILY varchar(50), + FONT_COLOR bigint, + [TABLE_ORDER_COLUMN] VARCHAR(250) NOT NULL DEFAULT (''), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_PROFILE_CONTROLS_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBPM_PROFILE_CONTROLS_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), + CONSTRAINT UQ_TBPM_PROFILE_CONTROLS UNIQUE(PROFIL_ID,NAME) +) +GO +CREATE TRIGGER TBPM_PROFILE_CONTROLS_AFT_UPD ON TBPM_PROFILE_CONTROLS +FOR UPDATE +AS + BEGIN + DECLARE @NAME VARCHAR(50),@WHO VARCHAR(100), @CTRL_TYPE VARCHAR(10),@CTRL_TEXT VARCHAR(100),@CTRL_CONFIG_TITLE VARCHAR(100),@OLD_CTRL_NAME VARCHAR(100) + SELECT @NAME = [NAME], @WHO = CHANGED_WHO, @CTRL_TYPE = CTRL_TYPE, @CTRL_TEXT = CTRL_TEXT FROM inserted + SELECT @OLD_CTRL_NAME = [NAME] FROM DELETED + IF (UPDATE (NAME) OR UPDATE (CTRL_TEXT)) + IF @CTRL_TYPE in ('LBL','CHK','BUTTON') + BEGIN + SET @CTRL_CONFIG_TITLE = @CTRL_TYPE + '.' + @NAME + + --IF NOT @OLD_CTRL_NAME <> @NAME + BEGIN + PRINT '@CTRL_CONFIG_TITLE:' + @CTRL_CONFIG_TITLE + IF NOT LEN(@WHO) > 0 + SET @WHO = 'DD Automatic' + DECLARE @LANG_CODECONF VARCHAR(5) + DECLARE cursorLanguage CURSOR FOR + select LANG_CODE from TBDD_GUI_LANGUAGE + OPEN cursorLanguage + FETCH NEXT FROM cursorLanguage INTO @LANG_CODECONF + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT 'Checking language: ' + @LANG_CODECONF + IF NOT EXISTS(SELECT GUID FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'PM' AND CAPT_TYPE = 'Caption Validator Control' + AND UPPER(TITLE) = UPPER(@CTRL_CONFIG_TITLE) AND LANGUAGE = @LANG_CODECONF AND OBJ_NAME = 'frmValidator') + INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (MODULE,TITLE, LANGUAGE, CAPT_TYPE,STRING1,STRING2,ADDED_WHO, OBJ_NAME) + VALUES ('PM',@CTRL_CONFIG_TITLE ,@LANG_CODECONF,'Caption Validator Control',@CTRL_TEXT,'',@WHO,'frmValidator') + ELSE + PRINT 'SEEMS 2 EXIST: ' + @CTRL_CONFIG_TITLE + FETCH NEXT FROM cursorLanguage INTO @LANG_CODECONF + END + CLOSE cursorLanguage + DEALLOCATE cursorLanguage + END + + + + + + + END + + + UPDATE TBPM_PROFILE_CONTROLS SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_CONTROLS.GUID = INSERTED.GUID + END +GO +CREATE TABLE TBPM_CONTROL_TABLE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +CONTROL_ID INTEGER NOT NULL, +SPALTENNAME VARCHAR(100) NOT NULL, +SPALTEN_HEADER VARCHAR(100) NOT NULL, +SPALTENBREITE INTEGER NOT NULL, +[VALIDATION] BIT NOT NULL DEFAULT 0, +CHOICE_LIST VARCHAR(50), +CONNECTION_ID SMALLINT, +SQL_COMMAND NVARCHAR(MAX), +REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', +REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', +REGEX_MATCH VARCHAR(1000) NOT NULL DEFAULT '', +[READ_ONLY] BIT NOT NULL DEFAULT 0, +LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, +LOAD_AFT_LOAD_CONTROL BIT NOT NULL DEFAULT 0, +[SEQUENCE] INTEGER NOT NULL DEFAULT 0, +FORMATTYPE VARCHAR(100) NOT NULL DEFAULT '', +FORMATSTRING VARCHAR(10) NOT NULL DEFAULT '', +DEFAULT_VALUE VARCHAR (MAX) NOT NULL DEFAULT '', +ADVANCED_LOOKUP BIT NOT NULL DEFAULT 0, +[SUMMARY_FUNCTION] VARCHAR(20) NOT NULL DEFAULT ('NONE'), +[TYPE_COLUMN] VARCHAR(20) NOT NULL DEFAULT ('TEXT'), +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_CONTROL_TABLE_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_CONTROL_TABLE_CONTROL FOREIGN KEY (CONTROL_ID) REFERENCES TBPM_PROFILE_CONTROLS (GUID) +) +GO +CREATE TRIGGER TBPM_CONTROL_TABLE_AFT_UPD ON TBPM_CONTROL_TABLE +FOR UPDATE +AS + UPDATE TBPM_CONTROL_TABLE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_CONTROL_TABLE.GUID = INSERTED.GUID +GO +---------------- +CREATE TABLE TBPM_PROFILE_USER +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +USER_ID INTEGER NOT NULL, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_USER_GUID PRIMARY KEY (GUID), +UNIQUE (PROFIL_ID,USER_ID), +CONSTRAINT FK_TBPM_PROFILE_USER_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), +CONSTRAINT FK_TBPM_PROFILE_USER_USER FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), +CONSTRAINT UQ_TBPM_PROFILE_USER UNIQUE (PROFIL_ID,USER_ID) +) +GO +CREATE TRIGGER TBPM_PROFILE_USER_AFT_UPD ON TBPM_PROFILE_USER +FOR UPDATE +AS + UPDATE TBPM_PROFILE_USER SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_USER.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_GROUP +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +GROUP_ID INTEGER NOT NULL, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_GROUP_GUID PRIMARY KEY (GUID), +UNIQUE (PROFIL_ID,GROUP_ID), +CONSTRAINT FK_TBPM_PROFILE_GROUP_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), +CONSTRAINT FK_TBPM_PROFILE_GROUP_GROUP FOREIGN KEY (GROUP_ID) REFERENCES TBDD_GROUPS (GUID), +CONSTRAINT UQ_TBPM_PROFILE_GROUP UNIQUE (PROFIL_ID,GROUP_ID) +) +GO +CREATE TRIGGER TBPM_PROFILE_GROUP_AFT_UPD ON TBPM_PROFILE_GROUP +FOR UPDATE +AS + UPDATE TBPM_PROFILE_GROUP SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_GROUP.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_FINAL_INDEXING +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +CONNECTION_ID SMALLINT NOT NULL DEFAULT 0, +SQL_COMMAND VARCHAR(MAX) NOT NULL DEFAULT '', +INDEXNAME VARCHAR(100) NOT NULL, +VALUE VARCHAR(100) NOT NULL, +ACTIVE BIT NOT NULL DEFAULT 1, +[DESCRIPTION] VARCHAR(MAX) NOT NULL DEFAULT '', +PREVENT_DUPLICATES BIT NOT NULL DEFAULT (0), +ALLOW_NEW_VALUES BIT NOT NULL DEFAULT (0), +IF_VEKTOR_BEHAVIOUR VARCHAR(25) NOT NULL DEFAULT '', +[SEQUENCE] TINYINT NOT NULL DEFAULT 0, +[CONTINUE_INDETERMINED] BIT NOT NULL DEFAULT 0, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_FINAL_INDEXING_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_PROFILE_FINAL_INDEXING_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TRIGGER TBPM_PROFILE_FINAL_INDEXING_AFT_UPD ON TBPM_PROFILE_FINAL_INDEXING +FOR UPDATE +AS + UPDATE TBPM_PROFILE_FINAL_INDEXING SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_FINAL_INDEXING.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_SEARCH +( + GUID INTEGER IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + TYPE VARCHAR(50) NOT NULL DEFAULT 'SQL', + CONN_ID INTEGER NOT NULL DEFAULT '0', + TAB_TITLE VARCHAR(50) NOT NULL DEFAULT 'UndefinedTitle', + LOAD_ON_START bit NOT NULL DEFAULT 1, + TAB_INDEX TINYINT DEFAULT 0 NOT NULL, + SQL_COMMAND VARCHAR(3000) NOT NULL, + RUN_MANUAL BIT DEFAULT 1 NOT NULL, + ACTIVE BIT DEFAULT 0 NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPM_PROFILE_SEARCH PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_PROFILE_SEARCH_PROFILE_ID FOREIGN KEY (PROFILE_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TABLE TBPM_MAIN_VIEW_GROUPS +( + GUID INTEGER IDENTITY(1,1), + GROUPNAME VARCHAR(100) NOT NULL, + ACTIVE BIT DEFAULT 1 NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CHANGED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPM_MAIN_VIEW_GROUPS PRIMARY KEY(GUID) +) +GO +CREATE TRIGGER [dbo].[TBPM_MAIN_VIEW_GROUPS_AFT_UPD] ON [dbo].[TBPM_MAIN_VIEW_GROUPS] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_MAIN_VIEW_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_MAIN_VIEW_GROUPS.GUID = INSERTED.GUID +END +GO +INSERT INTO TBPM_MAIN_VIEW_GROUPS (GROUPNAME) VALUES ('GROUP_TEXT') +GO +CREATE TABLE [dbo].[TBPM_CHART]( + GUID INTEGER IDENTITY(1,1) NOT NULL, + SQL_COMMAND VARCHAR(MAX) NOT NULL, + TYPE_CHART VARCHAR(50) NOT NULL, + ARGUMENT VARCHAR(50) NOT NULL, + [VALUE] VARCHAR(50) NOT NULL, + TITLE VARCHAR(50) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + GROUP_ID VARCHAR(50) DEFAULT '', +CONSTRAINT PK_TBPM_CHART_GUID PRIMARY KEY (GUID) + +) +GO + +CREATE TABLE TBPM_LOG_DEBUG +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + USERID INTEGER NOT NULL, + LOGMSG VARCHAR(MAX) NOT NULL, + DATE_STR VARCHAR(20) NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CONSTRAINT PK_TBPM_LOG_DEBUG PRIMARY KEY (GUID) +) +GO +CREATE TABLE TBPM_MONITOR_KONFIG +( + GUID INTEGER NOT NULL, + GRID_TITLE VARCHAR(100) NOT NULL, + GRID_SQL VARCHAR(MAX) NOT NULL, + DEPENDING_GRID INTEGER NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_MONITOR_KONFIG PRIMARY KEY (GUID), + CONSTRAINT UQ_TBPM_MONITOR_KONFIG_TITLE UNIQUE (GRID_TITLE) +) +GO +CREATE TRIGGER TBPM_MONITOR_KONFIG_AFT_UPD ON [dbo].[TBPM_MONITOR_KONFIG] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_MONITOR_KONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_MONITOR_KONFIG.GUID = INSERTED.GUID +END +GO + +CREATE TABLE [dbo].[TBPM_CUST_USER_DOC_JOB]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [DocID] [bigint] NULL, + [UserID] [int] NULL, + [InWork] [bit] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHEN] [datetime] NULL, + [ProfileID] [int] NOT NULL, + CONSTRAINT [PK_TBPM_CUST_USER_DOC_JOB] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], + CONSTRAINT [UQ_TBPM_CUST_USER_DOC_JOB] UNIQUE NONCLUSTERED +( + [DocID] ASC, + [UserID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD DEFAULT ((0)) FOR [InWork] +GO + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD CONSTRAINT [DF_TBPM_CUST_USER_DOC_JOB_ProfileID] DEFAULT ((0)) FOR [ProfileID] +GO + +CREATE TABLE TBPM_FURTHER_KONFIG_VIEW +( + GUID INTEGER NOT NULL, + GRID_TITLE VARCHAR(100) NOT NULL, + GRID_SQL VARCHAR(MAX) NOT NULL, + DEPENDING_GRID INTEGER NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_FURTHER_KONFIG_VIEW PRIMARY KEY (GUID), + CONSTRAINT UQ_TBPM_FURTHER_KONFIG_VIEW_TITLE UNIQUE (GRID_TITLE) +) +GO +CREATE TRIGGER TBPM_FURTHER_KONFIG_VIEW_AFT_UPD ON [dbo].[TBPM_FURTHER_KONFIG_VIEW] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_FURTHER_KONFIG_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_FURTHER_KONFIG_VIEW.GUID = INSERTED.GUID +END +GO +CREATE TABLE [dbo].[TBPM_DOCWALKOVER]( + [DocID] [bigint] NOT NULL, + [UserID] [int] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] + +GO +ALTER TABLE [dbo].[TBPM_DOCWALKOVER] ADD CONSTRAINT [DF_TBPM_CUST_DocWalkOver_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO +--############################################ +--##########PROCEDURES######################## +--############################################ +-- ============================================= +-- Author: Digital Data MS +-- Create date: 11.06.2021 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] +( + @PROFIL_ID Integer, + @DocID BigInt, + @UserID Integer +) +AS +BEGIN + INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,@UserID) + + SELECT Top 1 GUID, DOC_ID + FROM + TBPM_PROFILE_FILES + WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + DOC_ID <> @DocID AND DOC_ID NOT IN (select DocID from TBPM_DOCWALKOVER WHERE UserID = @DocID AND UserID = @UserID) + AND GUID NOT IN ( + SELECT A.[DocGUID] + FROM [TBPM_FILES_USER_NOT_INDEXED] A INNER JOIN TBDD_USER B ON A.USR_NAME = B.USERNAME + WHERE A.PROFIL_ID = @PROFIL_ID AND B.GUID = @UserID + ) + + RETURN +END +GO +CREATE 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]) + 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] 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 + +GO +CREATE PROCEDURE [dbo].[PRPM_CUST_DocHANDLE] @pDocID BIGINT +AS +BEGIN + /*INDIVIDUAL HANDLING FOR DOC IN PM GOES HERE*/ + PRINT 'Starting INDIVIDUAL HANDLING FOR DOC IN PM' +END +GO +CREATE PROCEDURE [dbo].[PRPM_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL + DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL + DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM') +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPM_REMOVE_NE_FILES] +AS +DECLARE + @DOC_ID INTEGER, + @DocRelativePath VARCHAR(500) + +DECLARE c_PRPM_REMOVE_NE_FILES CURSOR FOR + select DOC_ID,FILE_PATH from TBPM_PROFILE_FILES + OPEN c_PRPM_REMOVE_NE_FILES + FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [dwDocID] FROM windream60.[dbo].[BaseAttributes] where dwDocID = @DOC_ID) + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM IDB.dbo.TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @DOC_ID and UPPER(RELATIVE_PATH) = UPPER(@DocRelativePath)) + DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DOC_ID + FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath + END +CLOSE c_PRPM_REMOVE_NE_FILES +DEALLOCATE c_PRPM_REMOVE_NE_FILES +GO +-- ============================================= +-- Author: Digital Data, MS +-- Create date: 05.07.2019 +-- Description: +-- ============================================= +CREATE PROCEDURE PRPM_FILES_NOT_INDEXED + -- Add the parameters for the stored procedure here + @USER_NAME VARCHAR(50), + @PROFIL_ID INTEGER, + @FILEPATH VARCHAR(500), + @DocGUID BIGINT +AS +BEGIN + IF NOT EXISTS(SELECT * FROM TBPM_FILES_USER_NOT_INDEXED WHERE + UPPER(USR_NAME) = UPPER(@USER_NAME) + AND PROFIL_ID = @PROFIL_ID AND DocGUID = @DocGUID) + INSERT INTO TBPM_FILES_USER_NOT_INDEXED (USR_NAME,PROFIL_ID,FILE_PATH,DocGUID) VALUES (@USER_NAME, @PROFIL_ID, @FILEPATH,@DocGUID) +END +GO +CREATE PROCEDURE PRPM_CHECK_NEXT_WF @pGUID BIGINT +AS +BEGIN + DECLARE @DocID BIGINT + SELECT @DocID = DOC_ID FROM TBPM_PROFILE_FILES WHERE GUID = @pGUID + DELETE FROM TBPM_PROFILE_FILES WHERE GUID = @pGUID + /*TO DO HERE*/ + EXEC PRPM_CUST_DocHANDLE @DocID +END +GO +CREATE PROCEDURE [dbo].[PRPM_CHANGE_CONTROL_CAPTION] (@pCTRL_ID INT,@NEW_CAPTION VARCHAR(100), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5)) +AS + DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100) + SELECT @CTRL_CONFIG_TITLE = CTRL_TYPE + '.' + NAME FROM TBPM_PROFILE_CONTROLS WHERE GUID = @pCTRL_ID + + UPDATE TBDD_GUI_LANGUAGE_PHRASE SET STRING1 = @NEW_CAPTION, CHANGED_WHO = @WHO + WHERE OBJ_NAME = 'frmValidator' AND MODULE = 'PM' AND TITLE = @CTRL_CONFIG_TITLE AND UPPER(LANGUAGE) = UPPER(@LANG_CODE) +GO +--############################## +--##########FUNCTIONS########### +--############################## +CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) +RETURNS + @Table TABLE + (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) +AS +BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM + IDB_TEST.dbo.TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_IDB_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + + IF EXISTS(SELECT CHANGED_WHEN FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID) + SELECT @RESULT = MAX(CHANGED_WHEN) FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_GET_FILEPATH] (@pDOCGUID BIGINT,@STANDARD As INT = 0) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE @RELPATH VARCHAR(100),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(MAX) + IF @STANDARD = 1 + SET @RELPATH = '\\windream\objects' + ELSE + SELECT @RELPATH = WM_REL_PATH FROM TBPM_KONFIGURATION WHERE GUID = 1 + SELECT @FILEPATH = REPLACE(FILE_PATH,'W:\','') FROM TBPM_PROFILE_FILES WHERE (GUID = @pDOCGUID) + SET @NAVPATH = @RELPATH + '\' + @FILEPATH + IF @NAVPATH IS NULL + SET @NAVPATH = '' + RETURN @NAVPATH +END +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 05.07.2019 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_GUID] +( + -- Add the parameters for the function here + @PROFIL_ID Integer, + @OrderByNewest Bit, @DocGUID BigInt, @USERNAME VARCHAR(50) +) +RETURNS BIGINT +AS +BEGIN + DECLARE @NEXT_DOC_GUID BIGINT + IF @OrderByNewest = 0 + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + ) + ELSE + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + IF @NEXT_DOC_GUID IS NULL + SET @NEXT_DOC_GUID = 0 + RETURN @NEXT_DOC_GUID +END +GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_TEXT](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250), @RESULT2 VARCHAR(250) + + SELECT @RESULT = TITLE,@RESULT2 = NAME FROM TBPM_PROFILE WHERE GUID = @pPROFIL_ID + --SET @RESULT2 = 'Additional and configurable text for profile ' + @RESULT2 + SET @RESULT = @RESULT --+ ' | ' + @RESULT2 + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_FONT_COLOR](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(20) +AS +BEGIN + DECLARE @RESULT VARCHAR(20) + SET @RESULT = 'Black' + IF @pPROFIL_ID = 11 --Abgelehnt + SET @RESULT = 'White' + + RETURN @RESULT +END +GO + +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] +--GO + +CREATE FUNCTION [dbo].[FNPM_LAST_WORKUSER_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250) + SELECT @RESULT = WORKED_BY FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + IF LEN(@RESULT) = 0 + SET @RESULT = '' + RETURN @RESULT +END +GO +--GRANT EXECUTE ON [dbo].[FNPM_LAST_WORKUSER_DOC] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + IF EXISTS(SELECT GUID FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + SELECT @RESULT = WORKED_WHEN FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +GO + +--GRANT EXECUTE ON [dbo].[FNPM_LAST_EDITED_DOC] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_COLOR](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(20) +AS +BEGIN + DECLARE @RESULT VARCHAR(20) + SET @RESULT = 'Grey' + IF @pPROFIL_ID = 1 + SET @RESULT = 'Red' + ELSE + SET @RESULT = 'Yellow' + RETURN @RESULT +END +GO +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_COLOR] TO [dd_ecm] +--GO +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_GET_FREE_USER_FOR_PROFILE] (@pPROFILE_ID INTEGER) +RETURNS +@Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_NAME VARCHAR(50), + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_COMMENT VARCHAR(500)) +AS +BEGIN +/* This function returns all free users per profile */ + INSERT INTO @Table (USER_ID,USER_NAME, USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_COMMENT) + SELECT + T.USER_ID + ,T.USER_NAME + ,T.USER_PRENAME + ,T.USER_SURNAME + ,T.USER_SHORTNAME + ,T.USER_EMAIL + ,T.USER_LANGUAGE + ,T.USER_COMMENT + FROM + [dbo].FNDD_GET_USER_FOR_MODULE ('PM',1) T WHERE T.USER_ID NOT IN (SELECT USER_ID FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPROFILE_ID) +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USER_ID INTEGER) +RETURNS + @Table TABLE + (SCOPE VARCHAR(50),PROFILE_ID INTEGER, P_NAME VARCHAR(50),SequentialOrder INT IDENTITY(1, 1)) +AS +BEGIN + DECLARE + @P_ID INTEGER, + @P_NAME VARCHAR(50) + + DECLARE cursProfileUser CURSOR FOR + select T.PROFIL_ID, T1.NAME FROM TBPM_PROFILE_USER T, TBPM_PROFILE T1 WHERE T.PROFIL_ID = T1.GUID AND T.USER_ID = @USER_ID + OPEN cursProfileUser + FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-USER',@P_ID,@P_NAME) + FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME + END + CLOSE cursProfileUser + DEALLOCATE cursProfileUser + + DECLARE cursProfileGROUP CURSOR FOR + SELECT T.PROFIL_ID, TP.NAME FROM TBPM_PROFILE_GROUP T,TBDD_GROUPS T1,TBPM_PROFILE TP,TBDD_GROUPS_USER T2 WHERE + T.GROUP_ID = T1.GUID AND T.PROFIL_ID = TP.GUID AND TP.TYPE = 1 AND T1.GUID = T2.GROUP_ID AND T2.USER_ID = @USER_ID + + OPEN cursProfileGROUP + FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM @Table WHERE PROFILE_ID = @P_ID) + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-GROUP',@P_ID,@P_NAME) + FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME + END + CLOSE cursProfileGROUP + DEALLOCATE cursProfileGROUP + + DECLARE cursSQLProfile CURSOR FOR + SELECT T.PROFIL_ID, TP.NAME FROM TBPM_PROFILE_GROUP T,TBDD_GROUPS T1,TBPM_PROFILE TP WHERE + T.GROUP_ID = T1.GUID AND T.PROFIL_ID = TP.GUID AND TP.TYPE = 1 AND T1.NAME = 'PM_SQL_BASED' and NO_OF_DOCUMENTS > 0 + + OPEN cursSQLProfile + FETCH NEXT FROM cursSQLProfile INTO @P_ID,@P_NAME + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM @Table WHERE PROFILE_ID = @P_ID) + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-SQL',@P_ID,@P_NAME) + FETCH NEXT FROM cursSQLProfile INTO @P_ID,@P_NAME + END + CLOSE cursSQLProfile + DEALLOCATE cursSQLProfile + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) + select DISTINCT 'TBPM_CUST_USER_DOC_JOB',T.ProfileID,T1.NAME + from TBPM_CUST_USER_DOC_JOB T INNER JOIN TBPM_PROFILE T1 ON T.ProfileID = T1.GUID + INNER JOIN TBPM_PROFILE_FILES T2 ON T.ProfileID = T2.PROFIL_ID + where T.UserID = @USER_ID and T2.EDIT = 0 AND T2.ACTIVE = 1 AND T2.IN_WORK = 0 --@USER_ID +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_BTN_OVERRIDE] (@ParamString as VARCHAR(3000)) +RETURNS + @Table TABLE + (ActionType Varchar(100),Question VARCHAR(500),Title VARCHAR(100), CaptionButton Varchar(100),Color Varchar(10),OverrideAll Bit) +AS +BEGIN + --INSERT INTO @Table (ActionType, Question,Title,CaptionButton,Color) VALUES ('Override_Direct','') + INSERT INTO @Table (ActionType, Question,Title,CaptionButton,Color,OverrideAll) VALUES ('Override_Question','Wollen Sie den Beleg wirklich an den Posteingang zurückgeben?','Bestätigen:','Rückgabe','Red',1) +RETURN +END +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 27.11.2019 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_INFO] +( + -- Add the parameters for the function here + @PROFIL_ID Integer, + @OrderByNewest Bit, @DocGUID BigInt, @USERNAME VARCHAR(50) +) +RETURNS @Output TABLE (DocGUID BIGINT,DocID BIGINT) + +AS +BEGIN + IF @OrderByNewest = 0 + INSERT INTO @Output (DocGUID,DocID) + SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + ) + ELSE + INSERT INTO @Output (DocGUID,DocID) + SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + + RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_LANGUAGE_CONTROL_TEXT](@pCTRL_NAME VARCHAR(100),@pLANG_CODE VARCHAR(5), @pCTRL_TYPE VARCHAR(10),@pRETURN VARCHAR(500) = '') +RETURNS VARCHAR(500) +AS +BEGIN + DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100) + IF @pCTRL_TYPE not in ('LBL','CHK','BUTTON') + SET @RESULT = '' + ELSE + BEGIN + SET @CTRL_CONFIG_TITLE = @pCTRL_TYPE + '.' + @pCTRL_NAME + SELECT @RESULT = STRING1 FROM TBDD_GUI_LANGUAGE_PHRASE + WHERE MODULE = 'PM' AND CAPT_TYPE = 'Caption Validator Control' AND UPPER(TITLE) = UPPER(@CTRL_CONFIG_TITLE) + AND UPPER(LANGUAGE) = UPPER(@pLANG_CODE) AND OBJ_NAME = 'frmValidator' + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ELSE + SET @RESULT = @pRETURN + ' (NLConf)' --'NO LANGUAGE CONFIGURATION SO FAR - CONTROL-NAME [' + @CTRL_CONFIG_TITLE + '] - LANG-CODE [' + @pLANG_CODE + ']' + --IF @pRETURN = '' + -- SET @RESULT = 'NO LANGUAGE CONFIGURATION SO FAR - CONTROL-NAME [' + @pCTRL_NAME + '] - LANG-CODE [' + @pLANG_CODE + ']' + --ELSE + -- SET @RESULT = @pRETURN + END + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_IDB_CONVERSATION_YN] (@pIDB_OBJ_ID BIGINT, @USER_ID INTEGER) +RETURNS BIT +AS +BEGIN + DECLARE @CONV_YES BIT + SET @CONV_YES = 0 + IF EXISTS(select T.CONV_ID from IDB_TEST.dbo.VWIDB_CONVERSATION_USER T INNER JOIN IDB_TEST.dbo.VWIDB_CONVERSATION T1 ON T.CONV_ID = T1.CONVERSATION_ID + WHERE T.USER_ID = @USER_ID AND T1.CONVERSATION_STATE = 'Started' AND T1.IDB_OBJ_ID = @pIDB_OBJ_ID) + SET @CONV_YES = 1 + RETURN @CONV_YES +END +GO +--#################################### +--##############VIEWS################# +--#################################### +CREATE 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 +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 +CREATE VIEW [dbo].[VWPM_PROFILE_USER_UNION] AS +SELECT + 'USER' SCOPE, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.TITLE, + T.DESCRIPTION, + T.WD_OBJECTTYPE, + T.PRIORITY, + T.WD_SEARCH, + COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, + T.ACTIVE, + T.IN_WORK, + T.NO_OF_DOCUMENTS, + T.FINAL_PROFILE, + T.FINAL_TEXT, + T.LOG_INDEX, + T.PM_VEKTOR_INDEX, + T.DISPLAY_MODE, + T2.GUID AS USER_ID, + T2.PRENAME, + T2.NAME, + T2.USERNAME, + T2.EMAIL, + --T2.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT' +FROM + TBPM_PROFILE T, + TBPM_PROFILE_USER T1, + TBDD_USER T2 +WHERE + T.TYPE = 1 AND + T.GUID = T1.PROFIL_ID AND + T1.USER_ID = T2.GUID +UNION +SELECT + 'GROUP' SCOPE, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.TITLE, + T.DESCRIPTION, + T.WD_OBJECTTYPE, + T.PRIORITY, + T.WD_SEARCH, + COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, + T.ACTIVE, + T.IN_WORK, + T.NO_OF_DOCUMENTS, + T.FINAL_PROFILE, + T.FINAL_TEXT, + T.LOG_INDEX, + T.PM_VEKTOR_INDEX, + T.DISPLAY_MODE, + T4.GUID AS USER_ID, + T4.PRENAME, + T4.NAME, + T4.USERNAME, + T4.EMAIL, + --T4.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT' +FROM + TBPM_PROFILE T, + TBPM_PROFILE_GROUP T1, + TBDD_GROUPS T2, + TBDD_GROUPS_USER T3, + TBDD_USER T4 +WHERE + T.TYPE = 1 AND + T.GUID = T1.PROFIL_ID AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.USER_ID = T4.GUID +GO + +CREATE VIEW VWPM_PROFILE_USER AS +SELECT DISTINCT * FROM VWPM_PROFILE_USER_UNION +GO +CREATE VIEW [dbo].[VWPM_EMAIL_PROFIL] AS +SELECT + T.PROFIL_ID, + T2.TITLE AS PROFIL_TITLE, + T2.NAME AS PROFIL_NAME, + T.USER_ID, + T1.USERNAME, + T1.EMAIL, + '' AS LAST_HOUR, + '' as EMAIL_ONCE_DAY, + (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T.PROFIL_ID) AS ANZ_FILES +FROM + TBPM_PROFILE_USER T, + TBDD_USER T1, + TBPM_PROFILE T2 +WHERE + T.USER_ID = T1.GUID AND + T.PROFIL_ID = T2.GUID AND + T1.EMAIL IS NOT NULL + +GO +CREATE VIEW VWPM_PROFILE_ACTIVE AS +SELECT + T1.[GUID] + ,T1.[NAME] + ,T1.[TITLE] + ,T1.[WD_OBJECTTYPE] + ,T1.[PRIORITY] + ,T1.[DESCRIPTION] + ,T1.[TYPE] + ,T1.[LOG_INDEX] + ,T1.[IN_WORK] + ,T1.[ACTIVE] + ,T1.[WD_SEARCH] + ,T1.[PM_VEKTOR_INDEX] + ,T1.[NO_OF_DOCUMENTS] + ,T1.[FINAL_PROFILE] + ,T1.[FINAL_TEXT] + ,T1.[MOVE2FOLDER] + ,T1.[SORT_BY_LATEST] + ,T1.[WORK_HISTORY_ENTRY] + ,T1.[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] + ,T1.[ANNOTATE_WORK_HISTORY_ENTRY] + ,T1.[SQL_VIEW] + ,T1.[ADDED_WHO] + ,T1.[ADDED_WHEN] + ,T1.[CHANGED_WHO] + ,T1.[CHANGED_WHEN] + -- ,T1.[SQL_GROUP_COLOR] + -- ,T1.[SQL_GROUP_TEXT] + ,T1.[DISPLAY_MODE] + + + + ,(SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T1.GUID) AS FILE_COUNT, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T1.GUID) AS 'GROUP_COLOR', + dbo.FNPM_PROFILE_GROUP_FONT_COLOR (T1.GUID) AS 'GROUP_FONT_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T1.GUID) AS 'GROUP_TEXT' +FROM + TBPM_PROFILE T1 +WHERE + T1.ACTIVE = 1 +GO +UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = ' +/*## Following Columns need to be part of sql ## +TL_STATE Returns the TrafficLight-State for each doc (1=Red;2=Orange;3=Green) +PROFILE_ID TITLE Profile-Title used for default-grouping +DOC_ID +FULL_FILE_PATH +LAST USE +LAST EDITED */ +--DECLARE @USER_ID INTEGER +--SET @USER_ID = 1 + SELECT + T.GUID, + DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) AS [Days in], + Case DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) WHEN 0 THEN 3 WHEN 1 THEN 2 WHEN 2 THEN 1 ELSE 3 END AS TL_STATE, + T.PROFIL_ID AS PROFILE_ID, + T.DOC_ID, + T.FILE_PATH AS FULL_FILE_PATH, + TWM_BA.szLongName as Dateiname, + TWM_BA.szText36 AS Dokumentart, + --TWM_BA.szText35 AS [weitergeleitet an], + --TWM_BA.lfFloat14 AS [Rechnungs Summe], + --ISNULLTWM_BA.szText14 AS Buchungskreis, + --TWM_BA.szText08 AS Kreditor, + T.DMS_ERSTELLT_DATE AS [Erhalten wann], + [dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last User'', + [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last edited'', + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.PROFIL_ID) AS ''GROUP_COLOR'', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.PROFIL_ID) AS ''GROUP_TEXT'' + FROM TBPM_PROFILE_FILES T, + TBPM_PROFILE T1, + TBDD_USER T2, + windream60.dbo.BaseAttributes TWM_BA WHERE T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T.PROFIL_ID = T1.GUID AND T1.GUID in (SELECT PROFIL_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({#USER#USER_ID})) AND T1.ACTIVE = 1 And T2.GUID = {#USER#USER_ID} + AND T.DOC_ID = TWM_BA.dwDocID ORDER By T1.PRIORITY' +WHERE GUID = 1 +GO +CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_PREFIX VARCHAR(50) + + SELECT @WM_PREFIX = WM_REL_PATH from tbpm_KONFIGURATION WHERE GUID = 1 + + SELECT @FSFLAGS = dwFSFlags FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS = 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FILE!' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + --select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME + RETURN @RESULT +END +GO + +CREATE view [dbo].[VWPM_CHART_TOP5] as +SELECT 'Kreditor1' as KRED_NAME +,'56' as ANZ_BELEG +,convert(decimal(19,2),125565478.8) as Netto +,convert(decimal(19,2),10000) as Skonto +UNION +SELECT 'Kreditor2' as KRED_NAME +,'49' as ANZ_BELEG +,convert(decimal(19,2),8575222.48) as Netto +,convert(decimal(19,2),8555.4) as Skonto +UNION +SELECT 'Kreditor3' as KRED_NAME +,'43' as ANZ_BELEG +,convert(decimal(19,2),2582222.8) as Netto +,convert(decimal(19,2),5647.2) as Skonto +UNION +SELECT 'Kreditor4' as KRED_NAME +,'3' as ANZ_BELEG +,convert(decimal(19,2),68589.89) as Netto +,convert(decimal(19,2),48.96) as Skonto +GO + +CREATE VIEW [dbo].[VWPM_CHART_INVOICE_MONITOR_SERIES] +AS +select 'Alle Rechnungen' as Title +,15 Anzahl +,500000 NettoSumme +,1 SEQ +--,convert(varchar,format(SUM(500000),'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Posteingang' as Title +,10 Anzahl +,12000 NettoSumme +,2 SEQ +--,convert(varchar,format(SUM(12000),'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Fachliche Freigabe' as Title +,5 Anzahl +,13658.5 NettoSumme +,3 SEQ +--,convert(varchar,format(13658.5,'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Finale Freigabe' as Title +,53 Anzahl +,658555.65 NettoSumme +,4 SEQ +--,convert(varchar,format(658555.65,'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Zeitkritisch' as Title +,0 Anzahl +,'0.000' NettoSumme +,5 SEQ +--ORDER BY SEQ + +GO + +CREATE OR ALTER FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +RETURNS @Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_DATE_FORMAT VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USERCOUNT_LOGGED_IN INTEGER, + COMMENT VARCHAR(500), + USER_RIGHT2 BIT NOT NULL DEFAULT 1, + USER_RIGHT3 BIT NOT NULL DEFAULT 0, + USER_RIGHT4 BIT NOT NULL DEFAULT 0, + USER_RIGHT5 BIT NOT NULL DEFAULT 0, + WORKING_MODE VARCHAR(5000) NOT NULL DEFAULT '' + ,ADDITIONAL_TITLE VARCHAR(200)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @USER_DATE_FORMAT VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @USER_RIGHT2 BIT, + @USER_RIGHT3 BIT, + @USER_RIGHT4 BIT, + @USER_RIGHT5 BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100), + @WORKING_MODE VARCHAR(1000) + --'PM#NO_MASS_VALIDATOR;PM#FORCE_LAYOUT_OVERVIEW;PM#NO_CHARTS;PM#DEBUG_LOG' + + SET @USER_RIGHT2 = 1 --1 = DocumentPropertyView only View + SET @USER_RIGHT3 = 0 + SET @USER_RIGHT4 = 0 + SET @USER_RIGHT5 = 0 + DECLARE @CONN_ID_IDB INTEGER + SELECT @CONN_ID_IDB = GUID FROM TBDD_CONNECTION WHERE SYS_CONNECTION = 1 AND BEZEICHNUNG = 'IDB' + SET @WORKING_MODE = '' + IF @pMODULE_SHORT_NAME = 'PM' + SET @WORKING_MODE = 'PM.NO_MASS_VALIDATOR#PM.FORCE_LAYOUT_OVERVIEW#PM.NO_CHARTS#PM.DEBUG_LOG'--#PM.IDBWITHWMFS#PM.IDB_CONID!' + CONVERT(VARCHAR(2),@CONN_ID_IDB) + +'#PM.MONITORING#PM.COLORSCHEME=Purple' + + SET @USER_ID = 0 + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @USERCOUNT_LOGGED_IN = 0 + SET @RESULT = '' + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @USER_GROUPNAME = 'PM_USER' + SET @ADMIN_GROUPNAME = 'PM_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'CW' + BEGIN + SET @USER_GROUPNAME = 'CW_USER' + SET @ADMIN_GROUPNAME = 'CW_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'ADDI' + BEGIN + SET @USER_GROUPNAME = 'ADDI_USER' + SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'UM' + BEGIN + SET @USER_GROUPNAME = 'XXXX' + SET @ADMIN_GROUPNAME = 'UM_ADMINS' + END + + SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME + + IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) + BEGIN + SET @RESULT = 'USER NOT CONFIGURED OR LISTED' + END + ELSE + BEGIN + SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, + @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) + + --##### LICENSE COUNT + --SELECT @USERCOUNT_LOGGED_IN = [dbo].[FNDD_GET_LICENSE_COUNT] (@pCLIENTID) + + SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID + --CHECK USER ÍS IN MODULE_USER_GROUP + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) + BEGIN + SET @IS_IN_MODULE = 1 + SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| User is also configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + ELSE + BEGIN + SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| BUT User configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 + --,@USER_RIGHT2 = T.RIGHT2 + from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) + BEGIN + SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' + SET @IS_ADMIN = 1 + SET @IS_IN_MODULE = 1 + END + + END + +INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, +MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT,WORKING_MODE,USER_RIGHT2,USER_RIGHT3,USER_RIGHT4,USER_RIGHT5 +,ADDITIONAL_TITLE) + VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL, + @IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT,@WORKING_MODE,@USER_RIGHT2,@USER_RIGHT3,@USER_RIGHT4,@USER_RIGHT5 + ,'PROD') + +RETURN +END +GO +CREATE PROCEDURE [dbo].[PRPM_DELETE_PROFILE](@pPID INT) +AS + delete from TBPM_CONTROL_TABLE where CONTROL_ID in (SELECT GUID FROM TBPM_PROFILE_CONTROLS where PROFIL_ID = 5); + IF OBJECT_ID (N'TBPM_ERROR_LOG', N'U') IS NOT NULL + DELETE FROM TBPM_ERROR_LOG WHERE PROFIL_ID = @pPID; + DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @pPID; + DELETE FROM TBPM_PROFILE_FINAL_INDEXING WHERE PROFIL_ID = @pPID; + delete from TBPM_CONTROL_TABLE where CONTROL_ID in (select GUID FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = @pPID); + DELETE FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = @pPID; + DELETE FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPID; + DELETE FROM TBPM_PROFILE_GROUP WHERE PROFIL_ID = @pPID; + DELETE FROM TBPM_PROFILE WHERE GUID = @pPID; + +GO +CREATE FUNCTION [dbo].[FNPM_GET_WM_FILE_PATH] (@pDOCGUID BIGINT,@STANDARD As INT = 0) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE @RELPATH VARCHAR(100),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(MAX) + IF @STANDARD = 1 + SET @RELPATH = '\\windream\objects' + ELSE + SELECT @RELPATH = WM_REL_PATH FROM TBPM_KONFIGURATION WHERE GUID = 1 + SELECT @FILEPATH = REPLACE(FILE_PATH,'W:\','') FROM TBPM_PROFILE_FILES WHERE (GUID = @pDOCGUID) + SET @NAVPATH = @RELPATH + '\' + @FILEPATH + IF @NAVPATH IS NULL + SET @NAVPATH = '' + RETURN @NAVPATH +END +GO + +-- ============================================= +-- Author: Digital Data MS +-- Create date: 08.01.2020 +-- Description: Checks whether Doc is in use or not +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_CHECK_DocGUID_Valid](@DocGUID BigInt) +RETURNS BIT +AS +BEGIN + DECLARE @RESULT BIT + SET @RESULT = 1 + IF EXISTS(SELECT GUID FROM TBPM_PROFILE_FILES WHERE GUID = @DocGUID) + BEGIN + IF EXISTS(SELECT GUID FROM TBPM_PROFILE_FILES WHERE GUID = @DocGUID AND (IN_WORK = 1 OR EDIT = 1 OR ACTIVE = 0)) + SET @RESULT = 0 + END + ELSE + SET @RESULT = 0 + RETURN @RESULT +END +GO \ No newline at end of file diff --git a/01_PM/PM.sql b/01_PM/PM.sql deleted file mode 100644 index e9701cf..0000000 --- a/01_PM/PM.sql +++ /dev/null @@ -1,1090 +0,0 @@ - -/*################################## -1. Search for @MyUSER and replace the username - You use for administration -2. If windream database is not located: Search for windream60 and replace with databaselink.windream60 -####################################*/ - -UPDATE TBDD_MODULES SET DB_VERSION = '1.9.4.8' where NAME = 'Process-Manager' -GO -INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'),1 FROM TBDD_USER where UPPER(USERNAME) = UPPER('SchreiberM') -GO -INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1) -GO -INSERT INTO TBDD_GROUPS_USER (USER_ID,GROUP_ID) VALUES ((SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('SchreiberM')),(SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'PM_ADMINS')) -GO -CREATE TABLE TBPM_KONFIGURATION -( - GUID TINYINT, - LIZENZEN VARCHAR(2000), - INTERVALL_CKECK_NO_OF_FILES smallint NOT NULL DEFAULT 2, - VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', - EMAIL_ACTIVE BIT NOT NULL DEFAULT 0, - EMAIL_FROM VARCHAR(50), - EMAIL_SMTP VARCHAR(50), - EMAIL_USER VARCHAR(50), - EMAIL_PW VARCHAR(50), - EMAIL_REMINDER_HEADER VARCHAR(250), - EMAIL_REMINDER_FOOTER VARCHAR(250), - ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=', - ADMIN_SECURITY BIT NOT NULL DEFAULT 0, - SQL_PROFILE_MAIN_VIEW VARCHAR(MAX)NOT NULL DEFAULT '', - [SERVICE_SCHEDULE] VARCHAR(100) NOT NULL DEFAULT '07-18;1111100', - [SERVICE_IDXNAME_DOCID] VARCHAR(50) NOT NULL DEFAULT 'Dokument-ID', - [SERVICE_WMDRIVE_LETTER] VARCHAR(1) NOT NULL DEFAULT 'W', - [SERVICE_IDXNAME_CREATED] VARCHAR(50) NOT NULL DEFAULT 'DMS erstellt', - [SERVICE_LOG_ERRORS_ONLY] BIT NOT NULL DEFAULT 1, - WM_REL_PATH VARCHAR(100) NOT NULL DEFAULT '\\windream\objects', - ERFASSTWER VARCHAR(50) DEFAULT 'PER DMSLite' NOT NULL, - ERSTELLTWER VARCHAR(50) DEFAULT 'DMSLite-Admin' NOT NULL, - ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, - GEAENDERTWER VARCHAR(50), - GEAENDERTWANN DATETIME, - CONSTRAINT PK_TBPM_KONFIGURATION_GUID PRIMARY KEY(GUID), - CONSTRAINT CH_TBPM_KONFIGURATION_GUID CHECK(GUID = 1) -) -GO ------------------------------------------------------------------------------- -CREATE TRIGGER TBPM_KONFIGURATION_AFT_UPD ON TBPM_KONFIGURATION -FOR UPDATE -AS - UPDATE TBPM_KONFIGURATION SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBPM_KONFIGURATION.GUID = INSERTED.GUID -GO - -INSERT INTO TBPM_KONFIGURATION(GUID,LIZENZEN,EMAIL_REMINDER_HEADER,EMAIL_REMINDER_FOOTER) -VALUES -(1,'Y/R9cI8qEID774g/fqXzkrCdW5bhcB62jsBmRgJx2rI=','Der Process-Manager informiert Sie hiermit über nicht erledigte Dokumentenprozesse:

','

Bitte starten Sie Ihren Process-Manager und bearbeiten die entsprechenden Prozesse.
Vielen Dank.') -GO --------------------------------------------------------------------------------- -CREATE TABLE TBPM_TYPE -( -GUID SMALLINT NOT NULL IDENTITY (1, 1), -BEZEICHNUNG VARCHAR(100) NOT NULL UNIQUE, -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, - -CONSTRAINT PK_TBPM_TYPE_GUID PRIMARY KEY (GUID) -) -GO -INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Man. Validation') -GO -INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Automatism') -GO -CREATE TRIGGER TBPM_TYPE_AFT_UPD ON TBPM_TYPE -FOR UPDATE -AS - UPDATE TBPM_TYPE SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_TYPE.GUID = INSERTED.GUID -GO -CREATE TABLE TBPM_PROFILE -( -GUID INTEGER NOT NULL IDENTITY (1, 1), -NAME VARCHAR(100) NOT NULL UNIQUE, -TITLE VARCHAR(150) NOT NULL DEFAULT 'DEFAULT-TITLE', -WD_OBJECTTYPE VARCHAR(200) NOT NULL, -PRIORITY INTEGER NOT NULL DEFAULT 1, -DESCRIPTION VARCHAR(250) , -TYPE SMALLINT NOT NULL, -LOG_INDEX VARCHAR(50) NOT NULL DEFAULT '', -IN_WORK BIT NOT NULL DEFAULT 0, -ACTIVE BIT NOT NULL DEFAULT 0, -WD_SEARCH VARCHAR(500) NOT NULL, -PM_VEKTOR_INDEX VARCHAR(50) NOT NULL DEFAULT '', -NO_OF_DOCUMENTS INTEGER NOT NULL DEFAULT 0, -FINAL_PROFILE BIT NOT NULL DEFAULT 0, -FINAL_TEXT VARCHAR(250), -MOVE2FOLDER VARCHAR(1000), -SORT_BY_LATEST BIT NOT NULL DEFAULT 0, -WORK_HISTORY_ENTRY VARCHAR(500), -ANNOTATE_ALL_WORK_HISTORY_ENTRIES BIT NOT NULL DEFAULT 0, -ANNOTATE_WORK_HISTORY_ENTRY BIT NOT NULL DEFAULT 0, -SQL_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', -SQL_PROFILE_MAIN_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', -SQL_GROUP_COLOR VARCHAR(MAX) NOT NULL DEFAULT '', -SQL_GROUP_TEXT VARCHAR(MAX) NOT NULL DEFAULT '', -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, -CONSTRAINT PK_TBPM_PROFILE_GUID PRIMARY KEY (GUID), -CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) -) -GO ---ALTER TABLE dbo.TBPM_PROFILE WITH NOCHECK ---ADD CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) ; - -CREATE TRIGGER TBPM_PROFILE_AFT_UPD ON TBPM_PROFILE -FOR UPDATE -AS - UPDATE TBPM_PROFILE SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_PROFILE.GUID = INSERTED.GUID -GO ------------------------------------------------------------------------------- -CREATE TABLE TBPM_PROFILE_FILES -( - GUID INTEGER IDENTITY(1,1), - DOC_ID INTEGER NOT NULL DEFAULT 0, - PROFIL_ID INTEGER NOT NULL, - FILE_PATH VARCHAR(1000), - EDIT BIT NOT NULL DEFAULT 0, - DMS_ERSTELLT_DATE DATE, - IN_WORK BIT NOT NULL DEFAULT 0, - WORK_USER VARCHAR(100), - ACTIVE BIT NOT NULL DEFAULT 0, - REFRESHED BIT NOT NULL DEFAULT 1, - REFRESHED_WHEN DATETIME, - ERSTELLTWER VARCHAR(50) DEFAULT 'PM_REFRESH_MANAGER' NOT NULL, - ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, - CONSTRAINT PK_TBPM_PROFILE_FILES_GUID PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_PROFILE_FILES_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) -) -GO ------------------------------------------------------------------------------- -CREATE TABLE TBPM_FILES_USER_NOT_INDEXED -( - USR_NAME VARCHAR(50), - PROFIL_ID INTEGER, - FILE_PATH VARCHAR(500), - UNIQUE (USR_NAME,PROFIL_ID,FILE_PATH) -) -GO ------------------------------------------------------------------------------- -CREATE TABLE TBPM_FILES_WORK_HISTORY -( - GUID INTEGER IDENTITY(1,1), - PROFIL_ID INTEGER NOT NULL, - DOC_ID INTEGER NOT NULL DEFAULT 0, - WORKED_BY VARCHAR(100) NOT NULL, - WORKED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), - WORKED_WHERE VARCHAR(100) NOT NULL, - STATUS_COMMENT VARCHAR(500), - COMMENT VARCHAR(MAX), - CONSTRAINT [PK_TBPM_FILES_WORK_HISTORY] PRIMARY KEY (GUID) -) -GO ------------------------------------------------------------------------------- -CREATE TABLE TBPM_ERROR_LOG -( - GUID INT NOT NULL IDENTITY (1, 1), - PROFIL_ID INTEGER NOT NULL, - ERROR_MSG VARCHAR(1000) NOT NULL, - ADDED_WHO VARCHAR(50) NOT NULL, - ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), - MACHINE_NAME VARCHAR(50), - CONSTRAINT PK_TBPM_ERROR_LOG_GUID PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_ERROR_LOG_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) -) -GO -CREATE TABLE TBPM_PROFILE_CONTROLS -( - GUID INTEGER NOT NULL IDENTITY (1, 1), - PROFIL_ID INTEGER NOT NULL, - NAME VARCHAR(100) NOT NULL, - CTRL_TYPE VARCHAR(10) NOT NULL, --TXT,LBL,COMBO,DTP - CTRL_TEXT VARCHAR(50) NOT NULL DEFAULT 'CTRL TEXT', - X_LOC FLOAT NOT NULL, - Y_LOC FLOAT NOT NULL, - HEIGHT SMALLINT NOT NULL DEFAULT 25, - WIDTH SMALLINT NOT NULL DEFAULT 200, - INDEX_NAME VARCHAR(100), - TYP VARCHAR(50), - [VALIDATION] BIT NOT NULL DEFAULT 0, - CHOICE_LIST VARCHAR(50), - CONNECTION_ID SMALLINT, - DEFAULT_VALUE VARCHAR(100), - MULTISELECT BIT DEFAULT 0 NOT NULL, - VKT_ADD_ITEM BIT DEFAULT 0 NOT NULL, - VKT_PREVENT_MULTIPLE_VALUES BIT DEFAULT 0 NOT NULL, - SQL_UEBERPRUEFUNG VARCHAR(MAX) DEFAULT '', - REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', - REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', - [READ_ONLY] BIT NOT NULL DEFAULT 0, - LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, - FONT_STYLE smallint, - FONT_SIZE smallint, - FONT_FAMILY varchar(50), - FONT_COLOR bigint, - ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', - ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), - CHANGED_WHO VARCHAR(30), - CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBPM_PROFILE_CONTROLS_GUID PRIMARY KEY (GUID), - CONSTRAINT FK_TBPM_PROFILE_CONTROLS_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), - CONSTRAINT UQ_TBPM_PROFILE_CONTROLS UNIQUE(PROFIL_ID,NAME) -) -GO -CREATE TRIGGER TBPM_PROFILE_CONTROLS_AFT_UPD ON TBPM_PROFILE_CONTROLS -FOR UPDATE -AS - UPDATE TBPM_PROFILE_CONTROLS SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_PROFILE_CONTROLS.GUID = INSERTED.GUID -GO -CREATE TABLE TBPM_CONTROL_TABLE -( -GUID INTEGER NOT NULL IDENTITY (1, 1), -CONTROL_ID INTEGER NOT NULL, -SPALTENNAME VARCHAR(100) NOT NULL, -SPALTEN_HEADER VARCHAR(100) NOT NULL, -SPALTENBREITE INTEGER NOT NULL, -[VALIDATION] BIT NOT NULL DEFAULT 0, -CHOICE_LIST VARCHAR(50), -CONNECTION_ID SMALLINT, -SQL_COMMAND VARCHAR(2000), -REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', -REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', -REGEX_MATCH VARCHAR(1000) NOT NULL DEFAULT '', -[READ_ONLY] BIT NOT NULL DEFAULT 0, -LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, -CONSTRAINT PK_TBPM_CONTROL_TABLE_GUID PRIMARY KEY (GUID), -CONSTRAINT FK_TBPM_CONTROL_TABLE_CONTROL FOREIGN KEY (CONTROL_ID) REFERENCES TBPM_PROFILE_CONTROLS (GUID) -) -GO -CREATE TRIGGER TBPM_CONTROL_TABLE_AFT_UPD ON TBPM_CONTROL_TABLE -FOR UPDATE -AS - UPDATE TBPM_CONTROL_TABLE SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_CONTROL_TABLE.GUID = INSERTED.GUID -GO ----------------- -CREATE TABLE TBPM_PROFILE_USER -( -GUID INTEGER NOT NULL IDENTITY (1, 1), -PROFIL_ID INTEGER NOT NULL, -USER_ID INTEGER NOT NULL, -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, -CONSTRAINT PK_TBPM_PROFILE_USER_GUID PRIMARY KEY (GUID), -UNIQUE (PROFIL_ID,USER_ID), -CONSTRAINT FK_TBPM_PROFILE_USER_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), -CONSTRAINT FK_TBPM_PROFILE_USER_USER FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), -CONSTRAINT UQ_TBPM_PROFILE_USER UNIQUE (PROFIL_ID,USER_ID) -) -GO -CREATE TRIGGER TBPM_PROFILE_USER_AFT_UPD ON TBPM_PROFILE_USER -FOR UPDATE -AS - UPDATE TBPM_PROFILE_USER SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_PROFILE_USER.GUID = INSERTED.GUID -GO -CREATE TABLE TBPM_PROFILE_GROUP -( -GUID INTEGER NOT NULL IDENTITY (1, 1), -PROFIL_ID INTEGER NOT NULL, -GROUP_ID INTEGER NOT NULL, -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, -CONSTRAINT PK_TBPM_PROFILE_GROUP_GUID PRIMARY KEY (GUID), -UNIQUE (PROFIL_ID,GROUP_ID), -CONSTRAINT FK_TBPM_PROFILE_GROUP_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), -CONSTRAINT FK_TBPM_PROFILE_GROUP_GROUP FOREIGN KEY (GROUP_ID) REFERENCES TBDD_GROUPS (GUID), -CONSTRAINT UQ_TBPM_PROFILE_GROUP UNIQUE (PROFIL_ID,GROUP_ID) -) -GO -CREATE TRIGGER TBPM_PROFILE_GROUP_AFT_UPD ON TBPM_PROFILE_GROUP -FOR UPDATE -AS - UPDATE TBPM_PROFILE_GROUP SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_PROFILE_GROUP.GUID = INSERTED.GUID -GO -CREATE TABLE TBPM_PROFILE_FINAL_INDEXING -( -GUID INTEGER NOT NULL IDENTITY (1, 1), -PROFIL_ID INTEGER NOT NULL, -CONNECTION_ID SMALLINT NOT NULL DEFAULT 0, -SQL_COMMAND VARCHAR(MAX) NOT NULL DEFAULT '', -INDEXNAME VARCHAR(100) NOT NULL, -VALUE VARCHAR(100) NOT NULL, -ACTIVE BIT NOT NULL DEFAULT 1, -[DESCRIPTION] VARCHAR(MAX) NOT NULL DEFAULT '', -PREVENT_DUPLICATES BIT NOT NULL DEFAULT (0), -ALLOW_NEW_VALUES BIT NOT NULL DEFAULT (0), - -ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', -ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), -CHANGED_WHO VARCHAR(30), -CHANGED_WHEN DATETIME, -CONSTRAINT PK_TBPM_PROFILE_FINAL_INDEXING_GUID PRIMARY KEY (GUID), -CONSTRAINT FK_TBPM_PROFILE_FINAL_INDEXING_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) -) -GO -CREATE TRIGGER TBPM_PROFILE_FINAL_INDEXING_AFT_UPD ON TBPM_PROFILE_FINAL_INDEXING -FOR UPDATE -AS - UPDATE TBPM_PROFILE_FINAL_INDEXING SET CHANGED_WHEN = GETDATE() - FROM INSERTED - WHERE TBPM_PROFILE_FINAL_INDEXING.GUID = INSERTED.GUID -GO -CREATE TABLE TBPM_PROFILE_SEARCH -( - GUID INTEGER IDENTITY(1,1), - PROFILE_ID INTEGER NOT NULL, - TYPE VARCHAR(50) NOT NULL DEFAULT 'SQL', - CONN_ID INTEGER NOT NULL DEFAULT '0', - TAB_TITLE VARCHAR(50) NOT NULL DEFAULT 'UndefinedTitle', - LOAD_ON_START bit NOT NULL DEFAULT 1, - TAB_INDEX TINYINT DEFAULT 0 NOT NULL, - SQL_COMMAND VARCHAR(3000) NOT NULL, - RUN_MANUAL BIT DEFAULT 1 NOT NULL, - ACTIVE BIT DEFAULT 0 NOT NULL, - CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, - CREATED_WHEN DATETIME DEFAULT GETDATE(), - CONSTRAINT PK_TBPM_PROFILE_SEARCH PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_PROFILE_SEARCH_PROFILE_ID FOREIGN KEY (PROFILE_ID) REFERENCES TBPM_PROFILE (GUID) -) -GO -CREATE TABLE TBPM_MAIN_VIEW_GROUPS -( - GUID INTEGER IDENTITY(1,1), - GROUPNAME VARCHAR(100) NOT NULL, - ACTIVE BIT DEFAULT 1 NOT NULL, - CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, - CREATED_WHEN DATETIME DEFAULT GETDATE(), - CHANGED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, - CHANGED_WHEN DATETIME DEFAULT GETDATE(), - CONSTRAINT PK_TBPM_MAIN_VIEW_GROUPS PRIMARY KEY(GUID) -) -GO -CREATE TRIGGER [dbo].[TBPM_MAIN_VIEW_GROUPS_AFT_UPD] ON [dbo].[TBPM_MAIN_VIEW_GROUPS] -FOR UPDATE -AS -BEGIN - UPDATE TBPM_MAIN_VIEW_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_MAIN_VIEW_GROUPS.GUID = INSERTED.GUID -END -GO -INSERT INTO TBPM_MAIN_VIEW_GROUPS (GROUPNAME) VALUES ('GROUP_TEXT') -GO -CREATE TABLE [dbo].[TBPM_CHART]( - GUID INTEGER IDENTITY(1,1) NOT NULL, - PROFILE_ID INTEGER NOT NULL, - SQL_COMMAND VARCHAR(MAX) NOT NULL, - TYPE_CHART VARCHAR(50) NOT NULL, - ARGUMENT VARCHAR(50) NOT NULL, - [VALUE] VARCHAR(50) NOT NULL, - TITLE VARCHAR(50) NOT NULL DEFAULT '', - ADDED_WHO VARCHAR(50) DEFAULT '', - ADDED_WHEN DATETIME DEFAULT GETDATE(), - CHANGED_WHO VARCHAR(50), - CHANGED_WHEN DATETIME, - GROUP_ID VARCHAR(50) DEFAULT '', -CONSTRAINT PK_TBPM_CHART_GUID PRIMARY KEY (GUID), -CONSTRAINT FK_TBPM_CHART_PROFILE FOREIGN KEY (PROFILE_ID) REFERENCES TBPM_PROFILE (GUID) -) -GO ---PROCEDURES -CREATE PROCEDURE [dbo].[PRPM_DELETE_USER](@pUSER_ID INT) -AS -BEGIN TRY - IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL - DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID - IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL - DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID - DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM') -END TRY -BEGIN CATCH - PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) - + ' - FEHLER-MESSAGE: ' - + CONVERT(VARCHAR(500),ERROR_MESSAGE()) -END CATCH -GO -CREATE PROCEDURE [dbo].[PRPM_REMOVE_NE_FILES] -AS -DECLARE - @DOC_ID INTEGER - -DECLARE c_REDO CURSOR FOR - select DOC_ID from TBPM_PROFILE_FILES - OPEN c_REDO - FETCH NEXT FROM c_REDO INTO @DOC_ID - WHILE @@FETCH_STATUS = 0 - BEGIN - IF NOT EXISTS(SELECT dwDocID FROM windream60.dbo.BaseAttributes where dwDocID = @DOC_ID) - DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DOC_ID - FETCH NEXT FROM c_REDO INTO @DOC_ID - END -CLOSE c_REDO -DEALLOCATE c_REDO -GO ---FUNCTIONS -CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_TEXT](@pPROFIL_ID AS INTEGER) -RETURNS VARCHAR(250) -AS -BEGIN - DECLARE @RESULT VARCHAR(250) - SELECT @RESULT = TITLE FROM TBPM_PROFILE WHERE GUID = @pPROFIL_ID - IF @pPROFIL_ID = 1 - SET @RESULT = @RESULT + ' | Additional Text for Profile 1' - ELSE - SET @RESULT = @RESULT + ' | YourTextVariabel in FNPM_PROFILE_GROUP_TEXT' - RETURN @RESULT -END -GO ---GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] ---GO - -CREATE FUNCTION [dbo].[FNPM_LAST_WORKUSER_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) -RETURNS VARCHAR(250) -AS -BEGIN - DECLARE @RESULT VARCHAR(250) - SELECT @RESULT = WORKED_BY FROM TBPM_FILES_WORK_HISTORY WHERE GUID = - (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) - IF LEN(@RESULT) = 0 - SET @RESULT = '' - RETURN @RESULT -END -GO ---GRANT EXECUTE ON [dbo].[FNPM_LAST_WORKUSER_DOC] TO [dd_ecm] ---GO -CREATE FUNCTION [dbo].[FNPM_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) -RETURNS DATETIME -AS -BEGIN - DECLARE @RESULT DATETIME - SELECT @RESULT = WORKED_WHEN FROM TBPM_FILES_WORK_HISTORY WHERE GUID = - (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) - IF LEN(@RESULT) = 0 - SET @RESULT = '' - RETURN @RESULT -END -GO -GO ---GRANT EXECUTE ON [dbo].[FNPM_LAST_EDITED_DOC] TO [dd_ecm] ---GO -CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_COLOR](@pPROFIL_ID AS INTEGER) -RETURNS VARCHAR(20) -AS -BEGIN - DECLARE @RESULT VARCHAR(20) - SET @RESULT = 'Grey' - IF @pPROFIL_ID = 1 - SET @RESULT = 'Red' - ELSE - SET @RESULT = 'Yellow' - RETURN @RESULT -END -GO ---GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_COLOR] TO [dd_ecm] ---GO ---GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] ---GO -CREATE FUNCTION [dbo].[FNPM_GET_FREE_USER_FOR_PROFILE] (@pPROFILE_ID INTEGER) -RETURNS -@Table TABLE - (SequentialOrder INT IDENTITY(1, 1), - USER_ID INTEGER, - USER_NAME VARCHAR(50), - USER_PRENAME VARCHAR(50), - USER_SURNAME VARCHAR(50), - USER_SHORTNAME VARCHAR(50), - USER_EMAIL VARCHAR(100), - USER_LANGUAGE VARCHAR(10), - USER_COMMENT VARCHAR(500)) -AS -BEGIN -/* This function returns all free users per profile */ - INSERT INTO @Table (USER_ID,USER_NAME, USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_COMMENT) - SELECT - T.USER_ID - ,T.USER_NAME - ,T.USER_PRENAME - ,T.USER_SURNAME - ,T.USER_SHORTNAME - ,T.USER_EMAIL - ,T.USER_LANGUAGE - ,T.USER_COMMENT - FROM - [dbo].FNDD_GET_USER_FOR_MODULE ('PM',1) T WHERE T.USER_ID NOT IN (SELECT USER_ID FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPROFILE_ID) -RETURN -END -GO -CREATE FUNCTION [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USER_ID INTEGER) -RETURNS - @Table TABLE - (SCOPE VARCHAR(20),PROFILE_ID INTEGER, P_NAME VARCHAR(50),SequentialOrder INT IDENTITY(1, 1)) -AS -BEGIN - DECLARE - @P_ID INTEGER, - @P_NAME VARCHAR(50) - - DECLARE cursProfileUser CURSOR FOR - select T.PROFIL_ID, T1.NAME FROM TBPM_PROFILE_USER T, TBPM_PROFILE T1 WHERE T.PROFIL_ID = T1.GUID AND T.USER_ID = @USER_ID - OPEN cursProfileUser - FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME - WHILE @@FETCH_STATUS = 0 - BEGIN - INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-USER',@P_ID,@P_NAME) - FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME - END - CLOSE cursProfileUser - DEALLOCATE cursProfileUser - - DECLARE cursProfileGROUP CURSOR FOR - SELECT T.PROFIL_ID, TP.NAME FROM TBPM_PROFILE_GROUP T,TBDD_GROUPS T1,TBPM_PROFILE TP,TBDD_GROUPS_USER T2 WHERE - T.GROUP_ID = T1.GUID AND T.PROFIL_ID = TP.GUID AND TP.TYPE = 1 AND T1.GUID = T2.GROUP_ID AND T2.USER_ID = @USER_ID - - OPEN cursProfileGROUP - FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME - WHILE @@FETCH_STATUS = 0 - BEGIN - IF NOT EXISTS(SELECT * FROM @Table WHERE PROFILE_ID = @P_ID) - INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-GROUP',@P_ID,@P_NAME) - FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME - END - CLOSE cursProfileGROUP - DEALLOCATE cursProfileGROUP -RETURN -END -GO ---VIEWS -CREATE 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, - 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_MESSAGE_DE, - T1.REGEX_MESSAGE_EN -FROM - TBPM_PROFILE T, - TBPM_PROFILE_CONTROLS T1 -WHERE - T.GUID = T1.PROFIL_ID -ORDER BY - T.GUID, - T1.X_LOC, - T1.Y_LOC -GO -CREATE VIEW [dbo].[VWPM_PROFILE_USER_UNION] AS -SELECT - 'USER' SCOPE, - T.GUID PROFIL_ID, - T.NAME PROFIL_NAME, - T.TITLE, - T.DESCRIPTION, - T.WD_OBJECTTYPE, - T.PRIORITY, - T.WD_SEARCH, - COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, - T.ACTIVE, - T.IN_WORK, - T.NO_OF_DOCUMENTS, - T.FINAL_PROFILE, - T.FINAL_TEXT, - T.LOG_INDEX, - T.PM_VEKTOR_INDEX, - T2.GUID AS USER_ID, - T2.PRENAME, - T2.NAME, - T2.USERNAME, - T2.EMAIL, - --T2.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, - [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'GROUP_COLOR', - [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'GROUP_TEXT' -FROM - TBPM_PROFILE T, - TBPM_PROFILE_USER T1, - TBDD_USER T2 -WHERE - T.TYPE = 1 AND - T.GUID = T1.PROFIL_ID AND - T1.USER_ID = T2.GUID -UNION -SELECT - 'GROUP' SCOPE, - T.GUID PROFIL_ID, - T.NAME PROFIL_NAME, - T.TITLE, - T.DESCRIPTION, - T.WD_OBJECTTYPE, - T.PRIORITY, - T.WD_SEARCH, - COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, - T.ACTIVE, - T.IN_WORK, - T.NO_OF_DOCUMENTS, - T.FINAL_PROFILE, - T.FINAL_TEXT, - T.LOG_INDEX, - T.PM_VEKTOR_INDEX, - T4.GUID AS USER_ID, - T4.PRENAME, - T4.NAME, - T4.USERNAME, - T4.EMAIL, - --T4.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, - [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'GROUP_COLOR', - [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'GROUP_TEXT' -FROM - TBPM_PROFILE T, - TBPM_PROFILE_GROUP T1, - TBDD_GROUPS T2, - TBDD_GROUPS_USER T3, - TBDD_USER T4 -WHERE - T.TYPE = 1 AND - T.GUID = T1.PROFIL_ID AND - T1.GROUP_ID = T2.GUID AND - T2.GUID = T3.GROUP_ID AND - T3.USER_ID = T4.GUID -GO - -CREATE VIEW VWPM_PROFILE_USER AS -SELECT DISTINCT * FROM VWPM_PROFILE_USER_UNION -GO -CREATE VIEW [dbo].[VWPM_EMAIL_PROFIL] AS -SELECT - T.PROFIL_ID, - T2.TITLE AS PROFIL_TITLE, - T2.NAME AS PROFIL_NAME, - T.USER_ID, - T1.USERNAME, - T1.EMAIL, - '' AS LAST_HOUR, - '' as EMAIL_ONCE_DAY, - (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T.PROFIL_ID) AS ANZ_FILES -FROM - TBPM_PROFILE_USER T, - TBDD_USER T1, - TBPM_PROFILE T2 -WHERE - T.USER_ID = T1.GUID AND - T.PROFIL_ID = T2.GUID AND - T1.EMAIL IS NOT NULL - -GO -CREATE VIEW VWPM_PROFILE_ACTIVE AS -SELECT - T1.*, - (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T1.GUID) AS FILE_COUNT, - [dbo].[FNPM_PROFILE_GROUP_COLOR] (T1.GUID) AS 'GROUP_COLOR', - [dbo].[FNPM_PROFILE_GROUP_TEXT] (T1.GUID) AS 'GROUP_TEXT' -FROM - TBPM_PROFILE T1 -WHERE - T1.ACTIVE = 1 -GO -UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = ' -/*## Following Columns need to be part of sql ## -TL_STATE Returns the TrafficLight-State for each doc (1=Red;2=Orange;3=Green) -PROFILE_ID TITLE Profile-Title used for default-grouping -DOC_ID -FULL_FILE_PATH -LAST USE -LAST EDITED */ ---DECLARE @USER_ID INTEGER ---SET @USER_ID = 1 - SELECT - T.GUID, - DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) AS [Days in], - Case DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) WHEN 0 THEN 3 WHEN 1 THEN 2 WHEN 2 THEN 1 ELSE 3 END AS TL_STATE, - T.PROFIL_ID AS PROFILE_ID, - T.DOC_ID, - T.FILE_PATH AS FULL_FILE_PATH, - TWM_BA.szLongName as Dateiname, - TWM_BA.szText36 AS Dokumentart, - --TWM_BA.szText35 AS [weitergeleitet an], - --TWM_BA.lfFloat14 AS [Rechnungs Summe], - --ISNULLTWM_BA.szText14 AS Buchungskreis, - --TWM_BA.szText08 AS Kreditor, - T.DMS_ERSTELLT_DATE AS [Erhalten wann], - [dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last User'', - [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last edited'', - [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.PROFIL_ID) AS ''GROUP_COLOR'', - [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.PROFIL_ID) AS ''GROUP_TEXT'' - FROM TBPM_PROFILE_FILES T, - TBPM_PROFILE T1, - TBDD_USER T2, - windream60.dbo.BaseAttributes TWM_BA WHERE T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T.PROFIL_ID = T1.GUID AND T1.GUID in (SELECT PROFIL_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({#USER#USER_ID})) AND T1.ACTIVE = 1 And T2.GUID = {#USER#USER_ID} - AND T.DOC_ID = TWM_BA.dwDocID ORDER By T1.PRIORITY' -WHERE GUID = 1 -GO -CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) -RETURNS VARCHAR(MAX) -AS -BEGIN - DECLARE - @RESULT VARCHAR(MAX), - @DOCID BIGINT, - @a TINYINT = 1, - @i TINYINT = 0, - @PARENT_ID BIGINT, - @DATEINAME NVARCHAR(255), - @PARENTNAME NVARCHAR(255), - @FSFLAGS INT, - @WM_PREFIX VARCHAR(50) - - SELECT @WM_PREFIX = WM_REL_PATH from tbpm_KONFIGURATION WHERE GUID = 1 - - SELECT @FSFLAGS = dwFSFlags FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID - IF @FSFLAGS = 16 - BEGIN - SET @RESULT = 'THIS IS NOT A FILE!' - END - ELSE - BEGIN - SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID - WHILE @a > 0 - BEGIN - IF @i = 0 - BEGIN - IF @PARENT_ID = 1 - BEGIN - SET @RESULT = '\' - BREAK - END - ELSE - BEGIN - SET @DOCID = @PARENT_ID - SET @RESULT = '\' - END - END - ELSE - BEGIN - IF @PARENT_ID = 1 - BEGIN - SET @RESULT = '\' + @PARENTNAME + @RESULT - BREAK - END - ELSE - BEGIN - SET @DOCID = @PARENT_ID - SET @RESULT = '\' + @PARENTNAME + @RESULT - END - END - --select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes - SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID - SET @i = @i + 1 - END - END - - SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME - RETURN @RESULT -END -GO -CREATE VIEW [dbo].[VWPM_DOC_SEARCH] AS -SELECT TOP 100 PERCENT - T.dwDocID as DocID - ,T.dwParentID - ,dbo.FNDD_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME - ,(SELECT szLongName from windream60.dbo.BaseAttributes WHERE dwDocID = T.dwDocID) AS [Filename] - ,T.szText00 - ,T.szText01 - ,T.szText02 - ,T.szText03 - ,T.szText04 - ,T.szText05 - ,T.szText06 - ,T.szText07 - ,T.szText08 - ,T.szText09 - ,T.szText10 - ,T.szText11 - ,T.szText12 - ,T.szText13 - ,T.szText14 - ,T.szText15 - ,T.szText16 - ,T.szText17 - ,T.szText18 - ,T.szText19 - ,T.szText20 - ,T.szText21 - ,T.szText22 - ,T.szText23 - ,T.szText24 - ,T.szText25 - ,T.szText26 - ,T.szText27 - ,T.szText28 - ,T.szText29 - ,T.szText30 - ,T.szText31 - ,T.szText32 - ,T.szText33 - ,T.szText34 - ,T.szText35 - ,ISNULL(T.szText36,'NO DOCTYPE') AS Doctype - ,T.szText37 - ,T.szText38 - ,T.szText39 - ,T.dwInteger00 - ,T.dwInteger01 - ,T.dwInteger02 - ,T.dwInteger03 - ,T.dwInteger04 - ,T.dwInteger05 - ,T.dwInteger06 - ,T.dwInteger07 - ,T.dwInteger08 - ,T.dwInteger09 - ,T.dwInteger10 - ,T.dwInteger11 - ,T.dwInteger12 - ,T.dwInteger13 - ,T.dwInteger14 - ,T.dwInteger15 - ,T.dwInteger16 - ,T.dwInteger17 - ,T.dwInteger18 - ,T.dwInteger19 - ,T.dwInteger20 - ,T.dwInteger21 - ,T.dwInteger22 - ,T.dwInteger23 - ,T.dwInteger24 - ,T.lfFloat00 - ,T.lfFloat01 - ,T.lfFloat02 - ,T.lfFloat03 - ,T.lfFloat04 - ,T.lfFloat05 - ,T.lfFloat06 - ,T.lfFloat07 - ,T.lfFloat08 - ,T.lfFloat09 - ,T.lfFloat10 - ,T.lfFloat11 - ,T.lfFloat12 - ,T.lfFloat13 - ,T.lfFloat14 - ,T.blBool00 - ,T.blBool01 - ,T.blBool02 - ,T.blBool03 - ,T.blBool04 - ,T.dwDate00 - ,T.dwDate01 - ,T.dwDate02 - ,T.dwDate03 - ,T.dwDate04 - ,T.dwDate05 - ,T.dwDate06 - ,T.dwDate07 - ,T.dwDate08 - ,T.dwDate09 - ,T.wmVar00 - ,T.wmVar01 - ,T.wmVar02 - ,T.wmVar03 - ,T.wmVar04 - ,T.wmVar05 - ,T.wmVar06 - ,T.wmVar07 - ,T.wmVar08 - ,T.wmVar09 - ,T.wmVar10 - ,T.wmVar11 - ,T.wmVar12 - ,T.wmVar13 - ,T.wmVar14 - ,T.wmVar15 - ,T.wmVar16 - ,T.wmVar17 - ,T.wmVar18 - ,T.wmVar19 - ,T.wmVar20 - ,T.wmVar21 - ,T.wmVar22 - ,T.wmVar23 - ,T.wmVar24 - ,T.wmVar25 - ,T.wmVar26 - ,T.wmVar27 - ,T.wmVar28 - ,T.wmVar29 - ,(SELECT ISNULL(T.dwVersionNumber,'1') from windream60.dbo.BaseAttributes WHERE dwDocID = T.dwDocID) AS [Version] - ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] - ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime,T1.szDocTypeName AS OBJECTTYPE - ,T.dwObjectTypeID -FROM - windream60.dbo.BaseAttributes T - ,windream60.dbo.ObjectType T1 - ,TBPM_PROFILE_FILES T2 -WHERE - --T.dwParentID = 1896955 AND - T.dwCatalogID = 1 - AND T.dwObjectTypeID = 4 - AND T.dwObjectTypeID = T1.dwObjectTypeID - AND (T.dwDocID = T2.DOC_ID OR T.dwInteger23 = T2.DOC_ID) -ORDER BY [Creation_DateTime] -GO -CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) -RETURNS @Table TABLE - (SequentialOrder INT IDENTITY(1, 1), - USER_ID INTEGER, - USER_PRENAME VARCHAR(50), - USER_SURNAME VARCHAR(50), - USER_SHORTNAME VARCHAR(50), - USER_EMAIL VARCHAR(100), - USER_LANGUAGE VARCHAR(10), - USER_DATE_FORMAT VARCHAR(10), - USER_RIGHT_FILE_DEL BIT, - MODULE_ACCESS BIT, - IS_ADMIN BIT, - USERCOUNT_LOGGED_IN INTEGER, - COMMENT VARCHAR(500)) -AS -BEGIN -/* -This function checks all user-relevant relations an -*/ - DECLARE - @RESULT VARCHAR(500), - @USER_ID INTEGER, - @USER_PRENAME VARCHAR(50), - @USER_SURNAME VARCHAR(50), - @USER_SHORTNAME VARCHAR(50), - @USER_EMAIL VARCHAR(50), - @USER_LANGUAGE VARCHAR(10), - @USER_DATE_FORMAT VARCHAR(10), - @IS_IN_MODULE BIT, - @IS_ADMIN BIT, - @USER_RIGHT_FILE_DEL BIT, - @USERCOUNT_LOGGED_IN INTEGER, - @MODULE_NAME VARCHAR(100), - @MODULE_GUID INTEGER, - @USER_GROUPNAME VARCHAR(100), - @ADMIN_GROUPNAME VARCHAR(100) - - SET @USER_ID = 0 - SET @IS_ADMIN = 0 - SET @IS_IN_MODULE = 0 - SET @USERCOUNT_LOGGED_IN = 0 - SET @RESULT = '' - IF @pMODULE_SHORT_NAME = 'PM' - BEGIN - SET @USER_GROUPNAME = 'PM_USER' - SET @ADMIN_GROUPNAME = 'PM_ADMINS' - END - ELSE IF @pMODULE_SHORT_NAME = 'CW' - BEGIN - SET @USER_GROUPNAME = 'CW_USER' - SET @ADMIN_GROUPNAME = 'CW_ADMINS' - END - ELSE IF @pMODULE_SHORT_NAME = 'ADDI' - BEGIN - SET @USER_GROUPNAME = 'ADDI_USER' - SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' - END - ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' - BEGIN - SET @USER_GROUPNAME = 'GLOBIX_USER' - SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' - END - ELSE IF @pMODULE_SHORT_NAME = 'UM' - BEGIN - SET @USER_GROUPNAME = 'XXXX' - SET @ADMIN_GROUPNAME = 'UM_ADMINS' - END - - SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME - - IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) - BEGIN - SET @RESULT = 'USER NOT CONFIGURED OR LISTED' - END - ELSE - BEGIN - SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, - @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) - SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID - --CHECK USER ÍS IN MODULE_USER_GROUP - IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) - BEGIN - SET @IS_IN_MODULE = 1 - SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' - IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) - BEGIN - SET @RESULT = @RESULT + '| User is also configured in User-Modules' - select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID - END - END - ELSE - BEGIN - SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' - IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) - BEGIN - SET @RESULT = @RESULT + '| BUT User configured in User-Modules' - select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID - END - END - - IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) - BEGIN - SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' - SET @IS_ADMIN = 1 - SET @IS_IN_MODULE = 1 - END - - END - -INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) - VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) - -RETURN -END -GO -CREATE PROCEDURE [dbo].[PRPM_DELETE_PROFILE](@pPID INT) -AS - delete from TBPM_CONTROL_TABLE where CONTROL_ID in (SELECT GUID FROM TBPM_PROFILE_CONTROLS where PROFIL_ID = @pPID) - DELETE FROM TBPM_ERROR_LOG WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE_FINAL_INDEXING WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE_GROUP WHERE PROFIL_ID = @pPID - DELETE FROM TBPM_PROFILE WHERE GUID = @pPID - -GO -CREATE FUNCTION [dbo].[FNPM_GET_WM_FILE_PATH] (@pDOCGUID BIGINT,@STANDARD As INT = 0) -RETURNS VARCHAR(MAX) -AS -BEGIN - DECLARE @RELPATH VARCHAR(100),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(MAX) - IF @STANDARD = 1 - SET @RELPATH = '\\windeam\objects' - ELSE - SELECT @RELPATH = WM_REL_PATH FROM TBPM_KONFIGURATION WHERE GUID = 1 - SELECT @FILEPATH = REPLACE(FILE_PATH,'W:\','') FROM TBPM_PROFILE_FILES WHERE (GUID = @pDOCGUID) - SET @NAVPATH = @RELPATH + '\' + @FILEPATH - - RETURN @NAVPATH -END -GO \ No newline at end of file diff --git a/01_PM/Updates/1.9.4.9.sql b/01_PM/Updates/1.9.4.9.sql new file mode 100644 index 0000000..dcbb983 --- /dev/null +++ b/01_PM/Updates/1.9.4.9.sql @@ -0,0 +1,93 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.4.9' where NAME = 'Process-Manager' +GO + +ALTER FUNCTION [dbo].[FNPM_GET_WM_FILE_PATH] (@pDOCGUID BIGINT,@STANDARD As INT = 0) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE @RELPATH VARCHAR(100),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(MAX) + IF @STANDARD = 1 + SET @RELPATH = '\\windream\objects' + ELSE + SELECT @RELPATH = WM_REL_PATH FROM TBPM_KONFIGURATION WHERE GUID = 1 + SELECT @FILEPATH = REPLACE(FILE_PATH,'W:\','') FROM TBPM_PROFILE_FILES WHERE (GUID = @pDOCGUID) + SET @NAVPATH = @RELPATH + '\' + @FILEPATH + IF @NAVPATH IS NULL + SET @NAVPATH = '' + RETURN @NAVPATH +END +GO +ALTER TABLE TBPM_FILES_USER_NOT_INDEXED ADD DocGUID BigInt NOT NULL DEFAULT 0 +GO +-- ============================================= +-- Author: Digital Data, MS +-- Create date: 05.07.2019 +-- Description: +-- ============================================= +CREATE PROCEDURE PRPM_FILES_NOT_INDEXED + -- Add the parameters for the stored procedure here + @USER_NAME VARCHAR(50), + @PROFIL_ID INTEGER, + @FILEPATH VARCHAR(500), + @DocGUID BIGINT +AS +BEGIN + IF NOT EXISTS(SELECT * FROM TBPM_FILES_USER_NOT_INDEXED WHERE + UPPER(USR_NAME) = UPPER(@USER_NAME) + AND PROFIL_ID = @PROFIL_ID AND DocGUID = @DocGUID) + INSERT INTO TBPM_FILES_USER_NOT_INDEXED (USR_NAME,PROFIL_ID,FILE_PATH,DocGUID) VALUES (@USER_NAME, @PROFIL_ID, @FILEPATH,@DocGUID) +END +GO + +-- ============================================= +-- Author: Digital Data MS +-- Create date: 05.07.2019 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_GUID] +( + -- Add the parameters for the function here + @PROFIL_ID Integer, + @OrderByNewest Bit, @DocGUID BigInt, @USERNAME VARCHAR(50) +) +RETURNS BIGINT +AS +BEGIN + DECLARE @NEXT_DOC_GUID BIGINT + IF @OrderByNewest = 0 + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + ) + ELSE + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + IF @NEXT_DOC_GUID IS NULL + SET @NEXT_DOC_GUID = 0 + RETURN @NEXT_DOC_GUID +END +GO +ALTER FUNCTION [dbo].[FNPM_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + IF EXISTS(SELECT GUID FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + SELECT @RESULT = WORKED_WHEN FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +GO + + diff --git a/01_PM/Updates/1.9.5.0.sql b/01_PM/Updates/1.9.5.0.sql new file mode 100644 index 0000000..ae49226 --- /dev/null +++ b/01_PM/Updates/1.9.5.0.sql @@ -0,0 +1,19 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.5.0' where NAME = 'Process-Manager' +GO + +ALTER FUNCTION [dbo].[FNPM_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + IF EXISTS(SELECT GUID FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + SELECT @RESULT = WORKED_WHEN FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +GO + +