From 2014ddb15f21fd6514414554e85d5b797e6fcb7f Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Fri, 1 Mar 2024 15:30:42 +0100 Subject: [PATCH] =?UTF-8?q?=C3=9C-Std.=20korr.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERAG_PROG_ALLGEMEIN/Classes/cUeberstunden.vb | 2 + .../frmUeberstundenauszahlen.Designer.vb | 74 +++++----- .../frmUeberstundenauszahlen.vb | 139 ++++++++---------- 3 files changed, 98 insertions(+), 117 deletions(-) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUeberstunden.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUeberstunden.vb index fbeb7b1f..13eef051 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUeberstunden.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUeberstunden.vb @@ -9,6 +9,7 @@ Public Class cUeberstunden Property uest_timasId As Object = Nothing Property uest_100 As Object = Nothing Property uest_50 As Object = Nothing + Property uest_25 As Object = Nothing Property uest_0 As Object = Nothing Property uest_date As Date = 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_100", uest_100)) 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_date", uest_date)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_created", uest_created)) diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb index 52b9b3f2..e0860b2e 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb @@ -48,7 +48,7 @@ Partial Class frmUeberstundenauszahlen Me.txtberAusz100 = New System.Windows.Forms.TextBox() Me.Label1 = New System.Windows.Forms.Label() 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.txtAusz50vonSaldo = New System.Windows.Forms.TextBox() Me.Panel1 = New System.Windows.Forms.Panel() @@ -92,7 +92,7 @@ Partial Class frmUeberstundenauszahlen 'Label2 ' 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.Size = New System.Drawing.Size(196, 13) Me.Label2.TabIndex = 2 @@ -101,7 +101,7 @@ Partial Class frmUeberstundenauszahlen 'Label3 ' 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.Size = New System.Drawing.Size(138, 13) Me.Label3.TabIndex = 3 @@ -110,7 +110,7 @@ Partial Class frmUeberstundenauszahlen 'Label4 ' 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.Size = New System.Drawing.Size(113, 13) Me.Label4.TabIndex = 4 @@ -118,7 +118,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txt100.Size = New System.Drawing.Size(47, 20) @@ -127,7 +127,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txt50.Size = New System.Drawing.Size(47, 20) @@ -136,7 +136,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txtMehr.Size = New System.Drawing.Size(47, 20) @@ -145,7 +145,7 @@ Partial Class frmUeberstundenauszahlen ' '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.Size = New System.Drawing.Size(54, 20) Me.txtAusz.TabIndex = 9 @@ -154,7 +154,7 @@ Partial Class frmUeberstundenauszahlen 'lblMA ' 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.Size = New System.Drawing.Size(56, 13) Me.lblMA.TabIndex = 10 @@ -163,7 +163,7 @@ Partial Class frmUeberstundenauszahlen 'Label7 ' 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.Size = New System.Drawing.Size(65, 13) Me.Label7.TabIndex = 11 @@ -181,7 +181,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txt100x2.Size = New System.Drawing.Size(49, 20) @@ -190,7 +190,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txt50x15.Size = New System.Drawing.Size(49, 20) @@ -199,7 +199,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txtAusz100.Size = New System.Drawing.Size(54, 20) @@ -208,7 +208,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txtAusz50.Size = New System.Drawing.Size(54, 20) @@ -253,7 +253,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txtSummeAuszb.Size = New System.Drawing.Size(49, 20) @@ -289,21 +289,21 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txtlfdSaldo.Size = New System.Drawing.Size(49, 20) Me.txtlfdSaldo.TabIndex = 26 Me.txtlfdSaldo.Text = "0" ' - 'Label6 + 'lbllfdSaldo ' - Me.Label6.AutoSize = True - Me.Label6.Location = New System.Drawing.Point(18, 92) - Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(48, 13) - Me.Label6.TabIndex = 27 - Me.Label6.Text = "lfd Saldo" + Me.lbllfdSaldo.AutoSize = True + Me.lbllfdSaldo.Location = New System.Drawing.Point(33, 92) + Me.lbllfdSaldo.Name = "lbllfdSaldo" + Me.lbllfdSaldo.Size = New System.Drawing.Size(48, 13) + Me.lbllfdSaldo.TabIndex = 27 + Me.lbllfdSaldo.Text = "lfd Saldo" ' 'picDel ' @@ -317,7 +317,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True 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.picDel) 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.txtlfdSaldo) Me.Panel1.Controls.Add(Me.txt50) @@ -422,7 +422,7 @@ Partial Class frmUeberstundenauszahlen 'Label8 ' 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.Size = New System.Drawing.Size(56, 13) Me.Label8.TabIndex = 33 @@ -430,7 +430,7 @@ Partial Class frmUeberstundenauszahlen ' '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.ReadOnly = True Me.txt50x1.Size = New System.Drawing.Size(49, 20) @@ -461,17 +461,15 @@ Partial Class frmUeberstundenauszahlen Me.dgvUeberstunden.TabIndex = 13 Me.dgvUeberstunden.Visible = False ' - 'cbxoverwrite + 'PictureBox1 ' - Me.cbxoverwrite.AutoSize = True - Me.cbxoverwrite.Checked = True - Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxoverwrite.Location = New System.Drawing.Point(59, 179) - Me.cbxoverwrite.Name = "cbxoverwrite" - Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17) - Me.cbxoverwrite.TabIndex = 31 - Me.cbxoverwrite.Text = "max. auszahlbar" - Me.cbxoverwrite.UseVisualStyleBackColor = True + Me.PictureBox1.BackgroundImage = CType(resources.GetObject("PictureBox1.BackgroundImage"), System.Drawing.Image) + Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox1.Location = New System.Drawing.Point(422, 12) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(29, 26) + Me.PictureBox1.TabIndex = 38 + Me.PictureBox1.TabStop = False ' 'picShow ' @@ -539,7 +537,7 @@ Partial Class frmUeberstundenauszahlen Friend WithEvents txtberAusz100 As Windows.Forms.TextBox Friend WithEvents Label1 As Windows.Forms.Label 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 txtAusz50vonSaldo As Windows.Forms.TextBox Friend WithEvents Panel1 As Windows.Forms.Panel diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb index 07323826..2d082bed 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb @@ -5,6 +5,7 @@ Imports System.Threading Imports System.Windows.Forms Imports System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip + Public Class frmUeberstundenauszahlen Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -17,7 +18,9 @@ Public Class frmUeberstundenauszahlen Dim tag As cFeiertage Dim auszahlugsdatum As New Date 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) @@ -95,6 +98,11 @@ Public Class frmUeberstundenauszahlen 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) Dim startdate, enddate As Date @@ -112,7 +120,6 @@ Public Class frmUeberstundenauszahlen 'dtbereitsausgezahlteUE.Clear() 'dtbereitsausgezahlteUE = SQL.loadDgvBySql(bereitsgezahlteueberstunden, "ADMIN", 100, True) - 'test Else 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 - 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 If dtAccouts IsNot Nothing AndAlso dtSumUeberstunden IsNot Nothing Then @@ -285,9 +292,13 @@ Public Class frmUeberstundenauszahlen End If Next + 'alle zurücksetzen, falls im neuen Monat dieser Wert nicht mitgegeben wird! + stunden50ausz = 0 + stunden100ausz = 0 + mehrabeit = 0 stunden50bereitsausbezahlt = 0 stunden100bereitsausbezahl = 0 - + stunden25bereitsausbezahlt = 0 If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then Dim calc As Double = 0 @@ -330,6 +341,15 @@ Public Class frmUeberstundenauszahlen stunden50bereitsausbezahlt = calc 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) 'If r.Item("accountid") = "65" Then ' calc = CDbl(txtlfdSaldo.Text) @@ -340,7 +360,7 @@ Public Class frmUeberstundenauszahlen End If Next - If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt) > 0 Then + If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then picDel.Visible = True Button1.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 - - - 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 - - + calcUeberstunden() End Sub @@ -461,12 +419,19 @@ Public Class frmUeberstundenauszahlen 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) - sum0 = CDbl(txtAusz50vonSaldo.Text) - gesamt = CDbl(txtAusz.Text) + sum0 = RoundOfDigits(CDbl(txtAusz50vonSaldo.Text) * 100 / faktorTeilzeit, 2) + 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 Dim dtsetEntries As New DataTable @@ -474,28 +439,28 @@ Public Class frmUeberstundenauszahlen dtsetEntries.Columns.Add("accountid", GetType(Integer)) dtsetEntries.Columns.Add("value", GetType(String)) - If sum100 >= 0 Then + If sum100 > 0 Then Dim row = dtsetEntries.NewRow row.Item("accountid") = 1550 row.Item("value") = sum100.ToString.Replace(",", ".") dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) End If - If sum50 >= 0 Then + If sum50 > 0 Then Dim row = dtsetEntries.NewRow row.Item("accountid") = 1551 row.Item("value") = sum50.ToString.Replace(",", ".") dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) End If - If sum0 >= 0 Then + If sum0 > 0 Then Dim row = dtsetEntries.NewRow - row.Item("accountid") = 1551 + row.Item("accountid") = IIf(istTeilzeit, 1553, 1551) row.Item("value") = sum0.ToString.Replace(",", ".") dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count) 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 row.Item("accountid") = 993 row.Item("value") = gesamt.ToString.Replace(",", ".") @@ -506,7 +471,7 @@ Public Class frmUeberstundenauszahlen ues.uest_timasId = MA.mit_timasId ues.uest_100 = sum100 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_ignoreLimit = Not maxUberstundenpruefung ues.uest_maxUE = CDbl(txtSummeAuszb.Text) @@ -532,7 +497,17 @@ Public Class frmUeberstundenauszahlen End Sub 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 Dim dtdeleteEntries As New DataTable @@ -555,6 +530,12 @@ Public Class frmUeberstundenauszahlen dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count) 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 Dim ues As New cUeberstunden(MA.mit_id, auszahlugsdatum.ToString("dd/MM/yyyy")) ues.uest_deleted = True