250 lines
11 KiB
VB.net
250 lines
11 KiB
VB.net
Imports GrapeCity.ActiveReports.Chart.Graphics
|
|
|
|
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
|
|
Dim ftString As String = " FT"
|
|
|
|
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
|
|
|
|
Dim FT As New VERAG_PROG_ALLGEMEIN.cFeiertage(YEAR)
|
|
Dim ftString As String = " FT"
|
|
|
|
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.")
|
|
|
|
If (FT.isFeiertag(montag, cDienstSettings.getLand(niederlassung))) Then
|
|
lblMo.TextAlign = ContentAlignment.TopLeft
|
|
lblMo.Text &= ftString
|
|
lblMo.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(1), cDienstSettings.getLand(niederlassung))) Then
|
|
lblDi.TextAlign = ContentAlignment.TopLeft
|
|
lblDi.Text &= ftString
|
|
lblDi.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(2), cDienstSettings.getLand(niederlassung))) Then
|
|
lblMi.TextAlign = ContentAlignment.TopLeft
|
|
lblMi.Text &= ftString
|
|
lblMi.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(3), cDienstSettings.getLand(niederlassung))) Then
|
|
lblDo.TextAlign = ContentAlignment.TopLeft
|
|
lblDo.Text &= ftString
|
|
lblDo.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(4), cDienstSettings.getLand(niederlassung))) Then
|
|
lblFr.TextAlign = ContentAlignment.TopLeft
|
|
lblFr.Text &= ftString
|
|
lblFr.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(5), cDienstSettings.getLand(niederlassung))) Then
|
|
lblSa.TextAlign = ContentAlignment.TopLeft
|
|
lblSa.Text &= ftString
|
|
lblSa.ForeColor = Color.Red
|
|
End If
|
|
|
|
If (FT.isFeiertag(montag.AddDays(6), cDienstSettings.getLand(niederlassung))) Then
|
|
lblSo.TextAlign = ContentAlignment.TopLeft
|
|
lblSo.Text &= ftString
|
|
lblSo.ForeColor = Color.Red
|
|
End If
|
|
|
|
|
|
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 = IIf(lblMo.Text.Substring(lblMo.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxDi.Checked = IIf(lblDi.Text.Substring(lblDi.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxMi.Checked = IIf(lblMi.Text.Substring(lblMi.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxDo.Checked = IIf(lblDo.Text.Substring(lblDo.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxFr.Checked = IIf(lblFr.Text.Substring(lblFr.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxSa.Checked = IIf(lblSa.Text.Substring(lblSa.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, sender.checked)
|
|
cbxSo.Checked = IIf(lblSo.Text.Substring(lblSo.Text.Length - ftString.Length) = ftString AndAlso Not cboArt._value = "DR", False, 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
|
|
CheckBox1_CheckedChanged(CheckBox1, e)
|
|
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 |