This commit is contained in:
2026-04-08 09:27:39 +02:00
parent bcbbf76d31
commit 83ebe204df
6 changed files with 2442 additions and 2154 deletions

View File

@@ -89,6 +89,9 @@ Public Class frmStartOptions
txtGJ_UNISPED.Text = Now.Year
txtUTADate.Text = Today.ToShortDateString
MyTextBox5._value = Today.AddDays(-7).ToShortDateString
txtEZOLLAnhDat._value = Now.ToShortDateString
Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID)
@@ -661,6 +664,19 @@ Public Class frmStartOptions
closeMe()
'------------------------------
Case "MODALTRANS_GET" '
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
getNCTS_MODALTRANS(Now.AddDays(-3))
closeMe()
'------------------------------
Case "MODALTRANS_UPDATE" '
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
UpdateOpenModaltransNCTSFremdStatuses()
closeMe()
'------------------------------
Case "MSE_NEWTRANSACTIONS_IMPORT" 'jeweils am 15/letzen Tag des Monats vor allen anderen MSE-Aufrufen!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
@@ -7814,4 +7830,160 @@ repeatRequest:
End Sub
Private Sub Button29_Click_2(sender As Object, e As EventArgs) Handles Button29.Click
getNCTS_MODALTRANS(CDate(MyTextBox5._value))
End Sub
Sub getNCTS_MODALTRANS(Optional from As Object = Nothing)
'Dim MT As New VERAG_PROG_ALLGEMEIN.cModalTransNCTS.cMT_NCTS_ApiClient
'Dim LIST = MT.GetNCTSDeclarations(CDate("01.03.2026"))
'If LIST.Count = 0 Then Console.WriteLine("Keine Eintäge")
'For Each MRN In LIST
' Console.WriteLine(MRN.lrn)
'Next
If from Is Nothing Then from = Now.AddDays(-1)
Dim MT As New VERAG_PROG_ALLGEMEIN.cModalTransNCTS.cMT_NCTS_ApiClient
Dim LIST = MT.GetAllNCTSDeclarations(CDate(from))
If LIST.Count = 0 Then Console.WriteLine("Keine Eintäge")
For Each MRN In LIST
Try
Dim nctsFremd = VERAG_PROG_ALLGEMEIN.cNCTS_FREMD.LOADByMRN(MRN.mrn, False)
If nctsFremd IsNot Nothing Then
Console.WriteLine(MRN.mrn & " found")
Else
Console.WriteLine(MRN.mrn & " not found")
End If
Console.WriteLine(MRN.mrn & " - " & MRN.lrn)
Dim statusValue As Integer = -1
If nctsFremd IsNot Nothing Then
Integer.TryParse(If(nctsFremd.ncts_Status, "").ToString(), statusValue)
End If
' Fall 1: vorhanden + Status 60/90 -> nichts tun
If nctsFremd IsNot Nothing AndAlso (statusValue = 60 OrElse statusValue = 90) Then
Console.WriteLine("Übersprungen, da ncts_Status = " & statusValue)
Continue For
End If
If nctsFremd Is Nothing Then
'
Console.WriteLine("*Neu anlegen")
Dim nctsMt = MT.GetNCTSDeclarationByMRN(MRN.mrn)
If nctsMt Is Nothing Then
Console.WriteLine("Keine Modaltrans-Daten gefunden.")
Continue For
End If
' Debug-Ausgaben
Console.WriteLine("vehicle_code:" & If(nctsMt.vehicle_code, ""))
Console.WriteLine("lrn:" & If(nctsMt.lrn, ""))
Console.WriteLine("letter_grn:" & If(nctsMt.letter_grn, ""))
Console.WriteLine("guarantee_curr:" & If(nctsMt.guarantee_curr, ""))
Console.WriteLine("guarantee_price:" & If(nctsMt.guarantee_price, ""))
Console.WriteLine("status:" & If(nctsMt.status, ""))
MT.ConvertModaltransToNCTSFremd(nctsMt)
Else
' Vorhanden, aber anderer Status -> Update (auskommentiert)
'Status updaten:
Console.WriteLine("*Updaten")
If MT.UpdateNCTSFremdStatusFromTimelines(nctsFremd.ncts_MRN, nctsFremd, False) Then
nctsFremd.SAVE()
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
End Try
Next
End Sub
Private Sub Button31_Click_1(sender As Object, e As EventArgs) Handles Button31.Click
UpdateOpenModaltransNCTSFremdStatuses()
End Sub
Public Function UpdateOpenModaltransNCTSFremdStatuses() As Integer
Dim updatedCount As Integer = 0
Dim totalCount As Integer = 0
Try
Dim sqlstr As String = "SELECT ncts_MRN FROM [tblNCTS_FREMD] " &
"WHERE ncts_Partnersystem = 'MODALTRANS' " &
"AND ISNULL(ncts_Status, 0) < 60 " &
"AND ISNULL(ncts_MRN, '') <> ''"
Console.WriteLine("=== Starte Update Modaltrans NCTS_FREMD ===")
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "FMZOLL")
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
Console.WriteLine("Keine offenen Datensätze gefunden.")
Return 0
End If
Console.WriteLine("Gefundene Datensätze: " & dt.Rows.Count)
Dim MT As New VERAG_PROG_ALLGEMEIN.cModalTransNCTS.cMT_NCTS_ApiClient
For Each row As DataRow In dt.Rows
totalCount += 1
Dim mrn As String = If(row("ncts_MRN"), "").ToString.Trim
If String.IsNullOrWhiteSpace(mrn) Then
Console.WriteLine("[" & totalCount & "] MRN leer -> übersprungen")
Continue For
End If
Console.WriteLine("[" & totalCount & "] Prüfe MRN: " & mrn)
Dim nctsFremd As VERAG_PROG_ALLGEMEIN.cNCTS_FREMD = VERAG_PROG_ALLGEMEIN.cNCTS_FREMD.LOADByMRN(mrn, False)
If nctsFremd Is Nothing Then
Console.WriteLine(" -> Datensatz nicht gefunden")
Continue For
End If
Try
If MT.UpdateNCTSFremdStatusFromTimelines(nctsFremd.ncts_MRN, nctsFremd, False) Then
nctsFremd.SAVE()
updatedCount += 1
Console.WriteLine(" -> ✔ Aktualisiert (Status: " & nctsFremd.ncts_Status & ")")
End If
Catch exInner As Exception
Console.WriteLine(" -> ❌ Fehler bei MRN " & mrn & ": " & exInner.Message)
End Try
Next
Console.WriteLine("=== Fertig ===")
Console.WriteLine("Gesamt geprüft: " & totalCount)
Console.WriteLine("Aktualisiert: " & updatedCount)
Catch ex As Exception
Console.WriteLine("❌ Globaler Fehler: " & ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(
ex.Message,
ex.StackTrace,
System.Reflection.MethodInfo.GetCurrentMethod.Name
)
End Try
Return updatedCount
End Function
End Class