MS Änderungen dokumnetart Konfiguration

This commit is contained in:
Digital Data - Marlon Schreiber
2019-01-11 15:29:01 +01:00
parent a56087cab3
commit f5eae6a1d8
7 changed files with 76 additions and 64 deletions

View File

@@ -113,39 +113,40 @@ Public Class ClassImport_Windream
VERSION_DELIMITER = DT1.Rows(0).Item("VERSION_DELIMITER")
Dim err As Boolean = False
Dim Zielordner As String
Dim extension As String = Path.GetExtension(CURRENT_FILENAME)
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_DOKUMENTART WHERE GUID = " & DocTypeID, True)
Dim oWMTARGET_FOLDER As String
Dim oExtension As String = Path.GetExtension(CURRENT_FILENAME)
Dim oDT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_DOKUMENTART WHERE GUID = " & DocTypeID, True)
'sql_history_INSERT_INTO = "INSERT INTO TBGI_HISTORY (FILENAME_ORIGINAL,FILENAME_NEW"
'sql_history_Index_Values = ""
Dim AnzahlIndexe As Integer = 1
_WDOBJECTTYPE = DT.Rows(0).Item("OBJEKTTYP")
_WDOBJECTTYPE = oDT.Rows(0).Item("OBJEKTTYP")
' Den Zielordner erstellen
Zielordner = DT.Rows(0).Item("ZIEL_PFAD")
oWMTARGET_FOLDER = oDT.Rows(0).Item("ZIEL_PFAD")
sql = $"SELECT * FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE FORMVIEW_ID = {CURRENT_FORMVIEW_ID} AND DOCTYPE_ID = {DocTypeID}"
Dim oDTFW_DOCTYPES As DataTable = ClassDatabase.Return_Datatable(sql)
Dim DYNAMIC_FOLDER = oDTFW_DOCTYPES.Rows(0).Item("DYNAMIC_FOLDER")
Dim oDYNAMIC_FOLDER = oDTFW_DOCTYPES.Rows(0).Item("DYNAMIC_FOLDER")
Dim oNAME_CONVENTION = oDTFW_DOCTYPES.Rows(0).Item("NAME_CONVENTION")
Dim oROOTWM_FOLDER
Try
oROOTWM_FOLDER = oDTFW_DOCTYPES.Rows(0).Item("DYNAMIC_FOLDER")
oROOTWM_FOLDER = oDTFW_DOCTYPES.Rows(0).Item("ROOT_FOLDER")
Catch ex As Exception
oROOTWM_FOLDER = ""
End Try
If oROOTWM_FOLDER <> String.Empty Then
If LogErrorsOnly = False Then ClassLogger.Add($">> oROOTWM_FOLDER '{oROOTWM_FOLDER}' will be used", False)
Zielordner = oROOTWM_FOLDER
oWMTARGET_FOLDER = oROOTWM_FOLDER
End If
'ClassDatabase.Execute_Scalar(sql)
If Not IsDBNull(DYNAMIC_FOLDER) Then
If DYNAMIC_FOLDER <> String.Empty Then
If CREATE_FOLDER_INDEX(DYNAMIC_FOLDER, DocTypeID) = True And CURRENT_VARIABLE_FOLDER <> "" Then
If Not IsDBNull(oDYNAMIC_FOLDER) Then
If oDYNAMIC_FOLDER <> String.Empty Then
If CREATE_FOLDER_INDEX(oDYNAMIC_FOLDER, DocTypeID) = True And CURRENT_VARIABLE_FOLDER <> "" Then
If CURRENT_VARIABLE_FOLDER_OVERRIDE = True Then
Zielordner = CURRENT_VARIABLE_FOLDER
oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER
Else
Zielordner = Zielordner & "\" & CURRENT_VARIABLE_FOLDER
oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_VARIABLE_FOLDER
End If
Else
@@ -157,20 +158,20 @@ Public Class ClassImport_Windream
'Unterordner ja oder nein
If CURRENT_CHECK_SUBFOLDER = True And CURRENT_SUBFOLDER <> "" Then
Zielordner = Zielordner & "\" & CURRENT_SUBFOLDER
oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_SUBFOLDER
End If
Zielordner = Zielordner.Replace("\\", "\")
If Zielordner.Contains("/") Then
oWMTARGET_FOLDER = oWMTARGET_FOLDER.Replace("\\", "\")
If oWMTARGET_FOLDER.Contains("/") Then
ClassLogger.Add(String.Format(">> Targetpath contains /-sign. / will be replaced with _"))
Zielordner = Zielordner.Replace("/", "_")
oWMTARGET_FOLDER = oWMTARGET_FOLDER.Replace("/", "_")
End If
Try
Select Case clsWD_GET.WD_PATH_EXISTS(Zielordner.Substring(2))
Select Case clsWD_GET.WD_PATH_EXISTS(oWMTARGET_FOLDER.Substring(2))
Case False
ClassLogger.Add(String.Format(">> Targetpath ({0}) is not existing or result of WD_PATH_EXISTS was false.", Zielordner.Substring(2)), False)
Dim split() As String = Zielordner.Split("\")
ClassLogger.Add(String.Format(">> Targetpath ({0}) is not existing or result of WD_PATH_EXISTS was false.", oWMTARGET_FOLDER.Substring(2)), False)
Dim split() As String = oWMTARGET_FOLDER.Split("\")
Dim Path_Combined As String = ""
For Each s As String In split
Path_Combined &= s & "\"
@@ -193,7 +194,7 @@ Public Class ClassImport_Windream
End Select
Catch ex As Exception
If Not ex.Message.Contains("Filename exists!") Then
ClassLogger.Add(String.Format(">> Could not create folder-part: {0} - Complete path is: ({1})", temppath, Zielordner.Substring(2)))
ClassLogger.Add(String.Format(">> Could not create folder-part: {0} - Complete path is: ({1})", temppath, oWMTARGET_FOLDER.Substring(2)))
ClassLogger.Add(String.Format(">> ErrorMessage: {0}: ", ex.Message))
Return False
End If
@@ -206,7 +207,7 @@ Public Class ClassImport_Windream
End Select
Catch ex As Exception
If Not ex.Message.Contains("Filename exists!") Then
ClassLogger.Add(String.Format(">> Could not create folder ({0}): " & ex.Message, Zielordner.Substring(2)), False)
ClassLogger.Add(String.Format(">> Could not create folder ({0}): " & ex.Message, oWMTARGET_FOLDER.Substring(2)), False)
Return False
End If
End Try
@@ -214,22 +215,22 @@ Public Class ClassImport_Windream
' Regulären Ausdruck zum Auslesen der Indexe definieren
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'Namenkonvention laden
Dim NameConv = ClassDatabase.Execute_Scalar("SELECT TOP 1 NAME_CONVENTION FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = " & DocTypeID & " AND FORMVIEW_ID = " & CURRENT_FORMVIEW_ID, True)
If IsDBNull(NameConv) Then
'Dim NameConv = ClassDatabase.Execute_Scalar("SELECT TOP 1 NAME_CONVENTION FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = " & DocTypeID & " AND FORMVIEW_ID = " & CURRENT_FORMVIEW_ID, True)
If IsDBNull(oNAME_CONVENTION) Then
ClassLogger.Add(">> Achtung: Namenskonvention is DBNull", False)
NameConv = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
ElseIf NameConv = String.Empty Then
oNAME_CONVENTION = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
ElseIf oNAME_CONVENTION = String.Empty Then
ClassLogger.Add(">> Achtung: Namenskonvention is String empty", False)
NameConv = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
oNAME_CONVENTION = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
End If
'schonmal den gesamten Pfad laden
Dim DATEINAME As String = Zielordner & "\" & NameConv
If LogErrorsOnly = False Then ClassLogger.Add(" >> DATEINAME: " & DATEINAME, False)
Dim oNewWM_Filename As String = oWMTARGET_FOLDER & "\" & oNAME_CONVENTION
If LogErrorsOnly = False Then ClassLogger.Add(" >> oNewWM_Filename: " & oNewWM_Filename, False)
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(DATEINAME)
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oNewWM_Filename)
'####
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
@@ -290,7 +291,7 @@ Public Class ClassImport_Windream
End If
ElseIf APattern.Contains("#") Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> element filled with Record-Data.......: ", False)
If LogErrorsOnly = False Then ClassLogger.Add(" >> element [" & APattern & "] filled with Record-Data...: ", False)
Dim split() As String = APattern.Split("#")
If split.Length = 2 Then
Dim CONTROL_ID = split(1)
@@ -365,8 +366,8 @@ Public Class ClassImport_Windream
End Select
If value <> String.Empty Then
DATEINAME = DATEINAME.Replace(element.Value, value)
_NewFileString = DATEINAME
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, value)
_NewFileString = oNewWM_Filename
If LogErrorsOnly = False Then ClassLogger.Add(" >> Actual NEWFILESTRING: " & _NewFileString, False)
' sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString
AnzahlIndexe += 1
@@ -418,14 +419,14 @@ Public Class ClassImport_Windream
Case "MM_YYYY"
datetemp = _Month & "_" & My.Computer.Clock.LocalTime.Year
Case "OFilename".ToUpper
DATEINAME = DATEINAME.Replace(element.Value, Path.GetFileNameWithoutExtension(CURRENT_FILENAME))
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, Path.GetFileNameWithoutExtension(CURRENT_FILENAME))
Case "Username".ToUpper
DATEINAME = DATEINAME.Replace(element.Value, USER_USERNAME)
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, USER_USERNAME)
End Select
If datetemp <> "" Then
DATEINAME = DATEINAME.Replace(element.Value, datetemp)
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, datetemp)
End If
_NewFileString = DATEINAME
_NewFileString = oNewWM_Filename
Case Else
Dim msg As String
msg = "In der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper
@@ -439,17 +440,17 @@ Public Class ClassImport_Windream
Next
Try
'ungültige Zeichen entfernen
DATEINAME = ClassHelper.CleanFilename(DATEINAME, "")
If DATEINAME.Contains("/") Then
oNewWM_Filename = ClassHelper.CleanFilename(oNewWM_Filename, "")
If oNewWM_Filename.Contains("/") Then
ClassLogger.Add(String.Format(">> DATEINAME contains /-sign. / will be replaced with _"))
DATEINAME = DATEINAME.Replace("/", "_")
oNewWM_Filename = oNewWM_Filename.Replace("/", "_")
End If
Catch ex As Exception
ClassLogger.Add(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:")
err = True
End Try
CURRENT_NEWFILENAME = DATEINAME & extension
CURRENT_NEWFILENAME = oNewWM_Filename & oExtension
'False oder True zurückgeben