Mailsender, status EZA send

This commit is contained in:
2026-07-07 13:35:57 +02:00
parent f193cb6dd3
commit 252a74a93a
6 changed files with 257 additions and 8 deletions

View File

@@ -396,6 +396,7 @@ Public Class cZollsysteme_Aktenbeschriftung
Dim ABGABEN_LIST = VERAG_PROG_ALLGEMEIN.cAbgaben.LOAD_LIST(ATCMRN) Dim ABGABEN_LIST = VERAG_PROG_ALLGEMEIN.cAbgaben.LOAD_LIST(ATCMRN)
If ABGABEN_LIST IsNot Nothing AndAlso ABGABEN_LIST.Count > 0 Then If ABGABEN_LIST IsNot Nothing AndAlso ABGABEN_LIST.Count > 0 Then
For Each A In ABGABEN_LIST For Each A In ABGABEN_LIST
Select Case A.Belegart Select Case A.Belegart
Case "2EU", "2IG", "5EU" ' "2PE", Case "2EU", "2IG", "5EU" ' "2PE",
ABGABEN_EUST += If(A.Betrag, 0) ABGABEN_EUST += If(A.Betrag, 0)
@@ -547,10 +548,13 @@ Public Class cZollsysteme_Aktenbeschriftung
End If End If
ANZ_POS = EZA.eza_WARENPOS.Count ANZ_POS = EZA.eza_WARENPOS.Count
For Each A In EZA.eza_AUFSCHUB For Each A In EZA.eza_AUFSCHUB
If If(A.ezaAfb_AbgabeArt, "") = "B0000" Then If A.ezaAfb_PositionsNummer Is Nothing OrElse A.ezaAfb_PositionsNummer <= 0 Then
ABGABEN_EUST += IIf((A.ezaAfb_PositionsNummer) Is Nothing, CDbl(A.ezaAfb_Abgabenbetrag), 0)
Else If If(A.ezaAfb_AbgabeArt, "") = "B0000" Then
ABGABEN_ZOLL += IIf((A.ezaAfb_PositionsNummer) Is Nothing, CDbl(A.ezaAfb_Abgabenbetrag), 0) ABGABEN_EUST += CDbl(A.ezaAfb_Abgabenbetrag)
Else
ABGABEN_ZOLL += CDbl(A.ezaAfb_Abgabenbetrag)
End If
End If End If
Next Next

View File

@@ -586,10 +586,12 @@ Module Mail
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
For Each r As DataRow In dtParam.Rows For Each r As DataRow In dtParam.Rows
System.Console.WriteLine("OPTION erkannt:" & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("OPTION erkannt:" & dtParam.Rows(0).Item("ms_info"))
System.Console.WriteLine("Auswertung Details gestartet...") System.Console.WriteLine("Auswertung Details gestartet...")
If SendEmail_DiverseKunden(r.Item("ms_an"), r.Item("ms_kundenNr"), von, bis, "DETAILBERICHT", r.Item("ms_cc"), r.Item("ms_bcc"), r.Item("ms_subject"), r.Item("ms_mailtext")) Then If SendEmail_DiverseKunden(r.Item("ms_an"), r.Item("ms_kundenNr"), von, bis, "DETAILBERICHT", r.Item("ms_cc"), r.Item("ms_bcc"), r.Item("ms_subject"), r.Item("ms_mailtext")) Then
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
End If End If

View File

@@ -178,6 +178,7 @@ Partial Class usrctlProcedures
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.Button55 = New System.Windows.Forms.Button() Me.Button55 = New System.Windows.Forms.Button()
Me.Button56 = New System.Windows.Forms.Button()
Me.tbTRStat.SuspendLayout() Me.tbTRStat.SuspendLayout()
Me.TabPage3.SuspendLayout() Me.TabPage3.SuspendLayout()
Me.TabPage1.SuspendLayout() Me.TabPage1.SuspendLayout()
@@ -1688,10 +1689,20 @@ Partial Class usrctlProcedures
Me.Button55.Text = "TEST T1" Me.Button55.Text = "TEST T1"
Me.Button55.UseVisualStyleBackColor = True Me.Button55.UseVisualStyleBackColor = True
' '
'Button56
'
Me.Button56.Location = New System.Drawing.Point(414, 29)
Me.Button56.Name = "Button56"
Me.Button56.Size = New System.Drawing.Size(145, 49)
Me.Button56.TabIndex = 68
Me.Button56.Text = "KARACA"
Me.Button56.UseVisualStyleBackColor = True
'
'usrctlProcedures 'usrctlProcedures
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.Button56)
Me.Controls.Add(Me.Button55) Me.Controls.Add(Me.Button55)
Me.Controls.Add(Me.Button99) Me.Controls.Add(Me.Button99)
Me.Controls.Add(Me.Button43) Me.Controls.Add(Me.Button43)
@@ -1929,4 +1940,5 @@ Partial Class usrctlProcedures
Friend WithEvents btnTCtoVERAEZA_File As Button Friend WithEvents btnTCtoVERAEZA_File As Button
Friend WithEvents cbxCD_Overwrite As CheckBox Friend WithEvents cbxCD_Overwrite As CheckBox
Friend WithEvents Button55 As Button Friend WithEvents Button55 As Button
Friend WithEvents Button56 As Button
End Class End Class

View File

@@ -1,10 +1,12 @@
Imports System.Collections.Generic Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data.OleDb Imports System.Data.OleDb
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.DirectoryServices Imports System.DirectoryServices
Imports System.IO Imports System.IO
Imports System.Net Imports System.Net
Imports System.Net.Mail Imports System.Net.Mail
Imports System.Runtime.InteropServices
Imports System.Text Imports System.Text
Imports System.Xml Imports System.Xml
Imports System.Xml.Serialization Imports System.Xml.Serialization
@@ -15,6 +17,7 @@ Imports DAKOSY_Worker.FreierVerkehrAktVeredelUmwandlung_004
Imports GrapeCity Imports GrapeCity
Imports itextsharp.text.pdf Imports itextsharp.text.pdf
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports Newtonsoft.Json.Linq
Imports PdfSharp.Drawing Imports PdfSharp.Drawing
Imports PdfSharp.Pdf Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.AcroForms Imports PdfSharp.Pdf.AcroForms
@@ -22,7 +25,9 @@ Imports PdfSharp.Pdf.IO
Imports Renci.SshNet Imports Renci.SshNet
Imports TELOTEC_Worker Imports TELOTEC_Worker
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.cOpenAI
Imports VERAG_PROG_ALLGEMEIN.cTelotecAPI Imports VERAG_PROG_ALLGEMEIN.cTelotecAPI
'Imports Microsoft.Office.Interop 'Imports Microsoft.Office.Interop
Public Class usrctlProcedures Public Class usrctlProcedures
@@ -4739,7 +4744,233 @@ OPTION (MAXRECURSION 1000);", "AVISO") '
readT1.TEST(path) readT1.TEST(path)
End Sub End Sub
Private Sub Button56_Click_1(sender As Object, e As EventArgs) Handles Button56.Click
Dim alleArtikel As List(Of ZollArtikelInput) =
LoadArtikelAusExcel("D:\Andreas\Dokumente\KUNDEN\KARACA\Karaca.xlsx")
Dim fromCNTRY As String = "TR"
Dim toCNTRY As String = "DE"
Dim toLAN As String = "DE"
For Each a In alleArtikel
If If(a.tarifnummer_tuerkei, "") = "" Then Continue For
Dim KN8 As New VERAG_PROG_ALLGEMEIN.cTariffKN8_Interface
a.kn8_text = KN8.getKN8FromTNR(a.tarifnummer_tuerkei)
If a.tarifnummer_tuerkei.Length >= 8 AndAlso a.tarifnummer_tuerkei.Length < 11 Then
a.moegliche_eu_tarifnummern =
VERAG_PROG_ALLGEMEIN.cATEZ_Tariff.GetFullTariff(
a.tarifnummer_tuerkei,
fromCNTRY,
toCNTRY,
toLAN
)
End If
If a.moegliche_eu_tarifnummern Is Nothing Then
a.moegliche_eu_tarifnummern = New List(Of String)
End If
If a.moegliche_eu_tarifnummern.Count = 0 AndAlso If(a.kn8_text, "") <> "" Then
a.moegliche_eu_tarifnummern.Add(a.kn8_text)
End If
Next
Dim unternehmensbeschreibung As String =
"Karaca ist ein türkischer Hersteller, Exporteur und international tätiger Handelskonzern für Haushaltswaren, Porzellan, Geschirr, Küchen- und Kochartikel, Glaswaren, Besteck, Elektro-Kleingeräte, Heimtextilien und Wohnaccessoires.
Das Unternehmen entwickelt, produziert und vertreibt Konsumgüter für den privaten Haushalt sowie teilweise für Gastronomie, Hotellerie und Retail. Die Waren werden über eigene Filialen, Onlinehandel, Großhandel und internationale Vertriebspartner in verschiedene Länder verkauft.
Für den Zoll- und Außenhandelsbereich ist Karaca hauptsächlich als Anbieter von Home-&-Kitchen-Produkten einzuordnen. Die Waren betreffen je nach Material und Funktion insbesondere Porzellan-/Keramikwaren, Haushaltswaren, Kochgeschirr, Glaswaren, Besteck, elektrische Küchengeräte und Heimtextilien."
Dim gesamtergebnis As New List(Of String)
Dim blockGroesse As Integer = 200
For i As Integer = 0 To alleArtikel.Count - 1 Step blockGroesse
Dim artikelBlock As List(Of ZollArtikelInput) =
alleArtikel.Skip(i).Take(blockGroesse).ToList()
Dim result As String = askAI_Zolltarif(
unternehmensbeschreibung,
artikelBlock
)
gesamtergebnis.Add(result)
Console.WriteLine(result)
Next
ExportErgebnisNachExcel(alleArtikel, gesamtergebnis, "D:\Andreas\Dokumente\KUNDEN\KARACA\Karaca_Ergebnis.xlsx")
MsgBox("Fertig")
End Sub
Public Shared Function LoadArtikelAusExcel(Datei As String) As List(Of ZollArtikelInput)
Dim artikel As New List(Of ZollArtikelInput)
Dim xlApp As Microsoft.Office.Interop.Excel.Application = Nothing
Dim wb As Microsoft.Office.Interop.Excel.Workbook = Nothing
Dim ws As Microsoft.Office.Interop.Excel.Worksheet = Nothing
Try
xlApp = New Microsoft.Office.Interop.Excel.Application
wb = xlApp.Workbooks.Open(Datei, ReadOnly:=True)
ws = CType(wb.Sheets(1), Microsoft.Office.Interop.Excel.Worksheet)
Dim row As Integer = 2
Do
Dim artikelNr As String = Trim(CStr(ws.Cells(row, 1).Text))
Dim warenbeschreibung As String = Trim(CStr(ws.Cells(row, 2).Text))
Dim tarifnummerTR As String = Trim(CStr(ws.Cells(row, 3).Text)).Replace(".", "").Replace("-", "").Replace(" ", "")
If artikelNr = "" AndAlso warenbeschreibung = "" AndAlso tarifnummerTR = "" Then
Exit Do
End If
artikel.Add(New ZollArtikelInput With {
.artikelnummer = artikelNr,
.kundenwarenbeschreibung = warenbeschreibung,
.tarifnummer_tuerkei = tarifnummerTR,
.kn8_text = "",
.moegliche_eu_tarifnummern = New List(Of String)
})
row += 1
Loop
Finally
If wb IsNot Nothing Then
wb.Close(False)
Marshal.ReleaseComObject(wb)
End If
If ws IsNot Nothing Then
Marshal.ReleaseComObject(ws)
End If
If xlApp IsNot Nothing Then
xlApp.Quit()
Marshal.ReleaseComObject(xlApp)
End If
GC.Collect()
GC.WaitForPendingFinalizers()
End Try
Return artikel
End Function
Public Shared Sub ExportErgebnisNachExcel(
originalArtikel As List(Of ZollArtikelInput),
jsonErgebnisse As List(Of String),
zielDatei As String
)
Dim alleErgebnisse As New JArray()
For Each jsonObj In jsonErgebnisse
Dim arr As JArray = JArray.Parse(jsonObj)
For Each item In arr
alleErgebnisse.Add(item)
Next
Next
Dim xlApp As Microsoft.Office.Interop.Excel.Application = Nothing
Dim wb As Microsoft.Office.Interop.Excel.Workbook = Nothing
Dim ws As Microsoft.Office.Interop.Excel.Worksheet = Nothing
Try
xlApp = New Microsoft.Office.Interop.Excel.Application
wb = xlApp.Workbooks.Add()
ws = CType(wb.Sheets(1), Microsoft.Office.Interop.Excel.Worksheet)
ws.Cells(1, 1).Value = "Artikelnummer"
ws.Cells(1, 2).Value = "Original Warenbeschreibung"
ws.Cells(1, 3).Value = "TR Tarifnummer"
ws.Cells(1, 4).Value = "KN8 Text"
ws.Cells(1, 5).Value = "Mögliche EU Tarifnummern"
ws.Cells(1, 6).Value = "EU TARIC"
ws.Cells(1, 7).Value = "Accuracy EU"
ws.Cells(1, 8).Value = "Warenbezeichnung DE"
ws.Cells(1, 9).Value = "Klassifizierungsgrund EU"
ws.Cells(1, 10).Value = "UK Tarifnummer"
ws.Cells(1, 11).Value = "Accuracy UK"
ws.Cells(1, 12).Value = "Goods Description UK"
ws.Cells(1, 13).Value = "Classification Reason UK"
Dim row As Integer = 2
For Each a In originalArtikel
Dim found As JObject = Nothing
For Each item As JObject In alleErgebnisse
If CStr(item("artikelnummer")) = a.artikelnummer Then
found = item
Exit For
End If
Next
ws.Cells(row, 1).Value = a.artikelnummer
ws.Cells(row, 2).Value = a.kundenwarenbeschreibung
ws.Cells(row, 3).Value = a.tarifnummer_tuerkei
ws.Cells(row, 4).Value = a.kn8_text
'If a.moegliche_eu_tarifnummern IsNot Nothing Then
' ws.Cells(row, 5).Value = String.Join(", ", a.moegliche_eu_tarifnummern)
'End If
If found IsNot Nothing Then
ws.Cells(row, 5).Value = CStr(found("moegliche_eu_tarifnummern"))
ws.Cells(row, 6).Value = CStr(found("tarifnummer_eu"))
ws.Cells(row, 7).Value = CStr(found("accuracy_eu"))
ws.Cells(row, 8).Value = CStr(found("warenbezeichnung_de"))
ws.Cells(row, 9).Value = CStr(found("klassifizierungsgrund_eu"))
ws.Cells(row, 10).Value = CStr(found("tarifnummer_uk"))
ws.Cells(row, 11).Value = CStr(found("accuracy_uk"))
ws.Cells(row, 12).Value = CStr(found("goods_description_uk"))
ws.Cells(row, 13).Value = CStr(found("classification_reason_uk"))
End If
row += 1
Next
ws.Columns.AutoFit()
wb.SaveAs(zielDatei)
Finally
If wb IsNot Nothing Then
wb.Close(False)
Marshal.ReleaseComObject(wb)
End If
If ws IsNot Nothing Then Marshal.ReleaseComObject(ws)
If xlApp IsNot Nothing Then
xlApp.Quit()
Marshal.ReleaseComObject(xlApp)
End If
GC.Collect()
GC.WaitForPendingFinalizers()
End Try
End Sub
'Private Sub Button26_Click(sender As Object, e As EventArgs) 'Private Sub Button26_Click(sender As Object, e As EventArgs)
' For Each d In System.IO.Directory.GetDirectories("\\192.168.0.91\Datenarchiv\DAKOSY\ECHTSYSTEM\Nachrichtendaten_Ablage\2019") ' For Each d In System.IO.Directory.GetDirectories("\\192.168.0.91\Datenarchiv\DAKOSY\ECHTSYSTEM\Nachrichtendaten_Ablage\2019")

View File

@@ -396,7 +396,7 @@ Public Class frmMain
'End If 'End If
If cbxBrg_de2_VeragAG.Checked Then 'DE If cbxBrg_de2_VeragAG.Checked Then 'DE
Dim DE_DIFFERENZ As Double = 3000000 ' UNBEKANNT DIFFENREZ!!! 1000000 + 2000000 (unbekannt??????) Dim DE_DIFFERENZ As Double = 1000000 ' UNBEKANNT DIFFENREZ!!! 1000000 + 2000000 (unbekannt??????)
'DE WOCHE 'DE WOCHE
Dim woche_de2 As Double = BRG.getBrgSumFromFMZOLL_Zabis(Now.AddDays(-6).ToShortDateString, Now.ToShortDateString, "50", "60", brg_DE_NEU) Dim woche_de2 As Double = BRG.getBrgSumFromFMZOLL_Zabis(Now.AddDays(-6).ToShortDateString, Now.ToShortDateString, "50", "60", brg_DE_NEU)

View File

@@ -524,7 +524,7 @@ Public Class frmDYNachrichtenVerarbeitung
'EZA: FreierVerkehrAktVeredelUmwandlung NEU XML 'EZA: FreierVerkehrAktVeredelUmwandlung NEU XML
If Not found AndAlso cGetMsgType.isEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc) Then If Not found AndAlso cGetMsgType.isEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc) Then
Dim bezugsNr = readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc) Dim bezugsNr = readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc, statusTMP)
If bezugsNr <> "" Then If bezugsNr <> "" Then
found = True found = True
End If End If
@@ -5170,7 +5170,7 @@ Public Class frmDYNachrichtenVerarbeitung
End Try End Try
End Function End Function
Function readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc As XmlDocument) As String Function readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF(doc As XmlDocument, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try Try
readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF = "" readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF = ""
Dim sw = New StringWriter() Dim sw = New StringWriter()
@@ -5780,7 +5780,7 @@ Public Class frmDYNachrichtenVerarbeitung
If EZA.SAVE_ALL() Then If EZA.SAVE_ALL() Then
If If(EZA.eza_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05) If If(EZA.eza_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05,,,, statusTMP)
Else Else
readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF = "" readEZA_FreierVerkehrAktVeredelUmwandlungXML_FCFCDF = ""
End If End If