Creditsafe Verbesserungen, Mehrfach-UID-Verwendung eingebaut.
This commit is contained in:
@@ -2721,7 +2721,7 @@ Public Class usrCntlKundenuebersicht
|
||||
Private Sub btnCreditsafe_Click(sender As Object, e As EventArgs) Handles btnCreditsafe.Click
|
||||
|
||||
Dim UID As String = ""
|
||||
Dim land As String = checkNullStr(ADRESSE.UstIdKz)
|
||||
Dim land As String = "" 'checkNullStr(ADRESSE.UstIdKz)
|
||||
Dim name As String = checkNullStr(ADRESSE.Name_1)
|
||||
|
||||
Cursor = Cursors.WaitCursor
|
||||
@@ -2735,9 +2735,19 @@ Public Class usrCntlKundenuebersicht
|
||||
UID = checkNullStr(ADRESSE.UstIdKz) & " " & checkNullStr(ADRESSE.UstIdNr)
|
||||
End If
|
||||
|
||||
Select Case checkNullStr(ADRESSE.LandKz)
|
||||
|
||||
Case "A", "" : land = "AT"
|
||||
Case "D" : land = "DE"
|
||||
|
||||
Case Else
|
||||
land = ADRESSE.LandKz
|
||||
|
||||
End Select
|
||||
|
||||
Using UserControl1 As usrcntlCreditsafe = New usrcntlCreditsafe(UID, name, land)
|
||||
Using tmpForm As Form = New Form()
|
||||
tmpForm.Width = UserControl1.Width
|
||||
tmpForm.Width = UserControl1.Width + 10
|
||||
tmpForm.Height = UserControl1.Height + 40
|
||||
tmpForm.Text = "Creditsafe-Firmensuche"
|
||||
tmpForm.StartPosition = tmpForm.StartPosition.CenterParent
|
||||
@@ -2758,27 +2768,24 @@ Public Class usrCntlKundenuebersicht
|
||||
'If cs.authenticate(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser, VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSpwd) = "200" Then
|
||||
If cs.authenticate("creditsafe@verag.ag", "^AZcBVTBUIHTT5SQ1C9OOH") = "200" Then
|
||||
|
||||
|
||||
'Prüfung wird benötigt, da deutsche Abfragen einen Reasoncode benötigen!
|
||||
If checkNullStr(ADRESSE.LandKz) = "" Then
|
||||
MsgBox("Land im Kunden muss hinterlegt sein!")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim laenderKZ As String
|
||||
|
||||
Select Case ADRESSE.LandKz
|
||||
|
||||
Case "A" : laenderKZ = "AT"
|
||||
Case "D" : laenderKZ = "DE"
|
||||
Case "A" : land = "AT"
|
||||
Case "D" : land = "DE"
|
||||
|
||||
Case Else
|
||||
laenderKZ = "AT"
|
||||
land = ADRESSE.LandKz
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
Dim company As New cCreditSafeAPI.Company("", "", laenderKZ, KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing)
|
||||
Dim company As New cCreditSafeAPI.Company("", "", land, KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing)
|
||||
Dim pdfObject As Byte() = Nothing
|
||||
If lblBonitaetsdatum._value <> Nothing Then
|
||||
|
||||
@@ -2788,7 +2795,7 @@ Public Class usrCntlKundenuebersicht
|
||||
If cs.checkDateOfLastRequest(company) < lastChecked Then
|
||||
Dim a As MsgBoxResult = MsgBox("Seit der letzen Abfrage (" & lastChecked.ToShortDateString & ") wurde bei Creditsafe keine Änderung gemacht!" & vbNewLine & "Trotzdem Creditreport-Daten aktualisieren?", vbYesNo)
|
||||
If a = vbYes Then
|
||||
MsgBox(cs.getReport(company, True, pdfObject))
|
||||
cs.getReport(company, True, pdfObject)
|
||||
setCreditSafeEntry(company, pdfObject, kdNr)
|
||||
End If
|
||||
|
||||
@@ -2799,7 +2806,7 @@ Public Class usrCntlKundenuebersicht
|
||||
End If
|
||||
Else
|
||||
|
||||
MsgBox(cs.getReport(company, True, pdfObject))
|
||||
cs.getReport(company, True, pdfObject)
|
||||
setCreditSafeEntry(company, pdfObject, kdNr)
|
||||
|
||||
End If
|
||||
@@ -2819,6 +2826,10 @@ Public Class usrCntlKundenuebersicht
|
||||
|
||||
Private Sub setCreditSafeEntry(company As cCreditSafeAPI.Company, PDF As Byte(), krn As Integer)
|
||||
|
||||
If company.csFailure <> "" Then
|
||||
MsgBox(company.csFailure)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim cBonitaetsauskunft = New VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft
|
||||
|
||||
@@ -2854,12 +2865,12 @@ Public Class usrCntlKundenuebersicht
|
||||
|
||||
cBonitaetsauskunft.ba_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
||||
cBonitaetsauskunft.ba_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
||||
cBonitaetsauskunft.ba_Hoechstkredit = cProgramFunctions.isLeerNothingDbl(company.csMaxCreditAmount)
|
||||
cBonitaetsauskunft.ba_Hoechstkredit = IIf(company.csMaxCreditAmount <> "", CDbl(company.csMaxCreditAmount), 0) 'cProgramFunctions.isLeerNothingDbl(CDbl(company.csMaxCreditAmount), 0)
|
||||
cBonitaetsauskunft.ba_Bankverbindung = ""
|
||||
cBonitaetsauskunft.ba_Zahlungsweise = ""
|
||||
cBonitaetsauskunft.ba_GFName = ""
|
||||
cBonitaetsauskunft.ba_Sonstiges = ""
|
||||
cBonitaetsauskunft.ba_GruendundsDatum = company.csDFoundingDate
|
||||
cBonitaetsauskunft.ba_GruendundsDatum = IIf(company.csDFoundingDate > New Date("01.01.1900"), company.csDFoundingDate, "")
|
||||
|
||||
If cBonitaetsauskunft.SAVE Then
|
||||
SQL.doSQL("UPDATE Kunden SET Bonität='" & cBonitaetsauskunft.ba_BonitaetsIndex & "', Bonitätsdatum='" & cBonitaetsauskunft.ba_Datum & "', Höchstkredit=" & If(cBonitaetsauskunft.ba_Hoechstkredit Is Nothing, "null", "'" & cBonitaetsauskunft.ba_Hoechstkredit & "'") & " WHERE KundenNr='" & cBonitaetsauskunft.ba_KundenNr & "'", "FMZOLL")
|
||||
|
||||
4188
SDL/kunden/usrcntlKundeBearbeitenFull.Designer.vb
generated
4188
SDL/kunden/usrcntlKundeBearbeitenFull.Designer.vb
generated
File diff suppressed because it is too large
Load Diff
@@ -353,6 +353,7 @@ Public Class usrcntlKundeBearbeitenFull
|
||||
cbxSonst_CsvMautbericht.Checked = loadValue(ADRESSE.ExportMautberichtCSV, False)
|
||||
cbxSonst_CsvMSE.Checked = loadValue(ADRESSE.MSEExportCSV, False)
|
||||
cbxSonst_CsvUTA.Checked = loadValue(ADRESSE.UTAExportCSV, False)
|
||||
cbxUIDMehrfachverwendung.Checked = KUNDE_ERW.kde_UIDMehrfachverwendung
|
||||
|
||||
|
||||
txtAbf_ZollVmVom.Enabled = cbxAbf_ZollVM.Checked
|
||||
@@ -582,6 +583,7 @@ Public Class usrcntlKundeBearbeitenFull
|
||||
KUNDE_ERW.AutoFakturierung = cbxAutoFakturierung.Checked
|
||||
KUNDE_ERW.Veranlagungskunde = cbxVeranlagungskunde.Checked
|
||||
KUNDE_ERW.kde_Abrechnung_SendungsdatenAusSTB = cbxSndDatenAusSTB.Checked
|
||||
KUNDE_ERW.kde_UIDMehrfachverwendung = cbxUIDMehrfachverwendung.Checked
|
||||
|
||||
KUNDE_ERW.kde_VERAG_INTERFACE_ID = isLeerNothing(txtVERAG_Schnittstellen_ID.Text)
|
||||
KUNDE_ERW.kde_BesonderheitenNeu = cbxBesonderheitenNEU.Checked
|
||||
@@ -678,7 +680,7 @@ Public Class usrcntlKundeBearbeitenFull
|
||||
|
||||
|
||||
Dim err = ""
|
||||
If Not ADRESSE.VALID(err, KUNDE) Then
|
||||
If Not ADRESSE.VALID(err, KUNDE, cbxUIDMehrfachverwendung.Checked) Then
|
||||
txtERROR.Text = err : Exit Sub
|
||||
End If
|
||||
If Not KUNDE.VALID(err) Then
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user