diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb index 51e10a9..ba8b2c2 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb @@ -48,6 +48,7 @@ Partial Class usrCntlMitarbeiter Me.TabPage9 = New System.Windows.Forms.TabPage() Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.TabPage8 = New System.Windows.Forms.TabPage() + Me.pbMitarbeiter_export = New System.Windows.Forms.ProgressBar() Me.cbxTimasAktiv = New System.Windows.Forms.CheckBox() Me.lblTimasMandant = New System.Windows.Forms.Label() Me.cbxClientTimas = New System.Windows.Forms.ComboBox() @@ -66,6 +67,7 @@ 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.lbl_Mitarbeiter_export = New System.Windows.Forms.Label() Me.Panel2.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() @@ -356,6 +358,8 @@ Partial Class usrCntlMitarbeiter ' 'TabPage8 ' + Me.TabPage8.Controls.Add(Me.lbl_Mitarbeiter_export) + Me.TabPage8.Controls.Add(Me.pbMitarbeiter_export) Me.TabPage8.Controls.Add(Me.cbxTimasAktiv) Me.TabPage8.Controls.Add(Me.lblTimasMandant) Me.TabPage8.Controls.Add(Me.cbxClientTimas) @@ -367,6 +371,13 @@ Partial Class usrCntlMitarbeiter Me.TabPage8.Text = "Zeiterfassung" Me.TabPage8.UseVisualStyleBackColor = True ' + 'pbMitarbeiter_export + ' + Me.pbMitarbeiter_export.Location = New System.Drawing.Point(556, 3) + Me.pbMitarbeiter_export.Name = "pbMitarbeiter_export" + Me.pbMitarbeiter_export.Size = New System.Drawing.Size(117, 23) + Me.pbMitarbeiter_export.TabIndex = 161 + ' 'cbxTimasAktiv ' Me.cbxTimasAktiv.AutoSize = True @@ -540,6 +551,15 @@ Partial Class usrCntlMitarbeiter Me.ContextMenuStrip2.Name = "ContextMenuStrip2" Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' + 'lbl_Mitarbeiter_export + ' + Me.lbl_Mitarbeiter_export.AutoSize = True + Me.lbl_Mitarbeiter_export.Location = New System.Drawing.Point(679, 8) + Me.lbl_Mitarbeiter_export.Name = "lbl_Mitarbeiter_export" + Me.lbl_Mitarbeiter_export.Size = New System.Drawing.Size(30, 13) + Me.lbl_Mitarbeiter_export.TabIndex = 54 + Me.lbl_Mitarbeiter_export.Text = "0 / 0" + ' 'usrCntlMitarbeiter ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -621,4 +641,6 @@ Partial Class usrCntlMitarbeiter Friend WithEvents lblTimasMandant As Label Friend WithEvents cbxClientTimas As ComboBox Friend WithEvents cbxTimasAktiv As CheckBox + Friend WithEvents pbMitarbeiter_export As ProgressBar + Friend WithEvents lbl_Mitarbeiter_export As Label End Class diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.vb index 0c0ee5d..6dfc846 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.vb @@ -1,8 +1,10 @@ Imports System.ComponentModel +Imports System.DirectoryServices.ActiveDirectory Imports System.Net Imports System.Text Imports Microsoft.Office.Interop.Outlook Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN.IDEV_Intrastat @@ -795,7 +797,9 @@ Public Class usrCntlMitarbeiter Mandant = cbxClientTimas.SelectedItem.value End If - + pbMitarbeiter_export.Value = 0 + 'txtPloseAnh_Einarbeitung.Text = "0 / 0" + 'lblPloseAnh_Proz.Text = "" If item IsNot Nothing Then If item.Name = "uploadPuctureToWiki" Then @@ -804,12 +808,15 @@ Public Class usrCntlMitarbeiter ElseIf item.Name = "copyToClipboard" Then copyToClipboardWIKI() ElseIf item.Name = "checkue" Then + pbMitarbeiter_export.Visible = True checkUeberstunden(False, Now().Month, Now().Year, Mandant) ElseIf item.Name = "ue_stand_yesterday" Then + pbMitarbeiter_export.Visible = True gettimesaldo(False, Mandant) ElseIf item.Name = "ue_stand" Then + pbMitarbeiter_export.Visible = True Dim f As New frmDatumsabfrage("Zeitsaldo-Stichtag ", True) f.Label1.Text = "GS-Saldo Ende Vortag" f.ShowDialog() @@ -820,6 +827,7 @@ Public Class usrCntlMitarbeiter ElseIf item.Name = "ueuebersicht" Then + pbMitarbeiter_export.Visible = True Dim f As New frmDatumsabfrage("Überstundenübersicht Monat ", True) f.dtp_date.Format = DateTimePickerFormat.Custom @@ -1175,9 +1183,15 @@ Public Class usrCntlMitarbeiter dt_merged.Columns.Add("Nachname", GetType(String)) dt_merged.Columns.Add("Ausweis-Nr", GetType(Integer)) - ' Daten einfügen + Dim cnt As Integer = 0 For Each row In query + dt_merged.Rows.Add(row) + cnt += 1 + Dim proz As Double = (cnt / dt_merged.Rows.Count) * 100 + pbMitarbeiter_export.Value = proz + lbl_Mitarbeiter_export.Text = cnt & " / " & dt_merged.Rows.Count + Next If dt_merged.Rows.Count > 0 Then @@ -1185,6 +1199,9 @@ Public Class usrCntlMitarbeiter dt_merged = dt_merged.AsEnumerable().OrderByDescending(Function(r) r("value")).CopyToDataTable() End If + pbMitarbeiter_export.Value = 100 + lbl_Mitarbeiter_export.Text = dt_merged.Rows.Count & " / " & dt_merged.Rows.Count + VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_merged,,, Info,,,,, True) If dt_UES_AUS_AVISO.Rows.Count > 0 Then @@ -1223,6 +1240,7 @@ Public Class usrCntlMitarbeiter Dim dt_Employee_temp As New DataTable dt_Employee_temp.Columns.Add("employeeId", GetType(Integer)) + dt_Employee_temp.Columns.Add("Ausweis-Nr", GetType(Integer)) If dgvTimasNew.SelectedRows.Count = 0 Then MsgBox("Bitte Mitarbeiter markieren!") @@ -1233,6 +1251,7 @@ Public Class usrCntlMitarbeiter Dim ROW As DataRow = dt_Employee_temp.NewRow ROW("employeeId") = r.Cells("Id").Value + ROW("Ausweis-Nr") = r.Cells("Ausweis-Nr").Value dt_Employee_temp.Rows.Add(ROW) Next @@ -1253,12 +1272,15 @@ Public Class usrCntlMitarbeiter .Nachname = emp.Field(Of String)("Nachname"), .Niederlassung = emp.Field(Of String)("Niederlassung"), .Abteilung = emp.Field(Of String)("Abteilung"), - .Firma = emp.Field(Of String)("Firma") + .Firma = emp.Field(Of String)("Firma"), + .Ausweis_Nr = fa.Field(Of Integer)("Ausweis-Nr") } Dim dt_Employee As New DataTable dt_Employee.Columns.Add("employeeId", GetType(Integer)) + dt_Employee.Columns.Add("Ausweis-Nr", GetType(Integer)) + dt_Employee.Columns.Add("Aktiv", GetType(Boolean)) dt_Employee.Columns.Add("Vorname", GetType(String)) dt_Employee.Columns.Add("Nachname", GetType(String)) dt_Employee.Columns.Add("Niederlassung", GetType(String)) @@ -1268,21 +1290,31 @@ Public Class usrCntlMitarbeiter dt_Employee.Columns.Add("Saldo", GetType(Double)) For Each item In query + + Dim isAktiv As Boolean = False + + If item.Ausweis_Nr <> 0 Then + isAktiv = True + End If + dt_Employee.Rows.Add( - item.EmployeeId, - item.Vorname, - item.Nachname, - item.Niederlassung, - item.Abteilung, - item.Firma, - DBNull.Value, ' Saldo-raw - DBNull.Value ' Saldo + item.EmployeeId, + item.Ausweis_Nr, + isAktiv, + item.Vorname, + item.Nachname, + item.Niederlassung, + item.Abteilung, + item.Firma, + DBNull.Value, ' Saldo-raw + DBNull.Value ' Saldo ) Next Dim emp_id_all As Integer = -1 Dim saldo As String = "" Dim saldoDouble As Double + Dim cnt As Integer = 0 For Each r As DataRow In dt_Employee.Rows @@ -1332,6 +1364,11 @@ Public Class usrCntlMitarbeiter End If + cnt += 1 + Dim proz As Double = (cnt / dgvTimasNew.SelectedRows.Count) * 100 + pbMitarbeiter_export.Value = proz + lbl_Mitarbeiter_export.Text = cnt & " / " & dgvTimasNew.SelectedRows.Count + My.Application.DoEvents() Next @@ -1339,6 +1376,10 @@ Public Class usrCntlMitarbeiter VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_Employee,,, IIf(TimasMandant <> "", "", "Mandant: ") & TimasMandant & " Stundensaldo zum " & IIf(stichtag, st_datum.ToShortDateString, Now.AddDays(-1).ToShortDateString),,,,, True) End If + pbMitarbeiter_export.Value = 100 + lbl_Mitarbeiter_export.Text = dgvTimasNew.SelectedRows.Count & " / " & dgvTimasNew.SelectedRows.Count + + End Sub Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged, cbxTimasAktiv.CheckStateChanged @@ -1388,6 +1429,11 @@ Public Class usrCntlMitarbeiter showTIMAS(False, STATUS) End If + pbMitarbeiter_export.Value = 0 + lbl_Mitarbeiter_export.Text = "0 / 0" + End Sub + + End Class diff --git a/UID/usrctlProcedures.vb b/UID/usrctlProcedures.vb index cb3c524..b9f8b88 100644 --- a/UID/usrctlProcedures.vb +++ b/UID/usrctlProcedures.vb @@ -3463,6 +3463,7 @@ Public Class usrctlProcedures Private Sub Button33_Click(sender As Object, e As EventArgs) Handles Button33.Click Dim cnt = 0 + Dim cntSaved = 0 Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim kdnr_tmp = "" @@ -3696,17 +3697,19 @@ Public Class usrctlProcedures DYIMPORT.Importstatus = isleernothing((currentRow(139))) DYIMPORT.Importdate = Now() DYIMPORT.Importfile = System.IO.Path.GetFileName(fd.FileName) - If DYIMPORT.SAVE() Then + If DYIMPORT.SAVE(False) Then TextBox10.Text &= DYIMPORT.Id & vbNewLine - If Not savedDY Then savedDY = True + If Not savedDY Then + savedDY = True + cntSaved += 1 + End If Else - MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim()) + 'MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim()) End If End If If cnt Mod 10 = 0 Then Application.DoEvents() - lblDakosyImport.Text = (cnt + 1) End If @@ -3718,10 +3721,12 @@ Public Class usrctlProcedures cnt += 1 'Next Catch ex As Exception - MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace) + 'MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace) End Try End While + MsgBox("Von " & cnt & " Zeilen wurden " & cntSaved & " erfolgreich eingelesen") + If savedDY Then 'zuerst alle doppelten löschen und die fehlerhaften zuerst sql.doSQL("EXECUTE dbo.sp_DeleteDuplicateZollmeldungen_ohne_Importfile", "AVISO")