Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024

This commit is contained in:
2025-11-14 10:24:52 +01:00
35 changed files with 2879 additions and 1947 deletions

View File

@@ -45,6 +45,8 @@ Public Class cAdressen
Property MWSTVorauszahlung As Object = Nothing
Property PLOSEKundenNr As Object = Nothing
Property weitereWölflKundenNr As Object = Nothing
Public hasEntry = False
Shared SQL As New SQL
@@ -139,6 +141,7 @@ Public Class cAdressen
' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SSMA_TimeStamp", SSMA_TimeStamp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MWSTVorauszahlung", MWSTVorauszahlung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLOSEKundenNr", PLOSEKundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("weitereWölflKundenNr", weitereWölflKundenNr))
Return list
End Function
@@ -311,7 +314,7 @@ Public Class cAdressen
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False)
Using cmd As New SqlCommand("Select TOP(1) * FROM Adressen WHERE (UstIdKz + UstIdNr='" & UIDNr & "' or Steuernummer ='" & UIDNr & "') AND WölflKundenNr = " & woelflKdNr, conn)
Using cmd As New SqlCommand("Select TOP(1) * FROM Adressen WHERE (UstIdKz + UstIdNr='" & UIDNr & "' or Steuernummer ='" & UIDNr & "') AND WölflKundenNr = " & woelflKdNr & " OR weitereWölflKundenNr " & woelflKdNr, conn)
Dim dr = cmd.ExecuteReader()
If dr.Read Then

View File

@@ -145,6 +145,7 @@ Public Class cDY_Zollanmeldungen_Import
Property Importstatus As Object = Nothing
Property Importdate As Object = Nothing
Property Importfile As Object = Nothing
Property Ursprungsland_ISO2 As Object = Nothing
Public hasEntry = False
@@ -301,6 +302,7 @@ Public Class cDY_Zollanmeldungen_Import
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importstatus", Importstatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importdate", Importdate))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importfile", Importfile))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ursprungsland_ISO2", Ursprungsland_ISO2))
Return list
End Function

View File

@@ -1,6 +1,5 @@

Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection
Public Class cRMC
@@ -177,7 +176,7 @@ Public Class cRMC
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand(" SELECT rmc_reDatum,rmc_kdNr,[rmc_reNr],sum([rmc_betragNetto])[rmc_betragNetto],sum([rmc_betragMWST])[rmc_betragMWST] ,sum([rmc_betragBrutto] )[rmc_betragBrutto], [rmc_waehrung], sum([rmc_euroBrutto])[rmc_euroBrutto], rmc_daId, isnull(rmc_daId_InvAtt,0) as rmc_daId_InvAtt FROM [tblRMCImport]
INNER JOIN Adressen as adr on rmc_kdNr=adr.[WölflKundenNr]
INNER JOIN Adressen as adr on rmc_kdNr=adr.[WölflKundenNr] or rmc_kdNr=adr.[weitereWölflKundenNr]
where cast(rmc_reDatum as date) between @von and @bis and AdressenNr=@AdressenNr
AND rmc_landKZ ='" & LandKZ & "'" & IIf(Not Archiv, " And rmc_archiv = 0 ", "") & "
group by rmc_reDatum,rmc_kdNr,[rmc_reNr],[rmc_waehrung], rmc_daId, isnull(rmc_daId_InvAtt,0)

View File

@@ -152,29 +152,10 @@ Public Class cUIDPruefung
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
'If datum = Nothing Then datum = CDate("15." & Now.ToString("MM.yyyy")).AddMonths(-1)
'Dim where = ""
'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
' Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)"
' Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)"
' Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)"
' Case "UNISPED" : where = " AND Filialen.firma='UNISPED' "
' Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)"
'End Select
'Dim Top = ""
'If MaxEintraege > 0 Then
' Top = " TOP " & MaxEintraege
'End If
'dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " &
' " 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,'') <> '') " &
' " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL")
dt = get_zupruefendeKunden(MaxEintraege, datum)
dt = get_zupruefendeKunden(MaxEintraege, datum,, True)
If dt IsNot Nothing Then
If dt.Rows.Count = 0 Then Return Nothing
@@ -195,6 +176,14 @@ Public Class cUIDPruefung
e.ColumnName = "Error-Text"
dt.Columns.Add(e)
Dim f As New DataColumn
f.ColumnName = "Re-Login"
dt.Columns.Add(f)
Dim g As New DataColumn
g.ColumnName = "Verzoegerung"
dt.Columns.Add(g)
'------------------------------------------------
'ENTWEDER ÜBER EU-KOMISSION ODER FINANZONLINE::::
@@ -204,25 +193,29 @@ Public Class cUIDPruefung
Case "EUROPE"
For Each r As DataRow In dt.Rows
Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr, ART)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
Next
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)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
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"
End If
Else
r("Ergebnis") = "UNGÜLTIG"
r("Ergebnis") = "ERROR"
End If
Else
r("Ergebnis") = "ERROR"
End If
If veroegerungMs > 0 Then
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
If veroegerungMs > 0 Then
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If
End If
Next
@@ -230,57 +223,65 @@ Public Class cUIDPruefung
Case "FINANZONLINE"
Dim FO As New VERAG_PROG_ALLGEMEIN.cFinanzOnlineWebService
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
FO.initValues()
Dim counter = 0
Dim errorCounter As Integer = 0
If FO.Call_Web_Service_MethodUID_Login_NEU2020() = 0 Then
For Each r As DataRow In dt.Rows
If IsDBNull(r("Ergebnis")) Then
If Not IsDBNull(r("istEUVAT")) AndAlso r("istEUVAT") = "Ja" Then ' Alle 27 Mitgliedstaaten der Europäischen Union
counter += 1
Dim errorCode = -99
Dim errormsg = ""
Dim UID_TMP = FO.Call_Web_Service_MethodUID_Abfrage_NEU2020(r("KdNr"),, SaveErgInAdressen, showErr,, errorCode, errormsg)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
If IsDBNull(r("Ergebnis")) Then
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
Next
' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber
counter += 1
Dim errorCode = -99
Dim errormsg = ""
Dim UID_TMP = FO.Call_Web_Service_MethodUID_Abfrage_NEU2020(r("KdNr"),, SaveErgInAdressen, showErr,, errorCode, errormsg)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
row("Ergebnis") = r("Ergebnis")
Next
' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber
Else
r("Ergebnis") = "UNGÜLTIG"
End If
Else
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
Else
r("Ergebnis") = "ERROR"
r("Error-Code") = errorCode.ToString()
r("Error-Text") = FO.GetCodeText(errorCode) & errormsg
r("Ergebnis") = "ERROR"
r("Error-Code") = errorCode.ToString()
r("Error-Text") = FO.GetCodeText(errorCode) & errormsg
' 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
If r("Error-Code") = "1511" Then
errorCounter += 1 'Fehler Mitgliedsstaat nicht erreichbar!!!
ElseIf r("Error-Code") = "-99" AndAlso r("Error-Text") <> "" AndAlso r("Error-Text").ToString.Contains("Wegen Wartungsarbeiten") Then
Exit For 'Wartungsarbeiten -> sofort abbrechen!
End If
End If
End If
End If
r("Re-Login") = "0"
If counter Mod 100 = 0 Then
FO.Call_Web_Service_MethodUID_Logout_NEU2020()
Thread.Sleep(2000)
FO.Call_Web_Service_MethodUID_Login_NEU2020()
End If
If counter Mod 100 = 0 OrElse errorCounter > 10 Then
If errorCounter > 10 Then errorCounter = 0
FO.Call_Web_Service_MethodUID_Logout_NEU2020()
Thread.Sleep(5000)
FO.Call_Web_Service_MethodUID_Login_NEU2020()
r("Re-Login") = "1"
End If
If veroegerungMs > 0 Then
r("Verzoegerung") = veroegerungMs
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If
If veroegerungMs > 0 Then
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If
Next
@@ -298,7 +299,7 @@ Public Class cUIDPruefung
Return dt
End Function
Public Shared Function get_zupruefendeKunden(MaxEintraege As Integer, Optional datum As Object = Nothing, Optional Firma As String = "") As DataTable
Public Shared Function get_zupruefendeKunden(MaxEintraege As Integer, Optional datum As Object = Nothing, Optional Firma As String = "", Optional Validierungspruefung As Boolean = False) As DataTable
Dim dt As DataTable = Nothing
If datum = Nothing Then datum = CDate("15." & Now.ToString("MM.yyyy")).AddMonths(-1)
@@ -309,11 +310,10 @@ Public Class cUIDPruefung
Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
End If
Select Case Firma
Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)"
Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)"
Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)"
Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701) "
Case "IMEX" : where = " And Filialen.FilialenNr IN (5501) "
Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801) "
Case "UNISPED" : where = " AND Filialen.firma='UNISPED' "
Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)"
End Select
@@ -324,9 +324,24 @@ Public Class cUIDPruefung
Top = " TOP " & MaxEintraege
End If
dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " &
If Validierungspruefung Then
where &= " AND 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'
)"
End If
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 " &
" 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")
Return dt

View File

@@ -1398,13 +1398,13 @@ Public Class cFormularManager
If doc.Pages.Count = 0 Then Continue For
Dim size = doc.Pages(0).Size
If size.Width <= 0 OrElse size.Height <= 0 Then Continue For
' --- Druckeinstellungen ---
doc.PrintSettings.PrinterName = printerName
doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.ActualSize, False)
doc.PrintSettings.Landscape = True
doc.PrintSettings.PaperSize = New System.Drawing.Printing.PaperSize("A4", 827, 1169)
doc.Print()
If size.Width <= 10 OrElse size.Height <= 10 Then Continue For 'zu kleine Seiten überspringen
' --- Druckeinstellungen ---
doc.PrintSettings.PrinterName = printerName
doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
doc.PageSettings.Orientation = Spire.Pdf.PdfPageOrientation.Landscape
doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, True)
doc.Print()
End Using

View File

@@ -63,7 +63,7 @@ Public Class frmMessenger
'End Try
End Sub
Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellContentClick, dgvChats.CellClick
Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellClick '.CellContentClick
If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
intiDGVChats(dgv_ChatID, False) ' Splate ungelesen sol sich ändern

View File

@@ -1,11 +1,6 @@
Imports System.ComponentModel
Imports System.Diagnostics.Eventing.Reader
Imports System.Drawing
Imports System.Net
Imports System.Drawing
Imports System.Threading
Imports System.Windows.Forms
Imports Therefore.API
Imports VERAG_PROG_ALLGEMEIN.cCreditSafeAPI
Public Class frmMitarbeitersuche
Dim mit_id As Integer = -1

View File

@@ -136,6 +136,16 @@ Public Class cFinanzOnlineWebService
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, "Fehler im externen Webservice " & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & " Daten: TID: " & tid & vbNewLine & " BENID: " & benid & vbNewLine & " SessionID: " & SESSION_ID & vbNewLine & " UID: " & uid & vbNewLine & " COUNTRY-CODE/VAT: " & countryCode & vatNumber & vbNewLine & " Stufe: " & StufeAbf & vbNewLine & " MSG: " & msg & vbNewLine & " Name: " & name & vbNewLine & " Adr1: " & adrz1 & vbNewLine & " Adr2: " & adrz2 & vbNewLine & " Adr3: " & adrz3 & vbNewLine & " Adr4: " & adrz4 & vbNewLine & " Adr5: " & adrz5 & vbNewLine & " Adr6: " & adrz6, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
If ex.Message.Contains("Wegen Wartungsarbeiten") AndAlso ex.Message.Contains("Verf??gung") Then
Dim startIndex As Integer = ex.Message.IndexOf("Wegen Wartungsarbeiten")
Dim endIndex As Integer = ex.Message.IndexOf("Verf??gung", startIndex)
Dim messageError As String = ex.Message.Substring(startIndex, endIndex - startIndex + "Verf??gung".Length)
If messageError <> "" Then errorMsg = messageError
errorCode = -99
End If
Exit Function
End Try
@@ -382,6 +392,7 @@ Public Class cFinanzOnlineWebService
Case 4 : Return "Die UID-Nummer des Erwerbers ist falsch."
Case 5 : Return "Die UID-Nummer des Antragstellers ist ungültig."
Case 10 : Return "Der angegebene Mitgliedstaat verbietet diese Abfrage."
Case -99 : Return "" & rc
Case 101 : Return "UID beginnt nicht mit ATU."
Case 103 : Return "Die angefragte UID-Nummer kann im FinanzOnline nur in Stufe 1 bestätigt werden,
da diese UID-Nummer zu einer Unternehmensgruppe (Umsatzsteuergruppe) gehört.

View File

@@ -639,6 +639,13 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
End Function
Shared Function getISO2LandFromLandbezeichnung(LandBez As String)
If LandBez Is Nothing Then Return Nothing
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 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.Land='" & LandBez & "' "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
End Function
Shared Function getISO2LandFromISO1Land(Iso1Land As String)
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 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.LandKz='" & Iso1Land & "' "