This commit is contained in:
SchreiberM
2016-09-21 16:15:47 +02:00
parent 2cc5835380
commit 7c9da92dcd
13 changed files with 1037 additions and 565 deletions

View File

@@ -27,82 +27,106 @@ Public Class ClassDOC_SEARCH
Dim SQL_DOC_SEARCH
If Type = "ENTITY" Then
' SQL_DOC_SEARCH = String.Format("SELECT * ," & _
' "(CASE (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}) " & _
' "WHEN {1} 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 (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = 3305) " & _
' "WHEN {1} THEN " & _
' "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 (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = 3305) " & _
' "WHEN {1} THEN " & _
' "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 (SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = 3305) " & _
' "WHEN {1} THEN " & _
' "CASE " & _
' "WHEN [ENTITY_ID] = {1} THEN " & _
' " (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {5} AND RECORD_ID = {0}) " & _
' "ELSE '' END AS OPTION4 " & _
'"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)
' "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 & _
"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 & _
"FROM " & vbNewLine & _
"VWPMO_WD_DOC_SEARCH T " & 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)
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
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)
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 & _
"FROM " & vbNewLine & _
"VWPMO_WD_DOC_SEARCH T " & 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)
' 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)
End If
Return ClassDatabase.Return_Datatable_Connection(SQL_DOC_SEARCH, 1)