From abcd0dfeacf8f23ddcec43c2c649fc4acc72f224 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Fri, 12 May 2023 10:27:01 +0200 Subject: [PATCH] AlphaTauri Auswertung - Basis, DY Status TimeStamp Korr. --- DAKOSY_Worker/cDakosy_Statusmeldungen.vb | 3 +- MailSender/MAILSender.vb | 178 +++++++++++++++++- .../frmDYNachrichtenVerarbeitung.vb | 8 +- 3 files changed, 182 insertions(+), 7 deletions(-) diff --git a/DAKOSY_Worker/cDakosy_Statusmeldungen.vb b/DAKOSY_Worker/cDakosy_Statusmeldungen.vb index b5b5c50..222c1b1 100644 --- a/DAKOSY_Worker/cDakosy_Statusmeldungen.vb +++ b/DAKOSY_Worker/cDakosy_Statusmeldungen.vb @@ -55,7 +55,8 @@ Public Class cDakosy_Statusmeldungen Dim STATUS As New cDakosy_Statusmeldungen Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL 'Primär wird nach erg_datum geprüft! - Dim cntNewerTrans As Integer = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & BezugsNr & "' and isnull(isnull([dySt_ergZeitpunkt],dySt_DakosyTransaktionsDatum),[dySt_ts])> '" & ergDate & "' AND [dySt_status] > 5 ", "FMZOLL") + 'Dim cntNewerTrans As Integer = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & BezugsNr & "' and isnull(isnull([dySt_ergZeitpunkt],dySt_DakosyTransaktionsDatum),[dySt_ts])> '" & ergDate & "' AND [dySt_status] > 5 ", "FMZOLL") + Dim cntNewerTrans As Integer = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & BezugsNr & "' and cast(isnull(isnull(dySt_DakosyTransaktionsDatum,[dySt_ergZeitpunkt]),[dySt_ts]) as datetime)> '" & ergDate & "' AND [dySt_status] > 5 ", "FMZOLL") ' AND [dySt_status] > 5 --> Weil bei den 5er Status keine korrekte Zeitangabe vorliegt und die hoheren Staten sind immer danach. ' MsgBox("SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & BezugsNr & "' and isnull([dySt_ergZeitpunkt],dySt_DakosyTransaktionsDatum)> '" & ergDate & "'" & " - " & cntNewerTrans & " - " & BezugsNr) diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index 1434af1..130b7b3 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -67,7 +67,8 @@ Module Mail 'Exit Sub - + PARAM = "THYSSENKRUPP_AUSWERTUNG" + PARAM = "RED_BULL" '------------------------------------------------------------------------------------ ' PARAM = "NCTSLIST_TOBB" @@ -127,17 +128,17 @@ Module Mail End If Case "KD_TR_OP5000" System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000 _ Erstellt eine Liste türkischer Kunden und versendet diese an Mestan und Bahadir.") - If SendEmail_OP5000("VERAG", "'TR'", {"mestan@verag.ag", "as@verag.ag"}, {"verimex@verimex360.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen") Then + If SendEmail_OP5000("VERAG", "'TR'", {"mestan@verag.ag", "as@verag.ag"}, {"finans@verimextransit.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "KD_TR_OP5000_ATILLA" System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_ATILLA _ Erstellt eine Liste türkischer Kunden von ATILLA.") - If SendEmail_OP5000("ATILLA", "'TR'", {"verimex@verimex360.com"}, {}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - ATILLA") Then + If SendEmail_OP5000("ATILLA", "'TR'", {"finans@verimextransit.com"}, {}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - ATILLA") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "KD_TR_OP5000_IMEX" System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_IMEX _ Erstellt eine Liste türkischer Kunden von IMEX.") - If SendEmail_OP5000("IMEX", "'TR'", {"mario.hoefer@imex-group.at"}, {"viktoria.leirich@imex-group.at", "verimex@verimex360.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - IMEX") Then + If SendEmail_OP5000("IMEX", "'TR'", {"mario.hoefer@imex-group.at"}, {"viktoria.leirich@imex-group.at", "finans@verimextransit.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - IMEX") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "KD_OP_Kreditlimit" @@ -184,6 +185,26 @@ Module Mail MsgBox(ex.Message) End Try End If + Case "THYSSENKRUPP_AUSWERTUNG" + Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) + Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) + + Dim EORI As String = "DE2841711" + System.Console.WriteLine("OPTION erkannt: THYSSENKRUPP_AUSWERTUNG _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für THYSSENKRUPP.") + System.Console.WriteLine("Auswertung Details gestartet...") + If SendEmail_THYSSENKRUPP_AUSWERTUNG("al@verag.ag", EORI, von, bis) Then 'für Andreas Details + System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") + End If + Case "RED_BULL" + Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) + Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) + + Dim KdNr As String = "756313" + System.Console.WriteLine("OPTION erkannt: RED_BULL _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für RED_BULL.") + System.Console.WriteLine("Auswertung Details gestartet...") + If SendEmail_RED_BULL("al@verag.ag", KdNr, von, bis) Then 'für Andreas Details + System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") + End If Case "QS_AUFTEILUNG" System.Console.WriteLine("OPTION erkannt: QS_AUFTEILUNG _ Erstellt die Auswertung der QS-AUFTEILUNG.") System.Console.WriteLine("Auswertung gestartet...") @@ -463,6 +484,78 @@ Module Mail Return False End Function + Private Function SendEmail_THYSSENKRUPP_AUSWERTUNG(Mailto As String, EORI As String, von As Date, bis As Date) As Boolean + Try + Dim excel As String = genEXCEL_THYSSENKRUPP(EORI, von, bis) + System.Console.WriteLine("EXCEL erstellt...") + If excel <> "" And Not excel.StartsWith("ERROR: ") Then + + System.Console.WriteLine("Sende E-Mail...") + + Dim Subject = "Auswertungen Zollanmeldungen EORI " & EORI + Dim Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & + "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & + "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & + "

VERAG SPEDITION AG" + + + Dim anhenge As New List(Of String) + anhenge.Add(excel) + If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "al@verag.ag", anhenge) Then + System.Console.WriteLine("E-Mail gesendet.") + System.Console.WriteLine("Erfolgreich!") + Else + System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!") + + End If + + Return True + Else + System.Console.WriteLine(excel) + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + System.Console.WriteLine(ex.Message & ex.StackTrace) + Return False + End Try + End Function + + Private Function SendEmail_RED_BULL(Mailto As String, KdNr As String, von As Date, bis As Date) As Boolean + Try + Dim excel As String = genEXCEL_RED_BULL(KdNr, von, bis) + System.Console.WriteLine("EXCEL erstellt...") + If excel <> "" And Not excel.StartsWith("ERROR: ") Then + + System.Console.WriteLine("Sende E-Mail...") + + Dim Subject = "Auswertungen Zollanmeldungen Aplha Tauri " + Dim Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & + "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & + "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & + "

VERAG SPEDITION AG" + + + Dim anhenge As New List(Of String) + anhenge.Add(excel) + If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "al@verag.ag", anhenge) Then + System.Console.WriteLine("E-Mail gesendet.") + System.Console.WriteLine("Erfolgreich!") + Else + System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!") + + End If + + Return True + Else + System.Console.WriteLine(excel) + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + System.Console.WriteLine(ex.Message & ex.StackTrace) + Return False + End Try + End Function + Private Function SendEmail_BRG_Auswertung(Optional wochenAuswertung As Boolean = False, Optional details As Boolean = False) As Boolean Dim Msg As New MailMessage Dim myCredentials As New System.Net.NetworkCredential @@ -1206,6 +1299,83 @@ Module Mail End Try End Function + + + Public Function genEXCEL_THYSSENKRUPP(EORI As String, von As Date, bis As Date) As String + Try + + Dim sqlstr As String = "" + + sqlstr &= " SELECT /*eza_id, eza_dyaAnmID,*/cast(eza_Trans_DatumZeit as date) as Datum,eza_ANR as Registriernummer, " + + sqlstr &= " (SELECT [tblDakosy_EZA_Adressen].ezaAd_NameFirma1 FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') Absender , " + sqlstr &= " (SELECT [tblDakosy_EZA_Adressen].ezaAd_LandCode FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') AbsenderLand, " + sqlstr &= " ezaWP_UrsprungslandCode Ursprungsland, " + + sqlstr &= " ezaWP_PositionsNummer as PositionsNummer, " + sqlstr &= " tblDakosy_EZA_Warenposition.ezaWP_WarennummerEZT TarifnummerEZT, " + sqlstr &= " tblDakosy_EZA_Warenposition.ezaWP_Artikelpreis Artikelpreis, " + sqlstr &= " CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN [ezaAfb_Abgabenbetrag] ELSE 0 END) ELSE '' END EUST, " + sqlstr &= " CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN 0 ELSE [ezaAfb_Abgabenbetrag] END) ELSE '' END ZOLL, " + sqlstr &= " ezaWP_PackstueckAnzahl PackstueckAnzahl, " + sqlstr &= " sum(tblDakosy_EZA_Warenposition.ezaWP_Eigenmasse) Eigenmasse,/* sum(tblDakosy_EZA_Warenposition.ezaWP_Rohmasse) Rohmasse, */ " + + sqlstr &= " max(tblDakosy_EZA_Warenposition.ezaWP_Warenbezeichnung )Warenbezeichnung " + + sqlstr &= " FROM [VERAG].[dbo].[tblDakosy_EZA] inner join tblDakosy_EZA_Warenposition on ezaWP_EzaId=eza_Id " + sqlstr &= " inner join tblDakosy_EZA_Aufschub on [ezaAfb_EZAId]=eza_Id " + sqlstr &= " where (SELECT count(*) FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId AND ezaAd_TeilnehmerEORI = '" & EORI & "' and ezaAd_AdressTyp='CN')>0 " + + sqlstr &= " and eza_Trans_DatumZeit between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " + sqlstr &= " and eza_status BETWEEN 60 and 60 " + sqlstr &= " group by eza_id,eza_dyaAnmID,eza_ANR,ezaWP_PositionsNummer,eza_Trans_DatumZeit,ezaWP_UrsprungslandCode ,ezaWP_WarennummerEZT,ezaWP_Artikelpreis,ezaWP_ArtikelpreisWaehrung,ezaWP_PackstueckAnzahl " + + + + Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) + + + Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt, {"H:I"},,,, False, "Zollanmeldungen_" & EORI & "_" & von.ToShortDateString & "-" & bis.ToShortDateString) + If filepath = "" Then Return "ERROR 01: Fehler beim Erzeugen des XLS." + + Return filepath + Catch ex As System.Exception + ' MsgBox(ex.Message) + Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace + End Try + + End Function + + Public Function genEXCEL_RED_BULL(KdNr As String, von As Date, bis As Date) As String + Try + + Dim sqlstr As String = "" + + sqlstr &= " SELECT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + + sqlstr &= " " + sqlstr &= " " + sqlstr &= " " + sqlstr &= " " + sqlstr &= " " + sqlstr &= " " + + + + Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) + + + Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt, {"H:I"},,,, False, "Zollanmeldungen_" & EORI & "_" & von.ToShortDateString & "-" & bis.ToShortDateString) + If filepath = "" Then Return "ERROR 01: Fehler beim Erzeugen des XLS." + + Return filepath + Catch ex As System.Exception + ' MsgBox(ex.Message) + Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace + End Try + + End Function + Private Sub releaseObject(ByVal obj As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index 51584ea..e3200c6 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -140,7 +140,11 @@ Public Class frmDYNachrichtenVerarbeitung client.Disconnect() End Using Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) + If ex.Message.Contains("connection was aborted by the server") Then + Else + + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End If End Try Return cnt @@ -7736,6 +7740,7 @@ Public Class frmDYNachrichtenVerarbeitung ' If EZA.EinzelAbgabenbescheid.KopfDaten.Registrierdatum IsNot Nothing Then regDat = EZA.EinzelAbgabenbescheid.KopfDaten.Registrierdatum 'End If + If EZA.EinzelAbgabenbescheid.KopfDaten.AbgabenNachArt IsNot Nothing AndAlso EZA.EinzelAbgabenbescheid.KopfDaten.AbgabenNachArt.Count > 0 Then Dim a As New DAKOSY_Worker.cDakosy_EZA_Aufschub AUFSCHUB = New List(Of DAKOSY_Worker.cDakosy_EZA_Aufschub) @@ -7749,7 +7754,6 @@ Public Class frmDYNachrichtenVerarbeitung a.ezaAfb_Abgabenbetrag = ABG.Abgabenbetrag a.ezaAfb_AbgabeArt = ABG.AbgabeArt a.AufschubnehmerName = ABG.AufschubnehmerName - 'Select Case AbgabeArt ' Case "B0000" 'EUST ' Case "B0000" 'EUST