This commit is contained in:
SchreiberM
2016-10-04 11:41:03 +02:00
parent dd158e8414
commit c831a56a88
8 changed files with 1056 additions and 506 deletions

View File

@@ -2,6 +2,7 @@
Public Class ClassDOC_SEARCH
Private Shared DT_RESULTLIST_OPTIONS As DataTable
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)
@@ -11,6 +12,11 @@ Public Class ClassDOC_SEARCH
Dim OPTION3
Dim OPTION4
Dim OPTION5
Dim VALUE_CONF1
Dim VALUE_CONF2
Dim VALUE_CONF3
Dim VALUE_CONF4
If DT_RESULTLIST_OPTIONS.Rows.Count = 0 Then
OPTION1 = 0
OPTION2 = 0
@@ -24,37 +30,34 @@ Public Class ClassDOC_SEARCH
OPTION4 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION4_CTRL")
OPTION5 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION5_CTRL")
End If
If DT_RESULTLIST_SEL_VALUES.Rows.Count = 0 Then
VALUE_CONF1 = 0
VALUE_CONF2 = 0
VALUE_CONF3 = 0
VALUE_CONF4 = 0
Else
VALUE_CONF1 = DT_RESULTLIST_SEL_VALUES.Rows(0).Item("GUID")
Try
VALUE_CONF2 = DT_RESULTLIST_SEL_VALUES.Rows(1).Item("GUID")
Catch ex As Exception
VALUE_CONF2 = 0
End Try
Try
VALUE_CONF3 = DT_RESULTLIST_SEL_VALUES.Rows(2).Item("GUID")
Catch ex As Exception
VALUE_CONF3 = 0
End Try
Try
VALUE_CONF4 = DT_RESULTLIST_SEL_VALUES.Rows(3).Item("GUID")
Catch ex As Exception
VALUE_CONF4 = 0
End Try
End If
Dim SQL_DOC_SEARCH
If Type = "ENTITY" Then
'"FROM VWPMO_WD_DOC_SEARCH WHERE ENTITY_ID LIKE '%#{1}%'", RECORD_ID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4)
' SQL_DOC_SEARCH = String.Format("SELECT * ," & _
' "CASE " & _
' "WHEN [ENTITY_ID] = {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {2} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION1," & _
' "CASE " & _
' "WHEN [ENTITY_ID] = {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {3} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION2," & _
' "CASE " & _
' "WHEN [ENTITY_ID] = {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {4} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION3," & _
' "CASE " & _
' "WHEN [ENTITY_ID] = {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 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)
SQL_DOC_SEARCH = String.Format("SELECT T.* ," & vbNewLine & _
"ISNULL(T1.VALUE,'') AS OPTION1," & vbNewLine & _
"ISNULL(T2.VALUE,'') AS OPTION2," & vbNewLine & _
@@ -67,14 +70,22 @@ Public Class ClassDOC_SEARCH
"[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 & _
"[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)
"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)
If CURRENT_ENTITYSQL.ToUpper.Contains("WHERE") Then
Dim where = CURRENT_ENTITYSQL.ToUpper.Replace("SELECT T.*", "SELECT '#' + CONVERT(VARCHAR(10),T.[Record-ID]) + '#'")
@@ -93,14 +104,22 @@ Public Class ClassDOC_SEARCH
"[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 & _
"[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.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)
"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 " & _
@@ -135,10 +154,11 @@ Public Class ClassDOC_SEARCH
Return Nothing
End Try
End Function
Public Shared Function Get_DOC_RESULTTABLE(vDT_RESULTLIST_OPTIONS 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)
Dim COL_ARRAY_RESULTLIST As List(Of String)
ENTITY_ID = ENT_ID
DT_RESULTLIST_OPTIONS = vDT_RESULTLIST_OPTIONS
DT_RESULTLIST_SEL_VALUES = vDT_RESULTLIST_SELVALUES
RECORD_ID = REC_ID
Try
Dim sw As New Stopwatch