Mailsender, etc.

This commit is contained in:
2025-07-30 16:06:59 +02:00
parent 81f53b1958
commit 429958d2d8
6 changed files with 445 additions and 119 deletions

View File

@@ -5,36 +5,31 @@ Public Class cZollsysteme_Aktenbeschriftung
Property Praeferenznachweis As String
Property Handelsrechnung As String
Property PräferenzAufRechnung As String
Property Colli As String
Property Gewicht As String
Property num_Colli As Integer = 0
Property num_Gewicht As Double = 0
Property Rechnungspreis As String
Property Warenbezeichung As String
Property AbgabenKonto As String
Property Garantie As String
Property Absender As String
Property Empfaenger As String
Property Anmelder As String
Property Vertreter As String
Property Sachbearbeiter As String
Property VerBestLandZst As String
Property Vorpapier As String
Property ATCMRN As String
Property ABGABEN_EUST As Double = 0
Property ABGABEN_ZOLL As Double = 0
Property ANZ_POS As Integer = 0
Property Zollstelle_Eingang As String = ""
Property Waehrungscode As String = "EUR"
Property Incoterms As String = ""
Property Geschaeftsart As String = ""
Property isUeT1 As Boolean = False
Property dtWARENPOS As New DataTable
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -99,12 +94,8 @@ Public Class cZollsysteme_Aktenbeschriftung
End If
' MsgBox("1")
getDataByBezugsnummer = False
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
' Case "UNISPED"
Case ""
Case Else
'MsgBox("2 " & Abfertigungsart)
Select Case Abfertigungsart
'MsgBox("2 " & Abfertigungsart)
Select Case Abfertigungsart
Case 38, 26 'AT
Select Case Zollsystem_Land
Case "AT"
@@ -151,7 +142,7 @@ Public Class cZollsysteme_Aktenbeschriftung
End If
End If
End Select
End Select
End Function
@@ -286,7 +277,7 @@ Public Class cZollsysteme_Aktenbeschriftung
' Dim Währungsschlüssel As String = "900" 'Standard EUR
' Tabelle zsAnmValData lesen.
Dim DTzsAnmValData As DataTable = SQL.loadDgvBySql("SELECT InvCurr, InvVal" &
Dim DTzsAnmValData As DataTable = SQL.loadDgvBySql("SELECT TransacCd,TermDelCd,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_SQL)
If DTzsAnmValData.Rows().Count > 0 Then
@@ -299,6 +290,10 @@ Public Class cZollsysteme_Aktenbeschriftung
'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 Rechnungspreis = CDbl(DTzsAnmValData.Rows(0).Item("InvVal"))
If Not IsNull(DTzsAnmValData.Rows(0).Item("InvCurr")) Then Waehrungscode = DTzsAnmValData.Rows(0).Item("InvCurr")
If Not IsNull(DTzsAnmValData.Rows(0).Item("TermDelCd")) Then Incoterms = DTzsAnmValData.Rows(0).Item("TermDelCd")
If Not IsNull(DTzsAnmValData.Rows(0).Item("TransacCd")) Then Geschaeftsart = DTzsAnmValData.Rows(0).Item("TransacCd")
End If
@@ -319,13 +314,48 @@ Public Class cZollsysteme_Aktenbeschriftung
'Dim pkAnz = SQL.DLookup("sum(cast(Nr as float))", "[zsAnmGdsItemPack]", "(LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", EZOLL_SQL, "")
' Tabelle zsAnmEntryCO lesen.
Dim DTAnmEntryCO As DataTable = SQL.loadDgvBySql("SELECT Ref" &
" FROM zsAnmEntryCO" &
" 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_SQL)
If DTAnmEntryCO.Rows().Count > 0 Then
If Not IsNull(DTAnmEntryCO.Rows(0).Item("Ref")) Then Zollstelle_Eingang = DTAnmEntryCO.Rows(0).Item("Ref")
End If
' Tabelle zsAnmGdsitem lesen.
Dim DTzsAnmGdsitem As DataTable = SQL.loadDgvBySql("SELECT GdsDes" &
Dim DTzsAnmGdsitem As DataTable = SQL.loadDgvBySql("SELECT GdsItemID,ComCd, GdsDes,Net, ProcCd, Orig, Pref,ItVal" &
" 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_SQL)
If DTzsAnmGdsitem.Rows().Count > 0 Then
initDTWarenpos()
For Each row In DTzsAnmGdsitem.Rows
Dim R As DataRow = dtWARENPOS.NewRow
If Not IsNull(row.Item("GdsItemID")) Then R("PosNr") = row.Item("GdsItemID")
If Not IsNull(row.Item("ComCd")) Then R("WarenNr") = row.Item("ComCd")
If Not IsNull(row.Item("GdsDes")) Then R("WarenBez") = row.Item("GdsDes")
If Not IsNull(row.Item("ProcCd")) Then R("Verfahren") = row.Item("ProcCd")
If Not IsNull(row.Item("Pref")) Then R("Preferenz") = row.Item("Pref")
If Not IsNull(row.Item("ItVal")) Then R("PosWert") = row.Item("ItVal")
If Not IsNull(row.Item("Net")) Then R("Netto") = row.Item("Net")
If Not IsNull(row.Item("Orig")) Then R("Herkunft") = row.Item("Orig")
If Not IsNull(row.Item("ComCd")) AndAlso IsNumeric(row.Item("ComCd")) Then
R("isCBAM") = checkisCBAM(row.Item("ComCd"))
End If
dtWARENPOS.Rows.Add(R)
Next
If Not IsNull(DTzsAnmGdsitem.Rows(0).Item("GdsDes")) Then
If IsNull(Warenbezeichung) Then
Warenbezeichung = DTzsAnmGdsitem.Rows(0).Item("GdsDes")
@@ -405,6 +435,42 @@ Public Class cZollsysteme_Aktenbeschriftung
Return load_EZA_FromDAKOSY(EZA)
End Function
Function checkisCBAM(cbamWarenNr As String) As Boolean
If (Left(cbamWarenNr, 4) = "2523" Or
Left(cbamWarenNr, 4) = "2716" Or
Left(cbamWarenNr, 4) = "2808" Or
Left(cbamWarenNr, 4) = "2814" Or
Left(cbamWarenNr, 4) = "3102" Or
Left(cbamWarenNr, 4) = "3105" Or
Left(cbamWarenNr, 4) = "7201" Or
Left(cbamWarenNr, 4) = "7203" Or
Left(cbamWarenNr, 4) = "7318" Or
Left(cbamWarenNr, 6) = "283421" Or
Left(cbamWarenNr, 6) = "260112" Or
Left(cbamWarenNr, 6) = "720211" Or
Left(cbamWarenNr, 6) = "720219" Or
Left(cbamWarenNr, 6) = "720241" Or
Left(cbamWarenNr, 6) = "720249" Or
Left(cbamWarenNr, 6) = "720260" Or
Left(cbamWarenNr, 6) = "280410" Or
Left(cbamWarenNr, 4) = "7326" Or
Left(cbamWarenNr, 4) = "7601" Or
Left(cbamWarenNr, 4) = "7616" Or
Left(cbamWarenNr, 8) = "25070080" Or
CInt(Left(cbamWarenNr, 4)) <= 7301 And CInt(Left(cbamWarenNr, 4)) >= 7311 Or
CInt(Left(cbamWarenNr, 4)) <= 7205 And CInt(Left(cbamWarenNr, 4)) >= 7229 Or
CInt(Left(cbamWarenNr, 4)) <= 7603 And CInt(Left(cbamWarenNr, 4)) >= 7614) And Not Left(cbamWarenNr, 6) = "310560" Then
Return True
Else
Return False
End If
End Function
Function load_EZA_FromDAKOSY(EZA As DAKOSY_Worker.cDakosyEZA) As Boolean
Try
@@ -414,7 +480,7 @@ Public Class cZollsysteme_Aktenbeschriftung
'
If IsNumeric(If(EZA.eza_GesamtRohmasse, "")) Then Me.Gewicht = CDbl(EZA.eza_GesamtRohmasse).ToString("N1") & " kg" : num_Gewicht = CDbl(EZA.eza_GesamtRohmasse).ToString("N1")
If IsNumeric(If(EZA.eza_Rechnungspreis, "")) Then Me.Rechnungspreis = CDbl(EZA.eza_Rechnungspreis).ToString("N2")
Me.Rechnungspreis &= " " & If(EZA.eza_Rechnungswaehrung, "")
'Me.Rechnungspreis &= " " & If(EZA.eza_Rechnungswaehrung, "")
ATCMRN = If(EZA.eza_ANR, "")
' Me.Rechnungspreis &= " " & If(EZA.eza_Rechnungswaehrung, "")
@@ -428,9 +494,33 @@ Public Class cZollsysteme_Aktenbeschriftung
Dim Colli As Integer = 0
Dim cnt As Integer = 0
If EZA.eza_WARENPOS.Count > 0 Then
initDTWarenpos()
Me.Warenbezeichung = EZA.eza_WARENPOS.Count & " POS: "
Me.Warenbezeichung &= If(EZA.eza_WARENPOS.Count = 1, If(EZA.eza_WARENPOS(0).ezaWP_Warenbezeichnung, ""), "* diverse *")
For Each POS In EZA.eza_WARENPOS
Dim R As DataRow = dtWARENPOS.NewRow
If Not IsNull(POS.ezaWP_PositionsNummer) Then R("PosNr") = POS.ezaWP_PositionsNummer
If Not IsNull(POS.ezaWP_WarennummerEZT) Then R("WarenNr") = POS.ezaWP_WarennummerEZT
If Not IsNull(POS.ezaWP_Warenbezeichnung) Then R("WarenBez") = POS.ezaWP_Warenbezeichnung
If Not IsNull(POS.ezaWP_AnmeldeVErfahren) Then R("Verfahren") = POS.ezaWP_AnmeldeVErfahren
If Not IsNull(POS.ezaWP_Artikelpreis) Then R("PosWert") = POS.ezaWP_Artikelpreis
If Not IsNull(POS.ezaWP_BeguenstigungBenatragtCode) Then R("Preferenz") = POS.ezaWP_BeguenstigungBenatragtCode
If Not IsNull(POS.ezaWP_UrsprungslandCode) Then R("Herkunft") = POS.ezaWP_UrsprungslandCode
If Not IsNull(POS.ezaWP_Rohmasse) Then R("Netto") = POS.ezaWP_Rohmasse
If Not IsNull(POS.ezaWP_WarennummerEZT) AndAlso IsNumeric(POS.ezaWP_WarennummerEZT) Then
R("isCBAM") = checkisCBAM(POS.ezaWP_WarennummerEZT)
End If
dtWARENPOS.Rows.Add(R)
For Each UL In POS.ezaWP_UNTERLAGEN
If UL.ezaWpUl_Art IsNot Nothing Then
Select Case UL.ezaWpUl_Art
@@ -469,7 +559,7 @@ Public Class cZollsysteme_Aktenbeschriftung
Select Case AD.ezaAd_AdressTyp
Case "CZ" : Absender = ""'Anschrift --> nicht benötigt
Case "CZ" : Absender = Anschrift'Anschrift --> nicht benötigt
Case "CN" : Empfaenger = Anschrift
Case "DT" : Anmelder = Anschrift
Case "CB" : Vertreter = "" ' Anschrift - -> nicht benötigt
@@ -505,6 +595,14 @@ Public Class cZollsysteme_Aktenbeschriftung
AbgabenKonto = listToString(AUFSCHUB_List)
If EZA.eza_ArtGeschaeftCode IsNot Nothing AndAlso EZA.eza_ArtGeschaeftCode <> "" Then Geschaeftsart = EZA.eza_ArtGeschaeftCode
If EZA.eza_LieferbedingungCode IsNot Nothing AndAlso EZA.eza_LieferbedingungCode <> "" Then Incoterms = EZA.eza_LieferbedingungCode
If EZA.eza_LieferbedingungCode IsNot Nothing AndAlso EZA.eza_LieferbedingungCode <> "" Then Incoterms = EZA.eza_LieferbedingungCode
If EZA.eza_LieferbedingungOrt IsNot Nothing AndAlso EZA.eza_LieferbedingungOrt <> "" AndAlso Incoterms <> "" Then Incoterms &= " " & EZA.eza_LieferbedingungOrt
If EZA.eza_Rechnungswaehrung IsNot Nothing AndAlso EZA.eza_Rechnungswaehrung <> "" Then Waehrungscode = EZA.eza_Rechnungswaehrung
Return True
Catch ex As Exception
@@ -991,25 +1089,25 @@ Public Class cZollsysteme_Aktenbeschriftung
'Frächter
Dim DTzsAnmCarrier As DataTable = SQL.loadDgvBySql("SELECT * FROM [zsAnmCarrTra] WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & AnmID & ")", "EZOLL")
If DTzsAnmCarrier.Rows().Count > 0 Then
VERAG_NCTS.NCTS_Data.Carrier.Name = DTzsAnmCarrier.Rows(0).Item("Na")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Pst")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Postcode = DTzsAnmCarrier.Rows(0).Item("Pst")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Strt")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Street = DTzsAnmCarrier.Rows(0).Item("Strt")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Cty")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.City = DTzsAnmCarrier.Rows(0).Item("Cty")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Ctry")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Country = DTzsAnmCarrier.Rows(0).Item("Ctry")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("TIN")) Then VERAG_NCTS.NCTS_Data.Carrier.EORI = DTzsAnmCarrier.Rows(0).Item("TIN")
'VERAG_NCTS.NCTS_Data.Carrier.EORI_NL = If(NCTS_TMP.ncts_Empfaenger_NLNR, "")
'VERAG_NCTS.NCTS_Data.Carrier.UID_Nr = If(NCTS_TMP.ncts_Empfaenger_NLNR, "")
End If
If DTzsAnmCarrier.Rows().Count > 0 Then
VERAG_NCTS.NCTS_Data.Carrier.Name = DTzsAnmCarrier.Rows(0).Item("Na")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Pst")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Postcode = DTzsAnmCarrier.Rows(0).Item("Pst")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Strt")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Street = DTzsAnmCarrier.Rows(0).Item("Strt")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Cty")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.City = DTzsAnmCarrier.Rows(0).Item("Cty")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("Ctry")) Then VERAG_NCTS.NCTS_Data.Carrier.Adress.Country = DTzsAnmCarrier.Rows(0).Item("Ctry")
If Not SQL.IsNull(DTzsAnmCarrier.Rows(0).Item("TIN")) Then VERAG_NCTS.NCTS_Data.Carrier.EORI = DTzsAnmCarrier.Rows(0).Item("TIN")
'VERAG_NCTS.NCTS_Data.Carrier.EORI_NL = If(NCTS_TMP.ncts_Empfaenger_NLNR, "")
'VERAG_NCTS.NCTS_Data.Carrier.UID_Nr = If(NCTS_TMP.ncts_Empfaenger_NLNR, "")
End If
' Tabelle zsAnmGrteeGrteeRef lesen.
Dim DTzsAnmGrteeGrteeRef As DataTable = SQL.loadDgvBySql("SELECT GRN, GVal" &
' Tabelle zsAnmGrteeGrteeRef lesen.
Dim DTzsAnmGrteeGrteeRef As DataTable = SQL.loadDgvBySql("SELECT GRN, GVal" &
" FROM zsAnmGrteeGrteeRef" &
" WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & AnmID & ")" &
" ORDER BY GrteeID, GrteeRefID", "EZOLL")
If DTzsAnmGrteeGrteeRef.Rows().Count > 0 Then
If DTzsAnmGrteeGrteeRef.Rows().Count > 0 Then
VERAG_NCTS.NCTS_Data.Guarantee.Amount = 0
For Each DTzsAnmGrteeGrteeRef_row In DTzsAnmGrteeGrteeRef.Rows()
If Not SQL.IsNull(DTzsAnmGrteeGrteeRef_row.item("GRN")) Then VERAG_NCTS.NCTS_Data.Guarantee.GRN = DTzsAnmGrteeGrteeRef_row.item("GRN")
@@ -1055,6 +1153,29 @@ Public Class cZollsysteme_Aktenbeschriftung
End Function
Sub initDTWarenpos()
If dtWARENPOS IsNot Nothing And Not dtWARENPOS.Columns.Contains("PosNr") Then
dtWARENPOS.Columns.Add("PosNr", GetType(Integer))
dtWARENPOS.Columns.Add("WarenNr", GetType(String))
dtWARENPOS.Columns.Add("WarenBez", GetType(String))
dtWARENPOS.Columns.Add("Verfahren", GetType(Integer))
dtWARENPOS.Columns.Add("Preferenz", GetType(Integer))
dtWARENPOS.Columns.Add("PosWert", GetType(Double))
dtWARENPOS.Columns.Add("isCBAM", GetType(Boolean))
dtWARENPOS.Columns.Add("Herkunft", GetType(String))
dtWARENPOS.Columns.Add("Netto", GetType(Integer))
Else
dtWARENPOS.Clear()
End If
End Sub
Shared Function getGRTY_fromEZOLL(LRN As String) As String
Try
Return SQL.getValueTxtBySql("SELECT TOP 1 GRN FROM zsAnmRefs inner join zsAnmGrteeGrteeRef on zsAnmGrteeGrteeRef.AnmID=zsAnmRefs.AnmID WHERE (zsAnmRefs.VorgangID = 'AV') AND (LRN = '" & LRN & "')", "EZOLL")