diff --git a/SDL/Creditsafe/usrcntlCreditsafe.Designer.vb b/SDL/Creditsafe/usrcntlCreditsafe.Designer.vb index 1c23f3a9..6069949a 100644 --- a/SDL/Creditsafe/usrcntlCreditsafe.Designer.vb +++ b/SDL/Creditsafe/usrcntlCreditsafe.Designer.vb @@ -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) diff --git a/SDL/Creditsafe/usrcntlCreditsafe.vb b/SDL/Creditsafe/usrcntlCreditsafe.vb index dfa751e7..520f5e99 100644 --- a/SDL/Creditsafe/usrcntlCreditsafe.vb +++ b/SDL/Creditsafe/usrcntlCreditsafe.vb @@ -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,33 +160,64 @@ 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 - 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), - IIf(IsDBNull(row.Cells("country").Value), "", row.Cells("country").Value), - IIf(IsDBNull(row.Cells("safeNo").Value), "", row.Cells("safeNo").Value), - IIf(IsDBNull(row.Cells("regNo").Value), "", row.Cells("regNo").Value), - IIf(IsDBNull(row.Cells("street").Value), "", row.Cells("street").Value), - IIf(IsDBNull(row.Cells("city").Value), "", row.Cells("city").Value), - 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)) - Next - btnUebernehmen.DialogResult = DialogResult.OK + 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), + IIf(IsDBNull(row.Cells("country").Value), "", row.Cells("country").Value), + IIf(IsDBNull(row.Cells("safeNo").Value), "", row.Cells("safeNo").Value), + IIf(IsDBNull(row.Cells("regNo").Value), "", row.Cells("regNo").Value), + IIf(IsDBNull(row.Cells("street").Value), "", row.Cells("street").Value), + IIf(IsDBNull(row.Cells("city").Value), "", row.Cells("city").Value), + 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("status").Value), "", row.Cells("status").Value)) + Next + + 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 diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index 391d62ae..066863b5 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -90,7 +90,7 @@ false - SDL_TemporaryKey.pfx + Test.pfx diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index b72bb189..41763928 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -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 diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb index 84dfa131..6a66682d 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb @@ -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" @@ -393,19 +402,21 @@ Public Class cCreditSafeAPI If company.creditsafeNo <> "" Then - rest.AddQueryParam("safeNo", company.creditsafeNo) + rest.AddQueryParam("safeNo", company.creditsafeNo) - Else - - If company.vatNo <> "" Then - rest.AddQueryParam("vatNo", company.vatNo) Else - If company.name <> "" Then - rest.AddQueryParam("name", company.name) - End If - End If - End If + If company.vatNo <> "" Then + rest.AddQueryParam("vatNo", company.vatNo) + Else + If company.name <> "" Then + rest.AddQueryParam("name", company.name) + 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