Postsgang (1h) kann nun gestempelt werden, Fehlerhinweis bei Verbindungsfehler zu Zeiterfassungsserver

This commit is contained in:
2023-11-07 14:20:05 +01:00
parent 4027773db1
commit 1b59a700f4
8 changed files with 913 additions and 775 deletions

View File

@@ -183,6 +183,12 @@ Public Class frmMitarbeitersuche
End If
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZE_POSTGANG", "SDL") Then
Button2.Visible = True
End If
End If
End Sub
@@ -292,17 +298,47 @@ Public Class frmMitarbeitersuche
End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnZEKommen.Click, btnZEGehen.Click
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnZEKommen.Click, btnZEGehen.Click, Button2.Click
Dim art As String
If sender Is btnZEKommen Then
art = "in"
Else
ElseIf sender Is btnZEGehen Then
art = "out"
Else
art = "post"
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then
Dim timas As New cTimasAPI
Dim a As MsgBoxResult = MsgBox(IIf(cbxHomeoffice.Checked, "Homeoffice", "Büro") & vbNewLine & sender.text & " für " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & vbNewLine & Now.ToString(), vbYesNo)
If art = "post" Then
'postgang ausstempen, dann beginn post, + 1h ende post
Dim askPost As MsgBoxResult = MsgBox("Postgang (1h) für " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & " eintragen?" & vbNewLine & Now.ToString(), vbYesNo)
If askPost = vbYes Then
Dim info
Dim timestp = Now
Dim timeEntryExisting As Boolean = False
Dim isOnline = timas.getTimeEntries(cAllgemein.MITARBEITER.mit_timasId, Nothing, timeEntryExisting)
If timeEntryExisting AndAlso isOnline Then timas.setTimeEntry(cAllgemein.MITARBEITER, timestp, info, "out", 0) 'Ende
timestp = timestp.AddMinutes(1)
timas.setTimeEntry(cAllgemein.MITARBEITER, timestp, info, "in", 6) 'Start Post 6 Postgang
timestp = timestp.AddHours(1)
timas.setTimeEntry(cAllgemein.MITARBEITER, timestp, info, "out", 6) ' Ende Post 6 Postgang
MsgBox(info)
Thread.Sleep(2000) 'warten bis Eintrag in Timas-DB
requestDone = False
initTimasSaldo()
End If
Else
'normales kommen/gehen
Dim a As MsgBoxResult = MsgBox(IIf(cbxHomeoffice.Checked, "Homeoffice", "Büro") & vbNewLine & sender.text & " für " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & vbNewLine & Now.ToString(), vbYesNo)
If a = vbYes Then
Dim info
timas.setTimeEntry(cAllgemein.MITARBEITER, Now, info, art, IIf(cbxHomeoffice.Checked, 3, 0))
@@ -312,6 +348,9 @@ Public Class frmMitarbeitersuche
initTimasSaldo()
End If
End If
End If
End Sub
@@ -330,36 +369,49 @@ Public Class frmMitarbeitersuche
If timas IsNot Nothing Then
timas.getTimeSaldo(MA.mit_timasId, lblTimasSaldo.Text)
lblStatusZE.Visible = True
If timas.getTimeEntries(MA.mit_timasId, dtZeiten, requestDone) Then
'PictureBox9.Image = VERAG_PROG_ALLGEMEIN.My.Resources.Resources.uhr_green
lblStatusZE.BackColor = Color.Green
lblStatusZE.Text = "ONLINE"
Dim checkEntry As Boolean = timas.getTimeEntries(MA.mit_timasId, dtZeiten, requestDone)
btnZEGehen.Enabled = True
btnZEKommen.Enabled = False
If requestDone Then
If checkEntry Then
'PictureBox9.Image = VERAG_PROG_ALLGEMEIN.My.Resources.Resources.uhr_green
lblStatusZE.BackColor = Color.Green
lblStatusZE.Text = "ONLINE"
btnZEGehen.Enabled = True
btnZEKommen.Enabled = False
Else
' PictureBox9.Image = VERAG_PROG_ALLGEMEIN.My.Resources.Resources.uhr_red
lblStatusZE.Text = "OFFLINE"
lblStatusZE.BackColor = Color.Firebrick
btnZEGehen.Enabled = False
btnZEKommen.Enabled = True
End If
Else
' PictureBox9.Image = VERAG_PROG_ALLGEMEIN.My.Resources.Resources.uhr_red
lblStatusZE.Text = "OFFLINE"
lblStatusZE.BackColor = Color.Firebrick
'Request wurde nicht verarbeitet -> Verbindungsfehler
lblStatusZE.Text = "Verbindungsfehler"
lblStatusZE.BackColor = Color.Gray
btnZEGehen.Enabled = False
btnZEKommen.Enabled = True
btnZEKommen.Enabled = False
End If
If dtZeiten.Rows.Count > 0 AndAlso VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = MA.mit_id Then
pnlZeiten.Visible = True
Else
pnlZeiten.Visible = False
pnlZeiten.Visible = True
Else
pnlZeiten.Visible = False
End If
End If
End If
End If
End Sub
Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click
Dim webAddress As String = "https://zeit.verag.ag/webterminal/"
Process.Start(webAddress)
End Sub
End Class