INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1,ACTIVE) VALUES (9,'Mobile Workflow','MWF','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','',1) GO INSERT INTO [dbo].[TBDD_GROUPS] ([NAME] ,[INTERNAL] ,[ACTIVE] ,[COMMENT]) VALUES ('MWF_USERS' ,1 ,1 ,'User mit Freigabe für Mobile Workflow') GO INSERT INTO [dbo].[TBDD_GROUPS] ([NAME] ,[INTERNAL] ,[ACTIVE] ,[COMMENT]) VALUES ('MFI_USERS' ,1 ,1 ,'User mit Freigabe für Mobile File Indexer') GO CREATE TABLE TBMWF_CONFIG ( GUID INTEGER NOT NULL IDENTITY (1, 1), CONF_TITLE VARCHAR(100) NOT NULL, CONF_STRING VARCHAR(900) NOT NULL, ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(30), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBMWF_CONFIG PRIMARY KEY (GUID), CONSTRAINT UQ_TBMWF_CONFIG_TITLE UNIQUE (CONF_TITLE) ) GO CREATE TRIGGER TBMWF_CONFIG_UPD ON TBMWF_CONFIG FOR UPDATE AS UPDATE TBMWF_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBMWF_CONFIG.GUID = INSERTED.GUID GO INSERT INTO TBMWF_CONFIG (CONF_TITLE,CONF_STRING) VALUES ('WEB_TITLE','KUNDE Mobile-Workflow Portal'), ('WEB_SUBTITLE','Subtitle 2 Config in TBMWF_CONFIG'); ------------------------------------------------------------------------------ CREATE TABLE TBMWF_PROFILE ( GUID INTEGER IDENTITY(1,1), INTL_NAME VARCHAR(200) NOT NULL DEFAULT 0, PM_PROFILE_ID INTEGER NOT NULL, [TYPE_ID] TINYINT NOT NULL DEFAULT 1, --1 TaskFlow,2 AblageFlow, 3 SignFlow ACTIVE BIT NOT NULL DEFAULT 0, FORE_COLOR VARCHAR(100), BACK_COLOR VARCHAR(100), ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(30), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBMWF_PROFILE_GUID PRIMARY KEY(GUID), CONSTRAINT UQ_TBMWF_PROFILE UNIQUE (INTL_NAME,PM_PROFILE_ID) ) GO CREATE TRIGGER TBMWF_PROFILE_UPD ON TBMWF_PROFILE FOR UPDATE AS UPDATE TBMWF_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBMWF_PROFILE.GUID = INSERTED.GUID GO ------------------------------------------------------------------------------ --DROP TABLE TBMWF_PROFILE_CONTROLS_UPDATE CREATE TABLE TBMWF_PROFILE_CONTROLS_UPDATE ( GUID BIGINT NOT NULL IDENTITY (1, 1), MWF_PROFILE_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL, OBJ_ID BIGINT NOT NULL, ATTR_NAME VARCHAR(100) NOT NULL, ATTR_VALUE NVARCHAR(3000) NOT NULL, ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CONSTRAINT PK_TBMWF_PROFILE_CONTROLS_UPDATE PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_PROFILE_CONTROLS_UPDATE_PROFILE FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID), CONSTRAINT UQ_TBMWF_PROFILE_CONTROLS_UPDATE UNIQUE(MWF_PROFILE_ID,USR_ID,OBJ_ID,ATTR_NAME) ) GO ------------------------------------------------------------------------------ CREATE TABLE TBMWF_WF_STATE ( GUID INTEGER NOT NULL IDENTITY (1, 1), INTL_STATE VARCHAR(100) NOT NULL, ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CONSTRAINT PK_TBMWF_WF_STATE PRIMARY KEY (GUID), CONSTRAINT UQ_TBMWF_WF_STATE UNIQUE(INTL_STATE) ) GO INSERT INTO TBMWF_WF_STATE (INTL_STATE) VALUES ('STARTED'),('WAITING'),('APPROVED'),('REJECTED'),('ADDED') ------------------------------------------------------------------------------ --DROP TABLE TBMWF_PROFILE_OBJ_STATE CREATE TABLE TBMWF_PROFILE_OBJ_STATE ( GUID BIGINT NOT NULL IDENTITY (1, 1), MWF_PROFILE_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL, OBJ_ID BIGINT NOT NULL, --9999 STATE_ID INTEGER NOT NULL, STATE2 NVARCHAR(100), STATE3 NVARCHAR(100), STATE4 NVARCHAR(100), ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBMWF_PROFILE_OBJ_STATE PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_STID FOREIGN KEY (STATE_ID) REFERENCES TBMWF_WF_STATE (GUID), CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID) ) GO CREATE TABLE TBMWF_PROFILE_OBJ_STATE_HISTORY ( GUID BIGINT NOT NULL IDENTITY (1, 1), MWF_PROFILE_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL, OBJ_ID BIGINT NOT NULL, STATE_ID INTEGER NOT NULL, STATE2 NVARCHAR(100), STATE3 NVARCHAR(100), STATE4 NVARCHAR(100), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CONSTRAINT PK_TBMWF_PROFILE_OBJ_STATE_HISTORY PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_HISTORY_STID FOREIGN KEY (STATE_ID) REFERENCES TBMWF_WF_STATE (GUID), CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_HISTORY_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID) ) GO USE [DD_ECM] GO ALTER TRIGGER [dbo].[TBMWF_PROFILE_OBJ_STATE_AFT_UPD] ON [dbo].[TBMWF_PROFILE_OBJ_STATE] FOR UPDATE AS DECLARE @CHANGED_WHO VARCHAR(100) SELECT @CHANGED_WHO = CHANGED_WHO FROM inserted INSERT INTO TBMWF_PROFILE_OBJ_STATE_HISTORY (MWF_PROFILE_ID,USR_ID,OBJ_ID,STATE_ID,STATE2,STATE3,STATE4,CHANGED_WHO) SELECT MWF_PROFILE_ID,USR_ID,OBJ_ID,STATE_ID,STATE2,STATE3,STATE4,CHANGED_WHO FROM inserted UPDATE TBMWF_PROFILE_OBJ_STATE SET CHANGED_WHEN = GETDATE(),CHANGED_WHO = @CHANGED_WHO FROM INSERTED WHERE TBMWF_PROFILE_OBJ_STATE.GUID = INSERTED.GUID ------------------------------------------------------------------------------ CREATE TABLE TBMWF_PROF_CONTROLS_TF ( GUID BIGINT NOT NULL IDENTITY (1, 1), OBJ_STATE_ID BIGINT NOT NULL, DIALOG_NO TINYINT NOT NULL DEFAULT 1, ATTR_NAME VARCHAR(100) NOT NULL, CTRL_TYPE VARCHAR(10) NOT NULL, --TXT,CMB,DTP CAPTION VARCHAR(100) NOT NULL, [TEXT] VARCHAR(500) NOT NULL, ICON VARCHAR(100) , MANDATORY BIT NOT NULL DEFAULT 0, CHOICE_LIST NVARCHAR(MAX), [READ_ONLY] BIT NOT NULL DEFAULT 0, SEQU TINYINT DEFAULT 0, ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CONSTRAINT PK_TBMWF_PROF_CONTROLS PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_PROF_CONTROLS_TF_OSID FOREIGN KEY (OBJ_STATE_ID) REFERENCES TBMWF_PROFILE_OBJ_STATE (GUID), CONSTRAINT UQ_TBMWF_PROF_CONTROLS UNIQUE(OBJ_STATE_ID,ATTR_NAME) ) GO CREATE TABLE TBMWF_TF_FILES ( GUID BIGINT NOT NULL IDENTITY (1, 1), OBJ_STATE_ID BIGINT NOT NULL, F_FAPTH NVARCHAR(512) NOT NULL, HEADLINE VARCHAR(100) NOT NULL, SUBLINE VARCHAR(100), COMMENT VARCHAR(250), ICON VARCHAR(100), ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CONSTRAINT PK_TBMWF_TF_FILES PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_TF_FILES_OSID FOREIGN KEY (OBJ_STATE_ID) REFERENCES TBMWF_PROFILE_OBJ_STATE (GUID) ) GO CREATE TABLE TBMWF_PROF_BUTTONS ( GUID INT NOT NULL IDENTITY (1, 1), MWF_PROFILE_ID INT NOT NULL, DIALOG_NO TINYINT NOT NULL DEFAULT 1, BTN_TYPE VARCHAR(20) NOT NULL, --BUTTON_MAIN, BUTTON_1,BUTTON_2 [TEXT] VARCHAR(500) NOT NULL, ICON VARCHAR(100) , FORE_COLOR VARCHAR(100) NOT NULL DEFAULT 'Black', BACK_COLOR VARCHAR(100) NOT NULL DEFAULT '', COMMAND NVARCHAR(MAX) NOT NULL DEFAULT '', DIALOG_COMMAND NVARCHAR(MAX) NOT NULL DEFAULT '', CONFIRMATION_TEXT NVARCHAR(250) NOT NULL DEFAULT '', ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBMWF_PROF_BUTTONS PRIMARY KEY (GUID), CONSTRAINT FK_TBMWF_PROF_BUTTONS_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID), CONSTRAINT UQ_TBMWF_PROF_BUTTONS UNIQUE(MWF_PROFILE_ID,BTN_TYPE) ) GO CREATE TRIGGER TBMWF_PROF_BUTTONS_AFT_UPD ON TBMWF_PROF_BUTTONS FOR UPDATE AS UPDATE TBMWF_PROF_BUTTONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBMWF_PROF_BUTTONS.GUID = INSERTED.GUID GO CREATE TABLE TBMFI_PROFILE_USER ( GUID BIGINT NOT NULL IDENTITY (1, 1), MWF_PROFILE_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL, ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBMFI_PROFILE_USER PRIMARY KEY (GUID), CONSTRAINT FK_TBMFI_PROFILE_USER_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID), CONSTRAINT UQ_TBMFI_PROFILE_USER UNIQUE(MWF_PROFILE_ID,USR_ID) ) GO INSERT INTO TBDD_GUI_LANGUAGE_PHRASE ( MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2) VALUES ( 'MFI', 1, '6', 'Title 6', 'de-DE','Title', 'Ablage Reisekosten','subtitle Reisekosten') GO INSERT INTO TBDD_GUI_LANGUAGE_PHRASE ( MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2) VALUES ( 'MFI', 1, '9', 'Title 9', 'de-DE','Title', 'Fotodokumentation','subtitle Fotodoku') GO CREATE FUNCTION [dbo].[FNMWF_GET_PROFILES] (@pUSR_ID INTEGER) RETURNS @TABLE_RETURN TABLE (PID INTEGER,[TYPE_ID] TINYINT, CAPTION VARCHAR(100),SUBTITLE VARCHAR(150), COUNTOBJ INT, FORE_COLOR VARCHAR(100) , BACK_COLOR VARCHAR(100)) AS BEGIN INSERT INTO @TABLE_RETURN (PID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR) SELECT A.MWF_PROFILE_ID,1,C.STRING1,C.String2,COUNT(A.GUID), B.FORE_COLOR,B.BACK_COLOR FROM TBMWF_PROFILE_OBJ_STATE A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID INNER JOIN (SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'MWF') C ON A.MWF_PROFILE_ID = C.OBJ_NAME INNER JOIN TBDD_USER D ON A.USR_ID = D.GUID WHERE D.GUID = @pUSR_ID AND D.LANGUAGE = C.LANGUAGE AND A.STATE_ID = 1 GROUP BY A.MWF_PROFILE_ID,C.STRING1,C.String2,B.FORE_COLOR,B.BACK_COLOR INSERT INTO @TABLE_RETURN (PID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR) SELECT A.MWF_PROFILE_ID,2,C.STRING1,C.String2,0, B.FORE_COLOR,B.BACK_COLOR FROM TBMFI_PROFILE_USER A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID INNER JOIN (SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'MFI') C ON A.MWF_PROFILE_ID = C.OBJ_NAME INNER JOIN TBDD_USER D ON A.USR_ID = D.GUID WHERE D.GUID = @pUSR_ID AND C.LANGUAGE = D.LANGUAGE RETURN END GO CREATE FUNCTION [dbo].[FNMWF_GET_ITEMS] (@pUSR_ID INTEGER,@pMWF_PID INTEGER) RETURNS @TABLE_RETURN TABLE (ObjStateID BIGINT,ObjectID BIGINT,Headline1 VARCHAR(100),Headline2 VARCHAR(150),Subline1 VARCHAR(100),Subline2 VARCHAR(100),CMD_CheckIn NVARCHAR(MAX)) AS BEGIN INSERT INTO @TABLE_RETURN (ObjStateID,ObjectID,Headline1,Headline2,Subline1,Subline2,CMD_CheckIn) SELECT VA.GUID, OBJ.IDB_OBJ_ID ,OW.[Mandant Name] ,OW.[KreditorName] , OW.[Zahlungsziel] , OW.[RechnungNr] ,'' FROM TBMWF_PROFILE_OBJ_STATE VA INNER JOIN TBPM_CUST_WORKFLOW_OVERVIEW OW ON VA.OBJ_ID = OW.DOC_ID INNER JOIN [IDB].[dbo].TBIDB_OBJECT OBJ ON OW.DOC_ID = OBJ.IDB_OBJ_ID WHERE VA.USR_ID = @pUSR_ID AND OW.PROFILE_ID = 6 AND OBJ.DELETED = 0 AND OBJ.ACTIVE = 1 AND VA.MWF_PROFILE_ID = @pMWF_PID AND VA.STATE_ID = 1 ; RETURN END