This commit is contained in:
2023-04-04 16:56:55 +02:00
10 changed files with 2286 additions and 2152 deletions

View File

@@ -143,7 +143,7 @@ Public Class cAdressen
End Sub
Dim kundenNameUID = ""
Function VALID(ByRef ERROR_TXT, KD) 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
@@ -153,19 +153,34 @@ 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:
If checkUID(KD) Then ERROR_TXT = "Die UID Nummer existiert bereits!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
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 False
Else
Try
Dim kunde = DirectCast(KD, cKunde)
Dim addresseTemp = New cAdressen(kunde.KundenNr)
If Not (addresseTemp.UstIdKz = UstIdKz And addresseTemp.UstIdNr = UstIdNr) Then
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 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)
End Try
End If
Return True
End Function
Function checkUID(KD As cKunde) As Boolean
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
If SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL") > 0 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
End If
End If
Return False
End Function
Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
If newFlag Then INIT_NEWKD_DATA()
If AdressenNr <= 0 Then

View File

@@ -54,6 +54,7 @@ Public Class cKundenErweitert
Property kde_CreditSaveBonitaetsScore As Object = Nothing
Property kde_CreditSaveId As String = ""
Property kde_CreditSaveNo As String = ""
Property kde_Inkasso_Uebergeben As Boolean = False
Property kde_Inkasso_UebergebenAm As Object = Nothing
Property kde_Inkasso_GemeldeterBetrag As Object = Nothing
@@ -145,6 +146,7 @@ Public Class cKundenErweitert
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveBonitaetsScore", kde_CreditSaveBonitaetsScore))
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))
Return list
End Function

View File

@@ -97,18 +97,8 @@ Public Class cCreditSafeAPI
If company IsNot Nothing Then
setSearchParam(rest, company)
If company.vatNo <> "" Then
rest.AddQueryParam("vatNo", company.vatNo)
Else
If company.name <> "" Then
rest.AddQueryParam("name", company.name)
End If
End If
If company.country <> "" Then
rest.AddQueryParam("countries", company.country)
End If
End If
rest.AddHeader("Content-Type", "application/json")
@@ -146,12 +136,11 @@ Public Class cCreditSafeAPI
Shared Function searchCompanies(conpanyname As String, vatNo As String, country As String, ByRef dataTable As DataTable) As String
Shared Function searchCompanies(company As Company, ByRef dataTable As DataTable) As String
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim myUrl As String = API_STRING & "/v1/companies"
Dim company = New Company(conpanyname, vatNo, country)
Dim jsonRespString = SendGetRequestWithAuthHeader(myUrl, company, "application/json", "GET", token)
@@ -218,8 +207,8 @@ Public Class cCreditSafeAPI
End Function
Shared Function companyCreditreport(id As String, Optional withPDF As Boolean = False) As String
Dim myUrl As String = API_STRING & "/v1/companies/" & id
Shared Function getReport(company As Company, withPDF As Boolean) As String
Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId
Dim acceptContentType = "application/json"
If withPDF Then
acceptContentType &= "+pdf"
@@ -240,6 +229,56 @@ Public Class cCreditSafeAPI
Return "test"
End Function
Shared Sub setSearchParam(ByRef rest As Chilkat.Rest, ByRef company As Company)
rest.AddQueryParam("countries", company.country)
If company.creditsafeNo <> "" Then
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
End Sub
Shared Function checkDateOfLastRequest(company As Company) As Date
Dim myUrl As String = API_STRING & "/v1/companies"
Dim jsonRespString = SendGetRequestWithAuthHeader(myUrl, company, "application/json", "GET", token)
Dim json As New Chilkat.JsonObject
Dim success As Boolean = json.Load(jsonRespString)
If (success <> True) Then
Debug.WriteLine(json.LastErrorText)
Return "Verbindungsfehler"
End If
Dim companies As Chilkat.JsonArray = json.ArrayOf("companies")
Dim compObj As Chilkat.JsonObject = companies.ObjectAt(0)
Dim dateTime As New Chilkat.CkDateTime
Dim dt As New Chilkat.DtObj
Dim getAsLocal As Boolean = False
success = compObj.DateOf("dateOfLatestChange", dateTime)
Debug.WriteLine(dateTime.GetAsTimestamp(getAsLocal))
Return dateTime.GetAsTimestamp(getAsLocal)
End Function
@@ -262,18 +301,25 @@ Public Class cCreditSafeAPI
Public Class Company
Public Property creditSafeId As String
Public Property name As String
Public Property vatNo As String
Public Property country As String
Public Property creditsafeNo As String
Public Property lastChecked As Date
Public Sub New(_name As String, _vatNo As String, _country As String)
Public Sub New(_name As String, _vatNo As String, _country As String, _creditsafeNo As String, _creditSafeId As String, _lastChecked As Date)
creditSafeId = _creditSafeId
name = _name
vatNo = _vatNo
country = _country
creditsafeNo = _creditsafeNo
lastChecked = _lastChecked
End Sub
Public Sub New()
End Sub
End Class
End Class