Aviso_Trips; NewLayout HF

This commit is contained in:
2026-03-19 13:13:23 +01:00
parent 50857959fe
commit 77e83a464a
23 changed files with 1766 additions and 1157 deletions

View File

@@ -45,6 +45,7 @@ Public Class usrcntlAktDetails
Dim AVISO As cAviso = Nothing
Dim WithEvents timerSendRows As New Timer
Dim isFailureShown As Boolean = False
Dim AVISO_TRIP_LIST As New List(Of cAvisoTripsItem)
Dim painted As Boolean = False ' Damit gridVermerke Formattierung nicht dauernd anspringt..
@@ -74,6 +75,88 @@ Public Class usrcntlAktDetails
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Public Sub initAvisoTrips(AvisoTripId As Integer)
AVISO_TRIP_LIST.Clear()
'Flowlayoutpanel leeren
For i As Integer = flpnlAvisoTrips.Controls.Count - 1 To 0 Step -1
Dim ctrl As Control = flpnlAvisoTrips.Controls(i)
If ctrl IsNot lblAvisoTrip_Default AndAlso ctrl IsNot lblAvisoTrip_Add Then
flpnlAvisoTrips.Controls.Remove(ctrl) : ctrl.Dispose()
End If
Next
If AvisoTripId > 0 Then
Dim AVISO_TRIP = New cAvisoTrips(AvisoTripId)
AVISO_TRIP_LIST = AVISO_TRIP.getAvisos()
End If
If AVISO_TRIP_LIST.Count = 0 Then
Dim item As New cAvisoTripsItem
item.AvisoId = AvisoID
item.Grenzstelle = cAvisoTrips.GetGrenzstelleText(AVISO.Grenzstelle, AVISO.Zollstelle)
AVISO_TRIP_LIST.Add(item)
End If
For Each AvisoTripItem In AVISO_TRIP_LIST
Dim lbl As New Label
' Eigenschaften vom Default übernehmen
With lbl
.AutoSize = lblAvisoTrip_Default.AutoSize
.Width = lblAvisoTrip_Default.Width
.Height = lblAvisoTrip_Default.Height
.BackColor = lblAvisoTrip_Default.BackColor
.ForeColor = lblAvisoTrip_Default.ForeColor
.Font = lblAvisoTrip_Default.Font
.Margin = lblAvisoTrip_Default.Margin
.Padding = lblAvisoTrip_Default.Padding
.BorderStyle = lblAvisoTrip_Default.BorderStyle
.TextAlign = lblAvisoTrip_Default.TextAlign
.Cursor = lblAvisoTrip_Default.Cursor
.UseCompatibleTextRendering = lblAvisoTrip_Default.UseCompatibleTextRendering
' Dein Inhalt
.Text = If(AvisoTripItem.Grenzstelle, "")
If If(AvisoTripItem.Grenzstelle, "").Length > 20 Then
.Font = New Font(.Font.FontFamily, .Font.Size - 2, .Font.Style) ' Schriftgröße anpassen, wenn Text zu lang ist
End If
' optional: Referenz speichern
.Tag = AvisoTripItem.AvisoId
If AvisoTripItem.AvisoId = AvisoID Then
.BackColor = Color.DodgerBlue ' Aktuelles Aviso hervorheben
.BorderStyle = BorderStyle.FixedSingle
End If
End With
' Click-Event (optional aber sinnvoll)
AddHandler lbl.Click, AddressOf AvisoTrip_Click
flpnlAvisoTrips.Controls.Add(lbl)
Next
If flpnlAvisoTrips.Controls.Contains(lblAvisoTrip_Add) Then
flpnlAvisoTrips.Controls.Remove(lblAvisoTrip_Add)
flpnlAvisoTrips.Controls.Add(lblAvisoTrip_Add)
End If
End Sub
Private Sub AvisoTrip_Click(sender As Object, e As EventArgs)
Dim lbl As Label = CType(sender, Label)
'Dim item As cAvisoTrip = CType(lbl.Tag, cAvisoTrip)
If IsNumeric(lbl.Tag) Then
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = lbl.Tag
reload(lbl.Tag)
End If
End Sub
Public Sub reload(id)
loaded = False
@@ -85,6 +168,7 @@ Public Class usrcntlAktDetails
Details_anzeigen()
pnlDetailsRechts.Enabled = True
pnlDetailsRechts.Cursor = Cursors.Default
@@ -196,6 +280,10 @@ Public Class usrcntlAktDetails
cboFormulareRgAn.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Auftraggeber", "AUFTR"))
cboFormulareRgAn.changeItem("AVISIERER")
'AVISO_TRIPS
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("AVISO_TRIPS") Then
flpnlAvisoTrips.Visible = True
End If
Select Case If(AVISO.FIRMA <> "", AVISO.FIRMA, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
@@ -318,12 +406,14 @@ Public Class usrcntlAktDetails
Private Sub Details_anzeigen()
aktiv = Now 'Damit nicht neu geladedt wird (frmHauptfenster -> timer.tick)
AVISO_TRIP_LIST.Clear()
If AvisoID <= 0 Then Exit Sub
'Dim Aviso As New cAviso
AVISO = AvisoDAL.LesenAviso(AvisoID, "")
If AVISO Is Nothing Then Exit Sub
initAvisoTrips(AVISO.AvisoTripId)
lblIMEX.Text = AVISO.ImEx
lblIMEX.Visible = (AVISO.ImEx <> "")
@@ -3964,7 +4054,8 @@ Public Class usrcntlAktDetails
End Sub)
t.Start({AvisoID, Printername})
' t.Start({AvisoID, Printername})
t.Start({AvisoID})
t.IsBackground = True
End Sub
@@ -4013,5 +4104,110 @@ Public Class usrcntlAktDetails
MsgBox(gridVermerke.SelectedRows(0).Cells("Hinweis_Vermerk").Value)
End If
End Sub
Private Sub Label9_Click(sender As Object, e As EventArgs) Handles lblAvisoTrip_Add.Click
Try
'--> PRüfen ob schon trip
If AVISO.AvisoTripId <= 0 Then
Dim AVISO_TRIP As New cAvisoTrips(-1)
AVISO_TRIP.LKW_Nr = AVISO.LKW_Nr
AVISO_TRIP.LKW_Nationalitaet = AVISO.LKW_Nationalitaet
AVISO_TRIP.Frächter = AVISO.Frächter
AVISO_TRIP.Frächter_KdNr = AVISO.Frächter_KdNr
AVISO_TRIP.Auftraggeber = AVISO.Auftraggeber
AVISO_TRIP.Auftraggeber_KdNr = AVISO.Auftraggeber_KdNr
AVISO_TRIP.SAVE()
AVISO.UPDATE_Trips(AVISO_TRIP.AvisoTripId)
End If
Me.Cursor = Cursors.WaitCursor
Dim frmGrayOut = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.grayoutForm()
Dim f As New frmEintragAviso
f.getFromAVISO_Trip = AVISO
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = 0
' f.frmHilf = Me
If Not f.IsDisposed And f IsNot Nothing And Not frmGrayOut.IsDisposed And frmGrayOut IsNot Nothing Then
If f.ShowDialog(frmGrayOut) = DialogResult.OK Then
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = f.myAviso.AvisoID
reload(f.myAviso.AvisoID)
Else
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = AVISO.AvisoID
End If
End If
frmGrayOut.Close()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, "LOG")
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub lblAvisoTrip_Prev_Click(sender As Object, e As EventArgs) Handles lblAvisoTrip_Prev1.Click, lblAvisoTrip_Prev2.Click
Dim AvisoTmp = GetPrevAvisoId()
If AvisoTmp <> AvisoID Then
Me.Cursor = Cursors.WaitCursor
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = AvisoTmp
reload(AvisoTmp)
Me.Cursor = Cursors.Default
End If
End Sub
Private Sub lblAvisoTrip_Next_Click(sender As Object, e As EventArgs) Handles lblAvisoTrip_Next1.Click, lblAvisoTrip_Next2.Click
Dim AvisoTmp = GetNextAvisoId()
If AvisoTmp <> AvisoID Then
Me.Cursor = Cursors.WaitCursor
VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = AvisoTmp
reload(AvisoTmp)
Me.Cursor = Cursors.Default
End If
End Sub
Public Function GetNextAvisoId() As Integer
Try
If AVISO_TRIP_LIST Is Nothing OrElse AVISO_TRIP_LIST.Count = 0 Then Return AvisoID
For i As Integer = 0 To AVISO_TRIP_LIST.Count - 1
If AVISO_TRIP_LIST(i).AvisoId = AvisoID Then
If i < AVISO_TRIP_LIST.Count - 1 Then
Return AVISO_TRIP_LIST(i + 1).AvisoId
Else
Return AvisoID
End If
End If
Next
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return AvisoID
End Function
Public Function GetPrevAvisoId() As Integer
Try
If AVISO_TRIP_LIST Is Nothing OrElse AVISO_TRIP_LIST.Count = 0 Then Return AvisoID
For i As Integer = 0 To AVISO_TRIP_LIST.Count - 1
If AVISO_TRIP_LIST(i).AvisoId = AvisoID Then
If i > 0 Then
Return AVISO_TRIP_LIST(i - 1).AvisoId
Else
Return AvisoID
End If
End If
Next
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return AvisoID
End Function
End Class