This commit is contained in:
2020-05-31 22:26:21 +02:00
parent a40477b387
commit 6e3e35ac70
37 changed files with 2287 additions and 437 deletions

View File

@@ -56,7 +56,9 @@ Public Class frmDienstplanVariabel
End Sub
Public Sub initDienstplan()
pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT)
Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(CalendarWeek(aktWoche, aktJahr))
pf.KWAbschluss(STD_LIST, niederlassung, aktJahr, aktWoche, SCHICHT)
' initDienstplan()
If Panel6.Controls.Count > 0 Then DirectCast(Panel6.Controls(0), usrcntlDienstplanStunden).loaded = False
@@ -636,7 +638,7 @@ Public Class frmDienstplanVariabel
End If
End Function
Public Function CalendarWeek(ByVal nWeek As Integer, ByVal nYear As Integer) As Date
Public Shared 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)
@@ -2355,8 +2357,8 @@ Public Class frmDienstplanVariabel
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
Exit Sub
' Dim pf As New cProgramFunctions
pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT)
initDienstplan()
'pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT)
'initDienstplan()
End Sub
@@ -2449,12 +2451,18 @@ Public Class frmDienstplanVariabel
Try
With exclApp
.Visible = False
Dim useAlwaysTime = False
If SQLDienst.getValueTxtBySql("SELECT isnull([dpset_firma],'') FROM [tblDienstSettings] WHERE [dpset_niederlassung]='" & niederlassung & "'", "ADMIN") = "IMEX" Then
Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat IMEX.xlsx")
Else
Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat.xlsx")
End If
Select Case SQLDienst.getValueTxtBySql("SELECT isnull([dpset_firma],'') FROM [tblDienstSettings] WHERE [dpset_niederlassung]='" & niederlassung & "'", "ADMIN")
Case "IMEX"
Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat IMEX.xlsx")
Case "AMBAR"
Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat AMBAR.xlsx")
useAlwaysTime = True
Case Else
Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat.xlsx")
End Select
Blatt = Datei.Worksheets("DIENSTPLAN")
@@ -2464,11 +2472,12 @@ Public Class frmDienstplanVariabel
Dim cnt = 0
If dt_Ma IsNot Nothing Then
'-----------------------Datum-------------------
Dim dateWork = CDate("01." & aktDate.Month & "." & aktDate.Year & "")
Dim dateEnde = dateWork.AddMonths(1).AddDays(-1)
Blatt.Range("C1").Value = dateWork.ToString("MMMM yyyy")
Dim FT As New cFeiertage(dateWork.Year) 'Evtl Jahressprung, darum neu definieren
Dim cnt3 = 0
@@ -2495,9 +2504,6 @@ Public Class frmDienstplanVariabel
'-----------------------------------------------
Blatt.Range("C1").Value = dateWork.ToString("MMMM yyyy")
For Each r As DataRow In dt_Ma.Rows
Dim splate = Chr(Asc("B") + cnt)
Blatt.Range(splate & "2").Value = r("dstma_kuerzel")
@@ -2515,30 +2521,36 @@ Public Class frmDienstplanVariabel
If dt_Tag IsNot Nothing AndAlso dt_Tag.Rows.Count > 0 Then
If dt_Tag.Rows(0)("dstetr_info") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dstetr_info") <> "" Then
Tag_Bez = dt_Tag.Rows(0)("dstetr_info")
Else
Tag_Bez = dt_Tag.Rows(0)("dstetr_von") & "-" & dt_Tag.Rows(0)("dstetr_bis")
'useAlwaysTime --> keine Bezeichnungen der Schicht zulassen, nur die Uhrzeiten
Dim dt_Zeit = SQLDienst.loadDGV("SELECT * FROM [ADMIN].[dbo].[tblDienstplanSchichtenZeiten] where dsz_dedetId=" & dt_Tag.Rows(0)("dedet_id") & " and dsz_woTag='" & dateWork.ToString("ddd").Replace(".", "").ToUpper & "'")
If dt_Tag IsNot Nothing AndAlso dt_Tag.Rows.Count > 0 Then
If Not useAlwaysTime Or dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Then
'Wenn keine benutzerdefinierteSchicht ODER von=von, bis=bis --> Bezeichnung hinschreiben, sonst wird die Zeit (lt. oben) genau angegeben.
If dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Or (dt_Zeit.Rows(0)("dsz_von") = dt_Tag.Rows(0)("dstetr_von") And dt_Zeit.Rows(0)("dsz_bis") = dt_Tag.Rows(0)("dstetr_bis")) Then
If dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") <> "" Then
Tag_Bez = dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung")
If dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") IsNot DBNull.Value Then BGcolor = dt_Tag.Rows(0)("dedet_ExcelMonatFarbe")
ElseIf dt_Tag.Rows(0)("dedet_bezeichnungDP") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "" Then
Tag_Bez = dt_Tag.Rows(0)("dedet_bezeichnungDP")
Else
Tag_Bez = dt_Tag.Rows(0)("dedet_abt")
End If
' Tag_Bez = If(dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "", dt_Tag.Rows(0)("dedet_bezeichnungDP"), dt_Tag.Rows(0)("dedet_abt"))
'Wenn keine benutzerdefinierteSchicht ODER von=von, bis=bis --> Bezeichnung hinschreiben, sonst wird die Zeit (lt. oben) genau angegeben.
If dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Or (dt_Zeit.Rows(0)("dsz_von") = dt_Tag.Rows(0)("dstetr_von") And dt_Zeit.Rows(0)("dsz_bis") = dt_Tag.Rows(0)("dstetr_bis")) Then
If dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") <> "" Then
Tag_Bez = dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung")
If dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") IsNot DBNull.Value Then BGcolor = dt_Tag.Rows(0)("dedet_ExcelMonatFarbe")
ElseIf dt_Tag.Rows(0)("dedet_bezeichnungDP") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "" Then
Tag_Bez = dt_Tag.Rows(0)("dedet_bezeichnungDP")
Else
Tag_Bez = dt_Tag.Rows(0)("dedet_abt")
End If
' Tag_Bez = If(dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "", dt_Tag.Rows(0)("dedet_bezeichnungDP"), dt_Tag.Rows(0)("dedet_abt"))
End If
End If
End If
End If