2019-03-14 10:37:12 +01:00

123 lines
4.3 KiB
VB.net

Imports DevExpress.XtraReports.Parameters
''' <summary>
''' Hier werden die Summen von
''' - Anzahl Sendungen
''' - Anzahl Kolli
''' - Gesamtgewicht
''' berechnet.
''' </summary>
Public Class reportUebergabe
Private sendungen As Integer = 0
Private kolli As Integer = 0
Private gewicht As Double = 0.00
Private letzteSendung As Integer = 0
Private letzteNve As String = String.Empty
Private letzterCode As String = String.Empty
Private letzterEmpfänger As String = String.Empty
Private Sub labelAnzahlSendungen_SummaryReset(sender As Object, e As EventArgs) Handles labelAnzahlSendungen.SummaryReset
sendungen = 0
kolli = 0
gewicht = 0.00
letzteSendung = 0
End Sub
''' <summary>
''' Pro Sendungsnummer die Anzahl der Sendungen sowie die Anzahl der Stellplätze hochzählen
''' </summary>
Private Sub labelSendungNr_BeforePrint(sender As Object, e As Printing.PrintEventArgs) Handles labelSendungNr.BeforePrint
Dim sendungsNr As Integer = GetCurrentColumnValue("SENDUNGNR")
Dim sdgStellplaetze As Integer = GetCurrentColumnValue("SDG_STELLPLAETZE")
' Wenn sich die Sendungsnummer geändert hat
If sendungsNr <> letzteSendung Then
sendungen = sendungen + 1
kolli = kolli + sdgStellplaetze
End If
End Sub
''' <summary>
''' Pro Sendungsnummer das Gewicht aufaddieren
''' </summary>
Private Sub labelGewicht_BeforePrint(sender As Object, e As Printing.PrintEventArgs) Handles labelGewicht.BeforePrint
Dim sendungsNr As Integer = GetCurrentColumnValue("SENDUNGNR")
' Wenn sich die Sendungsnummer geändert hat
If sendungsNr <> letzteSendung Then
gewicht = gewicht + CDbl(GetCurrentColumnValue("SDG_GEWICHT"))
End If
End Sub
''' <summary>
''' Summe der Colli ausgeben
''' </summary>
Private Sub labelSummeKolli_SummaryGetResult(sender As Object, e As DevExpress.XtraReports.UI.SummaryGetResultEventArgs) Handles labelSummeKolli.SummaryGetResult
e.Result = kolli
e.Handled = True
End Sub
''' <summary>
''' Gesamtgewicht ausgeben
''' </summary>
Private Sub labelSummeGewicht_SummaryGetResult(sender As Object, e As DevExpress.XtraReports.UI.SummaryGetResultEventArgs) Handles labelSummeGewicht.SummaryGetResult
e.Result = gewicht
e.Handled = True
End Sub
''' <summary>
''' Gesamtanzahl der Sendungen ausgeben
''' </summary>
Private Sub labelAnzahlSendungen_SummaryGetResult(sender As Object, e As DevExpress.XtraReports.UI.SummaryGetResultEventArgs) Handles labelAnzahlSendungen.SummaryGetResult
e.Result = sendungen
e.Handled = True
End Sub
Private Sub labelPalettenanzahl_BeforePrint(sender As Object, e As Printing.PrintEventArgs) Handles labelPalettenanzahl.BeforePrint
Dim sendungsNr As Integer = GetCurrentColumnValue("SENDUNGNR")
Dim nve As String = GetCurrentColumnValue("NVE")
Dim code As String = GetCurrentColumnValue("CODE")
Dim empfänger As String = GetCurrentColumnValue("EMP")
' Wenn Sich die Sendung nicht geändert hat
If sendungsNr = letzteSendung Then
' Wenn NVE oder Colli gleich sind
If nve = letzteNve Or code = letzterCode Then
' Druck abbrechen
e.Cancel = True
End If
Else
' Aktuelle Sendungsnummer speichern
letzteSendung = sendungsNr
End If
letzteNve = nve
letzterCode = code
End Sub
Private Sub labelColliCode_BeforePrint(sender As Object, e As Printing.PrintEventArgs) Handles labelColliCode.BeforePrint
Dim sendungsNr As Integer = GetCurrentColumnValue("SENDUNGNR")
Dim nve As String = GetCurrentColumnValue("NVE")
Dim code As String = GetCurrentColumnValue("CODE")
If sendungsNr = letzteSendung Then
If Not (nve <> letzteNve And code <> letzterCode) Then
e.Cancel = True
End If
End If
End Sub
Private Sub labelEmpfaenger_BeforePrint(sender As Object, e As Printing.PrintEventArgs) Handles labelEmpfaenger.BeforePrint
Dim empfänger As String = GetCurrentColumnValue("EMP")
letzterEmpfänger = empfänger
End Sub
End Class