isFeiertag, Control (Insert und Delete in Schichten), ExcelAusgabeDP, etc.

This commit is contained in:
2022-12-14 16:55:37 +01:00
parent e7733375e1
commit 3509baf3ed
9 changed files with 753 additions and 354 deletions

View File

@@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmDienstplanVariabel
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,7 +20,7 @@ Partial Class frmDienstplanVariabel
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("KW 1")
@@ -61,6 +61,8 @@ Partial Class frmDienstplanVariabel
Me.cboQSSpaet = New System.Windows.Forms.ComboBox()
Me.Label23 = New System.Windows.Forms.Label()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.txtSchichtstd = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.txtWoStd = New System.Windows.Forms.TextBox()
Me.TabControl1 = New System.Windows.Forms.TabControl()
@@ -152,11 +154,10 @@ Partial Class frmDienstplanVariabel
Me.Button4 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.SchichtLöcshenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.Panel4 = New System.Windows.Forms.Panel()
Me.pnlOptions = New System.Windows.Forms.Panel()
Me.Button19 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.txtSchichtstd = New System.Windows.Forms.TextBox()
Me.UsrcntlAuswertungWocheAuslastung1 = New ADMIN.usrcntlAuswertungWocheAuslastung()
Me.UsrCntlAuswertungAuslastungMA1 = New ADMIN.usrCntlAuswertungAuslastungMA()
Me.ctxtDgv.SuspendLayout()
@@ -214,6 +215,7 @@ Partial Class frmDienstplanVariabel
CType(Me.dgvUrl_Do, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tbAuswertung.SuspendLayout()
Me.tbTagesverteilung.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout()
Me.Panel4.SuspendLayout()
Me.pnlOptions.SuspendLayout()
Me.SuspendLayout()
@@ -529,6 +531,29 @@ Partial Class frmDienstplanVariabel
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Details zum aktuellen Eintrag"
'
'txtSchichtstd
'
Me.txtSchichtstd.BackColor = System.Drawing.Color.White
Me.txtSchichtstd.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtSchichtstd.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSchichtstd.Location = New System.Drawing.Point(194, 117)
Me.txtSchichtstd.MaxLength = 1
Me.txtSchichtstd.Name = "txtSchichtstd"
Me.txtSchichtstd.ReadOnly = True
Me.txtSchichtstd.Size = New System.Drawing.Size(38, 13)
Me.txtSchichtstd.TabIndex = 99
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Label1.Location = New System.Drawing.Point(120, 118)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(68, 13)
Me.Label1.TabIndex = 98
Me.Label1.Text = "Std. Schicht:"
Me.Label1.Visible = False
'
'Label2
'
Me.Label2.AutoSize = True
@@ -1597,8 +1622,15 @@ Partial Class frmDienstplanVariabel
'
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SchichtLöcshenToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 48)
'
'SchichtLöcshenToolStripMenuItem
'
Me.SchichtLöcshenToolStripMenuItem.Name = "SchichtLöcshenToolStripMenuItem"
Me.SchichtLöcshenToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.SchichtLöcshenToolStripMenuItem.Text = "Schicht löschen"
'
'Panel4
'
@@ -1654,29 +1686,6 @@ Partial Class frmDienstplanVariabel
Me.Button19.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button19.UseVisualStyleBackColor = True
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Label1.Location = New System.Drawing.Point(120, 118)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(68, 13)
Me.Label1.TabIndex = 98
Me.Label1.Text = "Std. Schicht:"
Me.Label1.Visible = False
'
'txtSchichtstd
'
Me.txtSchichtstd.BackColor = System.Drawing.Color.White
Me.txtSchichtstd.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtSchichtstd.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSchichtstd.Location = New System.Drawing.Point(194, 117)
Me.txtSchichtstd.MaxLength = 1
Me.txtSchichtstd.Name = "txtSchichtstd"
Me.txtSchichtstd.ReadOnly = True
Me.txtSchichtstd.Size = New System.Drawing.Size(38, 13)
Me.txtSchichtstd.TabIndex = 99
'
'UsrcntlAuswertungWocheAuslastung1
'
Me.UsrcntlAuswertungWocheAuslastung1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
@@ -1767,6 +1776,7 @@ Partial Class frmDienstplanVariabel
CType(Me.dgvUrl_Do, System.ComponentModel.ISupportInitialize).EndInit()
Me.tbAuswertung.ResumeLayout(False)
Me.tbTagesverteilung.ResumeLayout(False)
Me.ContextMenuStrip1.ResumeLayout(False)
Me.Panel4.ResumeLayout(False)
Me.Panel4.PerformLayout()
Me.pnlOptions.ResumeLayout(False)
@@ -1905,4 +1915,5 @@ Partial Class frmDienstplanVariabel
Friend WithEvents ToolStripMenuSplitschicht As ToolStripMenuItem
Friend WithEvents Label1 As Label
Friend WithEvents txtSchichtstd As TextBox
Friend WithEvents SchichtLöcshenToolStripMenuItem As ToolStripMenuItem
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -279,6 +279,8 @@ Partial Class frmDiestAddMa
Me.Label57 = New System.Windows.Forms.Label()
Me.txtStdFeiertagTZ = New System.Windows.Forms.TextBox()
Me.Label58 = New System.Windows.Forms.Label()
Me.lblLand = New System.Windows.Forms.Label()
Me.cboLand = New System.Windows.Forms.ComboBox()
Me.grpTeilzeit.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -2839,12 +2841,33 @@ Partial Class frmDiestAddMa
Me.Label58.TabIndex = 27
Me.Label58.Text = "Abweichende WochenStd.:"
'
'lblLand
'
Me.lblLand.AutoSize = True
Me.lblLand.Location = New System.Drawing.Point(411, 63)
Me.lblLand.Name = "lblLand"
Me.lblLand.Size = New System.Drawing.Size(66, 13)
Me.lblLand.TabIndex = 28
Me.lblLand.Text = "Land-Kürzel:"
'
'cboLand
'
Me.cboLand.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboLand.FormattingEnabled = True
Me.cboLand.Items.AddRange(New Object() {"", "ZOLL 1", "ZOLL 2", "ZOLL TAG", "QS"})
Me.cboLand.Location = New System.Drawing.Point(408, 79)
Me.cboLand.Name = "cboLand"
Me.cboLand.Size = New System.Drawing.Size(72, 21)
Me.cboLand.TabIndex = 29
'
'frmDiestAddMa
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(503, 626)
Me.Controls.Add(Me.cboLand)
Me.Controls.Add(Me.lblLand)
Me.Controls.Add(Me.Label58)
Me.Controls.Add(Me.dgvAbwWStd)
Me.Controls.Add(Me.Label57)
@@ -3151,4 +3174,6 @@ Partial Class frmDiestAddMa
Friend WithEvents txtStdFeiertagTZ As TextBox
Friend WithEvents dgvAbwWStd As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents Label58 As Label
Friend WithEvents lblLand As Label
Friend WithEvents cboLand As ComboBox
End Class

View File

@@ -55,6 +55,10 @@ Public Class frmDiestAddMa
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Ferialpraktikant", "Ferialpraktikant"))
cboFunktion.SelectedIndex = 0
cboLand.Items.Clear()
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT", "AT"))
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
@@ -107,6 +111,11 @@ Public Class frmDiestAddMa
' MsgBox(txtRotVonMo.Text)
MusterErr = False
If checkValues() Then
If cboLand.Text = "" Then
MsgBox("Bitte das Land eintragen")
cboLand.Focus()
Exit Sub
End If
If initMA() Then
Dim tz As List(Of cDienstTeilzeit) = initArbVerh()
If MusterErr Then MsgBox("Bei der Prüfung der Daten für die Muster-Vorlage ist ein Fehler aufgetreten! Bitte um Prüfung!") : Exit Sub
@@ -375,11 +384,13 @@ Public Class frmDiestAddMa
cboMyItemSelect(cboAbt, MA.dstma_abteilung)
cboMyItemSelect(cboFunktion, MA.dstma_funktion)
cboMyItemSelect(cboArbVerh, MA.dstma_arbvh)
cboMyItemSelect(cboLand, MA.dstma_land)
txtWoStd.Text = MA.dstma_wochenStunden
cboStammSchicht.Text = MA.dstma_stammSchicht
txtKuerzel.Text = MA.dstma_kuerzel
txtReihenfolge.Text = MA.dstma_reihenfolge
'cboLand.Text = MA.dstma_land
Button1.BackColor = ColorTranslator.FromHtml(MA.dstma_farbe)
If MA.dstma_TageProWoche >= 0 Then
@@ -628,6 +639,7 @@ Public Class frmDiestAddMa
MA.dstma_inaktiv = cbxInaktiv.Checked
MA.dstma_4wo = cbx4WoRhythmus.Checked
MA.dstma_TzFeiertageStd = Nothing
MA.dstma_land = CType(cboLand.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
If IsNumeric(txtStdFeiertagTZ.Text) And txtStdFeiertagTZ.Visible Then MA.dstma_TzFeiertageStd = txtStdFeiertagTZ.Text
If IsNumeric(cboDaysPerWeek.Text) Then
@@ -643,6 +655,7 @@ Public Class frmDiestAddMa
End Function
Private Sub cboMA_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboMA.SelectedIndexChanged
' Dim oItem As VERAG_PROG_ALLGEMEIN.MyListItem = CType(cboMA.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem)
End Sub
Function cboMyItemSelect(cbo As ComboBox, value As String) As Boolean

View File

@@ -1,4 +1,5 @@
Imports System.Windows
Imports Hardcodet.Wpf.TaskbarNotification.Interop
Public Class frmSchichtenZeiten
Dim ADMIN As New cOptionenDAL
@@ -200,12 +201,18 @@ Public Class frmSchichtenZeiten
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
MsgBox("Funktion noch nicht verfügbar!")
'dgvSchihten.AllowUserToAddRows = True
'Dim row As New DataGridViewRow
'dgvSchihten.Rows.Add()
Dim input = InputBox("Bitte geben Sie die Bezeichnung der neuen Schicht ein:", "Schicht anlegen")
If input <> "" Then
If checkNameIsValid(input) Then
DP.insertEintraegeDetails(input, niederlassung, True)
initSchichten()
Else
MsgBox("Für die Niederlassung" & niederlassung.ToString & " existiert bereits eine Schicht " & input)
End If
Else
MsgBox("Keine Bezeichnung angegeben!")
End If
End Sub
@@ -264,4 +271,22 @@ Public Class frmSchichtenZeiten
End If
End Sub
Private Function checkNameIsValid(name As String) As Boolean
If dgvSchihten.Rows.Count = 0 Then Return True
For Each row As DataGridViewRow In dgvSchihten.Rows
If Not IsDBNull(row.Cells("dedet_info").Value) Then
If row.Cells("dedet_info").Value.ToLower = name.ToLower Then
Return False
End If
End If
Next
Return True
End Function
End Class

View File

@@ -382,7 +382,7 @@ Public Class usrCntlDienstplan
End Select
rpt.txtTag.ForeColor = Color.Black
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
If FT.isFeiertag(datumKW, IIf(MA_DST.dstma_land <> "", MA_DST.dstma_land, 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

@@ -85,6 +85,7 @@ End Class
Public Class cDienstMA
Property dstma_id As Integer
Property dstma_mitId As Integer
Property dstma_land As String = ""
Property dstma_abteilung As String = ""
Property dstma_funktion As String = ""
Property dstma_arbvh As String = ""
@@ -96,7 +97,6 @@ Public Class cDienstMA
Property dstma_muster As Boolean = False
Property dstma_WEStdRegelAZ As Boolean = False
Property dstma_4wo As Boolean = False
Property dstma_TageProWoche As Integer = -1
Property dstma_inaktiv As Boolean = False
Property dstma_TzFeiertageStd As Object = Nothing

View File

@@ -915,11 +915,14 @@ Public Class cProgramFunctions
Dim UrlStd As Double = 8
If StdFeiertag IsNot Nothing Then UrlStd = StdFeiertag
Dim dMa As cDienstMA = SQLDienst.getDstMAByDstMaId(dstma_id)
For i = 0 To 6
' Wochenstunden -= getWochenstundenTAG(datum, SCHICHT, dstma_id, dstma_muster, dstma_WEStdRegelAZ, dstma_arbvh, niederlassung)
Dim FT As New VERAG_PROG_ALLGEMEIN.cFeiertage(datum.Year)
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
If FT.isFeiertag(datum, IIf(dMa.dstma_land <> "", dMa.dstma_land, 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....
@@ -976,7 +979,8 @@ Public Class cProgramFunctions
Dim FT As New VERAG_PROG_ALLGEMEIN.cFeiertage(datum.Year)
Dim woTag = datum.ToString("ddd", New CultureInfo("de-DE")).ToUpper
If FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Then 'Feiertag oder 1/2 Tag
Dim dMa As cDienstMA = SQLDienst.getDstMAByDstMaId(dstma_id)
If FT.isFeiertag(datum, IIf(dMa.dstma_land <> "", dMa.dstma_land, cDienstSettings.getLand(niederlassung))) Then 'Feiertag oder 1/2 Tag
getWochenstundenTAG = 0
ElseIf woTag = "SA" And woTag = "SO" Then
getWochenstundenTAG = 0

View File

@@ -1967,14 +1967,14 @@ Public Class cDienstplan
" if exists (select * from tblDienstMitarb with (updlock,serializable) where dstma_id = @dstma_id ) " &
" begin " &
" UPDATE tblDienstMitarb " &
" SET dstma_abteilung=@dstma_abteilung, dstma_funktion=@dstma_funktion, dstma_arbvh=@dstma_arbvh, dstma_wochenStunden=@dstma_wochenStunden, dstma_stammSchicht=@dstma_stammSchicht, dstma_kuerzel=@dstma_kuerzel, dstma_reihenfolge=@dstma_reihenfolge, dstma_farbe=@dstma_farbe, dstma_TageProWoche=@dstma_TageProWoche,dstma_niederlassung=@dstma_niederlassung,dstma_muster=@dstma_muster,dstma_4wo=@dstma_4wo,dstma_WEStdRegelAZ=@dstma_WEStdRegelAZ,dstma_inaktiv=@dstma_inaktiv,dstma_TzFeiertageStd=@dstma_TzFeiertageStd " &
" SET dstma_abteilung=@dstma_abteilung, dstma_funktion=@dstma_funktion, dstma_arbvh=@dstma_arbvh, dstma_wochenStunden=@dstma_wochenStunden, dstma_stammSchicht=@dstma_stammSchicht, dstma_kuerzel=@dstma_kuerzel, dstma_reihenfolge=@dstma_reihenfolge, dstma_farbe=@dstma_farbe, dstma_TageProWoche=@dstma_TageProWoche,dstma_niederlassung=@dstma_niederlassung,dstma_muster=@dstma_muster,dstma_4wo=@dstma_4wo,dstma_WEStdRegelAZ=@dstma_WEStdRegelAZ,dstma_inaktiv=@dstma_inaktiv,dstma_TzFeiertageStd=@dstma_TzFeiertageStd, dstma_land=@dstma_land " &
" WHERE dstma_id=@dstma_id " &
" End " &
" Else " &
" begin " &
"INSERT INTO tblDienstMitarb " &
"( dstma_mitId, dstma_abteilung, dstma_funktion, dstma_arbvh, dstma_wochenStunden, dstma_stammSchicht,dstma_kuerzel,dstma_reihenfolge,dstma_farbe,dstma_TageProWoche,dstma_niederlassung, dstma_muster,dstma_4wo,dstma_WEStdRegelAZ,dstma_inaktiv ,dstma_TzFeiertageStd) VALUES " &
"( @dstma_mitId, @dstma_abteilung, @dstma_funktion, @dstma_arbvh, @dstma_wochenStunden, @dstma_stammSchicht,@dstma_kuerzel,@dstma_reihenfolge,@dstma_farbe,@dstma_TageProWoche,@dstma_niederlassung, @dstma_muster ,@dstma_4wo,@dstma_WEStdRegelAZ,@dstma_inaktiv,@dstma_TzFeiertageStd) " &
"( dstma_mitId, dstma_abteilung, dstma_funktion, dstma_arbvh, dstma_wochenStunden, dstma_stammSchicht,dstma_kuerzel,dstma_reihenfolge,dstma_farbe,dstma_TageProWoche,dstma_niederlassung, dstma_muster,dstma_4wo,dstma_WEStdRegelAZ,dstma_inaktiv ,dstma_TzFeiertageStd, dstma_land) VALUES " &
"( @dstma_mitId, @dstma_abteilung, @dstma_funktion, @dstma_arbvh, @dstma_wochenStunden, @dstma_stammSchicht,@dstma_kuerzel,@dstma_reihenfolge,@dstma_farbe,@dstma_TageProWoche,@dstma_niederlassung, @dstma_muster ,@dstma_4wo,@dstma_WEStdRegelAZ,@dstma_inaktiv,@dstma_TzFeiertageStd, @dstma_land) " &
" End " &
" commit tran "
@@ -1998,6 +1998,7 @@ Public Class cDienstplan
cmd.Parameters.AddWithValue("@dstma_WEStdRegelAZ", ma.dstma_WEStdRegelAZ)
cmd.Parameters.AddWithValue("@dstma_inaktiv", ma.dstma_inaktiv)
cmd.Parameters.AddWithValue("@dstma_TzFeiertageStd", If(ma.dstma_TzFeiertageStd Is Nothing, DBNull.Value, ma.dstma_TzFeiertageStd))
cmd.Parameters.AddWithValue("@dstma_land", ma.dstma_land)
Try
cmd.ExecuteNonQuery()
@@ -3006,6 +3007,32 @@ Public Class cDienstplan
Return False
End Function
Public Function insertEintraegeDetails(dedet_info, dedet_niederlassung, dedet_aktiv) As Boolean
Dim sql As String = "INSERT INTO [tblDienstplanEintraegeDetails] " &
"(dedet_info, dedet_niederlassung, dedet_aktiv ) VALUES " &
"(@dedet_info, @dedet_niederlassung, @dedet_aktiv) "
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@dedet_info", dedet_info)
cmd.Parameters.AddWithValue("@dedet_niederlassung", dedet_niederlassung)
cmd.Parameters.AddWithValue("@dedet_aktiv", dedet_aktiv)
Try
cmd.ExecuteNonQuery()
Return True
Catch ex As SqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Data")
End Try
End Using
End Using
Return False
End Function
Public Function updateEintraegeDetails_Benuterdef(dedet_id, dedet_bezeichnungDP, dedet_ProzentGrafik, dedet_bezeichnungExcel, dedet_bezeichnungExcel2, dedet_bezeichnungExcel3, dedet_ZeilenExcel, dedet_benutzerdefinierteSchicht, dedet_stdWieArbeitszeit, dedet_reihenfolge, dedet_TagesWechsel, dedet_WechselZuSchicht, dedet_HotKey, dedet_bgAlternativeFarbe, dedet_ExcelBgFarbe, dedet_bezLeiter, dedet_ExcelMonatFarbe, dedet_ExcelMonatBezeichnung, dedet_aktiv, dedet_splitschicht, dedet_hauptsplitschicht) As Boolean
Dim hAuswahl As String = ""
@@ -3030,7 +3057,6 @@ Public Class cDienstplan
cmd.Parameters.AddWithValue("@dedet_ZeilenExcel", dedet_ZeilenExcel)
cmd.Parameters.AddWithValue("@dedet_benutzerdefinierteSchicht", dedet_benutzerdefinierteSchicht)
cmd.Parameters.AddWithValue("@dedet_stdWieArbeitszeit", dedet_stdWieArbeitszeit)
cmd.Parameters.AddWithValue("@dedet_reihenfolge", dedet_reihenfolge)
cmd.Parameters.AddWithValue("@dedet_TagesWechsel", dedet_TagesWechsel)
cmd.Parameters.AddWithValue("@dedet_WechselZuSchicht", dedet_WechselZuSchicht)
@@ -3158,6 +3184,7 @@ Public Class cDienstplan
d.dstma_muster = dr.Item("dstma_muster")
d.dstma_4wo = dr.Item("dstma_4wo")
d.dstma_WEStdRegelAZ = dr.Item("dstma_WEStdRegelAZ")
d.dstma_land = dr.Item("dstma_land")
If Not dr.Item("dstma_TageProWoche") Is DBNull.Value Then d.dstma_TageProWoche = dr.Item("dstma_TageProWoche")
@@ -3439,7 +3466,7 @@ Public Class cDienstplan
Try
Dim d As New cDienstMA
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(" SELECT dstma_id,dstma_mitId,dstma_kuerzel, dstma_abteilung,dstma_funktion,dstma_arbvh,dstma_wochenStunden,dstma_stammSchicht,dstma_reihenfolge,dstma_farbe,dstma_TageProWoche,dstma_muster,dstma_4wo,dstma_WEStdRegelAZ,dstma_inaktiv,dstma_TzFeiertageStd FROM tblDienstMitarb INNER JOIN tblMitarbeiter ON mit_id=dstma_mitId WHERE dstma_id=" & maId & " ", conn)
Using cmd As New SqlCommand(" SELECT dstma_id,dstma_mitId,dstma_kuerzel, dstma_abteilung,dstma_funktion,dstma_arbvh,dstma_wochenStunden,dstma_stammSchicht,dstma_reihenfolge,dstma_farbe,dstma_TageProWoche,dstma_muster,dstma_4wo,dstma_WEStdRegelAZ,dstma_inaktiv,dstma_TzFeiertageStd, dstma_land FROM tblDienstMitarb INNER JOIN tblMitarbeiter ON mit_id=dstma_mitId WHERE dstma_id=" & maId & " ", conn)
'cmd.Parameters.AddWithValue("@semi_id", id)
Dim dr = cmd.ExecuteReader()
While dr.Read
@@ -3455,6 +3482,7 @@ Public Class cDienstplan
d.dstma_muster = dr.Item("dstma_muster")
d.dstma_4wo = dr.Item("dstma_4wo")
d.dstma_WEStdRegelAZ = dr.Item("dstma_WEStdRegelAZ")
d.dstma_land = dr.Item("dstma_land")
If Not dr.Item("dstma_TageProWoche") Is DBNull.Value Then d.dstma_TageProWoche = dr.Item("dstma_TageProWoche")
@@ -3559,13 +3587,16 @@ Public Class cDienstplan
Return False
End Function
Public Function delOnlyDstEintraegeSplitschichtenMaId(datum, niederlassung, dstetr_dstmaId) As Boolean
Public Function delOnlyDstEintraegeSplitschichtenMaId(datum, niederlassung, dstetr_dstmaId, Optional dstetr_id = -1) As Boolean
Dim sql = "DELETE FROM tblDienstplanEintraege " &
"WHERE dstetr_niederlassung= '" & niederlassung & "' AND dstetr_datum = @datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_splitschicht = 1"
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@datum", datum)
cmd.Parameters.AddWithValue("@dstetr_dstmaId", dstetr_dstmaId)
cmd.Parameters.AddWithValue("@dstetr_id", dstetr_id)
Try
cmd.ExecuteNonQuery()
Return True
@@ -3578,6 +3609,26 @@ Public Class cDienstplan
End Function
Public Function delDstEintraegeSplitschichtenId(dstetr_id) As Boolean
Dim sql = "DELETE FROM tblDienstplanEintraege " &
"WHERE dstetr_id = @dstetr_id AND dstetr_splitschicht = 1"
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@dstetr_id", dstetr_id)
Try
cmd.ExecuteNonQuery()
Return True
Catch ex As SqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim löschen")
End Try
End Using
End Using
Return False
End Function
Public Function getMaIDFromMitID(mit_id As Integer) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -3662,13 +3713,20 @@ Public Class cDienstplan
End Function
Public Function updateInsertByDienstEintrag(ByVal daten As cDienstEintrag, niederlassung As String) As Boolean
Public Function updateInsertByDienstEintrag(ByVal daten As cDienstEintrag, niederlassung As String, Optional dstetr_id As Integer = -1) As Boolean
Dim SQLclause As String = ""
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) " & 'AND dstetr_art=@dstetr_art hinzugefügt!
" 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 & ") " &
" 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 " &
" WHERE dstetr_datum = @dstetr_datum AND dstetr_dstmaId=@dstetr_dstmaId AND dstetr_niederlassung=@dstetr_niederlassung AND dstetr_art=@dstetr_art" & SQLclause &
" End " &
" Else " &
" begin " &
@@ -4087,10 +4145,13 @@ Public Class cDienstplan
Return 0
End Function
Public Function getCountEntrys(maId As Integer, datum_von As Date, datum_bis As Date, Optional onlySplitschichten As Boolean = False) As Integer
Public Function getCountEntrys(maId As Integer, datum_von As Date, datum_bis As Date, Optional onlySplitschichten As Boolean = False, Optional art As String = "") As Integer
Dim sqlWhere As String = ""
If onlySplitschichten Then sqlWhere &= "AND dstetr_splitschicht = 1"
If onlySplitschichten Then
sqlWhere &= "AND dstetr_splitschicht = 1 AND dstetr_art = '"
sqlWhere &= art & "'"
End If
Try
Dim stunden As Integer
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
@@ -4116,7 +4177,6 @@ Public Class cDienstplan
End Function
Public Function getCountDays(maId As Integer, datum_von As Date, datum_bis As Date) As Integer
Try
Dim stunden As Integer
@@ -4166,6 +4226,32 @@ Public Class cDienstplan
Return ""
End Function
Public Function getLatestDienstplanEintraegNr() As Integer
Try
Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(" select MAX([dstetr_id]) as MaxId from tblDienstplanEintraege ", conn)
Dim dr = cmd.ExecuteReader()
Dim cPF As New cProgramFunctions
If dr.HasRows Then
dr.Read()
Return dr.Item("MaxId")
End If
dr.Close()
End Using
End Using
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), "Problem in Function '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'")
If antwort <> MsgBoxResult.Retry Then
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
End If
End Try
Return -1
End Function
End Class