merge MS changes

This commit is contained in:
2023-03-22 15:08:37 +01:00
35 changed files with 3325 additions and 197 deletions

View File

@@ -1,68 +1,73 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.2' where NAME = 'Record-Organizer'
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.3' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [PARENT_ID] BIGINT NOT NULL DEFAULT 0
ALTER TABLE [dbo].[TBPMO_KONFIGURATION] ADD WMPATH_PREFIX VARCHAR(100) NOT NULL DEFAULT '\\WINDREAM\OBJECTS'
GO
ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [FILENAME] VARCHAR(200) NOT NULL DEFAULT ''
GO
CREATE TRIGGER [dbo].[TBPMO_DOC_ID_CHANGED_UPD] ON [dbo].TBPMO_DOC_ID_CHANGED
FOR INSERT
AS
BEGIN
DECLARE @DocID BIGINT, @PARENT_ID BIGINT, @FILENAME VARCHAR(200)
SELECT @DocID = OLD_DOC_ID FROM inserted
ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE
@RESULT VARCHAR(MAX),
@DOCID BIGINT,
@a BIGINT = 1,
@i BIGINT = 0,
@PARENT_ID BIGINT,
@DATEINAME NVARCHAR(255),
@PARENTNAME NVARCHAR(255),
@FSFLAGS INT--,
--@WM_LAUFWERKBUCHSTABE CHAR(1) ,
--@SHAREPATH VARCHAR(100)
DECLARE @ECM_USR_ID INTEGER
SELECT @PARENT_ID = dwParentID,@FILENAME = szLongName
FROM [DD_VMP01_APS01_windream60].[dbo].BaseAttributes where dwDocID = @DocID
UPDATE TBPMO_DOC_ID_CHANGED SET [FILENAME] = @FILENAME,[PARENT_ID] = @PARENT_ID
FROM INSERTED
WHERE TBPMO_DOC_ID_CHANGED.GUID = INSERTED.GUID
END
-- SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1
--SELECT @SHAREPATH = WMPATH_PREFIX FROM TBPMO_KONFIGURATION WHERE GUID = 1;
SELECT @FSFLAGS = dwFSFlags FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_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 [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_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 @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
SET @i = @i + 1
END
END
SET @RESULT = --@SHAREPATH +
@RESULT + @DATEINAME
RETURN @RESULT
END
GO
ALTER PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS
DECLARE
@GUID INTEGER,
@OLD_DOC_ID INTEGER,
@PARENT_ID BIGINT,
@FILENAME VARCHAR(200),
@DOC_PATH VARCHAR(500),
@USER_ID INTEGER,
@HOUR_EXIST INTEGER
--select * from TBPMO_DOC_ID_CHANGED
DECLARE c_REDO CURSOR FOR
SELECT GUID,OLD_DOC_ID,PARENT_ID,USER_ID,UPPER(FILENAME),DATEDIFF(HOUR,CREATED_WHEN,GETDATE())
FROM TBPMO_DOC_ID_CHANGED WHERE
NEW_DOC_ID IS NULL --AND PARENT_ID > 0
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT CONVERT(VARCHAR(10),@PARENT_ID)
PRINT CONVERT(VARCHAR(100),@FILENAME)
DECLARE @NEW_DOC_ID INTEGER
SELECT @NEW_DOC_ID = DocID FROM VWPMO_DOC_SYNC
WHERE UPPER(Filename) = @FILENAME AND dwParentID = @PARENT_ID
IF @NEW_DOC_ID > 0
BEGIN
PRINT CONVERT(VARCHAR(10),@NEW_DOC_ID)
EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED'
UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL)
INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID)
ELSE
UPDATE TBPMO_DOC_USER_REFRESH_VIEW SET REFRESHED_WHEN = NULL WHERE USER_ID = @USER_ID
END
ELSE
IF @HOUR_EXIST > 48
UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = 9999, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST
END
CLOSE c_REDO
DEALLOCATE c_REDO
GO

View File

@@ -0,0 +1,99 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.1.0' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBPMO_FORM_CONSTRUCTOR
ADD NODE_NAVIGATION BIT NOT NULL DEFAULT 0;
GO
ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
SELECT TOP 100 PERCENT
T2.GUID,
T1.GUID FORM_VIEW_ID,
T1.SCREEN_ID,
T2.CONSTRUCT_ID,
T.PARENT_ID,
T2.SEQUENCE,
T2.LEVEL1_SELECT,
T.GUID AS FORM_ID,
T1.FORM_TITLE,
T2.SQL_SELECT_EBENE1,
T2.SQL_SELECT_EBENE2,
T2.SQL_QUICK_VIEW,
T2.COLUMN_NAME1,
T2.COLUMN_NAME2,
T2.ADD_RECORDS,
T.FORM_TYPE_ID,
T2.LOAD_DIRECT,
T2.CONTROL_DOCTYPE_MATCH,
T2.SQL_RIGHT_READ_AND_VIEW_ONLY,
T2.SQL_RIGHT_WINDREAM_VIEW,
T2.DOC_SEARCH_TAB1,
T2.[ACTIVATE_DOC_SEARCH_ON_EDIT],
T1.DOCUMENT_VIEW,
T.DATE_FORMAT,
T.LOCK_CONTROLS_BG_LOAD,
(SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW,
T3.NODE_NAVIGATION
FROM
tbpmo_form T,
TBPMO_FORM_VIEW T1,
TBPMO_FORM_CONSTRUCTOR_DETAIL T2,
TBPMO_FORM_CONSTRUCTOR T3
where
T2.FORM_ID = T.GUID AND
T.GUID = T1.FORM_ID AND
T2.CONSTRUCT_ID = T3.GUID
ORDER BY
T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
GO
CREATE PROCEDURE PRPMO_IN_WORK_RESET_DATEDIFF
AS
DECLARE @DocID BIGINT
DECLARE cursInWork_Reset CURSOR FOR
select A.DocID from TBPMO_DOCRESULT_LIST A LEFT JOIN
TBPMO_DOC_IN_WORK_HISTORY B ON A.DocID = B.DOCID
WHERE A.IN_WORK = 1
AND DATEDIFF(DAY,B.IN_WORK_WHEN,GETDATE()) > 20
OPEN cursInWork_Reset
FETCH NEXT FROM cursInWork_Reset INTO @DocID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK = 0 WHERE DocID = @DocID
FETCH NEXT FROM cursInWork_Reset INTO @DocID
END
CLOSE cursInWork_Reset
DEALLOCATE cursInWork_Reset
GO
ALTER TRIGGER [dbo].[TBPMO_DOCRESULT_LIST_AFT_UPD] ON [dbo].[TBPMO_DOCRESULT_LIST]
FOR UPDATE
AS
IF UPDATE (IN_WORK)
BEGIN
DECLARE @IN_WORK BIT,
@IN_WORK_USER VARCHAR(50),
@IN_WORK_COMMENT VARCHAR(500),
@DocID BIGINT
SELECT
@DocID = DocID,
@IN_WORK = IN_WORK,
@IN_WORK_USER = IN_WORK_USER,
@IN_WORK_COMMENT = IN_WORK_COMMENT
FROM INSERTED
IF @IN_WORK = 1
INSERT INTO TBPMO_DOC_IN_WORK_HISTORY (DOCID,COMMENT,IN_WORK_WHO) VALUES (@DocID,@IN_WORK_COMMENT,@IN_WORK_USER)
ELSE
BEGIN
UPDATE TBPMO_DOC_IN_WORK_HISTORY SET FREE_WHO = @IN_WORK_USER, FREE_WHEN = GETDATE() WHERE DOCID = @DocID AND FREE_WHEN IS NULL
UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK_USER = '', IN_WORK_COMMENT = NULL FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
END
END
UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]