DY_GenerellesErgebnis-> NCTS

This commit is contained in:
2023-12-18 15:29:25 +01:00
parent 4b4a4a3286
commit 17d24140cb
13 changed files with 1911 additions and 168 deletions

View File

@@ -537,9 +537,12 @@ Public Class cGetMsgType
Return False
End Function
Shared Function isNCTS_GenerellesEreignis(doc As XmlDocument) As Boolean
Shared Function isNCTS_GenerellesEreignis(doc As XmlDocument, ByRef version As String) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("GenerellesEreignis").Count > 0 Then
If doc.GetElementsByTagName("Version").Count > 0 Then
version = doc.GetElementsByTagName("Version")(0).InnerText
End If
Return True
End If
End If

View File

@@ -2177,10 +2177,10 @@ Public Class cWorker_NCTS
saveDY_NCTS = NCTS_TMP
End Function
Shared Function saveDY_NCTS004(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, transID As String, transDate As Date, Optional ANR As String = "", Optional MRN As String = "") As DAKOSY_Worker.cDakosyNCTSOut004
Shared Function saveDY_NCTS004(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, transID As String, transDate As Date, Optional ANR As String = "", Optional MRN As String = "", Optional loadAll As Boolean = False) As DAKOSY_Worker.cDakosyNCTSOut004
'EINTRAG IN tblDakosyNCTSOut
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004 = Nothing
NCTS_TMP = DAKOSY_Worker.cDakosyNCTSOut004.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString, False)
NCTS_TMP = DAKOSY_Worker.cDakosyNCTSOut004.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString, loadAll)
If NCTS_TMP Is Nothing Then
NCTS_TMP = New DAKOSY_Worker.cDakosyNCTSOut004
NCTS_TMP.ncts_ObjectName = STATUS.dySt_BezugsNr
@@ -2429,6 +2429,12 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
FORM.addDGVEinarbeitung("NCTS: StatusmeldungNCTSDE", STATUS.dySt_BezugsNr)
End If
@@ -3806,7 +3812,7 @@ Public Class cWorker_NCTS
STATUS.dySt_ergZeitpunkt = zp
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004 = saveDY_NCTS004(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN)
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004 = saveDY_NCTS004(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN, True)
NCTS_TMP.ncts_Eroeffnung = zp
@@ -3902,7 +3908,7 @@ Public Class cWorker_NCTS
Shared Sub checkATEZ_Bereitstellung(DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, filePath As String)
If DY_TMP Is Nothing Then Exit Sub
Dim ATEZ = VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_DATA.LOAD_ByBezugsNr(DY_TMP.dy_BezugsNr)
If ATEZ IsNot Nothing AndAlso ATEZ.hasEntry Then
If (DY_TMP.dy_BezugsNr.Contains("ATEZ") Or DY_TMP.dy_BezugsNr.Contains("PLH")) OrElse (ATEZ IsNot Nothing AndAlso ATEZ.hasEntry) Then
' If ATEZ.status IsNot Nothing Then
'If ATEZ.status < 40 Then
Dim fio As New IO.FileInfo(filePath)

View File

@@ -5,6 +5,7 @@ Imports Renci.SshNet
Imports System.Net.Mail
Imports GrapeCity.Enterprise.Data.DataEngine.DataProcessing
Imports DocumentFormat.OpenXml.Wordprocessing
Imports DAKOSY_Worker
Public Class frmDYNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0
@@ -593,10 +594,12 @@ Public Class frmDYNachrichtenVerarbeitung
'------------------ Diverse ------------------
'------------------------------------------
'SONDERFALL: Betrifft div. Arten von Anmeldungen: GenerellesEreignis
If Not found And cGetMsgType.isNCTS_GenerellesEreignis(doc) Then
If readNCTS_GenerellesEreignis(d) Then
found = True
End If
If Not found And cGetMsgType.isNCTS_GenerellesEreignis(doc, VERSION) Then
Select Case VERSION
Case "005" : If readNCTS_GenerellesEreignis_005(d, statusTMP) Then found = True
Case Else : If readNCTS_GenerellesEreignis(d) Then found = True
End Select
End If
@@ -823,6 +826,7 @@ Public Class frmDYNachrichtenVerarbeitung
Function getVerahrensartFromBezugsNr(bezugsNr) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut004 WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_EZA WHERE eza_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "EZA"
Return ""
@@ -1008,6 +1012,141 @@ Public Class frmDYNachrichtenVerarbeitung
End Function
Function readNCTS_GenerellesEreignis_005(d As String, ByRef STATUSTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As Boolean
Try
Dim NCTS As DAKOSY_Worker.GenerellesEreignis005.GenerellesEreignisGETyp = DAKOSY_Worker.GenerellesEreignis005.GenerellesEreignisGETyp.LoadFromFile(d)
Dim division = ""
readNCTS_GenerellesEreignis_005 = False
If NCTS IsNot Nothing Then
If NCTS.Transaktion IsNot Nothing Then
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
division = NCTS.Transaktion.IODivision3
End If
End If
If NCTS.EinzelEreignisObjekt IsNot Nothing Then
For Each ge In NCTS.EinzelEreignisObjekt
If ge.ObjektIdentifizierung IsNot Nothing Then
If ge.ObjektIdentifizierung.ObjektName IsNot Nothing And ge.ObjektIdentifizierung.Ereignisgewichtung IsNot Nothing Then
' ListBox4.Items.Add(ge.ObjektIdentifizierung.ObjektName)
Dim STATUS2 As DAKOSY_Worker.cDakosy_Statusmeldungen = getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
STATUS2.dySt_artMitteilung = "GE"
STATUS2.dySt_dyArt = "" '"NCTS" 'T1/T2
STATUS2.dySt_BezugsNr = ge.ObjektIdentifizierung.ObjektName
STATUS2.dySt_ergCode = "" 'erg.EreignisCode
STATUS2.dySt_ergMitteilung = "" 'erg.Ereignismitteilung
If ge.ObjektIdentifizierung.Ereignisgewichtung.Contains("OKAY") Then
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_07
ElseIf ge.ObjektIdentifizierung.Ereignisgewichtung.Contains("INFO") Then
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_40
Else
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_98
End If
readNCTS_GenerellesEreignis_005 = True
Select Case getVerahrensartFromBezugsNr(ge.ObjektIdentifizierung.ObjektName)
Case "NCTS"
Dim DY_TMP2 As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "NCTS")
Dim NCTS_TMP2 As DAKOSY_Worker.cDakosyNCTSOut = cWorker_NCTS.saveDY_NCTS(STATUS2, DY_TMP2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
If DY_TMP2 IsNot Nothing Then STATUS2.dySt_dyId = DY_TMP2.dy_Id
cWorker_NCTS.SaveNCTS_FirmaNL(NCTS_TMP2, DY_TMP2, division)
STATUS2.dySt_dyArt = "NCTS"
'=====ATEZ BEREITSTELLUNG==========
cWorker_NCTS.checkATEZ_Bereitstellung(DY_TMP2, d)
'==================================
Case "EZA", ""
Dim DY_TMP2 As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "EZA")
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA = saveDY_EZA(STATUS2, DY_TMP2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
If DY_TMP2 IsNot Nothing Then STATUS2.dySt_dyId = DY_TMP2.dy_Id
SaveEZA_FirmaNL(EZA_TMP, DY_TMP2, division)
STATUS2.dySt_dyArt = "EZA"
End Select
STATUS2.SAVE()
'Nur wenn BezugsNr vorhanden:
If ge.KopfDaten IsNot Nothing Then
For Each kopf In ge.KopfDaten
If kopf.Ereignis IsNot Nothing Then
If kopf.RegistrierNrATLAS IsNot Nothing Then
'MsgBox(kopf.RegistrierNrATLAS)
If True Then
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
STATUS.dySt_artMitteilung = "GE"
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
STATUS.dySt_BezugsNr = ge.ObjektIdentifizierung.ObjektName
If kopf.RegistrierNrATLAS.StartsWith("ATA") Or kopf.RegistrierNrATLAS.StartsWith("ATC") Then
STATUS.dySt_ergCode = "ATA"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_41
Else
STATUS.dySt_ergCode = "GE"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_40
End If
STATUS.dySt_ergMitteilung = kopf.RegistrierNrATLAS
STATUS.dySt_ergZeitpunkt = ge.ObjektIdentifizierung.ZeitpunktEingang
readNCTS_GenerellesEreignis_005 = True
Select Case getVerahrensartFromBezugsNr(ge.ObjektIdentifizierung.ObjektName)
Case "NCTS"
Dim DY_TMP2 As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "NCTS")
Dim NCTS_TMP2 As DAKOSY_Worker.cDakosyNCTSOut = cWorker_NCTS.saveDY_NCTS(STATUS, DY_TMP2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, kopf.RegistrierNrATLAS)
If DY_TMP2 IsNot Nothing Then STATUS.dySt_dyId = DY_TMP2.dy_Id
cWorker_NCTS.SaveNCTS_FirmaNL(NCTS_TMP2, DY_TMP2, division)
STATUS.dySt_dyArt = "NCTS"
Case "EZA"
Dim DY_TMP2 As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "EZA")
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA = saveDY_EZA(STATUS, DY_TMP2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, kopf.RegistrierNrATLAS)
If DY_TMP2 IsNot Nothing Then STATUS.dySt_dyId = DY_TMP2.dy_Id
SaveEZA_FirmaNL(EZA_TMP, DY_TMP2, division)
STATUS.dySt_dyArt = "EZA"
End Select
STATUS.SAVE()
End If
End If
End If
Next
End If
STATUSTMP = STATUS2
addDGVEinarbeitung("** GenerellesEreignis **", ge.ObjektIdentifizierung.ObjektName)
End If
End If
Next
End If
End If
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readNCTS_GenerellesEreignis_005 = False
End Try
End Function
Function saveDY_AES(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, transID As String, transDate As Date, Optional ANR As String = "", Optional MRN As String = "") As DAKOSY_Worker.cDakosyAES
'EINTRAG IN tblDakosyAESOut
Dim AES_TMP As DAKOSY_Worker.cDakosyAES = Nothing

View File

@@ -3241,18 +3241,18 @@ Public Class frmStartOptions
End If
SDL.Sachbearbeiter = "ASFINAG"
Dim Validto = SQl.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
Dim Validto = SQL.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
SDL.KartenNr = SQl.checkNullStr(oRDR.GetValue("CardNumber"))
SDL.KartenNr = SQL.checkNullStr(oRDR.GetValue("CardNumber"))
If Validto <> "" Then
SDL.GültigBis = DateAdd("d", -1, DateAdd("m", 1, DateSerial("20" & Mid(oRDR.GetValue("CardNumber"), 1, 2), Mid(Validto, 3, 2), 1)))
End If
SDL.OBUID = SQl.checkNullStr(oRDR.GetValue("OBUID"))
SDL.Vertragsabschlussdatum = SQl.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
SDL.Kategorie = SQl.checkNullStr(oRDR.GetValue("Kategorie"))
SDL.Schadstoffklasse = SQl.checkNullStr(oRDR.GetValue("Schadstoffklasse"))
SDL.Status = SQl.checkNullStr(oRDR.GetValue("Status"))
SDL.OBUID = SQL.checkNullStr(oRDR.GetValue("OBUID"))
SDL.Vertragsabschlussdatum = SQL.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
SDL.Kategorie = SQL.checkNullStr(oRDR.GetValue("Kategorie"))
SDL.Schadstoffklasse = SQL.checkNullStr(oRDR.GetValue("Schadstoffklasse"))
SDL.Status = SQL.checkNullStr(oRDR.GetValue("Status"))
SDL.SAVE()
End If
@@ -3298,19 +3298,19 @@ Public Class frmStartOptions
End If
SDL.Sachbearbeiter = "ASFINAG" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "_TEST", "")
Dim Validto = SQl.checkNullStr(row.Item("contractDate"))
Dim Validto = SQL.checkNullStr(row.Item("contractDate"))
SDL.KartenNr = SQl.checkNullStr(row.Item("cardNumber"))
SDL.KartenNr = SQL.checkNullStr(row.Item("cardNumber"))
If Validto <> "" Then
'MsgBox(Mid(row.Item("ValidTo"), 1, 2) & " " & Mid(row.Item("ValidTo"), 3, 2))
SDL.GültigBis = DateAdd("d", -1, DateAdd("m", 1, DateSerial("20" & Mid(row.Item("ValidTo"), 1, 2), Mid(row.Item("ValidTo"), 3, 2), 1))) 'noch im DETAIL checken!
End If
SDL.OBUID = SQl.checkNullStr(row.Item("OBUID"))
SDL.Vertragsabschlussdatum = SQl.checkNullStr(row.Item("contractDate"))
SDL.Kategorie = SQl.checkNullStr(row.Item("vehicleCategory"))
SDL.Schadstoffklasse = SQl.checkNullStr(row.Item("emissionCategory"))
SDL.Status = SQl.checkNullStr(row.Item("status"))
SDL.OBUID = SQL.checkNullStr(row.Item("OBUID"))
SDL.Vertragsabschlussdatum = SQL.checkNullStr(row.Item("contractDate"))
SDL.Kategorie = SQL.checkNullStr(row.Item("vehicleCategory"))
SDL.Schadstoffklasse = SQL.checkNullStr(row.Item("emissionCategory"))
SDL.Status = SQL.checkNullStr(row.Item("status"))
SDL.SAVE()
End If