Aviso Redesign

This commit is contained in:
2026-03-27 10:08:20 +01:00
parent 0e00ec3a2a
commit d134027977
122 changed files with 2696 additions and 1394 deletions

View File

@@ -17,6 +17,7 @@ Public Class frmSendungsdetailsNEU
Public AvisoId As Integer
Public SendungID As Integer = -1
Dim FUNC As New SDL.cProgramFunctions
Dim AVISOFUNC As New AvisoStatusFunctions
Dim ADMIN As New cADMIN
Dim AvisoDAL As New cAvisoDAL
@@ -601,6 +602,22 @@ Public Class frmSendungsdetailsNEU
Button19.Visible = True
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("CHECK_SND_Statusoptions") Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN" Then
lblStatusOptionen.Visible = True
pnlStatus.Visible = True
flpnlStatus.Visible = True
Else
lblStatusOptionen.Visible = False
pnlStatus.Visible = False
flpnlStatus.Visible = False
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("CHECK_SND_Zuteilung") Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN" Then
pnlSND_Zuteilung.Visible = True
Else
pnlSND_Zuteilung.Visible = False
End If
ContextMenuStrip3.Items.Clear()
Dim dt = SQL.loadDgvBySql("SELECT [grz_Grenzstelle],grz_BezeichnungCBO FROM [tblGrenzstelle] where grz_Cluster='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "'", "AVISO")
If dt IsNot Nothing Then
@@ -1469,7 +1486,7 @@ Public Class frmSendungsdetailsNEU
txtColli.Text = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Colli, "").ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
txtGewicht.Text = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Gewicht, "").ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
rtbWarenbezeichnung.Text = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Warenbezeichnung, "")
cbxSpedBuch.Checked = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen, False)
'cbxSpedBuch.Checked = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen, False)
' cntlBar.Checked = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_bar, False)
' txtBarBelegNr.Text = loadValue(SENDUNG_LIST(CURRENT_INDEX).tblSnd_barBeleg, "")
@@ -1554,6 +1571,7 @@ Public Class frmSendungsdetailsNEU
setVorpapiere()
doVeranlagungsValidation()
initFraechterAvisererFromAkt()
@@ -1711,6 +1729,9 @@ Public Class frmSendungsdetailsNEU
checkinitOLDAbfertigungsart(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Abfertigungsart_ID)
initSendungs_Status()
initZuteilung()
SENDUNG_LIST(CURRENT_INDEX).LOAD_VORKOSTEN()
If tbcntr.SelectedTab Is tbBAR Then
initDGVBelege()
@@ -1812,6 +1833,125 @@ Public Class frmSendungsdetailsNEU
End If
End Sub
Sub initSendungs_Status()
Dim vorhanden = ADMIN.getValueTxtBySql("SELECT COUNT(*) FROM [Speditionsbuch] WHERE [FilialenNr]='" & cboFiliale._value & "' AND AbfertigungsNr='" & txtAbfertigungsnummer.Text & "'", "FMZOLL") ' AND UnterNr='" & txtUnterNr.Text & "'
'cbxSpedBuch.Checked = (vorhanden > 0)
SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen = (vorhanden > 0)
btnStatusAbklaerungTR.BackgroundImage = My.Resources.abklaerungTR_Inaktiv
btnStatusVorbereitetQS.BackgroundImage = My.Resources.statusBtn_vorbereitet_InAktiv
btnStatusVorgeschrieben.BackgroundImage = My.Resources.statusBtn_vorgeschrieben_InAktiv
btnStatusAbfertigungTR.BackgroundImage = My.Resources.abfetigungTR_inaktiv
btnSpeditionsbuchEintragen.BackgroundImage = My.Resources.speditionsbuchInaktiv
btnSendungFakturiert.BackgroundImage = My.Resources.fakturiertInaktiv
btnStatusAbgeschlossen.BackgroundImage = My.Resources.ok '-> Logik einbauen
setTooltioBtn(btnStatusAbklaerungTR, "Status 'Abklärung TR' eintragen")
setTooltioBtn(btnStatusVorbereitetQS, "Status 'Vorbereitet-QS' eintragen")
setTooltioBtn(btnStatusVorgeschrieben, "Status 'Vorgeschrieben' eintragen")
setTooltioBtn(btnStatusAbfertigungTR, "Status 'Abfertigung TR' eintragen")
setTooltioBtn(btnSpeditionsbuchEintragen, "Status 'Speditionsbuch Eintragen' eintragen")
setTooltioBtn(btnSendungFakturiert, "Status 'Fakturiert' eintragen")
setTooltioBtn(btnStatusAbgeschlossen, "Status 'Abgeschlossen' eintragen")
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("SendungsStatusAbklaerungTR", "AVISO") Then
btnStatusAbklaerungTR.Visible = True
End If
btnStatusVorbereitetQS.Visible = True
btnStatusVorgeschrieben.Visible = True
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("SendungsStatusAbfertigungTR", "AVISO") Then
btnStatusAbfertigungTR.Visible = True
End If
btnSpeditionsbuchEintragen.Visible = True
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("SendungsStatusFakturiert", "AVISO") Then
btnSendungFakturiert.Visible = True
End If
btnStatusAbgeschlossen.Visible = False
'---------
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbklaerungTR IsNot Nothing Then
btnStatusAbklaerungTR.BackgroundImage = My.Resources.abklaerungTR_Aktiv
Dim username = SQL.DLookup("mit_username", "tblMitarbeiter", "mit_id='" & If(SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbklaerungTR_MA, -1) & "'", "ADMIN", "-")
setTooltioBtn(btnStatusAbklaerungTR, "Status 'Abklärung TR' entfernen" & vbNewLine & "(" & CDate(SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbklaerungTR).ToString("dd.MM.yyyy HH:mm") & "," & username & ")")
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Vorbereitet IsNot Nothing Then
btnStatusVorbereitetQS.BackgroundImage = My.Resources.statusBtn_vorbereitet_Aktiv
Dim username = SQL.DLookup("mit_username", "tblMitarbeiter", "mit_id='" & If(SENDUNG_LIST(CURRENT_INDEX).tblSnd_QS_MA, -1) & "'", "ADMIN", "-")
setTooltioBtn(btnStatusVorbereitetQS, "Status 'Vorbereitet-QS' entfernen" & vbNewLine & "(" & CDate(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Vorbereitet).ToString("dd.MM.yyyy HH:mm") & "," & username & ")")
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Vorgeschrieben IsNot Nothing Then
btnStatusVorgeschrieben.BackgroundImage = My.Resources.statusBtn_vorgeschrieben_Aktiv
Dim username = SQL.DLookup("mit_username", "tblMitarbeiter", "mit_id='" & If(SENDUNG_LIST(CURRENT_INDEX).tblSnd_VG_MA, -1) & "'", "ADMIN", "-")
setTooltioBtn(btnStatusVorgeschrieben, "Status 'Vorgeschrieben' entfernen" & vbNewLine & "(" & CDate(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Vorgeschrieben).ToString("dd.MM.yyyy HH:mm") & "," & username & ")")
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbfertigungTR IsNot Nothing Then
btnStatusAbfertigungTR.BackgroundImage = My.Resources.abfetigungTR_aktiv
Dim username = SQL.DLookup("mit_username", "tblMitarbeiter", "mit_id='" & If(SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbfertigungTR_MA, -1) & "'", "ADMIN", "-")
setTooltioBtn(btnStatusAbfertigungTR, "Status 'Abklärung TR' entfernen" & vbNewLine & "(" & CDate(SENDUNG_LIST(CURRENT_INDEX).tblSnd_AbfertigungTR).ToString("dd.MM.yyyy HH:mm") & "," & username & ")")
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen Then
btnStatusAbklaerungTR.BackgroundImage = My.Resources.speditionsbuchAktiv
setTooltioBtn(btnStatusAbklaerungTR, "Status 'Speditionsbuch Eingetragen' entfernen")
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Fakturiert Then
btnStatusAbklaerungTR.BackgroundImage = My.Resources.fakturiertAktiv
setTooltioBtn(btnStatusAbklaerungTR, "Status 'Fakturiert' entfernen")
End If
'If SENDUNG_LIST(CURRENT_INDEX).abgeschlossen Then
' btnStatusAbgeschlossen.BackgroundImage = My.Resources.ok '-> Logik einbauen
' setTooltioBtn(btnStatusAbklaerungTR, "Status 'Abgeschlossen' aufheben")
'End If
lblStatus.Text = VERAG_PROG_ALLGEMEIN.cGlobal.getSNDStatusText(SENDUNG_LIST(CURRENT_INDEX).tblSnd_Status)
Select Case SENDUNG_LIST(CURRENT_INDEX).tblSnd_Status
'Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_Ankunft
' pnlStatus.BackColor = usrcntlAktDetails.btnAnkunft.BackColor
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_Erfasst : pnlStatus.BackColor = Color.Red
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_InBearbeitung : pnlStatus.BackColor = Color.Orange
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_Eingereicht : pnlStatus.BackColor = Color.LightSeaGreen
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_Ueberlassen : pnlStatus.BackColor = Color.Green
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_NichtEingetroffen : pnlStatus.BackColor = Color.FromArgb(64, 64, 64)
Case VERAG_PROG_ALLGEMEIN.cGlobal.SND_Status_Ankunft : pnlStatus.BackColor = Color.Blue
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen
lblStatus.Text = "NICHT EINGETR." : pnlStatus.BackColor = Color.Gray 'btnNichtEingetroffen.BackColor
End Select
End Sub
Sub setTooltioBtn(btn As Button, tooltiptext As String)
Dim tt As New ToolTip() : tt.SetToolTip(btn, tooltiptext)
End Sub
Sub setVorpapiere()
cboVorpapier.Text = SENDUNG_LIST(CURRENT_INDEX).tblSnd_Vorpapier
@@ -1878,13 +2018,31 @@ Public Class frmSendungsdetailsNEU
If s.tblSnd_Gewicht IsNot Nothing AndAlso IsNumeric(s.tblSnd_Gewicht.Replace("kg", "").Trim) Then gesGewicht += s.tblSnd_Gewicht
Next
lblGesColli.Text = If(gesColli = 0, "-", gesColli.ToString("N0")) & " Pk"
lblgesGewicht.Text = If(gesGewicht = 0, "-", gesGewicht.ToString("N1")) & " kg"
'lblGesColli.Text = If(gesColli = 0, "-", gesColli.ToString("N0")) & " Pk"
'lblgesGewicht.Text = If(gesGewicht = 0, "-", gesGewicht.ToString("N1")) & " kg"
lblGesColli.Text = If(gesColli = 0, "-", gesColli.ToString("N0")) & " Pk" & If(gesGewicht = 0, "-", ", " & gesGewicht.ToString("N1")) & " kg"
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Sub initZuteilung()
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_AvisoID >= 0 Then
lblSND_Zuteilg.Text = "LKW zugeteilt:"
lblSND_ZuteilgAvisoId.Text = SENDUNG_LIST(CURRENT_INDEX).tblSnd_AvisoID.ToString
picSND_Zuteilg.BackgroundImage = My.Resources.SND_verbinden
btnSND_Zuteilg.Text = "Von LKW lösen"
Else
lblSND_Zuteilg.Text = "Sendung gelöst"
lblSND_ZuteilgAvisoId.Text = "-"
picSND_Zuteilg.BackgroundImage = My.Resources.SND_loesen
btnSND_Zuteilg.Text = "LKW zuordnen"
End If
End Sub
Sub binddata(o As Object, bindingParam As String, bindingSource As BindingSource, dataName As String, Optional bindingNullValue As Object = Nothing, Optional formatString As String = "")
o.DataBindings.Clear()
' If bindingNullValue = Nothing Then bindingNullValue = DBNull.Value
@@ -1997,7 +2155,7 @@ Public Class frmSendungsdetailsNEU
SENDUNG_LIST(CURRENT_INDEX).tblSnd_Colli = txtColli.Text
SENDUNG_LIST(CURRENT_INDEX).tblSnd_Gewicht = txtGewicht.Text
SENDUNG_LIST(CURRENT_INDEX).tblSnd_Warenbezeichnung = rtbWarenbezeichnung.Text
SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen = cbxSpedBuch.Checked
' SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen = cbxSpedBuch.Checked
' SENDUNG_LIST(CURRENT_INDEX).tblSnd_aufschub = cboAufschub._value
' MsgBox(CURRENT_INDEX & " _ " & txtColli.Text)
@@ -2357,7 +2515,7 @@ Public Class frmSendungsdetailsNEU
Return b
End Function
Private Sub btn_Click_1(sender As Object, e As EventArgs) Handles btnSpedBuch.Click
Private Sub btn_Click_1(sender As Object, e As EventArgs)
'loadDataInLIST()
If Not SAVE_ME() Then
@@ -2378,8 +2536,8 @@ Public Class frmSendungsdetailsNEU
txtUnterNr.Text = posnr.UnterNr
'cbxSpedBuch.Checked = (posnr.Filiale > 0 And posnr.Abfertigungsnummer > 0 And posnr.UnterNr >= 0) ' Wenn Sped Eintrag gelöscht-> - 1, dann ist der Eintrag nicht mehr vorhanden
Dim vorhanden = ADMIN.getValueTxtBySql("SELECT COUNT(*) FROM [Speditionsbuch] WHERE [FilialenNr]='" & cboFiliale._value & "' AND AbfertigungsNr='" & txtAbfertigungsnummer.Text & "'", "FMZOLL") ' AND UnterNr='" & txtUnterNr.Text & "'
cbxSpedBuch.Checked = (vorhanden > 0)
'cbxSpedBuch.Checked = (vorhanden > 0)
SENDUNG_LIST(CURRENT_INDEX).tblSnd_SpeditionsbuchEingetragen = (vorhanden > 0)
End If
@@ -2774,7 +2932,7 @@ Public Class frmSendungsdetailsNEU
End Sub
Private Sub cbxSpedBuch_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSpedBuch.CheckedChanged
Private Sub cbxSpedBuch_CheckedChanged(sender As Object, e As EventArgs)
cboFiliale.Enabled = Not sender.checked
txtAbfertigungsnummer.Enabled = Not sender.checked
txtUnterNr.Enabled = Not sender.checked
@@ -3245,7 +3403,7 @@ Public Class frmSendungsdetailsNEU
Dim AbfertigungsNr = txtAbfertigungsnummer.Text
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Fremdspedition Then Return False
If Filiale Is Nothing Or AbfertigungsNr Is Nothing Then Return False
If cbxSpedBuch.Checked Then Return False
'If cbxSpedBuch.Checked Then Return False
If IsNumeric(Filiale) And IsNumeric(AbfertigungsNr) Then
If SDL.cRKSV.SpedBuchExists(Filiale, AbfertigungsNr) Then
Return True
@@ -3338,7 +3496,7 @@ Public Class frmSendungsdetailsNEU
' TabControl1.Enabled = Not sperren
Panel6.Enabled = Not sperren
Panel16.Enabled = Not sperren
btnSpedBuch.Enabled = Not sperren
'btnSpedBuch.Enabled = Not sperren
' Panel5.Enabled = Not sperren
' cboAbfertigungsart.Enabled = Not sperren
txtAnzahl.Enabled = Not sperren
@@ -7899,4 +8057,62 @@ Public Class frmSendungsdetailsNEU
initAnhang()
End If
End Sub
Private Sub btnSND_Zuteilg_Click(sender As Object, e As EventArgs) Handles btnSND_Zuteilg.Click
MsgBox("TODO")
End Sub
Private Sub btnStatusAbklaerungTR_Click(sender As Object, e As EventArgs) Handles btnStatusAbklaerungTR.Click
Me.Cursor = Cursors.WaitCursor
If AVISOFUNC.setSendungAbklaerungTR(SendungsId, AvisoId) Then
initDataBinding()
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnStatusVorbereitetQS_Click(sender As Object, e As EventArgs) Handles btnStatusVorbereitetQS.Click
Me.Cursor = Cursors.WaitCursor
If AVISOFUNC.setSendungVorbereitetQS(SendungsId, AvisoId) Then
initDataBinding()
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnStatusVorgeschrieben_Click(sender As Object, e As EventArgs) Handles btnStatusVorgeschrieben.Click
Me.Cursor = Cursors.WaitCursor
If AVISOFUNC.setSendungVorgeschrieben(SendungsId, AvisoId) Then
initDataBinding()
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnStatusAbfertigungTR_Click(sender As Object, e As EventArgs) Handles btnStatusAbfertigungTR.Click
Me.Cursor = Cursors.WaitCursor
If AVISOFUNC.setSendungAbfertigungTR(SendungsId, AvisoId) Then
initDataBinding()
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnSpeditionsbuchEintragen_Click(sender As Object, e As EventArgs) Handles btnSpeditionsbuchEintragen.Click
Me.Cursor = Cursors.WaitCursor
If Not cbxFremdspedition.Checked Then
If AVISOFUNC.setSendungFakturiert(SendungsId, AvisoId) Then
initDataBinding()
End If
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnSendungFakturiert_Click(sender As Object, e As EventArgs) Handles btnSendungFakturiert.Click
Me.Cursor = Cursors.WaitCursor
If AVISOFUNC.setSendungFakturiert(SendungsId, AvisoId) Then
initDataBinding()
End If
Me.Cursor = Cursors.Default
End Sub
Private Sub btnStatusAbgeschlossen_Click(sender As Object, e As EventArgs) Handles btnStatusAbgeschlossen.Click
'''
End Sub
End Class