Versionierung windream, DocRecordLink, Overlay in NodeNavigation
This commit is contained in:
@@ -117,6 +117,10 @@
|
|||||||
</setting>
|
</setting>
|
||||||
</DevExpress.LookAndFeel.Design.AppSettings>
|
</DevExpress.LookAndFeel.Design.AppSettings>
|
||||||
</applicationSettings>
|
</applicationSettings>
|
||||||
|
<appSettings>
|
||||||
|
<!-- Verbose Grid Logging: nur für Diagnose auf True setzen! NIEMALS im Produktivbetrieb! -->
|
||||||
|
<add key="DocSearch_VerboseLogging" value="false" />
|
||||||
|
</appSettings>
|
||||||
<runtime>
|
<runtime>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
|
|||||||
@@ -6,6 +6,19 @@ Public Class ClassDOC_SEARCH
|
|||||||
Private Shared ENTITY_ID As Integer
|
Private Shared ENTITY_ID As Integer
|
||||||
Private Shared RECORD_ID As Integer
|
Private Shared RECORD_ID As Integer
|
||||||
Private Shared AsyncRunning As Boolean = False
|
Private Shared AsyncRunning As Boolean = False
|
||||||
|
Private Shared EnableVerboseGridLogging As Boolean = ReadVerboseLoggingSetting()
|
||||||
|
Private Shared Function ReadVerboseLoggingSetting() As Boolean
|
||||||
|
Try
|
||||||
|
Dim oValue = System.Configuration.ConfigurationManager.AppSettings("DocSearch_VerboseLogging")
|
||||||
|
If Not String.IsNullOrWhiteSpace(oValue) Then
|
||||||
|
LOGGER.Info("DocSearch_VerboseLogging setting found: " & oValue)
|
||||||
|
Return Boolean.Parse(oValue)
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
' Fehler beim Lesen → sicher auf False
|
||||||
|
End Try
|
||||||
|
Return False
|
||||||
|
End Function
|
||||||
Private Shared Function GET_DOCSEARCH_DATATABLE(Optional BG As Boolean = False)
|
Private Shared Function GET_DOCSEARCH_DATATABLE(Optional BG As Boolean = False)
|
||||||
Try
|
Try
|
||||||
Dim OPTION1
|
Dim OPTION1
|
||||||
@@ -188,16 +201,16 @@ Public Class ClassDOC_SEARCH
|
|||||||
"VWPMO_DOC_SEARCH T " & vbCrLf &
|
"VWPMO_DOC_SEARCH T " & vbCrLf &
|
||||||
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
|
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
|
||||||
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
|
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
|
||||||
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
|
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP WITH (NOLOCK) ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
|
||||||
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
|
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbCrLf &
|
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC WITH (NOLOCK) ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = '{7}' AND TRC.GUID = {8}" & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbCrLf &
|
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 WITH (NOLOCK) ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = '{7}' AND TRC1.GUID = {9}" & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbCrLf &
|
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 WITH (NOLOCK) ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = '{7}' AND TRC2.GUID = {10}" & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbCrLf &
|
"LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 WITH (NOLOCK) ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = '{7}' AND TRC3.GUID = {11}" & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbCrLf &
|
"LEFT JOIN TBPMO_CONTROL_VALUE T1 WITH (NOLOCK) ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = {2} " & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbCrLf &
|
"LEFT JOIN TBPMO_CONTROL_VALUE T2 WITH (NOLOCK) ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = {3} " & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbCrLf &
|
"LEFT JOIN TBPMO_CONTROL_VALUE T3 WITH (NOLOCK) ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = {4} " & vbCrLf &
|
||||||
"LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbCrLf &
|
"LEFT JOIN TBPMO_CONTROL_VALUE T4 WITH (NOLOCK) ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = {5} " & vbCrLf &
|
||||||
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {0} AND TRIGHTS.dwUserOrGroupID = {6}", USER_GUID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
|
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {0} AND TRIGHTS.dwUserOrGroupID = {6}", USER_GUID, ENTITY_ID, OPTION1, OPTION2, OPTION3, OPTION4, USERID_FK_INT_ECM, USER_LANGUAGE, VALUE_CONF1, VALUE_CONF2, VALUE_CONF3, VALUE_CONF4)
|
||||||
ElseIf CURRENT_SEARCH_TYPE = "FULLTEXT_SUBNODES" Then
|
ElseIf CURRENT_SEARCH_TYPE = "FULLTEXT_SUBNODES" Then
|
||||||
Dim sqlft = SQL_FULLTEXT
|
Dim sqlft = SQL_FULLTEXT
|
||||||
@@ -215,10 +228,10 @@ Public Class ClassDOC_SEARCH
|
|||||||
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{0}',TRL.RECORD_ID) AS DROPDOWN4" & vbCrLf &
|
"[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,{1},'DROPDOWN4','{0}',TRL.RECORD_ID) AS DROPDOWN4" & vbCrLf &
|
||||||
"FROM " & vbCrLf &
|
"FROM " & vbCrLf &
|
||||||
"VWPMO_DOC_SEARCH T" & vbCrLf &
|
"VWPMO_DOC_SEARCH T" & vbCrLf &
|
||||||
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID" & vbCrLf &
|
"INNER JOIN TBPMO_DOC_RECORD_LINK TRL WITH (NOLOCK) ON T.DocID = TRL.DOC_ID" & vbCrLf &
|
||||||
"INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
|
"INNER JOIN TBPMO_RECORD TR WITH (NOLOCK) ON TRL.RECORD_ID = TR.GUID" & vbCrLf &
|
||||||
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
|
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP WITH (NOLOCK) ON TR.GUID = TTEMP.RECORD_ID" & vbCrLf &
|
||||||
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
|
"INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS WITH (NOLOCK) ON T.DocID = TRIGHTS.dwObjectID" & vbCrLf &
|
||||||
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {2} AND TRIGHTS.dwUserOrGroupID = {3}" & vbCrLf &
|
"WHERE TR.FORM_ID = {1} AND TTEMP.USER_ID = {2} AND TRIGHTS.dwUserOrGroupID = {3}" & vbCrLf &
|
||||||
"AND T.DocID IN ({6})", USER_LANGUAGE, ENTITY_ID, USER_GUID, USERID_FK_INT_ECM, OPTION1, OPTION2, sqlft)
|
"AND T.DocID IN ({6})", USER_LANGUAGE, ENTITY_ID, USER_GUID, USERID_FK_INT_ECM, OPTION1, OPTION2, sqlft)
|
||||||
End If
|
End If
|
||||||
@@ -392,7 +405,9 @@ Public Class ClassDOC_SEARCH
|
|||||||
Dim fullpath = FILE_ROW.Item("FULL_FILENAME")
|
Dim fullpath = FILE_ROW.Item("FULL_FILENAME")
|
||||||
Dim objecttype = FILE_ROW.Item("OBJECTTYPE")
|
Dim objecttype = FILE_ROW.Item("OBJECTTYPE")
|
||||||
Dim DocID = FILE_ROW.Item("DocID")
|
Dim DocID = FILE_ROW.Item("DocID")
|
||||||
|
If EnableVerboseGridLogging Then
|
||||||
LOGGER.Debug($"Creating Row for DocID [{DocID}]")
|
LOGGER.Debug($"Creating Row for DocID [{DocID}]")
|
||||||
|
End If
|
||||||
'Dim Folderpath = Path.GetDirectoryName(fullpath)
|
'Dim Folderpath = Path.GetDirectoryName(fullpath)
|
||||||
Dim filename = Path.GetFileName(fullpath)
|
Dim filename = Path.GetFileName(fullpath)
|
||||||
Dim extension = Path.GetExtension(fullpath)
|
Dim extension = Path.GetExtension(fullpath)
|
||||||
@@ -446,7 +461,10 @@ Public Class ClassDOC_SEARCH
|
|||||||
rowvalue = ""
|
rowvalue = ""
|
||||||
End If
|
End If
|
||||||
_step = "9.1 rowvalue for Colname [" & Colname & "]: [" & rowvalue.ToString & "]"
|
_step = "9.1 rowvalue for Colname [" & Colname & "]: [" & rowvalue.ToString & "]"
|
||||||
|
If EnableVerboseGridLogging Then
|
||||||
LOGGER.Debug("rowvalue for Colname [" & Colname & "]: [" & rowvalue.ToString & "]")
|
LOGGER.Debug("rowvalue for Colname [" & Colname & "]: [" & rowvalue.ToString & "]")
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
If CURRENT_SEARCH_TYPE = "RECORD" Then
|
If CURRENT_SEARCH_TYPE = "RECORD" Then
|
||||||
LOGGER.Warn("Unexpected Error in GetVariableValue for Column [" & Colname & "] - Error: " & ex.Message)
|
LOGGER.Warn("Unexpected Error in GetVariableValue for Column [" & Colname & "] - Error: " & ex.Message)
|
||||||
|
|||||||
@@ -343,9 +343,9 @@ Public Class ClassDocGrid
|
|||||||
Dim sql = String.Format(
|
Dim sql = String.Format(
|
||||||
"SELECT T.[GUID],T.[DocID],T.[CONFIG_ID],T1.HEADER_CAPTION,T.[VALUE],T1.[LANGUAGE], " &
|
"SELECT T.[GUID],T.[DocID],T.[CONFIG_ID],T1.HEADER_CAPTION,T.[VALUE],T1.[LANGUAGE], " &
|
||||||
"T1.COLUMN_VIEW,T1.EDITABLE,T1.TYPE_ID,T1.VISIBLE,T.CHANGED_WHEN,T.CHANGED_WHO " &
|
"T1.COLUMN_VIEW,T1.EDITABLE,T1.TYPE_ID,T1.VISIBLE,T.CHANGED_WHEN,T.CHANGED_WHO " &
|
||||||
"FROM TBPMO_DOC_VALUES T " &
|
"FROM TBPMO_DOC_VALUES T WITH (NOLOCK) " &
|
||||||
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP ON T.RECORD_ID = TTEMP.RECORD_ID " &
|
"INNER JOIN TBPMO_STRUCTURE_NODES_USER_TEMP TTEMP WITH (NOLOCK) ON T.RECORD_ID = TTEMP.RECORD_ID " &
|
||||||
"RIGHT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 ON T.CONFIG_ID = T1.GUID " &
|
"RIGHT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WITH (NOLOCK) ON T.CONFIG_ID = T1.GUID " &
|
||||||
"WHERE T1.ENTITY_ID = {0} AND LANGUAGE = '{1}' AND T1.CONFIG_COLUMNS = 1",
|
"WHERE T1.ENTITY_ID = {0} AND LANGUAGE = '{1}' AND T1.CONFIG_COLUMNS = 1",
|
||||||
CURRENT_ENTITY_ID, USER_LANGUAGE)
|
CURRENT_ENTITY_ID, USER_LANGUAGE)
|
||||||
Return MYDB_ECM.GetDatatable(sql)
|
Return MYDB_ECM.GetDatatable(sql)
|
||||||
@@ -358,8 +358,8 @@ Public Class ClassDocGrid
|
|||||||
Dim sql = String.Format(
|
Dim sql = String.Format(
|
||||||
"SELECT T.[GUID],T.[DocID],T.[CONFIG_ID],T1.HEADER_CAPTION,T.[VALUE],T1.[LANGUAGE], " &
|
"SELECT T.[GUID],T.[DocID],T.[CONFIG_ID],T1.HEADER_CAPTION,T.[VALUE],T1.[LANGUAGE], " &
|
||||||
"T1.COLUMN_VIEW,T1.EDITABLE,T1.TYPE_ID,T1.VISIBLE,T.CHANGED_WHEN,T.CHANGED_WHO " &
|
"T1.COLUMN_VIEW,T1.EDITABLE,T1.TYPE_ID,T1.VISIBLE,T.CHANGED_WHEN,T.CHANGED_WHO " &
|
||||||
"FROM TBPMO_DOC_VALUES T " &
|
"FROM TBPMO_DOC_VALUES T WITH (NOLOCK) " &
|
||||||
"RIGHT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 ON T.CONFIG_ID = T1.GUID " &
|
"RIGHT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WITH (NOLOCK) ON T.CONFIG_ID = T1.GUID " &
|
||||||
"WHERE T1.ENTITY_ID = {0} AND LANGUAGE = '{1}' AND T1.CONFIG_COLUMNS = 1 AND T.RECORD_ID = {2}",
|
"WHERE T1.ENTITY_ID = {0} AND LANGUAGE = '{1}' AND T1.CONFIG_COLUMNS = 1 AND T.RECORD_ID = {2}",
|
||||||
CURRENT_ENTITY_ID, USER_LANGUAGE, RECORD_ID)
|
CURRENT_ENTITY_ID, USER_LANGUAGE, RECORD_ID)
|
||||||
Return MYDB_ECM.GetDatatable(sql)
|
Return MYDB_ECM.GetDatatable(sql)
|
||||||
@@ -434,6 +434,7 @@ Public Class ClassDocGrid
|
|||||||
|
|
||||||
' ── 3. KRITISCH: Performance-optimiertes DataSource-Setzen ───────────
|
' ── 3. KRITISCH: Performance-optimiertes DataSource-Setzen ───────────
|
||||||
_isGridRefreshing = True ' Flag setzen VOR DataSource-Änderung
|
_isGridRefreshing = True ' Flag setzen VOR DataSource-Änderung
|
||||||
|
IsBulkSelectionActive = True '
|
||||||
Try
|
Try
|
||||||
pDocGridView.BeginDataUpdate() ' Events unterdrücken
|
pDocGridView.BeginDataUpdate() ' Events unterdrücken
|
||||||
pDocGridView.BeginUpdate() ' UI-Updates unterdrücken
|
pDocGridView.BeginUpdate() ' UI-Updates unterdrücken
|
||||||
@@ -527,6 +528,7 @@ Public Class ClassDocGrid
|
|||||||
|
|
||||||
' ── 6. KRITISCH: Flag ERST JETZT zurücksetzen! ────────────────────────────
|
' ── 6. KRITISCH: Flag ERST JETZT zurücksetzen! ────────────────────────────
|
||||||
_isGridRefreshing = False
|
_isGridRefreshing = False
|
||||||
|
IsBulkSelectionActive = False ' ← NEU: erst hier, NACH BestFitColumns
|
||||||
|
|
||||||
' Alle Spalten aus ReadOnly setzen, danach werden alle passenden auf nicht ReadOnly gesetzt
|
' Alle Spalten aus ReadOnly setzen, danach werden alle passenden auf nicht ReadOnly gesetzt
|
||||||
For Each column As GridColumn In pDocGridView.Columns
|
For Each column As GridColumn In pDocGridView.Columns
|
||||||
|
|||||||
Binary file not shown.
162
app/DD-Record-Organizer/Log_orgFLOW.txt
Normal file
162
app/DD-Record-Organizer/Log_orgFLOW.txt
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
10:26:37.5843|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> FocusedNodeChanged: NodeID=1889, NodeCaption='52 Kreispläne', NodeConfigID=23, RecordID=660188
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBOF_MAP_RIGHT_NODE_ADD_USER WITH (NOLOCK) WHERE FK_TBPMO_SN_CONFIG_ID = 23 AND FK_TBDDUSER_ID = 0] and Parameters []
|
||||||
|
10:26:37.5843|frmNodeNavigation_Entity6|INFO >> MoveNext -> Node changed: NodeID=23, NodeGUID=835919, ConfigNodesFound=0, ButtonVisible=Never, HasAddRightForConfigNode=False, ConfigTableRows=0
|
||||||
|
10:26:37.5843|frmNodeNavigation_Entity6|DEBUG >> UpdateCreateNodeButtonState -> UpdateCreateNodeButtonState called - Visibility=Never, CurrentEnabled=False, AvailableNodes=0, ConfigTableExists=True, HasAddRightForConfigNode=False, RIGHT_RECORD_AND_FILE_READ_ONLY=False, USER_IS_ADMIN=True
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.5843|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = 660188] and Parameters []
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT IN_WORK, IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = 660188] and Parameters []
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.5993|MSSQLServer|DEBUG >> ExecuteNonQueryWithConnectionObject -> ExecuteNonQueryWithConnectionObject: Running Command [EXEC PRPMO_RECORD_CHECK_INTEGRITY 660188,'digitaldata',False] and Parameters []
|
||||||
|
10:26:37.6713|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [OVERLAY] ShowOverlayForm called at 10:26:37.671
|
||||||
|
10:26:37.6713|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> Show_Selected_Record_Data_NonBlocking: RecordID=660188, LoadData=True
|
||||||
|
10:26:37.6713|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> RECORD ID: 660188
|
||||||
|
10:26:37.6713|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.6713|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.6713|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = 660188] and Parameters []
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM VWPMO_CONTROL_HINT WHERE FORM_ID = 6] and Parameters []
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT
|
||||||
|
ADDED_WHO,
|
||||||
|
CONVERT(VARCHAR(16),ADDED_WHEN,20) AS ADDED_WHEN,
|
||||||
|
COALESCE(CHANGED_WHO,'') AS CHANGED_WHO,
|
||||||
|
COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') AS CHANGED_WHEN
|
||||||
|
FROM TBPMO_RECORD WITH (NOLOCK) WHERE GUID = 660188] and Parameters []
|
||||||
|
10:26:37.6753|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [OVERLAY] CloseOverlayForm (after ControlLoading) called at 10:26:37.683
|
||||||
|
10:26:37.6753|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] RUN_DOCSEARCH START at 10:26:37.687
|
||||||
|
10:26:37.6753|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] Get_DOC_RESULTTABLE START at 10:26:37.688
|
||||||
|
10:26:37.6753|ClassInit|DEBUG >> GET_DOCSEARCH_DATATABLE -> SQL_DOC_SEARCH: SELECT
|
||||||
|
CONVERT(BIGINT,T.DocID) DocID
|
||||||
|
,T.dwVersionID
|
||||||
|
,T.FULL_FILENAME
|
||||||
|
,T.[Filename]
|
||||||
|
,T.Doctype
|
||||||
|
,T.[Version]
|
||||||
|
,T.Creation_DateTime
|
||||||
|
,T.Change_DateTime
|
||||||
|
,T.OBJECTTYPE
|
||||||
|
,T.DISPLAY_NAME
|
||||||
|
,T.IN_WORK
|
||||||
|
,T.IN_WORK_USER
|
||||||
|
,T.IN_WORK_COMMENT,
|
||||||
|
ISNULL(T1.VALUE,'') AS OPTION1,
|
||||||
|
ISNULL(T2.VALUE,'') AS OPTION2,
|
||||||
|
ISNULL(T3.VALUE,'') AS OPTION3,
|
||||||
|
ISNULL(T4.VALUE,'') AS OPTION4,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX1') AS DOCIDX1,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX2') AS DOCIDX2,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX3') AS DOCIDX3,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX4') AS DOCIDX4,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN1','7',TRL.RECORD_ID) AS DROPDOWN1,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN2','7',TRL.RECORD_ID) AS DROPDOWN2,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN3','7',TRL.RECORD_ID) AS DROPDOWN3,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN4','7',TRL.RECORD_ID) AS DROPDOWN4,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID),'') AS VALUE1,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID),'') AS VALUE2,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID),'') AS VALUE3,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID),'') AS VALUE4,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC4.GUID),'') AS VALUE5,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC5.GUID),'') AS VALUE6,
|
||||||
|
dwAccessRight AS ACCESS_RIGHT
|
||||||
|
FROM
|
||||||
|
VWPMO_DOC_SEARCH T
|
||||||
|
INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID
|
||||||
|
INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID
|
||||||
|
INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = 'de-DE' AND TRC.GUID = 106
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = 'de-DE' AND TRC1.GUID = 107
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = 'de-DE' AND TRC2.GUID = 109
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = 'de-DE' AND TRC3.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC4 ON TR.FORM_ID = TRC4.ENTITY_ID AND TRC4.LANGUAGE = 'de-DE' AND TRC4.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC5 ON TR.FORM_ID = TRC5.ENTITY_ID AND TRC5.LANGUAGE = 'de-DE' AND TRC5.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = 0
|
||||||
|
WHERE
|
||||||
|
TRL.RECORD_ID = 660188 AND TR.FORM_ID = 6 AND TRIGHTS.dwUserOrGroupID = 1001479
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:37.6753|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT
|
||||||
|
CONVERT(BIGINT,T.DocID) DocID
|
||||||
|
,T.dwVersionID
|
||||||
|
,T.FULL_FILENAME
|
||||||
|
,T.[Filename]
|
||||||
|
,T.Doctype
|
||||||
|
,T.[Version]
|
||||||
|
,T.Creation_DateTime
|
||||||
|
,T.Change_DateTime
|
||||||
|
,T.OBJECTTYPE
|
||||||
|
,T.DISPLAY_NAME
|
||||||
|
,T.IN_WORK
|
||||||
|
,T.IN_WORK_USER
|
||||||
|
,T.IN_WORK_COMMENT,
|
||||||
|
ISNULL(T1.VALUE,'') AS OPTION1,
|
||||||
|
ISNULL(T2.VALUE,'') AS OPTION2,
|
||||||
|
ISNULL(T3.VALUE,'') AS OPTION3,
|
||||||
|
ISNULL(T4.VALUE,'') AS OPTION4,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX1') AS DOCIDX1,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX2') AS DOCIDX2,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX3') AS DOCIDX3,
|
||||||
|
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,6,'DOCIDX4') AS DOCIDX4,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN1','7',TRL.RECORD_ID) AS DROPDOWN1,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN2','7',TRL.RECORD_ID) AS DROPDOWN2,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN3','7',TRL.RECORD_ID) AS DROPDOWN3,
|
||||||
|
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,6,'DROPDOWN4','7',TRL.RECORD_ID) AS DROPDOWN4,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID),'') AS VALUE1,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID),'') AS VALUE2,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID),'') AS VALUE3,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID),'') AS VALUE4,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC4.GUID),'') AS VALUE5,
|
||||||
|
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC5.GUID),'') AS VALUE6,
|
||||||
|
dwAccessRight AS ACCESS_RIGHT
|
||||||
|
FROM
|
||||||
|
VWPMO_DOC_SEARCH T
|
||||||
|
INNER JOIN TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID
|
||||||
|
INNER JOIN TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID
|
||||||
|
INNER JOIN VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = 'de-DE' AND TRC.GUID = 106
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = 'de-DE' AND TRC1.GUID = 107
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = 'de-DE' AND TRC2.GUID = 109
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = 'de-DE' AND TRC3.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC4 ON TR.FORM_ID = TRC4.ENTITY_ID AND TRC4.LANGUAGE = 'de-DE' AND TRC4.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC5 ON TR.FORM_ID = TRC5.ENTITY_ID AND TRC5.LANGUAGE = 'de-DE' AND TRC5.GUID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = 0
|
||||||
|
LEFT JOIN TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = 0
|
||||||
|
WHERE
|
||||||
|
TRL.RECORD_ID = 660188 AND TR.FORM_ID = 6 AND TRIGHTS.dwUserOrGroupID = 1001479] and Parameters []
|
||||||
|
10:26:40.2543|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] Get_DOC_RESULTTABLE END at 10:26:40.254 - Rows=1236
|
||||||
|
10:26:40.2543|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] FillColumns START at 10:26:40.254
|
||||||
|
10:26:40.2543|ClassInit|DEBUG >> GetOrLoad -> Cache MISS: DocDetailValues_E6_R660188_Lde-DE - Loading from DB...
|
||||||
|
10:26:40.2543|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=ARNSR033;Database=DD_ECM;User Id=XXXXX;Password=XXXXX;
|
||||||
|
10:26:40.2543|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction]
|
||||||
|
10:26:40.2543|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT T.[GUID],T.[DocID],T.[CONFIG_ID],T1.HEADER_CAPTION,T.[VALUE],T1.[LANGUAGE], T1.COLUMN_VIEW,T1.EDITABLE,T1.TYPE_ID,T1.VISIBLE,T.CHANGED_WHEN,T.CHANGED_WHO FROM TBPMO_DOC_VALUES T WITH (NOLOCK) RIGHT JOIN TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WITH (NOLOCK) ON T.CONFIG_ID = T1.GUID WHERE T1.ENTITY_ID = 6 AND LANGUAGE = 'de-DE' AND T1.CONFIG_COLUMNS = 1 AND T.RECORD_ID = 660188] and Parameters []
|
||||||
|
10:26:40.4074|ClassInit|DEBUG >> FillColumns -> Values loaded...
|
||||||
|
10:26:40.4074|ClassInit|DEBUG >> FillColumns -> tables added to ds.Tables...
|
||||||
|
10:26:40.4074|ClassInit|DEBUG >> FillColumns -> tables added to ds.Tables...
|
||||||
|
10:26:40.4074|ClassInit|DEBUG >> FillColumns -> parentColumn.DataType: System.Int32
|
||||||
|
10:26:40.4074|ClassInit|DEBUG >> FillColumns -> childColumn.DataType: System.Int32
|
||||||
|
10:26:40.4104|ClassInit|DEBUG >> FillColumns -> relationdocIdDetails created...
|
||||||
|
10:26:40.4564|ClassInit|DEBUG >> FillColumns -> Adapting DisplayFormat (DATETIME for Column Revisions-Datum
|
||||||
|
10:26:40.4813|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] FillColumns END at 10:26:40.481
|
||||||
|
10:26:40.4813|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> [DOCSEARCH] RUN_DOCSEARCH END at 10:26:40.482 - 1236 documents found
|
||||||
|
10:26:40.4813|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> Node_AfterSelect=True - DocView collapsed
|
||||||
|
10:26:40.4813|frmNodeNavigation_Entity6|DEBUG >> MoveNext -> Show_Selected_Record_Data_NonBlocking completed
|
||||||
|
10:26:40.4813|ClassInit|INFO >> Check_Set_Rights -> ClassRightManagement...NO DEFINTION FOR GROUP- OR USER-RIGHT!
|
||||||
|
10:26:40.4813|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_EDIT_R: False
|
||||||
|
10:26:40.4813|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_ADD_R: False
|
||||||
|
10:26:40.4874|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_DELETE_R: False
|
||||||
|
10:26:40.4874|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_ADD_DOC: False
|
||||||
|
10:26:40.4874|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_VIEW_DOC: True
|
||||||
|
10:26:40.4874|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_DELETE_DOC: False
|
||||||
|
10:26:40.4874|ClassInit|DEBUG >> Check_Set_Rights -> ClassRightManagement-RIGHT_READ_ONLY_DOC: False
|
||||||
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("3.7.3.0")>
|
<Assembly: AssemblyVersion("3.7.4.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||||
|
|
||||||
<Assembly: NeutralResourcesLanguageAttribute("")>
|
<Assembly: NeutralResourcesLanguageAttribute("")>
|
||||||
@@ -1726,7 +1726,7 @@
|
|||||||
<None Include="MailLicense.xml">
|
<None Include="MailLicense.xml">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<Content Include="Log_ewa.txt" />
|
<Content Include="Log_orgFLOW.txt" />
|
||||||
<Content Include="ORGFLOW_Icon_16x16.ico" />
|
<Content Include="ORGFLOW_Icon_16x16.ico" />
|
||||||
<Content Include="ORGFLOW_Icon_256x256.ico" />
|
<Content Include="ORGFLOW_Icon_256x256.ico" />
|
||||||
<Content Include="Resources\cube.ico" />
|
<Content Include="Resources\cube.ico" />
|
||||||
|
|||||||
@@ -1,126 +1,78 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports DevExpress.XtraGrid.Columns
|
Imports DevExpress.XtraGrid.Columns
|
||||||
Public Class frmDocRecordLink
|
Public Class frmDocRecordLink
|
||||||
|
|
||||||
Public Property myDocuments As New List(Of ClassDocGrid.clsWMDoc)
|
Public Property myDocuments As New List(Of ClassDocGrid.clsWMDoc)
|
||||||
|
|
||||||
Private CURRENT_LINK_ENTITY_ID As Integer = 0
|
Private CURRENT_LINK_ENTITY_ID As Integer = 0
|
||||||
Private ENTITY_LOAD_ACTIVE As Boolean = False
|
Private ENTITY_LOAD_ACTIVE As Boolean = False
|
||||||
Private DT_ENTITYDATA As DataTable
|
Private DT_ENTITYDATA As DataTable
|
||||||
|
|
||||||
Private Class ClassEntity
|
Private Class ClassEntity
|
||||||
Public title As String
|
Public title As String
|
||||||
Public id As Integer
|
Public id As Integer
|
||||||
|
|
||||||
Public Overrides Function ToString() As String
|
Public Overrides Function ToString() As String
|
||||||
Return Me.title
|
Return Me.title
|
||||||
End Function
|
End Function
|
||||||
End Class
|
End Class
|
||||||
Private Function GET_CURRENT_ENTITY_DATA()
|
|
||||||
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
Dim oDatatable As DataTable = CURRENT_DT_ENTITY_RECORDS.Copy
|
|
||||||
Return oDatatable
|
|
||||||
End Function
|
|
||||||
Sub Refresh_Grid_Data(current As Boolean, ENTITY_DATATABLE As DataTable)
|
|
||||||
Dim DT_RECORDS As DataTable
|
|
||||||
If current = True Then
|
|
||||||
DT_RECORDS = GET_CURRENT_ENTITY_DATA()
|
|
||||||
|
|
||||||
Else
|
Private Function GET_CURRENT_ENTITY_DATA() As DataTable
|
||||||
DT_RECORDS = ENTITY_DATATABLE
|
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then Return Nothing
|
||||||
End If
|
Return CURRENT_DT_ENTITY_RECORDS.Copy()
|
||||||
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Lädt das Grid neu.
|
||||||
|
''' Wenn current=True wird versucht, die zuletzt gewählte Entity korrekt zu laden.
|
||||||
|
''' </summary>
|
||||||
|
Sub Refresh_Grid_Data(current As Boolean, ENTITY_DATATABLE As DataTable)
|
||||||
If CURRENT_LINK_ENTITY_ID = 0 Then
|
If CURRENT_LINK_ENTITY_ID = 0 Then
|
||||||
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
|
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Dim DT_RECORDS As DataTable
|
||||||
|
If current = True Then
|
||||||
|
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
|
||||||
|
DT_RECORDS = GET_CURRENT_ENTITY_DATA()
|
||||||
|
Else
|
||||||
|
DT_RECORDS = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
|
||||||
|
DT_ENTITYDATA = DT_RECORDS
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
DT_RECORDS = ENTITY_DATATABLE
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
grvwGrid.Columns.Clear()
|
grvwGrid.Columns.Clear()
|
||||||
dgEntityRecords.DataSource = DT_RECORDS
|
dgEntityRecords.DataSource = DT_RECORDS
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in format grid", ex.Message, ex.StackTrace)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in format grid", ex.Message, ex.StackTrace)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
' OLD WAY
|
|
||||||
If myDocuments.Count = 0 Then
|
|
||||||
ENTITY_LOAD_ACTIVE = True
|
ENTITY_LOAD_ACTIVE = True
|
||||||
If ClassDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
|
|
||||||
txtFileInfo.Text = ClassDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")
|
|
||||||
Else
|
|
||||||
txtFileInfo.Text = String.Format("{0} files selected for linking to record", ClassDocGrid.DT_RESULTFILES.Rows.Count)
|
|
||||||
End If
|
|
||||||
Try
|
|
||||||
If CURRENT_LINK_ENTITY_ID = 0 Then
|
|
||||||
Refresh_Grid_Data(True, Nothing)
|
|
||||||
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
|
|
||||||
Else
|
|
||||||
Dim DT_RESULT As DataTable
|
|
||||||
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
|
|
||||||
DT_RESULT = CURRENT_DT_ENTITY_RECORDS
|
|
||||||
Else
|
|
||||||
DT_RESULT = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not IsNothing(DT_RESULT) Then
|
|
||||||
Refresh_Grid_Data(False, DT_RESULT)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Dim DT_ENTITIES As DataTable = GetENTITIES()
|
|
||||||
Dim oSelectedIndex As Integer = 0
|
|
||||||
|
|
||||||
If DT_ENTITIES.Rows.Count = 0 Then
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
Dim oCount = 0
|
|
||||||
For Each row As DataRow In DT_ENTITIES.Rows
|
|
||||||
Dim entity As New ClassEntity
|
|
||||||
entity.title = row.Item("FORM_TITLE")
|
|
||||||
entity.id = row.Item("FORM_ID")
|
|
||||||
cmbConstructorForms.Items.Add(entity)
|
|
||||||
If CURRENT_LINK_ENTITY_ID = entity.id Then
|
|
||||||
txtcurrSichtData.Text = entity.title
|
|
||||||
oSelectedIndex = oCount
|
|
||||||
End If
|
|
||||||
oCount += 1
|
|
||||||
Next
|
|
||||||
If USER_LANGUAGE = "de-DE" Then
|
|
||||||
Me.Text = CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:"
|
|
||||||
Else
|
|
||||||
Me.Text = "Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:"
|
|
||||||
End If
|
|
||||||
' Den index der aktuell geöffneten ConstructorForm setzen
|
|
||||||
cmbConstructorForms.SelectedIndex = oSelectedIndex
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDocRecordLink_Load", ex.Message, ex.StackTrace)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
Load_DocGrid_Layout()
|
|
||||||
bsiInfo.Caption = "Waiting for record-Selection....."
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
' Dateiinfo-Text setzen
|
||||||
If myDocuments.Count > 0 Then
|
If myDocuments.Count > 0 Then
|
||||||
ENTITY_LOAD_ACTIVE = True
|
txtFileInfo.Text = If(myDocuments.Count = 1,
|
||||||
If myDocuments.Count = 1 Then
|
myDocuments.First.DocPath,
|
||||||
txtFileInfo.Text = myDocuments.First.DocPath
|
String.Format("{0} files selected for linking to record", myDocuments.Count))
|
||||||
Else
|
Else
|
||||||
txtFileInfo.Text = String.Format("{0} files selected for linking to record", myDocuments.Count)
|
txtFileInfo.Text = If(ClassDocGrid.DT_RESULTFILES.Rows.Count = 1,
|
||||||
|
ClassDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH").ToString(),
|
||||||
|
String.Format("{0} files selected for linking to record", ClassDocGrid.DT_RESULTFILES.Rows.Count))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Try
|
Try
|
||||||
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
|
If myDocuments.Count > 0 AndAlso IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
|
||||||
Me.Close()
|
Me.Close()
|
||||||
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If CURRENT_LINK_ENTITY_ID = 0 Then
|
If CURRENT_LINK_ENTITY_ID = 0 Then
|
||||||
Refresh_Grid_Data(True, Nothing)
|
Refresh_Grid_Data(True, Nothing)
|
||||||
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
|
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
|
||||||
|
DT_ENTITYDATA = GET_CURRENT_ENTITY_DATA()
|
||||||
Else
|
Else
|
||||||
Dim DT_RESULT As DataTable
|
Dim DT_RESULT As DataTable
|
||||||
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
|
If CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID Then
|
||||||
@@ -128,20 +80,17 @@ Public Class frmDocRecordLink
|
|||||||
Else
|
Else
|
||||||
DT_RESULT = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
|
DT_RESULT = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not IsNothing(DT_RESULT) Then
|
If Not IsNothing(DT_RESULT) Then
|
||||||
|
DT_ENTITYDATA = DT_RESULT
|
||||||
Refresh_Grid_Data(False, DT_RESULT)
|
Refresh_Grid_Data(False, DT_RESULT)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim DT_ENTITIES As DataTable = GetENTITIES()
|
Dim DT_ENTITIES As DataTable = GetENTITIES()
|
||||||
Dim oSelectedIndex As Integer = 0
|
If IsNothing(DT_ENTITIES) OrElse DT_ENTITIES.Rows.Count = 0 Then Exit Sub
|
||||||
|
|
||||||
If DT_ENTITIES.Rows.Count = 0 Then
|
Dim oSelectedIndex As Integer = 0
|
||||||
Exit Sub
|
Dim oCount As Integer = 0
|
||||||
End If
|
|
||||||
Dim oCount = 0
|
|
||||||
For Each row As DataRow In DT_ENTITIES.Rows
|
For Each row As DataRow In DT_ENTITIES.Rows
|
||||||
Dim entity As New ClassEntity
|
Dim entity As New ClassEntity
|
||||||
entity.title = row.Item("FORM_TITLE")
|
entity.title = row.Item("FORM_TITLE")
|
||||||
@@ -153,12 +102,11 @@ Public Class frmDocRecordLink
|
|||||||
End If
|
End If
|
||||||
oCount += 1
|
oCount += 1
|
||||||
Next
|
Next
|
||||||
If USER_LANGUAGE = "de-DE" Then
|
|
||||||
Me.Text = CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:"
|
Me.Text = If(USER_LANGUAGE = "de-DE",
|
||||||
Else
|
CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:",
|
||||||
Me.Text = "Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:"
|
"Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:")
|
||||||
End If
|
|
||||||
' Den index der aktuell geöffneten ConstructorForm setzen
|
|
||||||
cmbConstructorForms.SelectedIndex = oSelectedIndex
|
cmbConstructorForms.SelectedIndex = oSelectedIndex
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -167,16 +115,13 @@ Public Class frmDocRecordLink
|
|||||||
|
|
||||||
Load_DocGrid_Layout()
|
Load_DocGrid_Layout()
|
||||||
bsiInfo.Caption = "Waiting for record-Selection....."
|
bsiInfo.Caption = "Waiting for record-Selection....."
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function GetENTITIES() As DataTable
|
Private Function GetENTITIES() As DataTable
|
||||||
Try
|
Try
|
||||||
Dim SQL As String = String.Format("SELECT DISTINCT FORM_ID,FORM_TITLE,SEQUENCE FROM VWPMO_CONSTRUCTOR_FORMS where CONSTRUCT_ID in " &
|
Dim SQL As String = String.Format("SELECT DISTINCT FORM_ID,FORM_TITLE,SEQUENCE FROM VWPMO_CONSTRUCTOR_FORMS " &
|
||||||
"(SELECT CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0}) ORDER BY SEQUENCE", USER_GUID)
|
"where CONSTRUCT_ID in (SELECT CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0}) ORDER BY SEQUENCE", USER_GUID)
|
||||||
Dim dt As DataTable = MYDB_ECM.GetDatatable(SQL)
|
Return MYDB_ECM.GetDatatable(SQL)
|
||||||
Return dt
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Entities could not be loaded in LinkToRecord: " & vbNewLine & ex.Message)
|
MsgBox("Entities could not be loaded in LinkToRecord: " & vbNewLine & ex.Message)
|
||||||
Return Nothing
|
Return Nothing
|
||||||
@@ -187,25 +132,23 @@ Public Class frmDocRecordLink
|
|||||||
Try
|
Try
|
||||||
If Not IsNothing(dgEntityRecords.DataSource) Then
|
If Not IsNothing(dgEntityRecords.DataSource) Then
|
||||||
Dim RecordId As Integer = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("Record-ID"))
|
Dim RecordId As Integer = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("Record-ID"))
|
||||||
|
|
||||||
bsiInfo.Caption = "Record (" & RecordId.ToString & ") selected!"
|
bsiInfo.Caption = "Record (" & RecordId.ToString & ") selected!"
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Could not get the RecordID: " & ex.Message, MsgBoxStyle.Exclamation)
|
MsgBox("Could not get the RecordID: " & ex.Message, MsgBoxStyle.Exclamation)
|
||||||
|
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Save_DocGrid_Layout()
|
Sub Save_DocGrid_Layout()
|
||||||
Try
|
Try
|
||||||
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
||||||
grvwGrid.SaveLayoutToXml(XMLPath)
|
grvwGrid.SaveLayoutToXml(XMLPath)
|
||||||
bsiInfo.Caption = "Grid-Layout saved - " + Now.ToLongTimeString
|
bsiInfo.Caption = "Grid-Layout saved - " + Now.ToLongTimeString
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Save_DocGrid_Layout", ex.Message, ex.StackTrace)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Save_DocGrid_Layout", ex.Message, ex.StackTrace)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Load_DocGrid_Layout()
|
Sub Load_DocGrid_Layout()
|
||||||
Try
|
Try
|
||||||
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
||||||
@@ -213,16 +156,17 @@ Public Class frmDocRecordLink
|
|||||||
grvwGrid.RestoreLayoutFromXml(XMLPath)
|
grvwGrid.RestoreLayoutFromXml(XMLPath)
|
||||||
grvwGrid.GuessAutoFilterRowValuesFromFilter()
|
grvwGrid.GuessAutoFilterRowValuesFromFilter()
|
||||||
bsiInfo.Caption = "Grid-Layout loaded - " + Now.ToLongTimeString
|
bsiInfo.Caption = "Grid-Layout loaded - " + Now.ToLongTimeString
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Load_DocGrid_Layout", ex.Message, ex.StackTrace)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Load_DocGrid_Layout", ex.Message, ex.StackTrace)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Private Function Get_DocGrid_Layout_Filename()
|
|
||||||
|
Private Function Get_DocGrid_Layout_Filename() As String
|
||||||
Dim Filename As String = String.Format("GridViewDocRecordLink-{0}-UserLayout.xml", CURRENT_LINK_ENTITY_ID)
|
Dim Filename As String = String.Format("GridViewDocRecordLink-{0}-UserLayout.xml", CURRENT_LINK_ENTITY_ID)
|
||||||
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
|
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub frmDocRecordLink_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
Private Sub frmDocRecordLink_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
||||||
If ENTITY_LOAD_ACTIVE = False Then Save_DocGrid_Layout()
|
If ENTITY_LOAD_ACTIVE = False Then Save_DocGrid_Layout()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -231,6 +175,7 @@ Public Class frmDocRecordLink
|
|||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
If cmbConstructorForms.SelectedIndex <> -1 Then
|
If cmbConstructorForms.SelectedIndex <> -1 Then
|
||||||
Dim entity As ClassEntity = DirectCast(cmbConstructorForms.SelectedItem, ClassEntity)
|
Dim entity As ClassEntity = DirectCast(cmbConstructorForms.SelectedItem, ClassEntity)
|
||||||
|
LOGGER.Debug("Selected Entity: {0} (ID: {1})", entity.title, entity.id)
|
||||||
ENTITY_LOAD_ACTIVE = True
|
ENTITY_LOAD_ACTIVE = True
|
||||||
dgEntityRecords.DataSource = Nothing
|
dgEntityRecords.DataSource = Nothing
|
||||||
grvwGrid.Columns.Clear()
|
grvwGrid.Columns.Clear()
|
||||||
@@ -240,23 +185,26 @@ Public Class frmDocRecordLink
|
|||||||
CURRENT_LINK_ENTITY_ID = entity.id
|
CURRENT_LINK_ENTITY_ID = entity.id
|
||||||
txtcurrSichtData.Text = entity.title
|
txtcurrSichtData.Text = entity.title
|
||||||
DT_ENTITYDATA = DT_RESULT
|
DT_ENTITYDATA = DT_RESULT
|
||||||
|
LOGGER.Debug("Data for Entity {0} loaded with {1} records", entity.title, DT_RESULT.Rows.Count)
|
||||||
Refresh_Grid_Data(False, DT_RESULT)
|
Refresh_Grid_Data(False, DT_RESULT)
|
||||||
End If
|
End If
|
||||||
Load_DocGrid_Layout()
|
Load_DocGrid_Layout()
|
||||||
Else
|
Else
|
||||||
bsiInfo.Caption = "Bitte wöhlen Sie eine Sicht aus! " + Now.ToShortTimeString
|
bsiInfo.Caption = "Bitte wählen Sie eine Sicht aus! " + Now.ToShortTimeString
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' FIX Problem A: ENTITY_LOAD_ACTIVE nach abgeschlossenem Ladevorgang zurücksetzen
|
||||||
|
ENTITY_LOAD_ACTIVE = False
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function ReturnDataforEntity(oEntityID As Integer) As DataTable
|
Private Function ReturnDataforEntity(oEntityID As Integer) As DataTable
|
||||||
Dim ResultSQL, ResultViewName As String
|
Dim ResultSQL, ResultViewName As String
|
||||||
LOGGER.Debug("GridType = Grid")
|
LOGGER.Debug("GridType = Grid")
|
||||||
ResultViewName = $"VWPMO_ENTITY_TABLE{oEntityID}"
|
ResultViewName = $"VWPMO_ENTITY_TABLE{oEntityID}"
|
||||||
bsitmSource.Caption = $"Source: " + ResultViewName
|
bsitmSource.Caption = $"Source: " + ResultViewName
|
||||||
ResultSQL = $"SELECT T.* FROM {ResultViewName} T"
|
ResultSQL = $"SELECT T.* FROM {ResultViewName} T"
|
||||||
LOGGER.Debug("ResultSQL: " & ResultSQL)
|
LOGGER.Debug("Executing SQL to load entity data: " & ResultSQL)
|
||||||
|
|
||||||
Return MYDB_ECM.GetDatatable(ResultSQL)
|
Return MYDB_ECM.GetDatatable(ResultSQL)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -269,15 +217,13 @@ Public Class frmDocRecordLink
|
|||||||
Dim selectedRows As Integer() = grvwGrid.GetSelectedRows()
|
Dim selectedRows As Integer() = grvwGrid.GetSelectedRows()
|
||||||
Dim oLinkCount As Integer = 0
|
Dim oLinkCount As Integer = 0
|
||||||
LOGGER.Info("Start der Verknüpfung - Es wurden [{0}] Datensätze ausgewählt!", selectedRows.Count)
|
LOGGER.Info("Start der Verknüpfung - Es wurden [{0}] Datensätze ausgewählt!", selectedRows.Count)
|
||||||
|
|
||||||
For Each rowhandle As Integer In selectedRows
|
For Each rowhandle As Integer In selectedRows
|
||||||
Dim oSelectedRecordID = grvwGrid.GetRowCellValue(rowhandle, "Record-ID")
|
Dim oSelectedRecordID = grvwGrid.GetRowCellValue(rowhandle, "Record-ID")
|
||||||
If IsNothing(oSelectedRecordID) Then
|
If IsNothing(oSelectedRecordID) Then Continue For
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
Try
|
Try
|
||||||
For Each oRow As DataRow In CURRENT_DT_SELECTED_FILES.Rows
|
For Each oRow As DataRow In CURRENT_DT_SELECTED_FILES.Rows
|
||||||
Dim oDocID As Integer
|
Dim oDocID As Integer = oRow.Item("DOC_ID")
|
||||||
oDocID = oRow.Item("DOC_ID")
|
|
||||||
LOGGER.Info("DocID {0} will be linked with Record {1} ", oDocID.ToString, oSelectedRecordID.ToString)
|
LOGGER.Info("DocID {0} will be linked with Record {1} ", oDocID.ToString, oSelectedRecordID.ToString)
|
||||||
Dim DOC_PATH = oRow.Item("FILEPATH")
|
Dim DOC_PATH = oRow.Item("FILEPATH")
|
||||||
Dim _objecttype = oRow.Item("OBJECTTYPE")
|
Dim _objecttype = oRow.Item("OBJECTTYPE")
|
||||||
@@ -307,12 +253,13 @@ Public Class frmDocRecordLink
|
|||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Linking Record to file", ex.Message, ex.StackTrace)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Linking Record to file", ex.Message, ex.StackTrace)
|
||||||
End Try
|
End Try
|
||||||
Next
|
Next
|
||||||
Dim omsg = $"[{oLinkCount}] Datensätze erfolgreich verknüpft! - {Now.ToShortTimeString}"
|
|
||||||
If USER_LANGUAGE <> "de-DE" Then
|
Dim omsg = If(USER_LANGUAGE = "de-DE",
|
||||||
omsg = $"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}"
|
$"[{oLinkCount}] Datensätze erfolgreich verknüpft! - {Now.ToShortTimeString}",
|
||||||
End If
|
$"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}")
|
||||||
MsgBox(omsg, MsgBoxStyle.Information, "orgFLOW")
|
MsgBox(omsg, MsgBoxStyle.Information, "orgFLOW")
|
||||||
|
|
||||||
|
DT_ENTITYDATA = ReturnDataforEntity(CURRENT_LINK_ENTITY_ID)
|
||||||
Refresh_Grid_Data(False, DT_ENTITYDATA)
|
Refresh_Grid_Data(False, DT_ENTITYDATA)
|
||||||
Load_DocGrid_Layout()
|
Load_DocGrid_Layout()
|
||||||
grvwGrid.ClearSelection()
|
grvwGrid.ClearSelection()
|
||||||
@@ -325,14 +272,14 @@ Public Class frmDocRecordLink
|
|||||||
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmresetlayout.ItemClick
|
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmresetlayout.ItemClick
|
||||||
Reset_View_layout()
|
Reset_View_layout()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Reset_View_layout()
|
Sub Reset_View_layout()
|
||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
Try
|
Try
|
||||||
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
Dim XMLPath = Get_DocGrid_Layout_Filename()
|
||||||
If File.Exists(XMLPath) Then
|
If File.Exists(XMLPath) Then
|
||||||
|
|
||||||
File.Delete(XMLPath)
|
File.Delete(XMLPath)
|
||||||
Refresh_Grid_Data(True, Nothing)
|
Refresh_Grid_Data(False, DT_ENTITYDATA)
|
||||||
Else
|
Else
|
||||||
MsgBox("Resetting the layout was not successful - File not existing!", MsgBoxStyle.Information)
|
MsgBox("Resetting the layout was not successful - File not existing!", MsgBoxStyle.Information)
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports System.Globalization
|
Imports System.ComponentModel
|
||||||
|
Imports System.Globalization
|
||||||
Imports System.Net
|
Imports System.Net
|
||||||
Imports System.Threading
|
Imports System.Threading
|
||||||
'Imports DD_LIB_Standards'
|
'Imports DD_LIB_Standards'
|
||||||
@@ -985,14 +986,14 @@ Public Class frmMain
|
|||||||
'ClassProxy.MyPROXYConnectionString = oSqlcon_Proxy
|
'ClassProxy.MyPROXYConnectionString = oSqlcon_Proxy
|
||||||
End If
|
End If
|
||||||
Dim sql = String.Format("UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 1 WHERE GUID = {0}", oINACTIVE_GUID)
|
Dim sql = String.Format("UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 1 WHERE GUID = {0}", oINACTIVE_GUID)
|
||||||
MYDB_ECM.GetScalarValue(SQL)
|
MYDB_ECM.GetScalarValue(sql)
|
||||||
If ClassInit.InitDatabase = True Then
|
If ClassInit.InitDatabase = True Then
|
||||||
ClassInit.InitUserLogin()
|
ClassInit.InitUserLogin()
|
||||||
Load_Connection_Dep_Data()
|
Load_Connection_Dep_Data()
|
||||||
|
|
||||||
sql = String.Format("UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 1 WHERE UPPER(CONN_NAME) = UPPER('{0}') AND USER_ID = {1}", oSQLDescription, USER_GUID)
|
sql = String.Format("UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 1 WHERE UPPER(CONN_NAME) = UPPER('{0}') AND USER_ID = {1}", oSQLDescription, USER_GUID)
|
||||||
Dim oSuccess As Boolean = False
|
Dim oSuccess As Boolean = False
|
||||||
If MYDB_ECM.ExecuteNonQuery(Sql) = True Then
|
If MYDB_ECM.ExecuteNonQuery(sql) = True Then
|
||||||
oSuccess = True
|
oSuccess = True
|
||||||
End If
|
End If
|
||||||
If oSuccess = True Then
|
If oSuccess = True Then
|
||||||
@@ -1029,4 +1030,19 @@ Public Class frmMain
|
|||||||
Private Sub ADDIBeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ADDIBeendenToolStripMenuItem.Click
|
Private Sub ADDIBeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ADDIBeendenToolStripMenuItem.Click
|
||||||
Me.Close()
|
Me.Close()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub frmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
||||||
|
If Not IsNothing(WMMOD) Then
|
||||||
|
LOGGER.Debug("Closing frmMain - Now logging out...")
|
||||||
|
Try
|
||||||
|
WMMOD.Session.Logout()
|
||||||
|
LOGGER.Debug("WINDREAM_MOD Session logg ed out successfully.")
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
LOGGER.Warn("Error while logging out WINDREAM_MOD Session: {0}", ex.Message)
|
||||||
|
LOGGER.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ Public Class frmNodeNavigation
|
|||||||
' "FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, oConstructID)
|
' "FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, oConstructID)
|
||||||
'DT_VWPMO_CONSTRUCTOR_FORMS = MYDB_ECM.GetDatatable(Sql)
|
'DT_VWPMO_CONSTRUCTOR_FORMS = MYDB_ECM.GetDatatable(Sql)
|
||||||
|
|
||||||
CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS = MYDB_ECM.GetDatatable(String.Format("SELECT T.* FROM TBPMO_ENTITY_RIGHT_CONTROLS T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID where T1.CONSTRUCT_ID = {0}", CONSTRUCTORID))
|
CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS = MYDB_ECM.GetDatatable(String.Format("SELECT T.* FROM TBPMO_ENTITY_RIGHT_CONTROLS T WITH (NOLOCK) INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID where T1.CONSTRUCT_ID = {0}", CONSTRUCTORID))
|
||||||
Try
|
Try
|
||||||
If DocumentViewer.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY, New DigitalData.Controls.DocumentViewer.DocumentViewer.ToolbarSettings() With {
|
If DocumentViewer.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY, New DigitalData.Controls.DocumentViewer.DocumentViewer.ToolbarSettings() With {
|
||||||
.ShowPrintButton = True,
|
.ShowPrintButton = True,
|
||||||
@@ -214,8 +214,8 @@ Public Class frmNodeNavigation
|
|||||||
'End If
|
'End If
|
||||||
ClassWindowLocation.LoadFormLocationSize(Me, CONSTRUCTORID, CURRENT_SCREEN_ID, "NODE_NAVIGATION")
|
ClassWindowLocation.LoadFormLocationSize(Me, CONSTRUCTORID, CURRENT_SCREEN_ID, "NODE_NAVIGATION")
|
||||||
Try
|
Try
|
||||||
DT_CONSTRUCT_VIEW = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
|
DT_CONSTRUCT_VIEW = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WITH (NOLOCK) WHERE GUID = " & CONSTRUCTORID)
|
||||||
Dim SEL1 = String.Format("SELECT * FROM TBPMO_FORM WHERE GUID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {0} AND CONSTRUCT_ID = {1})", CURRENT_SCREEN_ID, CONSTRUCTORID)
|
Dim SEL1 = String.Format("SELECT * FROM TBPMO_FORM WITH (NOLOCK) WHERE GUID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {0} AND CONSTRUCT_ID = {1})", CURRENT_SCREEN_ID, CONSTRUCTORID)
|
||||||
DT_ENTITY_DATA = MYDB_ECM.GetDatatable(SEL1)
|
DT_ENTITY_DATA = MYDB_ECM.GetDatatable(SEL1)
|
||||||
|
|
||||||
SEL1 = String.Format("SELECT *, dbo.FNPMO_GET_CONTROL_CAPTION ('{0}', 1, CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN", USER_LANGUAGE)
|
SEL1 = String.Format("SELECT *, dbo.FNPMO_GET_CONTROL_CAPTION ('{0}', 1, CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN", USER_LANGUAGE)
|
||||||
@@ -255,7 +255,7 @@ Public Class frmNodeNavigation
|
|||||||
Dim oTable = Await ClassNodeCommands.LoadNodes(CURRENT_ENTITY_ID)
|
Dim oTable = Await ClassNodeCommands.LoadNodes(CURRENT_ENTITY_ID)
|
||||||
DT_STRUCTURE_NODES = oTable
|
DT_STRUCTURE_NODES = oTable
|
||||||
|
|
||||||
Dim oNodeConfigSql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
|
Dim oNodeConfigSql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T WITH (NOLOCK) INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
|
||||||
Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(oNodeConfigSql)
|
Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(oNodeConfigSql)
|
||||||
|
|
||||||
Dim imageInit = TryCast(ImageCollection1, System.ComponentModel.ISupportInitialize)
|
Dim imageInit = TryCast(ImageCollection1, System.ComponentModel.ISupportInitialize)
|
||||||
@@ -375,9 +375,6 @@ Public Class frmNodeNavigation
|
|||||||
RPGNodes.Enabled = True
|
RPGNodes.Enabled = True
|
||||||
|
|
||||||
Dim oNodeId = e.Node.Id
|
Dim oNodeId = e.Node.Id
|
||||||
Console.Write($"Node ID: {oNodeId}")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim oRowObject = TreeListDevexpress.GetRow(oNodeId)
|
Dim oRowObject = TreeListDevexpress.GetRow(oNodeId)
|
||||||
|
|
||||||
@@ -385,9 +382,7 @@ Public Class frmNodeNavigation
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'If oNodeId = 0 Then
|
NNLogger.Debug($"FocusedNodeChanged: NodeID={oNodeId}, NodeCaption='{e.Node.GetDisplayText("NODE_CAPTION")}', NodeConfigID={e.Node.GetValue("NODE_CONFIG_ID")}, RecordID={e.Node.GetValue("RECORD_ID")}")
|
||||||
' Exit Sub
|
|
||||||
'End If
|
|
||||||
|
|
||||||
Dim oRowView As DataRowView = oRowObject
|
Dim oRowView As DataRowView = oRowObject
|
||||||
Dim oRow As DataRow = oRowView.Row
|
Dim oRow As DataRow = oRowView.Row
|
||||||
@@ -716,7 +711,7 @@ Public Class frmNodeNavigation
|
|||||||
End Sub
|
End Sub
|
||||||
Sub Load_Adding_users()
|
Sub Load_Adding_users()
|
||||||
Try
|
Try
|
||||||
Dim oSql = String.Format("SELECT * FROM TBPMO_ENTITY_USERRIGHT_ADDING where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
|
Dim oSql = String.Format("SELECT * FROM TBPMO_ENTITY_USERRIGHT_ADDING WITH (NOLOCK) where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
|
||||||
DT_ADDING_USERS = MYDB_ECM.GetDatatable(oSql)
|
DT_ADDING_USERS = MYDB_ECM.GetDatatable(oSql)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
NNLogger.Error(ex)
|
NNLogger.Error(ex)
|
||||||
@@ -726,7 +721,7 @@ Public Class frmNodeNavigation
|
|||||||
Private Sub Load_Configurable_Nodes()
|
Private Sub Load_Configurable_Nodes()
|
||||||
Try
|
Try
|
||||||
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||||
Dim oSql = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
|
Dim oSql = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WITH (NOLOCK) where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
|
||||||
DT_CONFIGURABLE_NODES = MYDB_ECM.GetDatatable(oSql)
|
DT_CONFIGURABLE_NODES = MYDB_ECM.GetDatatable(oSql)
|
||||||
|
|
||||||
NNLogger.Info($"Load_Configurable_Nodes: ConstructID={oConstructID}, " &
|
NNLogger.Info($"Load_Configurable_Nodes: ConstructID={oConstructID}, " &
|
||||||
@@ -863,7 +858,7 @@ Public Class frmNodeNavigation
|
|||||||
ADD_RECORDS_CONSTR = True
|
ADD_RECORDS_CONSTR = True
|
||||||
End Try
|
End Try
|
||||||
If ENTITY_TYPE = "Personal file" Then
|
If ENTITY_TYPE = "Personal file" Then
|
||||||
Dim oSQL = "SELECT CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'PA_NODE_GUID_STAMM'"
|
Dim oSQL = "SELECT CAT_STRING FROM TBDD_CATALOG WITH (NOLOCK) WHERE CAT_TITLE = 'PA_NODE_GUID_STAMM'"
|
||||||
PA_NODE_GUID_STAMM = MYDB_ECM.GetScalarValue(oSQL)
|
PA_NODE_GUID_STAMM = MYDB_ECM.GetScalarValue(oSQL)
|
||||||
oSQL = "SELECT CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'PA_NODE_CONFIG_USER_STAMM'"
|
oSQL = "SELECT CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'PA_NODE_CONFIG_USER_STAMM'"
|
||||||
PA_NODE_CONFIG_USER_STAMM = MYDB_ECM.GetScalarValue(oSQL)
|
PA_NODE_CONFIG_USER_STAMM = MYDB_ECM.GetScalarValue(oSQL)
|
||||||
@@ -886,9 +881,9 @@ Public Class frmNodeNavigation
|
|||||||
'sql = String.Format("select * from TBPMO_RIGHT_USER WHERE USER_ID = {0} AND oEntityID = {1}", USER_GUID, oEntityID)
|
'sql = String.Format("select * from TBPMO_RIGHT_USER WHERE USER_ID = {0} AND oEntityID = {1}", USER_GUID, oEntityID)
|
||||||
DT_RIGHTS_USER = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_RIGHT_USER, "ENTITY_ID = " & _ENTITY_ID, "")
|
DT_RIGHTS_USER = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_RIGHT_USER, "ENTITY_ID = " & _ENTITY_ID, "")
|
||||||
expression = String.Format("")
|
expression = String.Format("")
|
||||||
sql = String.Format("SELECT DISTINCT EDIT_REC,ADD_REC,DELETE_REC,ADD_DOC,VIEW_DOC,DELETE_DOC FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = {0} AND GROUP_ID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {1})", _ENTITY_ID, USER_GUID)
|
sql = String.Format("SELECT DISTINCT EDIT_REC,ADD_REC,DELETE_REC,ADD_DOC,VIEW_DOC,DELETE_DOC FROM TBPMO_RIGHT_GROUP WITH (NOLOCK) WHERE ENTITY_ID = {0} AND GROUP_ID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WITH (NOLOCK) WHERE USER_ID = {1})", _ENTITY_ID, USER_GUID)
|
||||||
DT_RIGHTS_GROUP = MYDB_ECM.GetDatatable(sql)
|
DT_RIGHTS_GROUP = MYDB_ECM.GetDatatable(sql)
|
||||||
sql = String.Format("SELECT VIEW_ID FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID = {0} AND [ENTITY_ID] = {1} AND USER_ID = {2}", CURRENT_CONSTRUCTOR_DETAIL_ID, _ENTITY_ID, USER_GUID)
|
sql = String.Format("SELECT VIEW_ID FROM TBPMO_USER_CONSTR_VIEW_TYPE WITH (NOLOCK) WHERE CONSTRUCTOR_DETAIL_ID = {0} AND [ENTITY_ID] = {1} AND USER_ID = {2}", CURRENT_CONSTRUCTOR_DETAIL_ID, _ENTITY_ID, USER_GUID)
|
||||||
|
|
||||||
|
|
||||||
_RECORD_ID = 0
|
_RECORD_ID = 0
|
||||||
@@ -935,7 +930,6 @@ Public Class frmNodeNavigation
|
|||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in getting Entity-Data - Check logfile")
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in getting Entity-Data - Check logfile")
|
||||||
Else
|
Else
|
||||||
CURRENT_DT_ENTITY_RECORDS.TableName = "VWPMO_ENTITY_TABLE" & _ENTITY_ID
|
CURRENT_DT_ENTITY_RECORDS.TableName = "VWPMO_ENTITY_TABLE" & _ENTITY_ID
|
||||||
' Dim SQL_AutoValues = "SELECT GUID AS CONTROL_ID, CONNECTION_ID_1 AS CONNECTION_ID, SQL_COMMAND_1 AS SQL_COMMAND FROM TBPMO_CONTROL WHERE CONNECTION_ID_1 <> '' AND SQL_COMMAND_1 <> '' AND FORM_ID = " & oEntityID
|
|
||||||
|
|
||||||
Dim DT_AUTOVALUES = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_CONTROL, "CONNECTION_ID_1 > 0 AND SQL_COMMAND_1 <> '' AND FORM_ID = " & _ENTITY_ID, "")
|
Dim DT_AUTOVALUES = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_CONTROL, "CONNECTION_ID_1 > 0 AND SQL_COMMAND_1 <> '' AND FORM_ID = " & _ENTITY_ID, "")
|
||||||
|
|
||||||
@@ -980,7 +974,7 @@ Public Class frmNodeNavigation
|
|||||||
CONVERT(VARCHAR(16),ADDED_WHEN,20) AS ADDED_WHEN,
|
CONVERT(VARCHAR(16),ADDED_WHEN,20) AS ADDED_WHEN,
|
||||||
COALESCE(CHANGED_WHO,'') AS CHANGED_WHO,
|
COALESCE(CHANGED_WHO,'') AS CHANGED_WHO,
|
||||||
COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') AS CHANGED_WHEN
|
COALESCE(CONVERT(VARCHAR(16),CHANGED_WHEN,20),'') AS CHANGED_WHEN
|
||||||
FROM TBPMO_RECORD WHERE GUID = {RecordId}"
|
FROM TBPMO_RECORD WITH (NOLOCK) WHERE GUID = {RecordId}"
|
||||||
|
|
||||||
Dim oTable As DataTable
|
Dim oTable As DataTable
|
||||||
oTable = MYDB_ECM.GetDatatable(oSql)
|
oTable = MYDB_ECM.GetDatatable(oSql)
|
||||||
@@ -1032,64 +1026,48 @@ Public Class frmNodeNavigation
|
|||||||
Private Async Function Show_Selected_Record_Data(pRecordId As Integer, pLoadRecordData As Boolean) As Task
|
Private Async Function Show_Selected_Record_Data(pRecordId As Integer, pLoadRecordData As Boolean) As Task
|
||||||
Dim oHandle As IOverlaySplashScreenHandle = Nothing
|
Dim oHandle As IOverlaySplashScreenHandle = Nothing
|
||||||
Try
|
Try
|
||||||
' ✅ 1. SPLASHSCREEN FÜR CRITICAL-PATH (Control-Loading)
|
|
||||||
oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||||
|
NNLogger.Debug("[OVERLAY] ShowOverlayForm called at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
|
|
||||||
' ✅ 2. DEBUG LOGGING (wie Original)
|
|
||||||
NNLogger.Debug("Show_Selected_Record_Data_NonBlocking: RecordID={0}, LoadData={1}", pRecordId, pLoadRecordData)
|
NNLogger.Debug("Show_Selected_Record_Data_NonBlocking: RecordID={0}, LoadData={1}", pRecordId, pLoadRecordData)
|
||||||
|
|
||||||
' ✅ 3. ENTITY-ROW laden (wie Original)
|
|
||||||
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
|
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
|
||||||
Select form
|
Select form
|
||||||
Where form.Item("GUID") = _ENTITY_ID).Single()
|
Where form.Item("GUID") = _ENTITY_ID).Single()
|
||||||
NNLogger.Debug("RECORD ID: {0}", pRecordId)
|
NNLogger.Debug("RECORD ID: {0}", pRecordId)
|
||||||
' ✅ 4. GLOBALE VARIABLEN setzen (wie Original)
|
|
||||||
CURRENT_PARENT_RECORD_ID = 0
|
CURRENT_PARENT_RECORD_ID = 0
|
||||||
RIGHT_CONTROL_CHANGED = False
|
RIGHT_CONTROL_CHANGED = False
|
||||||
ENTITY_RELOAD_AFT_CONTROL_LOAD = False
|
ENTITY_RELOAD_AFT_CONTROL_LOAD = False
|
||||||
' ✅ 5. PANEL aktivieren
|
|
||||||
If pnlControls.Enabled = False Then pnlControls.Enabled = True
|
If pnlControls.Enabled = False Then pnlControls.Enabled = True
|
||||||
' ✅ 6. CONTROL-LOADING (CRITICAL PATH - blockierend mit Splashscreen)
|
|
||||||
Dim sw As New SW("Show_Selected_Record_Data - Control Loading")
|
Dim sw As New SW("Show_Selected_Record_Data - Control Loading")
|
||||||
If pLoadRecordData = True Then
|
If pLoadRecordData = True Then
|
||||||
CtrlBuilder.WatchRecordChanges = False
|
CtrlBuilder.WatchRecordChanges = False
|
||||||
ClassControlValues.LoadControlValues(_RECORD_ID, 0, _ENTITY_ID, CtrlBuilder.AllControls, _ENTITY_ID)
|
ClassControlValues.LoadControlValues(_RECORD_ID, 0, _ENTITY_ID, CtrlBuilder.AllControls, _ENTITY_ID)
|
||||||
CtrlBuilder.WatchRecordChanges = True
|
CtrlBuilder.WatchRecordChanges = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
sw.Done()
|
sw.Done()
|
||||||
|
|
||||||
' ✅ 7. RECORD_CHANGED zurücksetzen (wie Original)
|
|
||||||
RECORD_CHANGED = False
|
RECORD_CHANGED = False
|
||||||
|
|
||||||
' ✅ 8. RECORD-LABEL aktualisieren (synchron, schnell)
|
|
||||||
Update_Record_Label(_RECORD_ID)
|
Update_Record_Label(_RECORD_ID)
|
||||||
|
|
||||||
' ✅ 9. SPLASHSCREEN SCHLIESSEN - Critical-Path abgeschlossen!
|
' ── ControlLoading abgeschlossen, Overlay bleibt bis DocSearch fertig ──
|
||||||
If oHandle IsNot Nothing Then
|
NNLogger.Debug("[OVERLAY] Kept open - handing to RUN_DOCSEARCH at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
|
||||||
oHandle = Nothing
|
|
||||||
End If
|
|
||||||
|
|
||||||
' ══════════════════════════════════════════════════════════════
|
Update_Document_Label(0)
|
||||||
' ✅ AB HIER: NON-BLOCKING BACKGROUND-TASKS
|
Update_Notification_Label(True, "Loading documents...", "Blue")
|
||||||
' ══════════════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
' ✅ 10. UI-FEEDBACK: Zeige dass DocSearch läuft
|
|
||||||
Update_Document_Label(0) ' "Loading documents..."
|
|
||||||
Update_Notification_Label(True, "Loading documents in background...", "Blue")
|
|
||||||
RibbonPageGroupDocResult.Enabled = False
|
RibbonPageGroupDocResult.Enabled = False
|
||||||
|
|
||||||
' ✅ 11. DOCSEARCH IM HINTERGRUND (ohne UI-Freeze)
|
NNLogger.Debug("[DOCSEARCH] RUN_DOCSEARCH START at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
NNLogger.Debug("Starting background DocSearch for RecordID={0}", pRecordId)
|
|
||||||
|
|
||||||
Dim oDocumentsFound As Integer = 0
|
Dim oDocumentsFound As Integer = 0
|
||||||
|
|
||||||
Try
|
Try
|
||||||
' DocSearch ohne Splashscreen ausführen
|
' ✅ FIX: oHandle wird übergeben – RUN_DOCSEARCH schließt es nach FillColumns
|
||||||
oDocumentsFound = Await RUN_DOCSEARCH(False)
|
oDocumentsFound = Await RUN_DOCSEARCH(False, oHandle)
|
||||||
|
oHandle = Nothing ' ← Ownership übertragen, nicht nochmal schließen
|
||||||
NNLogger.Debug("DocSearch completed: {0} documents found", oDocumentsFound)
|
NNLogger.Debug("[DOCSEARCH] RUN_DOCSEARCH END at {0} - {1} documents found", Now.ToString("HH:mm:ss.fff"), oDocumentsFound)
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
NNLogger.Error(ex, "Error in background DocSearch")
|
NNLogger.Error(ex, "Error in background DocSearch")
|
||||||
@@ -1097,22 +1075,17 @@ Public Class frmNodeNavigation
|
|||||||
oDocumentsFound = 0
|
oDocumentsFound = 0
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
' ✅ 12. UI-UPDATE NACH DOCSEARCH
|
|
||||||
Update_Document_Label(oDocumentsFound)
|
Update_Document_Label(oDocumentsFound)
|
||||||
Update_Notification_Label(False, "", "") ' Notification ausblenden
|
Update_Notification_Label(False, "", "")
|
||||||
|
|
||||||
' ✅ 13. DOCVIEWER-HANDLING (wie Original)
|
|
||||||
If DocViewInitialized Then
|
If DocViewInitialized Then
|
||||||
If oDocumentsFound = 0 Then
|
If oDocumentsFound = 0 Then
|
||||||
Close_Document_Viewer()
|
Close_Document_Viewer()
|
||||||
RibbonPageGroupDocResult.Enabled = False
|
RibbonPageGroupDocResult.Enabled = False
|
||||||
SplitContainerDocView.Collapsed = True
|
SplitContainerDocView.Collapsed = True
|
||||||
|
|
||||||
NNLogger.Debug("No documents found - DocViewer collapsed")
|
NNLogger.Debug("No documents found - DocViewer collapsed")
|
||||||
Else
|
Else
|
||||||
RibbonPageGroupDocResult.Enabled = True
|
RibbonPageGroupDocResult.Enabled = True
|
||||||
|
|
||||||
' ✅ Original-Logik: Node_AfterSelect-Check
|
|
||||||
If Node_AfterSelect = False Then
|
If Node_AfterSelect = False Then
|
||||||
UpdateDocViewCollapsedState()
|
UpdateDocViewCollapsedState()
|
||||||
NNLogger.Debug("Documents found - DocView state updated")
|
NNLogger.Debug("Documents found - DocView state updated")
|
||||||
@@ -1120,9 +1093,6 @@ Public Class frmNodeNavigation
|
|||||||
SplitContainerDocView.Collapsed = True
|
SplitContainerDocView.Collapsed = True
|
||||||
NNLogger.Debug("Node_AfterSelect=True - DocView collapsed")
|
NNLogger.Debug("Node_AfterSelect=True - DocView collapsed")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' ✅ OPTIONAL: DocView im Hintergrund laden (falls aktiviert)
|
|
||||||
' ✅ Direkt awaiten statt Task.Run – wir sind bereits im Async-Kontext
|
|
||||||
If checkShowPreview.Checked AndAlso Not Node_AfterSelect Then
|
If checkShowPreview.Checked AndAlso Not Node_AfterSelect Then
|
||||||
NNLogger.Debug("Starting DocView loading")
|
NNLogger.Debug("Starting DocView loading")
|
||||||
Await DocView_DisplaySelectedDoc(AfterNodeChange:=False)
|
Await DocView_DisplaySelectedDoc(AfterNodeChange:=False)
|
||||||
@@ -1135,11 +1105,11 @@ Public Class frmNodeNavigation
|
|||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
NNLogger.Error(ex, "Error in Show_Selected_Record_Data_NonBlocking")
|
NNLogger.Error(ex, "Error in Show_Selected_Record_Data_NonBlocking")
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in SelectedRecord_ShowData: ", ex.Message)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in SelectedRecord_ShowData: ", ex.Message)
|
||||||
|
|
||||||
Finally
|
Finally
|
||||||
' ✅ SICHERSTELLEN: Splashscreen wird IMMER geschlossen
|
' ✅ Sicherheitsnetz: schließen falls RUN_DOCSEARCH es nicht übernommen hat
|
||||||
If oHandle IsNot Nothing Then
|
If oHandle IsNot Nothing Then
|
||||||
Try
|
Try
|
||||||
|
NNLogger.Debug("[OVERLAY] CloseOverlayForm (Finally-Fallback) at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
NNLogger.Warn(ex, "Could not close overlay form")
|
NNLogger.Warn(ex, "Could not close overlay form")
|
||||||
@@ -1742,7 +1712,7 @@ Public Class frmNodeNavigation
|
|||||||
#End Region
|
#End Region
|
||||||
Private Sub Customer_Run_Procedures()
|
Private Sub Customer_Run_Procedures()
|
||||||
Try
|
Try
|
||||||
Dim DT As DataTable = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_RUN_PROCEDURES WHERE FORM_ID = " & _ENTITY_ID)
|
Dim DT As DataTable = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_RUN_PROCEDURES WITH (NOLOCK) WHERE FORM_ID = " & _ENTITY_ID)
|
||||||
If Not DT Is Nothing Then
|
If Not DT Is Nothing Then
|
||||||
For Each row As DataRow In DT.Rows
|
For Each row As DataRow In DT.Rows
|
||||||
Dim prsql As String = row.Item("EXECUTE_COMMAND")
|
Dim prsql As String = row.Item("EXECUTE_COMMAND")
|
||||||
@@ -1757,17 +1727,19 @@ Public Class frmNodeNavigation
|
|||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Customer_Run_Procedures: ", ex.Message)
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Customer_Run_Procedures: ", ex.Message)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
Private Async Function RUN_DOCSEARCH(pShowSplashscreen As Boolean) As Task(Of Integer)
|
Private Async Function RUN_DOCSEARCH(pShowSplashscreen As Boolean,
|
||||||
Dim oHandle As IOverlaySplashScreenHandle
|
Optional pExternalHandle As IOverlaySplashScreenHandle = Nothing) As Task(Of Integer)
|
||||||
|
Dim oHandle As IOverlaySplashScreenHandle = pExternalHandle ' ← externer Handle übernommen
|
||||||
|
|
||||||
If pShowSplashscreen Then
|
If pShowSplashscreen Then
|
||||||
oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||||
|
NNLogger.Debug("[OVERLAY] RUN_DOCSEARCH ShowOverlayForm at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim sw As New SW("RUN_WDSEARCH_GRID")
|
Dim sw As New SW("RUN_WDSEARCH_GRID")
|
||||||
Dim oFilesFound As Integer = 0
|
Dim oFilesFound As Integer = 0
|
||||||
|
|
||||||
Try
|
Try
|
||||||
|
|
||||||
If _RECORD_ID = 0 Then
|
If _RECORD_ID = 0 Then
|
||||||
GridControlDocSearch.DataSource = Nothing
|
GridControlDocSearch.DataSource = Nothing
|
||||||
Return 0
|
Return 0
|
||||||
@@ -1775,42 +1747,37 @@ Public Class frmNodeNavigation
|
|||||||
|
|
||||||
bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
||||||
If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
|
If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then
|
||||||
|
|
||||||
Dim sql = String.Format("DECLARE @return_value int " & vbNewLine &
|
Dim sql = String.Format("DECLARE @return_value int " & vbNewLine &
|
||||||
"EXEC @return_value = [dbo].[PRPMO_NODES_GET_CHILD_RECORDS] @USER_ID = {0}, @NODE_ID = {1} " & vbNewLine &
|
"EXEC @return_value = [dbo].[PRPMO_NODES_GET_CHILD_RECORDS] @USER_ID = {0}, @NODE_ID = {1} " & vbNewLine &
|
||||||
"SELECT 'Return Value' = @return_value", USER_GUID, _NODE_GUID)
|
"SELECT 'Return Value' = @return_value", USER_GUID, _NODE_GUID)
|
||||||
Dim DT_ASYNC As DataTable = Await MYDB_ECM.GetDatatableAsync(sql)
|
Dim DT_ASYNC As DataTable = Await MYDB_ECM.GetDatatableAsync(sql)
|
||||||
|
|
||||||
If Not IsNothing(DT_ASYNC) Then
|
If Not IsNothing(DT_ASYNC) Then
|
||||||
Dim result = DT_ASYNC.Rows(0).Item(0)
|
Dim result = DT_ASYNC.Rows(0).Item(0)
|
||||||
If result <> 0 Then
|
If result <> 0 Then
|
||||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Getting SubNodes-Structure", "Check the logfile")
|
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Getting SubNodes-Structure", "Check the logfile")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
NNLogger.Debug("[DOCSEARCH] Get_DOC_RESULTTABLE START at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
Dim DT_RESULT As DataTable
|
Dim DT_RESULT As DataTable
|
||||||
DT_RESULT = ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _ENTITY_ID, _RECORD_ID, True)
|
DT_RESULT = ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _ENTITY_ID, _RECORD_ID, True)
|
||||||
|
NNLogger.Debug("[DOCSEARCH] Get_DOC_RESULTTABLE END at {0} - Rows={1}", Now.ToString("HH:mm:ss.fff"), If(IsNothing(DT_RESULT), "Nothing", DT_RESULT.Rows.Count.ToString()))
|
||||||
|
|
||||||
If IsNothing(DT_RESULT) Then
|
If IsNothing(DT_RESULT) Then
|
||||||
Dim msg = "wrong DocSearch-Configuration or unexpected Error in Get_DOC_RESULTTABLE - Check logfile and contact Digital Data"
|
GridViewDoc_Search.ViewCaption = "wrong DocSearch-Configuration or unexpected Error in Get_DOC_RESULTTABLE - Check logfile and contact Digital Data"
|
||||||
GridViewDoc_Search.ViewCaption = msg
|
|
||||||
oFilesFound = 0
|
oFilesFound = 0
|
||||||
Else
|
Else
|
||||||
If DT_RESULT.Rows.Count > 0 Then 'Es gibt Suchergebnisse
|
|
||||||
|
|
||||||
If DT_RESULT.Rows.Count > 0 Then
|
If DT_RESULT.Rows.Count > 0 Then
|
||||||
If CURRENT_SEARCH_TYPE = "FULLTEXT" Then
|
If CURRENT_SEARCH_TYPE = "FULLTEXT" Then
|
||||||
GridViewDoc_Search.ShowFindPanel()
|
GridViewDoc_Search.ShowFindPanel()
|
||||||
GridViewDoc_Search.FindFilterText = CURRENT_FULLTEXT_PATTERN
|
GridViewDoc_Search.FindFilterText = CURRENT_FULLTEXT_PATTERN
|
||||||
End If
|
End If
|
||||||
If Not IsNothing(DT_DOCRESULT_DROPDOWN_ITEMS) Then
|
If Not IsNothing(DT_DOCRESULT_DROPDOWN_ITEMS) AndAlso DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count > 0 Then
|
||||||
If DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count > 0 Then
|
|
||||||
NNLogger.Info($"RUN_WDSEARCH_GRID - DT_DOCRESULT_DROPDOWN_ITEMS [{DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count}]!")
|
NNLogger.Info($"RUN_WDSEARCH_GRID - DT_DOCRESULT_DROPDOWN_ITEMS [{DT_DOCRESULT_DROPDOWN_ITEMS.Rows.Count}]!")
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
NNLogger.Debug("[DOCSEARCH] FillColumns START at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
ClassDocGrid.FillColumns(
|
ClassDocGrid.FillColumns(
|
||||||
GridViewDoc_Search,
|
GridViewDoc_Search,
|
||||||
DT_RESULT,
|
DT_RESULT,
|
||||||
@@ -1821,13 +1788,17 @@ Public Class frmNodeNavigation
|
|||||||
AddressOf OnTextSelectedValueChanged,
|
AddressOf OnTextSelectedValueChanged,
|
||||||
AddressOf OnCheckboxValueChanged,
|
AddressOf OnCheckboxValueChanged,
|
||||||
CURRENT_SEARCH_TYPE, _RECORD_ID)
|
CURRENT_SEARCH_TYPE, _RECORD_ID)
|
||||||
|
NNLogger.Debug("[DOCSEARCH] FillColumns END at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
|
|
||||||
|
' ✅ FIX: Overlay NACH FillColumns schließen
|
||||||
|
If oHandle IsNot Nothing Then
|
||||||
|
NNLogger.Debug("[OVERLAY] CloseOverlayForm after FillColumns at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
|
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||||
|
oHandle = Nothing
|
||||||
End If
|
End If
|
||||||
'BbtnitmDocSearch.Enabled = TruefRe
|
|
||||||
|
|
||||||
oFilesFound = DT_RESULT.Rows.Count
|
oFilesFound = DT_RESULT.Rows.Count
|
||||||
Else
|
Else
|
||||||
|
|
||||||
GridControlDocSearch.DataSource = Nothing
|
GridControlDocSearch.DataSource = Nothing
|
||||||
oFilesFound = 0
|
oFilesFound = 0
|
||||||
End If
|
End If
|
||||||
@@ -1840,10 +1811,16 @@ Public Class frmNodeNavigation
|
|||||||
sw.Done()
|
sw.Done()
|
||||||
bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||||
Update_Notification_Label(False, "", "")
|
Update_Notification_Label(False, "", "")
|
||||||
If pShowSplashscreen Then
|
|
||||||
|
' ✅ Sicherheitsnetz: Handle schließen falls FillColumns-Pfad nicht erreicht wurde (0 Rows / Fehler)
|
||||||
|
If oHandle IsNot Nothing Then
|
||||||
|
NNLogger.Debug("[OVERLAY] CloseOverlayForm (RUN_DOCSEARCH Finally-Fallback) at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If pShowSplashscreen Then
|
||||||
|
NNLogger.Debug("[OVERLAY] RUN_DOCSEARCH own handle closed at {0}", Now.ToString("HH:mm:ss.fff"))
|
||||||
|
End If
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
Return oFilesFound
|
Return oFilesFound
|
||||||
@@ -1851,7 +1828,7 @@ Public Class frmNodeNavigation
|
|||||||
Private Sub RUN_ENTITY_DOC_SEARCH()
|
Private Sub RUN_ENTITY_DOC_SEARCH()
|
||||||
Dim sw As New SW("RUN_ENTITY_DOC_SEARCH")
|
Dim sw As New SW("RUN_ENTITY_DOC_SEARCH")
|
||||||
Try
|
Try
|
||||||
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {_ENTITY_ID}"
|
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WITH (NOLOCK) WHERE GUID = {_ENTITY_ID}"
|
||||||
CURRENT_DOCSEARCH_SQL = MYDB_ECM.GetScalarValue(oSQL)
|
CURRENT_DOCSEARCH_SQL = MYDB_ECM.GetScalarValue(oSQL)
|
||||||
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
|
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
|
||||||
Dim oText = $"Die sichtweite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
|
Dim oText = $"Die sichtweite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
|
||||||
@@ -2555,7 +2532,7 @@ Public Class frmNodeNavigation
|
|||||||
Dim oErrorCount As Integer = 0
|
Dim oErrorCount As Integer = 0
|
||||||
|
|
||||||
For Each pDocId In pDocIds
|
For Each pDocId In pDocIds
|
||||||
Dim oSql = $"IF NOT EXISTS (SELECT 1 FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = {pDocId} AND RECORD_ID = {_RECORD_ID}) " &
|
Dim oSql = $"IF NOT EXISTS (SELECT 1 FROM TBPMO_DOC_RECORD_LINK WITH (NOLOCK) WHERE DOC_ID = {pDocId} AND RECORD_ID = {_RECORD_ID}) " &
|
||||||
$"INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID, ADDED_WHO, ADDED_WHEN) " &
|
$"INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID, ADDED_WHO, ADDED_WHEN) " &
|
||||||
$"VALUES ({pDocId}, {_RECORD_ID}, '{USER_USERNAME}', GETDATE())"
|
$"VALUES ({pDocId}, {_RECORD_ID}, '{USER_USERNAME}', GETDATE())"
|
||||||
|
|
||||||
@@ -2950,7 +2927,7 @@ Public Class frmNodeNavigation
|
|||||||
Dim oDocuments = Current_DocList.SelectedDocuments
|
Dim oDocuments = Current_DocList.SelectedDocuments
|
||||||
If oDocuments.Count = 1 Then
|
If oDocuments.Count = 1 Then
|
||||||
Try
|
Try
|
||||||
Dim oSQLDRList = $"Select COALESCE(IN_WORK_USER,'') IN_WORK_USER, COALESCE(IN_WORK_COMMENT,'') IN_WORK_COMMENT,IN_WORK FROM TBPMO_DOCRESULT_LIST where DocID = {oDocuments.First.DocId}"
|
Dim oSQLDRList = $"Select COALESCE(IN_WORK_USER,'') IN_WORK_USER, COALESCE(IN_WORK_COMMENT,'') IN_WORK_COMMENT,IN_WORK FROM TBPMO_DOCRESULT_LIST WITH (NOLOCK) where DocID = {oDocuments.First.DocId}"
|
||||||
Dim oDT As DataTable = MYDB_ECM.GetDatatable(oSQLDRList)
|
Dim oDT As DataTable = MYDB_ECM.GetDatatable(oSQLDRList)
|
||||||
If Not IsNothing(oDT) Then
|
If Not IsNothing(oDT) Then
|
||||||
If oDT.Rows.Count = 1 Then
|
If oDT.Rows.Count = 1 Then
|
||||||
@@ -3261,6 +3238,7 @@ Public Class frmNodeNavigation
|
|||||||
ClassFileResult.DocID = oDocuments.First.DocId
|
ClassFileResult.DocID = oDocuments.First.DocId
|
||||||
ClassFileResult.ParentID = oDocuments.First.ParentID
|
ClassFileResult.ParentID = oDocuments.First.ParentID
|
||||||
ClassFileResult.FileName = oDocuments.First.Filename
|
ClassFileResult.FileName = oDocuments.First.Filename
|
||||||
|
ClassFileResult.DocumentPath = oDocuments.First.DocPath
|
||||||
frmWM_CreateVersion.ShowDialog()
|
frmWM_CreateVersion.ShowDialog()
|
||||||
Await RUN_DOCSEARCH(True)
|
Await RUN_DOCSEARCH(True)
|
||||||
Else
|
Else
|
||||||
@@ -3783,7 +3761,7 @@ Public Class frmNodeNavigation
|
|||||||
Dim oDElWMFile As Boolean = False
|
Dim oDElWMFile As Boolean = False
|
||||||
Dim oCountLinks As Integer
|
Dim oCountLinks As Integer
|
||||||
If Not IsNothing(oDoc.DocId) Then
|
If Not IsNothing(oDoc.DocId) Then
|
||||||
oCountLinks = MYDB_ECM.GetScalarValue("SELECT COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = " & oDoc.DocId)
|
oCountLinks = MYDB_ECM.GetScalarValue("SELECT COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WITH (NOLOCK) WHERE DOC_ID = " & oDoc.DocId)
|
||||||
If oCountLinks > 1 And CURRENT_SEARCH_TYPE = "RECORD" Then
|
If oCountLinks > 1 And CURRENT_SEARCH_TYPE = "RECORD" Then
|
||||||
msg = "Diese Datei ist noch mit anderen Datensätzen verknüpft! Wollen Sie diese Verknüpfungen ebenfalls löschen?"
|
msg = "Diese Datei ist noch mit anderen Datensätzen verknüpft! Wollen Sie diese Verknüpfungen ebenfalls löschen?"
|
||||||
If USER_LANGUAGE <> "de-DE" Then
|
If USER_LANGUAGE <> "de-DE" Then
|
||||||
@@ -3839,7 +3817,7 @@ Public Class frmNodeNavigation
|
|||||||
|
|
||||||
Private Sub TimerFileHandle_Tick(sender As Object, e As EventArgs) Handles TimerFileHandle.Tick
|
Private Sub TimerFileHandle_Tick(sender As Object, e As EventArgs) Handles TimerFileHandle.Tick
|
||||||
Try
|
Try
|
||||||
Dim oSql = $"SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID IN ({USER_GUID},0) AND REFRESHED_WHEN IS NULL"
|
Dim oSql = $"SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WITH (NOLOCK) WHERE USER_ID IN ({USER_GUID},0) AND REFRESHED_WHEN IS NULL"
|
||||||
Dim oDTGUID As DataTable = MYDB_ECM.GetDatatable(oSql)
|
Dim oDTGUID As DataTable = MYDB_ECM.GetDatatable(oSql)
|
||||||
If oDTGUID.Rows.Count >= 1 Then
|
If oDTGUID.Rows.Count >= 1 Then
|
||||||
Dim omsg = "Attention: The DocID of one document changed or a document has been versioned! The DocSearch has been refreshed!"
|
Dim omsg = "Attention: The DocID of one document changed or a document has been versioned! The DocSearch has been refreshed!"
|
||||||
@@ -3984,7 +3962,7 @@ Public Class frmNodeNavigation
|
|||||||
If mySelectedDocs.Count = 1 Then
|
If mySelectedDocs.Count = 1 Then
|
||||||
Dim oDocId As Integer = mySelectedDocs.First.DocId
|
Dim oDocId As Integer = mySelectedDocs.First.DocId
|
||||||
Dim oJumpToDocSQL = String.Format("DECLARE @PID BIGINT
|
Dim oJumpToDocSQL = String.Format("DECLARE @PID BIGINT
|
||||||
SELECT @PID = dwParentID FROM TBPMO_DOCRESULT_LIST WHERE DocID = {0}
|
SELECT @PID = dwParentID FROM TBPMO_DOCRESULT_LIST WITH (NOLOCK) WHERE DocID = {0}
|
||||||
SELECT GUID FROM VWPMO_STRUCTURE_NODES WHERE ENTITY_ID = {1} AND ISNUMERIC(ID1) = 1 AND ID1 = @PID", oDocId, OF_FILESTORE_ENTITY)
|
SELECT GUID FROM VWPMO_STRUCTURE_NODES WHERE ENTITY_ID = {1} AND ISNUMERIC(ID1) = 1 AND ID1 = @PID", oDocId, OF_FILESTORE_ENTITY)
|
||||||
Dim ojumpID As Integer = MYDB_ECM.GetScalarValue(oJumpToDocSQL)
|
Dim ojumpID As Integer = MYDB_ECM.GetScalarValue(oJumpToDocSQL)
|
||||||
If Not IsNothing(ojumpID) AndAlso ojumpID <> 0 Then
|
If Not IsNothing(ojumpID) AndAlso ojumpID <> 0 Then
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ Public Class frmWM_CreateVersion
|
|||||||
'Dim odwVersionId = MYDB_ECM.GetScalarValue(oSql)
|
'Dim odwVersionId = MYDB_ECM.GetScalarValue(oSql)
|
||||||
'Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,DOC_PATH) VALUES ({USER_GUID},'{ProcID.ToString}',{odwVersionId},{BW_DocID},'{BW_DocPath}')"
|
'Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,DOC_PATH) VALUES ({USER_GUID},'{ProcID.ToString}',{odwVersionId},{BW_DocID},'{BW_DocPath}')"
|
||||||
'MYDB_ECM.ExecuteNonQuery(oInsert)
|
'MYDB_ECM.ExecuteNonQuery(oInsert)
|
||||||
Dim sql = $"SELECT DocID from VWPMO_DOC_SYNC Where dwParentID = {ClassFileResult.ParentID} and Filename = '{ClassFileResult.FileName}'"
|
Dim sql = $"SELECT Version from VWPMO_DOC_SYNC Where dwParentID = {ClassFileResult.ParentID} and Filename = '{ClassFileResult.FileName}'"
|
||||||
Dim VERSION = MYDB_ECM.GetScalarValue(sql)
|
Dim oVERSION = MYDB_ECM.GetScalarValue(sql)
|
||||||
If Not IsNothing(VERSION) Then
|
If Not IsNothing(oVERSION) Then
|
||||||
VERSION = VERSION + 1
|
oVERSION = oVERSION
|
||||||
Dim upd = String.Format("UPDATE TBPMO_DOCRESULT_LIST SET Version = {0},Change_DateTime = GETDATE() WHERE DocID = {1}", VERSION, ClassFileResult.DocID)
|
Dim upd = String.Format("UPDATE TBPMO_DOCRESULT_LIST SET Version = {0},Change_DateTime = GETDATE() WHERE DocID = {1}", oVERSION, ClassFileResult.DocID)
|
||||||
MYDB_ECM.ExecuteNonQuery(upd)
|
MYDB_ECM.ExecuteNonQuery(upd)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RecordOrganizer_RightManage
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Setup_NoUpdaterVS19", "Setup_NoUpdaterVS19\Setup_NoUpdaterVS19.wixproj", "{A7F7585A-C46A-4436-9F6E-17629325CE58}"
|
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Setup_NoUpdaterVS19", "Setup_NoUpdaterVS19\Setup_NoUpdaterVS19.wixproj", "{A7F7585A-C46A-4436-9F6E-17629325CE58}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Windream", "..\..\..\2_DLL Projekte\DDModules\Windream\Windream.vbproj", "{C602BA85-5E75-6E19-C485-79D912038170}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
CD_ROM|Any CPU = CD_ROM|Any CPU
|
||||||
@@ -143,46 +141,6 @@ Global
|
|||||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.Build.0 = Release|x86
|
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.Build.0 = Release|x86
|
||||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.ActiveCfg = Release|x86
|
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.ActiveCfg = Release|x86
|
||||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.Build.0 = Release|x86
|
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.Build.0 = Release|x86
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|x64.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.CD_ROM|x86.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|x64.Build.0 = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|x64.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.DVD-5|x86.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|x64.Build.0 = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C602BA85-5E75-6E19-C485-79D912038170}.SingleImage|x86.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
Reference in New Issue
Block a user