This commit is contained in:
2024-03-01 15:01:01 +01:00
parent 3211e1e60f
commit 8e74638768
3 changed files with 159 additions and 37 deletions

View File

@@ -1,16 +1,20 @@

Imports System.Drawing
Imports System.Text
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
Dim MA As cMitarbeiter = Nothing
Dim timas As cTimasAPI = New cTimasAPI
Dim dt As New DataTable
Dim timeaccountdt As New DataTable
Dim dtResult As New DataTable
'Dim dtbereitsausgezahlteUE As New DataTable
Dim tag As cFeiertage
Dim auszahlugsdatum As New Date
Dim maxUberstundenpruefung As Boolean = True
@@ -30,9 +34,44 @@ Public Class frmUeberstundenauszahlen
Label7.Text = MA.mit_vname & " " & MA.mit_nname
timas.getTimeaccountList(dt)
'65;"01-Lfd Saldo"
'66;02-Krank
'67;03-Urlaub
'69;"10-Na 22-06"
'70;"11-Sa 00-24"
'72;"13-So 00-24"
'73;"14-FtN 00-24"
'438;04-Sonstige
'986;Stundenlohn
'987;FT-Ersatzzeit
'993;"Ausz. ÜS"
'1209;Mehrarbeit
'1210;"Script hilfskonto WSaldo"
'1227;Schichtzulage
'1231;Urlaubsstunden
'1235;"Überstunden 100% gesamt"
'1257;Zuschlag
'1272;"unbezahlter Urlaub"
'1366;"Mehrarbeit am 25. des Monats gesamt"
'1393;"Urlaub (Stunden)"
'1550;"AUSZ ÜS 100%"
'1551;"AUSZ ÜS 50%"
'65
'69
'70
'72
'73
'1209
'1235
'1550
'1551
'1553
Dim dv = New DataView(dt)
dv.RowFilter = "info like '%zuschlag%' Or name = 'Mehrarbeit' Or name like 'Überstunden%' Or info like 'Auszahlungskonto%' Or name like '%01-Lfd Saldo%'"
dv.RowFilter = "accountid = 65 Or accountid = 69 Or accountid = 70 Or accountid = 72 Or accountid = 73 Or accountid = 1209 Or accountid = 1235 Or accountid = 1550 Or accountid = 1551 Or accountid = 1553"
timeaccountdt = dv.ToTable
getUeberstunden(False)
@@ -73,6 +112,15 @@ Public Class frmUeberstundenauszahlen
startdate = (dtpMonat.Value)
enddate = (dtpBis.Value)
auszahlugsdatum = tag.GetLastyDayYInxMonth(enddate.DayOfWeek, enddate.Month, enddate.Year, True) 'Endmonat des Enddates
'Dim bereitsgezahlteueberstunden = "select sum(isnull(uest_100,0)) as ue100 , sum(isnull(uest_50,0)) as ue50, sum(isnull(uest_25,0)) as ue25, sum(isnull(uest_0,0)) as ue0
'FROM [ADMIN].[dbo].[tblUeberstunden]
'where uest_date between '" & startdate & "' and '" & enddate & "' and uest_deleted = 0 and uest_maId = " & MA.mit_id & "
'group by uest_maId"
'dtbereitsausgezahlteUE.Clear()
'dtbereitsausgezahlteUE = SQL.loadDgvBySql(bereitsgezahlteueberstunden, "ADMIN", 100, True)
Else
startdate = tag.GetFirstyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True)
enddate = tag.GetLastyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True)
@@ -89,9 +137,8 @@ Public Class frmUeberstundenauszahlen
Panel1.Enabled = True
End If
Dim dt = getUeberstunden(timeaccountdt, dtResult)
dt = getUeberstunden(timeaccountdt, dtResult)
fillFields(dt)
dgvUeberstunden.DataSource = dt
End If
End Sub
@@ -119,10 +166,10 @@ Public Class frmUeberstundenauszahlen
dtmerged.AcceptChanges()
End If
If (dtmerged.Columns.Contains("date")) Then
dtmerged.Columns.Remove("date")
dtmerged.AcceptChanges()
End If
'If (dtmerged.Columns.Contains("date")) Then
' dtmerged.Columns.Remove("date")
' dtmerged.AcceptChanges()
'End If
Dim groups = dtmerged.AsEnumerable().
@@ -159,6 +206,44 @@ Public Class frmUeberstundenauszahlen
getUeberstunden(cbxabwDatum.Checked)
End Sub
Private Sub picShow_Click(sender As Object, e As EventArgs) Handles picShow.Click
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim frm As New Form
Dim dgv As New DataGridView()
If dt.Rows.Count = 0 Then
MsgBox("keine Daten vorhanden!")
Exit Sub
End If
Dim dv = New DataView(dt)
dv.RowFilter = "accountid = 1550 Or accountid = 1551 Or accountid = 1553"
dgv.DataSource = dv.ToTable
If dgv IsNot Nothing Then
frm.Size = New Size(500, 500)
dgv.Size = New Size(frm.Size.Width, frm.Size.Height)
dgv.Dock = DockStyle.Fill
dgv.Anchor = AnchorStyles.Left
dgv.Anchor = AnchorStyles.Top
dgv.ReadOnly = True
frm.Controls.Add(dgv)
frm.StartPosition = FormStartPosition.CenterScreen
frm.ShowDialog()
End If
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Private Sub txtAusz100_TextChanged(sender As Object, e As EventArgs) Handles txtAusz100.TextChanged, txtAusz50.TextChanged, txtAusz50vonSaldo.TextChanged
overwrittenSum = 0
@@ -279,14 +364,32 @@ Public Class frmUeberstundenauszahlen
picDel.Visible = True
Button1.Enabled = False
txtAusz.Enabled = False
picShow.Visible = True
Else
Button1.Enabled = True
txtAusz.Enabled = True
picShow.Visible = False
End If
'If cbxabwDatum.Checked AndAlso dtbereitsausgezahlteUE IsNot Nothing Then
' 'If dtbereitsausgezahlteUE.Rows.Count > 0 Then
' ' txtberAusz100ZR.Text = CDbl(dtbereitsausgezahlteUE.Rows(0).Item("ue100").ToString)
' ' If istTeilzeit Then
' ' txtberAusz50ZR.Text = CDbl(dtbereitsausgezahlteUE.Rows(0).Item("ue50").ToString) + CDbl(dtbereitsausgezahlteUE.Rows(0).Item("ue0").ToString)
' ' Else
' ' txtberAusz25ZR.Text = CDbl(dtbereitsausgezahlteUE.Rows(0).Item("ue25").ToString) + CDbl(dtbereitsausgezahlteUE.Rows(0).Item("ue0").ToString)
' ' End If
' 'End If
'End If
calxMaxauszahlbar()
End If
End If
End Sub
@@ -378,7 +481,7 @@ Public Class frmUeberstundenauszahlen
ues.uest_25 = sum0
Else
ues.uest_0 = sum0
End If
End If
Dim info As String = ""
@@ -436,8 +539,8 @@ Public Class frmUeberstundenauszahlen
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
ues.uest_lastChanged = Now()
ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
ues.uest_lastChanged = Now()
ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
ues.SAVE()
MsgBox("Erfolgreich aus Timas zurückgesetzt!")
@@ -562,8 +665,12 @@ Public Class frmUeberstundenauszahlen
If stundenlfdSaldo <= 0 Then Button1.Enabled = False
'txtSummeAuszb.Text = stundenlfdSaldo
txtSummeAuszb.Text = stundenlfdSaldobere
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then
txtSummeAuszb.Text = stundenlfdSaldo
Else
txtSummeAuszb.Text = stundenlfdSaldobere
End If
End Sub