Wenn Daten von Creditsafe nicht ausreichend für einen Creditreport, wird im Aviso abgebrochen und darauf hingewiesen (um unnötige Abfragen abzufangen)! Weitere Hinweise bei NonActive/Pending/Other-Kunden.

This commit is contained in:
2023-05-03 14:53:10 +02:00
parent 1949d67f54
commit d17485be1a
5 changed files with 193 additions and 111 deletions

View File

@@ -100,6 +100,7 @@ Partial Class usrcntlCreditsafe
Me.dgvCreditsafe.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvCreditsafe.AllowUserToAddRows = False
Me.dgvCreditsafe.AllowUserToDeleteRows = False
Me.dgvCreditsafe.AllowUserToOrderColumns = True
Me.dgvCreditsafe.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

View File

@@ -1,4 +1,6 @@

Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports itextsharp.text.pdf
Imports VERAG_PROG_ALLGEMEIN
@@ -8,6 +10,7 @@ Public Class usrcntlCreditsafe
Dim land As String
Dim dataTable As New DataTable()
Public comp As Company
Dim uidDefault As String
Sub New()
InitializeComponent()
@@ -19,7 +22,9 @@ Public Class usrcntlCreditsafe
Sub New(_UID As String, _name As String, _land As String)
InitializeComponent()
txtUID.Text = _UID
uidDefault = _UID
_name = _name.Replace(Chr(34), "") 'Anführungszeichen entfernen
_name = _name.Replace(Chr(176), "") '° entfernen
txtFirma.Text = _name
land = _land
init()
@@ -28,7 +33,6 @@ Public Class usrcntlCreditsafe
End Sub
Private Sub init()
user = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser
pw = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSpwd
@@ -38,7 +42,7 @@ Public Class usrcntlCreditsafe
cbxLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].LandKz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez " &
" FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN [Währungstabelle] ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = [Währungstabelle].[Währungsschlüssel] " &
" WHERE ([Währungstabelle].[MitgliedslandEU] = 1) " &
" WHERE ([Währungstabelle].[MitgliedslandEU] = 1 Or [Länderverzeichnis für die Außenhandelsstatistik].LandKz = 'TR' Or [Länderverzeichnis für die Außenhandelsstatistik].LandKz = 'GB' Or [Länderverzeichnis für die Außenhandelsstatistik].LandKz = 'RS') " &
" ORDER BY [Länderverzeichnis für die Außenhandelsstatistik].LandKz ", , "FMZOLL", True)
cbxLand.changeItem(land)
@@ -46,6 +50,22 @@ Public Class usrcntlCreditsafe
btnUebernehmen.Enabled = False
Cursor = Cursors.Default
If uidDefault <> "" Then
uidDefault = uidDefault.Replace(" ", "")
uidDefault = uidDefault.Trim()
If uidDefault.ToUpper.StartsWith("ATU") Then
uidDefault = uidDefault.Replace("ATU", "")
txtUID.Text = "ATU " & uidDefault
Else
txtUID.Text = uidDefault
End If
End If
End Sub
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
@@ -140,16 +160,30 @@ Public Class usrcntlCreditsafe
.Columns("dateOfLatestChange").HeaderText = "letzte Änderung"
End With
For Each row As DataGridViewRow In dgvCreditsafe.Rows
If Not IsDBNull(row.Cells("status").Value) Then
Dim akiv As String = (row.Cells("status").Value.ToString).ToLower
If akiv = "active" Then
row.DefaultCellStyle.BackColor = Color.LightGreen
ElseIf akiv = "nonactive" Then
row.DefaultCellStyle.BackColor = Color.IndianRed
Else
row.DefaultCellStyle.BackColor = Color.LightYellow
End If
End If
Next
End If
End Sub
Private Sub btnUebernehmen_Click(sender As Object, e As EventArgs) Handles btnUebernehmen.Click
If dgvCreditsafe.SelectedRows.Count <> 1 Then
btnUebernehmen.DialogResult = DialogResult.None
Exit Sub
Else
Dim o As Form = Nothing
If Me.Parent.GetType() Is GetType(Form) Then o = Me.Parent
For Each row As DataGridViewRow In dgvCreditsafe.SelectedRows
comp = New Company(IIf(IsDBNull(row.Cells("name").Value), "", row.Cells("name").Value),
IIf(IsDBNull(row.Cells("vatNo").Value), "", row.Cells("vatNo").Value),
@@ -161,11 +195,28 @@ Public Class usrcntlCreditsafe
IIf(IsDBNull(row.Cells("postCode").Value), "", row.Cells("postCode").Value),
IIf(IsDBNull(row.Cells("id").Value), "", row.Cells("id").Value),
IIf(IsDBNull(row.Cells("phoneNo").Value), "", row.Cells("phoneNo").Value),
IIf(IsDBNull(row.Cells("dateOfLatestChange").Value), "", row.Cells("dateOfLatestChange").Value))
IIf(IsDBNull(row.Cells("dateOfLatestChange").Value), "", row.Cells("dateOfLatestChange").Value),
IIf(IsDBNull(row.Cells("status").Value), "", row.Cells("status").Value))
Next
btnUebernehmen.DialogResult = DialogResult.OK
If comp.safeNo Is Nothing Or comp.safeNo = "" Then
lblWarning.Text = "Daten von Creditsafe sind unvollständig, es kann kein Creditreport erstellt werden!"
o.DialogResult = DialogResult.None
ElseIf comp.status.ToLower <> "active" Then
Dim a As MsgBoxResult = MsgBox("Das Unternehmen " & comp.name & " besitzt den Status: " & comp.status & vbNewLine & "Trotzdem fortfahren?", vbYesNo)
If a = vbYes Then
o.DialogResult = DialogResult.OK
Exit Sub
Else
o.DialogResult = DialogResult.None
End If
Else
lblWarning.Text = ""
o.DialogResult = DialogResult.OK
Exit Sub
End If
End Sub
@@ -184,9 +235,10 @@ Public Class usrcntlCreditsafe
Public Property postCode As String
Public Property phoneNo As String
Public Property dateOfLatestChange As Date
Public Property status As String
Public Sub New(_name As String, _vatNo As String, _country As String, _safeNo As String, _regNo As String, _street As String, _city As String, _postCode As String, _credissafeId As String, _phoneNo As String, _dateOfLatestChange As DateTime)
Public Sub New(_name As String, _vatNo As String, _country As String, _safeNo As String, _regNo As String, _street As String, _city As String, _postCode As String, _credissafeId As String, _phoneNo As String, _dateOfLatestChange As DateTime, _status As String)
name = _name
vatNo = _vatNo
country = _country
@@ -198,6 +250,7 @@ Public Class usrcntlCreditsafe
credissafeId = _credissafeId
phoneNo = _phoneNo
dateOfLatestChange = dateOfLatestChange
status = _status
End Sub

View File

@@ -90,7 +90,7 @@
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>SDL_TemporaryKey.pfx</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile>Test.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility" />

View File

@@ -569,64 +569,7 @@ Public Class usrCntlKundenuebersicht
' End If
' End If
If ADRESSE.LandKz = "AT" Or ADRESSE.LandKz = "A" Then
lblBonitaet.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsScore, "")
Else
lblBonitaet.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsIndex, "")
End If
If lblBonitaet.Text = "" Then
lblBonitaet.Text = If(KUNDE.Bonität, "")
End If
lblBonitaetRisikostufe.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsklasse, "")
If lblBonitaetRisikostufe.Text = "" Then
lblBonitaetRisikostufe.Text = If(KUNDE_ERW.kde_BonitaetsStufe, "")
End If
' select case backgrounndcolor
Select Case lblBonitaetRisikostufe.Text
Case "A", "1"
lblBonitaetRisikostufe.BackColor = Color.Green
lblBonitaetRisikostufe.ForeColor = Color.White
Case "B", "2"
lblBonitaetRisikostufe.BackColor = Color.LightGreen
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "C", "3"
lblBonitaetRisikostufe.BackColor = Color.Yellow
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "D", "4"
lblBonitaetRisikostufe.BackColor = Color.Orange
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "E", "5"
lblBonitaetRisikostufe.BackColor = Color.Red
lblBonitaetRisikostufe.ForeColor = Color.White
Case "F", "6"
lblBonitaetRisikostufe.BackColor = Color.Red
lblBonitaetRisikostufe.ForeColor = Color.White
Case Else
lblBonitaetRisikostufe.BackColor = Color.WhiteSmoke
lblBonitaetRisikostufe.ForeColor = Color.Black
End Select
If lblBonitaet.Text = "0" Then lblBonitaet.Text = ""
If KUNDE.Bonitätsdatum IsNot Nothing AndAlso IsDate(KUNDE.Bonitätsdatum) Then
lblBonitaetsdatum.Text = CDate(KUNDE.Bonitätsdatum).ToShortDateString
Else
lblBonitaetsdatum.Text = ""
End If
lblHoechstkredit._value = If(IsNumeric(If(KUNDE.Höchstkredit, "")), KUNDE.Höchstkredit, "")
initCreditsave()
'txtKundenbetreuer.Text = If(KUNDE_ERW.kde_qsTeamMAName, "")
@@ -2757,6 +2700,7 @@ Public Class usrCntlKundenuebersicht
KUNDE_ERW.kde_CreditSaveId = UserControl1.comp.credissafeId
KUNDE_ERW.kde_CreditSaveNo = UserControl1.comp.safeNo
KUNDE_ERW.SAVE()
End If
@@ -2857,13 +2801,24 @@ Public Class usrCntlKundenuebersicht
cBonitaetsauskunft.ba_Datum = Now()
If company.country = "AT" Then
cBonitaetsauskunft.ba_CreditSaveBonitaetsScore = If(IsNumeric(company.csIndex), CInt(company.csIndex), 0)
cBonitaetsauskunft.ba_Pruefungstool = "creditsafe AT"
Else
cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex = If(IsNumeric(company.csIndex), CDbl(company.csIndex), 0)
cBonitaetsauskunft.ba_Pruefungstool = "creditsafe"
End If
If (IsNumeric(company.csIndex)) Then
company.csIndex = company.csIndex.Replace(".", ",")
cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex = CDbl(company.csIndex)
Else
cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex = 0
End If
If (IsNumeric(company.csScore)) Then
cBonitaetsauskunft.ba_CreditSaveBonitaetsScore = CInt(company.csScore)
Else
cBonitaetsauskunft.ba_CreditSaveBonitaetsScore = 0
End If
cBonitaetsauskunft.ba_CreditSaveRisikoklasse = cProgramFunctions.isLeerNothing(company.csRiskclass)
@@ -2887,7 +2842,7 @@ Public Class usrCntlKundenuebersicht
KDERW.SAVE()
updateDatenarchivId()
End If
initCreditsave()
End Sub
Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click
@@ -2906,4 +2861,65 @@ Public Class usrCntlKundenuebersicht
Button2.BackgroundImage = SDL.My.Resources.Resources.pdf_gray
End If
End Sub
Private Sub initCreditsave()
If ADRESSE.LandKz = "AT" Or ADRESSE.LandKz = "A" Then
lblBonitaet.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsScore, "")
Else
lblBonitaet.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsIndex, "")
End If
If lblBonitaet.Text = "" Then
lblBonitaet.Text = If(KUNDE.Bonität, "")
End If
lblBonitaetRisikostufe.Text = If(KUNDE_ERW.kde_CreditSaveBonitaetsklasse, "")
If lblBonitaetRisikostufe.Text = "" Then
lblBonitaetRisikostufe.Text = If(KUNDE_ERW.kde_BonitaetsStufe, "")
End If
' select case backgrounndcolor
Select Case lblBonitaetRisikostufe.Text
Case "A", "1"
lblBonitaetRisikostufe.BackColor = Color.Green
lblBonitaetRisikostufe.ForeColor = Color.White
Case "B", "2"
lblBonitaetRisikostufe.BackColor = Color.LightGreen
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "C", "3"
lblBonitaetRisikostufe.BackColor = Color.Yellow
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "D", "4"
lblBonitaetRisikostufe.BackColor = Color.Orange
lblBonitaetRisikostufe.ForeColor = Color.Black
Case "E", "5"
lblBonitaetRisikostufe.BackColor = Color.Red
lblBonitaetRisikostufe.ForeColor = Color.White
Case "F", "6"
lblBonitaetRisikostufe.BackColor = Color.Red
lblBonitaetRisikostufe.ForeColor = Color.White
Case Else
lblBonitaetRisikostufe.BackColor = Color.WhiteSmoke
lblBonitaetRisikostufe.ForeColor = Color.Black
End Select
If lblBonitaet.Text = "0" Then lblBonitaet.Text = ""
If KUNDE.Bonitätsdatum IsNot Nothing AndAlso IsDate(KUNDE.Bonitätsdatum) Then
lblBonitaetsdatum.Text = CDate(KUNDE.Bonitätsdatum).ToShortDateString
Else
lblBonitaetsdatum.Text = ""
End If
lblHoechstkredit._value = If(IsNumeric(If(KUNDE.Höchstkredit, "")), KUNDE.Höchstkredit, "")
End Sub
End Class

View File

@@ -1,4 +1,5 @@
Imports System.IO
Imports System.Diagnostics.Eventing.Reader
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Web.UI.WebControls
@@ -270,6 +271,27 @@ Public Class cCreditSafeAPI
Dim reportObj As Chilkat.JsonObject = json.ObjectOf("report")
If (json.LastMethodSuccess = True) Then
If company.country = "DE" Then ' nur bei DE ausführen!
Dim companyAddInformObj As Chilkat.JsonObject = reportObj.ObjectOf("additionalInformation")
If (reportObj.LastMethodSuccess = True) Then
Dim companyMiscObj As Chilkat.JsonObject = companyAddInformObj.ObjectOf("misc")
If (companyAddInformObj.LastMethodSuccess = True) Then
Dim deCurrentRatingObj As Chilkat.JsonObject = companyMiscObj.ObjectOf("deCurrentRating")
If (companyAddInformObj.LastMethodSuccess = True) Then
If (deCurrentRatingObj.LastMethodSuccess = True) Then
company.csIndex = deCurrentRatingObj.StringOf("value")
Else
Debug.WriteLine("deCurrentRatingObj object not found.")
End If
Debug.WriteLine("companyMiscObj object not found.")
End If
Debug.WriteLine("companyAddInformObj object not found.")
End If
Debug.WriteLine("reportObj object not found.")
End If
End If
Dim companyIDObj As Chilkat.JsonObject = reportObj.ObjectOf("companyIdentification")
If (reportObj.LastMethodSuccess = True) Then
@@ -310,7 +332,7 @@ Public Class cCreditSafeAPI
Dim providerValueObj As Chilkat.JsonObject = creditRatingObj.ObjectOf("providerValue")
If (creditRatingObj.LastMethodSuccess = True) Then
company.csIndex = providerValueObj.StringOf("value")
company.csScore = providerValueObj.StringOf("value")
Else
Debug.WriteLine("providerValue object not found.")
@@ -331,19 +353,6 @@ Public Class cCreditSafeAPI
company.csFailure = json.StringOf("details")
End If
'If withPDF Then
' Dim sb As New Chilkat.StringBuilder
' json.StringOfSb("pdfReportStream", sb)
' Dim bd As New Chilkat.BinData
' bd.AppendEncodedSb(sb, "base64")
' bytes = Convert.FromBase64String(sb.ToString)
' Return "mitPDF"
'End If
Return "ohnePDF"
End Function
@@ -354,10 +363,10 @@ Public Class cCreditSafeAPI
If company.country = "DE" Then
'Abfragen für DE benötigen einen Reason-Code
myUrl &= "?customData=de_reason_code::2"
myUrl &= "&?language=DE"
myUrl &= "&?language=DE&?template=full"
Else
myUrl &= "?language=DE"
myUrl &= "?language=DE&?template=full"
End If
Dim acceptContentType = "application/pdf"
@@ -405,6 +414,8 @@ Public Class cCreditSafeAPI
End If
End If
End If
End Sub
@@ -462,6 +473,7 @@ Public Class cCreditSafeAPI
Public Property creditsafeNo As String
Public Property lastChecked As Date
Public Property csIndex As String
Public Property csScore As String
Public Property csRiskclass As String
Public Property csMaxCreditAmount As String
Public Property csDFoundingDate As Date