Dakosy Worker: AES neue Datensätze

This commit is contained in:
2023-01-27 14:27:12 +01:00
parent 424af199ed
commit 5d3b03cf7f
9 changed files with 14273 additions and 4 deletions

View File

@@ -446,6 +446,8 @@ Public Class frmDYNachrichtenVerarbeitung
If Not found Then
'????? UeberlassungAusfuhr
Dim doc2 As New XmlDocument()
Dim XML_Code2 = System.IO.File.ReadAllText(d, System.Text.ASCIIEncoding.UTF8)
doc2.LoadXml(SanitizeXmlString(XML_Code2))
@@ -470,6 +472,9 @@ Public Class frmDYNachrichtenVerarbeitung
addDGVEinarbeitung("*AES: DeliveryNotification", "-")
End If
'---------------------------------------------------------------------------------
'--------OLD----------------------------------------------------------------------
'---------------------------------------------------------------------------------
'AES: DEXPRE - Überlassung 2.3
If Not found And cGetMsgType.isAES_DEXPRD(doc2) Then
If readAES_DEXPRD(doc2) <> "" Then found = True
@@ -479,6 +484,28 @@ Public Class frmDYNachrichtenVerarbeitung
If Not found And cGetMsgType.isAES_DEXPRE(doc2) Then
If readAES_DEXPRE(doc2) <> "" Then found = True
End If
'---------------------------------------------------------------------------------
'---------------------------------------------------------------------------------
'---------------------------------------------------------------------------------
'AES: UeberlassungAusfuhr
If Not found And cGetMsgType.isAES_UeberlassungAusfuhr(doc, VERSION) Then
Select Case VERSION
Case "006" : If readAES_UeberlassungAusfuhr_006(d) <> "" Then found = True
End Select
End If
'AES: BestaetigungAusfuhr
If Not found And cGetMsgType.isAES_BestaetigungAusfuhr(doc, VERSION) Then
Select Case VERSION
Case "006" : If readAES_BestaetigungAusfuhr_006(d) <> "" Then found = True
End Select
End If
'AES: Error
If Not found And cGetMsgType.isAES_DEERRE(doc2) Then
@@ -2116,6 +2143,152 @@ Public Class frmDYNachrichtenVerarbeitung
End Try
End Function
Function readAES_UeberlassungAusfuhr_006(d) As String
Try
Dim AES As DAKOSY_Worker.UeberlassungAusfuhr_006.UeberlassungAusfuhrERTyp = DAKOSY_Worker.UeberlassungAusfuhr_006.UeberlassungAusfuhrERTyp.LoadFromFile(d)
Dim ART = ""
' Dim details = ""
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
readAES_UeberlassungAusfuhr_006 = ""
If AES IsNot Nothing Then
If AES.Transaktion IsNot Nothing Then
If AES.Transaktion.IODivision3 IsNot Nothing Then
division = AES.Transaktion.IODivision3
End If
End If
If AES.EinzelUeberlassung IsNot Nothing AndAlso AES.EinzelUeberlassung.Count > 0 Then
If AES.EinzelUeberlassung(0).ObjektIdentifizierung IsNot Nothing Then
If AES.EinzelUeberlassung(0).ObjektIdentifizierung.ObjektName IsNot Nothing Then
readAES_UeberlassungAusfuhr_006 = AES.EinzelUeberlassung(0).ObjektIdentifizierung.ObjektName
End If
zp = AES.EinzelUeberlassung(0).ObjektIdentifizierung.ZeitpunktEingang
End If
If AES.EinzelUeberlassung(0).KopfDaten IsNot Nothing Then
' If AES.EinzelNichtAbschliessendeFestsetzung.KopfDaten.ArtErledigung IsNot Nothing Then
'ART = AES.EinzelNichtAbschliessendeFestsetzung.KopfDaten.ArtErledigung
' End If
If AES.EinzelUeberlassung(0).KopfDaten.MovementReferenceNumber IsNot Nothing Then
regNR = AES.EinzelUeberlassung(0).KopfDaten.MovementReferenceNumber
End If
End If
End If
End If
' AES.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If readAES_UeberlassungAusfuhr_006 <> "" And regNR <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = getStatusCheckTransID(AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit))
STATUS.dySt_BezugsNr = readAES_UeberlassungAusfuhr_006
STATUS.dySt_artMitteilung = "UEA"
STATUS.dySt_dyArt = "AES"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
STATUS.dySt_ergCode = "TSTMP"
' STATUS.dySt_ergMitteilung = Reason
' If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit), "AES")
' Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, messageID, messageTstmp, , regNR)
Dim AES_TMP As DAKOSY_Worker.cDakosyAES = saveDY_AES(STATUS, DY_TMP, AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit), , regNR)
'SaveAES_FirmaNL(AES_TMP, "") 'KEINE NIEDERLASSUNG
AES_TMP.insertIntoSpedBuch(DY_TMP)
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
addDGVEinarbeitung("AES: Überlassung", STATUS.dySt_BezugsNr)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readAES_UeberlassungAusfuhr_006 = ""
End Try
End Function
Function readAES_BestaetigungAusfuhr_006(d) As String
Try
Dim AES As DAKOSY_Worker.BestaetigungAusfuhr_006.BestaetigungAusfuhrENTyp = DAKOSY_Worker.BestaetigungAusfuhr_006.BestaetigungAusfuhrENTyp.LoadFromFile(d)
Dim ART = ""
' Dim details = ""
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
readAES_BestaetigungAusfuhr_006 = ""
If AES IsNot Nothing Then
If AES.Transaktion IsNot Nothing Then
If AES.Transaktion.IODivision3 IsNot Nothing Then
division = AES.Transaktion.IODivision3
End If
End If
If AES.EinzelBestaetigung IsNot Nothing AndAlso AES.EinzelBestaetigung.Count > 0 Then
If AES.EinzelBestaetigung(0).ObjektIdentifizierung IsNot Nothing Then
If AES.EinzelBestaetigung(0).ObjektIdentifizierung.ObjektName IsNot Nothing Then
readAES_BestaetigungAusfuhr_006 = AES.EinzelBestaetigung(0).ObjektIdentifizierung.ObjektName
End If
zp = AES.EinzelBestaetigung(0).ObjektIdentifizierung.ZeitpunktEingang
End If
If AES.EinzelBestaetigung(0).KopfDaten IsNot Nothing Then
' If AES.EinzelNichtAbschliessendeFestsetzung.KopfDaten.ArtErledigung IsNot Nothing Then
'ART = AES.EinzelNichtAbschliessendeFestsetzung.KopfDaten.ArtErledigung
' End If
If AES.EinzelBestaetigung(0).KopfDaten.MovementReferenceNumber IsNot Nothing Then
regNR = AES.EinzelBestaetigung(0).KopfDaten.MovementReferenceNumber
End If
End If
End If
End If
' AES.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If readAES_BestaetigungAusfuhr_006 <> "" And regNR <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = getStatusCheckTransID(AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit))
STATUS.dySt_BezugsNr = readAES_BestaetigungAusfuhr_006
STATUS.dySt_artMitteilung = "BST"
STATUS.dySt_dyArt = "AES"
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
STATUS.dySt_ergCode = "TSTMP"
' STATUS.dySt_ergMitteilung = Reason
' If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit), "AES")
' Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, messageID, messageTstmp, , regNR)
Dim AES_TMP As DAKOSY_Worker.cDakosyAES = saveDY_AES(STATUS, DY_TMP, AES.Transaktion.IOReferenz, If(zp, AES.Transaktion.IODatumZeit), , regNR)
'SaveAES_FirmaNL(AES_TMP, "") 'KEINE NIEDERLASSUNG
AES_TMP.insertIntoSpedBuch(DY_TMP)
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
addDGVEinarbeitung("AES: BestätigunAusfuhr", STATUS.dySt_BezugsNr)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readAES_BestaetigungAusfuhr_006 = ""
End Try
End Function
Function readAES_DEXPRE(doc As XmlDocument) As String
Try
readAES_DEXPRE = ""
@@ -5863,6 +6036,7 @@ Public Class frmDYNachrichtenVerarbeitung
Dim division = ""
Dim TXT_DokBeschau = ""
'Dim annahmeKz As Object = Nothing
'Dim ueberlassungKz As Object = Nothing
'Dim RueckgabeKz As Object = Nothing
@@ -5898,7 +6072,21 @@ Public Class frmDYNachrichtenVerarbeitung
zoellner = EZA.EinzelEntscheidungAnmeldung.KopfDaten.BearbeiterZoll
End If
End If
'If EZA.EinzelEntscheidungAnmeldung.Position IsNot Nothing Then
'POS __> DOKUMENTENBSCHAU
If EZA.EinzelEntscheidungAnmeldung.Position IsNot Nothing Then
For Each POS In EZA.EinzelEntscheidungAnmeldung.Position
If POS.AnordnungKz IsNot Nothing Then
'0 = Keine Beschau. 1 = Volle Gesamtbeschau. 2 = Stichprobenweise Mengenbeschau. 3 = Stichprobenweise Beschaffenheitsbeschau. 4 = Dokumentenprüfung 5= Durchleuchtung 9 = Andere. (Codeliste A1410
Select Case POS.AnordnungKz
Case "4" '--> Dokumentenprüfung
TXT_DokBeschau &= POS.Positionsnummer & ": Dokumentenprüfung" & If(POS.MitteilungTeilnehmerBeschau IsNot Nothing, " (" & POS.MitteilungTeilnehmerBeschau & ")", "") & vbNewLine
'MitteilungTeilnehmerBeschau
End Select
End If
Next
End If
'End If
@@ -5906,6 +6094,7 @@ Public Class frmDYNachrichtenVerarbeitung
End If
' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If readEZA_EntscheidungAnmeldung_004 <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readEZA_EntscheidungAnmeldung_004
@@ -5943,6 +6132,61 @@ Public Class frmDYNachrichtenVerarbeitung
STATUS.SAVE()
addDGVEinarbeitung("EZA: EntscheidungAnmeldung", STATUS.dySt_BezugsNr)
If TXT_DokBeschau <> "" Then
'Benachrichtigung
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sendToID As String = SQL.DLookup("tblSnd_VG_MA", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
Dim art = "B"
'Wenn Benutzer vorschreiben nicht online, dann Benutzer der Sendung...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer der Sendung nicht online, dann Benutzer des LKW ..
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & DY_TMP.dy_AvisoId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer des LKWs nicht online, Team...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "T"
End If
'Wenn TEAM nicht gefunden, Firma...
If EZA_TMP.eza_firma IsNot Nothing AndAlso EZA_TMP.eza_firma <> "" Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = EZA_TMP.eza_firma
art = "F"
End If
End If
'Wenn gefunden
If sendToID >= 0 Then
Dim statusAVISO = SQL.DLookup("Status", "Aviso", "AvisoID='" & DY_TMP.dy_AvisoId & "'", "AVISO")
Select Case statusAVISO
'Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben,,VERAG_PROG_ALLGEMEIN.cGlobal.erfasst Nue
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben
'Nicht
Case Else
Dim code = VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.ZOLL_Dokumentenbeschau
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId, code, art, sendToID, "ZOLL: Dokumentenbeschau", 1, , TXT_DokBeschau.Trim,,, If(EZA_TMP.eza_firma, ""))
End Select
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -5951,6 +6195,7 @@ Public Class frmDYNachrichtenVerarbeitung
End Function
Function readEZA_SumAErledigungsinformationVorpapier(d) As String
Try