Ü-Std. korr.

This commit is contained in:
2024-03-01 15:30:42 +01:00
parent 5770894d1c
commit 2014ddb15f
3 changed files with 98 additions and 117 deletions

View File

@@ -9,6 +9,7 @@ Public Class cUeberstunden
Property uest_timasId As Object = Nothing Property uest_timasId As Object = Nothing
Property uest_100 As Object = Nothing Property uest_100 As Object = Nothing
Property uest_50 As Object = Nothing Property uest_50 As Object = Nothing
Property uest_25 As Object = Nothing
Property uest_0 As Object = Nothing Property uest_0 As Object = Nothing
Property uest_date As Date = Nothing Property uest_date As Date = Nothing
Property uest_created As Object = Nothing Property uest_created As Object = Nothing
@@ -45,6 +46,7 @@ Public Class cUeberstunden
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_timasId", uest_timasId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_timasId", uest_timasId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_100", uest_100)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_100", uest_100))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_50", uest_50)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_50", uest_50))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_25", uest_25))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_0", uest_0)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_0", uest_0))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_date", uest_date)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_date", uest_date))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_created", uest_created)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_created", uest_created))

View File

@@ -48,7 +48,7 @@ Partial Class frmUeberstundenauszahlen
Me.txtberAusz100 = New System.Windows.Forms.TextBox() Me.txtberAusz100 = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label()
Me.txtlfdSaldo = New System.Windows.Forms.TextBox() Me.txtlfdSaldo = New System.Windows.Forms.TextBox()
Me.Label6 = New System.Windows.Forms.Label() Me.lbllfdSaldo = New System.Windows.Forms.Label()
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()
@@ -92,7 +92,7 @@ Partial Class frmUeberstundenauszahlen
'Label2 'Label2
' '
Me.Label2.AutoSize = True Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(13, 11) Me.Label2.Location = New System.Drawing.Point(33, 11)
Me.Label2.Name = "Label2" Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(196, 13) Me.Label2.Size = New System.Drawing.Size(196, 13)
Me.Label2.TabIndex = 2 Me.Label2.TabIndex = 2
@@ -101,7 +101,7 @@ Partial Class frmUeberstundenauszahlen
'Label3 'Label3
' '
Me.Label3.AutoSize = True Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(12, 131) Me.Label3.Location = New System.Drawing.Point(32, 131)
Me.Label3.Name = "Label3" Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(138, 13) Me.Label3.Size = New System.Drawing.Size(138, 13)
Me.Label3.TabIndex = 3 Me.Label3.TabIndex = 3
@@ -110,7 +110,7 @@ Partial Class frmUeberstundenauszahlen
'Label4 'Label4
' '
Me.Label4.AutoSize = True Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(13, 53) Me.Label4.Location = New System.Drawing.Point(33, 53)
Me.Label4.Name = "Label4" Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(113, 13) Me.Label4.Size = New System.Drawing.Size(113, 13)
Me.Label4.TabIndex = 4 Me.Label4.TabIndex = 4
@@ -118,7 +118,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txt100 'txt100
' '
Me.txt100.Location = New System.Drawing.Point(16, 27) Me.txt100.Location = New System.Drawing.Point(36, 27)
Me.txt100.Name = "txt100" Me.txt100.Name = "txt100"
Me.txt100.ReadOnly = True Me.txt100.ReadOnly = True
Me.txt100.Size = New System.Drawing.Size(47, 20) Me.txt100.Size = New System.Drawing.Size(47, 20)
@@ -127,7 +127,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txt50 'txt50
' '
Me.txt50.Location = New System.Drawing.Point(16, 69) Me.txt50.Location = New System.Drawing.Point(36, 69)
Me.txt50.Name = "txt50" Me.txt50.Name = "txt50"
Me.txt50.ReadOnly = True Me.txt50.ReadOnly = True
Me.txt50.Size = New System.Drawing.Size(47, 20) Me.txt50.Size = New System.Drawing.Size(47, 20)
@@ -136,7 +136,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtMehr 'txtMehr
' '
Me.txtMehr.Location = New System.Drawing.Point(15, 147) Me.txtMehr.Location = New System.Drawing.Point(35, 147)
Me.txtMehr.Name = "txtMehr" Me.txtMehr.Name = "txtMehr"
Me.txtMehr.ReadOnly = True Me.txtMehr.ReadOnly = True
Me.txtMehr.Size = New System.Drawing.Size(47, 20) Me.txtMehr.Size = New System.Drawing.Size(47, 20)
@@ -145,7 +145,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtAusz 'txtAusz
' '
Me.txtAusz.Location = New System.Drawing.Point(192, 196) Me.txtAusz.Location = New System.Drawing.Point(212, 196)
Me.txtAusz.Name = "txtAusz" Me.txtAusz.Name = "txtAusz"
Me.txtAusz.Size = New System.Drawing.Size(54, 20) Me.txtAusz.Size = New System.Drawing.Size(54, 20)
Me.txtAusz.TabIndex = 9 Me.txtAusz.TabIndex = 9
@@ -154,7 +154,7 @@ Partial Class frmUeberstundenauszahlen
'lblMA 'lblMA
' '
Me.lblMA.AutoSize = True Me.lblMA.AutoSize = True
Me.lblMA.Location = New System.Drawing.Point(238, 6) Me.lblMA.Location = New System.Drawing.Point(236, 25)
Me.lblMA.Name = "lblMA" Me.lblMA.Name = "lblMA"
Me.lblMA.Size = New System.Drawing.Size(56, 13) Me.lblMA.Size = New System.Drawing.Size(56, 13)
Me.lblMA.TabIndex = 10 Me.lblMA.TabIndex = 10
@@ -163,7 +163,7 @@ Partial Class frmUeberstundenauszahlen
'Label7 'Label7
' '
Me.Label7.AutoSize = True Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(238, 26) Me.Label7.Location = New System.Drawing.Point(236, 45)
Me.Label7.Name = "Label7" Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(65, 13) Me.Label7.Size = New System.Drawing.Size(65, 13)
Me.Label7.TabIndex = 11 Me.Label7.TabIndex = 11
@@ -181,7 +181,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txt100x2 'txt100x2
' '
Me.txt100x2.Location = New System.Drawing.Point(112, 27) Me.txt100x2.Location = New System.Drawing.Point(132, 27)
Me.txt100x2.Name = "txt100x2" Me.txt100x2.Name = "txt100x2"
Me.txt100x2.ReadOnly = True Me.txt100x2.ReadOnly = True
Me.txt100x2.Size = New System.Drawing.Size(49, 20) Me.txt100x2.Size = New System.Drawing.Size(49, 20)
@@ -190,7 +190,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txt50x15 'txt50x15
' '
Me.txt50x15.Location = New System.Drawing.Point(112, 69) Me.txt50x15.Location = New System.Drawing.Point(132, 69)
Me.txt50x15.Name = "txt50x15" Me.txt50x15.Name = "txt50x15"
Me.txt50x15.ReadOnly = True Me.txt50x15.ReadOnly = True
Me.txt50x15.Size = New System.Drawing.Size(49, 20) Me.txt50x15.Size = New System.Drawing.Size(49, 20)
@@ -199,7 +199,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtAusz100 'txtAusz100
' '
Me.txtAusz100.Location = New System.Drawing.Point(197, 27) Me.txtAusz100.Location = New System.Drawing.Point(217, 27)
Me.txtAusz100.Name = "txtAusz100" Me.txtAusz100.Name = "txtAusz100"
Me.txtAusz100.ReadOnly = True Me.txtAusz100.ReadOnly = True
Me.txtAusz100.Size = New System.Drawing.Size(54, 20) Me.txtAusz100.Size = New System.Drawing.Size(54, 20)
@@ -208,7 +208,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtAusz50 'txtAusz50
' '
Me.txtAusz50.Location = New System.Drawing.Point(197, 69) Me.txtAusz50.Location = New System.Drawing.Point(217, 69)
Me.txtAusz50.Name = "txtAusz50" Me.txtAusz50.Name = "txtAusz50"
Me.txtAusz50.ReadOnly = True Me.txtAusz50.ReadOnly = True
Me.txtAusz50.Size = New System.Drawing.Size(54, 20) Me.txtAusz50.Size = New System.Drawing.Size(54, 20)
@@ -253,7 +253,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtSummeAuszb 'txtSummeAuszb
' '
Me.txtSummeAuszb.Location = New System.Drawing.Point(110, 196) Me.txtSummeAuszb.Location = New System.Drawing.Point(130, 196)
Me.txtSummeAuszb.Name = "txtSummeAuszb" Me.txtSummeAuszb.Name = "txtSummeAuszb"
Me.txtSummeAuszb.ReadOnly = True Me.txtSummeAuszb.ReadOnly = True
Me.txtSummeAuszb.Size = New System.Drawing.Size(49, 20) Me.txtSummeAuszb.Size = New System.Drawing.Size(49, 20)
@@ -289,21 +289,21 @@ Partial Class frmUeberstundenauszahlen
' '
'txtlfdSaldo 'txtlfdSaldo
' '
Me.txtlfdSaldo.Location = New System.Drawing.Point(17, 108) Me.txtlfdSaldo.Location = New System.Drawing.Point(36, 108)
Me.txtlfdSaldo.Name = "txtlfdSaldo" Me.txtlfdSaldo.Name = "txtlfdSaldo"
Me.txtlfdSaldo.ReadOnly = True Me.txtlfdSaldo.ReadOnly = True
Me.txtlfdSaldo.Size = New System.Drawing.Size(49, 20) Me.txtlfdSaldo.Size = New System.Drawing.Size(49, 20)
Me.txtlfdSaldo.TabIndex = 26 Me.txtlfdSaldo.TabIndex = 26
Me.txtlfdSaldo.Text = "0" Me.txtlfdSaldo.Text = "0"
' '
'Label6 'lbllfdSaldo
' '
Me.Label6.AutoSize = True Me.lbllfdSaldo.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(18, 92) Me.lbllfdSaldo.Location = New System.Drawing.Point(33, 92)
Me.Label6.Name = "Label6" Me.lbllfdSaldo.Name = "lbllfdSaldo"
Me.Label6.Size = New System.Drawing.Size(48, 13) Me.lbllfdSaldo.Size = New System.Drawing.Size(48, 13)
Me.Label6.TabIndex = 27 Me.lbllfdSaldo.TabIndex = 27
Me.Label6.Text = "lfd Saldo" Me.lbllfdSaldo.Text = "lfd Saldo"
' '
'picDel 'picDel
' '
@@ -317,7 +317,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txtAusz50vonSaldo 'txtAusz50vonSaldo
' '
Me.txtAusz50vonSaldo.Location = New System.Drawing.Point(197, 108) Me.txtAusz50vonSaldo.Location = New System.Drawing.Point(217, 108)
Me.txtAusz50vonSaldo.Name = "txtAusz50vonSaldo" Me.txtAusz50vonSaldo.Name = "txtAusz50vonSaldo"
Me.txtAusz50vonSaldo.ReadOnly = True Me.txtAusz50vonSaldo.ReadOnly = True
Me.txtAusz50vonSaldo.Size = New System.Drawing.Size(49, 20) Me.txtAusz50vonSaldo.Size = New System.Drawing.Size(49, 20)
@@ -341,7 +341,7 @@ Partial Class frmUeberstundenauszahlen
Me.Panel1.Controls.Add(Me.Label3) Me.Panel1.Controls.Add(Me.Label3)
Me.Panel1.Controls.Add(Me.picDel) Me.Panel1.Controls.Add(Me.picDel)
Me.Panel1.Controls.Add(Me.Label4) Me.Panel1.Controls.Add(Me.Label4)
Me.Panel1.Controls.Add(Me.Label6) Me.Panel1.Controls.Add(Me.lbllfdSaldo)
Me.Panel1.Controls.Add(Me.txt100) Me.Panel1.Controls.Add(Me.txt100)
Me.Panel1.Controls.Add(Me.txtlfdSaldo) Me.Panel1.Controls.Add(Me.txtlfdSaldo)
Me.Panel1.Controls.Add(Me.txt50) Me.Panel1.Controls.Add(Me.txt50)
@@ -422,7 +422,7 @@ Partial Class frmUeberstundenauszahlen
'Label8 'Label8
' '
Me.Label8.AutoSize = True Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(194, 179) Me.Label8.Location = New System.Drawing.Point(214, 179)
Me.Label8.Name = "Label8" Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(56, 13) Me.Label8.Size = New System.Drawing.Size(56, 13)
Me.Label8.TabIndex = 33 Me.Label8.TabIndex = 33
@@ -430,7 +430,7 @@ Partial Class frmUeberstundenauszahlen
' '
'txt50x1 'txt50x1
' '
Me.txt50x1.Location = New System.Drawing.Point(112, 108) Me.txt50x1.Location = New System.Drawing.Point(132, 108)
Me.txt50x1.Name = "txt50x1" Me.txt50x1.Name = "txt50x1"
Me.txt50x1.ReadOnly = True Me.txt50x1.ReadOnly = True
Me.txt50x1.Size = New System.Drawing.Size(49, 20) Me.txt50x1.Size = New System.Drawing.Size(49, 20)
@@ -461,17 +461,15 @@ Partial Class frmUeberstundenauszahlen
Me.dgvUeberstunden.TabIndex = 13 Me.dgvUeberstunden.TabIndex = 13
Me.dgvUeberstunden.Visible = False Me.dgvUeberstunden.Visible = False
' '
'cbxoverwrite 'PictureBox1
' '
Me.cbxoverwrite.AutoSize = True Me.PictureBox1.BackgroundImage = CType(resources.GetObject("PictureBox1.BackgroundImage"), System.Drawing.Image)
Me.cbxoverwrite.Checked = True Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked Me.PictureBox1.Location = New System.Drawing.Point(422, 12)
Me.cbxoverwrite.Location = New System.Drawing.Point(59, 179) Me.PictureBox1.Name = "PictureBox1"
Me.cbxoverwrite.Name = "cbxoverwrite" Me.PictureBox1.Size = New System.Drawing.Size(29, 26)
Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17) Me.PictureBox1.TabIndex = 38
Me.cbxoverwrite.TabIndex = 31 Me.PictureBox1.TabStop = False
Me.cbxoverwrite.Text = "max. auszahlbar"
Me.cbxoverwrite.UseVisualStyleBackColor = True
' '
'picShow 'picShow
' '
@@ -539,7 +537,7 @@ Partial Class frmUeberstundenauszahlen
Friend WithEvents txtberAusz100 As Windows.Forms.TextBox Friend WithEvents txtberAusz100 As Windows.Forms.TextBox
Friend WithEvents Label1 As Windows.Forms.Label Friend WithEvents Label1 As Windows.Forms.Label
Friend WithEvents txtlfdSaldo As Windows.Forms.TextBox Friend WithEvents txtlfdSaldo As Windows.Forms.TextBox
Friend WithEvents Label6 As Windows.Forms.Label Friend WithEvents lbllfdSaldo As Windows.Forms.Label
Friend WithEvents picDel As Windows.Forms.PictureBox Friend WithEvents picDel As Windows.Forms.PictureBox
Friend WithEvents txtAusz50vonSaldo As Windows.Forms.TextBox Friend WithEvents txtAusz50vonSaldo As Windows.Forms.TextBox
Friend WithEvents Panel1 As Windows.Forms.Panel Friend WithEvents Panel1 As Windows.Forms.Panel

View File

@@ -5,6 +5,7 @@ Imports System.Threading
Imports System.Windows.Forms Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip Imports System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip
Public Class frmUeberstundenauszahlen Public Class frmUeberstundenauszahlen
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -17,7 +18,9 @@ Public Class frmUeberstundenauszahlen
Dim tag As cFeiertage Dim tag As cFeiertage
Dim auszahlugsdatum As New Date Dim auszahlugsdatum As New Date
Dim maxUberstundenpruefung As Boolean = True Dim maxUberstundenpruefung As Boolean = True
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere As Double Dim istTeilzeit As Boolean = False
Dim faktorTeilzeit As Double = 100
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, stunden25bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere, overwrittenSum As Double
Sub New(mit_id) Sub New(mit_id)
@@ -95,6 +98,11 @@ Public Class frmUeberstundenauszahlen
End Sub End Sub
Private Sub cbxTeilzeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTeilzeit.CheckedChanged
istTeilzeit = cbxTeilzeit.Checked
changeTeilzeit()
End Sub
Private Sub getUeberstunden(abwDatum As Boolean) Private Sub getUeberstunden(abwDatum As Boolean)
Dim startdate, enddate As Date Dim startdate, enddate As Date
@@ -112,7 +120,6 @@ Public Class frmUeberstundenauszahlen
'dtbereitsausgezahlteUE.Clear() 'dtbereitsausgezahlteUE.Clear()
'dtbereitsausgezahlteUE = SQL.loadDgvBySql(bereitsgezahlteueberstunden, "ADMIN", 100, True) 'dtbereitsausgezahlteUE = SQL.loadDgvBySql(bereitsgezahlteueberstunden, "ADMIN", 100, True)
'test
Else Else
startdate = tag.GetFirstyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True) startdate = tag.GetFirstyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True)
@@ -137,7 +144,7 @@ Public Class frmUeberstundenauszahlen
End Sub End Sub
Private Function calcUeberstunden(dtAccouts As DataTable, dtSumUeberstunden As DataTable) As DataTable Private Function getUeberstunden(dtAccouts As DataTable, dtSumUeberstunden As DataTable) As DataTable
Dim dtmerged As DataTable Dim dtmerged As DataTable
If dtAccouts IsNot Nothing AndAlso dtSumUeberstunden IsNot Nothing Then If dtAccouts IsNot Nothing AndAlso dtSumUeberstunden IsNot Nothing Then
@@ -285,9 +292,13 @@ Public Class frmUeberstundenauszahlen
End If End If
Next Next
'alle zurücksetzen, falls im neuen Monat dieser Wert nicht mitgegeben wird!
stunden50ausz = 0
stunden100ausz = 0
mehrabeit = 0
stunden50bereitsausbezahlt = 0 stunden50bereitsausbezahlt = 0
stunden100bereitsausbezahl = 0 stunden100bereitsausbezahl = 0
stunden25bereitsausbezahlt = 0
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim calc As Double = 0 Dim calc As Double = 0
@@ -330,6 +341,15 @@ Public Class frmUeberstundenauszahlen
stunden50bereitsausbezahlt = calc stunden50bereitsausbezahlt = calc
End If End If
If r.Item("accountid") = "1553" Then
txtberAusz25.Visible = True
calc = CDbl(txtberAusz25.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txtberAusz25.Text = calc
stunden25bereitsausbezahlt = calc
cbxTeilzeit.Checked = True
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) '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)
@@ -340,7 +360,7 @@ Public Class frmUeberstundenauszahlen
End If End If
Next Next
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt) > 0 Then If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then
picDel.Visible = True picDel.Visible = True
Button1.Enabled = False Button1.Enabled = False
txtAusz.Enabled = False txtAusz.Enabled = False
@@ -375,69 +395,7 @@ Public Class frmUeberstundenauszahlen
Private Sub txtAusz_TextChanged(sender As Object, e As EventArgs) Handles txtAusz.TextChanged Private Sub txtAusz_TextChanged(sender As Object, e As EventArgs) Handles txtAusz.TextChanged
calcUeberstunden()
If txtAusz.Text <> "" AndAlso IsNumeric(txtAusz.Text) Then
Dim summeAusz = CDbl(txtAusz.Text)
If summeAusz <= 0 Then
txtAusz50vonSaldo.Text = "0"
txtAusz50.Text = "0"
txtAusz100.Text = "0"
txtAusz.Text = "0"
Button1.Enabled = False
Exit Sub
End If
txt100x2.Text = stunden100auszbere
txt50x15.Text = stunden50auszbere
txt50x1.Text = stundenlfdSaldobere
If stundenlfdSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden können!
Button1.Enabled = True
Else
If maxUberstundenpruefung Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
End If
If summeAusz >= stunden100auszbere Then
txtAusz100.Text = stunden100auszbere
Else
txtAusz100.Text = summeAusz
End If
summeAusz = Math.Round(summeAusz - stunden100auszbere, 2)
If summeAusz >= stunden50auszbere Then
txtAusz50.Text = stunden50auszbere
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
ElseIf summeAusz < 0 Then
txtAusz50.Text = "0"
Else
txtAusz50.Text = summeAusz
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
End If
If summeAusz >= stundenlfdSaldo Then
txtAusz50vonSaldo.Text = stundenlfdSaldo
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
ElseIf summeAusz < 0 Then
txtAusz50vonSaldo.Text = "0"
Else
txtAusz50vonSaldo.Text = summeAusz
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
End If
End If
End Sub End Sub
@@ -461,12 +419,19 @@ Public Class frmUeberstundenauszahlen
Dim sum100, sum50, sum0, gesamt As Double Dim sum100, sum50, sum0, gesamt As Double
sum100 = RoundOfDigits(CDbl(txtAusz100.Text) * 0.5, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS! 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 / 150, 2)
sum0 = CDbl(txtAusz50vonSaldo.Text) sum0 = RoundOfDigits(CDbl(txtAusz50vonSaldo.Text) * 100 / faktorTeilzeit, 2)
gesamt = CDbl(txtAusz.Text) gesamt = IIf(overwrittenSum > 0, overwrittenSum, 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 txtAusgabe As New StringBuilder
txtAusgabe.Append("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine)
txtAusgabe.Append(sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine)
txtAusgabe.Append(IIf(Not istTeilzeit, sum50 + sum0, sum50) & "x 50% ÜS: " & CDbl(txtAusz50.Text) + IIf(Not istTeilzeit, CDbl(txtAusz50vonSaldo.Text), 0) & vbNewLine)
If istTeilzeit Then txtAusgabe.Append(sum0 & "x 25% ÜS: " & CDbl(txtAusz50vonSaldo.Text) & vbNewLine)
txtAusgabe.Append("ÜS gesamt: " & gesamt)
Dim aksAuszahlung As MsgBoxResult = MsgBox(txtAusgabe.ToString, vbYesNo)
If aksAuszahlung = vbYes Then If aksAuszahlung = vbYes Then
Dim dtsetEntries As New DataTable Dim dtsetEntries As New DataTable
@@ -474,28 +439,28 @@ Public Class frmUeberstundenauszahlen
dtsetEntries.Columns.Add("accountid", GetType(Integer)) dtsetEntries.Columns.Add("accountid", GetType(Integer))
dtsetEntries.Columns.Add("value", GetType(String)) dtsetEntries.Columns.Add("value", GetType(String))
If sum100 >= 0 Then If sum100 > 0 Then
Dim row = dtsetEntries.NewRow Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1550 row.Item("accountid") = 1550
row.Item("value") = sum100.ToString.Replace(",", ".") row.Item("value") = sum100.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If End If
If sum50 >= 0 Then If sum50 > 0 Then
Dim row = dtsetEntries.NewRow Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1551 row.Item("accountid") = 1551
row.Item("value") = sum50.ToString.Replace(",", ".") row.Item("value") = sum50.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If End If
If sum0 >= 0 Then If sum0 > 0 Then
Dim row = dtsetEntries.NewRow Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1551 row.Item("accountid") = IIf(istTeilzeit, 1553, 1551)
row.Item("value") = sum0.ToString.Replace(",", ".") row.Item("value") = sum0.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If End If
If gesamt >= 0 Then 'vom ldf Saldo, ev. über API Möglich monatliche Korrektur direkt zu befüllen, dann muss dieser If Zweig überarbeitet werden!!!!!!!!!!!!!! If gesamt > 0 Then 'vom ldf Saldo, ev. über API Möglich monatliche Korrektur direkt zu befüllen, dann muss dieser If Zweig überarbeitet werden!!!!!!!!!!!!!!
Dim row = dtsetEntries.NewRow Dim row = dtsetEntries.NewRow
row.Item("accountid") = 993 row.Item("accountid") = 993
row.Item("value") = gesamt.ToString.Replace(",", ".") row.Item("value") = gesamt.ToString.Replace(",", ".")
@@ -506,7 +471,7 @@ Public Class frmUeberstundenauszahlen
ues.uest_timasId = MA.mit_timasId ues.uest_timasId = MA.mit_timasId
ues.uest_100 = sum100 ues.uest_100 = sum100
ues.uest_50 = sum50 ues.uest_50 = sum50
ues.uest_0 = sum0 ues.uest_overwriteValue = IIf(cbx100.Checked Or cbx50.Checked Or cx25.Checked, True, False)
ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
ues.uest_ignoreLimit = Not maxUberstundenpruefung ues.uest_ignoreLimit = Not maxUberstundenpruefung
ues.uest_maxUE = CDbl(txtSummeAuszb.Text) ues.uest_maxUE = CDbl(txtSummeAuszb.Text)
@@ -532,7 +497,17 @@ Public Class frmUeberstundenauszahlen
End Sub End Sub
Private Sub picDel_Click(sender As Object, e As EventArgs) Handles picDel.Click Private Sub picDel_Click(sender As Object, e As EventArgs) Handles picDel.Click
Dim aksAuszahlung As MsgBoxResult = MsgBox("Ausbezahlte Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " zurücksetzen?" & vbNewLine & "100% ÜS: " & txtberAusz100.Text & vbNewLine & "50% ÜS: " & txtberAusz50.Text & vbNewLine & "ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text), vbYesNo)
Dim txtAusgabe As New StringBuilder
txtAusgabe.Append("Ausbezahlte Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " zurücksetzen?" & vbNewLine)
txtAusgabe.Append("100% ÜS: " & txtberAusz100.Text & vbNewLine)
txtAusgabe.Append("50% ÜS: " & txtberAusz50.Text + IIf(Not istTeilzeit, CDbl(txtberAusz25.Text), 0) & vbNewLine)
If istTeilzeit Then txtAusgabe.Append("25% ÜS: " & CDbl(txtberAusz25.Text) & vbNewLine)
txtAusgabe.Append("ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text) + CDbl(txtberAusz25.Text))
Dim aksAuszahlung As MsgBoxResult = MsgBox(txtAusgabe.ToString, vbYesNo)
If aksAuszahlung = vbYes Then If aksAuszahlung = vbYes Then
Dim dtdeleteEntries As New DataTable Dim dtdeleteEntries As New DataTable
@@ -555,6 +530,12 @@ Public Class frmUeberstundenauszahlen
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count) dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If End If
If txtberAusz25.Text <> "" AndAlso IsNumeric(txtberAusz25.Text) Then
Dim row = dtdeleteEntries.NewRow
row.Item("accountid") = 1553
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If
If timas.deleteTimeAccounts(auszahlugsdatum, auszahlugsdatum, MA.mit_timasId, dtdeleteEntries) Then If timas.deleteTimeAccounts(auszahlugsdatum, auszahlugsdatum, MA.mit_timasId, dtdeleteEntries) Then
Dim ues As New cUeberstunden(MA.mit_id, auszahlugsdatum.ToString("dd/MM/yyyy")) Dim ues As New cUeberstunden(MA.mit_id, auszahlugsdatum.ToString("dd/MM/yyyy"))
ues.uest_deleted = True ues.uest_deleted = True