Files
AVISO/Aviso/frmAddSendungsvermerkShort.vb

345 lines
16 KiB
VB.net

Imports VERAG_PROG_ALLGEMEIN
Imports AVISO.AvisoStatusFunctions
Public Class frmAddSendungsvermerkShort
Dim AvisoDAL As New cAvisoDAL
Dim ADMIN As New cADMIN
Dim myAviso As New cAviso
Dim VermerkeDAL As New cVermerkeDAL
Dim aktChanged As Boolean = False
Dim Neuanlage As Boolean = False
Dim hStatus As Integer
Public SendungID As Integer = -1
Public AvisoID As Integer = -1
Dim txtSendung As New TextBox
Public Sub New()
InitializeComponent()
Icon = cMeineFunktionenAVISO.GetProgrammIcon
End Sub
Public Sub New(AvisoID, SendungID)
InitializeComponent()
Me.AvisoID = AvisoID
Me.SendungID = SendungID
Icon = cMeineFunktionenAVISO.GetProgrammIcon
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
If e.KeyCode = Keys.Escape Then
' btnAbbruch.PerformClick()
Me.Close()
End If
If e.KeyCode = Keys.Return Then
btnOK.PerformClick()
End If
End Sub
Dim listentoCheckChange As Boolean = True
Sub selectionChanged(sender As Object, e As EventArgs)
If listentoCheckChange Then
listentoCheckChange = False
For Each c In Me.Controls
If c.GetType.Name.ToString = "RadioButton" Then
' DirectCast(c, RadioButton).Checked = False
End If
Next
' DirectCast(sender, RadioButton).Checked = True
listentoCheckChange = True
End If
End Sub
Private Sub frmEintragVermerk_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'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
End If
For Each c In Me.Controls
If c.GetType.Name.ToString = "RadioButton" Then
AddHandler DirectCast(c, RadioButton).CheckedChanged, AddressOf selectionChanged
End If
Next
myAviso = AvisoDAL.LesenAviso(AvisoID, "")
If SendungID > 0 Then
txtSendung.Text = ADMIN.getValueTxtBySql(" SELECT convert(varchar(2),[tblSnd_PosUnterNr]) +' - ' +isnull([tblSnd_Empfaenger],'') FROM tblSendungen WHERE [tblSnd_SendungID]=" & SendungID & "", "AVISO")
Else
txtSendung.Text = "KOMPLETT"
End If
hStatus = myAviso.Status
If hStatus = cGlobal.Status_Vorbereitet Or hStatus = cGlobal.Status_Vorgeschrieben Or hStatus = cGlobal.Status_Erfasst Then
optSendungInVorbereitung.Visible = True
If hStatus = cGlobal.Status_Vorgeschrieben Then
optSendungInVorbereitung.Visible = False
End If
Else
optSendungInVorbereitung.Visible = False
End If
'bereits vorhandene Vermerke laden
'txtInfo.Text = VermerkeDAL.Vermerke_einlesen(myAviso.AvisoID)
Me.Text = "AKT " & myAviso.LKW_Nr & ""
' optKeineAuswahl.Checked = True
' optDokumente.Focus()
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("WARENORT", "AVISO") Then
For Each c As Control In Me.Controls
Dim enabledTmp = False
If c Is btnCLose Then enabledTmp = True
If c Is optFremd_SendungAvisiert Then enabledTmp = True
If c Is optFremd_ATB Then enabledTmp = True
If c Is optATAangefordert Then enabledTmp = True
If c Is txtDetail Then enabledTmp = True
If c Is btnOK Then enabledTmp = True
c.Enabled = enabledTmp
Next
End If
End Sub
' Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click
' Me.Close()
' End Sub
Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtFreierText.GotFocus, txtSpedition.GotFocus
CType(sender, TextBox).SelectAll()
End Sub
Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click
If insertVermerke() Then
'Jetzt wird Fenster geschlossen
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(myAviso.AvisoID)
Me.Close()
End If
End Sub
Function insertVermerke() As Boolean
If txtDetail.Text <> "" Then
If txtDetail.Text.Length > 240 Then
showErr(lblErr240Zeichen)
txtDetail.Focus()
Return False
End If
End If
'Plausibilität prüfen
If optFreierText.Checked Then
If txtFreierText.Text.Trim = "" Then
showErr(lblErrGrund)
txtFreierText.Focus()
Return False
End If
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtFreierText.Text.Trim, 47)
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 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)
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 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)
txtSpedition.Focus()
Return False
End If
insertSendungsVermerk(SendungID, myAviso.AvisoID, "Fahrer muss die Sendung bei '" & txtSpedition.Text.Trim & "' abfertigen - weitergeleitet", 28)
End If
If optSendungInVorbereitung.Checked = True Then
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)
'End If
If optATAangefordert.Checked = True Then
insertSendungsVermerk(SendungID, myAviso.AvisoID, "ATA/ATC-Nr. bei Sendung " & txtSendung.Text.Trim & " - angefordert", 33)
' ElseIf optATAerhalten.Checked = True Then
' If txtSendung.Text.Trim = "" Then
'showErr(lblErrSendungProbleme)
' txtSendung.Focus()
' Return False
' End If
'insertSendungsVermerk(SendungID,myAviso.AvisoID,"ATA-Nr. bei Sendung " & txtSendung.Text.Trim & " erhalten", 34)
End If
'If cbxDispoliste.Checked = True Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Dispoliste bei " & txtSendung.Text.Trim & " angefordert", 57)
'If optFach.Checked = True Then
' If txtFach.Text.Trim = "" Then
' showErr(lblErrFach)
' txtFach.Focus()
' Return False
' End If
' insertSendungsVermerk(SendungID,myAviso.AvisoID, "Akt liegt im Fach '" & txtFach.Text.Trim & "'", 35)
'End If
If txtDetail.Text <> "" Then
If txtDetail.Text.Length <= 80 Then
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text, 46)
ElseIf txtDetail.Text.Length <= 160 Then
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text.Substring(0, 80), 46)
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text.Substring(80, 80), 46)
ElseIf txtDetail.Text.Length <= 240 Then
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text.Substring(0, 80), 46)
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text.Substring(80, 80), 46)
insertSendungsVermerk(SendungID, myAviso.AvisoID, txtDetail.Text.Substring(160, 80), 46)
End If
End If
Return True
End Function
Sub insertVermerk(Text As String, VermerkCodeId As Integer, Optional Beschreibung As String = "")
'Daten zuweisen und speichern
Dim myVermerk As New cVermerk
myVermerk.VermerkID = 0
myVermerk.AvisoID = myAviso.AvisoID
myVermerk.Datum = Now
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter
myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
myVermerk.Hinweis_Vermerk = Text
myVermerk.VermerkCodeId = VermerkCodeId
myVermerk.VermerkArt = "A"
VermerkeDAL.SpeichernVermerk(myVermerk)
If myVermerk.VermerkCodeId = 18 Then
VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False)
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(myVermerk.AvisoID)
End If
End Sub
Sub showErr(l As Label)
lblErrDokument.Visible = False
' lblErrFach.Visible = False
lblErrGrund.Visible = False
' lblErrSendungProbleme.Visible = False
' lblErrSendungSpedition.Visible = False
'lblErrSendungVorbereitung.Visible = False
lblErrSpedition.Visible = False
l.Visible = True
End Sub
Private Sub txtFreierText_TextChanged(sender As Object, e As EventArgs) Handles txtFreierText.TextChanged
If txtFreierText.Text <> "" Then
optFreierText.Checked = True
End If
End Sub
' Private Sub cboDokumente_SelectedIndexChanged(sender As Object, e As EventArgs)
' cboDokumente.SelectedIndex = CInt(Not cboDokumente.SelectedIndex = 0) + 1
' cbxAuftrag.Focus()
' 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
' optDokumente.Checked = True
End Sub
Private Sub SonstChanged(sender As Object, e As EventArgs) Handles txtSonstigesDokumentFehlt.TextChanged
' 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
End Sub
' Private Sub txtFach_TextChanged(sender As Object, e As EventArgs)
' optFach.Checked = True
' End Sub
Private Sub txtDetail_TextChanged(sender As Object, e As EventArgs) Handles txtDetail.TextChanged
If txtDetail.Text.Length = 240 Then
showErr(lblErr240Zeichen)
End If
End Sub
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()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCLose.Click
Me.Close()
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)
insertSendungsVermerk(SendungID, myAviso.AvisoID, "In die Neukunden-Abteilung gegeben.", 46)
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(myAviso.AvisoID)
Me.Close()
End If
End Sub
End Class