update
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
|
||||
Imports AVISO.AvisoStatusFunctions
|
||||
Imports SDL
|
||||
|
||||
Imports System.Configuration
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports System.Net.Mail
|
||||
Imports System.Text
|
||||
Imports Newtonsoft.Json
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
Imports AVISO.AvisoStatusFunctions
|
||||
Public Class frmAddSendungsvermerkShort
|
||||
|
||||
Dim AvisoDAL As New cAvisoDAL
|
||||
@@ -15,6 +21,9 @@ Public Class frmAddSendungsvermerkShort
|
||||
Public SendungID As Integer = -1
|
||||
Public AvisoID As Integer = -1
|
||||
|
||||
Private _anforderungCheckboxes As New List(Of CheckBox)
|
||||
Private _backendBezeichnungByCodeId As New Dictionary(Of Integer, String)
|
||||
Private Const BereichAngefordert As Integer = 2
|
||||
|
||||
Dim txtSendung As New TextBox
|
||||
|
||||
@@ -31,7 +40,7 @@ Public Class frmAddSendungsvermerkShort
|
||||
End Sub
|
||||
|
||||
Private Sub frmEintragVermerk_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
||||
'Escape händisch abfangen und auf Abbruch-Taste legen
|
||||
'Escape händisch abfangen und auf Abbruch-Taste legen
|
||||
If e.KeyCode = Keys.Escape Then
|
||||
' btnAbbruch.PerformClick()
|
||||
Me.Close()
|
||||
@@ -59,16 +68,18 @@ Public Class frmAddSendungsvermerkShort
|
||||
End Sub
|
||||
|
||||
Private Sub frmEintragVermerk_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein._TRANSLATE(Me)
|
||||
'cboDokumente.Items.Clear()
|
||||
' cboDokumente.Items.Add(New MyListItem("nachgefordert", CStr(0)))
|
||||
'cboDokumente.Items.Add(New MyListItem("erhalten", CStr(1)))
|
||||
'cboDokumente.SelectedIndex = 0
|
||||
|
||||
Me.CenterToParent()
|
||||
If My.Computer.Screen.WorkingArea.Height < Me.Height Then
|
||||
Me.Height = My.Computer.Screen.WorkingArea.Height
|
||||
Dim pt As Point = Cursor.Position
|
||||
Dim screenBounds As Rectangle = Screen.FromPoint(pt).WorkingArea
|
||||
If pt.X + Me.Width > screenBounds.Right Then
|
||||
pt.X = screenBounds.Right - Me.Width
|
||||
End If
|
||||
If pt.Y + Me.Height > screenBounds.Bottom Then
|
||||
pt.Y = screenBounds.Bottom - Me.Height
|
||||
End If
|
||||
Me.Location = pt
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein._TRANSLATE(Me)
|
||||
|
||||
For Each c In Me.Controls
|
||||
If c.GetType.Name.ToString = "RadioButton" Then
|
||||
AddHandler DirectCast(c, RadioButton).CheckedChanged, AddressOf selectionChanged
|
||||
@@ -92,6 +103,9 @@ Public Class frmAddSendungsvermerkShort
|
||||
Else
|
||||
optSendungInVorbereitung.Visible = False
|
||||
End If
|
||||
|
||||
SetupDynamicAnforderungCheckboxes()
|
||||
|
||||
'bereits vorhandene Vermerke laden
|
||||
'txtInfo.Text = VermerkeDAL.Vermerke_einlesen(myAviso.AvisoID)
|
||||
Me.Text = "AKT " & myAviso.LKW_Nr & ""
|
||||
@@ -119,6 +133,81 @@ Public Class frmAddSendungsvermerkShort
|
||||
' Me.Close()
|
||||
' End Sub
|
||||
|
||||
Private Sub SetupDynamicAnforderungCheckboxes()
|
||||
_anforderungCheckboxes.Clear()
|
||||
_backendBezeichnungByCodeId.Clear()
|
||||
|
||||
Dim dt As DataTable = Nothing
|
||||
Try
|
||||
dt = AvisoDAL.loadDataTableBySQL("SELECT [VermerkCodeId],[Bezeichnung],[FrontendBezeichnung],[AnforderungBereich] FROM [VermerkeCodes] WHERE [Anforderung]=1 ORDER BY [Bezeichnung]")
|
||||
Catch
|
||||
Try
|
||||
dt = AvisoDAL.loadDataTableBySQL("SELECT [VermerkCodeId],[Bezeichnung],[AnforderungBereich] FROM [VermerkeCodes] WHERE [Anforderung]=1 ORDER BY [Bezeichnung]")
|
||||
Catch
|
||||
Return
|
||||
End Try
|
||||
End Try
|
||||
|
||||
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
||||
Return
|
||||
End If
|
||||
|
||||
flpAngefordert.Controls.Clear()
|
||||
|
||||
For Each row As DataRow In dt.Rows
|
||||
Dim id As Integer
|
||||
Try
|
||||
id = CInt(row("VermerkCodeId"))
|
||||
Catch
|
||||
Continue For
|
||||
End Try
|
||||
|
||||
Dim bezeichnung = If(IsDBNull(row("Bezeichnung")), "", CStr(row("Bezeichnung"))).Trim()
|
||||
If bezeichnung = "" Then Continue For
|
||||
_backendBezeichnungByCodeId(id) = bezeichnung
|
||||
|
||||
Dim frontendBezeichnung = bezeichnung
|
||||
If dt.Columns.Contains("FrontendBezeichnung") Then
|
||||
frontendBezeichnung = If(IsDBNull(row("FrontendBezeichnung")), "", CStr(row("FrontendBezeichnung"))).Trim()
|
||||
If frontendBezeichnung = "" Then frontendBezeichnung = bezeichnung
|
||||
End If
|
||||
|
||||
Dim bereich As Integer = BereichAngefordert
|
||||
Try
|
||||
If Not IsDBNull(row("AnforderungBereich")) Then
|
||||
bereich = CInt(row("AnforderungBereich"))
|
||||
End If
|
||||
Catch
|
||||
End Try
|
||||
|
||||
If bereich = BereichAngefordert Then
|
||||
Dim cb As New CheckBox()
|
||||
cb.Text = frontendBezeichnung
|
||||
cb.Tag = id
|
||||
cb.Margin = New Padding(0, 0, 4, 0)
|
||||
|
||||
ConfigureAnforderungCheckbox(cb, flpAngefordert)
|
||||
flpAngefordert.Controls.Add(cb)
|
||||
_anforderungCheckboxes.Add(cb)
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub ConfigureAnforderungCheckbox(cb As CheckBox, container As Control)
|
||||
If cb Is Nothing OrElse container Is Nothing Then Return
|
||||
|
||||
cb.AutoSize = False
|
||||
cb.Height = 18
|
||||
|
||||
Dim cols As Integer = 2
|
||||
Dim colGap As Integer = 14
|
||||
Dim minCbWidth As Integer = 180
|
||||
|
||||
Dim usableWidth = Math.Max(120, container.Width - 20)
|
||||
Dim cbWidth = CInt(Math.Floor((usableWidth - ((cols - 1) * colGap)) / cols))
|
||||
cb.Width = Math.Max(minCbWidth, Math.Min(cbWidth, 220))
|
||||
End Sub
|
||||
|
||||
Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtFreierText.GotFocus, txtSpedition.GotFocus
|
||||
CType(sender, TextBox).SelectAll()
|
||||
End Sub
|
||||
@@ -145,8 +234,7 @@ Public Class frmAddSendungsvermerkShort
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'Plausibilität prüfen
|
||||
'Plausibilität prüfen
|
||||
If optFreierText.Checked Then
|
||||
If txtFreierText.Text.Trim = "" Then
|
||||
showErr(lblErrGrund)
|
||||
@@ -156,44 +244,32 @@ Public Class frmAddSendungsvermerkShort
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtFreierText.Text.Trim & " - offen", 101)
|
||||
End If
|
||||
|
||||
If cbxAuftrag.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Auftrag für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 1)
|
||||
If cbxRechnung.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Rechnung für Sendung '" & txtSendung.Text.Trim & "' fehlt / mangelhaft - angefordert", 3)
|
||||
If cbxLS.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Lieferschein für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 5)
|
||||
If cbxATR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "ATR für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 7)
|
||||
If cbxVollmacht.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Vollmacht für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 9)
|
||||
If cbxCMR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "CMR bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 11)
|
||||
If cbxPackliste.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Packliste bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 90)
|
||||
If cbxRgBest.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Rechnungsbestätigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 55)
|
||||
If optGewPackAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Gewicht/Packstücke bei Sendung '" & txtSendung.Text.Trim & "' mangelhaft - angefordert", 103)
|
||||
If optZolltarifnummerAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Zolltarifnummer bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 105)
|
||||
If optKostenbestaetigungAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kostenbestaetigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 107)
|
||||
For Each cb In _anforderungCheckboxes
|
||||
If cb IsNot Nothing AndAlso cb.Checked Then
|
||||
Dim codeId As Integer = 0
|
||||
If Integer.TryParse(If(cb.Tag, "").ToString(), codeId) Then
|
||||
Dim text = ""
|
||||
If _backendBezeichnungByCodeId.ContainsKey(codeId) Then
|
||||
text = If(_backendBezeichnungByCodeId(codeId), "").Trim()
|
||||
End If
|
||||
If text = "" Then text = cb.Text.Trim()
|
||||
|
||||
If optFrachtkostenAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Frachtkosten bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 74)
|
||||
If optAbsenderbestätigung.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Absenderbestätigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 76)
|
||||
Dim sendText = txtSendung.Text.Trim()
|
||||
If text <> "" AndAlso sendText <> "" AndAlso InStr(text, "sendung", CompareMethod.Text) = 0 Then
|
||||
text &= " bei Sendung '" & sendText & "'"
|
||||
End If
|
||||
|
||||
If text <> "" Then
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, text, codeId)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If optKundeNichtErreichbar.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kunde bei Sendung '" & txtSendung.Text.Trim & "' nicht erreichbar", 70)
|
||||
If optFahrerKeinATR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Fahrer ohne A.TR bei Sendung '" & txtSendung.Text.Trim & "'", 71)
|
||||
If optFremd_ATB.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "ATB von Fremdeinsteller erhalten bei Sendung '" & txtSendung.Text.Trim & "' ", 72)
|
||||
If optFremd_SendungAvisiert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' an Fremdeinsteller avisiert", 73)
|
||||
' If optSndUmmelden.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' umgemeldet", 94)
|
||||
If optDraft.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "T2 Draft OK bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 118)
|
||||
|
||||
|
||||
If optUeberwachungsdok.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Ü-Dok bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 53)
|
||||
|
||||
If cbxSonstDok.Checked Then
|
||||
If txtSonstigesDokumentFehlt.Text.Trim = "" Then
|
||||
showErr(lblErrDokument) : txtSonstigesDokumentFehlt.Focus() : Return False
|
||||
End If
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, "Dokument '" & txtSonstigesDokumentFehlt.Text.Trim & "' fehlt - angefordert.", 25)
|
||||
End If
|
||||
|
||||
If cbxNichtLeserlich.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Dokument(e) nachgefordert, da nicht leserlich.", 42)
|
||||
|
||||
|
||||
If optVorkasseAngefordert.Checked = True Then
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, "Vorauskasse bei Sendung '" & txtSendung.Text.Trim & "' angefordert", 13)
|
||||
End If
|
||||
If optSpeditionWeitergeleitet.Checked = True Then
|
||||
If txtSpedition.Text.Trim = "" Then
|
||||
showErr(lblErrSpedition)
|
||||
@@ -206,9 +282,6 @@ Public Class frmAddSendungsvermerkShort
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' in Vorbereitung.", 31)
|
||||
VermerkeDAL.UpdateSendungVorbereitet(AvisoID, SendungID, VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID, True)
|
||||
End If
|
||||
If optKontaktdatenAngefordert.Checked = True Then
|
||||
insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kontaktdaten bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 36)
|
||||
End If
|
||||
' If optSendungVorbereitet.Checked = True Then
|
||||
'insertSendungsVermerk(SendungID,myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' Vorbereitung abgeschlossen.", 32)
|
||||
' VermerkeDAL.UpdateSendungVorbereitet(AvisoID, SendungID, VERAG_PROG_ALLGEMEIN.cglobal.AktiverMitarbeiter.MitarbeiterID, False)
|
||||
@@ -275,7 +348,6 @@ Public Class frmAddSendungsvermerkShort
|
||||
End Sub
|
||||
|
||||
Sub showErr(l As Label)
|
||||
lblErrDokument.Visible = False
|
||||
' lblErrFach.Visible = False
|
||||
lblErrGrund.Visible = False
|
||||
' lblErrSendungProbleme.Visible = False
|
||||
@@ -299,13 +371,11 @@ Public Class frmAddSendungsvermerkShort
|
||||
' optDokumente.Checked = True
|
||||
'End Sub
|
||||
|
||||
Private Sub cbxAuftrag_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAuftrag.CheckedChanged, cbxRechnung.CheckedChanged, cbxLS.CheckedChanged,
|
||||
cbxCMR.CheckedChanged, cbxATR.CheckedChanged, cbxVollmacht.CheckedChanged, cbxSonstDok.CheckedChanged, cbxNichtLeserlich.CheckedChanged, cbxPackliste.CheckedChanged
|
||||
Private Sub cbxAuftrag_CheckedChanged(sender As Object, e As EventArgs)
|
||||
' optDokumente.Checked = True
|
||||
End Sub
|
||||
Private Sub SonstChanged(sender As Object, e As EventArgs) Handles txtSonstigesDokumentFehlt.TextChanged
|
||||
Private Sub SonstChanged(sender As Object, e As EventArgs)
|
||||
' optDokumente.Checked = True
|
||||
cbxSonstDok.Checked = (sender.text <> "")
|
||||
End Sub
|
||||
Private Sub txtSendungSpedition_TextChanged(sender As Object, e As EventArgs) Handles txtSendungSpedition.TextChanged, txtSpedition.TextChanged
|
||||
optSpeditionWeitergeleitet.Checked = True
|
||||
@@ -327,18 +397,51 @@ Public Class frmAddSendungsvermerkShort
|
||||
|
||||
|
||||
Private Sub frmAddSendungsvermerk_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
Dim p = Cursor.Position
|
||||
If (p.X + Me.Width) > My.Computer.Screen.WorkingArea.Width Then p.X = My.Computer.Screen.WorkingArea.Width - Me.Width
|
||||
If (p.Y + Me.Height) > My.Computer.Screen.WorkingArea.Height Then p.Y = My.Computer.Screen.WorkingArea.Height - Me.Height
|
||||
Me.Location = p '.Me.PointToClient(System.Cursor.Position)
|
||||
txtSendung.SelectionLength = 0
|
||||
cbxAuftrag.Focus()
|
||||
txtFreierText.Focus()
|
||||
End Sub
|
||||
Private drag As Boolean
|
||||
Private mouseX As Integer
|
||||
Private mouseY As Integer
|
||||
|
||||
Private Sub Form_MouseDown(sender As Object, e As MouseEventArgs) Handles lblDragIndicator.MouseDown
|
||||
If e.Button = MouseButtons.Left Then
|
||||
drag = True
|
||||
mouseX = Cursor.Position.X - Me.Left
|
||||
mouseY = Cursor.Position.Y - Me.Top
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Form_MouseMove(sender As Object, e As MouseEventArgs) Handles lblDragIndicator.MouseMove
|
||||
If drag Then
|
||||
Me.Top = Cursor.Position.Y - mouseY
|
||||
Me.Left = Cursor.Position.X - mouseX
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Form_MouseUp(sender As Object, e As MouseEventArgs) Handles lblDragIndicator.MouseUp
|
||||
drag = False
|
||||
End Sub
|
||||
' ----------------------
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCLose.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub btnDokumtanforderung_Click(sender As Object, e As EventArgs) Handles btnDokumtanforderung.Click
|
||||
Dim resolvedAvisoId As Integer = AvisoID
|
||||
If resolvedAvisoId <= 0 AndAlso myAviso IsNot Nothing AndAlso IsNumeric(myAviso.AvisoID) Then
|
||||
resolvedAvisoId = CInt(myAviso.AvisoID)
|
||||
End If
|
||||
Dim resolvedSendungId As Integer = SendungID
|
||||
Using frm As New frmSendungsDokumentanforderung(resolvedAvisoId, resolvedSendungId, Nothing)
|
||||
If frm.ShowDialog(Me) = DialogResult.OK Then
|
||||
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(myAviso.AvisoID)
|
||||
Me.Close()
|
||||
End If
|
||||
End Using
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs)
|
||||
If insertVermerke() Then
|
||||
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(myAviso.AvisoID, SendungID, 1, "T", 13, , 1)
|
||||
|
||||
Reference in New Issue
Block a user