This commit is contained in:
2020-10-02 10:36:37 +02:00
parent f5248e4a51
commit fa670231f7
17 changed files with 297 additions and 102 deletions

View File

@@ -57,6 +57,24 @@
End Get
End Property
''' <summary>
''' Gibt das Datum für den BussUndBettag zurück.
''' </summary>
Public ReadOnly Property BussUndBettag() As Date
Get
Dim i As Long
Dim VierterAdvent As Date
For i = 24 To 1 Step -1
If CDate(i & ".12." & _Year).ToString("ddd") = "So" Then
VierterAdvent = CDate(i & ".12." & _Year).ToShortDateString
Exit For
End If
Next i
Dim ErsterAdvent As Date = DateAdd("d", -21, VierterAdvent)
Return DateAdd("d", -11, ErsterAdvent) 'BussUndBettag
End Get
End Property
''' <summary>
''' Gibt das Datum für den Karfreitag zurück.
''' </summary>
@@ -112,14 +130,11 @@
End Property
Public Function isFeiertag(datum As Date) As Boolean
Public Function isFeiertag(datum As Date, land As String) As Boolean
If datum = CDate("01.01." & _Year) Then Return True
If datum = CDate("06.01." & _Year) Then Return True
If datum = CDate("01.05." & _Year) Then Return True
If datum = CDate("15.08." & _Year) Then Return True
If datum = CDate("26.10." & _Year) Then Return True
If datum = CDate("01.11." & _Year) Then Return True
If datum = CDate("08.12." & _Year) Then Return True
If datum = CDate("25.12." & _Year) Then Return True
If datum = CDate("26.12." & _Year) Then Return True
If datum = Ostermontag Then Return True
@@ -128,7 +143,20 @@
If datum = Pfingstmontag Then Return True
If datum = Pfingstsonntag Then Return True
If datum = Fronleichnam Then Return True
Return False
Select Case land
Case "AT"
If datum = CDate("26.10." & _Year) Then Return True
If datum = CDate("08.12." & _Year) Then Return True
If datum = CDate("01.05." & _Year) Then Return True 'Staatsfeiertag
Case "DE" 'BAYERN
If datum = CDate("03.10." & _Year) Then Return True ' Tag der Deutschen Einheit
If datum = BussUndBettag Then Return True ' Buß- und Bettag '!!!!ABEWEICHEND
If datum = CDate("08.08." & _Year) Then Return True ' Augsburger Friedensfest
If datum = CDate("01.05." & _Year) Then Return True ' Maifeiertag
If datum = Karfreitag Then Return True
End Select
Return False
End Function
End Class

View File

@@ -14,6 +14,7 @@ Public Class frmDienstplan
Private scr_top As Integer = 50
Dim week() As String = {"SO", "MO", "DI", "MI", "DO", "FR", "SA"}
Private SCHICHT = "ROT"
Dim SETTINGS As cDienstSettings
Dim SQLDienst As New cDienstplan
Dim ListMA As New List(Of cMAShort)
@@ -270,6 +271,8 @@ Public Class frmDienstplan
Me.berechtigung = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG(Me.Name, 1)
If Me.berechtigung = 99 Then Me.Close() : Exit Sub
SETTINGS = New cDienstSettings(niederlassung)
Me.Cursor = Cursors.WaitCursor
aktWoche = DateToWeek(aktDate).Substring(4, 2)
aktJahr = DateToWeek(aktDate).Substring(0, 4)
@@ -865,7 +868,7 @@ Public Class frmDienstplan
eintrag.dstetr_dstmaId = m.dstma_id
eintrag.dstetr_datum = datum
If Not FT.isFeiertag(datum) Then
If Not FT.isFeiertag(datum, SETTINGS.dpset_land) Then
If m.dstma_muster Then
' MsgBox("HIER")
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)

View File

@@ -857,7 +857,7 @@ Public Class frmDienstplanATILLA
eintrag.dstetr_dstmaId = m.dstma_id
eintrag.dstetr_datum = datum
If Not FT.isFeiertag(datum) Then
If Not FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Then
If m.dstma_muster Then
' MsgBox("HIER")
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)

View File

@@ -1232,7 +1232,7 @@ Public Class frmDienstplanVariabel
eintrag.dstetr_dstmaId = m.dstma_id
eintrag.dstetr_datum = datum
If Not FT.isFeiertag(datum) Then
If Not FT.isFeiertag(datum, SETTINGS.dpset_land) Then
If m.dstma_muster Then
' MsgBox("HIER")
@@ -2467,7 +2467,7 @@ Public Class frmDienstplanVariabel
Blatt = Datei.Worksheets("DIENSTPLAN")
Dim dt_Ma As DataTable = SQLDienst.loadDGV("SELECT TOP 25 [dstma_id],[dstma_mitId],[dstma_kuerzel],[dstma_arbvh] FROM [ADMIN].[dbo].[tblDienstMitarb] inner join tblMitarbeiter ON mit_id=dstma_mitId where dstma_niederlassung='" & niederlassung & "' and mit_gekuendigt=0 order by dstma_reihenfolge, dstma_kuerzel")
Dim dt_Ma As DataTable = SQLDienst.loadDGV("SELECT TOP 25 [dstma_id],[dstma_mitId],[dstma_kuerzel],[dstma_arbvh] FROM [ADMIN].[dbo].[tblDienstMitarb] inner join tblMitarbeiter ON mit_id=dstma_mitId where dstma_niederlassung='" & niederlassung & "' and mit_gekuendigt=0 and dstma_inaktiv=0 order by dstma_reihenfolge, dstma_kuerzel")
Dim cnt = 0
If dt_Ma IsNot Nothing Then
@@ -2487,7 +2487,7 @@ Public Class frmDienstplanVariabel
Blatt.Range("A" & CInt(14 + cnt3).ToString).Font.Color = Color.Red
End If
If FT.isFeiertag(dateWork) Then
If FT.isFeiertag(dateWork, SETTINGS.dpset_land) Then
Blatt.Range("B" & CInt(14 + cnt3).ToString & ":" & "Z" & CInt(14 + cnt3).ToString).Interior.Color = Color.Orange
Blatt.Range("A" & CInt(14 + cnt3).ToString).Font.Color = Color.Red
End If

View File

@@ -382,7 +382,7 @@ Public Class usrCntlDienstplan
End Select
rpt.txtTag.ForeColor = Color.Black
If FT.isFeiertag(datumKW) Or datumKW.ToString("dd.MM.") = "31.12." Or datumKW.ToString("dd.MM.") = "24.12." Or datumKW.DayOfWeek = 0 Then 'Feiertag oder 1/2 Tag
If FT.isFeiertag(datumKW, cDienstSettings.getLand(niederlassung)) Or datumKW.ToString("dd.MM.") = "31.12." Or datumKW.ToString("dd.MM.") = "24.12." Or datumKW.DayOfWeek = 0 Then 'Feiertag oder 1/2 Tag
rpt.txtTag.ForeColor = Color.Red
rpt.Detail.BackColor = Color.FromArgb(220, 220, 220)
End If