StartOpt
This commit is contained in:
@@ -833,6 +833,17 @@ Public Class frmStartOptions
|
||||
End If
|
||||
|
||||
|
||||
Case "CREDITSAFE_EVENTS_DETAIL"
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
||||
|
||||
Dim upateKunden As Boolean = True
|
||||
Dim OnlyCurrentMonthData 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, True)
|
||||
closeMe()
|
||||
|
||||
Case "CREDITSAFE_EVENTS"
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
||||
|
||||
@@ -841,7 +852,7 @@ Public Class frmStartOptions
|
||||
Dim setzeInfoImKunden As Boolean = False
|
||||
Dim sendMail As Boolean = True
|
||||
|
||||
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail)
|
||||
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail, False)
|
||||
closeMe()
|
||||
|
||||
Case "CREDITSAFE_UPLOADS"
|
||||
@@ -6341,23 +6352,29 @@ weiter:
|
||||
End If
|
||||
|
||||
|
||||
importCreditsafeEvents(datumString, cbCheckDate.Checked, bcxKundendatenaktCS.Checked, cbxKundenbesonderheitenCS.Checked, cbxMailsenden.Checked)
|
||||
importCreditsafeEvents(datumString, cbCheckDate.Checked, bcxKundendatenaktCS.Checked, cbxKundenbesonderheitenCS.Checked, cbxMailsenden.Checked, Not cbxEventtriggered.Checked)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub importCreditsafeEvents(datum As String, checkDate As Boolean, upateKunden As Boolean, setzeKundenbesonderheiten As Boolean, sendMail As Boolean)
|
||||
Private Sub importCreditsafeEvents(datum As String, checkDate As Boolean, upateKunden As Boolean, setzeKundenbesonderheiten As Boolean, sendMail As Boolean, companyDetailEventsRequest As Boolean)
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
'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)!!!!
|
||||
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
'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.
|
||||
'4. Verify Enabled Rules: Ensure that the appropriate event rules are enabled for your portfolios to capture the desired notifications. Refer to the Activate Event Rules section for guidance.
|
||||
|
||||
'aktuell machem wir gleich Punkt 3 (damit haben wir alle Informationen), das verursacht allerdings sehr viele API-Aurfrufe, besser nach dem Best Practice oben!
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
Dim creditsaveOld As String = "
|
||||
@@ -6388,33 +6405,102 @@ weiter:
|
||||
|
||||
|
||||
|
||||
Dim creditsave As String = "select distinct(ba_KundenNr) from Kunden
|
||||
|
||||
|
||||
Dim creditsave As String = "select distinct(ba_KundenNr),f.Firma from Kunden
|
||||
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 & "'", "")
|
||||
|
||||
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")
|
||||
|
||||
If dtCreditsafe.Rows.Count = 0 Then Exit Sub
|
||||
|
||||
'KundenNr und Firma
|
||||
|
||||
Dim cs = New cCreditSafeAPI("creditsafe")
|
||||
|
||||
Dim dt_fehlendeCreditsafeIDS As New DataTable
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("KundenNr", GetType(String))
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-ID", GetType(String))
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-NO", GetType(String))
|
||||
|
||||
Dim Mailinfolast2Years As Boolean = False
|
||||
|
||||
If cs.authenticate() = "200" Then
|
||||
|
||||
If Not companyDetailEventsRequest Then
|
||||
|
||||
Dim API_Start_Daily = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "DAiLY-CREDITSAFE-EVENTS-IMPORT", "CS")
|
||||
|
||||
Dim dtMonitoredRequest As New DataTable
|
||||
|
||||
Dim companyDummy As New cCreditSafeAPI.Company("", "", "", "", "", "", Nothing, "", "", "", "", "", "", "", "", "", 0)
|
||||
If txtCSDate.Text <> "" AndAlso IsDate(txtCSDate.Text) Then
|
||||
companyDummy.lastChecked = CDate(txtCSDate.Text)
|
||||
End If
|
||||
repeatRequestDaily:
|
||||
Dim page As Integer = 0
|
||||
Dim totalPages As Integer = -1
|
||||
|
||||
Dim APIText = cs.getCompanyEvents(companyDummy, dtMonitoredRequest, False, totalPages, checkDate, upateKunden, False,, setzeKundenbesonderheiten, True,, page)
|
||||
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "dailyImportCreditsafeEvents")
|
||||
|
||||
If APIText.Contains("Invalid token") Then
|
||||
If Not cs.authenticate() = 200 Then
|
||||
API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
|
||||
Exit Sub
|
||||
Else
|
||||
Thread.Sleep(4000)
|
||||
GoTo repeatRequestDaily
|
||||
End If
|
||||
End If
|
||||
|
||||
If totalPages > 1 Then
|
||||
For i = 2 To totalPages
|
||||
repeatRequestDailyPages:
|
||||
APIText = cs.getCompanyEvents(companyDummy, dtMonitoredRequest, False, totalPages, checkDate, upateKunden, False,, setzeKundenbesonderheiten, True,, i)
|
||||
If APIText.Contains("Invalid token") Then
|
||||
If Not cs.authenticate() = 200 Then
|
||||
API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "dailyImportCreditsafeEvents")
|
||||
Exit For
|
||||
Else
|
||||
Thread.Sleep(4000)
|
||||
GoTo repeatRequestDailyPages
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Exit Sub
|
||||
|
||||
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")
|
||||
|
||||
If dtCreditsafe.Rows.Count = 0 Then Exit Sub
|
||||
|
||||
Dim countMissingVerag As Integer = 0
|
||||
Dim countMissingIMEX As Integer = 0
|
||||
Dim countMissingUNISPED As Integer = 0
|
||||
Dim countMissingAMBAR As Integer = 0
|
||||
|
||||
Dim dt_fehlendeCreditsafeIDS As New DataTable
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("KundenNr", GetType(String))
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-ID", GetType(String))
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-NO", GetType(String))
|
||||
dt_fehlendeCreditsafeIDS.Columns.Add("Firma", GetType(String))
|
||||
|
||||
|
||||
|
||||
Dim counter As Integer = 0
|
||||
Dim API_Start = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "CREDITSAFE-EVENTS-IMPORT", "CS")
|
||||
If dtCreditsafe.Rows.Count = 0 Then
|
||||
API_Start.UPDTAE_ERR("ERROR - KEINE DATEN", "Anzahl abgefragte Datensätze:" & dtCreditsafe.Rows.Count & " Anzahl importierte Datensätze:" & counter & " Anzahl fehlende Creditsafe-IDs:" & dt_fehlendeCreditsafeIDS.Rows.Count, "importCreditsafeEvents")
|
||||
End If
|
||||
|
||||
For Each row As DataRow In dtCreditsafe.Rows
|
||||
|
||||
@@ -6429,7 +6515,7 @@ weiter:
|
||||
|
||||
If currentBonID > 0 Then company.csBonID = currentBonID
|
||||
Dim dt As New DataTable()
|
||||
Dim Mailinfolast2Years As Boolean = False
|
||||
|
||||
Dim exists As Boolean = dtRechnungen.AsEnumerable().Any(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KUNDE_ERW.kde_KundenNr)
|
||||
If sendMail Then
|
||||
|
||||
@@ -6440,10 +6526,10 @@ weiter:
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
repeatRequest:
|
||||
Dim APIText As String = ""
|
||||
If exists Then
|
||||
APIText = cs.getCompanyEvents(company, dt, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years)
|
||||
APIText = cs.getCompanyEvents(company, dt, False, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years, row("Firma"))
|
||||
End If
|
||||
|
||||
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then
|
||||
@@ -6455,7 +6541,18 @@ weiter:
|
||||
R("KundenNr") = KUNDE_ERW.kde_KundenNr
|
||||
R("Creditsafe-ID") = KUNDE_ERW.kde_CreditSaveId
|
||||
R("Creditsafe-NO") = KUNDE_ERW.kde_CreditSaveNo
|
||||
dt.Rows.Add(R)
|
||||
R("Firma") = row("Firma")
|
||||
dt_fehlendeCreditsafeIDS.Rows.Add(R)
|
||||
|
||||
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||
Select Case row(FIRMA)
|
||||
Case "VERAG" : countMissingVerag += 1
|
||||
Case "IMEX" : countMissingIMEX += 1
|
||||
Case "AMBAR" : countMissingAMBAR += 1
|
||||
Case "UNISPED" : countMissingUNISPED += 1
|
||||
End Select
|
||||
End If
|
||||
|
||||
|
||||
KUNDE_ERW.kde_CreditSaveId = ""
|
||||
KUNDE_ERW.SAVE()
|
||||
@@ -6467,21 +6564,38 @@ weiter:
|
||||
Exit For
|
||||
Else
|
||||
Thread.Sleep(4000)
|
||||
GoTo repeatRequest
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
counter += 1
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Thread.Sleep(1000)
|
||||
Next
|
||||
|
||||
If dtCreditsafe.Rows.Count = (counter - dt_fehlendeCreditsafeIDS.Rows.Count) Then
|
||||
API_Start.UPDTAE_OK()
|
||||
Else
|
||||
API_Start.UPDTAE_ERR("IMPORT UNVOLLSTÄNDIG", "Anzahl abgefragte Datensätze:" & dtCreditsafe.Rows.Count & " Anzahl importierte Datensätze:" & counter & " Anzahl fehlende Creditsafe-IDs:" & dt_fehlendeCreditsafeIDS.Rows.Count, "importCreditsafeEvents")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If dt_fehlendeCreditsafeIDS.Rows.Count > 0 Then
|
||||
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_fehlendeCreditsafeIDS,,,,, False)
|
||||
If filepath <> "" Then
|
||||
Dim anhenge As New List(Of String)
|
||||
anhenge.Add(filepath)
|
||||
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", "as@verag.ag"), IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "CREDITSAFE - fehlende CS-IDs", "Im Anhang befinden sich eine Liste der Kunden, deren Creditsafe-ID ungültig sind/nicht gefunden wurden!" & "<br><br>" & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge)
|
||||
Dim empfaneger As String = ""
|
||||
If countMissingVerag > 0 Then empfaneger &= "as@verag.ag;"
|
||||
If countMissingIMEX > 0 Then empfaneger &= "Viktoria.Leirich@imex-group.at;"
|
||||
If countMissingUNISPED > 0 Then empfaneger &= "sabine.muehlboeck@unisped.at;"
|
||||
If countMissingAMBAR > 0 Then empfaneger &= "Buchhaltung@ambarlog.com;"
|
||||
If empfaneger <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "CREDITSAFE - fehlende CS-IDs", "Im Anhang befinden sich eine Liste der Kunden, deren Creditsafe-ID ungültig sind/nicht gefunden wurden!" & "<br><br>" & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Reference in New Issue
Block a user