Compare commits

..

2 Commits

4 changed files with 156 additions and 64 deletions

View File

@@ -22,6 +22,7 @@ Partial Class usrCntlMitarbeiter
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.Button6 = New System.Windows.Forms.Button()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.btnUEZ_ausz = New System.Windows.Forms.Button()
@@ -31,25 +32,26 @@ Partial Class usrCntlMitarbeiter
Me.Button3 = New System.Windows.Forms.Button()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage1 = New System.Windows.Forms.TabPage()
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage2 = New System.Windows.Forms.TabPage()
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage3 = New System.Windows.Forms.TabPage()
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage4 = New System.Windows.Forms.TabPage()
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage5 = New System.Windows.Forms.TabPage()
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage7 = New System.Windows.Forms.TabPage()
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage9 = New System.Windows.Forms.TabPage()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage8 = New System.Windows.Forms.TabPage()
Me.cbxTimasAktiv = New System.Windows.Forms.CheckBox()
Me.lblTimasMandant = New System.Windows.Forms.Label()
Me.cbxClientTimas = New System.Windows.Forms.ComboBox()
Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
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()
@@ -60,10 +62,10 @@ Partial Class usrCntlMitarbeiter
Me.Button2 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.UserKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.BerechtigungenSetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.Panel2.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -354,6 +356,7 @@ Partial Class usrCntlMitarbeiter
'
'TabPage8
'
Me.TabPage8.Controls.Add(Me.cbxTimasAktiv)
Me.TabPage8.Controls.Add(Me.lblTimasMandant)
Me.TabPage8.Controls.Add(Me.cbxClientTimas)
Me.TabPage8.Controls.Add(Me.dgvTimasNew)
@@ -364,6 +367,19 @@ Partial Class usrCntlMitarbeiter
Me.TabPage8.Text = "Zeiterfassung"
Me.TabPage8.UseVisualStyleBackColor = True
'
'cbxTimasAktiv
'
Me.cbxTimasAktiv.AutoSize = True
Me.cbxTimasAktiv.Checked = True
Me.cbxTimasAktiv.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbxTimasAktiv.Location = New System.Drawing.Point(804, 7)
Me.cbxTimasAktiv.Name = "cbxTimasAktiv"
Me.cbxTimasAktiv.Size = New System.Drawing.Size(57, 17)
Me.cbxTimasAktiv.TabIndex = 54
Me.cbxTimasAktiv.Text = "AKTIV"
Me.cbxTimasAktiv.ThreeState = True
Me.cbxTimasAktiv.UseVisualStyleBackColor = True
'
'lblTimasMandant
'
Me.lblTimasMandant.AutoSize = True
@@ -426,7 +442,7 @@ Partial Class usrCntlMitarbeiter
Me.cbxDakosy.AutoSize = True
Me.cbxDakosy.Checked = True
Me.cbxDakosy.CheckState = System.Windows.Forms.CheckState.Indeterminate
Me.cbxDakosy.Location = New System.Drawing.Point(666, 11)
Me.cbxDakosy.Location = New System.Drawing.Point(666, 13)
Me.cbxDakosy.Name = "cbxDakosy"
Me.cbxDakosy.Size = New System.Drawing.Size(62, 17)
Me.cbxDakosy.TabIndex = 52
@@ -604,4 +620,5 @@ Partial Class usrCntlMitarbeiter
Friend WithEvents lblAktiv As Label
Friend WithEvents lblTimasMandant As Label
Friend WithEvents cbxClientTimas As ComboBox
Friend WithEvents cbxTimasAktiv As CheckBox
End Class

View File

@@ -35,7 +35,7 @@ Public Class usrCntlMitarbeiter
txtSuche.Focus()
End Sub
Public Sub Tabelle_anzeigen()
Public Sub Tabelle_anzeigen(Optional refreshTimasDGV As Boolean = False)
btnUEZ_ausz.Visible = False
lblAktiv.Text = ""
@@ -66,20 +66,21 @@ Public Class usrCntlMitarbeiter
cbxClientTimas.Visible = True
cbxClientTimas.Items.Clear()
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FRONTOFFICE"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG - MDM", "VERAG 360"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG 360", "VERAG - MDM"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CS", "VERAG CS"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG UNISPED Ltd", "VERAG UNISPED LIMITED"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CUSTOMS LOGISTICS Ltd", "VERAG CL LIMITED"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CL LIMITED", "VERAG CUSTOMS LOGISTICS Ltd"))
cbxClientTimas.SelectedIndex = 0
showTIMAS(False)
If refreshTimasDGV Then getTimasPreData()
End If
End If
@@ -242,23 +243,30 @@ Public Class usrCntlMitarbeiter
Public Sub showTIMAS(refresh As Boolean, Optional TimasMandant As String = "")
Public Sub showTIMAS(refresh As Boolean, Status As String, Optional TimasMandant As String = "")
locZeilen = -1
If Not Grid_aktiv Then Exit Sub
If dt.Columns.Count > 0 And Not refresh AndAlso TimasMandant <> "" Then
Dim SQLWhere = ""
Select Case Status
Case "AKTIV"
SQLWhere = " AND [Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''"
Case "INAKTIV"
SQLWhere = " AND [Ausweis-Nr] = 0 and Vorname <> '' and Nachname <> ''"
End Select
If dt.Columns.Count > 0 And Not refresh Then
SQLWhere &= " AND Info like '%" & TimasMandant & "%'"
If txtSuche.Text <> "" Then
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'"
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'" & SQLWhere
Else
dt.DefaultView.RowFilter = Nothing
dt.DefaultView.RowFilter = " 1 = 1" & SQLWhere
End If
If TimasMandant <> "" Then
dt.DefaultView.RowFilter = "Info like '%" & TimasMandant & "%'"
End If
dgvTimasNew.DataSource = dt
Else
@@ -266,7 +274,7 @@ Public Class usrCntlMitarbeiter
timas.getEmployeeList(dt, TimasMandant)
dgvTimasNew.DataSource = dt
Dim dt_onlyActive As New DataTable
dt_onlyActive = dt.Select("[Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''").CopyToDataTable
dt_onlyActive = dt.Select(" 1 = 1 " & SQLWhere).CopyToDataTable
dgvTimasNew.DataSource = dt_onlyActive
lblAktiv.Text = "AKTIV: " & dt_onlyActive.Rows.Count & "/" & dt.Rows.Count
' MsgBox("ALLE:" & dt.Rows.Count & vbNewLine & "AKIVE:" & dt_onlyActive.Rows.Count)
@@ -524,7 +532,7 @@ Public Class usrCntlMitarbeiter
End Sub
Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged
Tabelle_anzeigen()
Tabelle_anzeigen(True)
End Sub
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbx.CheckStateChanged
@@ -781,6 +789,14 @@ Public Class usrCntlMitarbeiter
ContextMenuStrip1.Hide()
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
Dim Mandant As String = ""
If Not cbxClientTimas.SelectedItem Is Nothing Then
Mandant = cbxClientTimas.SelectedItem.value
End If
If item IsNot Nothing Then
If item.Name = "uploadPuctureToWiki" Then
uploadToWiki()
@@ -788,34 +804,35 @@ Public Class usrCntlMitarbeiter
ElseIf item.Name = "copyToClipboard" Then
copyToClipboardWIKI()
ElseIf item.Name = "checkue" Then
checkUeberstunden(False, Now().Month, Now().Year)
checkUeberstunden(False, Now().Month, Now().Year, Mandant)
ElseIf item.Name = "ue_stand_yesterday" Then
gettimesaldo(False)
gettimesaldo(False, Mandant)
ElseIf item.Name = "ue_stand" Then
Dim f As New frmDatumsabfrage("Zeitsaldo-Stichtag ", True)
f.Label1.Text = "GS-Saldo Ende Vortag"
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
gettimesaldo(True, CDate(f.dtp_date.Value))
gettimesaldo(True, Mandant, CDate(f.dtp_date.Value))
End If
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
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, Mandant)
End If
checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year)
End If
Else
MsgBox("Funktion nicht implementiert!")
Else
MsgBox("Funktion nicht implementiert!")
End If
Me.Cursor = Cursors.Default
End If
End Sub
@@ -861,7 +878,7 @@ Public Class usrCntlMitarbeiter
ContextMenuStrip2.Items.Add(checkue)
End If
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand_yesterday") Then
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand_yesterday") AndAlso cbxTimasAktiv.CheckState <> CheckState.Unchecked Then
Dim ue_stand = New ToolStripMenuItem() With {.Text = "Stand Zeitsaldo gestern", .Name = "ue_stand_yesterday", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110}
AddHandler ue_stand.Click, AddressOf mnuItem_Clicked
ContextMenuStrip2.Items.Add(ue_stand)
@@ -1034,7 +1051,7 @@ Public Class usrCntlMitarbeiter
'frmMitarbDetails.Show(Me)
If frmMitarbDetails.ShowDialog() = DialogResult.OK Then
sender.RELOAD()
showTIMAS(True)
showTIMAS(True, "")
dgvTimasNew.Refresh()
End If
@@ -1047,12 +1064,12 @@ Public Class usrCntlMitarbeiter
Tabelle_anzeigen()
End Sub
Private Sub checkUeberstunden(showAll As Boolean, Month As Integer, year As Integer)
Private Sub checkUeberstunden(showAll As Boolean, Month As Integer, year As Integer, TimasMandant As String)
If dgvTimasNew.Rows.Count = 0 Then Exit Sub
Try
Me.Cursor = Cursors.WaitCursor
Dim tag As New cFeiertage(year)
Dim dt_Accounts As New DataTable
@@ -1101,8 +1118,16 @@ Public Class usrCntlMitarbeiter
Dim Info As String = ""
If showAll Then
dt_result_temp = dt_result.Select("multiplier = '+'", "date").CopyToDataTable
Info = "Überstunden aus TIMAS von " & dateStart.ToShortDateString & " bis " & dateEnd.ToShortDateString
Dim rows = dt_result.Select("multiplier = '+'", "date")
If rows.Length > 0 Then
dt_result_temp = rows.CopyToDataTable()
Else
dt_result_temp = dt_result.Clone() 'leere Tabelle mit denselben Spalten
End If
Info = "Überstunden aus TIMAS von " & dateStart.ToShortDateString & " bis " & dateEnd.ToShortDateString & IIf(TimasMandant = "", "", " Timas-Mandant: " & TimasMandant)
Dim sqlWhere As String = String.Join(",", dt_Employee.AsEnumerable().Where(Function(r) Not r.IsNull("employeeId")).Select(Function(r) r("employeeId").ToString()))
@@ -1116,8 +1141,16 @@ Public Class usrCntlMitarbeiter
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); Ausweis-Nr = 0 -> Mitarbeiter archiviert"
Dim rows = dt_result.Select("multiplier = '-'", "date")
If rows.Length > 0 Then
dt_result_temp = rows.CopyToDataTable()
Else
dt_result_temp = dt_result.Clone() 'leere Tabelle mit denselben Spalten
End If
Info = "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo) " & IIf(TimasMandant = "", "", " Timas-Mandant: " & TimasMandant)
End If
If dt_result_temp.Rows.Count = 0 Then
@@ -1165,6 +1198,10 @@ Public Class usrCntlMitarbeiter
Else
MsgBox("keine Daten vorhanden")
End If
@@ -1177,7 +1214,9 @@ Public Class usrCntlMitarbeiter
End Sub
Private Sub gettimesaldo(stichtag As Boolean, Optional st_datum As Date = Nothing)
Private Sub gettimesaldo(stichtag As Boolean, TimasMandant As String, Optional st_datum As Date = Nothing)
Me.Cursor = Cursors.WaitCursor
Dim timas As New cTimasAPI("timas")
Dim isServiceRunning As Boolean = True
@@ -1261,8 +1300,8 @@ Public Class usrCntlMitarbeiter
If Not isServiceRunning Then
MsgBox("Abfragefehler am Timas-Server!")
Exit Sub
MsgBox("Abfragefehler (Timeout) am Timas-Server!")
Continue For
End If
r.Item("Saldo-raw") = saldo
@@ -1297,22 +1336,58 @@ Public Class usrCntlMitarbeiter
Next
If dt_Employee.Rows.Count > 0 Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_Employee,,, "Stundensaldo: " & Now.AddDays(-1).ToShortDateString,,,,, True)
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
End Sub
Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged
Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged, cbxTimasAktiv.CheckStateChanged
getTimasPreData()
End Sub
Private Sub dgvTimasNew_Sorted(sender As Object, e As EventArgs) Handles dgvTimasNew.Sorted
For i As Integer = 0 To dgvTimasNew.Rows.Count - 1
dgvTimasNew.Rows(i).DefaultCellStyle.BackColor = If(dgvTimasNew.Rows(i).Cells("Ausweis-Nr").Value = "0", Color.IndianRed, Color.LightBlue)
Next
End Sub
Private Sub getTimasPreData()
Dim Firma = ""
If cbxClientTimas.SelectedItem Is Nothing Then Exit Sub
Firma = cbxClientTimas.SelectedItem.Value
Dim STATUS As String = ""
Select Case cbxTimasAktiv.CheckState
Case CheckState.Checked
STATUS = "AKTIV"
Case CheckState.Unchecked
STATUS = "INAKTIV"
Case Else
STATUS = ""
End Select
Dim Firma = cbxClientTimas.SelectedItem.Text
If Firma <> "" Then
showTIMAS(False, Firma)
showTIMAS(False, STATUS, Firma)
Else
showTIMAS(False)
showTIMAS(False, STATUS)
End If
End Sub
End Class

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.6.3")>
<Assembly: AssemblyFileVersion("1.2.6.3")>
<Assembly: AssemblyVersion("1.2.6.4")>
<Assembly: AssemblyFileVersion("1.2.6.4")>

View File

@@ -6407,8 +6407,8 @@ weiter:
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
SQLWhere = "And YEAR(U.Rechnungsdatum) = '" & datumString & "'"
von = New Date("01.01." & txtUTAYear.Text)
bis = New Date("31.12." & txtUTAYear.Text)
von = New Date(txtUTAYear.Text, 1, 1)
bis = New Date(txtUTAYear.Text, 12, 31)
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
SQLWhere = "And CAST(U.Rechnungsdatum AS date) = '" & datumString & "'"