This commit is contained in:
2022-06-09 18:10:07 +02:00
parent 930405b8e4
commit dbf1fd665c
4 changed files with 146 additions and 131 deletions

View File

@@ -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