MS
This commit is contained in:
parent
930405b8e4
commit
dbf1fd665c
@ -4073,6 +4073,8 @@ QuitWithRollback:
|
||||
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
|
||||
EndSave:
|
||||
GO
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
--############################################################################################################################################################
|
||||
--GLOBAL-INDEXER AKA FILE-FLOW
|
||||
--############################################################################################################################################################
|
||||
|
||||
@ -1203,13 +1203,15 @@ WHERE
|
||||
ATTR.DELETED = 0
|
||||
GO
|
||||
|
||||
|
||||
CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
|
||||
SELECT
|
||||
COALESCE(T.GUID,0) as GUID,
|
||||
COALESCE(T.[BE_ID],0) BE_ID
|
||||
,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE
|
||||
,[ATTR_ID]
|
||||
,T1.GUID AS [ATTR_ID]
|
||||
,T6.TERM_VALUE AS ATTR_TITLE
|
||||
,T4.TERM_ID AS ATTR_TERM_ID
|
||||
,T1.TYP_ID
|
||||
,T1.TYP_ID AS [TYPE_ID]
|
||||
,T3.NAME_TYPE AS [TYPE_NAME]
|
||||
@ -1520,7 +1522,7 @@ BEGIN
|
||||
+ CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON DT.TERM_ID = TERM.GUID'
|
||||
+ CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON DT.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10)
|
||||
|
||||
SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1'
|
||||
SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' + char(10)
|
||||
IF @DateStr = 'DATEPART'
|
||||
BEGIN
|
||||
SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID;
|
||||
@ -1555,22 +1557,18 @@ BEGIN
|
||||
END
|
||||
END
|
||||
|
||||
SET @DYNSQL_INSERT += 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10)
|
||||
SET @DYNSQL_INSERT += CHAR(9) + 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10)
|
||||
|
||||
DECLARE @LANGUAGE AS VARCHAR(100)
|
||||
IF @pType <> 'DOCTYPE'
|
||||
SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + ''''
|
||||
ELSE
|
||||
SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + ''''
|
||||
SET @DYNSQL_INSERT += @LANGUAGE + char(10)
|
||||
SET @DYNSQL_INSERT += CHAR(9) + @LANGUAGE + char(10)
|
||||
PRINT @DYNSQL_INSERT
|
||||
EXEC sp_executesql @DYNSQL_INSERT
|
||||
END
|
||||
GO
|
||||
USE [IDB]
|
||||
GO
|
||||
USE [IDB]
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: DD MS
|
||||
-- Changed: 19.05.2022
|
||||
@ -1582,6 +1580,7 @@ BEGIN
|
||||
DECLARE @DATE1 DATE,@DATE2 DATE
|
||||
|
||||
DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID;
|
||||
|
||||
IF LEN(@pDATE_RESTRICTION) > 0
|
||||
BEGIN
|
||||
PRINT '@pDATE_RESTRICTION....'
|
||||
@ -1613,18 +1612,18 @@ BEGIN
|
||||
-- DELETE FROM @DOC_RESULTS;
|
||||
-- END
|
||||
SET @TOKEN_ID += 1
|
||||
|
||||
PRINT '### WORKIN ON ATTRIBUTE [' + @ATTR_TITLE + '] TOKEN_ID [' + CONVERT(VARCHAR(2),@TOKEN_ID) + '] ###'
|
||||
EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE
|
||||
|
||||
IF @TOKEN_ID > 1 AND @OPERATOR = 'AND'
|
||||
BEGIN
|
||||
DELETE FROM @DOC_RESULTS;
|
||||
INSERT INTO @DOC_RESULTS(DocID)
|
||||
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID)
|
||||
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID AND USR_ID = @pUSR_ID)
|
||||
END
|
||||
ELSE
|
||||
INSERT INTO @DOC_RESULTS(DocID)
|
||||
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS)
|
||||
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND USR_ID = @pUSR_ID --AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS)
|
||||
FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR
|
||||
END
|
||||
CLOSE curs_Tokens
|
||||
@ -1633,6 +1632,7 @@ BEGIN
|
||||
INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID)
|
||||
SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS;
|
||||
END
|
||||
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pSEARCH_TERM as VARCHAR(900), @pLANG_CODE as VARCHAR(5) = 'de-DE')
|
||||
AS
|
||||
@ -4369,6 +4369,7 @@ BEGIN
|
||||
SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
|
||||
@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
|
||||
AS
|
||||
@ -4379,9 +4380,12 @@ BEGIN
|
||||
@TYP_DESCR VARCHAR(100),
|
||||
@MULTI BIT,
|
||||
@LANG_ID INT,
|
||||
@WHO_TERM_ID BIGINT
|
||||
@WHO_TERM_ID BIGINT,
|
||||
@ATTR_TERM_ID BIGINT
|
||||
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@WHO,@WHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
|
||||
--PRINT 'GETTIN ATTR-TERMID...'
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@ATTRIBUTE,@WHO,@TERM_ID = @ATTR_TERM_ID OUTPUT;
|
||||
--PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
|
||||
IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
|
||||
BEGIN
|
||||
@ -4396,17 +4400,23 @@ BEGIN
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = @ATTRIBUTE)
|
||||
--IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE)
|
||||
-- BEGIN
|
||||
-- DECLARE @MSG VARCHAR(100)
|
||||
-- SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||||
-- RAISERROR (@MSG,16,1)
|
||||
-- END
|
||||
|
||||
SELECT @ATTR_ID = T.ATTR_ID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T.TYPE_NAME FROM VWIDB_BE_ATTRIBUTE T
|
||||
WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE
|
||||
--PRINT 'ATTRIBUTID: ' + CONVERT(VARCHAR(10),@ATTR_ID)
|
||||
IF LEN(@ATTR_ID) = 0
|
||||
BEGIN
|
||||
DECLARE @MSG VARCHAR(100)
|
||||
SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||||
RAISERROR (@MSG,16,1)
|
||||
END
|
||||
|
||||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||||
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||||
PRINT @TYP_DESCR
|
||||
|
||||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||||
|
||||
DECLARE @MY_TERM_ID BIGINT
|
||||
|
||||
@ -1,81 +1,16 @@
|
||||
-- =============================================
|
||||
-- Author: DD MS
|
||||
-- Changed:
|
||||
-- =============================================
|
||||
--CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT
|
||||
|
||||
DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5)
|
||||
--AS
|
||||
SET @pIDB_OBJ_ID = 10026
|
||||
SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner'
|
||||
DECLARE
|
||||
@FOLD_PART VARCHAR(250)
|
||||
BEGIN
|
||||
|
||||
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
|
||||
SET @FOLDER_DEPTH = 0
|
||||
DECLARE @PARENT_OBJ_ID BIGINT
|
||||
--SPLIT FOR FOLDER PARTS
|
||||
DECLARE cursSplitFolder CURSOR FOR
|
||||
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
|
||||
OPEN cursSplitFolder
|
||||
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
--EACH FOLDER PART WORKED SEPERATELY
|
||||
IF @FOLDER_DEPTH = 0
|
||||
BEGIN
|
||||
SET @PARENT_OBJ_ID = 0
|
||||
SET @FOLDER_PART = @FOLD_PART
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @FOLDER_PART += '\' + @FOLD_PART
|
||||
END
|
||||
PRINT '##############################'
|
||||
PRINT '@FOLDER_PART: ' + @FOLDER_PART
|
||||
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
|
||||
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
|
||||
DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT
|
||||
IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID)
|
||||
BEGIN
|
||||
PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden'
|
||||
EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT;
|
||||
DECLARE @NEW_OBJ_MD_ID BIGINT
|
||||
EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID
|
||||
PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS'
|
||||
END
|
||||
SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID
|
||||
|
||||
SET @FOLDER_DEPTH += 1
|
||||
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
|
||||
END
|
||||
CLOSE cursSplitFolder
|
||||
DEALLOCATE cursSplitFolder
|
||||
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
|
||||
INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
|
||||
END
|
||||
GO
|
||||
DROP TABLE TBIDB_SN_IDB_OBJ
|
||||
DROP TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
|
||||
DROP TABLE TBIDB_STRUCTURE_NODES
|
||||
CREATE TABLE TBIDB_STRUCTURE_NODES
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
PARENT_ID BIGINT NOT NULL DEFAULT 0,
|
||||
TERM_LANG_ID BIGINT NOT NULL,
|
||||
NODE_CAPTION VARCHAR(250) NOT NULL,
|
||||
ADDED_WHO VARCHAR(100),
|
||||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_STRUCTURE_NODES PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBIDB_STRUCTURE_NODES_TLANGID FOREIGN KEY (TERM_LANG_ID) REFERENCES TBIDB_LANGUAGE_TERM (GUID),
|
||||
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,TERM_LANG_ID)
|
||||
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,NODE_CAPTION)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES
|
||||
@ -85,16 +20,7 @@ AS
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pPARENT_ID BIGINT, @pTERM_LANG_ID BIGINT,@pWHO VARCHAR(100), @OUT_SN_GUID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID)
|
||||
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,TERM_LANG_ID,ADDED_WHO) VALUES (@pPARENT_ID,@pTERM_LANG_ID,@pWHO)
|
||||
BEGIN
|
||||
SELECT @OUT_SN_GUID = GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
|
||||
(
|
||||
@ -109,6 +35,31 @@ CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
|
||||
CONSTRAINT UQ_TBIDB_SN_IDB_OBJ UNIQUE(SN_ID,IDB_OBJ_ID)
|
||||
)
|
||||
GO
|
||||
CREATE TABLE TBIDB_STRUCTURE_NODES_RELATIONS
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
SN_ID BIGINT NOT NULL,
|
||||
USR_ID INT,
|
||||
GRP_ID INT,
|
||||
ADDED_WHO VARCHAR(100),
|
||||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||||
CONSTRAINT PK_TBIDB_STRUCTURE_NODES_RELATIONS PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBIDB_STRUCTURE_NODES_RELATIONS_SN_ID FOREIGN KEY (SN_ID) REFERENCES TBIDB_STRUCTURE_NODES (GUID),
|
||||
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES_RELATIONS UNIQUE(SN_ID,USR_ID,GRP_ID)
|
||||
)
|
||||
GO
|
||||
CREATE OR ALTER VIEW VWIDB_SN_RELATIONS
|
||||
AS
|
||||
SELECT SNR.GUID as REL_ID, SNR.SN_ID, SN.NODE_CAPTION, USR.EMAIL as Identification, 'USR' as Scope, USR.GUID ScopeID
|
||||
FROM
|
||||
TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_USER USR ON SNR.USR_ID = USR.GUID
|
||||
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID
|
||||
UNION
|
||||
SELECT SNR.GUID as REL_ID, SNR.SN_ID,SN.NODE_CAPTION, GRP.NAME as Identification, 'GRP' as Scope, GRP.GUID ScopeID
|
||||
FROM
|
||||
TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_GROUPS GRP ON SNR.GRP_ID = GRP.GUID
|
||||
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID
|
||||
GO
|
||||
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
|
||||
AS
|
||||
SELECT
|
||||
@ -128,7 +79,7 @@ GO
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_LANGUAGE_TERM] @pOBJ_ID BIGINT, @pTERM_ID BIGINT,@pWHO_TERM_ID BIGINT,@pKIND_TYPE INT,@pLANG_ID TINYINT, @OUT_LANG_TERM_GUID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND TERM_ID = @pTERM_ID AND KIND_TYPE = @pKIND_TYPE )
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND KIND_TYPE = @pKIND_TYPE )
|
||||
INSERT INTO TBIDB_LANGUAGE_TERM (OBJECT_ID,TERM_ID,LANG_ID,ADDED_WHO,KIND_TYPE) VALUES (@pOBJ_ID,@pTERM_ID,@pLANG_ID,@pWHO_TERM_ID,@pKIND_TYPE)
|
||||
ELSE
|
||||
BEGIN
|
||||
@ -144,23 +95,12 @@ GO
|
||||
-- Author: DD MS
|
||||
-- Changed:
|
||||
-- =============================================
|
||||
--CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT
|
||||
|
||||
DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT
|
||||
--AS
|
||||
SET @pIDB_OBJ_ID = 10026
|
||||
SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner'
|
||||
SET @pLANG_ID = 1
|
||||
SET @pWHO = 'SchreiberM'
|
||||
DECLARE
|
||||
@FOLD_PART VARCHAR(250),
|
||||
@WHO_TERM_ID BIGINT
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
|
||||
CREATE OR ALTER PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
|
||||
DECLARE @FOLDER_DEPTH TINYINT,@FOLD_PART VARCHAR(250),@FOLD_PATH_SO_FAR VARCHAR(900)
|
||||
SET @FOLDER_DEPTH = 0
|
||||
DECLARE @PARENT_NODE_GUID BIGINT
|
||||
DECLARE @PARENT_NODE_GUID BIGINT,@SN_ID BIGINT
|
||||
--SPLIT FOR FOLDER PARTS
|
||||
DECLARE cursSplitFolder CURSOR FOR
|
||||
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
|
||||
@ -172,37 +112,57 @@ BEGIN
|
||||
IF @FOLDER_DEPTH = 0
|
||||
BEGIN
|
||||
SET @PARENT_NODE_GUID = 0
|
||||
SET @FOLDER_PART = @FOLD_PART
|
||||
SET @FOLD_PATH_SO_FAR = @FOLD_PART
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @FOLDER_PART += '\' + @FOLD_PART
|
||||
SET @FOLD_PATH_SO_FAR += '\' + @FOLD_PART
|
||||
END
|
||||
PRINT '##############################'
|
||||
PRINT '@FOLDER_PART: ' + @FOLDER_PART
|
||||
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
|
||||
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
|
||||
DECLARE @OUT_LANG_TERM_GUID BIGINT
|
||||
PRINT 'WORKING ON @FOLD_PATH_SO_FAR: ' + @FOLD_PATH_SO_FAR
|
||||
|
||||
--PRÜFEN OB DER NODE_TERM ANGELEGT IST
|
||||
EXEC [PRIDB_NEW_LANGUAGE_TERM] @PARENT_NODE_GUID, @PATH_PART_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID = @OUT_LANG_TERM_GUID
|
||||
SELECT @OUT_LANG_TERM_GUID = GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @PARENT_NODE_GUID AND LANG_ID = @pLANG_ID AND TERM_ID = @PATH_PART_ID AND KIND_TYPE = 4
|
||||
DECLARE @OUT_SN_GUID BIGINT
|
||||
EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @OUT_LANG_TERM_GUID,@pWHO,@OUT_SN_GUID = @OUT_SN_GUID OUTPUT
|
||||
|
||||
SET @PARENT_NODE_GUID = @OUT_SN_GUID
|
||||
|
||||
|
||||
EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @FOLD_PART,@pWHO, @pLANG_ID, @LAST_SN_ID OUTPUT
|
||||
SET @PARENT_NODE_GUID = @LAST_SN_ID
|
||||
SET @FOLDER_DEPTH += 1
|
||||
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
|
||||
END
|
||||
CLOSE cursSplitFolder
|
||||
DEALLOCATE cursSplitFolder
|
||||
|
||||
--IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
|
||||
-- INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
|
||||
END
|
||||
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pNODE_PARENT_ID BIGINT, @pNODECAPTION VARCHAR(200),@pWHO VARCHAR(100), @pLANG_ID TINYINT, @OUT_SN_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@WHO_TERM_ID BIGINT, @NODECAPTION_TERM_ID BIGINT
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO, @TERM_ID = @WHO_TERM_ID OUTPUT;
|
||||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pNODECAPTION,@pWHO, @TERM_ID = @NODECAPTION_TERM_ID OUTPUT;
|
||||
|
||||
IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LANG_ID = @pLANG_ID)
|
||||
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO);
|
||||
ELSE
|
||||
IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LTERM_TERMID = @NODECAPTION_TERM_ID AND LANG_ID = @pLANG_ID)
|
||||
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO);
|
||||
BEGIN
|
||||
SELECT @OUT_SN_ID = MAX(GUID) FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pNODE_PARENT_ID AND NODE_CAPTION = @pNODECAPTION
|
||||
END
|
||||
|
||||
DECLARE @OUT_LANG_TERM_GUID BIGINT
|
||||
EXEC [PRIDB_NEW_LANGUAGE_TERM] @OUT_SN_ID, @NODECAPTION_TERM_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID OUTPUT
|
||||
END
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: DD MS
|
||||
-- Changed:
|
||||
-- =============================================
|
||||
CREATE OR ALTER PROCEDURE PRIDB_NEW_STUCTURE_NODE_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pSN_ID BIGINT,@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES_IDB_OBJ WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND SN_ID = @pSN_ID)
|
||||
INSERT INTO TBIDB_STRUCTURE_NODES_IDB_OBJ (IDB_OBJ_ID,SN_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@pSN_ID,@pWHO);
|
||||
END
|
||||
GO
|
||||
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
|
||||
AS
|
||||
@ -223,4 +183,47 @@ WHERE
|
||||
LTERM.KIND_TYPE = 4
|
||||
|
||||
GO
|
||||
select * from TBIDB_STRUCTURE_NODES
|
||||
|
||||
CREATE OR ALTER VIEW [dbo].[VWIDB_STRUCTURE_NODES_STRUCTURE] AS
|
||||
select
|
||||
SN.GUID SN_ID
|
||||
,SN.PARENT_ID SN_PARENT_ID
|
||||
,SN.NODE_CAPTION SN_NODE_CAPTION
|
||||
,T2.TERM_ID LTERM_TERMID
|
||||
,T3.TERM_VALUE
|
||||
,T4.LANG_CODE
|
||||
,T4.GUID as LANG_ID
|
||||
,SN.ADDED_WHO SN_ADDED_WHO
|
||||
,SN.ADDED_WHEN SN_ADDED_WHEN
|
||||
,T2.CHANGED_WHO TERM_CHANGED_WHO
|
||||
,T2.CHANGED_WHEN TERM_CHANGED_WHEN
|
||||
from
|
||||
TBIDB_STRUCTURE_NODES SN INNER JOIN
|
||||
TBIDB_LANGUAGE_TERM T2 ON SN.GUID = T2.[OBJECT_ID]
|
||||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
|
||||
INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID
|
||||
WHERE
|
||||
T2.KIND_TYPE = 4
|
||||
GO
|
||||
CREATE VIEW [dbo].[VWIDB_SN_DYNAMIC_FOLDER_OBJECT] AS
|
||||
select
|
||||
SN_OBJ.GUID AS SN_REL_ID,
|
||||
SN_OBJ.IDB_OBJ_ID,
|
||||
SN.GUID SN_ID,
|
||||
SN.PARENT_ID SN_PARENT_ID,
|
||||
OBJ.PARENT_OBJ_ID,
|
||||
T3.TERM_VALUE AS LANG_NODE_CAPTION ,
|
||||
LTERM.LANG_ID,
|
||||
T4.LANG_CODE,
|
||||
|
||||
SN_OBJ.ADDED_WHO,
|
||||
SN_OBJ.ADDED_WHEN
|
||||
from
|
||||
TBIDB_STRUCTURE_NODES_IDB_OBJ SN_OBJ
|
||||
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SN_OBJ.SN_ID = SN.GUID
|
||||
INNER JOIN TBIDB_LANGUAGE_TERM LTERM ON SN_OBJ.SN_ID = LTERM.OBJECT_ID
|
||||
INNER JOIN TBIDB_OBJECT OBJ ON SN_OBJ.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON LTERM.TERM_ID = T3.GUID
|
||||
INNER JOIN TBIDB_LANGUAGE T4 ON LTERM.LANG_ID = T4.GUID
|
||||
WHERE OBJ.ACTIVE = 1 AND LTERM.KIND_TYPE = 4
|
||||
GO
|
||||
BIN
09_ZooFlow/Update/1.0.2.0.sql
Normal file
BIN
09_ZooFlow/Update/1.0.2.0.sql
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user