Mitarbeiter, etc.

This commit is contained in:
2026-05-04 15:35:37 +02:00
parent a59e388dad
commit 5b38670a9d
4 changed files with 1405 additions and 927 deletions

View File

@@ -1,6 +1,7 @@
Imports System.ComponentModel
Imports System.Net
Imports System.Text
Imports Mysqlx.XDevAPI.CRUD
Imports VERAG_PROG_ALLGEMEIN
@@ -55,6 +56,12 @@ Public Class usrCntlMitarbeiter
End If
End If
If TabControl1.SelectedIndex = 7 Then
Button7.Visible = True
Else
Button7.Visible = False
End If
End Sub
Public Sub showVERAGATILLA(firma)
@@ -215,7 +222,12 @@ Public Class usrCntlMitarbeiter
Else
Dim timas As New cTimasAPI("timas")
timas.getEmployeeList(dt)
dgvTimasNew.DataSource = dt
Dim dt_onlyActive As New DataTable
dt_onlyActive = dt.Select("[Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''").CopyToDataTable
dgvTimasNew.DataSource = dt_onlyActive
' MsgBox("ALLE:" & dt.Rows.Count & vbNewLine & "AKIVE:" & dt_onlyActive.Rows.Count)
End If
With dgvTimasNew
@@ -886,5 +898,99 @@ Public Class usrCntlMitarbeiter
Tabelle_anzeigen()
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
If dgvTimasNew.Rows.Count = 0 Then Exit Sub
Try
Dim dt_Accounts As New DataTable
dt_Accounts.Columns.Add("accountid", GetType(Integer))
Dim ROW_ACC As DataRow = dt_Accounts.NewRow
ROW_ACC("accountid") = "993" 'Auszahlungen ÜS!
dt_Accounts.Rows.Add(ROW_ACC)
'Dim ROW_ACC1 As DataRow = dt_Accounts.NewRow
'ROW_ACC1("accountid") = "1598" 'Auszahlungen ÜS!
'dt_Accounts.Rows.Add(ROW_ACC1)
'Dim ROW_ACC2 As DataRow = dt_Accounts.NewRow
'ROW_ACC2("accountid") = "1235" 'Auszahlungen ÜS!
'dt_Accounts.Rows.Add(ROW_ACC2)
Dim dt_Employee As New DataTable
dt_Employee.Columns.Add("employeeId", GetType(Integer))
dt_Employee.Columns.Add("Vorname", GetType(String))
dt_Employee.Columns.Add("Nachname", GetType(String))
Dim dt_result As New DataTable
Dim dateStart As New Date("2025", "01", "01")
Dim dateEnd = Today()
For Each r As DataGridViewRow In dgvTimasNew.Rows
Dim ROW As DataRow = dt_Employee.NewRow
ROW("employeeId") = r.Cells("Id").Value
ROW("Vorname") = r.Cells("Vorname").Value
ROW("Nachname") = r.Cells("Nachname").Value
dt_Employee.Rows.Add(ROW)
Next
Dim timas As New cTimasAPI("timas")
timas.getTimeAccounts(dateStart, dateEnd, 0, dt_Accounts, dt_result, dt_Employee)
If dt_result.Rows.Count > 0 Then
Dim dt_falschAusbezahlt As New DataTable
dt_falschAusbezahlt = dt_result.Select("multiplier = '-'", "date").CopyToDataTable
If dt_falschAusbezahlt.Rows.Count = 0 Then
MsgBox("keine falsch ausbezahlten Überstunden vorhanden!" & vbNewLine & "Es wird nur geprüft, ob die ausbezahlten Überstunden NICHT negativ sind!")
Exit Sub
Else
' VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_falschAusbezahlt,,,,,,,, True)
Dim query = From fa In dt_falschAusbezahlt.AsEnumerable()
Join emp In dt_Employee.AsEnumerable() On fa.Field(Of Integer)("employeeId") Equals emp.Field(Of Integer)("employeeId")
Select result = fa.ItemArray.Concat({emp.Field(Of String)("Vorname"), emp.Field(Of String)("Nachname")}).ToArray()
' Neue Tabelle erstellen (Struktur erweitern)
Dim dt_merged As New DataTable
' Alte Spalten übernehmen
For Each col As DataColumn In dt_falschAusbezahlt.Columns
dt_merged.Columns.Add(col.ColumnName, col.DataType)
Next
' Neue Spalten hinzufügen
dt_merged.Columns.Add("Vorname", GetType(String))
dt_merged.Columns.Add("Nachname", GetType(String))
' Daten einfügen
For Each row In query
dt_merged.Rows.Add(row)
Next
If dt_merged.Rows.Count > 0 Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_merged,,,,,,,, True)
End If
End If
End If
Catch ex As Exception
End Try
End Sub
End Class