Release für ewa

This commit is contained in:
Developer01
2026-03-24 12:42:53 +01:00
parent 1469063ad7
commit e9cb352674
18 changed files with 1585 additions and 314 deletions

View File

@@ -258,24 +258,26 @@ Public Class ClassHelper
End If
' ###### Prozess starten ######
' Prozess kann Nothing sein, wenn eine bestehende Anwendung (z. B. Outlook)
' die Datei übernimmt, ohne einen neuen Prozess zu erstellen.
If oMyProcess IsNot Nothing Then
Dim ProcID As Integer = oMyProcess.Id
LOGGER.Debug($"Started process ID {ProcID} for document [{BW_DocPath}].")
' ID des gestarteten Prozesses holen (nicht den eigenen!)
Dim ProcID As Integer = oMyProcess.Id
LOGGER.Debug($"Started process ID {ProcID} for document [{BW_DocPath}].")
oMyProcess.WaitForExit()
' Warten, bis der Benutzer das Dokument geschlossen hat
oMyProcess.WaitForExit()
' Nachbearbeitung, wenn Format bearbeitbar ist
oExtension = Path.GetExtension(BW_DocPath).ToLower()
LOGGER.Debug($"Checking if file extension [{oExtension}] may change during edit...")
If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) And oOverrideRunPath = "" Then
LOGGER.Debug("Create possible Document change in TBPMO_DOC_ID_CHANGED.")
Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,NEW_DOC_ID,DOC_PATH) VALUES (" &
$"{USER_GUID},'{ProcID}',9999,{BW_DocID},0,'{BW_DocPath}')"
MYDB_ECM.ExecuteNonQuery(oInsert)
oExtension = Path.GetExtension(BW_DocPath).ToLower()
LOGGER.Debug($"Checking if file extension [{oExtension}] may change during edit...")
If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) And oOverrideRunPath = "" Then
LOGGER.Debug("Create possible Document change in TBPMO_DOC_ID_CHANGED.")
Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,NEW_DOC_ID,DOC_PATH) VALUES (" &
$"{USER_GUID},'{ProcID}',9999,{BW_DocID},0,'{BW_DocPath}')"
MYDB_ECM.ExecuteNonQuery(oInsert)
End If
Else
' Kein neuer Prozess gestartet Datei wurde von bestehender Anwendung übernommen
LOGGER.Debug($"No new process created for [{BW_DocPath}]. File likely handled by existing application (e.g. Outlook).")
End If
Catch ex As Exception
@@ -508,7 +510,7 @@ Public Class ClassHelper
End Function
Public Shared Function Insert_USER_File(pFilename As String, handleType As String)
Try
Dim filename_only As String = Path.GetFileName(pFilename)
Dim oImport_filename_only As String = Path.GetFileName(pFilename)
Dim CURRENT_FILE_HASH = ""
If File.Exists(pFilename) Then
@@ -539,16 +541,16 @@ Public Class ClassHelper
Dim oMSG As String
If USER_LANGUAGE <> "de-DE" Then
oMSG = $"This file has already been imported into orgFLOW!" & vbCrLf &
$"File: [{oFilename}]" & vbCrLf &
oMSG = $"This file [{oImport_filename_only}] has already been imported into orgFLOW!" & vbCrLf &
$"File already imported: [{oFilename}]" & vbCrLf &
$"Imported on: {oADDED_WHEN}" & vbCrLf &
$"Imported by: {oUSER}" & vbCrLf &
$"Total imports with identical content: {oDTCHECK.Rows.Count}" & vbCrLf & vbCrLf &
"Do you want to import this file again?" & vbCrLf &
"NO → Teh complete Import will be cancelled."
"NO → The complete import will be cancelled."
Else
oMSG = $"Diese Datei wurde bereits in orgFLOW importiert!" & vbCrLf &
$"Datei: [{oFilename}]" & vbCrLf &
oMSG = $"Diese Datei [{oImport_filename_only}] wurde bereits in orgFLOW importiert!" & vbCrLf &
$"Bereits vorhandene Datei: [{oFilename}]" & vbCrLf &
$"Importiert am: {oADDED_WHEN}" & vbCrLf &
$"Importiert von: {oUSER}" & vbCrLf &
$"Anzahl Importe mit identischem Inhalt: {oDTCHECK.Rows.Count}" & vbCrLf & vbCrLf &
@@ -560,10 +562,10 @@ Public Class ClassHelper
result = MessageBox.Show(oMSG, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.No Then
LOGGER.Info($"User wählte NEIN bei Hash-Duplikat-Check für [{filename_only}] - Import abgebrochen")
LOGGER.Info($"User wählte NEIN bei Hash-Duplikat-Check für [{oImport_filename_only}] - Import abgebrochen")
Return False
Else
LOGGER.Info($"User wählte JA bei Hash-Duplikat-Check für [{filename_only}] - fahre fort")
LOGGER.Info($"User wählte JA bei Hash-Duplikat-Check für [{oImport_filename_only}] - fahre fort")
End If
End If
End If
@@ -580,7 +582,7 @@ Public Class ClassHelper
End If
' ✅ INSERT mit explizitem Logging
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK, HANDLE_TYPE, FILENAME_ONLY, FILE_HASH) VALUES ('{0}','{1}','{2}','{3}','{4}')", pFilename, USER_USERNAME, handleType, filename_only, CURRENT_FILE_HASH)
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK, HANDLE_TYPE, FILENAME_ONLY, FILE_HASH) VALUES ('{0}','{1}','{2}','{3}','{4}')", pFilename, USER_USERNAME, handleType, oImport_filename_only, CURRENT_FILE_HASH)
LOGGER.Debug($"Führe INSERT aus: [{ins}]")
Dim insertResult = MYDB_ECM.ExecuteNonQuery(ins)
@@ -593,12 +595,12 @@ Public Class ClassHelper
If verifyDT IsNot Nothing AndAlso verifyDT.Rows.Count > 0 Then
Dim insertedGUID = verifyDT.Rows(0)("GUID")
Dim insertedADDED_WHEN = verifyDT.Rows(0)("ADDED_WHEN")
LOGGER.Info($"INSERT ERFOLGREICH: GUID={insertedGUID}, ADDED_WHEN={insertedADDED_WHEN}, Datei=[{filename_only}]")
LOGGER.Info($"INSERT ERFOLGREICH: GUID={insertedGUID}, ADDED_WHEN={insertedADDED_WHEN}, Datei=[{oImport_filename_only}]")
Else
LOGGER.Error($"INSERT fehlgeschlagen (VERIFY)! Datei=[{filename_only}], Hash=[{CURRENT_FILE_HASH}]")
LOGGER.Error($"INSERT fehlgeschlagen (VERIFY)! Datei=[{oImport_filename_only}], Hash=[{CURRENT_FILE_HASH}]")
End If
Else
LOGGER.Error($"INSERT fehlgeschlagen (ExecuteNonQuery)! Datei=[{filename_only}]")
LOGGER.Error($"INSERT fehlgeschlagen (ExecuteNonQuery)! Datei=[{oImport_filename_only}]")
End If
Return insertResult