From 901716de41cdd2ec37218c9f697b9329ba402609 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Thu, 27 Nov 2025 09:46:54 +0100 Subject: [PATCH] Belegmail Betreff; Greenpulse --- .../DAKOSY/ATLAS/EZA/cDakosyEZA_Greenpulse.vb | 75 +++++++++++++++---- UID/usrctlProcedures.vb | 22 ++++-- initATLASAufschubkonten/frmStartOptions.vb | 8 ++ 3 files changed, 82 insertions(+), 23 deletions(-) diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA_Greenpulse.vb b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA_Greenpulse.vb index 989e063..0230ecd 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA_Greenpulse.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA_Greenpulse.vb @@ -117,39 +117,84 @@ Public Class cDakosyEZA_Greenpulse End If - ' --- Dokumente aus Unterlagen übernehmen --- + '' --- Dokumente aus Unterlagen übernehmen --- + 'Dim DY As New cDakosy_Zollanmeldungen(eza.eza_dyaAnmID) + + 'If DY IsNot Nothing Then + ' If DY.dy_SendungsId IsNot Nothing Then + ' Dim ANH_LIST As New List(Of cAvisoAnhaenge) + ' cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, DY.dy_SendungsId) + + + ' For Each doc In ANH_LIST + ' Select Case doc.anh_Art + ' Case "Rechnung", "eFatura" + + ' Dim dateiBytes As Byte() = System.IO.File.ReadAllBytes(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(doc.anh_docId)) + + ' Dim d As New cATEZ_Greenpulse_KafkaDecs.DocumentNode With { + ' .Reference = doc.anh_Name, + ' .DocType = "invoice", + ' .MimeType = cATEZ_Greenpulse_KafkaDecsBuilder_DAKOSY.GuessMimeTypeFromNumber(doc.anh_Typ), + ' .Blob = Convert.ToBase64String(dateiBytes) + ' } + ' dest.Documents.Add(d) + ' End Select + + ' Next + ' End If + + 'End If + + + Return dest + End Function + + Public Shared Function BuildByMrnInvoices(eza As cDakosyEZA) As cATEZ_Greenpulse_KafkaInvoices + If eza Is Nothing Then Throw New ArgumentNullException(NameOf(eza)) + + ' Zielobjekt NUR für Dokumente + Dim dest As New cATEZ_Greenpulse_KafkaInvoices() With { + .Documents = New List(Of cATEZ_Greenpulse_KafkaInvoices.DocumentNode)() + } + + ' --- Dokumente aus Unterlagen / Aviso übernehmen --- Dim DY As New cDakosy_Zollanmeldungen(eza.eza_dyaAnmID) - If DY IsNot Nothing Then - If DY.dy_SendungsId IsNot Nothing Then - Dim ANH_LIST As New List(Of cAvisoAnhaenge) - cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, DY.dy_SendungsId) + If DY IsNot Nothing AndAlso DY.dy_SendungsId IsNot Nothing Then + Dim sendungsId As Integer + If Integer.TryParse(DY.dy_SendungsId.ToString(), sendungsId) AndAlso sendungsId > 0 Then + Dim ANH_LIST As New List(Of cAvisoAnhaenge) + cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, sendungsId) For Each doc In ANH_LIST Select Case doc.anh_Art Case "Rechnung", "eFatura" - Dim dateiBytes As Byte() = System.IO.File.ReadAllBytes(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(doc.anh_docId)) + Dim pfad As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(doc.anh_docId) + Dim dateiBytes As Byte() = System.IO.File.ReadAllBytes(pfad) + + Dim d As New cATEZ_Greenpulse_KafkaInvoices.DocumentNode With { + .Reference = doc.anh_Name, + .DocType = "invoice", + .MimeType = cATEZ_Greenpulse_KafkaDecsBuilder_DAKOSY.GuessMimeTypeFromNumber(doc.anh_Typ), + .Blob = Convert.ToBase64String(dateiBytes) + } - Dim d As New cATEZ_Greenpulse_KafkaDecs.DocumentNode With { - .Reference = doc.anh_Name, - .DocType = "invoice", - .MimeType = cATEZ_Greenpulse_KafkaDecsBuilder_DAKOSY.GuessMimeTypeFromNumber(doc.anh_Typ), - .Blob = Convert.ToBase64String(dateiBytes) - } dest.Documents.Add(d) End Select - Next End If - End If - Return dest End Function + + + + ' ========================= ' Populate-Helper (mit TODO) ' ========================= diff --git a/UID/usrctlProcedures.vb b/UID/usrctlProcedures.vb index ca8c8cc..d7b198d 100644 --- a/UID/usrctlProcedures.vb +++ b/UID/usrctlProcedures.vb @@ -4154,18 +4154,24 @@ Public Class usrctlProcedures MsgBox(EZA.eza_MRN) MsgBox(EZA.eza_ObjectName) ' Objekt - Dim rec = cDakosyEZA_Greenpulse.BuildByMrn(EZA) - - ' Dim rec = cATEZ_Greenpulse_KafkaDecs.BuildDemo() - '' JSON (schön formatiert) - 'Dim json As String = cATEZ_Greenpulse_KafkaDecsBuilder_DAKOSY.BuildJsonByMrn(mrn, pretty:=True) - 'Console.WriteLine(json) - + 'Dim rec = cDakosyEZA_Greenpulse.BuildByMrn(EZA) + 'Dim key = cATEZ_Greenpulse_KafkaDecs.GetUniqueKey_Pipe("DE", "DAKOSY", mrn) + 'Dim dr = cATEZ_Greenpulse_KafkaDecs.InsertOrUpdateToKafkaSync(rec, key, 30000) Dim key = cATEZ_Greenpulse_KafkaDecs.GetUniqueKey_Pipe("DE", "DAKOSY", mrn) + + ' Objekt + Dim rec = cDakosyEZA_Greenpulse.BuildByMrn(EZA) Dim dr = cATEZ_Greenpulse_KafkaDecs.InsertOrUpdateToKafkaSync(rec, key, 30000) - MessageBox.Show($"OK: {dr.Status} @ {dr.TopicPartitionOffset}") + 'Unlerlagen + Dim rec_inv = cDakosyEZA_Greenpulse.BuildByMrnInvoices(EZA) + Dim dr_inv = cATEZ_Greenpulse_KafkaInvoices.InsertOrUpdateToKafkaSync(rec_inv, key, 30000) + + + + MessageBox.Show($"OK_Dec: {dr.Status} @ {dr.TopicPartitionOffset}") + MessageBox.Show($"OK_Inv: {dr_inv.Status} @ {dr_inv.TopicPartitionOffset}") Catch ex As Exception MessageBox.Show(ex.Message) diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index 6b443b3..ec161b6 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -1230,6 +1230,14 @@ Public Class frmStartOptions Dim betreff = cStandort.eMail_Zollbeleg_Betreff '"Zollbeleg" + + + + 'Wenn ein fixer BEtreff verwendet werden sollte: + If KD_ERW.EmailFreigabeBeleg_Betreff Then + betreff = If(KD_ERW.EmailFreigabeBeleg_BetreffText, "") + End If + betreff = betreff.Replace("%LKW%", AVISO.LKW_Nr) betreff = betreff.Replace("%AbfertigungsNr%", SND.FilialenNr & "/" & SND.AbfertigungsNr) betreff = betreff.Replace("%Standort%", "")