Urlaubsplaner Updatefunktion eingebaut.
This commit is contained in:
17
UID/Dienstplan/frmDienstplanVariabel.Designer.vb
generated
17
UID/Dienstplan/frmDienstplanVariabel.Designer.vb
generated
@@ -57,6 +57,7 @@ Partial Class frmDienstplanVariabel
|
||||
Me.pnl = New System.Windows.Forms.Panel()
|
||||
Me.Panel6 = New System.Windows.Forms.Panel()
|
||||
Me.Panel7 = New System.Windows.Forms.Panel()
|
||||
Me.Button20 = New System.Windows.Forms.Button()
|
||||
Me.Button18 = New System.Windows.Forms.Button()
|
||||
Me.cboQSSpaet = New System.Windows.Forms.ComboBox()
|
||||
Me.Label23 = New System.Windows.Forms.Label()
|
||||
@@ -458,6 +459,7 @@ Partial Class frmDienstplanVariabel
|
||||
'
|
||||
'Panel7
|
||||
'
|
||||
Me.Panel7.Controls.Add(Me.Button20)
|
||||
Me.Panel7.Controls.Add(Me.Button18)
|
||||
Me.Panel7.Controls.Add(Me.cboQSSpaet)
|
||||
Me.Panel7.Controls.Add(Me.Label23)
|
||||
@@ -468,6 +470,16 @@ Partial Class frmDienstplanVariabel
|
||||
Me.Panel7.Size = New System.Drawing.Size(352, 231)
|
||||
Me.Panel7.TabIndex = 109
|
||||
'
|
||||
'Button20
|
||||
'
|
||||
Me.Button20.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.Button20.Location = New System.Drawing.Point(0, 208)
|
||||
Me.Button20.Name = "Button20"
|
||||
Me.Button20.Size = New System.Drawing.Size(133, 23)
|
||||
Me.Button20.TabIndex = 84
|
||||
Me.Button20.Text = "FZ aus UK aktual."
|
||||
Me.Button20.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button18
|
||||
'
|
||||
Me.Button18.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
@@ -1624,12 +1636,12 @@ Partial Class frmDienstplanVariabel
|
||||
'
|
||||
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SchichtLöcshenToolStripMenuItem})
|
||||
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
|
||||
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 48)
|
||||
Me.ContextMenuStrip1.Size = New System.Drawing.Size(158, 26)
|
||||
'
|
||||
'SchichtLöcshenToolStripMenuItem
|
||||
'
|
||||
Me.SchichtLöcshenToolStripMenuItem.Name = "SchichtLöcshenToolStripMenuItem"
|
||||
Me.SchichtLöcshenToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
|
||||
Me.SchichtLöcshenToolStripMenuItem.Size = New System.Drawing.Size(157, 22)
|
||||
Me.SchichtLöcshenToolStripMenuItem.Text = "Schicht löschen"
|
||||
'
|
||||
'Panel4
|
||||
@@ -1916,4 +1928,5 @@ Partial Class frmDienstplanVariabel
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents txtSchichtstd As TextBox
|
||||
Friend WithEvents SchichtLöcshenToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents Button20 As Button
|
||||
End Class
|
||||
|
||||
@@ -1129,10 +1129,11 @@ Public Class frmDienstplanVariabel
|
||||
If dgv.Parent.Parent.GetType() Is GetType(usrCntlDienstWoche) Then o = dgv.Parent.Parent
|
||||
|
||||
Dim d As Date = CDate(getValuesDienstDGV(o, dgv.Name, "datum"))
|
||||
|
||||
If o.SCHICHT.dedet_Splitschicht = True Then
|
||||
MsgBox("Keine Änderungen bei Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
If o IsNot Nothing Then
|
||||
If o.SCHICHT.dedet_Splitschicht = True Then
|
||||
MsgBox("Keine Änderungen bei Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
For Each s In BEN_SCHICHTEN
|
||||
@@ -1264,7 +1265,7 @@ Public Class frmDienstplanVariabel
|
||||
initALL()
|
||||
End If
|
||||
End Sub
|
||||
Public Sub initALL(Optional MAID As Integer = -1)
|
||||
Public Sub initALL(Optional MAID As Integer = -1, Optional onlyFehlzeiten As Boolean = False)
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
' Me.Enabled = False
|
||||
@@ -1276,104 +1277,114 @@ Public Class frmDienstplanVariabel
|
||||
Dim cDienstAbwesendheiten As List(Of cDienstAbwesendheiten) = SQLDienst.getDienstAbwesendheiten(montag, sonntag, niederlassung)
|
||||
|
||||
Dim ma As List(Of cDienstMA) = Nothing
|
||||
|
||||
If MAID > 0 Then
|
||||
If Not SQLDienst.delDstEintraegeMaId(montag, sonntag, niederlassung, MAID) Then Me.Cursor = Cursors.Default : Exit Sub 'Alle löschen
|
||||
|
||||
If Not SQLDienst.delDstEintraegeMaId(montag, sonntag, niederlassung, MAID, onlyFehlzeiten) Then Me.Cursor = Cursors.Default : Exit Sub 'Alles Löschen/Nur Fehlzeiten löschen
|
||||
ma = SQLDienst.getAllDienstMA(niederlassung, montag, " AND dstma_id = " & MAID)
|
||||
|
||||
Else
|
||||
If Not SQLDienst.delDstEintraege(montag, sonntag, niederlassung) Then Me.Cursor = Cursors.Default : Exit Sub 'Alle löschen
|
||||
|
||||
If Not SQLDienst.delDstEintraege(montag, sonntag, niederlassung, onlyFehlzeiten) Then Me.Cursor = Cursors.Default : Exit Sub 'Alles Löschen/Nur Fehlzeiten löschen
|
||||
ma = SQLDienst.getAllDienstMA(niederlassung, montag)
|
||||
|
||||
End If
|
||||
|
||||
Dim datum As Date = montag
|
||||
For i = 1 To 7
|
||||
Dim FT As New VERAG_PROG_ALLGEMEIN.cFeiertage(datum.Year) 'Evtl Jahressprung, darum neu definieren
|
||||
For Each m In ma
|
||||
|
||||
Dim eintrag As New cDienstEintrag
|
||||
eintrag.dstetr_dstmaId = m.dstma_id
|
||||
eintrag.dstetr_datum = datum
|
||||
Dim existingEntry = SQLDienst.getCountEntrys(eintrag.dstetr_dstmaId, eintrag.dstetr_datum, eintrag.dstetr_datum)
|
||||
|
||||
If Not FT.isFeiertag(datum, IIf(m.dstma_land <> "", m.dstma_land, SETTINGS.dpset_land)) Then
|
||||
If m.dstma_muster Then
|
||||
' MsgBox("HIER")
|
||||
|
||||
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
If eintrag.dstetr_art = "" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
' MsgBox(getFromTeilzeit("von", tz, datum, SCHICHT) & " _ " & getFromTeilzeit("bis", tz, datum, SCHICHT))
|
||||
eintrag.dstetr_von = getFromTeilzeit(m.dstma_4wo, "von", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_bis = getFromTeilzeit(m.dstma_4wo, "bis", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_pause = getFromTeilzeit(m.dstma_4wo, "pause", tz, datum, SCHICHT)
|
||||
' eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = getFromTeilzeit(m.dstma_4wo, "info", tz, datum, SCHICHT)
|
||||
'MsgBox(eintrag.dstetr_art)
|
||||
If Not onlyFehlzeiten Or onlyFehlzeiten AndAlso existingEntry = 0 Then
|
||||
|
||||
If Not FT.isFeiertag(datum, IIf(m.dstma_land <> "", m.dstma_land, SETTINGS.dpset_land)) Then
|
||||
If m.dstma_muster Then
|
||||
' MsgBox("HIER")
|
||||
|
||||
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(m.dstma_id)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
End If
|
||||
|
||||
Else
|
||||
If m.dstma_arbvh = "VZ" Then
|
||||
|
||||
If week(datum.DayOfWeek) = "SA" Or week(datum.DayOfWeek) = "SO" Then
|
||||
If eintrag.dstetr_art = "" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
eintrag.dstetr_art = getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum)
|
||||
eintrag.dstetr_hauptsplitschicht = getBooleanHauptsplitschicht(m.dstma_stammSchicht)
|
||||
'MsgBox(getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum))
|
||||
'Abwesenheiten prüfen:
|
||||
' For Each d In cDienstAbwesendheiten
|
||||
'If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
' eintrag.dstetr_art = d.dstna_grund
|
||||
'End If
|
||||
' Next
|
||||
' MsgBox(getFromTeilzeit("von", tz, datum, SCHICHT) & " _ " & getFromTeilzeit("bis", tz, datum, SCHICHT))
|
||||
eintrag.dstetr_von = getFromTeilzeit(m.dstma_4wo, "von", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_bis = getFromTeilzeit(m.dstma_4wo, "bis", tz, datum, SCHICHT)
|
||||
eintrag.dstetr_pause = getFromTeilzeit(m.dstma_4wo, "pause", tz, datum, SCHICHT)
|
||||
' eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = getFromTeilzeit(m.dstma_4wo, "info", tz, datum, SCHICHT)
|
||||
'MsgBox(eintrag.dstetr_art)
|
||||
eintrag.dstetr_art = getFromTeilzeit(m.dstma_4wo, "abt", tz, datum, SCHICHT)
|
||||
End If
|
||||
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(eintrag.dstetr_art, "von", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(eintrag.dstetr_art, "bis", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
Else
|
||||
If m.dstma_arbvh = "VZ" Then
|
||||
|
||||
If week(datum.DayOfWeek) = "SA" Or week(datum.DayOfWeek) = "SO" Then
|
||||
eintrag.dstetr_art = "FREI"
|
||||
Else
|
||||
eintrag.dstetr_art = getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum)
|
||||
eintrag.dstetr_hauptsplitschicht = getBooleanHauptsplitschicht(m.dstma_stammSchicht)
|
||||
'MsgBox(getSchichtArt(m.dstma_abteilung, m.dstma_stammSchicht, datum))
|
||||
'Abwesenheiten prüfen:
|
||||
' For Each d In cDienstAbwesendheiten
|
||||
'If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
' eintrag.dstetr_art = d.dstna_grund
|
||||
'End If
|
||||
' Next
|
||||
End If
|
||||
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(eintrag.dstetr_art, "von", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(eintrag.dstetr_art, "bis", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(eintrag.dstetr_art, "pause", week(datum.DayOfWeek))
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
|
||||
|
||||
If False Then
|
||||
If False Then
|
||||
|
||||
If m.dstma_kuerzel = "AKPINAR" Then
|
||||
If m.dstma_kuerzel = "AKPINAR" Then
|
||||
|
||||
If Not week(datum.DayOfWeek) = "SA" And Not week(datum.DayOfWeek) = "SO" Then
|
||||
'MsgBox("Hallo")
|
||||
' eintrag.dstetr_von = "08:00"
|
||||
' eintrag.dstetr_bis = "19:00"
|
||||
eintrag.dstetr_info = " 8-14 14:30-19"
|
||||
If Not week(datum.DayOfWeek) = "SA" And Not week(datum.DayOfWeek) = "SO" Then
|
||||
'MsgBox("Hallo")
|
||||
' eintrag.dstetr_von = "08:00"
|
||||
' eintrag.dstetr_bis = "19:00"
|
||||
eintrag.dstetr_info = " 8-14 14:30-19"
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
Else 'TEILZEIT
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
Else 'TEILZEIT
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
Else 'FEIERTAG
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
Else 'FEIERTAG
|
||||
eintrag.dstetr_art = "FREI"
|
||||
eintrag.dstetr_von = "00:00"
|
||||
eintrag.dstetr_bis = "00:00"
|
||||
eintrag.dstetr_pause = "0"
|
||||
eintrag.dstetr_grund = ""
|
||||
eintrag.dstetr_info = ""
|
||||
' SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
'Abwesenheiten prüfen:
|
||||
For Each d In cDienstAbwesendheiten
|
||||
If d.dstna_mitId = eintrag.dstetr_dstmaId AndAlso d.dstna_datum_von <= datum And d.dstna_datum_bis >= datum Then
|
||||
@@ -1386,10 +1397,24 @@ Public Class frmDienstplanVariabel
|
||||
eintrag.dstetr_von = getDefaultTimeBySchicht(grund, "von", week(datum.DayOfWeek).ToUpper)
|
||||
eintrag.dstetr_bis = getDefaultTimeBySchicht(grund, "bis", week(datum.DayOfWeek).ToUpper)
|
||||
eintrag.dstetr_pause = getDefaultTimeBySchicht(grund, "pause", week(datum.DayOfWeek).ToUpper)
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
If onlyFehlzeiten Then
|
||||
'MsgBox("MA-ID: " & eintrag.dstetr_dstmaId & " " & "existingEntry: " & existingEntry & " Art: " & eintrag.dstetr_art & " DATUM: " & eintrag.dstetr_datum)
|
||||
If existingEntry = 1 AndAlso (eintrag.dstetr_art = "URL" Or eintrag.dstetr_art = "KS" Or eintrag.dstetr_art = "DR" Or eintrag.dstetr_art = "BS") Or existingEntry = 0 Then
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung,, False)
|
||||
Else
|
||||
|
||||
End If
|
||||
Else
|
||||
'SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung,, False)
|
||||
SQLDienst.updateInsertByDienstEintrag(eintrag, niederlassung)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Next
|
||||
datum = datum.AddDays(1)
|
||||
@@ -2100,14 +2125,13 @@ Public Class frmDienstplanVariabel
|
||||
MsgBox("Keine Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If o.SCHICHT.dedet_Hauptsplitschicht = False Then
|
||||
|
||||
MsgBox("In Schicht " & o.schicht_name & " sind keine Splitschichten erlaubt!")
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Dim ids As New List(Of Integer)
|
||||
Dim arr As DataGridViewSelectedCellCollection = dgv_tmp.SelectedCells
|
||||
For Each c As DataGridViewCell In arr
|
||||
@@ -2456,7 +2480,7 @@ Public Class frmDienstplanVariabel
|
||||
|
||||
If frmUrlKW.RESULT <> "" Then
|
||||
' MsgBox(markId)
|
||||
initALL(markId)
|
||||
initALL(markId, True)
|
||||
End If
|
||||
|
||||
|
||||
@@ -2690,7 +2714,7 @@ Public Class frmDienstplanVariabel
|
||||
End If
|
||||
|
||||
Else
|
||||
MsgBox("Kein Mitarbeiter auswewählt!")
|
||||
MsgBox("Kein Mitarbeiter ausgewählt!")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -2918,4 +2942,12 @@ Public Class frmDienstplanVariabel
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
|
||||
If Panel6.Controls.Count > 0 Then
|
||||
Dim u As usrcntlDienstplanStunden = DirectCast(Panel6.Controls(0), usrcntlDienstplanStunden)
|
||||
If markId > 0 Then
|
||||
initALL(markId, True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -14,6 +14,9 @@ Public Class frmUrlKW
|
||||
Dim montag As Date
|
||||
Dim loaded = False
|
||||
Dim ftString As String = " FT"
|
||||
Dim DPAlreadyInit As Boolean = False
|
||||
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
Private Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click
|
||||
' SQLDienst.delDienstNichtAnwesendKW_ByKwJahr(maId, KW, YEAR)
|
||||
@@ -62,6 +65,8 @@ Public Class frmUrlKW
|
||||
cboArt.SelectedIndex = 0
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmUrlKW_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
@@ -91,6 +96,8 @@ Public Class frmUrlKW
|
||||
lblSa.Text = montag.AddDays(5).ToString("dd.MM.")
|
||||
lblSo.Text = montag.AddDays(6).ToString("dd.MM.")
|
||||
|
||||
DPAlreadyInit = checkIfDPEntryIsExisting()
|
||||
|
||||
If (FT.isFeiertag(montag, cDienstSettings.getLand(niederlassung))) Then
|
||||
lblMo.TextAlign = ContentAlignment.TopLeft
|
||||
lblMo.Text &= ftString
|
||||
@@ -186,6 +193,16 @@ Public Class frmUrlKW
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If DPAlreadyInit Then
|
||||
lblUrlaubEintragen.Text = cboArt.SelectedItem.ToString & " eintragen - DP wurde bereits init."
|
||||
lblUrlaubEintragen.ForeColor = Color.Red
|
||||
Else
|
||||
lblUrlaubEintragen.Text = cboArt.SelectedItem.ToString & " eintragen"
|
||||
lblUrlaubEintragen.ForeColor = Color.Black
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function CalendarWeek(ByVal nWeek As Integer, ByVal nYear As Integer) As Date
|
||||
@@ -247,4 +264,16 @@ Public Class frmUrlKW
|
||||
KW_ID = -1
|
||||
init()
|
||||
End Sub
|
||||
|
||||
Private Function checkIfDPEntryIsExisting()
|
||||
|
||||
If SQL.DLookup("count([dstetr_id])", "[tblDienstplanEintraege]", " [dstetr_niederlassung]='" & niederlassung & "' and [dstetr_dstmaId]='" & maId & "' and [dstetr_datum] BETWEEN'" & montag.ToShortDateString & "' AND '" & montag.AddDays(6).ToShortDateString & "'", "ADMIN", 0) > 0 Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
End Class
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Reflection
|
||||
Imports ClosedXML.Excel
|
||||
|
||||
Public Class frmUrlaubsplaner
|
||||
Dim DP As New cDienstplan
|
||||
@@ -334,7 +335,98 @@ Public Class frmUrlaubsplaner
|
||||
|
||||
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
||||
|
||||
cProgramFunctions.genExcelFromDT_NEW(saveToDt())
|
||||
saveToDt()
|
||||
|
||||
Try
|
||||
|
||||
Dim dt1 As New DataTable()
|
||||
Dim dt2 As New DataTable()
|
||||
Dim halfOfYearWeek As Integer = 28
|
||||
|
||||
For Each column As DataGridViewColumn In dgvUrlaub.Columns
|
||||
If column.ValueType Is Nothing Then
|
||||
|
||||
If column.Index < 2 Then
|
||||
dt1.Columns.Add(column.HeaderText, System.Type.GetType("System.String"))
|
||||
dt2.Columns.Add(column.HeaderText, System.Type.GetType("System.String"))
|
||||
ElseIf column.Index < halfOfYearWeek Then
|
||||
dt1.Columns.Add(column.HeaderText, System.Type.GetType("System.String"))
|
||||
|
||||
Else
|
||||
dt2.Columns.Add(column.HeaderText, System.Type.GetType("System.String"))
|
||||
End If
|
||||
|
||||
Else
|
||||
|
||||
If column.Index < 2 Then
|
||||
dt1.Columns.Add(column.HeaderText, column.ValueType)
|
||||
dt2.Columns.Add(column.HeaderText, column.ValueType)
|
||||
ElseIf column.Index < halfOfYearWeek Then
|
||||
dt1.Columns.Add(column.HeaderText, column.ValueType)
|
||||
|
||||
Else
|
||||
dt2.Columns.Add(column.HeaderText, column.ValueType)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
For Each row As DataGridViewRow In dgvUrlaub.Rows
|
||||
dt1.Rows.Add()
|
||||
dt2.Rows.Add()
|
||||
For Each cell As DataGridViewCell In row.Cells
|
||||
If cell.Value Is Nothing Then
|
||||
If cell.ColumnIndex < 2 Then
|
||||
dt1.Rows(dt1.Rows.Count - 1)(cell.ColumnIndex) = ""
|
||||
dt2.Rows(dt2.Rows.Count - 1)(cell.ColumnIndex) = ""
|
||||
ElseIf cell.ColumnIndex < halfOfYearWeek Then
|
||||
dt1.Rows(dt1.Rows.Count - 1)(cell.ColumnIndex) = ""
|
||||
Else
|
||||
dt2.Rows(dt2.Rows.Count - 1)(cell.ColumnIndex - (halfOfYearWeek - 2)) = ""
|
||||
End If
|
||||
|
||||
Else
|
||||
|
||||
If cell.ColumnIndex < 2 Then
|
||||
dt1.Rows(dt1.Rows.Count - 1)(cell.ColumnIndex) = cell.Value.ToString()
|
||||
dt2.Rows(dt2.Rows.Count - 1)(cell.ColumnIndex) = cell.Value.ToString()
|
||||
ElseIf cell.ColumnIndex < halfOfYearWeek Then
|
||||
dt1.Rows(dt1.Rows.Count - 1)(cell.ColumnIndex) = cell.Value.ToString()
|
||||
Else
|
||||
dt2.Rows(dt2.Rows.Count - 1)(cell.ColumnIndex - (halfOfYearWeek - 2)) = cell.Value.ToString()
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
Next
|
||||
|
||||
|
||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
||||
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||||
My.Computer.FileSystem.CreateDirectory(sPath)
|
||||
End If
|
||||
|
||||
Dim wb As New XLWorkbook
|
||||
' Dim dt As DataTable = (dgv.DataSource)
|
||||
' Dim dt As DataTable = TryCast(dgv., DataTable)
|
||||
|
||||
wb.Worksheets.Add(dt1, "URLAUB JH 1")
|
||||
wb.Worksheets.Add(dt2, "URLAUB JH 2")
|
||||
|
||||
Dim filename As String = sPath & "Urlaubsplan_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
|
||||
wb.SaveAs(filename)
|
||||
|
||||
|
||||
Process.Start(filename)
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -342,6 +434,7 @@ Public Class frmUrlaubsplaner
|
||||
If loaded Then aktJahr = cboJahr._value : initDGV() :
|
||||
End Sub
|
||||
|
||||
|
||||
Private Function saveToDt() As DataTable
|
||||
|
||||
Dim dt As New DataTable()
|
||||
|
||||
@@ -3550,9 +3550,13 @@ Public Class cDienstplan
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Function delDstEintraege(von, bis, niederlassung) As Boolean
|
||||
Public Function delDstEintraege(von As Date, bis As Date, niederlassung As String, Optional onlyFehlzeiten As Boolean = False) As Boolean
|
||||
|
||||
Dim sqlFehlzeiten As String = ""
|
||||
If onlyFehlzeiten Then sqlFehlzeiten &= " AND ([dstetr_art] = 'URL' OR [dstetr_art] = 'DR' OR [dstetr_art] = 'BS') "
|
||||
|
||||
Dim sql = "DELETE FROM tblDienstplanEintraege " &
|
||||
"WHERE dstetr_niederlassung= '" & niederlassung & "' AND dstetr_datum BETWEEN @von AND @bis "
|
||||
"WHERE dstetr_niederlassung= '" & niederlassung & "' AND dstetr_datum BETWEEN @von AND @bis " & sqlFehlzeiten
|
||||
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@von", von)
|
||||
@@ -3568,9 +3572,11 @@ Public Class cDienstplan
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Public Function delDstEintraegeMaId(von, bis, niederlassung, dstetr_dstmaId) As Boolean
|
||||
Public Function delDstEintraegeMaId(von As Date, bis As Date, niederlassung As String, dstetr_dstmaId As Integer, Optional onlyFehlzeiten As Boolean = False) As Boolean
|
||||
Dim sqlFehlzeiten = ""
|
||||
If onlyFehlzeiten Then sqlFehlzeiten &= " AND ([dstetr_art] = 'URL' OR [dstetr_art] = 'DR' OR [dstetr_art] = 'BS') "
|
||||
Dim sql = "DELETE FROM tblDienstplanEintraege " &
|
||||
"WHERE dstetr_niederlassung= '" & niederlassung & "' AND dstetr_datum BETWEEN @von AND @bis AND dstetr_dstmaId=@dstetr_dstmaId"
|
||||
"WHERE dstetr_niederlassung= '" & niederlassung & "' AND dstetr_datum BETWEEN @von AND @bis AND dstetr_dstmaId=@dstetr_dstmaId" & sqlFehlzeiten
|
||||
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@von", von)
|
||||
@@ -3713,20 +3719,24 @@ Public Class cDienstplan
|
||||
End Function
|
||||
|
||||
|
||||
Public Function updateInsertByDienstEintrag(ByVal daten As cDienstEintrag, niederlassung As String, Optional dstetr_id As Integer = -1) As Boolean
|
||||
Public Function updateInsertByDienstEintrag(ByVal daten As cDienstEintrag, niederlassung As String, Optional dstetr_id As Integer = -1, Optional enableMultiEntriesPerArt As Boolean = True) As Boolean
|
||||
|
||||
Dim SQLclause As String = ""
|
||||
|
||||
If enableMultiEntriesPerArt Then
|
||||
SQLclause &= " AND dstetr_art=@dstetr_art"
|
||||
End If
|
||||
|
||||
If dstetr_id > 0 Then
|
||||
SQLclause = " AND dstetr_id=@dstetr_id"
|
||||
End If
|
||||
|
||||
Dim sql As String = " begin tran" &
|
||||
" if exists (select * from tblDienstplanEintraege with (updlock,serializable) where dstetr_datum = @dstetr_datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_niederlassung=@dstetr_niederlassung AND dstetr_art=@dstetr_art" & SQLclause & ") " &
|
||||
" if exists (select * from tblDienstplanEintraege with (updlock,serializable) where dstetr_datum = @dstetr_datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_niederlassung=@dstetr_niederlassung" & SQLclause & ") " &
|
||||
" begin " &
|
||||
" UPDATE tblDienstplanEintraege " &
|
||||
" SET dstetr_dstmaId=@dstetr_dstmaId, dstetr_art=@dstetr_art, dstetr_von=@dstetr_von, dstetr_bis=@dstetr_bis, dstetr_grund=@dstetr_grund, dstetr_info=@dstetr_info,dstetr_niederlassung=@dstetr_niederlassung,dstetr_pause=@dstetr_pause,dstetr_hauptsplitschicht=@dstetr_hauptsplitschicht,dstetr_splitschicht=@dstetr_splitschicht " &
|
||||
" WHERE dstetr_datum = @dstetr_datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_niederlassung=@dstetr_niederlassung AND dstetr_art=@dstetr_art" & SQLclause &
|
||||
" WHERE dstetr_datum = @dstetr_datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_niederlassung=@dstetr_niederlassung" & SQLclause &
|
||||
" End " &
|
||||
" Else " &
|
||||
" begin " &
|
||||
@@ -3763,6 +3773,7 @@ Public Class cDienstplan
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
Public Function getDienstEintragList(datum As Date, niederlassung As String) As List(Of cDienstEintrag)
|
||||
Dim sql As String = " SELECT * FROM tblDienstplanEintraege WHERE dstetr_datum = @dstetr_datum AND dstetr_niederlassung=@dstetr_niederlassung "
|
||||
Dim daten As List(Of cDienstEintrag) = Nothing
|
||||
|
||||
Reference in New Issue
Block a user