creditsafe, IDS, etc.

This commit is contained in:
2025-09-30 15:07:34 +02:00
parent 2cd1a9df80
commit 3ab0138792
4 changed files with 240 additions and 179 deletions

View File

@@ -571,7 +571,7 @@ Public Class cCreditSafeAPI
dtEvents.Rows.Add(R)
createEvents(R, company.kdNr, company, CL, CR, CL_Datum, CR_Datum)
createEvents(R, company.kdNr, company, CL, CR, CL_Datum, CR_Datum, "ED")
j = j + 1
End While
@@ -668,7 +668,6 @@ Public Class cCreditSafeAPI
'------------------------------- ALLE KUNDEN
Dim checkDate As String = ""
If company IsNot Nothing AndAlso IsDate(company.lastChecked) Then
@@ -833,7 +832,7 @@ Public Class cCreditSafeAPI
company.csBonID = currentBonID
End If
createEvents(R, company.kdNr, company, CL, CR, CL_Datum, CR_Datum)
createEvents(R, company.kdNr, company, CL, CR, CL_Datum, CR_Datum, "E")
Next
@@ -917,55 +916,51 @@ Public Class cCreditSafeAPI
Dim riskClassChanged As Boolean = False
Dim KUNDE_ERW As New cKundenErweitert(KUNDE.KundenNr)
If company.kdNr = 762207 Then
MsgBox("Hier")
End If
If Not (ADR.LandKz = "AT" Or ADR.LandKz = "A") Then 'bei nicht österr. den Index nehmen, sonst den Score
Index = IIf(CR = defaultCL, -1, calculatedBonIndexFromBonScore(CR, riskClass))
Else
If CR <> defaultCL Then calculatedBonIndexFromBonScore(CR, riskClass)
End If
If Index <> -1 Then
If KUNDE_ERW.kde_CreditSaveBonitaetsIndex <> Index Then
createInfo("B-INDEX", KUNDE_ERW, KUNDE, Index, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE_ERW.kde_CreditSaveBonitaetsIndex = Index
KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass
KUNDE.Bonitätsdatum = Today()
End If
Else
If KUNDE_ERW.kde_CreditSaveBonitaetsScore <> CR AndAlso CR <> defaultCR Then
createInfo("B-SCORE", KUNDE_ERW, KUNDE, CR, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE_ERW.kde_CreditSaveBonitaetsScore = CR
KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass
KUNDE.Bonitätsdatum = Today()
End If
End If
If KUNDE.Höchstkredit <> CL AndAlso CL <> defaultCL Then
createInfo("KREDITLIMIT", KUNDE_ERW, KUNDE, CL, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE.Höchstkredit = CL
If KUNDE.Bonitätsdatum <= CDate(CL_Datum) Then
KUNDE.Bonitätsdatum = Today()
End If
End If
If company.BANKRUPT_REGISTERED AndAlso Not MailText.Contains("FÜR INSOLVENT ERKLÄRT") Then
createInfo("BANKRUPT_REGISTERED", KUNDE_ERW, KUNDE, CL, riskClass, MailText, triggerMail, setzeKundenbesonderheiten, company)
KUNDE_ERW.kde_CSinsolventAm = company.BANKRUPT_REGISTERED_DATE
End If
If updateKunden Then KUNDE_ERW.SAVE()
Index = IIf(CR = defaultCL, -1, calculatedBonIndexFromBonScore(CR, riskClass))
Else
If CR <> defaultCL Then calculatedBonIndexFromBonScore(CR, riskClass)
End If
If updateKunden Then KUNDE.SAVE()
If Index <> -1 Then
If KUNDE_ERW.kde_CreditSaveBonitaetsIndex <> Index Then
createInfo("B-INDEX", KUNDE_ERW, KUNDE, Index, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE_ERW.kde_CreditSaveBonitaetsIndex = Index
KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass
KUNDE.Bonitätsdatum = Today()
End If
Else
If KUNDE_ERW.kde_CreditSaveBonitaetsScore <> CR AndAlso CR <> defaultCR Then
createInfo("B-SCORE", KUNDE_ERW, KUNDE, CR, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE_ERW.kde_CreditSaveBonitaetsScore = CR
KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass
KUNDE.Bonitätsdatum = Today()
End If
End If
If KUNDE.Höchstkredit <> CL AndAlso CL <> defaultCL Then
createInfo("KREDITLIMIT", KUNDE_ERW, KUNDE, CL, riskClass, MailText, triggerMail, setzeKundenbesonderheiten)
KUNDE.Höchstkredit = CL
If KUNDE.Bonitätsdatum <= CDate(CL_Datum) Then
KUNDE.Bonitätsdatum = Today()
End If
End If
If company.BANKRUPT_REGISTERED AndAlso Not MailText.Contains("FÜR INSOLVENT ERKLÄRT") Then
createInfo("BANKRUPT_REGISTERED", KUNDE_ERW, KUNDE, CL, riskClass, MailText, triggerMail, setzeKundenbesonderheiten, company)
KUNDE_ERW.kde_CSinsolventAm = company.BANKRUPT_REGISTERED_DATE
End If
If updateKunden Then KUNDE_ERW.SAVE()
End If
If updateKunden Then KUNDE.SAVE()
End If
End Sub
Private Shared Sub createEvents(R As DataRow, KundeNr As Integer, company As Company, ByRef CL As Integer, ByRef CR As Integer, ByRef CL_Datum As Date, ByRef CR_Datum As Date)
Private Shared Sub createEvents(R As DataRow, KundeNr As Integer, company As Company, ByRef CL As Integer, ByRef CR As Integer, ByRef CL_Datum As Date, ByRef CR_Datum As Date, ByRef Importtype As String)
Dim cEvent As New cCreditsafeEvent(CLng(R("eventId")), KundeNr)
@@ -975,13 +970,18 @@ Public Class cCreditSafeAPI
globaleventcode = R("globalEventCode").trim()
ElseIf Not IsDBNull(R("localEventCode")) Then
Select Case R("localEventCode").trim()
Case "DECREASE_LIMIT", "INCREASE_LIMIT" : globaleventcode = "CL"
Case "DECREASE_RATING", "INCREASE_RATING" : globaleventcode = "CR"
Case "DECREASE_LIMIT", "INCREASE_LIMIT", "CL" : globaleventcode = "CL"
Case "DECREASE_RATING", "INCREASE_RATING", "CR" : globaleventcode = "CR"
Case "55" : If R("companyId").ToString.StartsWith("NL") Then globaleventcode = "CR" 'nur Holland!
Case "56" : If R("companyId").ToString.StartsWith("NL") Then globaleventcode = "CL" 'nur Holland!
End Select
End If
If globaleventcode = "" Then
If Not IsDBNull(R("ruleName")) AndAlso R("ruleName").ToString.Contains("Limit") Then globaleventcode = "CL"
If Not IsDBNull(R("ruleName")) AndAlso R("ruleName").ToString.Contains("International Score") Then globaleventcode = "CR"
End If
cEvent.eventId = R("eventId")
cEvent.companyId = R("companyId")
@@ -1057,8 +1057,12 @@ Public Class cCreditSafeAPI
cEvent.bonId = company.csBonID
End If
cEvent.kundenNr = company.kdNr
cEvent.SAVE()
'cEvent.kundenNr = company.kdNr
'die Events sind besser strukturiert als die EventDetails, somit soll ein bereits bestehender Eintrag der über die Events importiert werden nicht von einem Eventdetail überschrieben werden!!!
If Not (cEvent.hasEntry AndAlso Importtype = "ED") Then
cEvent.SAVE()
End If
End Sub
@@ -1822,9 +1826,9 @@ Public Class cCreditSafeAPI
LOAD()
End Sub
Sub New(eventId, kundenNr) 'zwei unterschiedliche KundenNr können dieselbe eventID besitzen (weil bei uns alles tlw. doppelt angelegt ist!!!!!)
Me.eventId = eventId
kundenNr = kundenNr
Sub New(eventId_, kundenNr_) 'zwei unterschiedliche KundenNr können dieselbe eventID besitzen (weil bei uns alles tlw. doppelt angelegt ist!!!!!)
Me.eventId = eventId_
kundenNr = kundenNr_
LOADKDNR()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)