This commit is contained in:
SchreiberM
2016-10-14 13:27:47 +02:00
parent 4548dc3abc
commit 353f161c57
30 changed files with 1400 additions and 607 deletions

View File

@@ -5,7 +5,8 @@ Public Class ClassDOC_SEARCH
Private Shared DT_RESULTLIST_SEL_VALUES As DataTable
Private Shared ENTITY_ID As Integer
Private Shared RECORD_ID As Integer
Private Shared Function GET_DOCSEARCH_DATATABLE(Type As String)
Private Shared AsyncRunning As Boolean = False
Private Shared Function GET_DOCSEARCH_DATATABLE(Type As String, Optional fulltext_String As String = "", Optional BG As Boolean = False)
Try
Dim OPTION1
Dim OPTION2
@@ -58,40 +59,72 @@ Public Class ClassDOC_SEARCH
Dim SQL_DOC_SEARCH
If Type = "ENTITY" Then
SQL_DOC_SEARCH = String.Format("SELECT T.* ," & vbNewLine & _
"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine & _
"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine & _
"ISNULL(T3.VALUE,'') AS OPTION3," & vbNewLine & _
"ISNULL(T4.VALUE,'') AS OPTION4," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN1','{7}') AS DROPDOWN1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN2','{7}') AS DROPDOWN2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN3','{7}') AS DROPDOWN3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN4','{7}') AS DROPDOWN4," & vbNewLine & _
"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC.GUID) AS VALUE1," & vbNewLine & _
"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC1.GUID) AS VALUE2," & vbNewLine & _
"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC2.GUID) AS VALUE3," & vbNewLine & _
"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC3.GUID) AS VALUE4" & vbNewLine & _
"FROM " & vbNewLine & _
"VWPMO_WD_DOC_SEARCH T " & vbNewLine & _
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON T.ENTITY_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbNewLine & _
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON T.ENTITY_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbNewLine & _
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON T.ENTITY_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbNewLine & _
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON T.ENTITY_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbNewLine & _
"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON T.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbNewLine & _
"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON T.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbNewLine & _
"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON T.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbNewLine & _
"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON T.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbNewLine & _
"WHERE T.ENTITY_ID = {1} AND T.DocID = (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {6} AND dwObjectID = T.DocID)", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
SQL_DOC_SEARCH = String.Format("SELECT T.*," & vbNewLine & _
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({3},T.DocID,{0}) AS OPTION1," & vbNewLine & _
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{0}) AS OPTION2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX1') AS DOCIDX1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX2') AS DOCIDX2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX3') AS DOCIDX3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX4') AS DOCIDX4," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN1','{1}') AS DROPDOWN1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN2','{1}') AS DROPDOWN2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN3','{1}') AS DROPDOWN3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN4','{1}') AS DROPDOWN4" & vbNewLine & _
"FROM " & vbNewLine & _
"VWPMO_DOC_SEARCH T" & vbNewLine & _
"WHERE T.DocID IN (select DISTINCT DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0}) " & vbNewLine & _
"AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {2} AND dwObjectID = T.DocID)", ENTITY_ID, USER_LANGUAGE, USERID_FK_INT_ECM, OPTION1, OPTION2)
'SQL_DOC_SEARCH = String.Format("SELECT T.* ," & vbNewLine & _
'"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine & _
'"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine & _
'"ISNULL(T3.VALUE,'') AS OPTION3," & vbNewLine & _
'"ISNULL(T4.VALUE,'') AS OPTION4," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN1','{7}') AS DROPDOWN1," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN2','{7}') AS DROPDOWN2," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN3','{7}') AS DROPDOWN3," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN4','{7}') AS DROPDOWN4," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC.GUID) AS VALUE1," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC1.GUID) AS VALUE2," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC2.GUID) AS VALUE3," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC3.GUID) AS VALUE4" & vbNewLine & _
'"FROM " & vbNewLine & _
'"VWPMO_WD_DOC_SEARCH T " & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON T.ENTITY_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON T.ENTITY_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON T.ENTITY_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON T.ENTITY_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON T.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON T.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON T.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON T.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbNewLine & _
'"WHERE T.ENTITY_ID = {1} AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {6} AND dwObjectID = T.DocID)", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
If CURRENT_ENTITYSQL.ToUpper.Contains("WHERE") Then
Dim where = CURRENT_ENTITYSQL.ToUpper.Replace("SELECT T.*", "SELECT '#' + CONVERT(VARCHAR(10),T.[Record-ID]) + '#'")
SQL_DOC_SEARCH = SQL_DOC_SEARCH & String.Format(" AND RECORD_ID IN ({0})", where)
End If
Else
If BG = True Then
If IsNothing(CURRENT_DT_DOC_ENTITY_SEARCH) Then
If AsyncRunning = True Then
MsgBox("Entity-Search already running in background! Please wait a while!", MsgBoxStyle.Information)
Return Nothing
End If
Dim async As New ClassAsyncReturnDT(SQL_DOC_SEARCH, "LOAD_ENTITY_SEARCH_AT STARTUP")
async.bw.RunWorkerAsync()
While async.bw.IsBusy
Application.DoEvents()
End While
CURRENT_DT_DOC_ENTITY_SEARCH = async.dt
AsyncRunning = False
End If
End If
ElseIf Type = "RECORD" Then
SQL_DOC_SEARCH = String.Format("SELECT T.* ," & vbNewLine & _
"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine & _
"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine & _
@@ -120,41 +153,69 @@ Public Class ClassDOC_SEARCH
"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON T.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbNewLine & _
"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON T.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbNewLine & _
"WHERE T.RECORD_ID = {0} AND T.ENTITY_ID = {1} AND T.DocID = (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {6} AND dwObjectID = T.DocID)", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
' SQL_DOC_SEARCH = String.Format("SELECT * ," & _
' "(CASE (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}) " & _
' "WHEN {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {2} AND RECORD_ID = {0}) " & _
' "ELSE '' END) AS OPTION1," & _
' "CASE (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}) " & _
' "WHEN {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {3} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION2," & _
' "CASE (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}) " & _
' "WHEN {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {4} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION3," & _
' "CASE (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}) " & _
' "WHEN {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {5} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION4 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_IDX] (DocID,{1},'DOCIDX1')) AS DOCIDX1 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_IDX] (DocID,{1},'DOCIDX2')) AS DOCIDX2 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_IDX] (DocID,{1},'DOCIDX3')) AS DOCIDX3 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_IDX] (DocID,{1},'DOCIDX4')) AS DOCIDX4 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_DROPDOWN] (DocID,{1},'DROPDOWN1','{7}')) AS DROPDOWN1 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_DROPDOWN] (DocID,{1},'DROPDOWN2','{7}')) AS DROPDOWN2 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_DROPDOWN] (DocID,{1},'DROPDOWN3','{7}')) AS DROPDOWN3 " & _
' ",(SELECT [dbo].[FNPMO_DOC_GET_DROPDOWN] (DocID,{1},'DROPDOWN4','{7}')) AS DROPDOWN4 " & _
'"FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = {0} AND ENTITY_ID = {1} AND DocID = (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {6} AND dwObjectID = DocID)", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE)
ElseIf Type = "FULLTEXT" Then
Dim sqlft = SQL_FULLTEXT
sqlft = sqlft.Replace("@FULLTEXT", fulltext_String)
SQL_DOC_SEARCH = String.Format("SELECT T.*," & vbNewLine & _
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({3},T.DocID,{0}) AS OPTION1," & vbNewLine & _
"[dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] ({4},T.DocID,{0}) AS OPTION2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX1') AS DOCIDX1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX2') AS DOCIDX2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX3') AS DOCIDX3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{0},'DOCIDX4') AS DOCIDX4," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN1','{1}') AS DROPDOWN1," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN2','{1}') AS DROPDOWN2," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN3','{1}') AS DROPDOWN3," & vbNewLine & _
"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{0},'DROPDOWN4','{1}') AS DROPDOWN4" & vbNewLine & _
"FROM " & vbNewLine & _
"VWPMO_DOC_SEARCH T" & vbNewLine & _
"WHERE T.DocID IN (select DISTINCT DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0}) " & vbNewLine & _
"AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {2} AND dwObjectID = T.DocID) AND " & vbNewLine & _
"T.DocID IN ({5})", ENTITY_ID, USER_LANGUAGE, USERID_FK_INT_ECM, OPTION1, OPTION2, sqlft)
' SQL_DOC_SEARCH = String.Format("SELECT T.* ," & vbNewLine & _
'"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine & _
'"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine & _
'"ISNULL(T3.VALUE,'') AS OPTION3," & vbNewLine & _
'"ISNULL(T4.VALUE,'') AS OPTION4," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX1') AS DOCIDX1," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX2') AS DOCIDX2," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX3') AS DOCIDX3," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,{1},'DOCIDX4') AS DOCIDX4," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN1','{7}') AS DROPDOWN1," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN2','{7}') AS DROPDOWN2," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN3','{7}') AS DROPDOWN3," & vbNewLine & _
'"[dbo].[FNPMO_DOC_GET_DROPDOWN] (T.DocID,{1},'DROPDOWN4','{7}') AS DROPDOWN4," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC.GUID) AS VALUE1," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC1.GUID) AS VALUE2," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC2.GUID) AS VALUE3," & vbNewLine & _
'"(SELECT VALUE FROM TBPMO_DOC_VALUES WHERE DocID = T.DocID AND CONFIG_ID = TRC3.GUID) AS VALUE4" & vbNewLine & _
'"FROM " & vbNewLine & _
'"VWPMO_WD_DOC_SEARCH T " & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON T.ENTITY_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON T.ENTITY_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON T.ENTITY_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbNewLine & _
'"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON T.ENTITY_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON T.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON T.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON T.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbNewLine & _
'"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON T.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbNewLine & _
'"WHERE T.ENTITY_ID = {1} AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {6} AND dwObjectID = T.DocID) AND " & vbNewLine & _
'"T.DocID IN ({12})", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4, sqlft)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_DOC_SEARCH: " & SQL_DOC_SEARCH, False)
If BG = True And Type = "ENTITY" Then
If Not IsNothing(CURRENT_DT_DOC_ENTITY_SEARCH) Then
Return CURRENT_DT_DOC_ENTITY_SEARCH
End If
End If
Return ClassDatabase.Return_Datatable_Connection(SQL_DOC_SEARCH, 1)
Catch ex As Exception
ClassLogger.Add("Unexpected Error in GET_DOCSEARCH_DATATABLE: " & ex.Message, True)
Return Nothing
End Try
End Function
Public Shared Function Get_DOC_RESULTTABLE(vDT_RESULTLIST_OPTIONS As DataTable, vDT_RESULTLIST_SELVALUES As DataTable, DT_WINDREAM_RESULTLIST As DataTable, ENT_ID As Integer, REC_ID As Integer, vType As String)
Public Shared Function Get_DOC_RESULTTABLE(vDT_RESULTLIST_OPTIONS As DataTable, vDT_RESULTLIST_SELVALUES As DataTable, DT_WINDREAM_RESULTLIST As DataTable, ENT_ID As Integer, REC_ID As Integer, vType As String, Optional ftString As String = "", Optional BG As Boolean = False, Optional Preload As Boolean = False)
Dim COL_ARRAY_RESULTLIST As List(Of String)
ENTITY_ID = ENT_ID
DT_RESULTLIST_OPTIONS = vDT_RESULTLIST_OPTIONS
@@ -164,7 +225,7 @@ Public Class ClassDOC_SEARCH
Dim sw As New Stopwatch
sw.Start()
Dim elapsed As Double
Dim DT_FILE_RESULT As DataTable = GET_DOCSEARCH_DATATABLE(vType)
Dim DT_FILE_RESULT As DataTable = GET_DOCSEARCH_DATATABLE(vType, ftString, BG)
CURRENT_DOC_RESULTS = DT_FILE_RESULT
If IsNothing(DT_FILE_RESULT) Then
ClassLogger.Add(">> ATTENTION: GET_DOCSEARCH_DATATABLE IS NOTHING!!", False)
@@ -175,6 +236,9 @@ Public Class ClassDOC_SEARCH
sw.Reset()
Console.WriteLine(">> GET_DOCSEARCH_DATATABLE took " & Format(elapsed, "0.000000000") & " seconds")
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run GET_DOCSEARCH_DATATABLE took " & Format(elapsed, "0.000000000") & " seconds", False)
If Preload = True Then
Return Nothing
End If
sw.Start()
Dim DTGrid As New DataTable
Dim ColArrayDEFINITION As New List(Of String)
@@ -265,6 +329,12 @@ Public Class ClassDOC_SEARCH
NewRow.Item(0) = My.Resources.ppt
Case ".dwg".ToUpper
NewRow.Item(0) = My.Resources.dwg
Case ".dxf".ToUpper
NewRow.Item(0) = My.Resources.dxf
Case ".msg".ToUpper
NewRow.Item(0) = My.Resources.email_go
Case ".msg".ToUpper
NewRow.Item(0) = My.Resources.email_go
Case Else
NewRow.Item(0) = My.Resources._blank
End Select
@@ -277,13 +347,18 @@ Public Class ClassDOC_SEARCH
Dim rowvalue
Try
rowvalue = FILE_ROW.Item(Colname)
If LogErrorsOnly = False Then ClassLogger.Add(" >> rowvalue for Colname '" & Colname & "': '" & rowvalue.ToString & "'", False)
'If LogErrorsOnly = False Then ClassLogger.Add(" >> rowvalue for Colname '" & Colname & "': '" & rowvalue.ToString & "'", False)
Catch ex As Exception
ClassLogger.Add("Unexpected Error in GetVariableValue for Column '" & Colname & "'- Error: " & ex.Message)
If vType = "RECORD" Then ClassLogger.Add("Unexpected Error in GetVariableValue for Column '" & Colname & "'- Error: " & ex.Message)
If Colname.ToString.StartsWith("doct") Or Colname.ToString.StartsWith("Dokum") Then
rowvalue = ""
Else
rowvalue = "Error getting rowvalue"
If vType <> "RECORD" Then
rowvalue = "Not displayable in Group-Search"
Else
rowvalue = "Error getting rowvalue"
End If
End If
End Try
NewRow.Item(i) = rowvalue.ToString