143 lines
11 KiB
Transact-SQL
143 lines
11 KiB
Transact-SQL
DROP TABLE TBIDB_FILE_OBJECT
|
||
CREATE TABLE TBIDB_FILE_OBJECT
|
||
(
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
OBJ_ST_ID INTEGER NOT NULL,
|
||
EXTENSION_TERM_ID BIGINT NOT NULL,
|
||
RELPATH_TERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_FILE_OBJECT PRIMARY KEY (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_OBJSTID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_EXTTID FOREIGN KEY (EXTENSION_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_RPTID FOREIGN KEY (RELPATH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_FILE_OBJECT_AFT_UPD ON TBIDB_FILE_OBJECT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_FILE_OBJECT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_FILE_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
GO
|
||
-- =============================================
|
||
-- Author: DD MS 15.03.2021
|
||
-- Change date:
|
||
-- =============================================
|
||
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@BE VARCHAR(500) = '',@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@KINDTYPE_ID TINYINT,
|
||
@BE_ID INTEGER
|
||
|
||
SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE)
|
||
IF @BE = ''
|
||
SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE GUID = 1
|
||
ELSE
|
||
SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE UPPER(TITLE) = UPPER(@BE)
|
||
|
||
IF @FOREIGN_REFID <> 0
|
||
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID)
|
||
SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID
|
||
ELSE
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT]
|
||
([KIND_TYPE_ID],[REFERENCE_KEY],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@WHO)
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT]
|
||
([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO)
|
||
END
|
||
SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND BE_ID = @BE_ID)
|
||
INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) VALUES (@IDB_OBJ_ID,@BE_ID, @WHO)
|
||
END
|
||
GO
|
||
-- =============================================
|
||
-- Author: DD MS 15.03.2021
|
||
-- Change date:
|
||
-- =============================================
|
||
ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@FILENAME_EXT VARCHAR(250),
|
||
@FILENAME_ONLY VARCHAR(250),
|
||
@RELATIVE_PATH VARCHAR(512),
|
||
@RELATIVE_PATH_ONLY VARCHAR(512),
|
||
@EXT VARCHAR(10)
|
||
|
||
SET @FILENAME_ONLY = CONVERT(VARCHAR(20),@IDB_OBJ_ID) + '.ddfo'
|
||
--PRINT @FILENAME_ONLY
|
||
--PRINT @REL_PATH
|
||
SELECT @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,@FILENAME_ONLY,'')
|
||
--PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
|
||
DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@RELATIVE_PATH_ONLY,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT;
|
||
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT;
|
||
|
||
--SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH);
|
||
--SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
|
||
--SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
|
||
PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
|
||
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
|
||
INSERT INTO [dbo].[TBIDB_FILE_OBJECT]
|
||
([IDB_OBJ_ID]
|
||
,[OBJ_ST_ID]
|
||
,EXTENSION_TERM_ID
|
||
,RELPATH_TERM_ID
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@OBJ_ST_ID
|
||
,@EXTENSION_TERM_ID
|
||
,@RELPATH_TERM_ID
|
||
,@WHO)
|
||
ELSE
|
||
BEGIN
|
||
--PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
|
||
UPDATE TBIDB_FILE_OBJECT SET
|
||
EXTENSION_TERM_ID = @EXTENSION_TERM_ID
|
||
,RELPATH_TERM_ID = @RELPATH_TERM_ID
|
||
,CHANGED_WHO = @WHO
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
|
||
BEGIN
|
||
PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
|
||
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END
|
||
END
|
||
END
|
||
END
|
||
GO
|
||
|
||
ALTER VIEW [dbo].[VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE] AS
|
||
select
|
||
MD.IDB_OBJ_ID
|
||
,TLANG.LANGUAGE_ID
|
||
,TERM.TERM_VALUE
|
||
,TERM_ATTR.TERM_VALUE AS ATTRIBUTE_TITLE
|
||
,ATTR.GUID AS ATTRIBUTE_ID
|
||
FROM
|
||
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
|
||
INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
|
||
INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID
|
||
INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE ATTR_LANG ON ATTR.GUID = ATTR_LANG.ATTRIBUTE_ID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM_ATTR ON ATTR_LANG.TERM_ID = TERM_ATTR.GUID
|
||
WHERE
|
||
CAT_ATTR.ACTIVE = 1
|
||
GO
|
||
|
||
|
||
|