Files
AVISO/SpedBuchImport/cZOLL_IMPORT.vb

1275 lines
72 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"
'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) 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
'-------------------------------------------------------------------------------------------------------------
' 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
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
If SendungId = 0 And SPEDITIONSBUCH.SendungID > 0 Then SendungId = SPEDITIONSBUCH.SendungID 'Falls falsch übergeben
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 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
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)
Try
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.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
MsgBox("BAR-Err: Beträge konnten nicht geladen werden!" & vbNewLine & ex.Message & ex.StackTrace)
End Try
'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
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
' pnl3.Visible = True
' txtAuftraggeber.Text = Aviso.Auftraggeber
' txtAuftraggeberKdNr.Text = Aviso.Auftraggeber_KdNr
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
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 = 26 Or SENDUNG.tblSnd_Abfertigungsart_ID = 28) 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
'notFound = Me.notFound
If autoImport AndAlso Not checkIfAutoOK() Then
notFound = True
End If
Return SPEDITIONSBUCH
End Function
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
Function checkIfAutoOK() As Boolean
Try
If If(SPEDITIONSBUCH.Personalnummer, "") = "" 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("Validierungsfehler SpedBuch - Trotzdem eingearbeitet!", ex.Message, ex.StackTrace, "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)
If EORI Is Nothing Then Return Nothing
If If(EORI, "") <> "" Then
Dim kdNrTmp = KDSQL.getFMZOLLKdNrFromEORI(EORI)
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
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
End Sub
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)
Dim kunde_tmp As String = ""
Dim kdnr_tmp As String = ""
If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then
kdnr_tmp = KDSQL.getFMZOLLKdNrFromEORI(eori)
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