UID-Prüfung Kompatiblitätsprüfungen

This commit is contained in:
2025-11-07 11:50:48 +01:00
parent 275044e2f8
commit f314969a27
2 changed files with 71 additions and 66 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.4.8.7")> <Assembly: AssemblyVersion("1.4.8.8")>
<Assembly: AssemblyFileVersion("1.4.8.7")> <Assembly: AssemblyFileVersion("1.4.8.8")>

View File

@@ -152,7 +152,7 @@ Public Class cUIDPruefung
End Function End Function
Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True, Optional finanzOnline As Boolean = True, Optional veroegerungMs As Integer = 1500) As DataTable Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True, Optional finanzOnline As Boolean = True, Optional veroegerungMs As Integer = 3000) As DataTable
Dim dt As DataTable = Nothing Dim dt As DataTable = Nothing
dt = get_zupruefendeKunden(MaxEintraege, datum) dt = get_zupruefendeKunden(MaxEintraege, datum)
@@ -193,6 +193,9 @@ Public Class cUIDPruefung
Case "EUROPE" Case "EUROPE"
For Each r As DataRow In dt.Rows For Each r As DataRow In dt.Rows
If Not IsDBNull(r("istEUVAT")) AndAlso r("istEUVAT") = "Ja" Then ' Alle 27 Mitgliedstaaten der Europäischen Union
Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr, ART) Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr, ART)
If UID_TMP IsNot Nothing Then If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then If UID_TMP.uid_valid Then
@@ -213,6 +216,7 @@ Public Class cUIDPruefung
If veroegerungMs > 0 Then If veroegerungMs > 0 Then
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen) Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If End If
End If
Next Next
@@ -227,6 +231,8 @@ Public Class cUIDPruefung
For Each r As DataRow In dt.Rows For Each r As DataRow In dt.Rows
If Not IsDBNull(r("istEUVAT")) AndAlso r("istEUVAT") = "Ja" Then ' Alle 27 Mitgliedstaaten der Europäischen Union
If IsDBNull(r("Ergebnis")) Then If IsDBNull(r("Ergebnis")) Then
counter += 1 counter += 1
@@ -243,9 +249,6 @@ Public Class cUIDPruefung
' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber ' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber
Else Else
r("Ergebnis") = "UNGÜLTIG" r("Ergebnis") = "UNGÜLTIG"
' For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
' row("Ergebnis") = r("Ergebnis")
' Next
End If End If
Else Else
r("Ergebnis") = "ERROR" r("Ergebnis") = "ERROR"
@@ -255,16 +258,10 @@ Public Class cUIDPruefung
If r("Error-Code") = "1511" Then If r("Error-Code") = "1511" Then
errorCounter += 1 'Fehler Mitgliedsstaat nicht erreichbar!!! errorCounter += 1 'Fehler Mitgliedsstaat nicht erreichbar!!!
ElseIf r("Error-Code") = "-99" AndAlso r("Error-Text") <> "" AndAlso r("Error-Text").ToString.Contains("Wegen Wartungsarbeiten") Then ElseIf r("Error-Code") = "-99" AndAlso r("Error-Text") <> "" AndAlso r("Error-Text").ToString.Contains("Wegen Wartungsarbeiten") Then
Exit For Exit For 'Wartungsarbeiten -> sofort abbrechen!
End If End If
' Bei ERROR soll er ebenfalls einzeln durchgehen! Besprochen mit A.Stockenhuber
'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")
'Next
End If End If
@@ -285,6 +282,8 @@ Public Class cUIDPruefung
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen) Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If End If
End If
Next Next
FO.Call_Web_Service_MethodUID_Logout_NEU2020() FO.Call_Web_Service_MethodUID_Logout_NEU2020()
@@ -312,9 +311,9 @@ Public Class cUIDPruefung
End If End If
Select Case Firma Select Case Firma
Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)" Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701) "
Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)" Case "IMEX" : where = " And Filialen.FilialenNr IN (5501) "
Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)" Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801) "
Case "UNISPED" : where = " AND Filialen.firma='UNISPED' " Case "UNISPED" : where = " AND Filialen.firma='UNISPED' "
Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)" Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)"
End Select End Select
@@ -325,7 +324,13 @@ Public Class cUIDPruefung
Top = " TOP " & MaxEintraege Top = " TOP " & MaxEintraege
End If End If
dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " & dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr ,CASE
WHEN UPPER(Adressen.UstIdKz) IN (
'AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES','FI','FR','HR',
'HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK'
) THEN 'Ja'
ELSE 'Nein'
END AS istEUVAT " &
" From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " & " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " &
" where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (isnull(Adressen.UstIdKz,'') <> '' and isnull(Adressen.UstIdNr,'') <> '') " & " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (isnull(Adressen.UstIdKz,'') <> '' and isnull(Adressen.UstIdNr,'') <> '') " &
" And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL") " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL")