diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb index cf374e6..04aef54 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb @@ -50,6 +50,7 @@ Partial Class usrCntlMitarbeiter Me.TabPage8 = New System.Windows.Forms.TabPage() Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Panel1 = New System.Windows.Forms.Panel() + Me.lblAktiv = New System.Windows.Forms.Label() Me.cbxDakosy = New System.Windows.Forms.CheckBox() Me.cbxZE = New System.Windows.Forms.CheckBox() Me.cbx = New System.Windows.Forms.CheckBox() @@ -62,7 +63,6 @@ Partial Class usrCntlMitarbeiter Me.UserKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.BerechtigungenSetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.lblAktiv = New System.Windows.Forms.Label() Me.Panel2.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() @@ -113,11 +113,11 @@ Partial Class usrCntlMitarbeiter ' 'btnUEZ_ausz ' - Me.btnUEZ_ausz.Location = New System.Drawing.Point(10, 276) + Me.btnUEZ_ausz.Location = New System.Drawing.Point(4, 276) Me.btnUEZ_ausz.Name = "btnUEZ_ausz" - Me.btnUEZ_ausz.Size = New System.Drawing.Size(75, 49) + Me.btnUEZ_ausz.Size = New System.Drawing.Size(83, 40) Me.btnUEZ_ausz.TabIndex = 22 - Me.btnUEZ_ausz.Text = "Check ÜS-Auszahl." + Me.btnUEZ_ausz.Text = "Überstunden" Me.btnUEZ_ausz.UseVisualStyleBackColor = True ' 'Button9 @@ -388,6 +388,14 @@ Partial Class usrCntlMitarbeiter Me.Panel1.Size = New System.Drawing.Size(889, 36) Me.Panel1.TabIndex = 26 ' + 'lblAktiv + ' + Me.lblAktiv.AutoSize = True + Me.lblAktiv.Location = New System.Drawing.Point(775, 13) + Me.lblAktiv.Name = "lblAktiv" + Me.lblAktiv.Size = New System.Drawing.Size(0, 13) + Me.lblAktiv.TabIndex = 53 + ' 'cbxDakosy ' Me.cbxDakosy.AutoSize = True @@ -491,14 +499,6 @@ Partial Class usrCntlMitarbeiter Me.ContextMenuStrip2.Name = "ContextMenuStrip2" Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' - 'lblAktiv - ' - Me.lblAktiv.AutoSize = True - Me.lblAktiv.Location = New System.Drawing.Point(775, 13) - Me.lblAktiv.Name = "lblAktiv" - Me.lblAktiv.Size = New System.Drawing.Size(0, 13) - Me.lblAktiv.TabIndex = 53 - ' 'usrCntlMitarbeiter ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.vb index 5eb0b1c..f280676 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.vb @@ -1,7 +1,7 @@ Imports System.ComponentModel Imports System.Net Imports System.Text -Imports Mysqlx.XDevAPI.CRUD +Imports Microsoft.Office.Interop.Outlook Imports VERAG_PROG_ALLGEMEIN @@ -25,8 +25,8 @@ Public Class usrCntlMitarbeiter Try ' Me.Size = My.Settings.frmMainSize ' Me.Location = My.Settings.frmMainPosition - Catch ex As Exception - Catch ex As Exception + Catch ex As System.Exception + 'nix tun - Standardgröße wird somit automatisch gesetzt End Try @@ -730,7 +730,7 @@ Public Class usrCntlMitarbeiter MsgBox("Daten in Zwischenablage gespeichert") - Catch ex As Exception + Catch ex As System.Exception MsgBox(ex.Message & ex.StackTrace) Me.Cursor = Cursors.Default End Try @@ -748,8 +748,21 @@ Public Class usrCntlMitarbeiter ElseIf item.Name = "copyToClipboard" Then copyToClipboardWIKI() + ElseIf item.Name = "checkue" Then + checkUeberstunden(False, Now().Month, Now().Year) + ElseIf item.Name = "ueuebersicht" Then + + Dim f As New frmDatumsabfrage("Überstunden-Übersicht Monat ", True) + f.dtp_date.Format = DateTimePickerFormat.Custom + f.dtp_date.CustomFormat = "MM.yyyy" + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + + checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year) + End If + Else - MsgBox("Funktion nicht implementiert!") + MsgBox("Funktion nicht implementiert!") End If End If @@ -759,6 +772,9 @@ Public Class usrCntlMitarbeiter Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click + + ContextMenuStrip2.Items.Clear() + If Not ContextMenuStrip2.Items.ContainsKey("uploadPuctureToWiki") Then Dim uploadPictures = New ToolStripMenuItem() With {.Text = "Bilder ins WIKI hochladen", .Name = "uploadPuctureToWiki", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} ContextMenuStrip2.Items.Add(uploadPictures) @@ -774,6 +790,28 @@ Public Class usrCntlMitarbeiter + ContextMenuStrip2.Show(Cursor.Position) + End Sub + + Private Sub btnUEZ_ausz_Click(sender As Object, e As EventArgs) Handles btnUEZ_ausz.Click + + ContextMenuStrip2.Items.Clear() + + If Not ContextMenuStrip2.Items.ContainsKey("ueuebersicht") Then + Dim ueuebersicht = New ToolStripMenuItem() With {.Text = "Übersicht Überstunden", .Name = "ueuebersicht", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110} + ContextMenuStrip2.Items.Add(ueuebersicht) + AddHandler ueuebersicht.Click, AddressOf mnuItem_Clicked + End If + + + If Not ContextMenuStrip2.Items.ContainsKey("checkue") Then + Dim checkue = New ToolStripMenuItem() With {.Text = "Überstunden prüfen", .Name = "checkue", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110} + AddHandler checkue.Click, AddressOf mnuItem_Clicked + ContextMenuStrip2.Items.Add(checkue) + End If + + + ContextMenuStrip2.Show(Cursor.Position) End Sub @@ -842,7 +880,7 @@ Public Class usrCntlMitarbeiter Me.Cursor = Cursors.Default Try - Catch ex As Exception + Catch ex As System.Exception Me.Cursor = Cursors.Default MsgBox(ex.Message & ex.StackTrace) End Try @@ -946,12 +984,13 @@ Public Class usrCntlMitarbeiter Tabelle_anzeigen() End Sub - Private Sub Button7_Click(sender As Object, e As EventArgs) Handles btnUEZ_ausz.Click + Private Sub checkUeberstunden(showAll As Boolean, Month As Integer, year As Integer) If dgvTimasNew.Rows.Count = 0 Then Exit Sub Try + Dim tag As New cFeiertage(year) Dim dt_Accounts As New DataTable dt_Accounts.Columns.Add("accountid", GetType(Integer)) @@ -960,15 +999,6 @@ Public Class usrCntlMitarbeiter 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)) @@ -976,8 +1006,14 @@ Public Class usrCntlMitarbeiter Dim dt_result As New DataTable - Dim dateStart As New Date("2025", "01", "01") - Dim dateEnd = Today() + Dim dateStart As Date + If showAll Then + dateStart = New Date(year, Month, 1) + Else + dateStart = New Date(2025, 1, 1) + End If + + Dim dateEnd = CDate(tag.GetLastyDayYInxMonth(DayOfWeek.Monday, Month, year, True)) For Each r As DataGridViewRow In dgvTimasNew.Rows Dim ROW As DataRow = dt_Employee.NewRow @@ -994,19 +1030,36 @@ Public Class usrCntlMitarbeiter If dt_result.Rows.Count > 0 Then + Dim dt_result_temp As New DataTable + Dim dt_UES_AUS_AVISO As New DataTable + Dim Info As String = "" - Dim dt_falschAusbezahlt As New DataTable + If showAll Then + dt_result_temp = dt_result.Select("multiplier = '+'", "date").CopyToDataTable + Info = "Überstunden aus TIMAS von " & dateStart.ToShortDateString & " bis " & dateEnd.ToShortDateString - dt_falschAusbezahlt = dt_result.Select("multiplier = '-'", "date").CopyToDataTable + Dim sqlWhere As String = String.Join(",", dt_Employee.AsEnumerable().Where(Function(r) Not r.IsNull("employeeId")).Select(Function(r) r("employeeId").ToString())) - 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!") + + Dim sql = "select mit_nname as Nachname ,mit_vname as Vorname, uest_date as Datum ,isnull(uest_100,0) as ÜS100 , isnull(uest_50,0) as ÜS50, isnull(uest_25,0) as ÜS25, isnull(uest_0,0) as ÜS50_Saldo, isnull(uest_paidout_sum,0) as ausbezahlt, uest_systemuser as eingetragen_von ,uest_created as eingetragen_am, + cast (case when isnull([uest_ignorePayoutDate],0) = 0 then 0 else 1 end as bit) as ignoreAuszahlungsdatum, uest_deleted as geloescht + FROM [ADMIN].[dbo].[tblUeberstunden] + inner join tblMitarbeiter on uest_maId = mit_id + where uest_deleted = 0 and uest_date >= '" & dateStart.ToShortDateString & "' and uest_date <= '" & dateEnd.ToShortDateString & "' and mit_timasId in (" & sqlWhere & ") Order by uest_paidout_sum desc" + + dt_UES_AUS_AVISO = (New SQL).loadDgvBySql(sql, "ADMIN", 100, True) + + Else + dt_result_temp = dt_result.Select("multiplier = '-'", "date").CopyToDataTable + Info = "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo)" + End If + + If dt_result_temp.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() + Dim query = From fa In dt_result_temp.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() @@ -1014,28 +1067,83 @@ Public Class usrCntlMitarbeiter Dim dt_merged As New DataTable ' Alte Spalten übernehmen - For Each col As DataColumn In dt_falschAusbezahlt.Columns + For Each col As DataColumn In dt_result_temp.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)) + dt_merged.Columns.Add("Nachname", GetType(String)) - ' Daten einfügen - For Each row In query - dt_merged.Rows.Add(row) - Next + ' 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,,, "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo)",,,,, True) + If dt_merged.Rows.Count > 0 Then + dt_merged = dt_merged.AsEnumerable().OrderByDescending(Function(r) r("value")).CopyToDataTable() + End If + + + VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_merged,,, Info,,,,, True) + If dt_UES_AUS_AVISO.Rows.Count > 0 Then + Dim infoAVISO = Info.Replace("TIMAS", "AVISO") + VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_UES_AUS_AVISO,,, infoAVISO,,,,, True) + End If + + End If End If + + End If + + + + + Catch ex As System.Exception + + End Try + + + End Sub + + + Private Sub ShowUberstunden() + + If dgvTimasNew.Rows.Count = 0 Then Exit Sub + + Try + + + Dim f As New frmDatumsabfrage("Überstunden-Übersicht Monat ", True) + f.dtp_date.Format = DateTimePickerFormat.Custom + f.dtp_date.CustomFormat = "MM.yyyy" + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + + + + 'Dim timas As New cTimasAPI("timas") + 'timas.getTimeAccounts(dateStart, dateEnd, 0, dt_Accounts, dt_result, dt_Employee) + + 'If dt_result.Rows.Count > 0 Then + + + ' If dt_merged.Rows.Count > 0 Then + ' VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_merged,,, "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo)",,,,, True) + ' End If + 'End If + + End If - Catch ex As Exception + + + + Catch ex As System.Exception End Try diff --git a/initATLASAufschubkonten/cWorker_NCTS.vb b/initATLASAufschubkonten/cWorker_NCTS.vb index bba1652..296443b 100644 --- a/initATLASAufschubkonten/cWorker_NCTS.vb +++ b/initATLASAufschubkonten/cWorker_NCTS.vb @@ -2,9 +2,6 @@ Imports System.IO Imports System.Xml Imports DAKOSY_Worker -Imports DocumentFormat.OpenXml -Imports DocumentFormat.OpenXml.Spreadsheet -Imports iTextSharp.text.pdf Imports VERAG_PROG_ALLGEMEIN Public Class cWorker_NCTS @@ -4196,10 +4193,10 @@ Public Class cWorker_NCTS 'temp ausnehmen! - 'If saveVerwahrung Then - ' 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf) - ' cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, -1, True, "T1") - 'End If + If saveVerwahrung Then + 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf) + cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, -1, True, "T1") + End If End If @@ -4226,6 +4223,7 @@ Public Class cWorker_NCTS Shared Sub checkATEZ_Bereitstellung(DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, filePath As String) If DY_TMP Is Nothing Then Exit Sub + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub Dim ATEZ = VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_DATA.LOAD_ByBezugsNr(DY_TMP.dy_BezugsNr) If (DY_TMP.dy_BezugsNr.Contains("ATEZ") Or DY_TMP.dy_BezugsNr.Contains("PLH")) OrElse (ATEZ IsNot Nothing AndAlso ATEZ.hasEntry) Then ' If ATEZ.status IsNot Nothing Then @@ -4239,6 +4237,7 @@ Public Class cWorker_NCTS Shared Sub checkATEZ_BereitstellungDHUB(DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, filePath As String) If DY_TMP Is Nothing Then Exit Sub + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub Dim ATEZ = VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_DATA.LOAD_ByBezugsNr(DY_TMP.dy_BezugsNr) If DY_TMP.dy_BezugsNr.Contains("DHUB") Then ' If ATEZ.status IsNot Nothing Then diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb index cd13ecd..f8a3085 100644 --- a/initATLASAufschubkonten/cWorker_Verwahrung.vb +++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb @@ -122,7 +122,7 @@ Anzeige: Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) readVW_SumAVerwahrungsinfo = "" End Try End Function @@ -249,7 +249,7 @@ Anzeige: End If Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name) + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) readVW_SumAErledigungsinformation = "" End Try End Function diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index 37b2d31..8474013 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -540,13 +540,6 @@ Public Class frmDYNachrichtenVerarbeitung End If - 'EZA: SumAErledigungsinformationVorpapier ' --> TEIL DER VERWAHRUNG - ' - ' - ' - ' - ' - 'EZA: Abgabenbescheid If Not found And cGetMsgType.isEZA_Abgabenbescheid(doc, VERSION) Then Select Case VERSION @@ -1051,10 +1044,6 @@ Public Class frmDYNachrichtenVerarbeitung 'Status wir dnur upgedatet, wenn nicht schon ein neuerer Datensatz verarbeitet wurde!: - - - - 'If DY_TMP.dy_AvisoId Is Nothing Or DY_TMP.dy_SendungsId Is Nothing Then 'If getAVSIOFromBezugsNr(STATUS.dySt_BezugsNr, DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId) Then ' Lädt AVSIO 'DY_TMP.SAVE() ' AVISOID/SendungsID speichern