Ueberstundenauszahlung
This commit is contained in:
@@ -31,7 +31,6 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.txt100 = New System.Windows.Forms.TextBox()
|
Me.txt100 = New System.Windows.Forms.TextBox()
|
||||||
Me.txt50 = New System.Windows.Forms.TextBox()
|
Me.txt50 = New System.Windows.Forms.TextBox()
|
||||||
Me.txtMehr = New System.Windows.Forms.TextBox()
|
Me.txtMehr = New System.Windows.Forms.TextBox()
|
||||||
Me.Label5 = New System.Windows.Forms.Label()
|
|
||||||
Me.txtAusz = New System.Windows.Forms.TextBox()
|
Me.txtAusz = New System.Windows.Forms.TextBox()
|
||||||
Me.lblMA = New System.Windows.Forms.Label()
|
Me.lblMA = New System.Windows.Forms.Label()
|
||||||
Me.Label7 = New System.Windows.Forms.Label()
|
Me.Label7 = New System.Windows.Forms.Label()
|
||||||
@@ -53,9 +52,10 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.picDel = New System.Windows.Forms.PictureBox()
|
Me.picDel = New System.Windows.Forms.PictureBox()
|
||||||
Me.txtAusz50vonSaldo = New System.Windows.Forms.TextBox()
|
Me.txtAusz50vonSaldo = New System.Windows.Forms.TextBox()
|
||||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
Me.Panel1 = New System.Windows.Forms.Panel()
|
||||||
Me.dgvUeberstunden = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
|
|
||||||
Me.txt50x1 = New System.Windows.Forms.TextBox()
|
|
||||||
Me.Label8 = New System.Windows.Forms.Label()
|
Me.Label8 = New System.Windows.Forms.Label()
|
||||||
|
Me.txt50x1 = New System.Windows.Forms.TextBox()
|
||||||
|
Me.dgvUeberstunden = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
|
||||||
|
Me.cbxoverwrite = New System.Windows.Forms.CheckBox()
|
||||||
CType(Me.picDel, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picDel, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.Panel1.SuspendLayout()
|
Me.Panel1.SuspendLayout()
|
||||||
CType(Me.dgvUeberstunden, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.dgvUeberstunden, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
@@ -133,15 +133,6 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.txtMehr.TabIndex = 7
|
Me.txtMehr.TabIndex = 7
|
||||||
Me.txtMehr.Text = "0"
|
Me.txtMehr.Text = "0"
|
||||||
'
|
'
|
||||||
'Label5
|
|
||||||
'
|
|
||||||
Me.Label5.AutoSize = True
|
|
||||||
Me.Label5.Location = New System.Drawing.Point(75, 179)
|
|
||||||
Me.Label5.Name = "Label5"
|
|
||||||
Me.Label5.Size = New System.Drawing.Size(86, 13)
|
|
||||||
Me.Label5.TabIndex = 8
|
|
||||||
Me.Label5.Text = "max. auszahlbar:"
|
|
||||||
'
|
|
||||||
'txtAusz
|
'txtAusz
|
||||||
'
|
'
|
||||||
Me.txtAusz.Location = New System.Drawing.Point(192, 196)
|
Me.txtAusz.Location = New System.Drawing.Point(192, 196)
|
||||||
@@ -325,6 +316,7 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
'
|
'
|
||||||
'Panel1
|
'Panel1
|
||||||
'
|
'
|
||||||
|
Me.Panel1.Controls.Add(Me.cbxoverwrite)
|
||||||
Me.Panel1.Controls.Add(Me.Label8)
|
Me.Panel1.Controls.Add(Me.Label8)
|
||||||
Me.Panel1.Controls.Add(Me.txt50x1)
|
Me.Panel1.Controls.Add(Me.txt50x1)
|
||||||
Me.Panel1.Controls.Add(Me.Label2)
|
Me.Panel1.Controls.Add(Me.Label2)
|
||||||
@@ -339,7 +331,6 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.Panel1.Controls.Add(Me.Label1)
|
Me.Panel1.Controls.Add(Me.Label1)
|
||||||
Me.Panel1.Controls.Add(Me.txtMehr)
|
Me.Panel1.Controls.Add(Me.txtMehr)
|
||||||
Me.Panel1.Controls.Add(Me.txtberAusz50)
|
Me.Panel1.Controls.Add(Me.txtberAusz50)
|
||||||
Me.Panel1.Controls.Add(Me.Label5)
|
|
||||||
Me.Panel1.Controls.Add(Me.txtberAusz100)
|
Me.Panel1.Controls.Add(Me.txtberAusz100)
|
||||||
Me.Panel1.Controls.Add(Me.txtAusz)
|
Me.Panel1.Controls.Add(Me.txtAusz)
|
||||||
Me.Panel1.Controls.Add(Me.txtSummeAuszb)
|
Me.Panel1.Controls.Add(Me.txtSummeAuszb)
|
||||||
@@ -350,9 +341,27 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.Panel1.Controls.Add(Me.txtAusz50)
|
Me.Panel1.Controls.Add(Me.txtAusz50)
|
||||||
Me.Panel1.Location = New System.Drawing.Point(15, 67)
|
Me.Panel1.Location = New System.Drawing.Point(15, 67)
|
||||||
Me.Panel1.Name = "Panel1"
|
Me.Panel1.Name = "Panel1"
|
||||||
Me.Panel1.Size = New System.Drawing.Size(421, 219)
|
Me.Panel1.Size = New System.Drawing.Size(421, 235)
|
||||||
Me.Panel1.TabIndex = 30
|
Me.Panel1.TabIndex = 30
|
||||||
'
|
'
|
||||||
|
'Label8
|
||||||
|
'
|
||||||
|
Me.Label8.AutoSize = True
|
||||||
|
Me.Label8.Location = New System.Drawing.Point(194, 179)
|
||||||
|
Me.Label8.Name = "Label8"
|
||||||
|
Me.Label8.Size = New System.Drawing.Size(56, 13)
|
||||||
|
Me.Label8.TabIndex = 33
|
||||||
|
Me.Label8.Text = "Auszahlen"
|
||||||
|
'
|
||||||
|
'txt50x1
|
||||||
|
'
|
||||||
|
Me.txt50x1.Location = New System.Drawing.Point(112, 108)
|
||||||
|
Me.txt50x1.Name = "txt50x1"
|
||||||
|
Me.txt50x1.ReadOnly = True
|
||||||
|
Me.txt50x1.Size = New System.Drawing.Size(49, 20)
|
||||||
|
Me.txt50x1.TabIndex = 32
|
||||||
|
Me.txt50x1.Text = "0"
|
||||||
|
'
|
||||||
'dgvUeberstunden
|
'dgvUeberstunden
|
||||||
'
|
'
|
||||||
Me.dgvUeberstunden.AKTUALISIERUNGS_INTERVALL = -1
|
Me.dgvUeberstunden.AKTUALISIERUNGS_INTERVALL = -1
|
||||||
@@ -367,23 +376,17 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Me.dgvUeberstunden.TabIndex = 13
|
Me.dgvUeberstunden.TabIndex = 13
|
||||||
Me.dgvUeberstunden.Visible = False
|
Me.dgvUeberstunden.Visible = False
|
||||||
'
|
'
|
||||||
'txt50x1
|
'cbxoverwrite
|
||||||
'
|
'
|
||||||
Me.txt50x1.Location = New System.Drawing.Point(112, 108)
|
Me.cbxoverwrite.AutoSize = True
|
||||||
Me.txt50x1.Name = "txt50x1"
|
Me.cbxoverwrite.Checked = True
|
||||||
Me.txt50x1.ReadOnly = True
|
Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked
|
||||||
Me.txt50x1.Size = New System.Drawing.Size(49, 20)
|
Me.cbxoverwrite.Location = New System.Drawing.Point(59, 179)
|
||||||
Me.txt50x1.TabIndex = 32
|
Me.cbxoverwrite.Name = "cbxoverwrite"
|
||||||
Me.txt50x1.Text = "0"
|
Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17)
|
||||||
'
|
Me.cbxoverwrite.TabIndex = 31
|
||||||
'Label8
|
Me.cbxoverwrite.Text = "max. auszahlbar"
|
||||||
'
|
Me.cbxoverwrite.UseVisualStyleBackColor = True
|
||||||
Me.Label8.AutoSize = True
|
|
||||||
Me.Label8.Location = New System.Drawing.Point(194, 179)
|
|
||||||
Me.Label8.Name = "Label8"
|
|
||||||
Me.Label8.Size = New System.Drawing.Size(56, 13)
|
|
||||||
Me.Label8.TabIndex = 33
|
|
||||||
Me.Label8.Text = "Auszahlen"
|
|
||||||
'
|
'
|
||||||
'frmUeberstundenauszahlen
|
'frmUeberstundenauszahlen
|
||||||
'
|
'
|
||||||
@@ -419,7 +422,6 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Friend WithEvents txt100 As Windows.Forms.TextBox
|
Friend WithEvents txt100 As Windows.Forms.TextBox
|
||||||
Friend WithEvents txt50 As Windows.Forms.TextBox
|
Friend WithEvents txt50 As Windows.Forms.TextBox
|
||||||
Friend WithEvents txtMehr As Windows.Forms.TextBox
|
Friend WithEvents txtMehr As Windows.Forms.TextBox
|
||||||
Friend WithEvents Label5 As Windows.Forms.Label
|
|
||||||
Friend WithEvents txtAusz As Windows.Forms.TextBox
|
Friend WithEvents txtAusz As Windows.Forms.TextBox
|
||||||
Friend WithEvents lblMA As Windows.Forms.Label
|
Friend WithEvents lblMA As Windows.Forms.Label
|
||||||
Friend WithEvents Label7 As Windows.Forms.Label
|
Friend WithEvents Label7 As Windows.Forms.Label
|
||||||
@@ -444,4 +446,5 @@ Partial Class frmUeberstundenauszahlen
|
|||||||
Friend WithEvents Panel1 As Windows.Forms.Panel
|
Friend WithEvents Panel1 As Windows.Forms.Panel
|
||||||
Friend WithEvents txt50x1 As Windows.Forms.TextBox
|
Friend WithEvents txt50x1 As Windows.Forms.TextBox
|
||||||
Friend WithEvents Label8 As Windows.Forms.Label
|
Friend WithEvents Label8 As Windows.Forms.Label
|
||||||
|
Friend WithEvents cbxoverwrite As Windows.Forms.CheckBox
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
Imports System.Threading
|
Imports System.Threading
|
||||||
Imports System.Windows.Forms
|
Imports System.Windows.Forms
|
||||||
Imports Microsoft.Office.Interop.Outlook
|
Imports Microsoft.Office.Interop.Outlook
|
||||||
|
Imports Therefore.API
|
||||||
|
|
||||||
Public Class frmUeberstundenauszahlen
|
Public Class frmUeberstundenauszahlen
|
||||||
|
|
||||||
@@ -12,7 +13,7 @@ Public Class frmUeberstundenauszahlen
|
|||||||
Dim dtResult As New DataTable
|
Dim dtResult As New DataTable
|
||||||
Dim tag As cFeiertage
|
Dim tag As cFeiertage
|
||||||
Dim auszahlugsdatum As New Date
|
Dim auszahlugsdatum As New Date
|
||||||
|
Dim maxUberstundenpruefung As Boolean = True
|
||||||
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere As Double
|
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere As Double
|
||||||
|
|
||||||
|
|
||||||
@@ -34,6 +35,21 @@ Public Class frmUeberstundenauszahlen
|
|||||||
|
|
||||||
getUeberstunden(False)
|
getUeberstunden(False)
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub cbxoverwrite_CheckedChanged(sender As Object, e As EventArgs) Handles cbxoverwrite.CheckedChanged
|
||||||
|
|
||||||
|
If Not cbxoverwrite.Checked Then
|
||||||
|
maxUberstundenpruefung = False 'Limit für max. auszahlbar deaktivieren!
|
||||||
|
Else
|
||||||
|
If Not maxUberstundenpruefung Then
|
||||||
|
maxUberstundenpruefung = True
|
||||||
|
getUeberstunden(cbxabwDatum.Checked)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles dtpMonat.ValueChanged, dtpBis.ValueChanged
|
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles dtpMonat.ValueChanged, dtpBis.ValueChanged
|
||||||
@@ -59,7 +75,7 @@ Public Class frmUeberstundenauszahlen
|
|||||||
timas.getTimeAccounts(startdate, enddate, MA.mit_timasId, timeaccountdt, dtResult)
|
timas.getTimeAccounts(startdate, enddate, MA.mit_timasId, timeaccountdt, dtResult)
|
||||||
|
|
||||||
If dtResult.Rows.Count < 1 Then
|
If dtResult.Rows.Count < 1 Then
|
||||||
MsgBox("Es konnten keine Stunden ermittelt werden!")
|
MsgBox("Für den gewählten Zeitraum konnten keine Stunden ermittelt werden!")
|
||||||
Panel1.Enabled = False
|
Panel1.Enabled = False
|
||||||
Exit Sub
|
Exit Sub
|
||||||
Else
|
Else
|
||||||
@@ -186,6 +202,7 @@ Public Class frmUeberstundenauszahlen
|
|||||||
stunden50bereitsausbezahlt = calc
|
stunden50bereitsausbezahlt = calc
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Berechnung von lfd Saldo im Zeitraum -> deaktiviert, es soll immer der aktuelle Saldo gezogen werden, egal in welchem Monat ich bin (22.02.2024)
|
||||||
'If r.Item("accountid") = "65" Then
|
'If r.Item("accountid") = "65" Then
|
||||||
' calc = CDbl(txtlfdSaldo.Text)
|
' calc = CDbl(txtlfdSaldo.Text)
|
||||||
' calc += r.Item("value") * (r.Item("multiplier") & "1")
|
' calc += r.Item("value") * (r.Item("multiplier") & "1")
|
||||||
@@ -210,7 +227,12 @@ Public Class frmUeberstundenauszahlen
|
|||||||
txt100x2.Text = stunden100auszbere
|
txt100x2.Text = stunden100auszbere
|
||||||
txt50x15.Text = stunden50auszbere
|
txt50x15.Text = stunden50auszbere
|
||||||
|
|
||||||
txtlfdSaldo.Text = timas.getTimeSaldo(MA.mit_timasId, "", "overallBalance") 'Saldo zu Stichtag, nicht aktueller Saldo!!!
|
'If CDbl(txtlfdSaldo.Text) < 0 Or auszahlugsdatum.Month = Today.Month AndAlso auszahlugsdatum.Year = Today.Year Then
|
||||||
|
'wenn berechneter Saldo negativ, dann ist im Regelfall das aktuelle MOnat noch nicht abgeschlossen!, daher anstatt den berechneten Saldo in overallBalance laden!
|
||||||
|
txtlfdSaldo.Text = timas.getTimeSaldo(MA.mit_timasId, "", "overallBalance")
|
||||||
|
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
stundenlfdSaldo = CDbl(txtlfdSaldo.Text)
|
stundenlfdSaldo = CDbl(txtlfdSaldo.Text)
|
||||||
stundenlfdSaldobere = stundenlfdSaldo
|
stundenlfdSaldobere = stundenlfdSaldo
|
||||||
@@ -248,12 +270,17 @@ Public Class frmUeberstundenauszahlen
|
|||||||
txt50x15.Text = stunden50auszbere
|
txt50x15.Text = stunden50auszbere
|
||||||
txt50x1.Text = stundenlfdSaldobere
|
txt50x1.Text = stundenlfdSaldobere
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If stundenlfdSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden können!
|
If stundenlfdSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden können!
|
||||||
|
|
||||||
Button1.Enabled = True
|
Button1.Enabled = True
|
||||||
|
|
||||||
Else
|
Else
|
||||||
Button1.Enabled = False
|
If maxUberstundenpruefung Then
|
||||||
|
Button1.Enabled = False
|
||||||
|
Else
|
||||||
|
Button1.Enabled = True
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -285,49 +312,6 @@ Public Class frmUeberstundenauszahlen
|
|||||||
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
|
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
'Dim ausz100 As Double = (CDbl(txt100x2.Text))
|
|
||||||
'Dim ausz50 As Double = (CDbl(txt50x15.Text))
|
|
||||||
'Dim ausz50vonldfSaldo As Double = CDbl(txtlfdSaldo.Text)
|
|
||||||
|
|
||||||
'If ausz50 + ausz100 + ausz50vonldfSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden!
|
|
||||||
' Button1.Enabled = True
|
|
||||||
'Else
|
|
||||||
' Button1.Enabled = False
|
|
||||||
'End If
|
|
||||||
|
|
||||||
|
|
||||||
'If summeAusz >= ausz100 Then
|
|
||||||
' txtAusz100.Text = ausz100
|
|
||||||
' summeAusz = summeAusz - ausz100
|
|
||||||
'Else
|
|
||||||
' txtAusz100.Text = summeAusz
|
|
||||||
' summeAusz = summeAusz - ausz100
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'If summeAusz >= ausz50 Then
|
|
||||||
' summeAusz = summeAusz - ausz50
|
|
||||||
' txtAusz50.Text = ausz50
|
|
||||||
'ElseIf summeAusz < 0 Then
|
|
||||||
' txtAusz50.Text = "0"
|
|
||||||
'Else
|
|
||||||
' txtAusz50.Text = summeAusz
|
|
||||||
' summeAusz = ausz50 - summeAusz
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'If summeAusz >= ausz50vonldfSaldo Then
|
|
||||||
' summeAusz = summeAusz - ausz50vonldfSaldo
|
|
||||||
' txtAusz50vonSaldo.Text = ausz50vonldfSaldo
|
|
||||||
'ElseIf summeAusz < 0 Then
|
|
||||||
' txtAusz50vonSaldo.Text = "0"
|
|
||||||
'Else
|
|
||||||
' txtAusz50vonSaldo.Text = summeAusz
|
|
||||||
' summeAusz = ausz50vonldfSaldo - summeAusz
|
|
||||||
'End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -354,8 +338,8 @@ Public Class frmUeberstundenauszahlen
|
|||||||
|
|
||||||
|
|
||||||
Dim sum100, sum50, gesamt As Double
|
Dim sum100, sum50, gesamt As Double
|
||||||
sum100 = Math.Round(CDbl(txtAusz100.Text) * 0.5, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
|
sum100 = RoundOfDigits(CDbl(txtAusz100.Text) * 0.5, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
|
||||||
sum50 = Math.Round(CDbl(txtAusz50.Text) * 0.67, 2) + CDbl(txtAusz50vonSaldo.Text)
|
sum50 = RoundOfDigits(CDbl(txtAusz50.Text) * 100 / 150, 2) + CDbl(txtAusz50vonSaldo.Text)
|
||||||
gesamt = CDbl(txtAusz.Text)
|
gesamt = CDbl(txtAusz.Text)
|
||||||
|
|
||||||
Dim aksAuszahlung As MsgBoxResult = MsgBox("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine & sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine & sum50 & "x 50% ÜS: " & CDbl(txtAusz50.Text) + CDbl(txtAusz50vonSaldo.Text) & vbNewLine & "ÜS gesamt: " & gesamt, vbYesNo)
|
Dim aksAuszahlung As MsgBoxResult = MsgBox("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine & sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine & sum50 & "x 50% ÜS: " & CDbl(txtAusz50.Text) + CDbl(txtAusz50vonSaldo.Text) & vbNewLine & "ÜS gesamt: " & gesamt, vbYesNo)
|
||||||
@@ -436,4 +420,9 @@ Public Class frmUeberstundenauszahlen
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Function RoundOfDigits(ByVal Value As Decimal, ByVal Digits As Integer) As Decimal
|
||||||
|
If Digits < 0 Then Return Math.Round(Value * CDec(Math.Pow(10, Digits)), 0, MidpointRounding.AwayFromZero) / CDec(Math.Pow(10, Digits))
|
||||||
|
Return Math.Round(Value, Digits)
|
||||||
|
End Function
|
||||||
End Class
|
End Class
|
||||||
Reference in New Issue
Block a user