Feiertage und Urlaubsberechnung Dienstplan

This commit is contained in:
2023-10-13 17:03:18 +02:00
parent a443b3c01d
commit 463089f9db
9 changed files with 59 additions and 32 deletions

View File

@@ -4084,7 +4084,7 @@ Public Class cDienstplan
Return False
End Function
Public Function getDstStunden(maId As Integer, datum_von As Date, datum_bis As Date, niederlassung As String, Optional onlySplitschichten As Boolean = False) As Double
Public Function getDstStunden(maId As Integer, datum_von As Date, datum_bis As Date, niederlassung As String, Optional land As String = "", Optional onlySplitschichten As Boolean = False) As Double
Try
Dim stunden As Double
Dim rgx As New Regex("^\d{2}:\d{2}$")
@@ -4137,12 +4137,12 @@ Public Class cDienstplan
'End If
If cPF.isValidTime(von) And cPF.isValidTime(bis) Then ' Wenn Format stimmt
s += cPF.getDiff(von, bis, niederlassung, (FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or woTag = "SO"))
s += cPF.getDiff(von, bis, niederlassung, (FT.isFeiertag(datum, IIf(land <> "", land, cDienstSettings.getLand(niederlassung))) Or woTag = "SO"))
If IsNumeric(dr.Item("dstetr_pause")) Then
s -= CDbl(dr.Item("dstetr_pause"))
'Wenn Feiertag oder Sonntag, werden die Stunden (von-bis) doppelt gerechent, also müssen die Pausenstunden doppelt abgezoben werden:
If (FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or woTag = "SO") Then s -= CDbl(dr.Item("dstetr_pause"))
If (FT.isFeiertag(datum, IIf(land <> "", land, cDienstSettings.getLand(niederlassung))) Or woTag = "SO") Then s -= CDbl(dr.Item("dstetr_pause"))
End If
Else