Revert "cbam"

This reverts commit dff516b9df.
This commit is contained in:
2026-01-15 11:15:59 +01:00
parent ad6a34f9c3
commit 0e3299e219
12 changed files with 396 additions and 788 deletions

View File

@@ -84,9 +84,6 @@ Public Class cVERAG_CustomsDeclarations
Public Property hasEntry As Boolean = False
Public Shared IMPORTER_ROLES As String() = {"CN", "IM", "IMP", "IMPORTER", "CONSIGNEE"}
Public Shared EXPORTER_ROLES As String() = {"CZ", "EX", "EXP", "EXPORTER", "CONSIGNOR"}
Public Shared DECLARANT_ROLES As String() = {"CB", "DT", "ANM", "DEC", "VERTRETER", "DEKLARANT", "DECLARANT"}
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -371,12 +368,12 @@ Public Class cVERAG_CustomsDeclarations
If hasCBAM(CBAM_ITEMS) Then
Dim vertreterEORI As String = Me.Parties.Where(Function(p) DECLARANT_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim vertreterString As String = Me.Parties.Where(Function(p) DECLARANT_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_Name).FirstOrDefault()
Dim importerEORI As String = Me.Parties.Where(Function(p) IMPORTER_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim ImporterString As String = Me.Parties.Where(Function(p) IMPORTER_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_Name).FirstOrDefault()
Dim ExporterEORI As String = Me.Parties.Where(Function(p) EXPORTER_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim ExporterString As String = Me.Parties.Where(Function(p) EXPORTER_ROLES.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_Name).FirstOrDefault()
Dim vertreterEORI As String = Me.Parties.Where(Function(p) {"CB", "DT", "VERTRETER", "DEKLARANT", "DECLARANT"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim vertretenerEORI As String = Nothing 'Me.Parties.Where(Function(p) {"CN", "IM", "IMP", "IMPORTER"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim importerEORI As String = Me.Parties.Where(Function(p) {"CN", "IM", "IMP", "IMPORTER", "CONSIGNEE"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim ImporterString As String = Me.Parties.Where(Function(p) {"CN", "IM", "IMP", "IMPORTER", "CONSIGNEE"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_Name).FirstOrDefault()
Dim ExporterEORI As String = Me.Parties.Where(Function(p) {"CZ", "EX", "EXP", "EXPORTER", "CONSIGNOR"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_EORI).FirstOrDefault()
Dim ExporterString As String = Me.Parties.Where(Function(p) {"CZ", "EX", "EXP", "EXPORTER", "CONSIGNOR"}.Contains(p.zaParty_Role)).Select(Function(p) p.zaParty_Name).FirstOrDefault()
Dim KD As cKunde = Nothing
Dim AD As cAdressen = Nothing
@@ -406,32 +403,7 @@ Public Class cVERAG_CustomsDeclarations
If isIndirect() Then
Dim vertretenerEORI = ""
Dim vertretenerString = ""
If importerEORI IsNot Nothing Then
vertretenerEORI = importerEORI
vertretenerString = ImporterString
Else
vertretenerEORI = ExporterEORI
vertretenerString = ExporterString
End If
Dim KD_IND As cKunde = Nothing
Dim AD_IND As cAdressen = Nothing
Dim ERW_IND As cKundenErweitert = Nothing
Dim VERTR_IND As List(Of cKundenVertraege) = Nothing
If If(ExporterEORI, "") <> "" Then
KD_IND = cKunde.LOAD_ByEORI(ExporterEORI, If(za_Firma, ""))
If KD_IND Is Nothing Then KD_IND = cKunde.LOAD_ByEORI(ExporterEORI) 'Wenn kein Kunde mit Firma gefunden wurde, nur nach EORI suchen (default VERAG)
AD_IND = New cAdressen(KD_IND.KundenNr)
End If
If AD_IND IsNot Nothing Then
vertretenerString = AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "<br/>" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "")
ERW_IND = New cKundenErweitert(AD.AdressenNr)
VERTR_IND = cKundenVertraege.LOAD_LISTOF(AD.AdressenNr)
End If
Dim EORI_IND = If(vertretenerEORI IsNot Nothing, vertretenerEORI, If(importerEORI IsNot Nothing, importerEORI, ExporterEORI))
'==================>> INDIRECT <<=========================
Dim itemsHtml As String =
@@ -442,27 +414,6 @@ Public Class cVERAG_CustomsDeclarations
"</tr>"
))
Dim dateCBAM = If(If(za_ReleaseDate, za_DeclarationDate), Now)
Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(vertretenerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year), za_MRN) / 1000
'Prüft, ob Vertrag vorliegt:
Dim hasValidVertrag_CBAM As Boolean =
VERTR_IND.Any(Function(v) _
v.kv_vertragArtId = 8 AndAlso
v.kv_gueltig AndAlso
(Not v.kv_gueltigBis_Datum.HasValue OrElse
v.kv_gueltigBis_Datum.Value.Date <= dateCBAM)
)
Dim vertragHinweisHtml As String =
If(Not hasValidVertrag_CBAM,
"<div style='margin:15px 0; padding:12px; border:2px solid #b00020; " &
"background-color:#fdeaea; color:#b00020; font-weight:bold; font-size:13pt'>" &
"⚠️ ACHTUNG: Es liegt kein gültiger CBAM-Vertrag vor!" &
"</div>",
"")
Dim bodyHtml As String =
"<html><body style='font-family:Segoe UI, Arial, sans-serif; font-size:12pt; color:#222'>" &
"<h2 style='color:#b00020'>CBAM-Warnmeldung bei Zollanmeldung " & Me.za_MRN & "</h2>" &
@@ -470,7 +421,6 @@ Public Class cVERAG_CustomsDeclarations
"Bei der Zollanmeldung mit der MRN <b>" & Me.za_MRN & "</b> wurden CBAM-relevante Warenpositionen erkannt.<br/>" &
"Bitte prüfen Sie diese Anmeldung im Hinblick auf die CBAM-Meldepflicht." &
"</p>" &
vertragHinweisHtml & ' <<< HIER die Einblendung abhängig von vertrag99
"<h3>Erkannte CBAM-Positionen</h3>" &
"<table cellpadding='6' cellspacing='0' border='1' style='border-collapse:collapse; width:100%'>" &
"<tr style='background-color:#f0f0f0'>" &
@@ -480,21 +430,15 @@ Public Class cVERAG_CustomsDeclarations
"</tr>" &
itemsHtml &
"</table>" &
"<p>" &
"<b>Ind.Vertreter:</b><br/>" &
If(vertreterEORI, "") & "<br>" & If(vertreterString, "") &
"</p>" &
"<p>" &
"<b>Kunde:</b><br/>" &
If(vertretenerEORI, "") & "<br>" & If(vertretenerString, "") &
"</p>" &
"<p>" &
"<p>" &
"<b>Importeur:</b><br/>" &
If(importerEORI, "") & "<br>" & If(ImporterString, "") &
"</p>" &
"<p>" &
"<p>" &
"<b>Exporteur:</b><br/>" &
If(ExporterEORI, "") & "<br>" & If(ExporterString, "") &
If(ExporterEORI, "") & " " & vbNewLine &
If(AD_EX Is Nothing, ExporterString, AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "<br/>" &
If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "")) &
"</p>" &
"<br/><p><b>VERAG CBAM Compliance Services</b></p>" &
"</body></html>"
@@ -522,7 +466,7 @@ Public Class cVERAG_CustomsDeclarations
Dim dateCBAM = If(If(za_ReleaseDate, za_DeclarationDate), Now)
Dim eigenmasseSumme_Shipment As Decimal = CBAM_ITEMS.Sum(Function(i) If(i.zaItem_NetMass, 0D)) / 1000
Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(importerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year)) / 1000
Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(importerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year), za_MRN) / 1000
Dim WarnLevel As String = ""
Dim Schwellenwert As Decimal = 0
@@ -628,9 +572,8 @@ Public Class cVERAG_CustomsDeclarations
End Sub
Public Function getCBAM_KG(EORI As String, von As Date, bis As Date, Optional without_MRN As String = "", Optional isDeclarant As Boolean = False) As Decimal
Public Function getCBAM_KG(EORI As String, von As Date, bis As Date, Optional without_MRN As String = "") As Decimal
Try
If EORI = "" Then Return 0
Dim sqlstr = "SELECT SUM(i.zaItem_NetMass) AS CBAM_Eigenmasse_kg
FROM VERAG.dbo.tblVERAG_CustomsDeclarations_Items i
JOIN VERAG.dbo.tblVERAG_CustomsDeclarations z
@@ -639,9 +582,7 @@ Public Class cVERAG_CustomsDeclarations
JOIN VERAG.dbo.tblVERAG_CustomsDeclarations_Parties p
ON p.zaParty_zaId = z.za_Id
AND p.zaParty_EORI = '" & EORI & "'
" & If(isDeclarant, "AND (p.zaParty_Role IN ('CB','DT','DEKLARANT','DECLARANT') ",
" AND (p.zaParty_Role IN ('CN','IM','IMP','IMPORTER','CONSIGNEE') OR
p.zaParty_Role IN ('CZ','EX','EXP','EXPORTER','CONSIGNOR'))") & "
AND p.zaParty_Role IN ('CN','IM','IMP','IMPORTER')
WHERE z.za_ReleaseDate BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "'
AND EXISTS (