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

@@ -16,6 +16,7 @@ Public Class cDienstSettings
Property dpset_AbfAuswertung As Boolean
Property dpset_StudenAuswertung As Boolean
Property dpset_AvisoAuswertung As Boolean
Property dpset_land As String
@@ -26,6 +27,7 @@ Public Class cDienstSettings
LOAD()
End Sub
Function getParameterList() As List(Of SQLVariable)
Dim list As New List(Of SQLVariable)
list.Add(New SQLVariable("dpset_id", dpset_id, , True))
@@ -42,6 +44,7 @@ Public Class cDienstSettings
list.Add(New SQLVariable("dpset_AbfAuswertung", dpset_AbfAuswertung))
list.Add(New SQLVariable("dpset_StudenAuswertung", dpset_StudenAuswertung))
list.Add(New SQLVariable("dpset_AvisoAuswertung", dpset_AvisoAuswertung))
list.Add(New SQLVariable("dpset_land", dpset_land))
Return list
End Function
@@ -88,6 +91,26 @@ Public Class cDienstSettings
Shared Function getLand(dpset_niederlassung) As String
getLand = "AT" 'Defaut
Try
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand("SELECT dpset_land FROM tblDienstSettings WHERE dpset_niederlassung=@dpset_niederlassung ", conn)
cmd.Parameters.AddWithValue("@dpset_niederlassung", dpset_niederlassung)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
getLand = dr.Item(0)
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Function
Public Function getUpdateCmd() As String
Try
Dim list As List(Of SQLVariable) = getParameterList()

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

View File

@@ -375,15 +375,6 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die ähnelt.
'''</summary>
Friend ReadOnly Property hjhjkghjklghjkhz678678568() As String
Get
Return ResourceManager.GetString("hjhjkghjklghjkhz678678568", resourceCulture)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@@ -664,7 +655,7 @@ Namespace My.Resources
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die 1.9.9 ähnelt.
''' Sucht eine lokalisierte Zeichenfolge, die 2.0.0 ähnelt.
'''</summary>
Friend ReadOnly Property Version() As String
Get

View File

@@ -188,7 +188,7 @@
<value>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=sa;Password=BmWr501956;</value>
</data>
<data name="Version" xml:space="preserve">
<value>1.9.9</value>
<value>2.0.0</value>
</data>
<data name="del" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -298,9 +298,6 @@
<data name="gear" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="hjhjkghjklghjkhz678678568" xml:space="preserve">
<value />
</data>
<data name="personGray_m" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\personGray_m.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>

View File

@@ -910,7 +910,7 @@ Public Class cProgramFunctions
For i = 0 To 6
' Wochenstunden -= getWochenstundenTAG(datum, SCHICHT, dstma_id, dstma_muster, dstma_WEStdRegelAZ, dstma_arbvh, niederlassung)
Dim FT As New cFeiertage(datum.Year)
If FT.isFeiertag(datum) Or datum.ToString("dd.MM.") = "31.12." Or datum.ToString("dd.MM.") = "24.12." Then 'Feiertag oder 1/2 Tag
If FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or datum.ToString("dd.MM.") = "31.12." Or datum.ToString("dd.MM.") = "24.12." Then 'Feiertag oder 1/2 Tag
Dim woTag = datum.ToString("ddd", New CultureInfo("de-DE")).ToUpper
If dstma_muster Then 'Wenn Muster, dann muss Feiertag bei VZ und TZ berüchsichtigt werden....
@@ -962,7 +962,7 @@ Public Class cProgramFunctions
Dim FT As New cFeiertage(datum.Year)
Dim woTag = datum.ToString("ddd", New CultureInfo("de-DE")).ToUpper
If FT.isFeiertag(datum) Then 'Feiertag oder 1/2 Tag
If FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Then 'Feiertag oder 1/2 Tag
getWochenstundenTAG = 0
ElseIf woTag = "SA" And woTag = "SO" Then
getWochenstundenTAG = 0

View File

@@ -3949,7 +3949,7 @@ 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) Or woTag = "SO"))
s += cPF.getDiff(von, bis, niederlassung, (FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or woTag = "SO"))
If IsNumeric(dr.Item("dstetr_pause")) Then
s -= CDbl(dr.Item("dstetr_pause"))
End If