This commit is contained in:
2020-06-04 22:20:10 +02:00
parent 6e3e35ac70
commit 3d67139c09
23 changed files with 26785 additions and 41 deletions

View File

@@ -25,6 +25,8 @@ Public Class usrCntlDienstplan
'tbcntr.Enabled = False
If VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN" Then
btnAuswertung.Visible = True
Button5.Visible = True
cbxAuswertungPDF.Visible = True
End If
initNiederlassungen(True)
@@ -300,11 +302,19 @@ Public Class usrCntlDienstplan
If dgvMA.SelectedRows.Count = 0 Then
Exit Sub
End If
genMonatsauswertungMA(dgvMA.SelectedRows(0).Cells("dstma_id").Value)
Dim pdfPath = ""
If cbxAuswertungPDF.Checked Then
Dim fd As New FolderBrowserDialog
If fd.ShowDialog = DialogResult.OK Then
pdfPath = fd.SelectedPath
End If
End If
For Each r In dgvMA.SelectedRows
genMonatsauswertungMA(r.Cells("dstma_id").Value, True, cbxAuswertungPDF.Checked, pdfPath)
Next
End Sub
Sub genMonatsauswertungMA(dstMaID)
Sub genMonatsauswertungMA(dstMaID, groupKW, Optional pdfExport = False, Optional pdfPfad = "")
Dim displayFilter = False
Dim vonDat = CDate("01." & cboMonat._value & "." & numJahr.Value)
@@ -330,7 +340,7 @@ Public Class usrCntlDienstplan
Dim rpt As New rptDienstplanMaMonatsbericht
rpt.DataSource = dt
rpt.GroupHeader1.DataField = "KW"
If groupKW Then rpt.GroupHeader1.DataField = "KW"
rpt.txtMonat.Text = cboMonat.Text & " " & numJahr.Value
rpt.txtMAName.Text = MA.mit_vname & " " & MA.mit_nname
@@ -352,7 +362,10 @@ Public Class usrCntlDienstplan
Dim sumUeStd As Double = 0
Dim datumKW = Now
Dim tatStdSum As Double = 0
Dim cPF As New cProgramFunctions
Dim FT As New cFeiertage
AddHandler rpt.Detail.Format, Sub()
@@ -361,6 +374,19 @@ Public Class usrCntlDienstplan
datumKW = CDate(rpt.Fields.Item("dstetr_datum").Value).ToShortDateString
End If
Select Case datumKW.DayOfWeek
Case 6 : rpt.Detail.BackColor = Color.FromArgb(240, 240, 240)
Case 0 : rpt.Detail.BackColor = Color.FromArgb(220, 220, 220)
Case Else : rpt.Detail.BackColor = Color.White
End Select
rpt.txtTag.ForeColor = Color.Black
If FT.isFeiertag(datumKW) 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
Dim datum = Now
If Not IsDBNull(rpt.Fields.Item("dstetr_datum").Value) Then
datum = CDate(rpt.Fields.Item("dstetr_datum").Value).ToShortDateString
@@ -389,6 +415,7 @@ Public Class usrCntlDienstplan
Case "KS" : rpt.txtKS.Text = "K" : sumK += 1
Case "URL" : rpt.txtUrl.Text = "U" : sumU += 1
Case "DR", "SONST", "BS" : rpt.txtSonst.Text = "S" : sumS += 1
Case "ZA"
Case Else
If benutzerschicht Then rpt.txtArbeitstag.Text = "A" : arbeit = True : sumA += 1
End Select
@@ -408,8 +435,18 @@ Public Class usrCntlDienstplan
End If
Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datum, datum, niederlassung)
rpt.txtStd.Text = CDbl(tatStd).ToString("N2")
Dim tatStd As Double = 0
If arbeit Then
tatStd = SQLDienst.getDstStunden(MA_DST.dstma_id, datum, datum, niederlassung)
tatStdSum += tatStd
End If
If tatStd = 0 Then
rpt.txtStd.Text = ""
Else
rpt.txtStd.Text = CDbl(tatStd).ToString("N2")
End If
rpt.txtBemerkung.Text = ""
@@ -430,7 +467,12 @@ Public Class usrCntlDienstplan
If Not IsDBNull(rpt.Fields.Item("dstetr_datum").Value) Then
datum = CDate(rpt.Fields.Item("dstetr_datum").Value).ToShortDateString
End If
rpt.lblKW.Text = "KW " & cPF.getKW(datum)
If groupKW Then
rpt.lblKW.Text = "KW " & cPF.getKW(datum)
Else
rpt.lblKW.Text = vonDat.ToString("MMM ") & vonDat.Year
End If
End Sub
@@ -454,21 +496,47 @@ Public Class usrCntlDienstplan
Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(datumMO)
Dim sollStd As Double = cPF.getWochenstunden(STD_LIST, MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd)
Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datumMO, datumMO.AddDays(6), niederlassung)
' MsgBox(sollStd)
rpt.txtSumWoStunden.Text = CDbl(tatStd).ToString("N2")
rpt.txtWoStd.Text = CDbl(sollStd * -1).ToString("N2")
rpt.txtUeStd.Text = CDbl(tatStd - sollStd).ToString("N2")
If groupKW Then
Dim sollStd As Double = cPF.getWochenstunden(STD_LIST, MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd)
Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datumMO, datumMO.AddDays(6), niederlassung)
rpt.txtSumWoStunden.Text = CDbl(tatStd).ToString("N2")
rpt.txtWoStd.Text = CDbl(sollStd * -1).ToString("N2")
rpt.txtUeStd.Text = CDbl(tatStd - sollStd).ToString("N2")
Else
' Dim sollStd As Double = cPF.getWochenstunden(STD_LIST, MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd)
rpt.txtSumWoStunden.Text = CDbl(tatStdSum).ToString("N2")
' rpt.txtWoStd.Text = CDbl(sollStd * -1).ToString("N2")
' rpt.txtUeStd.Text = CDbl(tatStd - sollStd).ToString("N2")
rpt.txtWoStd.Text = ""
rpt.txtUeStd.Text = ""
End If
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
If pdfExport Then
rpt.Run()
Dim tmpPath = pdfPfad
If tmpPath = "" Then
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(MA.mit_vname & " " & MA.mit_nname, ".pdf", , False)
Else
tmpPath &= "\" & MA.mit_vname & " " & MA.mit_nname & ".pdf"
End If
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
p.NeverEmbedFonts = ""
p.Export(rpt.Document, tmpPath)
Else
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End If
End Sub
@@ -484,4 +552,20 @@ Public Class usrCntlDienstplan
End If
End Function
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If dgvMA.SelectedRows.Count = 0 Then
Exit Sub
End If
Dim pdfPath = ""
If cbxAuswertungPDF.Checked Then
Dim fd As New FolderBrowserDialog
If fd.ShowDialog = DialogResult.OK Then
pdfPath = fd.SelectedPath
End If
End If
For Each r In dgvMA.SelectedRows
genMonatsauswertungMA(r.Cells("dstma_id").Value, False, cbxAuswertungPDF.Checked, pdfPath)
Next
End Sub
End Class