Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024
This commit is contained in:
10
SDL/My Project/Resources.Designer.vb
generated
10
SDL/My Project/Resources.Designer.vb
generated
@@ -2631,6 +2631,16 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||
'''</summary>
|
||||
Friend ReadOnly Property VERAG_CBAM_Report_Template() As Byte()
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("VERAG_CBAM_Report_Template", resourceCulture)
|
||||
Return CType(obj,Byte())
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||
'''</summary>
|
||||
|
||||
@@ -973,4 +973,7 @@
|
||||
<data name="ambar_boarder_new" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ambar_boarder_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="VERAG_CBAM_Report_Template" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\VERAG_CBAM_Report_Template.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
SDL/Resources/VERAG_CBAM_Report_Template.xlsx
Normal file
BIN
SDL/Resources/VERAG_CBAM_Report_Template.xlsx
Normal file
Binary file not shown.
@@ -4987,6 +4987,7 @@
|
||||
</None>
|
||||
<None Include="Resources\SR_EVOLOG.xlsx" />
|
||||
<None Include="Resources\SR_TransFerry360.xlsx" />
|
||||
<None Include="Resources\VERAG_CBAM_Report_Template.xlsx" />
|
||||
<None Include="Resources\Zoll\EORI_UID.dotx">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -2249,7 +2249,8 @@ Public Class usrCntlCBAM
|
||||
|
||||
|
||||
doVERAG_SUM(LIST, EORI(0))
|
||||
doVERAG_DETAIL(LIST, EORI(0))
|
||||
doVERAG_DETAIL_OLD(LIST, EORI(0))
|
||||
'doVERAG_DETAIL(LIST, EORI(0))
|
||||
If cbxVERAG_GPXLS.Checked Then doVERAG_GREENPULSE_XLS(LIST, EORI(0))
|
||||
|
||||
|
||||
@@ -2410,7 +2411,342 @@ Public Class usrCntlCBAM
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Sub doVERAG_DETAIL(LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations), EORI As String)
|
||||
Public Sub doVERAG_DETAIL(LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations), EORI As String)
|
||||
|
||||
btnCBAM_DS_VERAG_Detail.Enabled = False
|
||||
btnCBAM_DS_VERAG_Detail.Tag = ""
|
||||
|
||||
Try
|
||||
|
||||
' =========================================================
|
||||
' Daten holen
|
||||
' =========================================================
|
||||
Dim details =
|
||||
From za In LIST
|
||||
From it In za.Items
|
||||
Let importer = za.Parties.
|
||||
FirstOrDefault(Function(p) cVERAG_CustomsDeclarations.IMPORTER_ROLES.Contains(p.zaParty_Role))
|
||||
Let exporter = za.Parties.
|
||||
FirstOrDefault(Function(p) cVERAG_CustomsDeclarations.EXPORTER_ROLES.Contains(p.zaParty_Role))
|
||||
Let declarant = za.Parties.
|
||||
FirstOrDefault(Function(p) cVERAG_CustomsDeclarations.DECLARANT_ROLES.Contains(p.zaParty_Role))
|
||||
Let cbamDeclarantTmp = za.Parties.
|
||||
FirstOrDefault(Function(p) p.zaParty_Role = "CBAM")
|
||||
Let cbamDeclarant = If(cbamDeclarantTmp, declarant)
|
||||
Let invoice =
|
||||
it.Documents.FirstOrDefault(Function(d) d.zaDoc_Code = "N380" OrElse d.zaDoc_Code = "N325")
|
||||
Let anmeldedatum = If(za.za_ReleaseDate, za.za_DeclarationDate)
|
||||
Order By anmeldedatum
|
||||
Select New With {
|
||||
.MRN = If(za.za_MRN, ""),
|
||||
.SendungsId = za.za_SendungsId,
|
||||
.PositionsNummer = it.zaItem_PosNo,
|
||||
.Anmeldedatum = anmeldedatum,
|
||||
.BezugsNr = If(za.za_LRN, ""),
|
||||
.VertretungsVerhaeltnis = If(za.za_RepresentationCode, ""),
|
||||
.Tarifnummer = If(LeftStr(it.zaItem_HSCode, 8), ""),
|
||||
.Eigenmasse = it.zaItem_NetMass,
|
||||
.Rohmasse = it.zaItem_GrossMass,
|
||||
.Ursprungsland = If(it.zaItem_OriginCountry, ""),
|
||||
.VersendungsLand = If(za.za_CountryDispatch, ""),
|
||||
.BestimmungsLand = If(za.za_CountryDestination, ""),
|
||||
.Rechnungspreis = If(it.zaItem_InvoiceValueEUR, it.zaItem_StatisticalValueEUR),
|
||||
.Rechnungswaehrung = If(it.zaItem_InvoiceCurrency, ""),
|
||||
.EmpfaengerEORI = If(importer IsNot Nothing, If(importer.zaParty_EORI, ""), ""),
|
||||
.Empfaenger = If(importer IsNot Nothing, If(importer.zaParty_Name, ""), ""),
|
||||
.AbsenderEORI = If(exporter IsNot Nothing, If(exporter.zaParty_EORI, ""), ""),
|
||||
.Absender = If(exporter IsNot Nothing, If(exporter.zaParty_Name, ""), ""),
|
||||
.DeclarantEORI = If(declarant IsNot Nothing, If(declarant.zaParty_EORI, ""), ""),
|
||||
.DeclarantName = If(declarant IsNot Nothing, If(declarant.zaParty_Name, ""), ""),
|
||||
.CBAMDeclarantEORI = If(cbamDeclarant IsNot Nothing, If(cbamDeclarant.zaParty_EORI, ""), ""),
|
||||
.CBAMDeclarantName = If(cbamDeclarant IsNot Nothing, If(cbamDeclarant.zaParty_Name, ""), ""),
|
||||
.Rechnungsnummer = If(invoice IsNot Nothing, If(invoice.zaDoc_Reference, ""), ""),
|
||||
.Rechnungsdatum = If(invoice IsNot Nothing, ParseDateSafe(invoice.zaDoc_Date), Nothing),
|
||||
.RequestedProcedure = If(za.za_MainProcedure, ""),
|
||||
.PreviousProcedure = If(it.zaItem_PrevProcedure, ""),
|
||||
.MeasurementUnit = If(it.zaItem_SuppUnitCode, "")
|
||||
}
|
||||
|
||||
' =========================================================
|
||||
' DataTable exakt nach Excel-Template
|
||||
' =========================================================
|
||||
Dim dt As New DataTable
|
||||
|
||||
dt.Columns.Add("MRN")
|
||||
dt.Columns.Add("position_no")
|
||||
dt.Columns.Add("declaration_date")
|
||||
dt.Columns.Add("reference_no")
|
||||
dt.Columns.Add("customer_reference")
|
||||
dt.Columns.Add("representation_type")
|
||||
dt.Columns.Add("tariff_code")
|
||||
dt.Columns.Add("net_mass_kg")
|
||||
dt.Columns.Add("gross_mass_kg")
|
||||
dt.Columns.Add("origin_country")
|
||||
dt.Columns.Add("dispatch_country")
|
||||
dt.Columns.Add("destination_country")
|
||||
dt.Columns.Add("invoice_number")
|
||||
dt.Columns.Add("invoice_date")
|
||||
dt.Columns.Add("invoice_amount")
|
||||
dt.Columns.Add("invoice_currency")
|
||||
dt.Columns.Add("sender_eori")
|
||||
dt.Columns.Add("sender_name")
|
||||
dt.Columns.Add("sender_address")
|
||||
dt.Columns.Add("sender_country")
|
||||
dt.Columns.Add("recipient_eori")
|
||||
dt.Columns.Add("recipient_name")
|
||||
dt.Columns.Add("recipient_address")
|
||||
dt.Columns.Add("recipient_country")
|
||||
dt.Columns.Add("importer_eori")
|
||||
dt.Columns.Add("importer_name")
|
||||
dt.Columns.Add("importer_address")
|
||||
dt.Columns.Add("importer_country")
|
||||
dt.Columns.Add("importer_email")
|
||||
dt.Columns.Add("importer_phone")
|
||||
dt.Columns.Add("declarant_eori")
|
||||
dt.Columns.Add("declarant_name")
|
||||
dt.Columns.Add("declarant_address")
|
||||
dt.Columns.Add("declarant_country")
|
||||
dt.Columns.Add("requested_procedure")
|
||||
dt.Columns.Add("previous_procedure")
|
||||
dt.Columns.Add("measurement_unit")
|
||||
dt.Columns.Add("member_state_authorisation")
|
||||
dt.Columns.Add("discharge_bill_waiver")
|
||||
dt.Columns.Add("authorisation")
|
||||
dt.Columns.Add("inward_processing_start")
|
||||
dt.Columns.Add("inward_processing_end")
|
||||
dt.Columns.Add("inward_processing_deadline")
|
||||
dt.Columns.Add("Benchmark (Default)")
|
||||
dt.Columns.Add("Emission (Default)")
|
||||
dt.Columns.Add("Factor")
|
||||
dt.Columns.Add("Estimated Cost")
|
||||
|
||||
' =========================================================
|
||||
' Befüllen
|
||||
' =========================================================
|
||||
For Each r In details
|
||||
|
||||
Dim KdAtrNr As String = ""
|
||||
|
||||
If cbxKdAtrNr.Checked AndAlso r.SendungsId IsNot Nothing Then
|
||||
Dim Snd = New VERAG_PROG_ALLGEMEIN.cSendungen(r.SendungsId)
|
||||
If Snd IsNot Nothing Then
|
||||
KdAtrNr = Snd.getKdAtrNr("AUFTRAGGEBER")
|
||||
If KdAtrNr = "" Then
|
||||
KdAtrNr = Snd.getKdAtrNr("EMPFAENGER")
|
||||
End If
|
||||
End If
|
||||
|
||||
If EORI = "DE4991397" AndAlso KdAtrNr.Contains("/") Then
|
||||
KdAtrNr = KdAtrNr.Split("/"c)(0)
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim benchmark As Object = Nothing
|
||||
Dim emission As Object = Nothing
|
||||
Dim faktor As Object = Nothing
|
||||
Dim weight = r.Eigenmasse
|
||||
Dim year = If(txtBis._value <> "", CDate(txtBis._value).Year, Now.Year)
|
||||
Dim cost As String = "0"
|
||||
|
||||
If cbxKosten.Checked Then
|
||||
Dim benchmarkObj As Object = Nothing
|
||||
Dim emissionObj As Object = Nothing
|
||||
Dim faktorObj As Object = Nothing
|
||||
Dim costObj As String = "0"
|
||||
|
||||
' Dim weight = 0D
|
||||
If IsNumeric(r.Eigenmasse) Then weight = CDbl(r.Eigenmasse)
|
||||
|
||||
'Dim year = If(txtBis._value <> "", CDate(txtBis._value).Year, Now.Year)
|
||||
|
||||
If IsNumeric(txtVERA_ZertPreis._value) Then
|
||||
cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(
|
||||
cn_code:=Convert.ToString(r.Tarifnummer),
|
||||
weight:=weight / 1000,
|
||||
country_code:=Convert.ToString(r.Ursprungsland),
|
||||
certificate_price:=CDbl(txtVERA_ZertPreis._value),
|
||||
year:=year,
|
||||
costObj,
|
||||
emissionObj,
|
||||
benchmarkObj,
|
||||
faktorObj
|
||||
)
|
||||
Else
|
||||
cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM(
|
||||
cn_code:=Convert.ToString(r.Tarifnummer),
|
||||
weight:=weight / 1000,
|
||||
country_code:=Convert.ToString(r.Ursprungsland),
|
||||
Nothing,
|
||||
year:=year,
|
||||
Nothing,
|
||||
costObj,
|
||||
emissionObj,
|
||||
benchmarkObj,
|
||||
faktorObj
|
||||
)
|
||||
End If
|
||||
|
||||
benchmark = If(benchmarkObj Is Nothing, "", Convert.ToString(benchmarkObj))
|
||||
emission = If(emissionObj Is Nothing, "", Convert.ToString(emissionObj))
|
||||
faktor = If(faktorObj Is Nothing, "", Convert.ToString(faktorObj))
|
||||
|
||||
If IsNumeric(costObj) Then
|
||||
If CDbl(costObj) >= 0 Then
|
||||
cost = Convert.ToString(costObj)
|
||||
Else
|
||||
cost = ""
|
||||
End If
|
||||
Else
|
||||
cost = ""
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim row = dt.NewRow()
|
||||
|
||||
row("MRN") = If(r.MRN, "")
|
||||
row("position_no") = r.PositionsNummer
|
||||
row("declaration_date") = If(r.Anmeldedatum Is Nothing, "", CDate(r.Anmeldedatum).ToString("yyyy-MM-dd"))
|
||||
row("reference_no") = If(r.BezugsNr, "")
|
||||
row("customer_reference") = If(KdAtrNr, "")
|
||||
row("representation_type") = If(r.VertretungsVerhaeltnis, "")
|
||||
row("tariff_code") = If(r.Tarifnummer, "")
|
||||
row("net_mass_kg") = If(r.Eigenmasse Is Nothing, "", Convert.ToString(r.Eigenmasse))
|
||||
row("gross_mass_kg") = If(r.Rohmasse Is Nothing, "", Convert.ToString(r.Rohmasse))
|
||||
row("origin_country") = If(r.Ursprungsland, "")
|
||||
row("dispatch_country") = If(r.VersendungsLand, "")
|
||||
row("destination_country") = If(r.BestimmungsLand, "")
|
||||
|
||||
row("invoice_number") = If(r.Rechnungsnummer, "")
|
||||
row("invoice_date") = If(r.Rechnungsdatum Is Nothing, "", CDate(r.Rechnungsdatum).ToString("yyyy-MM-dd"))
|
||||
row("invoice_amount") = If(r.Rechnungspreis Is Nothing, "", Convert.ToString(r.Rechnungspreis))
|
||||
row("invoice_currency") = If(r.Rechnungswaehrung, "")
|
||||
|
||||
row("sender_eori") = If(r.AbsenderEORI, "")
|
||||
row("sender_name") = If(r.Absender, "")
|
||||
row("sender_address") = ""
|
||||
row("sender_country") = ""
|
||||
|
||||
row("recipient_eori") = If(r.EmpfaengerEORI, "")
|
||||
row("recipient_name") = If(r.Empfaenger, "")
|
||||
row("recipient_address") = ""
|
||||
row("recipient_country") = ""
|
||||
|
||||
row("importer_eori") = If(r.EmpfaengerEORI, "")
|
||||
row("importer_name") = If(r.Empfaenger, "")
|
||||
row("importer_address") = ""
|
||||
row("importer_country") = ""
|
||||
row("importer_email") = ""
|
||||
row("importer_phone") = ""
|
||||
|
||||
row("declarant_eori") = If(r.DeclarantEORI, "")
|
||||
row("declarant_name") = If(r.DeclarantName, "")
|
||||
row("declarant_address") = ""
|
||||
row("declarant_country") = ""
|
||||
|
||||
row("requested_procedure") = If(r.RequestedProcedure, "")
|
||||
row("previous_procedure") = If(r.PreviousProcedure, "")
|
||||
row("measurement_unit") = If(r.MeasurementUnit, "")
|
||||
row("member_state_authorisation") = ""
|
||||
row("discharge_bill_waiver") = ""
|
||||
row("authorisation") = ""
|
||||
row("inward_processing_start") = ""
|
||||
row("inward_processing_end") = ""
|
||||
row("inward_processing_deadline") = ""
|
||||
|
||||
row("Benchmark (Default)") = benchmark
|
||||
row("Emission (Default)") = emission
|
||||
row("Factor") = faktor
|
||||
row("Estimated Cost") = cost
|
||||
|
||||
dt.Rows.Add(row)
|
||||
|
||||
Next
|
||||
|
||||
' =========================================================
|
||||
' Datei vorbereiten
|
||||
' =========================================================
|
||||
Dim Path_DETAIL As String = ""
|
||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\CBAM_REPORT_DETAIL\"
|
||||
|
||||
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||||
My.Computer.FileSystem.CreateDirectory(sPath)
|
||||
End If
|
||||
|
||||
Path_DETAIL = sPath & EORI & "_CBAM_Detail_" & txtVon._value & "-" & txtBis._value & ".xlsx"
|
||||
While System.IO.File.Exists(Path_DETAIL)
|
||||
Path_DETAIL = sPath & EORI & "_CBAM_Detail_" & txtVon._value & "-" & txtBis._value & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
|
||||
End While
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(Path_DETAIL, My.Resources.VERAG_CBAM_Report_Template, False)
|
||||
|
||||
' =========================================================
|
||||
' Excel schreiben
|
||||
' =========================================================
|
||||
Dim wb = New ClosedXML.Excel.XLWorkbook(Path_DETAIL)
|
||||
Dim ws = wb.Worksheet("CBAM_Report")
|
||||
|
||||
' Header
|
||||
ws.Cell("A3").Value = txtVon._value
|
||||
ws.Cell("C3").Value = txtBis._value
|
||||
|
||||
' CBAM Declarant
|
||||
ws.Cell("A6").Value = "VERAG"
|
||||
ws.Cell("B6").Value = ""
|
||||
ws.Cell("C6").Value = ""
|
||||
ws.Cell("D6").Value = ""
|
||||
ws.Cell("E6").Value = ""
|
||||
ws.Cell("F6").Value = EORI
|
||||
|
||||
' Declarant
|
||||
ws.Cell("A8").Value = "VERAG"
|
||||
ws.Cell("B8").Value = ""
|
||||
ws.Cell("C8").Value = ""
|
||||
ws.Cell("D8").Value = ""
|
||||
ws.Cell("E8").Value = ""
|
||||
ws.Cell("F8").Value = EORI
|
||||
|
||||
' Importer (Default) - aus Parameter / erster Datensatz
|
||||
Dim firstImporterName As String = ""
|
||||
If dt.Rows.Count > 0 Then
|
||||
firstImporterName = Convert.ToString(dt.Rows(0)("importer_name"))
|
||||
End If
|
||||
|
||||
ws.Cell("A10").Value = firstImporterName
|
||||
ws.Cell("B10").Value = ""
|
||||
ws.Cell("C10").Value = ""
|
||||
ws.Cell("D10").Value = ""
|
||||
ws.Cell("E10").Value = ""
|
||||
ws.Cell("F10").Value = EORI
|
||||
|
||||
' Alte Detaildatenbereich-Inhalte leeren
|
||||
Dim startRow As Integer = 14
|
||||
'For r As Integer = startRow To Math.max(ws.LastRowUsed().RowNumber(), startRow + 5000)
|
||||
' For c As Integer = 1 To 47
|
||||
' ws.Cell(r, c).Clear(XLCellClearOptions.Contents)
|
||||
' Next
|
||||
'Next
|
||||
|
||||
' Detaildaten schreiben
|
||||
For i As Integer = 0 To dt.Rows.Count - 1
|
||||
For j As Integer = 0 To dt.Columns.Count - 1
|
||||
ws.Cell(startRow + i, j + 1).Value = If(dt.Rows(i)(j), "")
|
||||
Next
|
||||
Next
|
||||
|
||||
wb.SaveAs(Path_DETAIL)
|
||||
|
||||
If dt.Rows.Count > 0 Then
|
||||
btnCBAM_DS_VERAG_Detail.Tag = Path_DETAIL
|
||||
btnCBAM_DS_VERAG_Detail.Enabled = True
|
||||
btnCBAM_DS_VERAG_Copy.Enabled = True
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Sub doVERAG_DETAIL_OLD(LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations), EORI As String)
|
||||
|
||||
btnCBAM_DS_VERAG_Detail.Enabled = False
|
||||
btnCBAM_DS_VERAG_Detail.Tag = ""
|
||||
|
||||
Reference in New Issue
Block a user