Asfinag, UID-Pruefung

This commit is contained in:
2023-12-13 17:02:49 +01:00
parent 91628e047c
commit fd7942711c
12 changed files with 2026 additions and 170 deletions

View File

@@ -182,6 +182,29 @@ Public Class cAdressen
Return False
End Function
Function getUIDMehrfachverwendung() As Boolean
If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty Then
Dim count As Integer = SQL.getValueTxtBySql("SELECT count(*) FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "'", "FMZOLL")
If count > 0 Then
Return True
End If
End If
Return False
End Function
Function getDTUIDMehrfachverwendung(adressenNr) As DataTable
Dim dt_UID As New DataTable
If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty Then
dt_UID = SQL.loadDgvBySql_Param("SELECT KundenNr FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and not KundenNr='" & adressenNr & "'", "FMZOLL")
End If
Return dt_UID
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

@@ -11,11 +11,12 @@ Public Class cAsfinagMaut
Property VATamount As Object = Nothing
Property totalAmount As Object = Nothing
Property additionalData As Object = Nothing
Property receiptnumber As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Dim SQL As New SQL
Sub New()
@@ -30,8 +31,9 @@ Public Class cAsfinagMaut
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VATamount", VATamount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("totalAmount", totalAmount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("additionalData", additionalData))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiptnumber", receiptnumber))
Return list
End Function
End Function
@@ -76,23 +78,24 @@ Public Class cAsfinagMaut
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblAsfinagMaut (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
End Class

View File

@@ -229,13 +229,13 @@ Public Class cUIDPruefung
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "'")
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
Next
Else
r("Ergebnis") = "UNGÜLTIG"
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "'")
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
Next
End If
@@ -244,7 +244,7 @@ Public Class cUIDPruefung
r("Error-Code") = errorCode.ToString()
r("Error-Text") = FO.GetCodeText(errorCode)
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "'")
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
row("Error-Code") = r("Error-Code")
row("Error-Text") = r("Error-Text")

View File

@@ -91,10 +91,13 @@ Public Class cFinanzOnlineWebService
Function Call_Web_Service_MethodUID_Abfrage_NEU2020(ba_KundenNr, Optional AskIfDouble = False, Optional SaveErgInAdressen = True, Optional showErr = True, Optional Stufe = 1, Optional ByRef errorCode = 0) As VERAG_PROG_ALLGEMEIN.cUIDPruefung
Dim AD As New cAdressen(ba_KundenNr)
Dim multiUID = False
If AD IsNot Nothing Then
If AD.UstIdKz IsNot Nothing AndAlso AD.UstIdNr IsNot Nothing Then
Try
If AskIfDouble Then
If IsDate(AD.UstIdGeprüft) AndAlso CDate(AD.UstIdGeprüft).ToShortDateString = Now.ToShortDateString Then
@@ -131,6 +134,8 @@ Public Class cFinanzOnlineWebService
If returnInt = 0 Or returnInt = 1 Then
If Stufe = 1 AndAlso returnInt = 0 Then multiUID = AD.getUIDMehrfachverwendung() 'nur bei Stufe 1 und bei gültigen Prüfungen!!!
Dim UID_TMP As New VERAG_PROG_ALLGEMEIN.cUIDPruefung
UID_TMP.uid_Datum = Now
@@ -140,7 +145,6 @@ Public Class cFinanzOnlineWebService
UID_TMP.uid_valid = (returnInt = 0)
UID_TMP.uid_KundenNr = ba_KundenNr
UID_TMP.uid_UstIdKz = countryCode
UID_TMP.uid_UstIdNr = vatNumber
@@ -159,7 +163,56 @@ Public Class cFinanzOnlineWebService
UID_TMP.uid_stufe = Stufe
UID_TMP.SAVE()
If (returnInt = 0) Then 'OK
If multiUID Then
Dim dt_multiUID As DataTable = AD.getDTUIDMehrfachverwendung(AD.AdressenNr)
If dt_multiUID.Rows.Count > 0 Then
For Each adresse As DataRow In dt_multiUID.Rows
Dim UID_TMP_new As New VERAG_PROG_ALLGEMEIN.cUIDPruefung
Dim AD_new As New cAdressen(adresse.Item("KundenNr"))
UID_TMP_new.uid_Datum = Now
UID_TMP_new.uid_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
If If(UID_TMP_new.uid_Sachbearbeiter, "") = "" Then UID_TMP_new.uid_Sachbearbeiter = "AUTO"
UID_TMP_new.uid_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
UID_TMP_new.uid_valid = (returnInt = 0)
UID_TMP_new.uid_KundenNr = AD_new.AdressenNr
UID_TMP_new.uid_UstIdKz = countryCode
UID_TMP_new.uid_UstIdNr = vatNumber
UID_TMP_new.Firma = If(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, "VERAG")
UID_TMP_new.uid_abfrageUid = uid
UID_TMP_new.uid_sessionId = tmp_SESSION_ID
UID_TMP_new.uid_firma = name
UID_TMP_new.uid_adr1 = adrz1
UID_TMP_new.uid_adr2 = adrz2
UID_TMP_new.uid_adr3 = adrz3
UID_TMP_new.uid_adr4 = adrz4
UID_TMP_new.uid_adr5 = adrz5
UID_TMP_new.uid_adr6 = adrz6
UID_TMP_new.uid_stufe = Stufe
UID_TMP_new.SAVE()
If (UID_TMP.uid_valid) Then 'OK
If SaveErgInAdressen Then
AD_new.UstIdGeprüft = Now.ToShortDateString
AD_new.SAVE()
End If
End If
Next
End If
End If
If (returnInt = 0) Then 'OK
If SaveErgInAdressen Then
AD.UstIdGeprüft = Now.ToShortDateString
AD.SAVE()