diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index debee27..636694a 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -3,7 +3,6 @@ Imports System.IO Imports System.Net Imports System.Net.Mail Imports ClosedXML.Excel -Imports com.sun.xml.internal.rngom.digested Imports DAKOSY_Worker Imports VERAG_PROG_ALLGEMEIN @@ -52,7 +51,7 @@ Module Mail 'PARAM = "UID_OPS_SYSKA_ABGLEICH" - 'PARAM = "JAHRESABRECHNUNG AG-ZS" + 'PARAM = "BERICHT" '------------------------------------------------------------------------------------ @@ -2581,7 +2580,7 @@ Module Mail ,Absender ,Rechnungsbetrag Betrag ,BelegNr - ,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land + ,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land, Speditionsbuch.[LKW Kennzeichen] FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart where EmpfängerKundenNr IN (" & KdNr & ") and VermittlerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29,38)", "FMZOLL") @@ -2746,39 +2745,90 @@ Module Mail Datei = .Workbooks.Open(Path) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen - Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString - Dim cnt = 3 - For Each r In dt.Rows - Blatt.Range("A" & cnt).Value = cnt - 2 - Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer") - ' Blatt.Range("C" & cnt).Value = r("RechnungsNr") - Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum") - Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung") - Blatt.Range("E" & cnt).Value = r("Absender") - Blatt.Range("F" & cnt).Value = "" 'r("Betrag") - Blatt.Range("H" & cnt).Value = r("BelegNr") + If KUNDE.KundenNr = 902452 Then 'KUNDE WILL WIEDER EXZTAWURST!!!!!!! + + Blatt.Range("H1").Value = von.ToShortDateString & "-" & bis.ToShortDateString + + Blatt.Range("A" & 2).Value = "Nr" + Blatt.Range("B" & 2).Value = "Datum" + Blatt.Range("C" & 2).Value = "MRN-Nr." + Blatt.Range("D" & 2).Value = "LKW/Cont." + Blatt.Range("E" & 2).Value = "Rg.-Nr." + Blatt.Range("F" & 2).Value = "EUST" + Blatt.Range("G" & 2).Value = "Anzahl Pos." + Blatt.Range("H" & 2).Value = "" + Blatt.Range("I" & 2).Value = "" + Blatt.Range("J" & 2).Value = "" + Blatt.Range("K" & 2).Value = "" + Blatt.Range("L" & 2).Value = "" + + Dim cnt = 3 + For Each r In dt.Rows + Blatt.Range("A" & cnt).Value = cnt - 2 + Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") + Blatt.Range("C" & cnt).Value = r("BelegNr") + Blatt.Range("D" & cnt).Value = r("LKW Kennzeichen") + + Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung + Try + Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") + If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then + Blatt.Range("E" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) + Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST + Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.ANZ_POS + If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then + Blatt.Range("E" & cnt).Value = ZOLLANMELDUNG.ATCMRN + End If + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + cnt += 1 + Next + + Else + + + Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung - Try - Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") - If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then - Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.RechnungspreisohneWahrung - Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) - Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL - Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS - If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then - Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN + Dim cnt = 3 + For Each r In dt.Rows + Blatt.Range("A" & cnt).Value = cnt - 2 + Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer") + Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum") + Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung") + Blatt.Range("E" & cnt).Value = r("Absender") + Blatt.Range("F" & cnt).Value = "" 'r("Betrag") + Blatt.Range("H" & cnt).Value = r("BelegNr") + + Try + Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") + If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then + Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.RechnungspreisohneWahrung + Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) + Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL + Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST + Blatt.Range("K" & cnt).Value = ZOLLANMELDUNG.ANZ_POS + + If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then + Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN + End If End If - End If - Catch ex As Exception - MsgBox(ex.Message & ex.StackTrace) - End Try + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + cnt += 1 + Next + + End If - cnt += 1 - Next Datei.Save() .DisplayAlerts = False .quit() diff --git a/MailSender/Resources/Auswertung_divers.xlsx b/MailSender/Resources/Auswertung_divers.xlsx index 0230879..8cbc13d 100644 Binary files a/MailSender/Resources/Auswertung_divers.xlsx and b/MailSender/Resources/Auswertung_divers.xlsx differ diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index b12a872..656b928 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -6,8 +6,6 @@ Imports System.Security.Cryptography.X509Certificates Imports System.Text Imports System.Threading Imports System.Xml -Imports com.sun.xml.internal.rngom -Imports com.sun.xml.internal.rngom.digested Imports MDM_Worker Imports Renci.SshNet Imports VERAG_PROG_ALLGEMEIN @@ -833,26 +831,26 @@ Public Class frmStartOptions End If - Case "CREDITSAFE_EVENTS_DETAIL" + Case "CREDITSAFE_EVENTS_MONTHLY" VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False - Dim upateKunden As Boolean = True - Dim OnlyCurrentMonthData As Boolean = True + Dim upateKunden As Boolean = False + Dim checkDate As Boolean = True Dim setzeInfoImKunden As Boolean = False - Dim sendMail As Boolean = True + Dim sendMail As Boolean = False 'nicht nochmals, oder? - importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail, True) + importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, True) closeMe() - Case "CREDITSAFE_EVENTS" + Case "CREDITSAFE_EVENTS_DAILY" VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False - Dim upateKunden As Boolean = True - Dim OnlyCurrentMonthData As Boolean = True + Dim upateKunden As Boolean = False + Dim checkDate As Boolean = True Dim setzeInfoImKunden As Boolean = False Dim sendMail As Boolean = True - importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail, False) + importCreditsafeEvents(CDate(Today().AddDays(-1)).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, False) closeMe() Case "CREDITSAFE_UPLOADS" @@ -6363,45 +6361,46 @@ weiter: '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - 'WICHTIG, bei companyDetailEventsRequest = true wird gleich Punkt 3 gemacht (dauert länger, aber mehr Datensätze und alle Kunden werden geprüft, bei companyDetailEventsRequest = false wird die u.a. Best Practice-Methode durchgeführt-> also triggerbasierend)!!!! + 'WICHTIG, bei companyDetailEventsRequest = true wird gleich Punkt 3 gemacht (dauert länger, aber mehr Datensätze und alle Kunden werden geprüft, bei companyDetailEventsRequest = false wird die u.a. Best Practice-Methode durchgeführt (Punkt 1 und 2) -> also triggerbasierend)!!!! + 'ANSATZ, bei der täglichen Prüfung die triggerbasierten Abruf, 1x im Monat bzw. wenn spezisches Unternehmen geprüft wird, dann Punkt 3. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Best Practices for Viewing Notification Events '1. Use Portfolio-Specific Events for Targeted Monitoring: Start with the portfolio-specific endpoint to focus on changes relevant to a particular portfolio. '2. Leverage Global Events for a Broader View: Use the all-events endpoint to gain a comprehensive overview of all notifications across your portfolios. - '3. Drill Down to Company-Level Events When Needed: For detailed insights into a specific company, use the company-specific endpoint. + + '3. Drill Down to Company-Level Events WHEN NEEDED: For detailed insights into a specific company, use the company-specific endpoint. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + 'Dim creditsaveOld As String = " + ' select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API' - Dim creditsaveOld As String = " - select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API' - - EXCEPT - - SELECT * FROM ( SELECT ba_KundenNr - FROM tblBonitaetsauskunft - WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datum & "' - - UNION ALL - - SELECT e.KundenNr - FROM ( - SELECT e.KundenNr, - e.eventDate, - 'creditsafe API' AS Source - FROM [VERAG].[dbo].[tblCreditsafeEvents] e - INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b - ON e.bonId = b.ba_id - WHERE b.ba_Pruefungstool = 'creditsafe API' - AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR')) - ) e - WHERE cast(e.eventDate as Date) >= '" & datum & "' - GROUP BY Source, e.KundenNr, cast(e.eventDate as Date) - ) AS Temp" + ' EXCEPT + + ' SELECT * FROM ( SELECT ba_KundenNr + ' FROM tblBonitaetsauskunft + ' WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datum & "' + + ' UNION ALL + + ' SELECT e.KundenNr + ' FROM ( + ' SELECT e.KundenNr, + ' e.eventDate, + ' 'creditsafe API' AS Source + ' FROM [VERAG].[dbo].[tblCreditsafeEvents] e + ' INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b + ' ON e.bonId = b.ba_id + ' WHERE b.ba_Pruefungstool = 'creditsafe API' + ' AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR')) + ' ) e + ' WHERE cast(e.eventDate as Date) >= '" & datum & "' + ' GROUP BY Source, e.KundenNr, cast(e.eventDate as Date) + ' ) AS Temp" @@ -6411,9 +6410,11 @@ weiter: inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr inner join Filialen as f on f.FilialenNr = Kunden.FilialenNr inner join tblBonitaetsauskunft on ba_KundenNr = kde_KundenNr - where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1 AND ba_Pruefungstool = 'creditsafe API'" & IIf(datum <> "", " AND Kunden.Bonitätsdatum <= '" & datum & "'", "") + where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1 AND ba_Pruefungstool = 'creditsafe API'" & IIf(datum <> "", " AND Kunden.Bonitätsdatum <= '" & datum & "' ", "") - 'KundenNr und Firma + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + creditsave &= " AND ba_Kundennr in (701809, 1096780)" + End If Dim cs = New cCreditSafeAPI("creditsafe") @@ -6472,11 +6473,6 @@ repeatRequestDailyPages: End If - If False Then - creditsave &= " and (ba_KundenNr = 718137 or ba_KundenNr = 1003418)" - End If - - Dim dtRechnungen As DataTable = (New SQL).loadDgvBySql("select distinct(RechnungsKundenNr) from Rechnungsausgang where cast(RechnungsDatum as Date) >= ' " & Today().AddYears(-2) & "' ", "FMZOLL") Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL") @@ -6529,7 +6525,7 @@ repeatRequestDailyPages: repeatRequest: Dim APIText As String = "" If exists Then - APIText = cs.getCompanyEvents(company, dt, False, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years, row("Firma")) + APIText = cs.getCompanyEventsDetails(company, dt, checkDate, upateKunden, False, , setzeKundenbesonderheiten, Mailinfolast2Years, row("Firma")) End If If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then