From 311eedea2fd0dd447b054e49e1cebda56e68bde4 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Sat, 21 Jan 2023 23:36:30 +0100 Subject: [PATCH] AES Auto SpedBuch Eintrag, Zollstelle in Sepdbuch --- DAKOSY_Worker/DAKOSY/ATLAS/AES/cDakosyAES.vb | 126 +++++++++++++----- DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb | 5 +- DAKOSY_Worker/cZOLL_IMPORT.vb | 13 +- cNCTSPartnerWorker/NCTSPartnerWorker.vbproj | 9 +- .../frmDYNachrichtenVerarbeitung.vb | 3 +- 5 files changed, 114 insertions(+), 42 deletions(-) diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/AES/cDakosyAES.vb b/DAKOSY_Worker/DAKOSY/ATLAS/AES/cDakosyAES.vb index b0b2f4f..78ac5dc 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/AES/cDakosyAES.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/AES/cDakosyAES.vb @@ -665,49 +665,113 @@ Public Class cDakosyAES Function insertIntoSpedBuch(DY As cDakosy_Zollanmeldungen) As Boolean Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch - If If(Me.aes_firma, "") = "IMEX" Then - If countSpedbuchEntrys(5501, Me.AES_ObjectName) = 0 Then - SPEDBUCH.FilialenNr = 5501 - SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) - SPEDBUCH.NewUNTER_NR() + Dim cZOLL_IMPORT As New cZOLL_IMPORT - SPEDBUCH.AtlasBezNrNCTS = Me.aes_ObjectName - SPEDBUCH.Zollsystem = "D" + Dim firmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = If(If(Me.aes_firma, "") <> "", Me.aes_firma, "VERAG") + If DY.dy_SendungsId IsNot Nothing Then + 'Filiale erkennen: + Dim filialeBez = "" + Dim filiale = cDakosyEZA.getFiliale(Me.aes_ObjectName, filialeBez) + Dim abfertigungsnummer = cDakosyEZA.getAbfertigungsnummer(Me.aes_ObjectName) - Dim notfound = False - DakosyAESDatenbereitstellung(SPEDBUCH, Me.AES_ObjectName, notfound) + If abfertigungsnummer = "" Then + cDakosyEZA.getFilialeAbfertigungsnummerFromSendung(filiale, abfertigungsnummer, DY.dy_SendungsId) + End If + + If filiale <> "" And abfertigungsnummer <> "" Then + If cDakosyEZA.countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) = 0 Then + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA ", "" & Me.aes_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "") + SPEDBUCH.FilialenNr = filiale + SPEDBUCH.AbfertigungsNr = abfertigungsnummer + SPEDBUCH.NewUNTER_NR() + + SPEDBUCH.Abfertigungsart = "7" + SPEDBUCH.Abfertigungsanzahl = 1 + SPEDBUCH.Fakturiert = 0 + SPEDBUCH.AtlasBezNrAES = Me.aes_ObjectName + SPEDBUCH.Zollsystem = "D" + SPEDBUCH.Sachbearbeiter = "AUTO" + + SPEDBUCH.AvisoID = DY.dy_AvisoId + SPEDBUCH.SendungID = DY.dy_SendungsId + + Dim ZOLL_IMPORT As New cZOLL_IMPORT + Dim notfound = False + Dim posAnzahl = 0 + SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, DY.dy_AvisoId, DY.dy_SendungsId, "VERA", filialeBez, 2, "", "", notfound, True,, Me.aes_ObjectName) + + If notfound Then Return False + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA !!", "" & Me.aes_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "") + + ' MsgBox(SPEDBUCH.FilialenNr & " - " & SPEDBUCH.AbfertigungsNr) + VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firmaTmp + + If SPEDBUCH.SAVE Then + VERAG_PROG_ALLGEMEIN.cSendungen.SET_SpedbuchEntry(DY.dy_SendungsId, True) + Return True + Else + Return False + End If + + + ' MsgBox(SQL.getValueTxtBySql("select count(*) FROM [VERAG].[dbo].[Speditionsbuch] where AbfertigungsNr = 18035380", "FMZOLL")) - If Not notfound Then - Return SPEDBUCH.SAVE - Else - Return False End If End If - - If DY.dy_SendungsId IsNot Nothing Then - - Else - Return False 'Ohne Sendungsverweis kein eintrag... - End If - - Return SPEDBUCH.SAVE Else - If False Then 'NOCH NCIHT.... - - If DY.dy_SendungsId IsNot Nothing Then - - Else - Return False 'Ohne Sendungsverweis kein eintrag... - End If - - Return SPEDBUCH.SAVE - End If + Return False 'Ohne Sendungsverweis kein eintrag... End If Return False End Function + 'Function insertIntoSpedBuch(DY As cDakosy_Zollanmeldungen) As Boolean + ' Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch + ' If If(Me.aes_firma, "") = "IMEX" Then + ' If countSpedbuchEntrys(5501, Me.AES_ObjectName) = 0 Then + ' SPEDBUCH.FilialenNr = 5501 + ' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) + ' SPEDBUCH.NewUNTER_NR() + + ' SPEDBUCH.AtlasBezNrNCTS = Me.aes_ObjectName + ' SPEDBUCH.Zollsystem = "D" + + ' Dim notfound = False + ' DakosyAESDatenbereitstellung(SPEDBUCH, Me.AES_ObjectName, notfound) + + ' If Not notfound Then + ' Return SPEDBUCH.SAVE + ' Else + ' Return False + ' End If + ' End If + + ' If DY.dy_SendungsId IsNot Nothing Then + + ' Else + ' Return False 'Ohne Sendungsverweis kein eintrag... + ' End If + + ' Return SPEDBUCH.SAVE + ' Else + ' If False Then 'NOCH NCIHT.... + + ' If DY.dy_SendungsId IsNot Nothing Then + + ' Else + ' Return False 'Ohne Sendungsverweis kein eintrag... + ' End If + + ' Return SPEDBUCH.SAVE + ' End If + ' End If + ' Return False + + 'End Function + + Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, ByVal notFound As Boolean) Dim DY As DAKOSY_Worker.cDakosyAES = DAKOSY_Worker.cDakosyAES.LOADByBezugsNr(AES_Nr, True) If DY Is Nothing Then diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb index 20f8d5a..bc6ffae 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb @@ -863,7 +863,8 @@ Public Class cDakosyEZA - Function countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) As Integer + Shared Function countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) As Integer + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL If If(abfertigungsnummer, "") = "" Then Return 0 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AbfertigungsNr='" & abfertigungsnummer & "'", "FMZOLL") End Function @@ -1010,7 +1011,7 @@ Public Class cDakosyEZA Return "" End Function - Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId) + Shared Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId) If dy_SendungsId IsNot Nothing AndAlso IsNumeric(dy_SendungsId) Then Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(dy_SendungsId) If SND IsNot Nothing Then diff --git a/DAKOSY_Worker/cZOLL_IMPORT.vb b/DAKOSY_Worker/cZOLL_IMPORT.vb index 142c40d..1815ba2 100644 --- a/DAKOSY_Worker/cZOLL_IMPORT.vb +++ b/DAKOSY_Worker/cZOLL_IMPORT.vb @@ -479,7 +479,7 @@ Public Class cZOLL_IMPORT End Function 'Zollsystem 0,1 - Public Function IMPORT(SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, avisoLinkId As Integer, SendungId As Integer, strManNr As String, strManNl As String, Zollsystem As String, EZA_Nr As String, NCTS_Nr As String, ByRef notFound As Boolean, Optional autoImport As Boolean = False, Optional Personalnummer As Integer = -1) As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch + Public Function IMPORT(SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, avisoLinkId As Integer, SendungId As Integer, strManNr As String, strManNl As String, Zollsystem As String, EZA_Nr As String, NCTS_Nr As String, ByRef notFound As Boolean, Optional autoImport As Boolean = False, Optional Personalnummer As Integer = -1, Optional AES_Nr As String = "") As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Me.SPEDITIONSBUCH = SPEDITIONSBUCH Me.strManNr = strManNr @@ -535,16 +535,19 @@ Public Class cZOLL_IMPORT notFound = Me.notFound Case 2 'dakosy SPEDITIONSBUCH.Zollsystem = "D" - If EZA_Nr <> "" Then + If AES_Nr <> "" Then + ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr + DAKOSY_Worker.cDakosyEZA.DakosyAESDatenbereitstellung(SPEDITIONSBUCH, AES_Nr, notFound, PosAnzahl) + ElseIf EZA_Nr <> "" Then If SPEDITIONSBUCH.Abfertigungsart = "7" Then DAKOSY_Worker.cDakosyEZA.DakosyAESDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) Else DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) End If ElseIf NCTS_Nr <> "" Then - ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr - DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) - End If + ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr + DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) + Else End If Me.notFound = notFound Case 3 'telotec SPEDITIONSBUCH.Zollsystem = "T" diff --git a/cNCTSPartnerWorker/NCTSPartnerWorker.vbproj b/cNCTSPartnerWorker/NCTSPartnerWorker.vbproj index 2630034..96aded6 100644 --- a/cNCTSPartnerWorker/NCTSPartnerWorker.vbproj +++ b/cNCTSPartnerWorker/NCTSPartnerWorker.vbproj @@ -52,9 +52,6 @@ - - ..\..\..\SDL\SDL\VERAG_PROG_ALLGEMEIN\bin\Debug\VERAG_PROG_ALLGEMEIN.dll - @@ -109,5 +106,11 @@ Settings.Designer.vb + + + {a3b497bd-842c-4a2b-b398-ed1976849df1} + VERAG_PROG_ALLGEMEIN + + \ No newline at end of file diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index ef0f711..b4f3bf1 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -2086,6 +2086,7 @@ Public Class frmDYNachrichtenVerarbeitung Dim AES_TMP As DAKOSY_Worker.cDakosyAES = saveDY_AES(STATUS, DY_TMP, messageID, messageTstmp, , MRN) ' If If(AES_TMP.aes_firma, "") = "IMEX" Then AES_TMP.insertIntoSpedBuch(DY_TMP) + AES_TMP.insertIntoSpedBuch(DY_TMP) 'SaveAES_FirmaNL(AES_TMP, "") 'KEINE NIEDERLASSUNG @@ -2201,7 +2202,7 @@ Public Class frmDYNachrichtenVerarbeitung Dim AES_TMP As DAKOSY_Worker.cDakosyAES = saveDY_AES(STATUS, DY_TMP, messageID, messageTstmp, , MRN) '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()