neu
This commit is contained in:
@@ -910,7 +910,7 @@ Public Class cProgramFunctions
|
||||
|
||||
Dim SQLDienst As New cDienstplan
|
||||
|
||||
Public Function getWochenstunden(STD_LIST As List(Of cDienstMitarbAbweichendeWochenstunden), Wochenstunden As Double, datum As Date, SCHICHT As String, dstma_id As Integer, dstma_muster As Boolean, dstma_WEStdRegelAZ As Boolean, dstma_arbvh As String, niederlassung As String, StdFeiertag As Object) As Double
|
||||
Public Function getWochenstunden(STD_LIST As List(Of cDienstMitarbAbweichendeWochenstunden), Wochenstunden As Double, datum As Date, SCHICHT As String, dstma_id As Integer, dstma_muster As Boolean, dstma_WEStdRegelAZ As Boolean, dstma_arbvh As String, niederlassung As String, StdFeiertag As Object, schicht4wo As Boolean) As Double
|
||||
getWochenstunden = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(STD_LIST, dstma_id, datum, Wochenstunden, If(StdFeiertag, -1))
|
||||
|
||||
Dim UrlStd As Double = 8
|
||||
@@ -924,26 +924,31 @@ Public Class cProgramFunctions
|
||||
|
||||
If dstma_muster Then 'Wenn Muster, dann muss Feiertag bei VZ und TZ berüchsichtigt werden....
|
||||
If (woTag <> "SA" And woTag <> "SO") Or dstma_WEStdRegelAZ Then ' ... aber nur wenn Wochendende teil der Regel-Arbeitszeit ist.
|
||||
Dim tz As cDienstTeilzeit = SQLDienst.getDienstTeilzeitBySchicht(dstma_id, SCHICHT, woTag)
|
||||
Dim tz As cDienstTeilzeit = SQLDienst.getDienstTeilzeitBySchicht(dstma_id, SCHICHT, woTag, schicht4wo)
|
||||
If tz IsNot Nothing Then ' EVtl gibt es den WoTag Nicht
|
||||
'Wochenstunden -= getDiff(tz.dsttz_von, tz.dsttz_bis, niederlassung, (FT.isFeiertag(datum) Or woTag = "SO"))
|
||||
|
||||
If datum.ToString("dd.MM.") = "31.12." Or datum.ToString("dd.MM.") = "24.12." Then 'Weihnachten und Silvester ist ist nur 1/2 Tag!!!
|
||||
getWochenstunden -= UrlStd / 2
|
||||
Else
|
||||
|
||||
|
||||
If dstma_arbvh = "VZ" Then
|
||||
getWochenstunden -= UrlStd 'bei vollzeit mit Muster werden 8 Std abgezogen
|
||||
Else
|
||||
If getDiff(tz.dsttz_von, tz.dsttz_bis, niederlassung, False) > 0 Then 'Wenn an deisem Tag Stunden angefallen wären (lt. Muster)
|
||||
getWochenstunden -= UrlStd
|
||||
' getWochenstunden -= getDiff(tz.dsttz_von, tz.dsttz_bis, niederlassung, False)
|
||||
' If IsNumeric(tz.dsttz_pause) Then getWochenstunden += tz.dsttz_pause
|
||||
If StdFeiertag IsNot Nothing Then
|
||||
getWochenstunden -= UrlStd ' wurde oben schon angepasst.
|
||||
Else
|
||||
|
||||
'gibt es keine deinierten Std.für einen Feiertag, werden die Stunden nach Mustereinteilung berechnet:
|
||||
If getDiff(tz.dsttz_von, tz.dsttz_bis, niederlassung, False) > 0 Then 'Wenn an deisem Tag Stunden angefallen wären (lt. Muster)
|
||||
Dim getWochenstundenTAG = getDiff(tz.dsttz_von, tz.dsttz_bis, niederlassung, False)
|
||||
If IsNumeric(tz.dsttz_pause) Then getWochenstundenTAG += tz.dsttz_pause
|
||||
getWochenstunden -= getWochenstundenTAG
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
@@ -1036,16 +1041,17 @@ Public Class cProgramFunctions
|
||||
|
||||
' Prüfen, ob Datum zur ersten Woche des Folgejahres gehört
|
||||
If dDate >= dNextYear Then
|
||||
' Rückgabe: KW 1 des Folgejahres
|
||||
Return dDate.Year + 1 & "01"
|
||||
' Rückgabe: KW 1 des Folgejahres
|
||||
Return (dDate.Year + 1) & "01"
|
||||
ElseIf dDate < dThisYear Then
|
||||
' Falls das Datum noch zu einer KW aus dem letzten Jahr zählt
|
||||
Return dDate.Year - 1 & DatePart(DateInterval.WeekOfYear,
|
||||
New Date(dDate.Year - 1, 12, 28), FirstDayOfWeek.Monday,
|
||||
FirstWeekOfYear.FirstFourDays)
|
||||
Else
|
||||
|
||||
' KW = Differenz zum ersten Tag der ersten Woche
|
||||
Return dDate.Year & Format$(dDate.Subtract(dThisYear).Days \ 7 + 1, "00")
|
||||
Return dDate.Year.ToString & Format$(dDate.Subtract(dThisYear).Days \ 7 + 1, "00").ToString
|
||||
End If
|
||||
End Function
|
||||
|
||||
@@ -1079,7 +1085,7 @@ Public Class cProgramFunctions
|
||||
If IsNumeric(ma.dstma_wochenStunden) Then Wochenstunden = ma.dstma_wochenStunden
|
||||
' MsgBox(Wochenstunden)
|
||||
|
||||
Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r("dstma_id"), ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd)
|
||||
Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r("dstma_id"), ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd, ma.dstma_4wo)
|
||||
Dim tatStd As Double = SQLDienst.getDstStunden(r("dstma_id"), datum_montag, datum_montag.AddDays(6), niederlassung)
|
||||
|
||||
' : ANDERES ERG"""""!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
Reference in New Issue
Block a user