Messenger, Ueberstunden

This commit is contained in:
2024-03-07 14:21:52 +01:00
parent bcba9114c7
commit 25d5767574
8 changed files with 142 additions and 38 deletions

View File

@@ -9,6 +9,7 @@ Public Class frmUeberstundenauszahlen
Dim MA As cMitarbeiter = Nothing
Dim timas As cTimasAPI = New cTimasAPI
Dim dt As New DataTable
Dim customFields As New DataTable
Dim timeaccountdt As New DataTable
Dim dtResult As New DataTable
'Dim dtbereitsausgezahlteUE As New DataTable
@@ -17,6 +18,7 @@ Public Class frmUeberstundenauszahlen
Dim maxUberstundenpruefung As Boolean = True
Dim istTeilzeit As Boolean = False
Dim faktorTeilzeit As Double = 100
Dim faktorSamstagsarbeit As Double = 150
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, stunden25bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere, overwrittenSum As Double
@@ -29,6 +31,7 @@ Public Class frmUeberstundenauszahlen
MA = New cMitarbeiter(mit_id)
tag = New cFeiertage(DateTime.Parse(dtpMonat.Value).Year)
Label7.Text = MA.mit_vname & " " & MA.mit_nname
timas.getEmployee(MA.mit_timasId, customFields)
timas.getTimeaccountList(dt)
'65;"01-Lfd Saldo"
@@ -73,6 +76,39 @@ Public Class frmUeberstundenauszahlen
getUeberstunden(False)
For Each row As DataRow In customFields.Rows
If Not IsDBNull(row.Item("value")) AndAlso Not IsDBNull(row.Item("name")) Then
If row.Item("name") = "Teilzeit" Then
If row.Item("value") = "true" Then
cbxTeilzeit.Checked = True
Else
cbxTeilzeit.Checked = False
End If
End If
If row.Item("name") = "SA-Zuschlag" Then
If row.Item("value") = "true" Then
faktorSamstagsarbeit = 150 'Samstagsarbeit wir im Timas hochgerechnet
Else
faktorSamstagsarbeit = 100 'Samstagsarbeit wir im Timas NICHT hochgerechnet
End If
End If
If row.Item("name") = "Zuschlagsfrei" Then
If row.Item("value") = "true" Then
lblWarning.Text = "Zuschlagsfrei"
Else
lblWarning.Text = ""
End If
End If
End If
Next
End Sub
@@ -127,10 +163,11 @@ Public Class frmUeberstundenauszahlen
timas.getTimeAccounts(startdate, enddate, MA.mit_timasId, timeaccountdt, dtResult)
If dtResult.Rows.Count < 1 Then
MsgBox("Für den gewählten Zeitraum konnten keine Stunden ermittelt werden!")
lblWarning.Text = "Für den gewählten Zeitraum konnten keine Stunden ermittelt werden!"
Panel1.Enabled = False
Exit Sub
Else
lblWarning.Text = ""
Panel1.Enabled = True
End If
@@ -438,7 +475,7 @@ Public Class frmUeberstundenauszahlen
Dim sum100, sum50, sum0, gesamt As Double
sum100 = RoundOfDigits(CDbl(txtAusz100.Text) * 100 / 200, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
sum50 = RoundOfDigits(CDbl(txtAusz50.Text) * 100 / 150, 2)
sum50 = RoundOfDigits(CDbl(txtAusz50.Text) * 100 / faktorSamstagsarbeit, 2)
sum0 = RoundOfDigits(CDbl(txtAusz50vonSaldo.Text) * 100 / faktorTeilzeit, 2)
gesamt = IIf(overwrittenSum > 0, overwrittenSum, CDbl(txtAusz.Text))
@@ -494,6 +531,7 @@ Public Class frmUeberstundenauszahlen
ues.uest_ignoreLimit = Not maxUberstundenpruefung
ues.uest_maxUE = CDbl(txtSummeAuszb.Text)
ues.uest_paidout_sum = gesamt
ues.uest_isParttime = cbxTeilzeit.Checked
If istTeilzeit Then
ues.uest_25 = sum0
@@ -683,9 +721,9 @@ Public Class frmUeberstundenauszahlen
If stundenlfdSaldo <= 0 Then Button1.Enabled = False
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then
txtSummeAuszb.Text = stundenlfdSaldo
Else
txtSummeAuszb.Text = stundenlfdSaldobere
Else
txtSummeAuszb.Text = stundenlfdSaldo
End If