Urlaubsplaner Updatefunktion eingebaut.
This commit is contained in:
@@ -1129,10 +1129,11 @@ Public Class frmDienstplanVariabel
|
||||
If dgv.Parent.Parent.GetType() Is GetType(usrCntlDienstWoche) Then o = dgv.Parent.Parent
|
||||
|
||||
Dim d As Date = CDate(getValuesDienstDGV(o, dgv.Name, "datum"))
|
||||
|
||||
If o.SCHICHT.dedet_Splitschicht = True Then
|
||||
MsgBox("Keine Änderungen bei Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
If o IsNot Nothing Then
|
||||
If o.SCHICHT.dedet_Splitschicht = True Then
|
||||
MsgBox("Keine Änderungen bei Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
For Each s In BEN_SCHICHTEN
|
||||
@@ -1264,7 +1265,7 @@ Public Class frmDienstplanVariabel
|
||||
initALL()
|
||||
End If
|
||||
End Sub
|
||||
Public Sub initALL(Optional MAID As Integer = -1)
|
||||
Public Sub initALL(Optional MAID As Integer = -1, Optional onlyFehlzeiten As Boolean = False)
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
' Me.Enabled = False
|
||||
@@ -1276,104 +1277,114 @@ Public Class frmDienstplanVariabel
|
||||
Dim cDienstAbwesendheiten As List(Of cDienstAbwesendheiten) = SQLDienst.getDienstAbwesendheiten(montag, sonntag, niederlassung)
|
||||
|
||||
Dim ma As List(Of cDienstMA) = Nothing
|
||||
|
||||
If MAID > 0 Then
|
||||
If Not SQLDienst.delDstEintraegeMaId(montag, sonntag, niederlassung, MAID) Then Me.Cursor = Cursors.Default : Exit Sub 'Alle löschen
|
||||
|
||||
If Not SQLDienst.delDstEintraegeMaId(montag, sonntag, niederlassung, MAID, onlyFehlzeiten) Then Me.Cursor = Cursors.Default : Exit Sub 'Alles Löschen/Nur Fehlzeiten löschen
|
||||
ma = SQLDienst.getAllDienstMA(niederlassung, montag, " AND dstma_id = " & MAID)
|
||||
|
||||
Else
|
||||
If Not SQLDienst.delDstEintraege(montag, sonntag, niederlassung) Then Me.Cursor = Cursors.Default : Exit Sub 'Alle löschen
|
||||
|
||||
If Not SQLDienst.delDstEintraege(montag, sonntag, niederlassung, onlyFehlzeiten) Then Me.Cursor = Cursors.Default : Exit Sub 'Alles Löschen/Nur Fehlzeiten löschen
|
||||
ma = SQLDienst.getAllDienstMA(niederlassung, montag)
|
||||
|
||||
End If
|
||||
|
||||
Dim datum As Date = montag
|
||||
For i = 1 To 7
|
||||
Dim FT As New VERAG_PROG_ALLGEMEIN.cFeiertage(datum.Year) 'Evtl Jahressprung, darum neu definieren
|
||||
For Each m In ma
|
||||
|
||||
Dim eintrag As New cDienstEintrag
|
||||
eintrag.dstetr_dstmaId = m.dstma_id
|
||||
eintrag.dstetr_datum = datum
|
||||
Dim existingEntry = SQLDienst.getCountEntrys(eintrag.dstetr_dstmaId, eintrag.dstetr_datum, eintrag.dstetr_datum)
|
||||
|
||||
If Not FT.isFeiertag(datum, IIf(m.dstma_land <> "", m.dstma_land, SETTINGS.dpset_land)) Then
|
||||
If m.dstma_muster Then
|
||||
' MsgBox("HIER")
|
||||
|
||||
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
If eintrag.dstetr_art = "" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
' MsgBox(getFromTeilzeit("von", tz, datum, SCHICHT) & " _ " & getFromTeilzeit("bis", tz, datum, SCHICHT))
|
||||
eintrag.dstetr_von = getFromTeilzeit(m.dstma_4wo, "von", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_bis = getFromTeilzeit(m.dstma_4wo, "bis", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_pause = getFromTeilzeit(m.dstma_4wo, "pause", tz, datum, SCHICHT)
|
||||
' eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = getFromTeilzeit(m.dstma_4wo, "info", tz, datum, SCHICHT)
|
||||
'MsgBox(eintrag.dstetr_art)
|
||||
If Not onlyFehlzeiten Or onlyFehlzeiten AndAlso existingEntry = 0 Then
|
||||
|
||||
If Not FT.isFeiertag(datum, IIf(m.dstma_land <> "", m.dstma_land, SETTINGS.dpset_land)) Then
|
||||
If m.dstma_muster Then
|
||||
' MsgBox("HIER")
|
||||
|
||||
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
End If
|
||||
|
||||
Else
|
||||
If m.dstma_arbvh = "VZ" Then
|
||||
|
||||
If week(datum.DayOfWeek) = "SA" Or week(datum.DayOfWeek) = "SO" Then
|
||||
If eintrag.dstetr_art = "" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
eintrag.dstetr_art = getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum)
|
||||
eintrag.dstetr_hauptsplitschicht = getBooleanHauptsplitschicht(m.dstma_stammSchicht)
|
||||
'MsgBox(getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum))
|
||||
'Abwesenheiten prüfen:
|
||||
' For Each d In cDienstAbwesendheiten
|
||||
'If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
' eintrag.dstetr_art = d.dstna_grund
|
||||
'End If
|
||||
' Next
|
||||
' MsgBox(getFromTeilzeit("von", tz, datum, SCHICHT) & " _ " & getFromTeilzeit("bis", tz, datum, SCHICHT))
|
||||
eintrag.dstetr_von = getFromTeilzeit(m.dstma_4wo, "von", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_bis = getFromTeilzeit(m.dstma_4wo, "bis", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_pause = getFromTeilzeit(m.dstma_4wo, "pause", tz, datum, SCHICHT)
|
||||
' eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = getFromTeilzeit(m.dstma_4wo, "info", tz, datum, SCHICHT)
|
||||
'MsgBox(eintrag.dstetr_art)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
End If
|
||||
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(eintrag.dstetr_art, "von", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(eintrag.dstetr_art, "bis", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
Else
|
||||
If m.dstma_arbvh = "VZ" Then
|
||||
|
||||
If week(datum.DayOfWeek) = "SA" Or week(datum.DayOfWeek) = "SO" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
eintrag.dstetr_art = getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum)
|
||||
eintrag.dstetr_hauptsplitschicht = getBooleanHauptsplitschicht(m.dstma_stammSchicht)
|
||||
'MsgBox(getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum))
|
||||
'Abwesenheiten prüfen:
|
||||
' For Each d In cDienstAbwesendheiten
|
||||
'If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
' eintrag.dstetr_art = d.dstna_grund
|
||||
'End If
|
||||
' Next
|
||||
End If
|
||||
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(eintrag.dstetr_art, "von", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(eintrag.dstetr_art, "bis", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
|
||||
|
||||
If False Then
|
||||
If False Then
|
||||
|
||||
If m.dstma_kuerzel = "AKPINAR" Then
|
||||
If m.dstma_kuerzel = "AKPINAR" Then
|
||||
|
||||
If Not week(datum.DayOfWeek) = "SA" And Not week(datum.DayOfWeek) = "SO" Then
|
||||
'MsgBox("Hallo")
|
||||
' eintrag.dstetr_von = "08:00"
|
||||
' eintrag.dstetr_bis = "19:00"
|
||||
eintrag.dstetr_info = " 8-14 14:30-19"
|
||||
If Not week(datum.DayOfWeek) = "SA" And Not week(datum.DayOfWeek) = "SO" Then
|
||||
'MsgBox("Hallo")
|
||||
' eintrag.dstetr_von = "08:00"
|
||||
' eintrag.dstetr_bis = "19:00"
|
||||
eintrag.dstetr_info = " 8-14 14:30-19"
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
Else 'TEILZEIT
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
Else 'TEILZEIT
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
Else 'FEIERTAG
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
Else 'FEIERTAG
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
'Abwesenheiten prüfen:
|
||||
For Each d In cDienstAbwesendheiten
|
||||
If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
@@ -1386,10 +1397,24 @@ Public Class frmDienstplanVariabel
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(grund, "von", week(datum.DayOfWeek).ToUpper)
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(grund, "bis", week(datum.DayOfWeek).ToUpper)
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(grund, "pause", week(datum.DayOfWeek).ToUpper)
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
If onlyFehlzeiten Then
|
||||
'MsgBox("MA-ID: " & eintrag.dstetr_dstmaId & " " & "existingEntry: " & existingEntry & " Art: " & eintrag.dstetr_art & " DATUM: " & eintrag.dstetr_datum)
|
||||
If existingEntry = 1 AndAlso (eintrag.dstetr_art = "URL" Or eintrag.dstetr_art = "KS" Or eintrag.dstetr_art = "DR" Or eintrag.dstetr_art = "BS") Or existingEntry = 0 Then
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung,, False)
|
||||
Else
|
||||
|
||||
End If
|
||||
Else
|
||||
'SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung,, False)
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Next
|
||||
datum = datum.AddDays(1)
|
||||
@@ -2100,14 +2125,13 @@ Public Class frmDienstplanVariabel
|
||||
MsgBox("Keine Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If o.SCHICHT.dedet_Hauptsplitschicht = False Then
|
||||
|
||||
MsgBox("In Schicht " & o.schicht_name & " sind keine Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Dim ids As New List(Of Integer)
|
||||
Dim arr As DataGridViewSelectedCellCollection = dgv_tmp.SelectedCells
|
||||
For Each c As DataGridViewCell In arr
|
||||
@@ -2456,7 +2480,7 @@ Public Class frmDienstplanVariabel
|
||||
|
||||
If frmUrlKW.RESULT <> "" Then
|
||||
' MsgBox(markId)
|
||||
initALL(markId)
|
||||
initALL(markId, True)
|
||||
End If
|
||||
|
||||
|
||||
@@ -2690,7 +2714,7 @@ Public Class frmDienstplanVariabel
|
||||
End If
|
||||
|
||||
Else
|
||||
MsgBox("Kein Mitarbeiter auswewählt!")
|
||||
MsgBox("Kein Mitarbeiter ausgewählt!")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -2918,4 +2942,12 @@ Public Class frmDienstplanVariabel
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
|
||||
If Panel6.Controls.Count > 0 Then
|
||||
Dim u As usrcntlDienstplanStunden = DirectCast(Panel6.Controls(0), usrcntlDienstplanStunden)
|
||||
If markId > 0 Then
|
||||
initALL(markId, True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user