Files
ADMIN/DAKOSY_Worker/cZOLL_IMPORT.vb
2020-08-04 16:35:31 +02:00

1747 lines
93 KiB
VB.net

Imports VERAG_PROG_ALLGEMEIN
Public Class cZOLL_IMPORT
Public Aviso As cAviso
'Public SendungId As Integer = -1
Dim KDSQL As New SQL
Dim SQLAVISO As New cAvisoDAL
Dim SQLADMIN As New adminfunc
' Dim avisoLinkId = -1
Dim SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim PosAnzahl As Integer = 0
Dim SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen = Nothing
Dim strManNr As String = "VERA"
Dim strManNl As String = "SUB"
Dim packstueckeAVISO_TMP As String = ""
Dim RohmasseAviso As String = ""
Dim packstueckeZOLL_TMP As String = ""
Dim notFound = True
Dim ATLAS_SERVER_VERBINDUNG As String = "ATLAS"
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Function countSpedbuchEntrysTC(filiale, BezugsNr, telanm_ART) As Integer
Select Case telanm_ART
Case "NCTS", "T1", "T2", "T2L" : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr)
Case Else : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr)
End Select
End Function
Function countSpedbuchEntrysTC_EZA(filiale, BezugsNr) As Integer
If If(BezugsNr, "") = "" Then Return -1
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrEZA]='" & BezugsNr & "'", "FMZOLL",, 0)
End Function
Function countSpedbuchEntrysTC_NCTS(filiale, BezugsNr) As Integer
If If(BezugsNr, "") = "" Then Return -1
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrNCTS]='" & BezugsNr & "'", "FMZOLL",, 0)
End Function
Function countSpedbuchEntrys_AbfertigungsNr(filiale, AbfertigungsNr) As Integer
If If(AbfertigungsNr, "") = "" Then Return -1
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AbfertigungsNr]='" & AbfertigungsNr & "'", "FMZOLL",, 0)
End Function
Public Function TelotecImport(TC As TELOTEC_Worker.cTelotec_Anmeldung) As Boolean
'Function insertIntoSpedBuch() As Boolean
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim AbfertigungsNr = getAbfertigungsnummer(TC.telanm_BezugsNr)
If AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(5501, AbfertigungsNr) = 0 Then
SPEDBUCH.FilialenNr = 5501
' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
SPEDBUCH.AbfertigungsNr = AbfertigungsNr
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Zollsystem = "T"
SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString
SPEDBUCH.Sachbearbeiter = "AUTO"
Dim notfound = False
Dim art = ""
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
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)
If Not notfound Then
Return SPEDBUCH.SAVE
Else
Return False
End If
End If
Return False 'Ohne Sendungsverweis kein eintrag...
End Function
Public Sub insertAbgabenTELOTEC(TC As TELOTEC_Worker.cTelotec_Anmeldung)
' MsgBox("aso")
If TC.ABGABEN IsNot Nothing Then
'MsgBox(TC.ABGABEN.Count)
For Each ABG In TC.ABGABEN
If ABG IsNot Nothing AndAlso ABG.Amnt > 0 Then
' MsgBox(ABG.Amnt)
Dim ABGABEN As New VERAG_PROG_ALLGEMEIN.cAbgaben(TC.telanm_CRN, ABG.Ty, ABG.Amnt)
If Not ABGABEN.hasEntry Then
Dim LeistungsNr = ""
Dim LeistungsBez = ""
Dim saveAbgaben = True
Select Case ABG.Ty
Case "2EU", "2IG", "5EU" ' "2PE",
LeistungsNr = "20"
Case "B00" 'EUST
LeistungsNr = "20"
ABGABEN.Status = "A" 'AUSGEBUCHT
Case "5EV" '"5EV"--> EV-KONTO!!
saveAbgaben = False
Case "2DU", "5DU", "5ZO", "5ZZ", "A20", "A30", "A35", "A40", "A45", "C00", "C10", "A00"
LeistungsNr = "76"
Case Else '1BD,0ML, 0PB, 0PG, 0PS, 1LG, 1ZN, 2AS, 2KO, 2RB, 2SB, 2SI, 2VF, 2VS, 5SI, 5VS, 6AK, 6BE, 6MS, 6SS, 6TS, 6ZW, 9EA, D00,D10,E00
LeistungsNr = "482"
LeistungsBez = getLeistungsBez(ABG.Ty)
End Select
If saveAbgaben Then
ABGABEN.Belegart = ABG.Ty
ABGABEN.Betrag = CDbl(ABG.Amnt)
ABGABEN.Status = Nothing
ABGABEN.LeistungsNr = LeistungsNr
ABGABEN.Bezugsnummer = TC.telanm_BezugsNr
ABGABEN.Registriernummer = TC.telanm_CRN
' ABGABEN.AOFD = A.KennBuchstabenAufschub
ABGABEN.AKTO = TC.Hea_DefPayRef '"3027279" 'd1.Abgabenkonto 'IMEX--> FIX!!!
'ABGABEN.Fälligkeitsdatum = A.Faelligkeit
' ABGABEN.Mandant = "VERG"
ABGABEN.Niederlassung = TC.Bereich_ID
ABGABEN.Abfertigungsdatum = ABG.Erstelldatum
ABGABEN.Übernahmedatum = ABG.Erstelldatum
ABGABEN.Eingabedatum = Now.ToShortDateString
ABGABEN.Sachbearbeiter = "AUTO"
ABGABEN.LeistungsBez = LeistungsBez
If If(ABGABEN.Bezugsnummer, "").ToString.Length > 35 Then ABGABEN.Bezugsnummer = ABGABEN.Bezugsnummer.ToString.Substring(0, 35)
If If(ABGABEN.Registriernummer, "").ToString.Length > 21 Then ABGABEN.Registriernummer = ABGABEN.Registriernummer.ToString.Substring(0, 21)
Dim errHInweis = "ATC: " & ABGABEN.Registriernummer & " - BezugsNr: " & ABGABEN.Bezugsnummer
ABGABEN.SAVE(errHInweis)
End If
End If
End If
Next
End If
End Sub
Shared Function getLeistungsBez(LeistungsBez)
Select Case LeistungsBez
Case "0ML"
getLeistungsBez = "Altlastenbeitrag"
Case "0PB"
getLeistungsBez = "Punzierungskontrollgeb. Platin"
Case "0PG"
getLeistungsBez = "Punzierungskontrollgebühr Gold"
Case "0PS"
getLeistungsBez = "Punzierungskontrollgeb. Silber"
Case "1BD"
getLeistungsBez = "Bemessungsdatum"
Case "1LG"
getLeistungsBez = "Lagergeld gemäß §104 ZollR-DG"
Case "1ZK"
getLeistungsBez = "Kreditzinsen, Säumniszinsen"
Case "1ZN"
getLeistungsBez = "Nebenansprüche"
Case "2AS"
getLeistungsBez = "Agrarsicherheiten"
Case "2DU"
getLeistungsBez = "Antidumping-Sicherheit"
Case "2EU"
getLeistungsBez = "EUSt-Sicherheit"
Case "2IG"
getLeistungsBez = "Sicherheit EUSt ig. Lieferung"
Case "2KO"
getLeistungsBez = "Sicherheit für Kontingent"
Case "2PE"
getLeistungsBez = "Sicherheit bei Einfuhrwerten"
Case "2RB"
getLeistungsBez = "Sicherheit Bürgerschaft"
Case "2SB"
getLeistungsBez = "Summe der befreiten Sicherheit"
Case "2SI"
getLeistungsBez = "Sicherheit Geldbetragerlag"
Case "2VF"
getLeistungsBez = "Sicherheit bei Verifizierung"
Case "2VS"
getLeistungsBez = "Summe der vorg. Sicherheit"
Case "2ZG"
getLeistungsBez = "Zusatzzoll Geflügel"
Case "2ZZ"
getLeistungsBez = "Zusatzzoll Zucker"
Case "2ZZ"
getLeistungsBez = "Zusatzzoll 2ZZ"
Case "5DU"
getLeistungsBez = "Antidumping-und Ausgleichszoll"
Case "5EU"
getLeistungsBez = "Einfuhrumsatzsteuer"
Case "5EV"
getLeistungsBez = "EUSt gem. §26 Abs. 3Z.2UStG"
Case "5SI"
getLeistungsBez = "Agrarsicherheit"
Case "5VS"
getLeistungsBez = "Verbrauchsteuern"
Case "5ZO"
getLeistungsBez = "Zoll 5ZO"
Case "5ZZ"
getLeistungsBez = "Zusatzzoll 5ZZ"
Case "6AK"
getLeistungsBez = "Alkoholsteuer"
Case "6BE"
getLeistungsBez = "Biersteuer"
Case "6MS"
getLeistungsBez = "Mineralölsteuer"
Case "6SS"
getLeistungsBez = "Schaumweinsteuer"
Case "6TS"
getLeistungsBez = "Tabaksteuer"
Case "6ZW"
getLeistungsBez = "Zwischenerzeugnissteuer"
Case "9EA"
getLeistungsBez = "Summe Gesamtabgaben"
Case "A00"
getLeistungsBez = "Zölle auf gewerbliche Waren"
Case "A00"
getLeistungsBez = "Zollabgaben"
Case "A10"
getLeistungsBez = "Zölle landwirt. Erzeugnisse"
Case "A20"
getLeistungsBez = "Zusatzzölle"
Case "A30"
getLeistungsBez = "endgültige Antidumpingzölle"
Case "A35"
getLeistungsBez = "vorläufige Antidumpingzölle"
Case "A40"
getLeistungsBez = "endgültiger Ausgleichszoll"
Case "A45"
getLeistungsBez = "vorläufiger Ausgleichszoll"
Case "B00"
getLeistungsBez = "Einfuhrumsatzsteuer(EUSt)"
Case "B10"
getLeistungsBez = "Ausgleichszinsen(EUSt)"
Case "C00"
getLeistungsBez = "Ausfuhrabgaben"
Case "C10"
getLeistungsBez = "Ausfuhrabg. landwirt. Erzeug."
Case "D00"
getLeistungsBez = "Verzugszinsen"
Case "D10"
getLeistungsBez = "Ausgleichszinsen"
Case "E00"
getLeistungsBez = "Abgaben anderer Länder"
Case Else
getLeistungsBez = ""
End Select
End Function
Public Shared Function EZOLLImport(LRN, art) As Boolean
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" 'Wichtig für Spedbucheintrag
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
' Dim cZOLL_IMPORT As New cZOLL_IMPORT
Dim firmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If True Then
'Filiale erkennen:
Dim filialeBez = ""
Dim filiale = getFiliale(LRN, filialeBez)
Select Case filiale
Case "5501" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX"
Case "4801" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" : Return False 'Keine Atoerfassung
End Select
Dim abfertigungsnummer = getAbfertigungsnummer(LRN)
If tryFindAviso(LRN, SPEDBUCH.AvisoID, SPEDBUCH.SendungID) Then
If filiale <> "" And abfertigungsnummer <> "" Then
If countSpedbuchEntrys(filiale, LRN, art) = 0 Then
SPEDBUCH.FilialenNr = filiale
SPEDBUCH.AbfertigungsNr = abfertigungsnummer
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Abfertigungsanzahl = 1
SPEDBUCH.Fakturiert = 0
' SPEDBUCH.AtlasBezNrEZA = LRN
SPEDBUCH.Zollsystem = "E"
SPEDBUCH.Sachbearbeiter = "AUTO"
Dim ZOLL_IMPORT As New cZOLL_IMPORT
Dim notfound = False
Dim posAnzahl = 0
Select Case art
Case "NCTS" : SPEDBUCH.AtlasBezNrNCTS = LRN
Case Else : SPEDBUCH.AtlasBezNrEZA = LRN
End Select
SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, SPEDBUCH.AvisoID, SPEDBUCH.SendungID, "VERA", filialeBez, 1, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
If notfound Then Return False
' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA !!", "" & Me.eza_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(SPEDBUCH.SendungID, True)
Return True
Else
Return False
End If
' MsgBox(SQL.getValueTxtBySql("select count(*) FROM [VERAG].[dbo].[Speditionsbuch] where AbfertigungsNr = 18035380", "FMZOLL"))
End If
End If
End If
Else
Return False 'Ohne Sendungsverweis kein eintrag...
End If
Return False
End Function
Public Shared Function tryFindAviso(LRN, ByRef AvisoID, ByRef SendungID) As Boolean
Dim srchStrFiliale = ""
Dim srchStrAbf = ""
LRN = LRN.ToString.Replace("-", "/")
If LRN.Contains("/") Then
Dim split = LRN.Split("/")
If split.Length >= 2 Then
srchStrFiliale = split(0)
srchStrAbf = split(1)
' ElseIf Then
' srchStrAbf = split(X)
Else
Return False
End If
End If
If Not IsNumeric(srchStrFiliale) Or Not IsNumeric(srchStrAbf) Then Return False
If srchStrFiliale.Length <> 4 Then Return False
'If srchStrAbf.Length > 8 Then srchStrAbf = srchStrAbf.Substring(0, 8)
If srchStrAbf.Length < 8 Then srchStrAbf = Now.ToString("yy") & CInt(srchStrAbf).ToString("000000")
Dim sqlstr = " select [tblSnd_SendungID],[tblSnd_AvisoID] FROM [tblSendungen] where '" & srchStrAbf & "' like ('%' + cast(AbfertigungsNr as varchar(10))+ '%') and FilialenNr ='" & srchStrFiliale & "' and AbfertigungsNr >0"
Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "AVISO")
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
SendungID = dt.Rows(0)("tblSnd_SendungID")
AvisoID = dt.Rows(0)("tblSnd_AvisoID")
Return True
End If
Return False
End Function
Shared Function countSpedbuchEntrys(filiale, bezugsnr, art) As Integer
If art = "NCTS" Then
Return countSpedbuchEntrysNCTS(filiale, bezugsnr)
Else
Return countSpedbuchEntrysEZA(filiale, bezugsnr)
End If
End Function
Shared Function countSpedbuchEntrysNCTS(filiale, ncts) As Integer
If If(ncts, "") = "" Then Return 0
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrNCTS='" & ncts & "'", "FMZOLL")
End Function
Shared Function countSpedbuchEntrysEZA(filiale, eza) As Integer
If If(eza, "") = "" Then Return 0
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrEZA='" & eza & "'", "FMZOLL")
End Function
Shared Function getFiliale(ByVal bezugsNr, ByRef filialeBez) As String
If If(bezugsNr, "").ToString.Length > 4 Then
Select Case bezugsNr.ToString.Substring(0, 4)
Case "4803" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "4805" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "4811" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803
'filialeBez SUB, NKD, WAI,.-..
End Select
End If
Return ""
End Function
Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String
getAbfertigungsnummer = ""
If If(bezugsNr, "").ToString.Length > 5 Then
Dim abf = ""
For Each s In bezugsNr.ToString.Substring(5)
If Not IsNumeric(s) Then Exit For
abf &= s
Next
If IsNumeric(abf) Then
If CLng(abf) < 99000000 Then
If CLng(abf) > 18000000 Then
Return abf
Else
Return Now.ToString("yy") & CInt(abf).ToString("000000")
End If
End If
End If
End If
Return ""
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
Me.SPEDITIONSBUCH = SPEDITIONSBUCH
Me.strManNr = strManNr
Me.strManNl = strManNl
If strManNl = "SBG" Then
ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG"
Else
ATLAS_SERVER_VERBINDUNG = "ATLAS"
End If
If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
If EZA_Nr = "" And NCTS_Nr = "" Then
If SENDUNG IsNot Nothing AndAlso If(SENDUNG.tblSnd_DakosyRef, "") <> "" Then
Select Case SENDUNG.tblSnd_Abfertigungsart_ID
Case 5, 6, 24, 33, 34, 37, 40
NCTS_Nr = SENDUNG.tblSnd_DakosyRef
SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
Case Else
EZA_Nr = SENDUNG.tblSnd_DakosyRef
SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
End Select
Zollsystem = 2
End If
End If
'-------------------------------------------------------------------------------------------------------------
' ATLAS / EZOLL
' Dim strManNr = txtFirma.Text
' Dim strManNl As String = cboNiederlassung.Text
Select Case Zollsystem
Case 0 'ATLAS
SPEDITIONSBUCH.Zollsystem = "A"
If EZA_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
AtlasEZADatenbereitstellung(EZA_Nr) 'BSP: 4/4817/16
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
AtlasNCTSDatenbereitstellung(NCTS_Nr) '4/4990/16
End If
notFound = Me.notFound
Case 1 'ezoll
SPEDITIONSBUCH.Zollsystem = "E"
If EZA_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
EZollEZADatenbereitstellung(EZA_Nr)
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
EZollNCTSDatenbereitstellung(NCTS_Nr)
End If
notFound = Me.notFound
Case 2 'dakosy
SPEDITIONSBUCH.Zollsystem = "D"
If EZA_Nr <> "" Then
DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl)
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound)
End If
Me.notFound = notFound
Case 3 'telotec
SPEDITIONSBUCH.Zollsystem = "T"
If EZA_Nr <> "" Then
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, "EZA", PosAnzahl)
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound, "NCTS", PosAnzahl)
End If
Me.notFound = notFound
Case Else 'Kein Zollsystem
End Select
If avisoLinkId = 0 Or SendungId = 0 Then
Dim DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = DAKOSY_Worker.cDakosy_Zollanmeldungen.LOADByBezugsNr(If(EZA_Nr <> "", EZA_Nr, NCTS_Nr))
If DY IsNot Nothing Then
If avisoLinkId = 0 Then avisoLinkId = If(DY.dy_AvisoId, 0)
If SendungId = 0 Then SendungId = If(DY.dy_SendungsId, 0)
End If
End If
'-------------------------------------------------------------------------------------------------------------
If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now.ToShortDateString
If SendungId > 0 Then SPEDITIONSBUCH.SendungID = SendungId
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
If SendungId = 0 And SPEDITIONSBUCH.SendungID > 0 Then SendungId = SPEDITIONSBUCH.SendungID 'Falls falsch übergeben
If SendungId > 0 And SENDUNG Is Nothing Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
' Dim dt As DataTable = SQLAVISO.loadDataTableBySQL("SELECT * FROM tblSendungen WHERE tblSnd_SendungID='" & SendungId & "' ")
If SENDUNG IsNot Nothing Then
' Dim r As DataRow = dt.Rows(0)
If SENDUNG.tblSnd_Warenbezeichnung <> "" Then
packstueckeAVISO_TMP = IIf(SENDUNG.tblSnd_Colli <> "", SENDUNG.tblSnd_Colli & " Pk. ", "")
packstueckeAVISO_TMP &= IIf(SENDUNG.tblSnd_Warenbezeichnung <> "", SENDUNG.tblSnd_Warenbezeichnung, "")
packstueckeAVISO_TMP &= IIf(SENDUNG.tblSnd_Gewicht <> "", ", " & SENDUNG.tblSnd_Gewicht & " kg ", "")
End If
RohmasseAviso = IIf(SENDUNG.tblSnd_Gewicht <> "", SENDUNG.tblSnd_Gewicht, "")
If SPEDITIONSBUCH.Abfertigungsart <= 0 Then SPEDITIONSBUCH.Abfertigungsart = SENDUNG.tblSnd_Abfertigungsart_ID
If SPEDITIONSBUCH.Abfertigungsanzahl = 0 Then SPEDITIONSBUCH.Abfertigungsanzahl = SENDUNG.tblSnd_anzahlHandling
If SPEDITIONSBUCH.PersonalnummerQS <= 0 Then SPEDITIONSBUCH.PersonalnummerQS = SENDUNG.tblSnd_QS_MA
If SENDUNG.tblSnd_FilialeAbklaerung IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_FilialeAbklaerung) AndAlso SENDUNG.tblSnd_FilialeAbklaerung > 0 Then
SPEDITIONSBUCH.FilialenNrAbklaerung = SENDUNG.tblSnd_FilialeAbklaerung
'Else
' SPEDITIONSBUCH.FilialenNrHandling = SPEDITIONSBUCH.FilialenNr
End If
SENDUNG.LOAD_ABRECHNUNG()
Dim FindPOS = SENDUNG.ABRECHNUNG.Find(Function(x) x.sndabr_beteiligter = "AUFTR" And x.sndabr_wert = "ERSTATTUNG")
If FindPOS IsNot Nothing Then SPEDITIONSBUCH.AuftraggeberBetragKassiert = If(FindPOS.sndabr_preis, 0)
SetBarKassiert(SPEDITIONSBUCH)
'If If(SENDUNG.tblSnd_bar, False) Then
'SPEDITIONSBUCH.Bar = True
' If (SENDUNG.tblSnd_barBeleg IsNot Nothing) And SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & SENDUNG.tblSnd_barBeleg
' If (SENDUNG.tblSnd_betrag IsNot Nothing) And SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = SENDUNG.tblSnd_betrag
' End If
'
If SPEDITIONSBUCH.NCTS_Verzollungsadresse Is Nothing OrElse SPEDITIONSBUCH.NCTS_Verzollungsadresse = "" Then
SPEDITIONSBUCH.NCTS_Verzollungsadresse = SENDUNG.tblSnd_NCTSVerzollungsadresse
SPEDITIONSBUCH.NCTS_Verzollungsadresse = If(SENDUNG.tblSnd_NCTSVerzollungsadresse, "")
SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine & If(SENDUNG.NCTS_Verzollungsadresse_Strasse, "")
SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine & If(SENDUNG.NCTS_Verzollungsadresse_Land, "") & " " & If(SENDUNG.NCTS_Verzollungsadresse_PLZ, "") & " " & If(SENDUNG.NCTS_Verzollungsadresse_Ort, "")
SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine
SPEDITIONSBUCH.NCTS_Verzollungsadresse = SPEDITIONSBUCH.NCTS_Verzollungsadresse.Trim
End If
If SPEDITIONSBUCH.Endempfänger Is Nothing OrElse SPEDITIONSBUCH.Endempfänger = "" Then
SPEDITIONSBUCH.Endempfänger = SENDUNG.tblSnd_Endempfaenger
End If
If IsNull(SPEDITIONSBUCH.KdAuftragsNr) Then SPEDITIONSBUCH.KdAuftragsNr = If(SENDUNG.tblSnd_KdAuftragsNr, "")
If IsNull(SPEDITIONSBUCH.KdAuftragsNrAvisierer) Then SPEDITIONSBUCH.KdAuftragsNrAvisierer = If(SENDUNG.tblSnd_KdAuftragsNrAvisierer, "")
If IsNull(SPEDITIONSBUCH.KdAuftragsNrEmpfaenger) Then SPEDITIONSBUCH.KdAuftragsNrEmpfaenger = If(SENDUNG.tblSnd_KdAuftragsNrEmpfaenger, "")
If IsNull(SPEDITIONSBUCH.KdAuftragsNrFrachtfuehrer) Then SPEDITIONSBUCH.KdAuftragsNrFrachtfuehrer = If(SENDUNG.tblSnd_KdAuftragsNrFrachtfuehrer, "")
End If
If avisoLinkId > 0 Then
SPEDITIONSBUCH.AvisoID = avisoLinkId
Dim sgut = CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblSendungen WHERE tblSnd_AvisoID='" & avisoLinkId & "' ", "AVISO"))
If sgut = 1 Then
SPEDITIONSBUCH.SgutKompl = "K"
ElseIf sgut > 1 Then
SPEDITIONSBUCH.SgutKompl = "S"
End If
Aviso = SQLAVISO.LesenAviso(avisoLinkId, "")
If Aviso IsNot Nothing Then
' If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = CDate(Aviso.Freigabe).ToShortDateString
If Aviso.Freigabe > CDate("01.01.2000") Then 'SPEDITIONSBUCH.Abfertigungsdatum Then
SPEDITIONSBUCH.Abfertigungsdatum = CDate(Aviso.Freigabe).ToShortDateString
End If
If Aviso.FreigabeFiliale IsNot Nothing AndAlso IsNumeric(Aviso.FreigabeFiliale) AndAlso Aviso.FreigabeFiliale > 0 Then
SPEDITIONSBUCH.FilialenNrHandling = Aviso.FreigabeFiliale
'Else
' SPEDITIONSBUCH.FilialenNrHandling = SPEDITIONSBUCH.FilialenNr
End If
' pnl3.Visible = True
' txtAuftraggeber.Text = Aviso.Auftraggeber
' txtAuftraggeberKdNr.Text = Aviso.Auftraggeber_KdNr
'NICHT MEHR:
'SPEDITIONSBUCH.Avisierer = Aviso.Auftraggeber
'If getint(Aviso.Auftraggeber_KdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = Aviso.Auftraggeber_KdNr
'SPEDITIONSBUCH.Frachtführer = Aviso.Frächter
'If getint(Aviso.Frächter_KdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = Aviso.Frächter_KdNr
SPEDITIONSBUCH.LKW_Kennzeichen = Aviso.LKW_Nr
If IsDate(Aviso.Freigabe) Then SPEDITIONSBUCH.AvisUhrzeit = CDate(Aviso.Freigabe) ' : MsgBox("dATE:" & CDate(Aviso.Freigabe).ToShortTimeString)
If SPEDITIONSBUCH.Grenzstelle Is Nothing OrElse SPEDITIONSBUCH.Grenzstelle = "" Then
SPEDITIONSBUCH.Grenzstelle = If(Aviso.Grenzstelle, "")
End If
End If
End If
If SENDUNG IsNot Nothing Then
'NEU:
SPEDITIONSBUCH.Avisierer = SENDUNG.tblSnd_Avisierer
If getint(SENDUNG.tblSnd_AvisiererKdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = SENDUNG.tblSnd_AvisiererKdNr
SPEDITIONSBUCH.Frachtführer = SENDUNG.tblSnd_Frachtfuehrer
If getint(SENDUNG.tblSnd_FrachtfuehrerKdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = SENDUNG.tblSnd_FrachtfuehrerKdNr
If SENDUNG.tblSnd_BARzuKassieren IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_BARzuKassieren) AndAlso SPEDITIONSBUCH.HandlingZuKassieren <= 0 Then
SPEDITIONSBUCH.HandlingZuKassieren = SENDUNG.tblSnd_BARzuKassieren
End If
If SPEDITIONSBUCH.AbsenderKundenNr Is Nothing OrElse SPEDITIONSBUCH.AbsenderKundenNr <= 0 Then
If SENDUNG.tblSnd_AbsenderKdNr > 0 Then
SPEDITIONSBUCH.AbsenderKundenNr = SENDUNG.tblSnd_AbsenderKdNr
End If
If SPEDITIONSBUCH.Absender Is Nothing OrElse SPEDITIONSBUCH.Absender = "" Then SPEDITIONSBUCH.Absender = SENDUNG.tblSnd_Absender
End If
If SPEDITIONSBUCH.EmpfängerKundenNr Is Nothing OrElse SPEDITIONSBUCH.EmpfängerKundenNr <= 0 Then
If SENDUNG.tblSnd_EmpfaengerKdNr > 0 Then SPEDITIONSBUCH.EmpfängerKundenNr = SENDUNG.tblSnd_EmpfaengerKdNr
If SPEDITIONSBUCH.Empfänger Is Nothing OrElse SPEDITIONSBUCH.Empfänger = "" Then SPEDITIONSBUCH.Empfänger = SENDUNG.tblSnd_Empfaenger
End If
If SPEDITIONSBUCH.VermittlerKundenNr Is Nothing OrElse SPEDITIONSBUCH.VermittlerKundenNr <= 0 Then
If SENDUNG.tblSnd_AuftraggeberKdNr > 0 Then SPEDITIONSBUCH.VermittlerKundenNr = SENDUNG.tblSnd_AuftraggeberKdNr ': MsgBox(SENDUNG.tblSnd_AuftraggeberKdNr)
If SPEDITIONSBUCH.Vermittler Is Nothing OrElse SPEDITIONSBUCH.Vermittler = "" Then SPEDITIONSBUCH.Vermittler = SENDUNG.tblSnd_Auftraggeber
End If
End If
SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
If PosAnzahl > 0 Then
SPEDITIONSBUCH.Vermerk = "Pos-Anzahl: " & PosAnzahl
End If
'Wenn Packstücke im Aviso eingegeben wurden, werden diese in das Speditionbuch gespeichert
If packstueckeAVISO_TMP.Trim <> "" Then
SPEDITIONSBUCH.Packstücke = packstueckeAVISO_TMP
If packstueckeZOLL_TMP.Trim <> "" Then SPEDITIONSBUCH.Bemerkungen = packstueckeZOLL_TMP
Else
If packstueckeZOLL_TMP.Trim <> "" Then SPEDITIONSBUCH.Packstücke = packstueckeZOLL_TMP
End If
'Wenn Gewicht im Aviso eingegeben ist, aber keine Rohmasse von ATLAS/EZOLL
If IsNull(SPEDITIONSBUCH.Rohmasse) And Not IsNull(RohmasseAviso) Then
If IsNumeric(RohmasseAviso) Then
SPEDITIONSBUCH.Rohmasse = CInt(RohmasseAviso)
End If
End If
' If autoImport And Not notFound Then
If SENDUNG IsNot Nothing AndAlso SENDUNG.tblSnd_Abfertigungsart_ID > 0 Then
If SENDUNG.tblSnd_Abfertigungsart_ID = 23 Then
If SENDUNG.tblSnd_anzahlHandling IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_anzahlHandling) Then
SPEDITIONSBUCH.Abfertigungsanzahl = SENDUNG.tblSnd_anzahlHandling
Else
SPEDITIONSBUCH.Abfertigungsanzahl = 0
End If
End If
If (SENDUNG.tblSnd_Abfertigungsart_ID = 26 Or SENDUNG.tblSnd_Abfertigungsart_ID = 28 Or SENDUNG.tblSnd_Abfertigungsart_ID = 38) And NCTS_Nr <> "" Then
'Überstellungs-T
SPEDITIONSBUCH.Abfertigungsart = 5
Else
SPEDITIONSBUCH.Abfertigungsart = SENDUNG.tblSnd_Abfertigungsart_ID
End If
End If
' End If
correctEntry(SPEDITIONSBUCH.AbsenderKundenNr, SPEDITIONSBUCH.Absender)
correctEntry(SPEDITIONSBUCH.EmpfängerKundenNr, SPEDITIONSBUCH.Empfänger)
correctEntry(SPEDITIONSBUCH.VermittlerKundenNr, SPEDITIONSBUCH.Vermittler)
correctEntry(SPEDITIONSBUCH.AvisiererKundenNr, SPEDITIONSBUCH.Avisierer)
correctEntry(SPEDITIONSBUCH.EndempfängerKundenNr, SPEDITIONSBUCH.Endempfänger)
If SPEDITIONSBUCH.Währungsschlüssel Is Nothing OrElse (IsNumeric(SPEDITIONSBUCH.Währungsschlüssel) AndAlso SPEDITIONSBUCH.Währungsschlüssel <= 0) Then SPEDITIONSBUCH.Währungsschlüssel = 900
If Personalnummer > 0 Then SPEDITIONSBUCH.Personalnummer = Personalnummer
'notFound = Me.notFound
If autoImport AndAlso Not checkIfAutoOK() Then
notFound = True
End If
Return SPEDITIONSBUCH
End Function
Shared Sub SetBarKassiert(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
Try
Dim KDSQL As New SQL
Dim dt As DataTable = KDSQL.loadDgvBySql("SELECT * FROM ( " &
" SELECT rksv_BelegId, isnull(rksv_umsatz ,0) as rksv_umsatz, isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where b.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and b.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 " &
" UNION " &
" SELECT rksv_BelegId , sum(p.Betrag) as rksv_umsatz,isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where p.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and p.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 group by rksv_BelegId,b.Benutzer " &
" ) as Tb order by rksv_BelegId", "FMZOLL")
Dim BenutzerTmp = ""
Dim BelegNrTmp = ""
Dim BetragTmp As Double = 0
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each r In dt.Rows
If BenutzerTmp = "" Then BenutzerTmp = r("Benutzer")
If r("Benutzer") <> BenutzerTmp Then BenutzerTmp = "Div.Benutzer"
If (IsNumeric(r("rksv_umsatz"))) Then BetragTmp += r("rksv_umsatz")
BelegNrTmp &= r("rksv_BelegId") & ","
Next
BenutzerTmp = getBenutzerShort(BenutzerTmp)
If BelegNrTmp.EndsWith(",") Then BelegNrTmp = BelegNrTmp.Substring(0, BelegNrTmp.Length - 1)
SPEDITIONSBUCH.Bar = True
If SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & BenutzerTmp & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & BelegNrTmp & "/" & BetragTmp
If SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = BetragTmp
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "BAR-Err: Beträge konnten nicht geladen werden!", "al@verag.ag", "al@verag.ag")
End Try
End Sub
Shared Function getBenutzerShort(s As String) As String
If s.ToString.Contains(" ") Then
Dim split() = s.ToString.Split(" ")
getBenutzerShort = split(0)
Else
getBenutzerShort = s
End If
If getBenutzerShort.Length > 10 Then
getBenutzerShort = getBenutzerShort.Substring(0, 10)
End If
End Function
Public Function AUTO_IMPORT(SendungId As Integer) As Boolean
If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
' Dim dt As DataTable = SQLAVISO.loadDataTableBySQL("SELECT * FROM tblSendungen WHERE tblSnd_SendungID='" & SendungId & "' ")
If SENDUNG Is Nothing Then Return False
Aviso = SQLAVISO.LesenAviso(SENDUNG.tblSnd_AvisoID, "")
Dim SPED_LIST = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuchList(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr)
If SPED_LIST.LIST.Count > 0 Then
MsgBox("Es existieren bereits Einträge zur PosNr '" & SENDUNG.FilialenNr & " " & SENDUNG.AbfertigungsNr & "'")
Return False
End If
' Dim BezugsNr(4) As String
Dim ATLAS_SERVER = ""
Dim strManNl = "SUB"
'If cboNiederlassung.Text <> "" Then
'strManNl = cboNiederlassung.Text
' Else
' cboNiederlassung.SelectedIndex = 0
Select Case SENDUNG.FilialenNr
Case 4803, 4809
strManNl = "SUB"
Case 4801
strManNl = "SUW"
Case 5003
strManNl = "SBG" 'ANDERER SERVER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Case 5103
strManNl = "WAI"
End Select
' FELT: STATUS, AAAAAAA
Dim BezugsNr = genBezugsNummern(SENDUNG, strManNl)
Dim SPEDBUCH_TMP As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr)
' SPEDBUCH_TMP.AbfertigungsNr
Dim cnt = 0
For Each s In BezugsNr
If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 0, s, "", ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1
If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 1, s, "", ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1
Next
For Each s In BezugsNr
If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 0, "", s, ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1
If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 1, "", s, ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1
Next
Return (cnt > 0)
End Function
Public Function checkIfAutoOK() As Boolean
Try
If SPEDITIONSBUCH.Personalnummer Is Nothing Then Return False
If If(SPEDITIONSBUCH.Vermittler, "") = "" Then Return False
If Not IsNumeric(If(SPEDITIONSBUCH.Abfertigungsart, "")) Then Return False
If SPEDITIONSBUCH.Abfertigungsanzahl = 0 Then Return False
Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail(, ex.Message, ex.StackTrace, , "",)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Validierungsfehler SpedBuch - Trotzdem eingearbeitet!", "al@verag.ag", "al@verag.ag")
End Try
Return True
End Function
Public Function genBezugsNummern(SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, strManNl As String) As List(Of String)
genBezugsNummern = New List(Of String)
Dim filiale As String = SENDUNG.FilialenNr
Dim pos As String = ""
Dim jahr As String = ""
If SENDUNG.AbfertigungsNr.ToString.Length >= 8 Then
pos = CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2))
End If
If Aviso IsNot Nothing AndAlso IsDate(Aviso.Freigabe) AndAlso Aviso.Freigabe > CDate("01.01.2000") Then
jahr = Aviso.Freigabe.ToString("yy") ' Falls Neujahr
Else
jahr = Now.ToString("yy") ' Falls Neujahr
End If
If strManNl = "SBG" Then
ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG"
Else
ATLAS_SERVER_VERBINDUNG = "ATLAS"
End If
Dim VERAGSQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = VERAGSQL.loadDgvBySql("SELECT isnull(veoant_beznr,'') as veoant_beznr FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And (veoant_beznr LIKE '%" & filiale & "/" & pos & "/" & jahr & "%' OR veoant_beznr LIKE '%" & filiale & "-" & pos & "-" & jahr & "%') AND veoant_stat BETWEEN 50 AND 60 ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG)
If dt IsNot Nothing Then
For Each r As DataRow In dt.Rows
If r("veoant_beznr") <> String.Empty Then genBezugsNummern.Add(r("veoant_beznr"))
Next
End If
End Function
Public Function genBezugsNummernAAA(SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen) As List(Of String)
genBezugsNummernAAA = New List(Of String)
Dim filiale As String = SENDUNG.FilialenNr
Dim pos As String = ""
Dim jahr As String = ""
If SENDUNG.AbfertigungsNr.ToString.Length >= 8 Then
pos = CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2))
End If
If Aviso IsNot Nothing AndAlso IsDate(Aviso.Freigabe) AndAlso Aviso.Freigabe > CDate("01.01.2000") Then
jahr = Aviso.Freigabe.ToString("yy") ' Falls Neujahr
Else
jahr = Now.ToString("yy") ' Falls Neujahr
End If
genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr)
genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "A")
genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "AA")
genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "AAA")
Select Case SENDUNG.tblSnd_Abfertigungsart_ID
Case "33", "34", "37"
' filiale = "TOBB"
genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr)
genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "A")
genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "AA")
genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "AAA")
' filiale = "EKOL"
genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr)
genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "A")
genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "AA")
genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "AAA")
' filiale = "SGS"
genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr)
genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "A")
genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "AA")
genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "AAA")
End Select
'Return BezugsNr
End Function
Function IMPORT_SPED_BUCH(AvisoId As Integer, SendungId As Integer, ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ZollSystem As String, EZANr As String, NCTSNr As String, ATLAS_SERVER_VERBINDUNG As String) As Boolean
' Label26.ForeColor = Color.Black
' If txtAtlasBezNrEZA.Text <> "" Or txtAtlasBezNrNCTS.Text <> "" Then
'If cboZollsystem._value = "" Then
'Label26.ForeColor = Color.Red
' Exit Function
' End If
' End If
Dim strManNr = "VERA"
Dim strManNl = "SUB"
'If cboNiederlassung.Text <> "" Then
'strManNl = cboNiederlassung.Text
' Else
' cboNiederlassung.SelectedIndex = 0
Select Case SPEDITIONSBUCH.FilialenNr
Case 4803, 4809
strManNl = "SUB"
Case 4801
strManNl = "SUW"
Case 5003
strManNl = "SBG" 'ANDERER SERVER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Case 5103
strManNl = "WAI"
End Select
'End If
' Dim ZOLL_IMPORT As New SDL.ZOLL_IMPORT
Dim notFound = False
' Dim ATLAS_SERVER_VERBINDUNG = ""
'If cboNiederlassung.Text <> "" Then ATLAS_SERVER_VERBINDUNG = cboNiederlassung.Text
SPEDITIONSBUCH = IMPORT(SPEDITIONSBUCH, AvisoId, SendungId, strManNr, strManNl, ZollSystem, EZANr, NCTSNr, notFound, True)
' If notFound Then
' lblZollsys.Visible = True
' If notFound And notFoundErrorAllowed Then MsgBox("Der Eintrag wurde nicht gefunden!", vbInformation)
' Else
' lblZollsys.Visible = False
'End If
' loaddata()
' Import_Starten()
Return Not notFound
End Function
Sub correctEntry(ByRef KundenNr, ByRef KdName)
If KundenNr IsNot Nothing Then
If KundenNr <= 0 Then
KundenNr = Nothing : Exit Sub
Else
If KdName = "" Then
KdName = KDSQL.getValueTxtBySql("SELECT isnull(Ordnungsbegriff,'') FROM Adressen WHERE AdressenNr=" & KundenNr, "FMZOLL")
End If
End If
End If
If KdName IsNot Nothing AndAlso KdName.ToString.Length > 50 Then
KdName = KdName.ToString.Substring(0, 50)
End If
End Sub
Private Sub AtlasEZADatenbereitstellung(EZA_Nr)
Dim dATLAS As DataTable = KDSQL.loadDgvBySql("SELECT basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_anmzb, zbant_vertzb, zbant_verszb, zbant_vland, zbant_bbland, zbant_rohm, zbant_bfkzi, zbant_preisr, zbant_waehr, zbant_kurs,zbant_verseori,zbant_anmeori,zbant_verteori,zbant_sb " &
" FROM zbant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And zbant_beznr='" & EZA_Nr & "' ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_antart", ATLAS_SERVER_VERBINDUNG)
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
If dATLAS Is Nothing Then notFound = True : Exit Sub
If dATLAS.Rows.Count > 0 Then
notFound = False
' TextBox1.ForeColor = Color.Green
For Each r As DataRow In dATLAS.Rows
' r.Item("").ToString()
' MsgBox(fNEF.txtAbsender.Text)
If SPEDITIONSBUCH.Absender = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Absender, SPEDITIONSBUCH.AbsenderKundenNr, 3, 1, r.Item("zbant_verszb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_verseori"), "")
If SPEDITIONSBUCH.Empfänger = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Empfänger, SPEDITIONSBUCH.EmpfängerKundenNr, 4, 2, r.Item("zbant_anmzb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_anmeori"), "")
' If SPEDITIONSBUCH.Vermittler = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Vermittler, SPEDITIONSBUCH.VermittlerKundenNr, -1, 3, r.Item("zbant_vertzb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_verteori"))
If Not IsNull(r.Item("zbant_vland")) And Not Trim(r.Item("zbant_vland")) = "" Then
SPEDITIONSBUCH.Versendungsland = Trim(r.Item("zbant_vland"))
End If
If Not IsNull(r.Item("zbant_bbland")) And Not Trim(r.Item("zbant_bbland")) = "" Then
SPEDITIONSBUCH.Bestimmungsland = Trim(r.Item("zbant_bbland"))
End If
If Not IsNull(r.Item("zbant_bfkzi")) And Not Trim(r.Item("zbant_bfkzi")) = "" Then
SPEDITIONSBUCH.LKW_Kennzeichen = Microsoft.VisualBasic.Strings.Left(Trim(r.Item("zbant_bfkzi")), 25)
' TextBoxLKWKz.Text = r.Item("zbant_bfkzi").trim()
End If
If Not IsNull(r.Item("zbant_regnr")) And Not Trim(r.Item("zbant_regnr")) = "" Then
SPEDITIONSBUCH.BelegNr = Trim(r.Item("zbant_regnr")) ' fNEF.txtBelegNummerZAT1T2.Text
End If
If Not IsNull(r.Item("zbant_waehr")) Then
If r.Item("zbant_waehr") = "EUR" Then
SPEDITIONSBUCH.Währungsschlüssel = "900"
Else
SPEDITIONSBUCH.Währungsschlüssel = getWaehr(r.Item("zbant_waehr"))
End If
' MsgBox(r.Item("zbant_waehr"))
End If
If Not IsNull(r.Item("zbant_preisr")) Then
SPEDITIONSBUCH.Rechnungsbetrag = CDbl(r.Item("zbant_preisr"))
End If
If Not IsNull(r.Item("zbant_kurs")) And r.Item("zbant_kurs") <> 0 Then
SPEDITIONSBUCH.Umrechnungskurs = r.Item("zbant_kurs")
End If
If Not IsNull(r.Item("zbant_rohm")) AndAlso IsNumeric(r.Item("zbant_rohm")) Then
SPEDITIONSBUCH.Rohmasse = CInt(r.Item("zbant_rohm"))
End If
'Personal Abfertigung:
Try
If Not IsNull(r.Item("zbant_sb")) Then
Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_ATLAS_SB='" & r.Item("zbant_sb") & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception
MsgBox("Fehler ATLAS Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
End Try
Next
Else
notFound = True
End If
dATLAS = Nothing
dATLAS = KDSQL.loadDgvBySql("SELECT zbpos_posnr, zbpos_stkanz, zbpos_stkart, zbpos_stkzei, zbpos_wanr, zbpos_wazus1, zbpos_wazus2, zbpos_wabes " &
" FROM zbpos WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And zbant_beznr='" & EZA_Nr & "' " &
" ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_antart, zbpos_posnr ", ATLAS_SERVER_VERBINDUNG)
' rst = GetRecordsetADO(strSQL, cnn, adOpenForwardOnly, adLockReadOnly, adCmdText)
If packstueckeZOLL_TMP.ToString = "" Then
If dATLAS.Rows.Count > 0 Then
Dim packst As String = ""
For Each r As DataRow In dATLAS.Rows
If r.Item("zbpos_posnr") = 1 Then
If Not IsNull(r.Item("zbpos_stkanz")) And Not r.Item("zbpos_stkanz") = 0 Then
packst = packst & r.Item("zbpos_stkanz")
If Not Trim(r.Item("zbpos_stkart")) = "" Then
packst = packst & " " & Trim(r.Item("zbpos_stkart"))
End If
'If Not Trim(rst!zbpos_stkzei) = "" Then
' Me!Packstücke = Me!Packstücke & " " & Trim(rst!zbpos_stkzei)
'End If
packst = packst & " "
End If
'If Not Trim(rst!zbpos_wanr) = "" Then
' Me!Packstücke = Me!Packstücke & "TNr: " & Trim(rst!zbpos_wanr)
'End If
'If Not Trim(rst!zbpos_wazus1) = "" Then
' Me!Packstücke = Me!Packstücke & "/" & Trim(rst!zbpos_wazus1)
'End If
'If Not Trim(rst!zbpos_wazus2) = "" Then
' Me!Packstücke = Me!Packstücke & "/" & Trim(rst!zbpos_wazus2)
'End If
'Me!Packstücke = Me!Packstücke & " Warenbeschreibung lt. Anlage"
'Me!Packstücke = Me!Packstücke & vbCrLf
If Not Trim(r.Item("zbpos_wabes")) = "" Then
packst = packst & Trim(r.Item("zbpos_wabes"))
End If
End If
Next
packstueckeZOLL_TMP = packst
PosAnzahl = dATLAS.Rows.Count
End If
End If
'Schleife durchlaufen, bis keine passenden Datensätze mehr vorhanden sind.
End Sub
Public Function getMRNFROM_AtlasNCTSDatenbereitstellung(strManNr, strManNl, NCTS_Nr) As String
If strManNl = "SBG" Then
ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG"
Else
ATLAS_SERVER_VERBINDUNG = "ATLAS"
End If
Return KDSQL.getValueTxtBySql("SELECT TOP 1 veoant_mrn FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And veoant_beznr='" & NCTS_Nr & "' AND veoant_stat BETWEEN 50 AND 60 ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG)
End Function
Public Function getMRNFROM_EZollNCTSDatenbereitstellung(NCTS_Nr) As String
'Return KDSQL.getValueTxtBySql("SELECT top 1 CRN FROM zsAnmRefs WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "') ORDER BY GeaendertAm DESC", "EZOLL")
Return KDSQL.getValueTxtBySql("SELECT top 1 CRN from zsAnmRefs left JOIN [zsAnmDHFRefs] on [zsAnmDHFRefs].AnmID=zsAnmRefs.AnmID AND [zsAnmDHFRefs].OperatorID=zsAnmRefs.OperatorID AND [zsAnmDHFRefs].LizenzNr=zsAnmRefs.LizenzNr where (zsAnmDHFRefs.VorgangID = 'AV') AND (LRN LIKE '" & NCTS_Nr & "') and ErledigungsTypID IN ('F','FB') ORDER BY zsAnmDHFRefs.GeaendertAm DESC", "EZOLL")
End Function
Public Function getMRNFROM_EZollNCTSDatenbereitstellungDT(NCTS_Nr) As DataTable
'Return KDSQL.getValueTxtBySql("SELECT top 1 CRN FROM zsAnmRefs WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "') ORDER BY GeaendertAm DESC", "EZOLL")
Return KDSQL.loadDgvBySql("SELECT CRN from zsAnmRefs left JOIN [zsAnmDHFRefs] on [zsAnmDHFRefs].AnmID=zsAnmRefs.AnmID AND [zsAnmDHFRefs].OperatorID=zsAnmRefs.OperatorID AND [zsAnmDHFRefs].LizenzNr=zsAnmRefs.LizenzNr where (zsAnmDHFRefs.VorgangID = 'AV') AND (LRN LIKE '" & NCTS_Nr & "') and ErledigungsTypID IN ('F','FB') ORDER BY zsAnmDHFRefs.GeaendertAm DESC", "EZOLL")
End Function
Private Sub AtlasNCTSDatenbereitstellung(NCTS_Nr)
'Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
Dim dATLAS As DataTable = KDSQL.loadDgvBySql("SELECT basman_nr, basman_nl, veoant_beznr, veoant_lfdnr, veoant_tinve, veoant_tinem, veoant_tinze, veoant_tinhp, veoant_ldvs, veoant_ldbe, veoant_bfabkz, veoant_mrn, veoant_gsroh, veoant_anzcol, veoant_bedst, veoant_sb " &
" FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And veoant_beznr='" & NCTS_Nr & "' " &
" ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG)
If dATLAS Is Nothing Then notFound = True : Exit Sub
If dATLAS.Rows.Count > 0 Then
notFound = False
' TextBox2.ForeColor = Color.Green
For Each r As DataRow In dATLAS.Rows
' r.Item("").ToString()
If SPEDITIONSBUCH.Absender = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Absender, SPEDITIONSBUCH.AbsenderKundenNr, 3, 1, r.Item("veoant_tinve"), r.Item("veoant_tinve"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 1, r.Item("veoant_ldvs"))
If SPEDITIONSBUCH.Empfänger = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Empfänger, SPEDITIONSBUCH.EmpfängerKundenNr, 4, 2, r.Item("veoant_tinze"), r.Item("veoant_tinem"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 2, r.Item("veoant_ldbe"))
If SPEDITIONSBUCH.Vermittler = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Vermittler, SPEDITIONSBUCH.VermittlerKundenNr, -1, 3, r.Item("veoant_tinhp"), r.Item("veoant_tinhp"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 3, r.Item("veoant_ldbe"))
If Not IsNull(r.Item("veoant_ldvs")) And Not Trim(r.Item("veoant_ldvs")) = "" Then
SPEDITIONSBUCH.Versendungsland = Trim(r.Item("veoant_ldvs"))
End If
If Not IsNull(r.Item("veoant_ldbe")) And Not Trim(r.Item("veoant_ldbe")) = "" Then
SPEDITIONSBUCH.Bestimmungsland = Trim(r.Item("veoant_ldbe"))
End If
' Änderung 05.01.2006, damit Vorgaben aus Barbeleg nicht überschrieben werden.
'Me!VermittlerKundenNr = Null
'Me!Vermittler = Null
If Not IsNull(r.Item("veoant_bfabkz")) And Not Trim(r.Item("veoant_bfabkz")) = "" Then
SPEDITIONSBUCH.LKW_Kennzeichen = Microsoft.VisualBasic.Strings.Left(Trim(r.Item("veoant_bfabkz")), 25)
' TextBoxLKWKz.Text = r.Item("veoant_bfabkz").trim()
End If
If Not IsNull(r.Item("veoant_mrn")) And Not Trim(r.Item("veoant_mrn")) = "" Then
SPEDITIONSBUCH.BelegNr = Trim(r.Item("veoant_mrn"))
End If
If packstueckeZOLL_TMP.ToString = "" Then
If Not IsNull(r.Item("veoant_anzcol")) Then
packstueckeZOLL_TMP = r.Item("veoant_anzcol")
End If
End If
If Not IsNull(r.Item("veoant_gsroh")) Then
SPEDITIONSBUCH.Rohmasse = r.Item("veoant_gsroh")
End If
'If Not IsNull(r.Item("veoant_bedst")) Then
' fNEF.cboBestimmungsZollstelle.Text = r.Item("veoant_bedst")
' End If
'--------------------------------------
'Personal Abfertigung:
Try
If Not IsNull(r.Item("veoant_sb")) Then
Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_ATLAS_SB='" & r.Item("veoant_sb") & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception
MsgBox("Fehler ATLAS Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
End Try
Next
Else
notFound = True
' TextBox2.ForeColor = Color.Red
End If
Dim curPosNr0Basbtg As Double
Dim curPosNr0Sicbtg As Double
Dim Rechnungsbetrag As Double = 0
Dim Währungsschlüssel = 900 'Euro
Dim Sicherheitsbetrag As Double = 0 '???????????
dATLAS = Nothing
dATLAS = KDSQL.loadDgvBySql("SELECT veoant_beznr, veoant_lfdnr, veopos_posnr, veoerz_typ, veoerz_lfdnr, veoerz_sicbsc, veoerz_basbtg, veoerz_baswrg, veoerz_sicbtg, veoerz_sicwrg, veoant_korant" & _
" FROM veoerz t1 WHERE (veoant_beznr = '" & NCTS_Nr & "') AND (basman_nr = '" & strManNr & "') AND (basman_nl = '" & strManNl & "') AND (veoerz_typ = 2)" & _
" AND (veoant_korant = (SELECT MAX(t2.veoant_korant) FROM veoerz t2" & _
" WHERE t2.veoant_beznr = t1.veoant_beznr AND t2.veoant_lfdnr = t1.veoant_lfdnr AND t2.veopos_posnr = t1.veopos_posnr AND" & _
" t2.veoerz_typ = t1.veoerz_typ AND t2.veoerz_lfdnr = t1.veoerz_lfdnr AND t2.basman_nr = t1.basman_nr AND" & _
" t2.basman_nl = t1.basman_nl)) " & _
" ORDER BY veoant_lfdnr, veopos_posnr, veoerz_typ, veoerz_lfdnr", ATLAS_SERVER_VERBINDUNG)
If dATLAS.Rows.Count > 0 Then
notFound = False
Dim packst As String = ""
For Each r As DataRow In dATLAS.Rows
' If r.Item("veopos_posnr") = 0 And Not IsNull(r.Item("veoerz_sicbsc")) And Not Trim(r.Item("veoerz_sicbsc")) = "" Then
'[Bürgschaft] = Trim(r.Item("veoerz_sicbsc")) '????????
' End If
If curPosNr0Basbtg = 0 And r.Item("veoerz_basbtg") <> 0.0# Then
If r.Item("veoerz_baswrg") = "EUR" Or r.Item("veoerz_baswrg") = " " Then
Rechnungsbetrag = Rechnungsbetrag + r.Item("veoerz_basbtg")
Else
' In Euro umrechnen.
'HIER
If SPEDITIONSBUCH.Abfertigungsdatum IsNot Nothing Then
Dim dATLAS2 As DataTable = KDSQL.loadDgvBySql("SELECT baskur_kurs" &
" FROM baskur" &
" WHERE (baskur_code = '" & r.Item("veoerz_baswrg") & "')" &
" AND (baskur_typ = 1 OR baskur_typ = 2)" &
" AND (baskur_gvdat <= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" &
" AND (baskur_gbdat >= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "'as DATETIME))" &
" AND (baskur_wkz = 'EUR')" &
" ORDER BY baskur_gvdat DESC, baskur_gbdat DESC", ATLAS_SERVER_VERBINDUNG)
' rst2 = GetRecordsetADO(strSQL, cnn, adOpenForwardOnly, adLockReadOnly, adCmdText)
If dATLAS2.Rows.Count > 0 Then
Dim curEurobetrag = r.Item("veoerz_basbtg") / dATLAS2.Rows(0).Item("baskur_kurs")
curEurobetrag = Int(curEurobetrag * 100 + 0.5) / 100 'Runden
Rechnungsbetrag = Rechnungsbetrag + curEurobetrag
Else
Rechnungsbetrag = Rechnungsbetrag + r.Item("veoerz_basbtg")
' Me!Währungsschlüssel = Null 'unterschiedliche Währungen
MsgBox("Es wurde kein Euro-Umrechnungskurs gefunden. Rechnungsbetrag wird ohne Kursumrechnung erzeugt.", , "Datenübernahme aus ATLAS " & r.Item("veoerz_basbtg") & " " & r.Item("veoerz_baswrg"))
End If
Else
MsgBox("Abfertigungsdatum ist nicht gesetzt. Rechnungsbetrag wurde nicht übernommen.")
End If
End If
End If
If curPosNr0Sicbtg = 0 And r.Item("veoerz_sicbtg") <> 0.0# Then
If r.Item("veoerz_sicwrg") = "EUR" Or r.Item("veoerz_sicwrg") = " " Then
Sicherheitsbetrag = Sicherheitsbetrag + r.Item("veoerz_sicbtg")
Else
' In Euro umrechnen.
If SPEDITIONSBUCH.Abfertigungsdatum IsNot Nothing Then
Dim dATLAS2 As DataTable = KDSQL.loadDgvBySql("SELECT baskur_kurs" & _
" FROM baskur" & _
" WHERE (baskur_code = '" & r.Item("veoerz_sicwrg") & "')" & _
" AND (baskur_typ = 1 OR baskur_typ = 2)" & _
" AND (baskur_gvdat <= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" & _
" AND (baskur_gbdat >= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" & _
" AND (baskur_wkz = 'EUR')" & _
" ORDER BY baskur_gvdat DESC, baskur_gbdat DESC", ATLAS_SERVER_VERBINDUNG)
If dATLAS2.Rows.Count > 0 Then
Dim curEurobetrag = r.Item("veoerz_sicbtg") / dATLAS2.Rows(0).Item("baskur_kurs")
curEurobetrag = Int(curEurobetrag * 100 + 0.5) / 100 'Runden
Sicherheitsbetrag = Sicherheitsbetrag + curEurobetrag
Else
Sicherheitsbetrag = Sicherheitsbetrag + r.Item("veoerz_sicbtg")
MsgBox("Es wurde kein Euro-Umrechnungskurs gefunden. Sicherheitsbetrag wird ohne Kursumrechnung erzeugt.", , "Datenübernahme aus ATLAS " & r.Item("veoerz_sicbtg") & " " & r.Item("veoerz_sicwrg"))
End If
Else
MsgBox("Abfertigungsdatum ist nicht gesetzt. Rechnungsbetrag wurde nicht übernommen.")
End If
End If
End If
If r.Item("veopos_posnr") = 0 Then
' Basisbetrag und Sicherheitsbetrag aus Positionssatz 0 zwischenspeichern.
curPosNr0Basbtg = r.Item("veoerz_basbtg")
curPosNr0Sicbtg = r.Item("veoerz_sicbtg")
End If
Next
SPEDITIONSBUCH.Rechnungsbetrag = CDbl(Rechnungsbetrag)
SPEDITIONSBUCH.Sicherheitsbetrag = CDbl(Sicherheitsbetrag)
End If
End Sub
Function getAdresseFromEORI(EORI, EORI_NL)
If EORI Is Nothing Then Return Nothing
If If(EORI, "") <> "" Then
Dim kdNrTmp = KDSQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL)
If IsNumeric(kdNrTmp) Then
Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp)
Return ADRESSE
End If
End If
Return Nothing
End Function
Private Sub EZollNCTSDatenbereitstellung(NCTS_Nr)
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
Dim Bestimmungszollstelle = ""
Dim Bürgschaft = ""
Dim Sicherheitsbetrag As Double
Dim dEZOLL As DataTable = KDSQL.loadDgvBySql("SELECT LizenzNr, OperatorID, VorgangID, AnmID, GeaendertAm, GeaendertVon, CRN, LRN" & _
" FROM zsAnmRefs" & _
" WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "')" & _
" ORDER BY GeaendertAm DESC", "EZOLL")
If dEZOLL Is Nothing Then notFound = True : Exit Sub
If dEZOLL.Rows.Count = 0 Then
' MsgBox("Die Bezugsnummer " & NCTS_Nr & " wurde nicht in der EZoll-Datenbank gefunden.", vbInformation, "Daten aus EZoll übernehmen")
notFound = True
' TextBox2.ForeColor = Color.Red
Exit Sub
End If
'TextBox2.ForeColor = Color.Green
Dim r As DataRow = dEZOLL.Rows(0)
notFound = False
If Not IsNull(r.Item("GeaendertAm")) Then
' If IsNull(SPEDITIONSBUCH.Abfertigungsdatum) Then SPEDITIONSBUCH.Abfertigungsdatum = DateValue(r.Item("GeaendertAm")) ' GEHT SO NED, aber wird whsk nicht benötigt?
SPEDITIONSBUCH.AvisUhrzeit = CDate(r.Item("GeaendertAm"))
End If
If Not IsNull(r.Item("CRN")) Then SPEDITIONSBUCH.BelegNr = r.Item("CRN")
If SPEDITIONSBUCH.Absender = "" Then
' Tabelle zsAnmConorTra lesen.
Dim DTzsAnmConorTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _
" FROM zsAnmConorTra" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If DTzsAnmConorTra.Rows().Count > 0 Then
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Absender = Strings.Left(DTzsAnmConorTra.Rows(0).Item("Na"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Ctry"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Pst"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Cty"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Versendungsland = DTzsAnmConorTra.Rows(0).Item("Ctry")
End If
End If
If SPEDITIONSBUCH.Empfänger = "" Then
' Tabelle zsAnmConeeTra lesen.
Dim DTzsAnmConeeTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _
" FROM zsAnmConeeTra" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If DTzsAnmConeeTra.Rows().Count > 0 Then
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(DTzsAnmConeeTra.Rows(0).Item("Na"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Ctry"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Pst"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Cty"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Bestimmungsland = DTzsAnmConeeTra.Rows(0).Item("Ctry")
End If
End If
' Tabelle zsAnmTransp lesen.
Dim DTzsAnmTransp As DataTable = KDSQL.loadDgvBySql("SELECT DepIdnt" & _
" FROM zsAnmTransp" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If DTzsAnmTransp.Rows().Count > 0 Then
If Not IsNull(DTzsAnmTransp.Rows(0).Item("DepIdnt")) Then
SPEDITIONSBUCH.LKW_Kennzeichen = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25)
' Me.TextBoxLKWKz.Text = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25)
End If
End If
' Tabelle zsAnmValData lesen.
Dim DTzsAnmValData As DataTable = KDSQL.loadDgvBySql("SELECT InvCurr, InvVal" & _
" FROM zsAnmValData" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If DTzsAnmValData.Rows().Count > 0 Then
If Not IsNull(DTzsAnmValData.Rows(0).Item("InvCurr")) Then
If DTzsAnmValData.Rows(0).Item("InvCurr") = "EUR" Then
SPEDITIONSBUCH.Währungsschlüssel = "900"
Else
SPEDITIONSBUCH.Währungsschlüssel = getWaehr(DTzsAnmValData.Rows(0).Item("InvCurr"))
End If
End If
' fNEF.cbxWaehrung._value = DTzsAnmValData.Rows(0).Item("InvCurr") '!Währungsschlüssel = DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & DTzsAnmValData.Rows(0).Item("InvCurr") & "'")
If Not IsNull(DTzsAnmValData.Rows(0).Item("InvVal")) Then SPEDITIONSBUCH.Rechnungsbetrag = CDbl(DTzsAnmValData.Rows(0).Item("InvVal"))
End If
' Tabelle zsAnmHea lesen.
Dim DTzsAnmHea As DataTable = KDSQL.loadDgvBySql("SELECT TotPack, TotGross" & _
" FROM zsAnmHea" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If packstueckeZOLL_TMP = "" Then
If DTzsAnmHea.Rows().Count > 0 Then
If Not IsNull(DTzsAnmHea.Rows(0).Item("TotPack")) Then packstueckeZOLL_TMP = DTzsAnmHea.Rows(0).Item("TotPack") & " Packst."
If Not IsNull(DTzsAnmHea.Rows(0).Item("TotGross")) AndAlso IsNumeric(IsNull(DTzsAnmHea.Rows(0).Item("TotGross"))) Then SPEDITIONSBUCH.Rohmasse = CInt(DTzsAnmHea.Rows(0).Item("TotGross"))
End If
' Tabelle zsAnmGdsitem lesen.
Dim DTzsAnmGdsitem As DataTable = KDSQL.loadDgvBySql("SELECT GdsDes" & _
" FROM zsAnmGdsitem" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")" & _
" ORDER BY GdsItemID", "EZOLL")
If DTzsAnmGdsitem.Rows().Count > 0 Then
If Not IsNull(DTzsAnmGdsitem.Rows(0).Item("GdsDes")) Then
If IsNull(packstueckeZOLL_TMP) Then
packstueckeZOLL_TMP = DTzsAnmGdsitem.Rows(0).Item("GdsDes")
Else
packstueckeZOLL_TMP = packstueckeZOLL_TMP & " " & DTzsAnmGdsitem.Rows(0).Item("GdsDes")
End If
End If
End If
End If
' Tabelle zsAnmDestCo lesen.
Dim DTzsAnmDestCo As DataTable = KDSQL.loadDgvBySql("SELECT Ref" & _
" FROM zsAnmDestCo" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL")
If DTzsAnmDestCo.Rows().Count > 0 Then
If Not IsNull(DTzsAnmDestCo.Rows(0).Item("ref")) Then [Bestimmungszollstelle] = DTzsAnmDestCo.Rows(0).Item("ref")
End If
' Tabelle zsAnmGrteeGrteeRef lesen.
Dim DTzsAnmGrteeGrteeRef As DataTable = KDSQL.loadDgvBySql("SELECT GRN, GVal" & _
" FROM zsAnmGrteeGrteeRef" & _
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")" & _
" ORDER BY GrteeID, GrteeRefID", "EZOLL")
If DTzsAnmGrteeGrteeRef.Rows().Count > 0 Then
[Sicherheitsbetrag] = 0
For Each DTzsAnmGrteeGrteeRef_row In DTzsAnmGrteeGrteeRef.Rows()
If Not IsNull(DTzsAnmGrteeGrteeRef_row.item("GRN")) Then [Bürgschaft] = DTzsAnmGrteeGrteeRef_row.item("GRN")
If Not IsNull(DTzsAnmGrteeGrteeRef_row.item("GVal")) Then [Sicherheitsbetrag] = [Sicherheitsbetrag] + DTzsAnmGrteeGrteeRef_row.item("GVal")
Next
End If
'Personal Abfertigung:
Try
If Not IsNull(r.Item("GeaendertVon")) Then
Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_EZOLL_SB='" & r.Item("GeaendertVon") & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception
MsgBox("Fehler EZOLL Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
End Try
'Anhang
If Not IsNull(r.Item("LRN")) Then
getVBDFromAnmId(r.Item("LRN"), SPEDITIONSBUCH.DokumentId_VBD)
End If
SPEDITIONSBUCH.Sicherheitsbetrag = CDbl(Sicherheitsbetrag)
SPEDITIONSBUCH.Bestimmungszollstelle = Bestimmungszollstelle
SPEDITIONSBUCH.Bürgschaft = Bürgschaft
End Sub
Private Sub EZollEZADatenbereitstellung(EZA_Nr)
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
Dim dEZOLL As DataTable = KDSQL.loadDgvBySql("SELECT LizenzNr, OperatorID, VorgangID, AnmID, GeaendertAm, GeaendertVon, CRN, LRN" & _
" FROM zsAnmRefs" & _
" WHERE (VorgangID = 'EF') AND (LRN = '" & EZA_Nr & "')" & _
" ORDER BY GeaendertAm DESC", "EZOLL")
If dEZOLL Is Nothing Then notFound = True : Exit Sub
If dEZOLL.Rows.Count = 0 Then
'MsgBox("Die Bezugsnummer " & EZA_Nr & " wurde nicht in der EZoll-Datenbank gefunden.", vbInformation, "Daten aus EZoll übernehmen")
notFound = True
' TextBox1.ForeColor = Color.Red
Exit Sub
End If
' TextBox1.ForeColor = Color.Green
Dim DR_zsAnmRefs As DataRow = dEZOLL.Rows(0)
notFound = False
If Not IsNull(DR_zsAnmRefs.Item("GeaendertAm")) Then
' If IsNull(SPEDITIONSBUCH.Abfertigungsdatum) Then SPEDITIONSBUCH.Abfertigungsdatum = DateValue(DR_zsAnmRefs.Item("GeaendertAm")) 'KA::::
SPEDITIONSBUCH.AvisUhrzeit = CDate(DR_zsAnmRefs.Item("GeaendertAm"))
End If
If Not IsNull(DR_zsAnmRefs.Item("CRN")) Then SPEDITIONSBUCH.BelegNr = DR_zsAnmRefs.Item("CRN")
If SPEDITIONSBUCH.Absender = "" Then
' Tabelle zsAnmConorTra lesen.
Dim DTzsAnmConorTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _
" FROM zsAnmConorTra" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL")
If DTzsAnmConorTra.Rows().Count > 0 Then
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Absender = Strings.Left(DTzsAnmConorTra.Rows(0).Item("Na"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Ctry"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Pst"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Cty"), 50)
If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Versendungsland = DTzsAnmConorTra.Rows(0).Item("Ctry")
End If
End If
If SPEDITIONSBUCH.Empfänger = "" Then
' Tabelle zsAnmConeeTra lesen.
Dim DTzsAnmConeeTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _
" FROM zsAnmConeeTra" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL")
If DTzsAnmConeeTra.Rows().Count > 0 Then
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(DTzsAnmConeeTra.Rows(0).Item("Na"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Ctry"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Pst"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Cty"), 50)
If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Bestimmungsland = DTzsAnmConeeTra.Rows(0).Item("Ctry")
End If
End If
' Tabelle zsAnmTransp lesen.
Dim DTzsAnmTransp As DataTable = KDSQL.loadDgvBySql("SELECT DepIdnt" & _
" FROM zsAnmTransp" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL")
If DTzsAnmTransp.Rows().Count > 0 Then
If Not IsNull(DTzsAnmTransp.Rows(0).Item("DepIdnt")) Then SPEDITIONSBUCH.LKW_Kennzeichen = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25)
End If
' Tabelle zsAnmValData lesen.
Dim DTzsAnmValData As DataTable = KDSQL.loadDgvBySql("SELECT InvCurr, InvVal" & _
" FROM zsAnmValData" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL")
If DTzsAnmValData.Rows().Count > 0 Then
If Not IsNull(DTzsAnmValData.Rows(0).Item("InvCurr")) Then
If DTzsAnmValData.Rows(0).Item("InvCurr") = "EUR" Then
SPEDITIONSBUCH.Währungsschlüssel = "900"
Else
SPEDITIONSBUCH.Währungsschlüssel = getWaehr(DTzsAnmValData.Rows(0).Item("InvCurr"))
End If
End If
' fNEF.cbxWaehrung._value = DTzsAnmValData.Rows(0).Item("InvCurr") ' = DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & DTzsAnmValData.Rows(0).Item("InvCurr") & "'")
If Not IsNull(DTzsAnmValData.Rows(0).Item("InvVal")) Then SPEDITIONSBUCH.Rechnungsbetrag = CDbl(DTzsAnmValData.Rows(0).Item("InvVal"))
End If
' Tabelle zsAnmHea lesen.
Dim DTzsAnmHea As DataTable = KDSQL.loadDgvBySql("SELECT TotPack, TotGross" & _
" FROM zsAnmHea" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL")
If packstueckeZOLL_TMP = "" Then
If DTzsAnmHea.Rows().Count > 0 Then
If Not IsNull(DTzsAnmHea.Rows(0).Item("TotPack")) Then packstueckeZOLL_TMP = DTzsAnmHea.Rows(0).Item("TotPack") & " Packst."
If Not IsNull(DTzsAnmHea.Rows(0).Item("TotGross")) Then SPEDITIONSBUCH.Rohmasse = DTzsAnmHea.Rows(0).Item("TotGross")
End If
' Tabelle zsAnmGdsitem lesen.
Dim DTzsAnmGdsitem As DataTable = KDSQL.loadDgvBySql("SELECT GdsDes" & _
" FROM zsAnmGdsitem" & _
" WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")" & _
" ORDER BY GdsItemID", "EZOLL")
If DTzsAnmGdsitem.Rows().Count > 0 Then
If Not IsNull(DTzsAnmGdsitem.Rows(0).Item("GdsDes")) Then
If IsNull(packstueckeZOLL_TMP) Then
packstueckeZOLL_TMP = DTzsAnmGdsitem.Rows(0).Item("GdsDes")
Else
packstueckeZOLL_TMP = packstueckeZOLL_TMP & " " & DTzsAnmGdsitem.Rows(0).Item("GdsDes")
End If
End If
End If
End If
'Personal Abfertigung:
Try
If Not IsNull(DR_zsAnmRefs.Item("GeaendertVon")) Then
Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_EZOLL_SB='" & DR_zsAnmRefs.Item("GeaendertVon") & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception
MsgBox("Fehler EZOLL Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
End Try
'Anhang
If Not IsNull(DR_zsAnmRefs.Item("LRN")) Then
getStbFromAnmId(DR_zsAnmRefs.Item("LRN"), SPEDITIONSBUCH.DokumentId_Steuerbeleg, SPEDITIONSBUCH.DokumentId_Mitteilung)
End If
End Sub
Function getStbFromAnmId(LRN, ByRef StbId, ByRef MittId) As Boolean
Try
StbId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('EZ922') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing)
MittId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('EZ923') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing)
Return True
Catch : End Try
Return False
End Function
Function getVBDFromAnmId(LRN, ByRef VbdId) As Boolean
Try
VbdId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('TR109') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing)
Return True
Catch : End Try
Return False
End Function
Function IsNull(o) As Boolean
Try
If o Is Nothing Then Return True
If o Is DBNull.Value Then Return True
If o.ToString.Trim = "" Then Return True
Catch : End Try
Return False
End Function
Sub setAdresseAndKundenNr(ByRef KUNDE_TXT As String, ByRef KUNDE_KDNR As Integer, Adr_zbadz_typ As Integer, intTyp As Integer, ByVal zollNr As String, ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, ByVal zbant_regnr As String, ByVal zbant_korant As String, zbant_vland As String, eori As String, eori_NL As String)
Dim kunde_tmp As String = ""
Dim kdnr_tmp As String = ""
If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then
kdnr_tmp = KDSQL.getFMZOLLKdNrFromEORI(eori, eori_NL)
If IsNull(kdnr_tmp) Then
If Not IsNull(zollNr) AndAlso IsNumeric(zollNr) AndAlso zollNr <> 0 Then
kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(zollNr)
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
If intTyp = 3 Or intTyp = 4 Then ' Vertreter ODER ANMELDER --> zB bei Konsilager gesehen
Dim veragZolNr = False
If zollNr = 4590317 Then veragZolNr = True ' VERAG Spedition AG, Suben
If zollNr = 4884876 Then veragZolNr = True ' VERAG Spedition AG, Raunheim
If zollNr = 4899911 Then veragZolNr = True ' VERAG Spedition AG, Salzburg
If zollNr = 4824105 Then veragZolNr = True ' VERAG Spedition AG, Neuhaus
If zollNr = 5133599 Then veragZolNr = True ' VERAG Spedition AG, Waidhaus
If zollNr = "DE4590317" Then veragZolNr = True ' VERAG Spedition AG, Suben
If zollNr = "DE4884876" Then veragZolNr = True ' VERAG Spedition AG, Raunheim" Then
If zollNr = "DE4899911" Then veragZolNr = True ' VERAG Spedition AG, Salzburg" Then
If zollNr = "DE4824105" Then veragZolNr = True ' VERAG Spedition AG, Neuhaus" Then
If zollNr = "DE5133599" Then veragZolNr = True ' VERAG Spedition AG, Waidhaus
If Not veragZolNr Then ' Nur Wenn
Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskun(zollNr, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG)
kdnr_tmp = s(1)
kunde_tmp = s(0)
End If
End If
End If
End If
If intTyp = 1 Or intTyp = 2 Then
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
kunde_tmp = KDSQL.getATLASNacherfassungAdresse(basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, Adr_zbadz_typ, ATLAS_SERVER_VERBINDUNG)
End If
End If
If intTyp = 1 Then
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
If Not IsNull(zbant_vland) And Not Trim(zbant_vland) = "" Then
kunde_tmp = Trim(zbant_vland)
End If
End If
End If
End If
End If
KUNDE_TXT = kunde_tmp
If IsNumeric(kdnr_tmp) AndAlso kdnr_tmp > 0 Then
KUNDE_KDNR = kdnr_tmp
End If
End Sub
Sub setAdresseAndKundenNrNCTS(ByRef KUNDE_TXT As String, ByRef KUNDE_KDNR As Integer, Adr_zbadz_typ As Integer, intTyp As Integer, ByVal kdNRATLAS As String, ByVal kdNRATLAS2 As String, ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, intLfdNr As Integer, intPosNr As Integer, lngTyp As Long, veoant_ldvs As String)
Dim kunde_tmp As String = ""
Dim kdnr_tmp As String = ""
'Adr_zbadz_typ = 3 -> Absender
'Adr_zbadz_typ = 4 -> Empfänger
'intTyp = 1 -> Absender
'intTyp = 2 -> Empfänger
'intTyp = 3 -> Auftraggeber
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassung)
' If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then
'kdnr_tmp = KDSQL.getFMZOLLKdNrFromEORI(eori)
' End If
If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then
If Not IsNull(kdNRATLAS) AndAlso IsNumeric(kdNRATLAS) AndAlso kdNRATLAS <> 0 Then
' kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(kdNRATLAS)
' If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskunByKuNr(kdNRATLAS, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG)
kdnr_tmp = s(1)
kunde_tmp = s(0)
'End If
End If
If intTyp = 2 Then 'EMPF
If Not IsNull(kdNRATLAS2) AndAlso IsNumeric(kdNRATLAS2) AndAlso kdNRATLAS2 <> 0 Then
' kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(kdNRATLAS2)
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskunByKuNr(kdNRATLAS2, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG)
kdnr_tmp = s(1)
kunde_tmp = s(0)
End If
End If
End If
If intTyp = 1 Or intTyp = 2 Then
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
kunde_tmp = KDSQL.getATLASNacherfassungAdresseNCTS(basman_nr, basman_nl, zbant_beznr, intLfdNr, intPosNr, lngTyp, ATLAS_SERVER_VERBINDUNG)
End If
End If
If intTyp = 1 Or intTyp = 2 Then
If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then
If Not IsNull(veoant_ldvs) And Not Trim(veoant_ldvs) = "" Then
kunde_tmp = Trim(veoant_ldvs)
End If
End If
End If
End If
KUNDE_TXT = kunde_tmp
If IsNumeric(kdnr_tmp) AndAlso kdnr_tmp > 0 Then
KUNDE_KDNR = kdnr_tmp
End If
End Sub
Function getint(o) As Integer
Try
If o IsNot DBNull.Value AndAlso IsNumeric(o) Then Return CInt(o)
Catch ex As Exception : End Try
Return -1
End Function
Function getStr(o) As String
Try
If o IsNot DBNull.Value Then Return CStr(o)
Catch ex As Exception : End Try
Return ""
End Function
Function getWaehr(s) As String
'Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([LandNr],-1) FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [Währungscode]='" & s & "'", "FMZOLL")
s = s.replace("TRY", "TRL") ' Türkische Lira
Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([Währungsschlüssel],-1) FROM [Währungstabelle] WHERE [Währungscode]='" & s & "'", "FMZOLL")
End Function
End Class