132 lines
4.7 KiB
Transact-SQL
132 lines
4.7 KiB
Transact-SQL
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.5.0';
|
|
GO
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- [FNDD_GET_GROUP_FOR_USER]
|
|
-- =================================================================
|
|
-- Gets groups in which a given user is member of
|
|
--
|
|
-- Returns: Table
|
|
-- =================================================================
|
|
-- Copyright (c) 2026 by Digital Data GmbH
|
|
--
|
|
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
|
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
|
-- =================================================================
|
|
-- Creation Date / Author: 13.01.2026 / MK
|
|
-- Version Date / Editor: 13.01.2026 / MK
|
|
-- Version Number: 1.0.0.0
|
|
-- =================================================================
|
|
-- History:
|
|
-- 13.01.2026 / MK - First Version
|
|
|
|
CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_GROUP_FOR_USER] (
|
|
@pUSER_GUID BIGINT, -- GUID from TBDD_USERS. GUID - or - USER_NAME is required!
|
|
@pUSER_NAME NVARCHAR(50), -- USERNAME FROM TBDD_USERS. GUID - or - USER_NAME is required!
|
|
@pIS_ACTIVE BIT, -- NULL = active or inactive groups, 0 = inactive groups, 1 = active groups
|
|
@pIS_INTERNAL BIT -- NULL = internal or custom groups, 0 = custom groups, 1 = internal groups
|
|
)
|
|
RETURNS @RESULT TABLE ( [GUID] [int] NOT NULL,
|
|
[NAME] [varchar](50) NULL,
|
|
[ECM_FK_ID] [int] NOT NULL,
|
|
[AD_SYNC] [bit] NOT NULL,
|
|
[INTERNAL] [bit] NOT NULL,
|
|
[ACTIVE] [bit] NOT NULL,
|
|
[COMMENT] [varchar](200) NULL,
|
|
[ADDED_WHO] [varchar](50) NULL,
|
|
[ADDED_WHEN] [datetime] NULL,
|
|
[CHANGED_WHO] [varchar](50) NULL,
|
|
[CHANGED_WHEN] [datetime] NULL)
|
|
AS
|
|
BEGIN
|
|
|
|
--=========================================-- Parameter copies (avoid sniffing) --========================================--
|
|
DECLARE @USER_GUID BIGINT = @pUSER_GUID,
|
|
@USER_NAME NVARCHAR(50) = LTRIM(RTRIM(@pUSER_NAME)),
|
|
@IS_ACTIVE BIT = @pIS_ACTIVE,
|
|
@IS_INTERNAL BIT = @pIS_INTERNAL;
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
--=============================================-- Get missing informations --=============================================--
|
|
IF ((@USER_GUID IS NULL) OR (@USER_GUID = 0)) BEGIN
|
|
SELECT @USER_GUID = [GUID]
|
|
FROM [dbo].[TBDD_USER] (NOLOCK)
|
|
WHERE [USERNAME] = @USER_NAME;
|
|
END;
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
--=============================================-- Get user allocated groups --============================================--
|
|
IF (@USER_GUID > 0) BEGIN
|
|
|
|
INSERT INTO @RESULT
|
|
([GUID],
|
|
[NAME],
|
|
[ECM_FK_ID],
|
|
[AD_SYNC],
|
|
[INTERNAL],
|
|
[ACTIVE],
|
|
[COMMENT],
|
|
[ADDED_WHO],
|
|
[ADDED_WHEN],
|
|
[CHANGED_WHO],
|
|
[CHANGED_WHEN])
|
|
SELECT TOP (100) PERCENT
|
|
[GUID],
|
|
[NAME],
|
|
[ECM_FK_ID],
|
|
[AD_SYNC],
|
|
[INTERNAL],
|
|
[ACTIVE],
|
|
[COMMENT],
|
|
[ADDED_WHO],
|
|
[ADDED_WHEN],
|
|
[CHANGED_WHO],
|
|
[CHANGED_WHEN]
|
|
FROM [dbo].[TBDD_GROUPS] (NOLOCK)
|
|
WHERE [GUID] IN (SELECT [GROUP_ID] FROM [dbo].[TBDD_GROUPS_USER] (NOLOCK) WHERE [USER_ID] = @USER_GUID)
|
|
AND ([ACTIVE] = CASE WHEN @IS_ACTIVE IS NULL THEN 0 ELSE @IS_ACTIVE END
|
|
OR [ACTIVE] = CASE WHEN @IS_ACTIVE IS NULL THEN 1 ELSE @IS_ACTIVE END)
|
|
AND ([INTERNAL] = CASE WHEN @IS_INTERNAL IS NULL THEN 0 ELSE @IS_INTERNAL END
|
|
OR [INTERNAL] = CASE WHEN @IS_INTERNAL IS NULL THEN 1 ELSE @IS_INTERNAL END);
|
|
|
|
END;
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
RETURN;
|
|
|
|
END;
|
|
|
|
-- Test mit
|
|
-- SELECT * FROM [FNDD_GET_GROUP_FOR_USER](1,NULL,NULL,NULL)
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
--Changed 22.05.2026 MS Prüfen ob IDB existiert
|
|
ALTER 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 OBJECT_ID('IDB.dbo.TBIDB_DOC_INFO', 'U') IS NOT NULL
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT [dwDocID] FROM [sDD_VMP01_APS01_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
|
|
END
|
|
|
|
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
|