179 lines
6.9 KiB
VB.net
179 lines
6.9 KiB
VB.net
Imports System.Reflection
|
|
|
|
Public Class cTrips
|
|
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Property tripNr As String = ""
|
|
Property trip_Aufträge As DataTable = Nothing '() As List(Of String)
|
|
Property trip_Transporter As String = ""
|
|
Property trip_FilNr As Integer = Nothing
|
|
Property trip_Datum As Date
|
|
Property trip_start As String = ""
|
|
Property trip_end As String = ""
|
|
|
|
Dim LoadString As String = "SELECT * FROM dbo.tblTrips WHERE trip_tripNr = '{0}'"
|
|
Dim LoadAufträgeString As String = "SELECT
|
|
atr_id, atr_frachtpos, atr_FilialenNr, atr_TransportauftragArt, atr_frachtf_firma, atr_frachtfAb_firma,
|
|
case
|
|
when atr_TransportauftragArt = 'NACH' then atr_frachtfab_firma
|
|
when atr_TransportauftragArt = 'VOR' then atr_frachtf_firma
|
|
when atr_TransportauftragArt = '' and atr_AuftragsArt = 'Transport' then '--na--'
|
|
when atr_AuftragsArt = 'Handling' then '-'
|
|
end as Frächter,
|
|
atr_ladest_firma, atr_entladest_firma, atr_tripNr, atr_tripStopNr
|
|
FROM tblAuftraege WHERE atr_tripNr = '{0}' ORDER BY atr_tripStopNr"
|
|
Dim SaveAufträgeString As String = "UPDATE tblAuftraege SET atr_tripStopNr = '{0}' WHERE atr_tripNr = '{1}' AND atr_frachtpos = '{2}'"
|
|
Dim TripsUpdateString As String = "UPDATE tblTrips SET {0} WHERE trip_tripNr = '{1}'"
|
|
|
|
Function getparameterlist() As List(Of SQLVariable)
|
|
Dim list As New List(Of SQLVariable)
|
|
list.Add(New SQLVariable("trip_tripNr", tripNr))
|
|
'Aufträge sind nicht Teil des Tables
|
|
list.Add(New SQLVariable("trip_Transporter", trip_Transporter))
|
|
list.Add(New SQLVariable("trip_FilNr", trip_FilNr))
|
|
list.Add(New SQLVariable("trip_Datum", trip_Datum))
|
|
list.Add(New SQLVariable("trip_start", trip_start))
|
|
list.Add(New SQLVariable("trip_end", trip_end))
|
|
Return list
|
|
End Function
|
|
|
|
Function LoadTrip(Optional ByVal overrideTripNr As Integer = -1)
|
|
Dim TripNummer As New Integer
|
|
If overrideTripNr = -1 Then
|
|
TripNummer = Me.tripNr
|
|
Else
|
|
TripNummer = overrideTripNr
|
|
End If
|
|
Dim dt As New DataTable
|
|
dt = vpasql.loadDgvBySql(String.Format(LoadString, TripNummer), "DISPO")
|
|
If dt.Rows.Count > 0 Then
|
|
For Each c As DataColumn In dt.Columns
|
|
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName)
|
|
If propInfo IsNot Nothing Then
|
|
If Not IsDBNull(c.Table.Rows(0).Item(c)) Then
|
|
propInfo.SetValue(Me, c.Table.Rows(0).Item(c))
|
|
End If
|
|
End If
|
|
Next
|
|
Else
|
|
Return False
|
|
Exit Function
|
|
End If
|
|
LoadTripAuftraege()
|
|
Return True
|
|
End Function
|
|
|
|
Function SaveTripAsNew()
|
|
tripNr = CreateNewTripNr()
|
|
LoadTripAuftraege()
|
|
getStartAndEnd()
|
|
|
|
Dim Spalten As String = ""
|
|
Dim Werte As String = ""
|
|
Dim List As List(Of SQLVariable) = getparameterlist()
|
|
|
|
For Each i In List
|
|
Spalten &= i.SQLText & ","
|
|
Werte &= "'" & i.SQLValue.replace("'", "") & "',"
|
|
Next
|
|
|
|
Spalten = Spalten.Substring(0, Spalten.Length - 1)
|
|
Werte = Werte.Substring(0, Werte.Length - 1)
|
|
|
|
Dim sqlstring As String = "INSERT INTO dbo.tblTrips (" & Spalten & ") VALUES (" & Werte & ")"
|
|
|
|
vpasql.doSQLVarList(sqlstring, "DISPO")
|
|
|
|
End Function
|
|
|
|
Function CreateNewTripNr()
|
|
Dim dt As New DataTable
|
|
dt = vpasql.loadDgvBySql("SELECT MAX(trip_tripNr) as maxtrip from dbo.tblTrips", "DISPO")
|
|
|
|
Dim maxtrip As Integer = vpasql.VarToDbl(dt.Rows(0).Item(0))
|
|
If Not maxtrip = -1 Then
|
|
Return maxtrip + 1
|
|
tripNr = maxtrip + 1
|
|
Else
|
|
Return 0
|
|
tripNr = 0
|
|
End If
|
|
End Function
|
|
|
|
Function CreateNextStop()
|
|
Dim dt As New DataTable
|
|
dt = vpasql.loadDgvBySql("SELECT MAX(atr_tripStopNr) as maxtripStopNr from dbo.tblAuftraege WHERE atr_tripNr = '" & Me.tripNr & "'", "DISPO")
|
|
|
|
Dim maxtripstop As Integer = vpasql.VarToDbl(dt.Rows(0).Item(0))
|
|
If Not maxtripstop = -1 Then
|
|
Return maxtripstop + 1
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Function
|
|
|
|
Function DeleteTrip()
|
|
If MsgBox("Trip komplett löschen?", MsgBoxStyle.OkCancel, "Trip löschen!") = MsgBoxResult.Cancel Then Exit Function
|
|
For Each row As DataRow In trip_Aufträge.Rows
|
|
RemoveAuftragFromTrip(row.Item("atr_ID"), True)
|
|
Next
|
|
|
|
End Function
|
|
|
|
|
|
Function RemoveAuftragFromTrip(ByVal AufID As Integer, Optional ByVal Silent As Boolean = False)
|
|
|
|
LoadTripAuftraege()
|
|
If trip_Aufträge.Rows.Count = 1 Then
|
|
If Not Silent Then If MsgBox("Letzer Auftrag des Trips! Trip wird mit Bestätigung ebenfalls gelöscht!", MsgBoxStyle.OkCancel, "Letzter Auftrag!") = MsgBoxResult.Cancel Then Exit Function
|
|
vpasql.doSQLVarList("delete from tblTrips where trip_tripNr = '" & Me.tripNr & "'", "DISPO")
|
|
End If
|
|
|
|
Dim sqlstring As String = "update tblAuftraege set atr_tripNr = null, atr_tripStopNr = null where atr_id = '" & AufID & "' "
|
|
vpasql.doSQLVarList(sqlstring, "DISPO")
|
|
End Function
|
|
|
|
Function LoadTripAuftraege()
|
|
trip_Aufträge = vpasql.loadDgvBySql(String.Format(LoadAufträgeString, Me.tripNr), "DISPO")
|
|
End Function
|
|
|
|
Function SaveTripAuftraege()
|
|
For Each row As DataRow In trip_Aufträge.Rows
|
|
vpasql.doSQL(String.Format(SaveAufträgeString, row.Item("atr_tripStopNr").ToString, row.Item("atr_tripNr").ToString, row.Item("atr_frachtpos").ToString), "DISPO")
|
|
Next
|
|
getStartAndEnd()
|
|
update()
|
|
End Function
|
|
|
|
Function update()
|
|
Dim UpdateString As String = ""
|
|
Dim WhereString As String = ""
|
|
Dim list As List(Of SQLVariable) = getparameterlist()
|
|
For Each i In list
|
|
If Not i.SQLText = "trip_tripNr" Then UpdateString &= "[" & i.SQLText & "]='" & i.SQLValue & "',"
|
|
Next
|
|
UpdateString = UpdateString.Substring(0, UpdateString.Length - 1) 'wg. ','
|
|
|
|
vpasql.doSQL(String.Format(TripsUpdateString, UpdateString, tripNr), "DISPO")
|
|
End Function
|
|
|
|
Function getStartAndEnd()
|
|
trip_start = trip_Aufträge.Rows(0).Item("atr_ladest_firma").ToString
|
|
trip_end = trip_Aufträge.Rows(trip_Aufträge.Rows.Count - 1).Item("atr_entladest_firma").ToString
|
|
|
|
'Select Case trip_Aufträge.Rows(0).Item("atr_TransportauftragArt").ToString
|
|
' Case "NACH"
|
|
' trip_Transporter = trip_Aufträge.Rows(0).Item("atr_frachtfAb_firma").ToString
|
|
' Case "VOR"
|
|
' trip_Transporter = trip_Aufträge.Rows(0).Item("atr_frachtf_firma").ToString
|
|
' Case Else
|
|
' trip_Transporter = "---"
|
|
'End Select
|
|
|
|
trip_Transporter = trip_Aufträge.Rows(0).Item("Frächter").ToString
|
|
|
|
End Function
|
|
|
|
End Class
|
|
'atr_frachtf_firma, atr_frachtfAb_firma
|