Files
ADMIN/UID/Dienstplan/usrCntlDienstplan.vb
2022-07-08 08:12:07 +02:00

573 lines
28 KiB
VB.net

Imports System.Data.SqlClient
Public Class usrCntlDienstplan
Private bindingMA As New BindingSource
Private dataAdapterMA As New SqlDataAdapter
Dim SQLDienst As New cDienstplan
Dim niederlassung = ""
Private Sub btnDienstplan_Click(sender As Object, e As EventArgs)
frmDienstplan.Show()
End Sub
'Sub getNiederlassung()
' If tbcntr.TabPages.Count = 0 Then Exit Sub
' niederlassung = tbcntr.SelectedTab.Name.Replace("tb", "")
' End Sub
Private Sub usrCntlDienstplan_Load(sender As Object, e As EventArgs) Handles Me.Load
' getNiederlassung()
' If frmLogin.USRID <> 4 Then
' tbcntr.SelectedIndex = 0
'tbcntr.Enabled = False
If VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN" Then
btnAuswertung.Visible = True
Button5.Visible = True
cbxAuswertungPDF.Visible = True
End If
initNiederlassungen(True)
' tbcntr.SelectedIndex = 0
' getNiederlassung()
Me.dgvMA.DataSource = Me.bindingMA
initMABinding()
cboMonat.Items.Clear()
For i = 1 To 12
cboMonat.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(CDate("01." & i & "." & Now.Year).ToString("MMMM"), i))
Next
cboMonat.changeItem(Now.Month)
numJahr.Value = Now.Year
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DP_Bearbeiten", Me.FindForm) Then
Panel3.Enabled = False
End If
End Sub
Private Sub tbFirmen_TabIndexChanged(sender As Object, e As EventArgs) Handles tbFirmen.SelectedIndexChanged
initNiederlassungen()
End Sub
Sub initNiederlassungen(Optional start = False)
MyFlowLayoutPanel1.Controls.Clear()
If tbFirmen.TabPages.Count = 0 Then Exit Sub
If tbFirmen.SelectedIndex < 0 Then Exit Sub
Dim s As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = s.loadDgvBySql("SELECT [dpset_id],[dpset_niederlassung] FROM [tblDienstSettings] WHERE dpset_firma='" & tbFirmen.SelectedTab.Text & "' order by dpset_reihenfolge ", "ADMIN")
For Each r As DataRow In dt.Rows
' Dim d As New TabPage()
' d.Text = r("dpset_niederlassung")
' d.Name = "tb" & r("dpset_niederlassung")
Dim b As New Button
b.Size = New Size(70, 36)
b.Text = r("dpset_niederlassung")
b.Name = "tb" & r("dpset_niederlassung")
b.FlatStyle = FlatStyle.Flat
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardDP IsNot Nothing Then
If b.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardDP Then
End If
End If
AddHandler b.Click, Sub()
initButtons(b.Text)
End Sub
MyFlowLayoutPanel1.Controls.Add(b)
Next
Dim initDone = False
If start Then
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", Me.FindForm) And Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma = "ALLE" Then
'tbFirmen.Enabled = False
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "ATILLA" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "ATILLA" Then tbFirmen.TabPages.Remove(tbAtilla2)
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "IMEX" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "IMEX" Then tbFirmen.TabPages.Remove(tbImex)
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "VERAG" Then tbFirmen.TabPages.Remove(tbVerag)
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "FRONTOFFICE" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "FRONTOFFICE" Then tbFirmen.TabPages.Remove(tbFrontOffice)
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "AMBAR" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "AMBAR" Then tbFirmen.TabPages.Remove(tbAMBAR)
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma
Case "ATILLA" : tbFirmen.SelectedTab = tbAtilla2
Case "IMEX" : tbFirmen.SelectedTab = tbImex
Case "VERAG" : tbFirmen.SelectedTab = tbVerag
Case "FRONTOFFICE" : tbFirmen.SelectedTab = tbFrontOffice
Case "AMBAR" : tbFirmen.SelectedTab = tbAMBAR
' Case "ALLE" : tbFirmen.SelectedTab = tbVerag : tbFirmen.Enabled = True
Case Else : tbFirmen.SelectedTab = tbVerag
End Select
End If
''Einschränkung DP Firma:
'If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma IsNot Nothing Then
' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma
' Case "ATILLA" : tbFirmen.SelectedTab = tbAtilla2
' Case "IMEX" : tbFirmen.SelectedTab = tbImex
' Case "VERAG" : tbFirmen.SelectedTab = tbVerag
' Case "FRONTOFFICE" : tbFirmen.SelectedTab = tbFrontOffice
' ' Case "ALLE" : tbFirmen.SelectedTab = tbVerag : tbFirmen.Enabled = True
' Case Else : tbFirmen.SelectedTab = tbVerag
' End Select
' If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", Me.FindForm) And Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma = "ALLE" Then tbFirmen.Enabled = False
'End If
'Wenn zusätzlich eingeschränkt auf NL:
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardDP IsNot Nothing AndAlso VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardDP <> "" Then
initButtons(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardDP)
initDone = True
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", Me.FindForm) And Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma = "ALLE" Then
For Each b As Button In MyFlowLayoutPanel1.Controls
b.Enabled = False
tbFirmen.Enabled = False
Next
End If
End If
End If
If Not initDone Then
If MyFlowLayoutPanel1.Controls.Count > 0 Then
initButtons(DirectCast(MyFlowLayoutPanel1.Controls(0), Button).Text)
End If
End If
End Sub
Sub initButtons(s)
For Each b As Button In MyFlowLayoutPanel1.Controls
If b.Text = s Then
b.BackColor = Color.SteelBlue
b.ForeColor = Color.White
Else
b.BackColor = Color.White
b.ForeColor = Color.Black
End If
Next
niederlassung = s
initMABinding()
End Sub
Public Sub initMABinding()
Dim sqlstr As String = " SELECT dstma_id,dstma_mitId,dstma_kuerzel,mit_nname + ' ' + mit_vname, dstma_abteilung,dstma_funktion,dstma_arbvh,dstma_wochenStunden,dstma_stammSchicht,dstma_farbe,dstma_reihenfolge FROM tblDienstMitarb,tblMitarbeiter WHERE mit_id=dstma_mitId and mit_gekuendigt =" & If(cbxGekAnzeigen.Checked, 1, 0) & " and dstma_inaktiv =" & If(cbxInaktiv.Checked, 1, 0) & " AND dstma_niederlassung='" & niederlassung & "' ORDER BY dstma_kuerzel"
' dgvLKW.DataSource = bindingSDL
Dim d As New SqlDataAdapter()
Try
Dim connectionString As String = My.Resources.connStringAdmin
'Dim sqlstr As String = "SELECT top 200 * FROM SDL " 'WHERE KundenNr=" & kdNr & " "
'If TextBox11.Text <> "" Then sqlstr &= " AND KfzKennzeichen LIKE '" & TextBox11.Text & "%'" 'Suchparam
'Dim filter As String = getFilter()
'If filter <> "" Then sqlstr &= " AND " & filter
' MsgBox(sqlstr)
Me.dataAdapterMA = New SqlDataAdapter(sqlstr, connectionString)
Catch ex As SqlException
MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.")
End Try
Dim commandBuilder As New SqlCommandBuilder(Me.dataAdapterMA)
Dim table As New DataTable()
Me.dataAdapterMA.Fill(table)
' table.Columns("KundenNr").DefaultValue = kdNr
table.Locale = System.Globalization.CultureInfo.InvariantCulture
'bindingSDL.Clear()
dgvMA.DataBindings.Clear()
bindingMA.DataSource = table
initAllg()
End Sub
Sub initAllg()
With dgvMA
If .ColumnCount <= 0 Then Exit Sub
.RowTemplate.Height = 20
.AllowUserToOrderColumns = False
.AllowUserToResizeRows = False
.AllowUserToAddRows = False
.Columns(0).Visible = False
.Columns(1).Visible = False
.Columns(2).HeaderText = "Kürzel"
.Columns(3).HeaderText = "Name"
.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns(4).HeaderText = "Abteilung"
.Columns(5).HeaderText = "Funktion"
.Columns(6).HeaderText = "Arbeitsverhältnis"
.Columns(7).HeaderText = "Wochenstunden"
.Columns(8).HeaderText = "Stamm-Schicht"
.Columns(10).HeaderText = "Reihenf."
.Columns(9).Visible = False
'.AutoGenerateColumns = False '??HM:::
End With
End Sub
Private Sub Button64_Click(sender As Object, e As EventArgs) Handles Button64.Click
'MsgBox(niederlassung)
Dim frmDiestAddMa As New frmDiestAddMa
frmDiestAddMa.niederlassung = niederlassung
frmDiestAddMa.Show()
AddHandler frmDiestAddMa.FormClosing, AddressOf initMABinding
End Sub
Private Sub btnDienstplan_Click_1(sender As Object, e As EventArgs) Handles btnDienstplan.Click
Dim frmDienstplanVariabel As New frmDienstplanVariabel(niederlassung)
frmDienstplanVariabel.Show()
Exit Sub
If niederlassung = "ATILLA" Then : frmDienstplanATILLA.niederlassung = niederlassung : frmDienstplanATILLA.Show()
ElseIf niederlassung = "WAI" Then : frmDienstplanVariabel.niederlassung = niederlassung : frmDienstplanVariabel.Show()
ElseIf niederlassung = "SBG" Then : frmDienstplanVariabel.niederlassung = niederlassung : frmDienstplanVariabel.Show()
ElseIf niederlassung = "NKD" Then : frmDienstplanVariabel.niederlassung = niederlassung : frmDienstplanVariabel.Show()
ElseIf niederlassung = "SUB" Then : frmDienstplan.niederlassung = niederlassung : frmDienstplan.Show()
ElseIf niederlassung = "VERR" Then : frmDienstplanVariabel.niederlassung = niederlassung : frmDienstplanVariabel.Show()
End If
End Sub
Private Sub dgvMA_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvMA.CellDoubleClick
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DP_Bearbeiten", Me.FindForm) Then
frmDiestAddMa.MA_ID = dgvMA.CurrentRow.Cells(0).Value
frmDiestAddMa.niederlassung = niederlassung
frmDiestAddMa.Show()
AddHandler frmDiestAddMa.FormClosing, AddressOf initMABinding
End If
End Sub
Private Sub Button65_Click(sender As Object, e As EventArgs) Handles Button65.Click
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", Me.FindForm) Then
MsgBox("Nur Administratoren können einen Eintrag löschen!")
Else
Dim sql As New cDienstplan
If vbYes = MsgBox("Möchten Sie den Mitarbeiter " & dgvMA.CurrentRow.Cells(2).Value & " wirklich aus dem Dienstplan löschen?", vbYesNoCancel) Then
' sql.delDienstNichtAnwesend2(dgvMA.CurrentRow.Cells(0).Value)
sql.delDienstNichtAnwesend_ByMaID(dgvMA.CurrentRow.Cells(0).Value)
sql.delDienstNichtAnwesendKW_ByMaID(dgvMA.CurrentRow.Cells(0).Value)
sql.delDstEintraegeAllMaId(dgvMA.CurrentRow.Cells(0).Value)
sql.delDienstTeilzeit(dgvMA.CurrentRow.Cells(0).Value)
sql.delDienstMitarbeiter(dgvMA.CurrentRow.Cells(0).Value)
initMABinding()
End If
End If
End Sub
Private Sub dgvMA_Paint(sender As Object, e As PaintEventArgs) Handles dgvMA.Paint
For Each r As DataGridViewRow In dgvMA.Rows
Try : r.DefaultCellStyle.ForeColor = ColorTranslator.FromHtml(r.Cells(9).Value) : Catch : End Try
Next
End Sub
Private Sub tbcntr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxGekAnzeigen.CheckedChanged
' getNiederlassung()
initMABinding()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f As New frmSchichtenZeiten
f.niederlassung = niederlassung
f.ShowDialog(Me)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim frmUrlaubsplaner As New frmUrlaubsplaner
frmUrlaubsplaner.niederlassung = niederlassung
frmUrlaubsplaner.Show()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim f As New frmDienstEinstellungen
f.niederlassung = niederlassung
f.ShowDialog(Me)
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs)
frmDienstplanVariabel.niederlassung = niederlassung : frmDienstplanVariabel.Show()
End Sub
Private Sub btnAuswertung_Click(sender As Object, e As EventArgs) Handles btnAuswertung.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, True, cbxAuswertungPDF.Checked, pdfPath)
Next
End Sub
Sub genMonatsauswertungMA(dstMaID, groupKW, Optional pdfExport = False, Optional pdfPfad = "")
Dim displayFilter = False
Dim vonDat = CDate("01." & cboMonat._value & "." & numJahr.Value)
Dim bisDat = vonDat.AddMonths(1).AddDays(-1)
Dim sqlstr As String = ""
sqlstr &= " SELECT * ,datepart(ISO_WEEK,dstetr_datum) as KW FROM [tblDienstplanEintraege] "
sqlstr &= " where dstetr_datum between '" & vonDat.ToShortDateString & "' and '" & bisDat.ToShortDateString & "' "
sqlstr &= " and dstetr_dstmaId='" & dstMaID & "' "
sqlstr &= " ORDER BY dstetr_datum ASC "
Dim MA_DST As cDienstMA = SQLDienst.getDstMAByDstMaId(dstMaID)
Dim MA As New VERAG_PROG_ALLGEMEIN.cMitarbeiter(MA_DST.dstma_mitId)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "ADMIN")
'DataGridView.DataSource = dt
Dim print As New frmPrintLayout
print.Text = "Monatsauswertung"
Dim rpt As New rptDienstplanMaMonatsbericht
rpt.DataSource = dt
If groupKW Then rpt.GroupHeader1.DataField = "KW"
rpt.txtMonat.Text = cboMonat.Text & " " & numJahr.Value
rpt.txtMAName.Text = MA.mit_vname & " " & MA.mit_nname
rpt.txtZeitraum.Text = vonDat.ToShortDateString & " - " & bisDat.ToShortDateString
Dim sum = 0
'rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
' rpt.lblDat.Text = Now.ToLongDateString
Dim sumBetragLand As Double = 0
Dim sumA As Integer = 0
Dim sumU As Integer = 0
Dim sumK As Integer = 0
Dim sumS As Integer = 0
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()
If Not IsDBNull(rpt.Fields.Item("dstetr_datum").Value) AndAlso rpt.Fields.Item("dstetr_datum").Value <> "" AndAlso IsDate(rpt.Fields.Item("dstetr_datum").Value) Then
'MsgBox(rpt.Fields.Item("dstetr_datum").Value)
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, 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
Dim datum = Now
If Not IsDBNull(rpt.Fields.Item("dstetr_datum").Value) Then
datum = CDate(rpt.Fields.Item("dstetr_datum").Value).ToShortDateString
rpt.txtTag.Text = datum.ToString("ddd")
rpt.txtDatum.Text = datum.ToShortDateString
Else
rpt.txtTag.Text = ""
rpt.txtDatum.Text = ""
End If
Dim von = isDbnullEmpty(rpt.Fields.Item("dstetr_von").Value, "")
Dim bis = isDbnullEmpty(rpt.Fields.Item("dstetr_bis").Value, "")
rpt.txtArbeitstag.Text = ""
rpt.txtUrl.Text = ""
rpt.txtSonst.Text = ""
rpt.txtKS.Text = ""
Dim benutzerschicht = True
Dim arbeit = False
Dim art = isDbnullEmpty(rpt.Fields.Item("dstetr_art").Value, "")
Select Case art
Case "FREI", "" 'NIX
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
rpt.txtVonBis.Text = ""
If arbeit Then
If von <> "" Or bis <> "" Then
rpt.txtVonBis.Text = von
rpt.txtVonBis.Text &= " - "
rpt.txtVonBis.Text &= bis
End If
rpt.txtPause.Text = isDbnullEmpty(rpt.Fields.Item("dstetr_pause").Value, "")
Else
rpt.txtPause.Text = ""
'rpt.txtUeberstd.Text = ""
End If
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 = ""
' sumUeStd += ueStd
' sumBar += CDbl(rpt.Fields.Item("Barzahlungsbetrag").Value)
' sumAnz += CDbl(rpt.Fields.Item("Anzahl").Value)
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
sumA = 0
sumU = 0
sumK = 0
sumS = 0
sumUeStd = 0
Dim datum = Now
If Not IsDBNull(rpt.Fields.Item("dstetr_datum").Value) Then
datum = CDate(rpt.Fields.Item("dstetr_datum").Value).ToShortDateString
End If
If groupKW Then
rpt.lblKW.Text = "KW " & cPF.getKW(datum)
Else
rpt.lblKW.Text = vonDat.ToString("MMM ") & vonDat.Year
End If
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
' datumKW = datumKW.AddDays(-1)
rpt.txtSumA.Text = sumA
rpt.txtSumU.Text = sumU
rpt.txtSumK.Text = sumK
rpt.txtSumS.Text = sumS
' rpt.txtSumWoStunden.Text = CDbl(sumUeStd).ToString("N2")
'Zuerst den montag der aktueellen Woche lt. Datum ermitteln:
MsgBox(cPF.DateToWeek(datumKW))
Dim datumMO As Date = cPF.GetWeekStartDate(cPF.DateToWeek(datumKW).Substring(4, 2), cPF.DateToWeek(datumKW).Substring(0, 4))
'Aktuelle Woche und Jahr anhand des Montages ermitteln:
Dim aktWoche = cPF.DateToWeek(datumMO).Substring(4, 2)
Dim aktJahr = cPF.DateToWeek(datumMO).Substring(0, 4)
Dim SCHICHT = cPF.getSchicht(aktWoche, aktJahr)
Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(datumMO)
' MsgBox(sollStd)
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, MA_DST.dstma_4wo)
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
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
Private Function CalendarWeek(aktWoche As Object, aktJahr As Object) As Date
Throw New NotImplementedException()
End Function
Function isDbnullEmpty(o As Object, return_value As Object) As String
If IsDBNull(o) Then : isDbnullEmpty = return_value
ElseIf IsNothing(o) Then : isDbnullEmpty = return_value
Else : isDbnullEmpty = o
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