From e67b54d7b1e2c6b24ee66a20f000ef379d144540 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Tue, 17 Feb 2026 20:08:32 +0100 Subject: [PATCH] KVI KdAtrNr --- SDL/kunden/usrCntlCBAM.vb | 45 +++++++++++++++++++++- VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb | 33 ++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/SDL/kunden/usrCntlCBAM.vb b/SDL/kunden/usrCntlCBAM.vb index d000d927..8df58a10 100644 --- a/SDL/kunden/usrCntlCBAM.vb +++ b/SDL/kunden/usrCntlCBAM.vb @@ -1,4 +1,5 @@ -Imports DAKOSY_Worker +Imports com.sun.org.apache.bcel.internal.generic +Imports DAKOSY_Worker Imports DocumentFormat.OpenXml.Spreadsheet Imports GrapeCity.DataVisualization.TypeScript Imports Org.BouncyCastle.Crypto.Agreement @@ -2428,6 +2429,8 @@ Public Class usrCntlCBAM Order By Anmeldedatum Select New With { .MRN = za.za_MRN, + .SendungsId = za.za_SendungsId, + .AvisoId = za.za_AvisoId, .PositionsNummer = it.zaItem_PosNo, .Anmeldedatum = If(za.za_ReleaseDate, za.za_DeclarationDate), .BezugsNr = za.za_LRN, @@ -2449,12 +2452,15 @@ Public Class usrCntlCBAM } + + Dim dt As New DataTable dt.Columns.Add("MRN") dt.Columns.Add("PositionsNummer", GetType(Integer)) dt.Columns.Add("Anmeldedatum", GetType(Date)) dt.Columns.Add("BezugsNr") + dt.Columns.Add("ReferenzKunde") dt.Columns.Add("VertretungsVerhaeltnis") dt.Columns.Add("Tarifnummer") dt.Columns.Add("Eigenmasse", GetType(Decimal)) @@ -2479,6 +2485,37 @@ Public Class usrCntlCBAM End If For Each r In details + + ' ========================================================= + ' Ermittlung Kunden-Auftragsnummer über SendungsId + ' ========================================================= + Dim KdAtrNr = "" + 'If r.SendungsId IsNot Nothing Then + ' Dim Snd = New VERAG_PROG_ALLGEMEIN.cSendungen(r.SendungsId) + ' If Snd IsNot Nothing Then + ' KdAtrNr = Snd.getKdAtrNrByEORI(EORI) + ' End If + 'End If + If 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 + End If + 'Sonderfall Kanadevia + If EORI = "DE4991397" Then + If KdAtrNr.Contains("/") Then + Dim split = KdAtrNr.split("/") + KdAtrNr = split(0) + End If + End If + ' ========================================================= + ' ========================================================= + + If cbxKosten.Checked Then ' ========================================================= @@ -2522,6 +2559,10 @@ Public Class usrCntlCBAM Dim Def_benchmark = If(benchmark Is Nothing, "", benchmark) Dim Def_Emission = If(emission Is Nothing, "", emission) Dim EstimatedCost = If(cost < 0, "", Convert.ToDecimal(cost)) + ' ========================================================= + ' ========================================================= + + dt.Rows.Add( @@ -2529,6 +2570,7 @@ Public Class usrCntlCBAM r.PositionsNummer, If(r.Anmeldedatum, DBNull.Value), r.BezugsNr, + KdAtrNr, r.VertretungsVerhaeltnis, r.Tarifnummer, If(r.Eigenmasse, 0D), @@ -2555,6 +2597,7 @@ Public Class usrCntlCBAM r.PositionsNummer, If(r.Anmeldedatum, DBNull.Value), r.BezugsNr, + KdAtrNr, r.VertretungsVerhaeltnis, r.Tarifnummer, If(r.Eigenmasse, 0D), diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb index 91267da0..facf0f3e 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb @@ -315,6 +315,39 @@ Public Class cSendungen End If End Function + Public Function getKdAtrNrByEORI(EORI As String) As String + Dim KdNR = -1 + Dim KdAtrNr = Nothing + + If Me.tblSnd_AuftraggeberKdNr > 0 Then + Dim KdNrTmp = Me.tblSnd_AuftraggeberKdNr + Dim KD_tmp As New VERAG_PROG_ALLGEMEIN.cKunde(KdNrTmp) + If KD_tmp IsNot Nothing And KD_tmp.hasEntry Then + If If(KD_tmp.EORITIN, "") = EORI Then + KdAtrNr = Me.tblSnd_KdAuftragsNr + End If + End If + End If + + If Me.tblSnd_EmpfaengerKdNr > 0 Then + Dim KdNrTmp = Me.tblSnd_EmpfaengerKdNr + Dim KD_tmp As New VERAG_PROG_ALLGEMEIN.cKunde(KdNrTmp) + If KD_tmp IsNot Nothing And KD_tmp.hasEntry Then + If If(KD_tmp.EORITIN, "") = EORI Then + KdAtrNr = Me.tblSnd_KdAuftragsNrEmpfaenger + End If + End If + End If + + + + If If(KdAtrNr, "").Trim <> String.Empty Then + Return KdAtrNr + Else + Return "" + End If + End Function + Public Function getKdAtrNr(art As String) As String Try