Creditsafe Verbesserungen, Mehrfach-UID-Verwendung eingebaut.

This commit is contained in:
2023-04-24 13:14:35 +02:00
parent 9519d0612a
commit b4bb2a04a6
6 changed files with 2155 additions and 2128 deletions

View File

@@ -144,7 +144,7 @@ Public Class cAdressen
Dim kundenNameUID = ""
Function VALID(ByRef ERROR_TXT, KD) As Boolean
Function VALID(ByRef ERROR_TXT As String, KD As cKunde, Optional ByVal UIDMehfachverwendung As Boolean = False) As Boolean
If If(Ordnungsbegriff, "") = "" Then ERROR_TXT = "Bitte geben Sie einen Ordnungsbegriff ein!" : Return False
If If(Name_1, "") = "" Then ERROR_TXT = "Bitte geben Sie den Firmenwortlaut ein!" : Return False
If If(LandKz, "") = "" Then ERROR_TXT = "Bitte geben Sie das Land an!" : Return False
@@ -153,18 +153,18 @@ Public Class cAdressen
If If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False
If Not hasEntry Then
'Prüfung Neuanlage: Nur Hinweismeldung! -> speichern soll trotzdem möglich sein!
If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return True
If checkUID(KD, kundenNameUID, UIDMehfachverwendung) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
Else
Try
Try
Dim kunde = DirectCast(KD, cKunde)
Dim addresseTemp = New cAdressen(kunde.KundenNr)
If Not (addresseTemp.UstIdKz = UstIdKz And addresseTemp.UstIdNr = UstIdNr) Then
'Nur Hinweismeldung! -> speichern soll trotzdem möglich sein!
If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return True
If checkUID(KD, kundenNameUID, UIDMehfachverwendung) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
End If
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
@@ -172,8 +172,8 @@ Public Class cAdressen
Return True
End Function
Function checkUID(KD As cKunde, ByRef kundenNameUID As String) As Boolean
If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty Then
Function checkUID(KD As cKunde, ByRef kundenNameUID As String, UIDMehfachverwendung As Boolean) As Boolean
If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty And Not UIDMehfachverwendung Then
kundenNameUID = SQL.getValueTxtBySql("SELECT TOP(1) '(' + Cast([AdressenNr] AS NVARCHAR) +' - '+ Cast([Name 1] AS NVARCHAR) + ')' FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL")
If kundenNameUID IsNot "" Then
Return True

View File

@@ -72,6 +72,7 @@ Public Class cKundenErweitert
Property kde_FakturierungSR_Details As Boolean = False
Property kde_Fakturierung_Sprache As Object = Nothing
Property kde_TOBB_KundenNr As Object = Nothing
Property kde_UIDMehrfachverwendung As Boolean = False
Property kde_Abrechnung_SendungsdatenAusSTB As Boolean = False
Dim SQL As New SQL
@@ -147,6 +148,7 @@ Public Class cKundenErweitert
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveId", kde_CreditSaveId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Abrechnung_SendungsdatenAusSTB", kde_Abrechnung_SendungsdatenAusSTB))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveNo", kde_CreditSaveNo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_UIDMehrfachverwendung", kde_UIDMehrfachverwendung))
Return list
End Function

View File

@@ -206,13 +206,23 @@ Public Class cCreditSafeAPI
End Function
Shared Function getReport(ByRef company As Company, withPDF As Boolean, ByRef bytes As Byte()) As String
Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId
myUrl &= "/?language=DE"
myUrl &= "&?template=full"
Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId & "/"
If company.country = "DE" Then
'Abfragen für DE benötigen einen Reason-Code
myUrl &= "?customData=de_reason_code::2"
myUrl &= "&?language=DE&?template=full"
Else
myUrl &= "?language=DE&?template=full"
End If
Dim acceptContentType = "application/json"
If withPDF Then
acceptContentType &= "+pdf"
End If
Dim jsonRespString = SendGetRequestWithAuthHeader(myUrl, Nothing, acceptContentType, "GET", token)
Dim json As New Chilkat.JsonObject
@@ -244,14 +254,14 @@ Public Class cCreditSafeAPI
If (json.LastMethodSuccess = True) Then
Dim companyIDObj As Chilkat.JsonObject = reportObj.ObjectOf("companyIdentification")
If (json.LastMethodSuccess = True) Then
If (reportObj.LastMethodSuccess = True) Then
Dim basicInfoObj As Chilkat.JsonObject = companyIDObj.ObjectOf("basicInformation")
If (json.LastMethodSuccess = True) Then
If (companyIDObj.LastMethodSuccess = True) Then
Dim dateTime As New Chilkat.CkDateTime
Dim getAsLocal As Boolean = False
basicInfoObj.DateOf("companyRegistrationDate", DateTime)
basicInfoObj.DateOf("companyRegistrationDate", dateTime)
company.csDFoundingDate = dateTime.GetAsTimestamp(getAsLocal)
Debug.WriteLine(dateTime)
@@ -266,23 +276,23 @@ Public Class cCreditSafeAPI
Dim creditScoreObj As Chilkat.JsonObject = reportObj.ObjectOf("creditScore")
If (json.LastMethodSuccess = True) Then
If (reportObj.LastMethodSuccess = True) Then
Dim creditRatingObj As Chilkat.JsonObject = creditScoreObj.ObjectOf("currentCreditRating")
If (json.LastMethodSuccess = True) Then
If (creditScoreObj.LastMethodSuccess = True) Then
company.csRiskclass = creditRatingObj.StringOf("commonValue")
Dim creditLimitObj As Chilkat.JsonObject = creditRatingObj.ObjectOf("creditLimit")
If (json.LastMethodSuccess = True) Then
If (creditRatingObj.LastMethodSuccess = True) Then
company.csMaxCreditAmount = creditLimitObj.StringOf("value")
Else
Debug.WriteLine("creditRating object not found.")
End If
Dim providerValueObj As Chilkat.JsonObject = creditRatingObj.ObjectOf("providerValue")
If (json.LastMethodSuccess = True) Then
If (creditRatingObj.LastMethodSuccess = True) Then
company.csIndex = providerValueObj.StringOf("value")
Else
Debug.WriteLine("providerValue object not found.")
@@ -301,8 +311,7 @@ Public Class cCreditSafeAPI
End If
Else
Debug.WriteLine("report object not found.")
Return "report object not found"
company.csFailure = json.StringOf("details")
End If
If withPDF Then
@@ -399,9 +408,10 @@ Public Class cCreditSafeAPI
Public Property lastChecked As Date
Public Property csIndex As String
Public Property csRiskclass As String
Public Property csMaxCreditAmount As Double
Public Property csMaxCreditAmount As String
Public Property csDFoundingDate As Date
Public Property csPDF As String
Public Property csFailure As String
Public Sub New(_name As String, _vatNo As String, _country As String, _creditsafeNo As String, _creditSafeId As String, _lastChecked As Date)