UTA, MDM, MSE, Datenarchiv

This commit is contained in:
2024-08-02 16:19:05 +02:00
parent 20ed7a8730
commit ca741f8184
5 changed files with 775 additions and 193 deletions

View File

@@ -13,6 +13,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim allowClose = False
Dim deleteFilesAfterDownload = False
Dim renameFilesAfterDownload = False
Dim rmc As New cRMC
Dim uta As New cUTA
Dim programName As String
@@ -27,13 +28,14 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(programName As String, allowClose As Boolean, deleteFilesAfterDownload As Boolean) 'autostart
Sub New(programName As String, allowClose As Boolean, deleteFilesAfterDownload As Boolean, renameFilesAfterDownload As Boolean) 'autostart
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.programName = programName
Me.allowClose = allowClose
Me.deleteFilesAfterDownload = deleteFilesAfterDownload
Me.renameFilesAfterDownload = renameFilesAfterDownload
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
@@ -100,7 +102,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
If programName.Contains("RMC") Then
DownloadFtpDirectory(rmc.API_STRING & "/", New NetworkCredential(rmc.API.Rows(0).Item("api_user").ToString, rmc.API.Rows(0).Item("api_password").ToString), "", cnt, deleteFilesAfterDownload)
ElseIf programName.Contains("UTA") Then
DownloadSFtpDirectory(uta.API_STRING, New NetworkCredential(uta.API.Rows(0).Item("api_user").ToString, uta.API.Rows(0).Item("api_password").ToString), "", cnt, deleteFilesAfterDownload, "/TRX/" & Now.Year)
DownloadSFtpDirectory(uta.API_STRING, New NetworkCredential(uta.API.Rows(0).Item("api_user").ToString, uta.API.Rows(0).Item("api_password").ToString), "", cnt, deleteFilesAfterDownload, "/TRX/" & Now.Year, renameFilesAfterDownload)
ElseIf programName.Contains("IDS") Then
'DownloadSFtpDirectory(uta.API_STRING, New NetworkCredential(uta.API.Rows(0).Item("api_user").ToString, uta.API.Rows(0).Item("api_password").ToString), "", cnt, False, "/TRX/" & Now.Year)
End If
@@ -212,7 +214,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
'End If
Next
End Sub
Function DownloadSFtpDirectory(url As String, credentials As NetworkCredential, localPath As String, ByRef cnt As Integer, deleteAfterDownload As Boolean, Path As String) As Integer
Function DownloadSFtpDirectory(url As String, credentials As NetworkCredential, localPath As String, ByRef cnt As Integer, deleteAfterDownload As Boolean, Path As String, renameAfterDownload As Boolean) As Integer
Dim ConnectionInfo As New ConnectionInfo(url, "22", credentials.UserName, New PasswordAuthenticationMethod(credentials.UserName, credentials.Password))
@@ -224,7 +226,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim targetFile As SftpFile
For Each file As SftpFile In files
If file.IsRegularFile AndAlso file.Name.ToLower.Contains(".uta") AndAlso file.Length > 0 Then
If file.IsRegularFile AndAlso file.Name.ToLower.EndsWith(".uta") AndAlso file.Length > 0 AndAlso IIf(renameAfterDownload, Not file.Name.ToLower.StartsWith("_"), True) Then
Dim remoteFileName = "/" & file.Name
Dim filePath = uta.VERARBEITUNG_PFAD & If(IO.File.Exists(uta.VERARBEITUNG_PFAD & file.Name), Name.Replace(".UTA", "_") & Now.ToString("yyMMdd_HHmmss.fff") & ".UTA", file.Name)
@@ -235,6 +237,13 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
client.DownloadFile(Path + remoteFileName, downloadedFile)
If IO.File.Exists(filePath) AndAlso deleteAfterDownload Then client.DeleteFile(Path + remoteFileName) 'Datei nach erfolgreichem Herunterladen vom Server löschen
If IO.File.Exists(filePath) AndAlso Not deleteAfterDownload And renameAfterDownload Then
Dim remoteFileNameRenamed = "/_" & file.Name
client.RenameFile(Path + remoteFileName, Path + remoteFileNameRenamed) 'verarbeitete Datei kennzeichnen mit beginnenden "_"
End If
downloadedFile.Dispose()
@@ -333,6 +342,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
'd.breimaier: 2024-06-05 aktuell nur die RMC-Dateien! (später, wenn CSV vollständig, dann alle PDFs importieren!
'd.breimaier: 2024-06-17 laut Christian Schuster von Comcore (EDV-BEtr. von RMC) nicht möglich CSV mit easytrip und sofico Datensätzen zu ergängen!
If fi.Name.ToString.StartsWith("invoice_") Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "RMC", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d))
@@ -381,6 +391,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
If Not found Then
If readUTA(d) <> "" Then found = True
End If
If found Then cntDatenEingelesen += 1
@@ -574,7 +585,12 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
RMC.rmc_betragNetto = SQL.isleernothing(currentRow(9))
RMC.rmc_betragMWST = SQL.isleernothing(currentRow(10))
RMC.rmc_betragBrutto = SQL.isleernothing(currentRow(11))
RMC.rmc_waehrung = SQL.isleernothing(currentRow(12))
Dim waherung = SQL.isleernothing(currentRow(12))
If waherung IsNot Nothing Then
RMC.rmc_waehrung = IIf(waherung.ToString.Length > 3, waherung.ToString.Substring(0, 3), waherung)
End If
RMC.rmc_euroBrutto = SQL.isleernothing(currentRow(13))
RMC.rmc_pdfFileName = "invoice_" & RMC.rmc_kdNr & "_" & filenr & "_" & RMC.rmc_sammelReNr & IIf(fileType = "netto", "_nto_e_verag.pdf", "_bto_e_verag.pdf")