Mitarbeiter, Creditsafe-Infos, etc.

This commit is contained in:
2025-09-24 15:36:50 +02:00
parent 3ecdb6a9e5
commit f4dcfa7592
3 changed files with 75 additions and 31 deletions

View File

@@ -6,6 +6,7 @@ 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
@@ -6391,19 +6392,27 @@ weiter:
inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr
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 = 725398"
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 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))
If cs.authenticate() = "200" Then
@@ -6421,8 +6430,9 @@ 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
Dim exists As Boolean = dtRechnungen.AsEnumerable().Any(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KUNDE_ERW.kde_KundenNr)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
Mailinfolast2Years = True
Else
@@ -6431,17 +6441,50 @@ weiter:
End If
Dim APIText As String = cs.getCompanyEvents(company, dt, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years)
Dim APIText As String = ""
If exists Then
APIText = cs.getCompanyEvents(company, dt, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years)
End If
If APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler") Then
Dim API = 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", "CS")
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then
Dim API = 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", "CS",, KUNDE_ERW.kde_KundenNr)
API.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
Exit For
If APIText.Contains("Not Found") AndAlso APIText.Contains(KUNDE_ERW.kde_CreditSaveId) Then
Dim R As DataRow = dt_fehlendeCreditsafeIDS.NewRow
R("KundenNr") = KUNDE_ERW.kde_KundenNr
R("Creditsafe-ID") = KUNDE_ERW.kde_CreditSaveId
R("Creditsafe-NO") = KUNDE_ERW.kde_CreditSaveNo
dt.Rows.Add(R)
KUNDE_ERW.kde_CreditSaveId = ""
KUNDE_ERW.SAVE()
End If
If APIText.Contains("Invalid token") Then
If Not cs.authenticate() = 200 Then
API.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
Exit For
Else
Thread.Sleep(4000)
End If
End If
End If
Thread.Sleep(1000)
Next
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)
End If
End If
End If
End Sub