Div. Dakosy Nachrichten

This commit is contained in:
2024-01-02 11:30:18 +01:00
parent 7b639ea564
commit 52feeaa603
11 changed files with 3237 additions and 1214 deletions

View File

@@ -6,6 +6,8 @@ Imports System.Net.Mail
Imports GrapeCity.Enterprise.Data.DataEngine.DataProcessing
Imports DocumentFormat.OpenXml.Wordprocessing
Imports DAKOSY_Worker
Imports Renci.SshNet.Messages
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Public Class frmDYNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0
@@ -602,6 +604,15 @@ Public Class frmDYNachrichtenVerarbeitung
End If
'SONDERFALL: Betrifft div. Arten von Anmeldungen: QuittungEingangsverarbeitung
If Not found And cGetMsgType.isNCTS_QuittungEingangsverarbeitung(doc, VERSION) Then
Select Case VERSION
Case "005" : If readNCTS_QuittungEingangsverarbeitung_005(d, statusTMP) Then found = True
' Case Else : If readNCTS_GenerellesEreignis(d) Then found = True
End Select
End If
'------------------------------------------------------------------------------------------------------------------------------
@@ -647,7 +658,10 @@ Public Class frmDYNachrichtenVerarbeitung
End If
End If
Else
frmStartOptions.moveFile(d, ERROR_PFAD)
Dim destErr = ERROR_PFAD & Now.ToString("yyyy_MM") & "\"
If Not IO.Directory.Exists(destErr) Then IO.Directory.CreateDirectory(destErr)
frmStartOptions.moveFile(d, destErr)
End If
End If
@@ -1146,6 +1160,109 @@ Public Class frmDYNachrichtenVerarbeitung
End Try
End Function
Function readNCTS_QuittungEingangsverarbeitung_005(d As String, ByRef STATUSTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As Boolean
Try
Dim NCTS As DAKOSY_Worker.QuittungEingangsverarbeitung_005.QuittungEingangsverarbeitungBQTyp = DAKOSY_Worker.QuittungEingangsverarbeitung_005.QuittungEingangsverarbeitungBQTyp.LoadFromFile(d)
Dim division = ""
Dim BezugsNr = ""
readNCTS_QuittungEingangsverarbeitung_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.EinzelQuittung IsNot Nothing Then
For Each ge In NCTS.EinzelQuittung
If ge.Quittungsobjekt IsNot Nothing Then
If ge.Quittungsobjekt.QuittungTech IsNot Nothing Then
If ge.Quittungsobjekt.QuittungTech(0).BezugsObjekt 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 = "QUITT"
STATUS2.dySt_dyArt = "" '"NCTS" 'T1/T2
STATUS2.dySt_BezugsNr = ge.Quittungsobjekt.QuittungTech(0).BezugsObjekt
BezugsNr = ge.Quittungsobjekt.QuittungTech(0).BezugsObjekt
STATUS2.dySt_ergCode = "" 'erg.EreignisCode
STATUS2.dySt_ergMitteilung = "" 'erg.Ereignismitteilung
If ge.Quittungsobjekt.QuittungTech(0).ErgebnisTech.Contains("OKAY") Then
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_04
ElseIf ge.Quittungsobjekt.QuittungTech(0).ErgebnisTech.Contains("INFO") Then
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_08
Else
STATUS2.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_98
End If
readNCTS_QuittungEingangsverarbeitung_005 = True
Select Case getVerahrensartFromBezugsNr(ge.Quittungsobjekt.QuittungTech(0).BezugsObjekt)
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 = getVerahrensartFromBezugsNr(ge.Quittungsobjekt.QuittungTech(0).BezugsObjekt)
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"
Case "AES"
Dim DY_TMP2 As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "AES")
Dim AES_TMP As DAKOSY_Worker.cDakosyAES = saveDY_AES(STATUS2, DY_TMP2, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "", "")
If DY_TMP2 IsNot Nothing Then STATUS2.dySt_dyId = DY_TMP2.dy_Id
SaveAES_FirmaNL(AES_TMP, division)
STATUS2.dySt_dyArt = "AES"
End Select
STATUS2.SAVE()
STATUSTMP = STATUS2
addDGVEinarbeitung("** QuittungEingangsverarbeitung **", BezugsNr)
End If
End If
If ge.Quittungsobjekt.QuittungFach IsNot Nothing Then
If ge.Quittungsobjekt.QuittungFach(0).BezugsObjektFach IsNot Nothing Then
End If
End If
'=====ATEZ BEREITSTELLUNG==========
cWorker_NCTS.checkATEZ_BereitstellungBezugsNr(BezugsNr, d)
'==================================
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_QuittungEingangsverarbeitung_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