Files
ADMIN/UID/Dienstplan/frmUrlKW.vb
2019-08-08 12:44:50 +02:00

200 lines
8.2 KiB
VB.net

Public Class frmUrlKW
Public KW As Integer
Public YEAR As Integer
Public ART As String
Public KW_ID As Integer = -1
Public RESULT As String = ""
Public niederlassung As String = ""
Public maId As String = ""
Dim SQLDienst As New cDienstplan
Dim montag As Date
Dim loaded = False
Private Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click
' SQLDienst.delDienstNichtAnwesendKW_ByKwJahr(maId, KW, YEAR)
' SQLDienst.delDienstNichtAnwesendIdArtDatum(maId, montag, montag.AddDays(6))
If KW_ID > 0 Then
SQLDienst.delDienstNichtAnwesendKW_ByKW_ID(KW_ID)
SQLDienst.delDienstNichtAnwesend_ByKW_ID(KW_ID)
Else
' SQLDienst.delDienstNichtAnwesendKW_ByKwJahr(maId, KW, YEAR)
' SQLDienst.delDienstNichtAnwesendIdArtDatum(maId, montag, montag.AddDays(6))
End If
Dim id = SQLDienst.insertDienstNA_KW(maId, KW, YEAR, DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, txtInfo.Text, niederlassung)
' Dim ma As cDienstMA = SQLDienst.getDstMA(maId)
' Dim wochenstunden = ma.dstma_wochenStunden
If cbxMo.Checked Then SQLDienst.insertDienstNA(maId, montag, montag, DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxDi.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(1), montag.AddDays(1), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxMi.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(2), montag.AddDays(2), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxDo.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(3), montag.AddDays(3), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxFr.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(4), montag.AddDays(4), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxSa.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(5), montag.AddDays(5), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
If cbxSo.Checked Then SQLDienst.insertDienstNA(maId, montag.AddDays(6), montag.AddDays(6), DirectCast(cboArt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "", niederlassung, id)
RESULT = "OK"
Me.Close()
End Sub
Sub fillCboMA()
MyComboBox1.fillWithSQL("SELECT dstma_id,dstma_kuerzel FROM tblDienstMitarb WHERE dstma_niederlassung = '" & niederlassung & "' ORDER BY dstma_kuerzel ASC", False, "ADMIN")
' Dim ListMA = SQLDienst.getAllDienstMA(niederlassung)
End Sub
Private Sub frmUrlKW_Load(sender As Object, e As EventArgs) Handles Me.Load
cboArt.Items.Clear()
cboArt.Items.Add((New VERAG_PROG_ALLGEMEIN.MyListItem("Urlaub", "URL")))
cboArt.Items.Add((New VERAG_PROG_ALLGEMEIN.MyListItem("Krankenstand", "KS")))
cboArt.Items.Add((New VERAG_PROG_ALLGEMEIN.MyListItem("Dienstreise", "DR")))
cboArt.Items.Add((New VERAG_PROG_ALLGEMEIN.MyListItem("Berufsschule", "BS")))
cboArt.SelectedIndex = 0
End Sub
Private Sub frmUrlKW_Shown(sender As Object, e As EventArgs) Handles Me.Shown
init()
loaded = True
End Sub
Sub init()
lblKW.Text = "KW: " & KW
fillCboMA()
For Each i In MyComboBox1.Items
If DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value = maId Then MyComboBox1.SelectedItem = i
Next
montag = CalendarWeek(KW, YEAR)
lblMo.Text = montag.ToString("dd.MM.")
lblDi.Text = montag.AddDays(1).ToString("dd.MM.")
lblMi.Text = montag.AddDays(2).ToString("dd.MM.")
lblDo.Text = montag.AddDays(3).ToString("dd.MM.")
lblFr.Text = montag.AddDays(4).ToString("dd.MM.")
lblSa.Text = montag.AddDays(5).ToString("dd.MM.")
lblSo.Text = montag.AddDays(6).ToString("dd.MM.")
cbxMo.Checked = False
cbxDi.Checked = False
cbxMi.Checked = False
cbxDo.Checked = False
cbxFr.Checked = False
cbxSa.Checked = False
cbxSo.Checked = False
Dim listKW As cDienstAbwesendheitenKW = SQLDienst.getDienstAbwesendheitenKWByID(KW_ID)
If listKW IsNot Nothing Then
For Each i In cboArt.Items
' MsgBox(DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value)
If DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value.Trim = listKW.dstnk_grund.Trim Then cboArt.SelectedItem = i
Next
txtInfo.Text = IIf(listKW.dstnk_info Is DBNull.Value, "", listKW.dstnk_info)
' Dim ll = Nothing
' If KW_ID > 0 Then
'll = SQLDienst.getDienstAbwesendheitenByKWID(KW_ID)
' Else
' ll = SQLDienst.getDienstAbwesendheitenByID(montag, montag.AddDays(6), niederlassung, ART, maId)
' End If
For Each l As cDienstAbwesendheiten In SQLDienst.getDienstAbwesendheitenByKWID(KW_ID)
If l.dstna_datum_von = montag.ToShortDateString Then cbxMo.Checked = True
If l.dstna_datum_von = montag.AddDays(1).ToShortDateString Then cbxDi.Checked = True
If l.dstna_datum_von = montag.AddDays(2).ToShortDateString Then cbxMi.Checked = True
If l.dstna_datum_von = montag.AddDays(3).ToShortDateString Then cbxDo.Checked = True
If l.dstna_datum_von = montag.AddDays(4).ToShortDateString Then cbxFr.Checked = True
If l.dstna_datum_von = montag.AddDays(5).ToShortDateString Then cbxSa.Checked = True
If l.dstna_datum_von = montag.AddDays(6).ToShortDateString Then cbxSo.Checked = True
Next
Else
CheckBox1.Checked = True
txtInfo.Text = cboArt._value
If ART <> "" Then
For Each i In cboArt.Items
If DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value = ART Then cboArt.SelectedItem = i
Next
End If
End If
End Sub
Public Function CalendarWeek(ByVal nWeek As Integer, ByVal nYear As Integer) As Date
' Wochentag des 4. Januar des Jahres ermitteln
Dim dStart As New Date(nYear, 1, 4)
Dim nDay As Integer = (dStart.DayOfWeek + 6) Mod 7 + 1
' Beginn der 1. KW des Jahres
Dim dFirst As Date = dStart.AddDays(1 - nDay)
' Gesuchte KW ermitteln
Return dFirst.AddDays((nWeek - 1) * 7)
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Close()
End Sub
Public Function WeekCount(ByVal nYear As Integer) As Integer
' Ermittelt die Anzahl Wochen in einem Jahr
Return CalendarWeek(1, nYear + 1).Subtract(CalendarWeek(1, nYear)).Days \ 7
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If KW < WeekCount(YEAR) Then KW += 1 : init()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If KW > 1 Then KW -= 1 : init()
End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
cbxMo.Checked = sender.checked
cbxDi.Checked = sender.checked
cbxMi.Checked = sender.checked
cbxDo.Checked = sender.checked
cbxFr.Checked = sender.checked
cbxSa.Checked = sender.checked
cbxSo.Checked = sender.checked
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
SQLDienst.delDienstNichtAnwesendKW_ByKW_ID(KW_ID)
SQLDienst.delDienstNichtAnwesend_ByKW_ID(KW_ID)
RESULT = "DEL"
Me.Close()
End Sub
Private Sub cboArt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboArt.SelectedIndexChanged
If loaded Then
txtInfo.Text = cboArt._value
End If
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
KW_ID = -1
init()
End Sub
End Class