TC Einarbeitung + DB Telo/SpedBuch

This commit is contained in:
2025-08-12 11:33:32 +02:00
parent c677846f7b
commit ede8b3a4f0
7 changed files with 1307 additions and 918 deletions

View File

@@ -772,7 +772,7 @@ Public Class cDakosyAES
'End Function
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, ByVal notFound As Boolean)
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, Byref notFound As Boolean)
Dim DY As DAKOSY_Worker.cDakosyAES = DAKOSY_Worker.cDakosyAES.LOADByBezugsNr(AES_Nr, True)
If DY Is Nothing Then
notFound = True
@@ -781,7 +781,7 @@ Public Class cDakosyAES
DakosyAESDatenbereitstellung(SPEDITIONSBUCH, DY, notFound)
End Sub
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, ByVal notFound As Boolean)
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, Byref notFound As Boolean)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
notFound = False

View File

@@ -62,13 +62,17 @@ Public Class cZOLL_IMPORT
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim AbfertigungsNr = getAbfertigungsnummer(TC.telanm_BezugsNr)
Dim FilialenNr = getFilialenNr(TC.telanm_BezugsNr)
If FilialenNr <> "" AndAlso AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(FilialenNr, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(FilialenNr, AbfertigungsNr) = 0 Then
If AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(5501, AbfertigungsNr) = 0 Then
SPEDBUCH.FilialenNr = 5501
SPEDBUCH.FilialenNr = FilialenNr
' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
SPEDBUCH.AbfertigungsNr = AbfertigungsNr
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Zollsystem_Land = "AT"
SPEDBUCH.Zollsystem = "T"
SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString
SPEDBUCH.Sachbearbeiter = "AUTO"
@@ -79,12 +83,12 @@ Public Class cZOLL_IMPORT
Select Case TC.telanm_ART
Case "NCTS", "T1", "T2", "T2L" : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr
Case "EUA", "EZA" : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr
' Case Else : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr
Case Else : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr
End Select
Dim PosAnzahl = 0
' TELOTECDatenbereitstellung(SPEDBUCH, Me.telanm_BezugsNr, notfound, art, PosAnzahl)
SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 2, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 3, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
If Not notfound Then
@@ -474,6 +478,28 @@ Public Class cZOLL_IMPORT
Shared Function getFilialenNr(ByVal bezugsNr) As String
getFilialenNr = ""
If If(bezugsNr, "").ToString.Length > 4 Then
Dim abf = ""
For Each s In bezugsNr.ToString.Substring(0, 4)
If Not IsNumeric(s) Then Exit For
abf &= s
Next
If IsNumeric(abf) Then
If CLng(abf) < 9999 Then
If CLng(abf) > 1000 Then
Return abf
End If
End If
End If
End If
Return ""
End Function
Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String
getAbfertigungsnummer = ""
If If(bezugsNr, "").ToString.Length > 5 Then
@@ -548,6 +574,7 @@ Public Class cZOLL_IMPORT
Case "UNISPED" : EZOLL_SQL = "EZOLL_UNISPED"
End Select
SPEDITIONSBUCH.Zollsystem_Land = "AT"
SPEDITIONSBUCH.Zollsystem = "E"
If EZA_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
@@ -560,6 +587,7 @@ Public Class cZOLL_IMPORT
End If
notFound = Me.notFound
Case 2 'dakosy
SPEDITIONSBUCH.Zollsystem_Land = "DE"
SPEDITIONSBUCH.Zollsystem = "D"
If AES_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
@@ -577,6 +605,7 @@ Public Class cZOLL_IMPORT
Else End If
Me.notFound = notFound
Case 3 'telotec
SPEDITIONSBUCH.Zollsystem_Land = "AT"
SPEDITIONSBUCH.Zollsystem = "T"
If EZA_Nr <> "" Then
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, "EZA", PosAnzahl)
@@ -597,6 +626,38 @@ Public Class cZOLL_IMPORT
End If
End If
'------------------------------------------------------------------------------------------------
'--- Versuche die Verknüpfung über Bezugsnummer (AbfertigungsNr/FilialeNr) zu finden ------------
'------------------------------------------------------------------------------------------------
If avisoLinkId = 0 Or SendungId = 0 Then
Dim BezugsNrSearch = If(EZA_Nr <> "", EZA_Nr, NCTS_Nr)
If BezugsNrSearch.Length > 13 Then BezugsNrSearch = BezugsNrSearch.Substring(0, 13) '4801/28000000
If BezugsNrSearch.Length = 13 AndAlso BezugsNrSearch.Contains("/") Then
Dim FilialeNr As Integer
Dim AbfertigungsNr As Integer
If BezugsNrSearch(4) = "/"c AndAlso IsNumeric(BezugsNrSearch.Substring(0, 4)) AndAlso IsNumeric(BezugsNrSearch.Substring(5)) Then
FilialeNr = CInt(BezugsNrSearch.Substring(0, 4))
AbfertigungsNr = CInt(BezugsNrSearch.Substring(5))
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(FilialeNr, AbfertigungsNr)
If SND IsNot Nothing Then
avisoLinkId = SND.tblSnd_AvisoID
SendungId = SND.tblSnd_SendungID
End If
Console.WriteLine("FilialeNr: " & FilialeNr & ", AbfertigungsNr: " & AbfertigungsNr)
Else
Console.WriteLine("Ungültiges Format!")
End If
End If
End If
'------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------
@@ -959,7 +1020,7 @@ Public Class cZOLL_IMPORT
If SPEDITIONSBUCH.Personalnummer Is Nothing Then Return False
Select Case SPEDITIONSBUCH.FilialenNr
Case 4801, 4802
Case 4801, 4802 : Return True
Case Else
If If(SPEDITIONSBUCH.Vermittler, "") = "" Then Return False
End Select