555 lines
24 KiB
Transact-SQL
555 lines
24 KiB
Transact-SQL
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.5' where NAME = 'Record-Organizer'
|
||
GO
|
||
ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
|
||
FOR INSERT
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@RECORD_ID INTEGER,
|
||
@DOC_ID INTEGER,
|
||
@ADDED_WHO VARCHAR(50),
|
||
@ENTITY_ID INTEGER
|
||
SELECT
|
||
@RECORD_ID = RECORD_ID,
|
||
@DOC_ID = DOC_ID,
|
||
@ADDED_WHO = ADDED_WHO
|
||
FROM INSERTED
|
||
|
||
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
|
||
--Den Defaultvalue der DropdownListe eintragen
|
||
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
|
||
BEGIN
|
||
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
|
||
SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1
|
||
END
|
||
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
|
||
BEGIN
|
||
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
|
||
SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1
|
||
END
|
||
|
||
EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
|
||
/*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
|
||
DECLARE
|
||
@ENITTY_ID INTEGER,
|
||
@DOCTYPE VARCHAR(250),
|
||
@SUPPLIER VARCHAR(250)
|
||
SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
|
||
|
||
IF @ENITTY_ID = 21
|
||
BEGIN
|
||
SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
|
||
SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
|
||
IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
|
||
BEGIN
|
||
INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
|
||
END
|
||
END
|
||
/*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|
||
CREATE TABLE [dbo].[TBDD_LICENSE_ADD_ON](
|
||
[GUID] INT IDENTITY(1,1) NOT NULL,
|
||
[CLIENT_ID] INT NOT NULL,
|
||
[MODULE] VARCHAR(100) NOT NULL,
|
||
[NAME] VARCHAR(100) NOT NULL,
|
||
[VALID_DATE] VARCHAR(2000) NOT NULL,
|
||
[ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
||
[ADDED_WHEN] DATETIME DEFAULT (getdate()),
|
||
[CHANGED_WHO] VARCHAR(50),
|
||
[CHANGED_WHEN] DATETIME
|
||
CONSTRAINT [PK_TBDD_LICENSE_ADD_ON] PRIMARY KEY(GUID),
|
||
CONSTRAINT FK_TBDD_LICENSE_ADD_ON_CLIENT_ID FOREIGN KEY ([CLIENT_ID]) REFERENCES TBDD_CLIENT (GUID))
|
||
GO
|
||
INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (0,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
|
||
GO
|
||
INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
|
||
GO
|
||
INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Site-AddOn', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
|
||
GO
|
||
|
||
CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER)
|
||
RETURNS VARCHAR(250)
|
||
AS
|
||
BEGIN
|
||
DECLARE @HEADER_CAPTION VARCHAR(30),
|
||
@CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
|
||
SELECT
|
||
@HEADER_CAPTION = HEADER_CAPTION,
|
||
@CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
|
||
ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
|
||
|
||
IF @HEADER_CAPTION IS NULL
|
||
SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
|
||
ELSE
|
||
BEGIN
|
||
SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID
|
||
|
||
IF @VALUE IS NOT NULL
|
||
SET @RESULT = @VALUE
|
||
ELSE
|
||
SET @RESULT = ''
|
||
END
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
ALTER TABLE TBDD_VERSION_UPDATE ADD ALL_USERS BIT NOT NULL DEFAULT 0
|
||
GO
|
||
CREATE TABLE TBDD_VERSION_USER_UPDATE(
|
||
GUID INTEGER NOT NULL IDENTITY(1,1),
|
||
[USER_ID] INTEGER NOT NULL,
|
||
UPDATE_ID INTEGER NOT NULL,
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CHANGED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE] PRIMARY KEY(GUID),
|
||
CONSTRAINT FK_TBDD_VERSION_USER_UPDATE_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID))
|
||
GO
|
||
ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
|
||
FOR INSERT
|
||
AS
|
||
/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
|
||
DECLARE
|
||
@RECORD_ID INTEGER,
|
||
@CONTROL_ID INTEGER,
|
||
@ADDED_WHO VARCHAR(50),
|
||
@VALUE_NEW VARCHAR(MAX),
|
||
@DOC_ID INTEGER,
|
||
@USER_ID INTEGER,
|
||
@USER_ID_ECM INTEGER,
|
||
@RIGHT INTEGER,
|
||
@COUNTER_CONTROL_UPDATE_ID INTEGER,
|
||
@ENTITY_ID INTEGER,
|
||
@COL_NAME VARCHAR(50),
|
||
@ENTITY_TABLENAME VARCHAR(50)
|
||
SELECT
|
||
@RECORD_ID = INSERTED.RECORD_ID,
|
||
@CONTROL_ID = INSERTED.CONTROL_ID,
|
||
@ADDED_WHO = INSERTED.ADDED_WHO,
|
||
@VALUE_NEW = INSERTED.VALUE,
|
||
@ENTITY_ID = T.FORM_ID,
|
||
@COL_NAME = T1.COL_NAME
|
||
FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
|
||
WHERE INSERTED.RECORD_ID = T.GUID AND
|
||
INSERTED.CONTROL_ID = T1.GUID
|
||
|
||
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
|
||
IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
|
||
EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
|
||
|
||
IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
|
||
BEGIN
|
||
DECLARE @SUBJECT VARCHAR(100),
|
||
@LOCATION VARCHAR(100),
|
||
@DESCRIPTION VARCHAR(100)
|
||
SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
|
||
|
||
INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
|
||
(0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
|
||
END
|
||
|
||
/*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
|
||
IF @CONTROL_ID = 346
|
||
BEGIN
|
||
SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
|
||
DECLARE cursor_DOCS CURSOR FOR
|
||
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
|
||
TRL.RECORD_ID = @RECORD_ID
|
||
--SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
|
||
OPEN cursor_DOCS
|
||
FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
BEGIN
|
||
DECLARE cursor_User CURSOR FOR
|
||
SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
|
||
--select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
|
||
OPEN cursor_User
|
||
FETCH NEXT FROM cursor_User INTO @USER_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
|
||
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
|
||
FETCH NEXT FROM cursor_User INTO @USER_ID
|
||
END
|
||
CLOSE cursor_User
|
||
DEALLOCATE cursor_User
|
||
END
|
||
FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
|
||
END
|
||
CLOSE cursor_DOCS
|
||
DEALLOCATE cursor_DOCS
|
||
END
|
||
/*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
|
||
GO
|
||
ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
|
||
FOR UPDATE
|
||
AS
|
||
/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
|
||
BEGIN TRY
|
||
DECLARE
|
||
@CONTROL_ID INTEGER,
|
||
@RECORD_ID INTEGER,
|
||
@VALUE_NEW VARCHAR(MAX),
|
||
@VALUE_OLD VARCHAR(MAX),
|
||
@CHANGED_WHO VARCHAR(50),
|
||
@CHANGE_STEP INTEGER,
|
||
@REDO BIT,
|
||
@CHANGE_ID INTEGER,
|
||
@DOC_ID INTEGER,
|
||
@USER_ID INTEGER,
|
||
@USER_ID_ECM INTEGER,
|
||
@RIGHT INTEGER,
|
||
@COUNTER_CONTROL_UPDATE_ID INTEGER,
|
||
@UPDATE_SQL NVARCHAR(MAX),
|
||
@ENTITY_ID INTEGER,
|
||
@COL_NAME VARCHAR(50),
|
||
@ENTITY_TABLENAME VARCHAR(50)
|
||
IF UPDATE (VALUE)
|
||
BEGIN
|
||
SELECT
|
||
@CONTROL_ID = DELETED.CONTROL_ID,
|
||
@RECORD_ID = DELETED.RECORD_ID,
|
||
@VALUE_OLD = DELETED.VALUE,
|
||
@ENTITY_ID = T.FORM_ID,
|
||
@COL_NAME = T1.COL_NAME
|
||
FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
|
||
WHERE DELETED.RECORD_ID = T.GUID AND
|
||
DELETED.CONTROL_ID = T1.GUID
|
||
|
||
IF @CONTROL_ID in (29,14,346)
|
||
BEGIN
|
||
PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
|
||
SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
|
||
END
|
||
--RAISERROR (@VALUE , 16, 1)
|
||
SELECT
|
||
@CHANGE_STEP = CHANGE_STEP,
|
||
@CHANGED_WHO = CHANGED_WHO,
|
||
@VALUE_NEW = VALUE,
|
||
@REDO = REDO
|
||
FROM INSERTED
|
||
--PRINT 'OLD VALUE: ' + @VALUE_OLD
|
||
--PRINT 'NEW VALUE: ' + @VALUE_NEW
|
||
IF @CHANGED_WHO IS NULL
|
||
BEGIN
|
||
SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
|
||
IF @CHANGED_WHO IS NULL
|
||
SET @CHANGED_WHO = 'TRIGGER DEFAULT'
|
||
END
|
||
IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
|
||
INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
|
||
(@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
|
||
ELSE
|
||
UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
|
||
--IF @REDO = 0
|
||
-- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
|
||
-- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
|
||
-- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
|
||
--Update des Logs f<>r loggen von Datensatz<74>nderungen
|
||
IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
|
||
If @VALUE_OLD <> @VALUE_NEW
|
||
BEGIN
|
||
DECLARE @LOG VARCHAR(1000)
|
||
SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
|
||
INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
|
||
(@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
|
||
END
|
||
ELSE
|
||
PRINT 'VALUES NOT DIFFERENT'
|
||
BEGIN
|
||
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
|
||
IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
|
||
EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
|
||
END
|
||
/*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
|
||
IF @CONTROL_ID = 29 --Vertragseigner Person
|
||
BEGIN
|
||
--### Zuerst m<>ssen die Rechte der ge<67>nderten Person gel<65>scht werden
|
||
select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
|
||
If @USER_ID IS NOT NULL AND @USER_ID <> 0
|
||
BEGIN
|
||
SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
|
||
DECLARE cursDOC_V1 CURSOR FOR
|
||
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
|
||
TRL.RECORD_ID = @RECORD_ID
|
||
OPEN cursDOC_V1
|
||
FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
|
||
|
||
FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
|
||
END
|
||
CLOSE cursDOC_V1
|
||
DEALLOCATE cursDOC_V1
|
||
END
|
||
SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
|
||
UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
|
||
--### Jetzt pr<70>fen der neuen Rechte
|
||
select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
|
||
If @USER_ID IS NOT NULL AND @USER_ID <> 0
|
||
BEGIN
|
||
SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
|
||
DECLARE cursDOC_V1 CURSOR FOR
|
||
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
|
||
TRL.RECORD_ID = @RECORD_ID
|
||
OPEN cursDOC_V1
|
||
FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
|
||
|
||
FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
|
||
END
|
||
CLOSE cursDOC_V1
|
||
DEALLOCATE cursDOC_V1
|
||
END
|
||
END
|
||
-- ####### Vertragseigner Team ###############
|
||
ELSE IF @CONTROL_ID = 14
|
||
BEGIN
|
||
/*Die Rechte des des alten Vertragseigner-Teams l<>schen*/
|
||
DECLARE C_OLDUSER_CONTROWN CURSOR FOR
|
||
SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD))
|
||
OPEN C_OLDUSER_CONTROWN
|
||
FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
DECLARE cursDOC_V2 CURSOR FOR
|
||
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
|
||
TRL.RECORD_ID = @RECORD_ID
|
||
OPEN cursDOC_V2
|
||
FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
|
||
FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
|
||
END
|
||
CLOSE cursDOC_V2
|
||
DEALLOCATE cursDOC_V2
|
||
|
||
FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
|
||
END
|
||
CLOSE C_OLDUSER_CONTROWN
|
||
DEALLOCATE C_OLDUSER_CONTROWN
|
||
SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
|
||
UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
|
||
/*Die Rechte des Teams Vertragseigner hinzuf<75>gen*/
|
||
DECLARE c_USER CURSOR FOR
|
||
SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW))
|
||
OPEN c_USER
|
||
FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
DECLARE cursDOC_V2 CURSOR FOR
|
||
select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
|
||
TRL.RECORD_ID = @RECORD_ID
|
||
OPEN cursDOC_V2
|
||
FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID
|
||
FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
|
||
END
|
||
CLOSE cursDOC_V2
|
||
DEALLOCATE cursDOC_V2
|
||
|
||
FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
|
||
END
|
||
CLOSE c_USER
|
||
DEALLOCATE c_USER
|
||
END
|
||
|
||
END
|
||
/*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
|
||
--Generelle Updates (Datum und Recor-<2D>nderungen)
|
||
UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
|
||
UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|
||
|
||
|
||
|
||
ALTER TRIGGER [dbo].[TBDD_VERSION_UPDATE_AFT_UPD] ON [dbo].[TBDD_VERSION_UPDATE]
|
||
FOR UPDATE
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@UPDATE_ID INTEGER,
|
||
@USER_ID INTEGER,
|
||
@ALL_USERS INT
|
||
SELECT @UPDATE_ID = GUID FROM INSERTED
|
||
|
||
IF UPDATE (ALL_USERS)
|
||
BEGIN
|
||
SELECT @ALL_USERS = ALL_USERS FROM INSERTED
|
||
DELETE FROM TBDD_VERSION_USER_UPDATE WHERE UPDATE_ID = @UPDATE_ID
|
||
IF @ALL_USERS = 1
|
||
BEGIN
|
||
DECLARE cursorUsers CURSOR FOR
|
||
select GUID FROM TBDD_USER
|
||
OPEN cursorUsers
|
||
FETCH NEXT FROM cursorUsers INTO @USER_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBDD_VERSION_USER_UPDATE (USER_ID, UPDATE_ID) VALUES (@USER_ID,@UPDATE_ID)
|
||
|
||
FETCH NEXT FROM cursorUsers INTO @USER_ID
|
||
END
|
||
CLOSE cursorUsers
|
||
DEALLOCATE cursorUsers
|
||
END
|
||
END
|
||
--Generelle Updates (Datum und Recor-<2D>nderungen)
|
||
UPDATE TBDD_VERSION_UPDATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_UPDATE.GUID = INSERTED.GUID
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|
||
--UPDATE TBDD_VERSION_UPDATE SET ALL_USERS = 0 where VERSION_NO = '2.4.8.7'
|
||
--GO
|
||
--UPDATE TBDD_USER_MODULE_LOG_IN SET VERSION_CLIENT = '2.4.8.5' where VERSION_CLIENT = '2.4.8.6'
|
||
--GO
|
||
ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
|
||
AS
|
||
DECLARE @COL_NAME VARCHAR(50),
|
||
@SQL_BEGIN NVARCHAR(4000),
|
||
@SQL_END NVARCHAR(4000),
|
||
@SQL NVARCHAR(MAX),
|
||
@CONTROL_ID INT,
|
||
@RESULT NVARCHAR(MAX),
|
||
@TYPEID INT,
|
||
@TABINDEX INT,
|
||
@SQL_LBL VARCHAR(4000),
|
||
@ENTITY_TABLENAME VARCHAR(50),
|
||
@VWPMO_ENTITY_TABLE VARCHAR(100)
|
||
|
||
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
|
||
DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, '' FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
||
WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
|
||
UNION
|
||
SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, T.SQL_COMMAND_1 FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
||
WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
|
||
ORDER BY TAB_INDEX
|
||
BEGIN
|
||
SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
|
||
SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
|
||
SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
|
||
SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
|
||
|
||
|
||
SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
|
||
|
||
SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
|
||
SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
|
||
SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
|
||
SET @SQL = ''
|
||
OPEN c_SPALTENNAMEN
|
||
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
|
||
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
|
||
--PRINT @COL_NAME
|
||
IF @TYPEID IN(10,11) -- CheckBox,RadioBox
|
||
SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13)
|
||
ELSE IF @TYPEID = 6 --PictureBox
|
||
SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13)
|
||
ELSE IF @TYPEID = 1 --Label mit SQL
|
||
BEGIN
|
||
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
|
||
SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
|
||
END
|
||
--ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
|
||
-- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
|
||
ELSE IF @TYPEID = 4 --Datepicker
|
||
SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
|
||
ELSE
|
||
SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
|
||
|
||
SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
|
||
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
|
||
END
|
||
|
||
CLOSE c_SPALTENNAMEN
|
||
DEALLOCATE c_SPALTENNAMEN
|
||
SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
|
||
PRINT @RESULT
|
||
|
||
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
|
||
BEGIN
|
||
SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
|
||
SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
|
||
PRINT @SQL
|
||
EXEC sp_executesql @SQL
|
||
END
|
||
EXEC sp_executesql @RESULT
|
||
UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
|
||
END
|
||
GO
|
||
|
||
ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL]
|
||
FOR UPDATE
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@CONTROL_ID INTEGER,
|
||
@TYP_ID INTEGER,
|
||
@TABLENAME_COL NVARCHAR(100),
|
||
@NEW_COL_NAME NVARCHAR(100),
|
||
@SQL NVARCHAR(MAX),
|
||
@ENTITY_ID INTEGER,
|
||
@COL_NAME VARCHAR(50),
|
||
@COL_NAME_OLD VARCHAR(50),
|
||
@DEFAULT_VALUE VARCHAR(MAX),
|
||
@SQL_DEF NVARCHAR(1000),
|
||
@ENTITY_TABLENAME VARCHAR(50)
|
||
SELECT
|
||
@COL_NAME_OLD = COL_NAME
|
||
FROM DELETED
|
||
SELECT
|
||
@CONTROL_ID = GUID,
|
||
@TYP_ID = CONTROL_TYPE_ID,
|
||
@ENTITY_ID = FORM_ID,
|
||
@COL_NAME = COL_NAME,
|
||
@DEFAULT_VALUE = DEFAULT_VALUE
|
||
FROM INSERTED
|
||
UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID
|
||
|
||
IF @TYP_ID NOT IN (1,5,8,9)
|
||
BEGIN
|
||
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||
SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
|
||
IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL
|
||
BEGIN
|
||
PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....'
|
||
EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1
|
||
END
|
||
ELSE
|
||
PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!'
|
||
END
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN PROCEDURE TBPMO_CONTROL_AFT_UPD - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|