120 lines
5.5 KiB
VB.net
120 lines
5.5 KiB
VB.net
Public Class usrcntlAuswertungWocheAuslastung
|
|
Dim cDIENST As New cDienstplan
|
|
Dim cPF As New cProgramFunctions
|
|
' Dim montag As Date
|
|
Dim niederlassung = ""
|
|
|
|
|
|
Dim DP_SETTINGS As cDienstSettings
|
|
|
|
|
|
Public Sub init(montag, niederlassung)
|
|
Me.niederlassung = niederlassung
|
|
DP_SETTINGS = New cDienstSettings(niederlassung)
|
|
|
|
lbl_Std_Mo.Text = getStd(montag).ToString("F1")
|
|
lbl_Std_Di.Text = getStd(montag.AddDays(1)).ToString("F1")
|
|
lbl_Std_Mi.Text = getStd(montag.AddDays(2)).ToString("F1")
|
|
lbl_Std_Do.Text = getStd(montag.AddDays(3)).ToString("F1")
|
|
lbl_Std_Fr.Text = getStd(montag.AddDays(4)).ToString("F1")
|
|
lbl_Std_Sa.Text = getStd(montag.AddDays(5)).ToString("F1")
|
|
lbl_Std_So.Text = getStd(montag.AddDays(6)).ToString("F1")
|
|
'lbl_Abf_mo
|
|
|
|
lbl_Abf_Mo.Text = getAbf(montag).ToString("F1")
|
|
lbl_Abf_Di.Text = getAbf(montag.AddDays(1)).ToString("F1")
|
|
lbl_Abf_Mi.Text = getAbf(montag.AddDays(2)).ToString("F1")
|
|
lbl_Abf_Do.Text = getAbf(montag.AddDays(3)).ToString("F1")
|
|
lbl_Abf_Fr.Text = getAbf(montag.AddDays(4)).ToString("F1")
|
|
lbl_Abf_Sa.Text = getAbf(montag.AddDays(5)).ToString("F1")
|
|
lbl_Abf_So.Text = getAbf(montag.AddDays(6)).ToString("F1")
|
|
|
|
lblMA8Std_Mo.Text = CDbl(CDbl(lbl_Std_Mo.Text) / 8).ToString("F1")
|
|
lblMA8Std_Di.Text = CDbl(CDbl(lbl_Std_Di.Text) / 8).ToString("F1")
|
|
lblMA8Std_Mi.Text = CDbl(CDbl(lbl_Std_Mi.Text) / 8).ToString("F1")
|
|
lblMA8Std_Do.Text = CDbl(CDbl(lbl_Std_Do.Text) / 8).ToString("F1")
|
|
lblMA8Std_Fr.Text = CDbl(CDbl(lbl_Std_Fr.Text) / 8).ToString("F1")
|
|
lblMA8Std_Sa.Text = CDbl(CDbl(lbl_Std_Sa.Text) / 8).ToString("F1")
|
|
lblMA8Std_So.Text = CDbl(CDbl(lbl_Std_So.Text) / 8).ToString("F1")
|
|
|
|
lblAbfMA_Mo.Text = CDbl(CDbl(lbl_Abf_Mo.Text) / CDbl(lblMA8Std_Mo.Text)).ToString("F1")
|
|
lblAbfMA_Di.Text = CDbl(CDbl(lbl_Abf_Di.Text) / CDbl(lblMA8Std_Di.Text)).ToString("F1")
|
|
lblAbfMA_Mi.Text = CDbl(CDbl(lbl_Abf_Mi.Text) / CDbl(lblMA8Std_Mi.Text)).ToString("F1")
|
|
lblAbfMA_Do.Text = CDbl(CDbl(lbl_Abf_Do.Text) / CDbl(lblMA8Std_Do.Text)).ToString("F1")
|
|
lblAbfMA_Fr.Text = CDbl(CDbl(lbl_Abf_Fr.Text) / CDbl(lblMA8Std_Fr.Text)).ToString("F1")
|
|
lblAbfMA_Sa.Text = CDbl(CDbl(lbl_Abf_Sa.Text) / CDbl(lblMA8Std_Sa.Text)).ToString("F1")
|
|
lblAbfMA_So.Text = CDbl(CDbl(lbl_Abf_So.Text) / CDbl(lblMA8Std_So.Text)).ToString("F1")
|
|
|
|
|
|
Exit Sub
|
|
End Sub
|
|
|
|
|
|
Function getStd(datum As Date) As Double
|
|
' Dim schicht = ""
|
|
'Select Case niederlassung
|
|
' Case "SUB" : schicht = "'ZOLL_VM','ZOLL_NM','ZOLL_TAG'"
|
|
' Case "QS" : schicht = "'QS'"
|
|
' Case "WAI" : schicht = "'ZOLL_VM','ZOLL_NM','ZOLL_TAG'"
|
|
' Case "SBG" : schicht = "'ZOLL_VM','ZOLL_NM','ZOLL_TAG'"
|
|
' Case "NKD" : schicht = "'ZOLL_VM','ZOLL_NM','ZOLL_TAG'"
|
|
' Case "ATILLA" : schicht = "'ZOLL_VM','ZOLL_NM','ZOLL_TAG','ZOLL_NACHT'"
|
|
' End Select
|
|
|
|
Dim list As List(Of cDienstEintrag) = cDIENST.getDienstEintragListBenSchicht(datum, niederlassung)
|
|
If list IsNot Nothing Then
|
|
For Each l In list
|
|
getStd += cPF.getDiff(l.dstetr_von, l.dstetr_bis, "", False)
|
|
getStd -= CDbl(l.dstetr_pause)
|
|
Next
|
|
End If
|
|
|
|
|
|
'For Each r As DataRow In cDIENST.loadDGV("SELECT [dstetr_von],[dstetr_bis],[dstetr_pause] FROM [ADMIN].[dbo].[tblDienstplanEintraege] " &
|
|
'" WHERE dstetr_datum = '" & datum.ToShortDateString & "' AND [dstetr_niederlassung]='" & IIf(niederlassung = "QS", "SUB", niederlassung) & "' AND [dstetr_art] IN (" & schicht & ") ").Rows
|
|
'getStd += cPF.getDiff(r("dstetr_bis"), r("dstetr_von"), "", False)
|
|
'getStd -= CDbl(r("dstetr_pause"))
|
|
Return getStd
|
|
End Function
|
|
Function getAbf(datum As Date) As Double
|
|
Dim art = ""
|
|
Dim nl = ""
|
|
|
|
If DP_SETTINGS Is Nothing Then Return 0
|
|
If DP_SETTINGS.dpset_AbfArt = String.Empty Then Return 0
|
|
If DP_SETTINGS.dpset_AbfArt.Contains(",") Then
|
|
For Each a In DP_SETTINGS.dpset_AbfArt.Split(",")
|
|
art &= a & ","
|
|
Next : art = art.TrimEnd(",")
|
|
Else
|
|
art = DP_SETTINGS.dpset_AbfArt
|
|
End If
|
|
|
|
If DP_SETTINGS.dpset_AbfNL.Contains(",") Then
|
|
For Each a In DP_SETTINGS.dpset_AbfNL.Split(",")
|
|
nl &= a & ","
|
|
Next : nl = nl.TrimEnd(",")
|
|
Else
|
|
nl = DP_SETTINGS.dpset_AbfNL
|
|
End If
|
|
|
|
|
|
|
|
Dim filiale = ""
|
|
If DP_SETTINGS.dpset_Filiale.Contains(",") Then
|
|
For Each a In DP_SETTINGS.dpset_Filiale.Split(",")
|
|
filiale &= "'" & a & "',"
|
|
Next : filiale = filiale.TrimEnd(",")
|
|
Else
|
|
filiale = "'" & DP_SETTINGS.dpset_Filiale & "'"
|
|
End If
|
|
|
|
Dim sql = "SELECT isnull(SUM(Abfertigungsanzahl) ,0) FROM [VERAG].[dbo].[Speditionsbuch] INNER JOIN [VERAG].[dbo].[Personal] ON ID=Personalnummer " &
|
|
" WHERE Abfertigungsdatum = '" & datum.ToShortDateString & "' AND FilialenNr IN (" & filiale & ") AND Abfertigungsart IN(" & art & ") and Niederlassung IN (" & nl & ")"
|
|
|
|
' Return cDIENST.getValueTxtBySql("SELECT count(*) as anz FROM [Speditionsbuch] where Abfertigungsdatum = '" & datum.ToShortDateString & "' AND FilialenNr IN (" & filiale & ") AND Abfertigungsart IN(" & art & ")", "FMZOLL")
|
|
Return cDIENST.getValueTxtBySql(sql, "FMZOLL")
|
|
|
|
End Function
|
|
End Class
|