Ueberstundenauszahlung (Prüfung bei manuell ausgetragenen ÜS auf MAX-Auszahlung).

This commit is contained in:
2025-12-30 11:21:06 +01:00
parent 19199bb9ed
commit 0cce733304
3 changed files with 27 additions and 133 deletions

View File

@@ -169,127 +169,9 @@ Public Class KdSearchBox
End If End If
Try Try
Eingabe_verarbeitet = False
If usrcntl.Visible = False Then last_eingabe = Now
usrcntl.Width = usrcntlWIDTH doKeyDown(Now, GlobalAnzahlKunden)
usrcntl.Height = usrcntlHEIGHT
Dim locationOnForm As Point = Nothing
If Me.FindForm IsNot Nothing Then
If dgvpos = "LEFT" Or dgvpos = "" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
ElseIf dgvpos = "RIGHT" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
End If
End If
If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
End If
usrcntl.Location = locationOnForm
usrcntl.Top += Me.Height
End If
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
End If
'THREADING AKTIV
Me.ThreadInitAKTIV(GlobalAnzahlKunden)
End With
End If
If nurAktive Then
usrcntl.dgvKundenInAktiv.Visible = False
usrcntl.Panel1.Visible = False
Else
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
.DefaultCellStyle.ForeColor = Color.Gray
End If
Me.ThreadInitINAKTIV()
'THREADING INAKTIV
'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV)
'ThreadInitINAKTIV.IsBackground = True
'ThreadInitINAKTIV.Start()
End With
End If
End If
If _hideIfListEmpty Then
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
If False Then
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Threading.Thread.Sleep(200)
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
End If
Else
usrcntl.Visible = True
usrcntl.Show()
usrcntl.BringToFront()
End If
Eingabe_verarbeitet = True
last_search = Now
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace) MsgBox(ex.Message & ex.StackTrace)
@@ -479,10 +361,10 @@ Public Class KdSearchBox
' If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " ' If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstr &= " FROM [Adressen] " SQLstr &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=COALESCE(Kunden.FilialenNr, 4803)"
SQLstr &= " WHERE 1=1 " SQLstr &= " WHERE 1=1 "
SQLstr &= " AND ( " SQLstr &= " AND ( "
SQLstr &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " SQLstr &= " Ordnungsbegriff_AI LIKE '" & srch & "%' "
If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' "
SQLstr &= " ) " SQLstr &= " ) "
@@ -563,14 +445,16 @@ Public Class KdSearchBox
SQLstr &= ", Filialen.Firma as Firma_Intern " SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstr &= " FROM [Adressen] " SQLstr &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=COALESCE(Kunden.FilialenNr, 4803) "
SQLstr &= " WHERE 1=1 " SQLstr &= " WHERE 1=1 "
SQLstr &= " AND ( " SQLstr &= " AND ( "
SQLstr &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " SQLstr &= " Ordnungsbegriff_AI LIKE '" & srch & "%' "
If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' "
SQLstr &= " ) " SQLstr &= " ) "
If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " If srch2 <> "" Then
SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
End If
' SQLstr &= " AND [Auswahl]='I' " ' SQLstr &= " AND [Auswahl]='I' "
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') " ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') "
@@ -657,14 +541,16 @@ Public Class KdSearchBox
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstrEnd &= " FROM [Adressen] " SQLstrEnd &= " FROM [Adressen] "
SQLstrEnd &= " INNER JOIN Kunden on KundenNr=AdressenNr " SQLstrEnd &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstrEnd &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " SQLstrEnd &= " INNER JOIN Filialen on Filialen.FilialenNr=COALESCE(Kunden.FilialenNr, 4803) "
SQLstrEnd &= " WHERE 1=1 " SQLstrEnd &= " WHERE 1=1 "
SQLstrEnd &= " AND ( " SQLstrEnd &= " AND ( "
SQLstrEnd &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " SQLstrEnd &= " Ordnungsbegriff_AI LIKE '" & srch & "%' "
If IsNumeric(srch) Then SQLstrEnd &= " OR AdressenNr LIKE '" & srch & "%' " If IsNumeric(srch) Then SQLstrEnd &= " OR AdressenNr LIKE '" & srch & "%' "
If _searchName1 Then SQLstrEnd &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " If _searchName1 Then SQLstrEnd &= " OR Adressen.[Name 1] LIKE '" & srch & "%' "
SQLstrEnd &= " ) " SQLstrEnd &= " ) "
If srch2 <> "" Then SQLstrEnd &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " If srch2 <> "" Then
SQLstrEnd &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
End If
SQLstrEnd &= " AND [Auswahl]='A' " SQLstrEnd &= " AND [Auswahl]='A' "
'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
@@ -710,7 +596,10 @@ Public Class KdSearchBox
'End If 'End If
If Not _displayWoelflKd Then SQLstrEnd &= " AND AdressenNr NOT LIKE '15%'" If Not _displayWoelflKd Then SQLstrEnd &= " AND AdressenNr NOT LIKE '15%'"
setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr & SQLstrEnd & " order by Ordnungsbegriff ", "FMZOLL"), topAnz, IIf(srch.Count > 2, SQL.getValueTxtBySql(SQLstrCount & SQLstrEnd, "FMZOLL"), "")) Dim searchstring = SQLstr & SQLstrEnd & " order by Ordnungsbegriff "
setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(searchstring, "FMZOLL"), topAnz, IIf(srch.Count > 2, SQL.getValueTxtBySql(SQLstrCount & SQLstrEnd, "FMZOLL"), ""))
End With End With
@@ -739,10 +628,10 @@ Public Class KdSearchBox
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstr &= " FROM [Adressen] " SQLstr &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=COALESCE(Kunden.FilialenNr, 4803) "
SQLstr &= " WHERE 1=1 " SQLstr &= " WHERE 1=1 "
SQLstr &= " AND ( " SQLstr &= " AND ( "
SQLstr &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " SQLstr &= " Ordnungsbegriff_AI LIKE '" & srch & "%' "
If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' "
SQLstr &= " ) " SQLstr &= " ) "

View File

@@ -314,7 +314,7 @@ Public Class cAdressen
Try Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False) 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 & " OR weitereWö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() Dim dr = cmd.ExecuteReader()
If dr.Read Then If dr.Read Then

View File

@@ -626,6 +626,11 @@ Public Class frmUeberstundenauszahlen
Dim stichtag As Integer = 25 Dim stichtag As Integer = 25
Dim ignoreAuszahlungsdatum As Boolean = False Dim ignoreAuszahlungsdatum As Boolean = False
If cbxoverwrite.Checked AndAlso (CDbl(txtSummeAuszb.Text) < CDbl(txtAuszManuell.Text) Or CDbl(txtSummeAuszb.Text) < CDbl(txtAuszManuell_hhmm.Text)) Then
MsgBox("Auszahlungssumme übersteigt den aktuellen Saldo!" & vbNewLine & "Vorgang wird abgebrochen")
Exit Sub
End If
Select Case IIf(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma) Select Case IIf(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma)
'25.02.2025: ATILLA ist bereits auf das einheitliche Auszahlungsschema umgestiegen! '25.02.2025: ATILLA ist bereits auf das einheitliche Auszahlungsschema umgestiegen!
'Case "ATILLA" 'Case "ATILLA"