Imports System.ComponentModel Imports VERAG_PROG_ALLGEMEIN Public Class frmAddAktenvermerkShort Dim AvisoDAL As New cAvisoDAL Dim myAviso As New cAviso Dim VermerkeDAL As New cVermerkeDAL Dim aktChanged As Boolean = False Dim FUNC As New AvisoStatusFunctions Dim Neuanlage As Boolean = False Dim hStatus As Integer Public AvisoID As Integer = -1 Public Sub New() InitializeComponent() Icon = cMeineFunktionenAVISO.GetProgrammIcon End Sub Public Sub New(AvisoID) InitializeComponent() Me.AvisoID = AvisoID 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 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 For Each c In Me.Controls If c.GetType.Name.ToString = "RadioButton" Then AddHandler DirectCast(c, RadioButton).CheckedChanged, AddressOf selectionChanged End If Next optKeineAuswahl.Checked = True 'Daten zu Aviso werden geladen myAviso = AvisoDAL.LesenAviso(AvisoID, "") 'Werte(zuweisen) optKeineAuswahl.Checked = True btnVorgeschrieben.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("STATUS_Vorgeschrieben", Me.FindForm) btnVorbereitet.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("STATUS_VorbQS", Me.FindForm) btnErfasst.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("STATUS_Erfasst", Me.FindForm) Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim de = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=17", "AVISO") - SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=18", "AVISO") Dim dedigital = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=82", "AVISO") - SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=83", "AVISO") Dim at = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=19", "AVISO") - SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Vermerke] where avisoid=" & AvisoID & " and VermerkeCode=20", "AVISO") If at > 0 Then btnZollATEingereicht.BackColor = Color.Green btnZollATEingereicht.ForeColor = Color.White btnZollATEingereicht.Tag = "SWITCH" btnZollATEingereicht.FlatAppearance.BorderColor = Color.Black btnZollATEingereicht.Text = "Zoll AT " & vbNewLine & "fertig" End If If de > 0 Then btnZollDEEingereicht.BackColor = Color.Green btnZollDEEingereicht.ForeColor = Color.White btnZollDEEingereicht.Tag = "SWITCH" btnZollDEEingereicht.FlatAppearance.BorderColor = Color.Black btnZollDEEingereicht.Text = "Zoll DE " & vbNewLine & "fertig" End If If dedigital > 0 Then btnDEZollDIGITAL.BackColor = Color.Green btnDEZollDIGITAL.ForeColor = Color.White btnDEZollDIGITAL.Tag = "SWITCH" btnDEZollDIGITAL.FlatAppearance.BorderColor = Color.Black btnDEZollDIGITAL.Text = "Zoll DE " & vbNewLine & "fertig" End If btnLKWFertig.Text = If(myAviso.LKW_fertig, "LKW nicht fertig", "LKW fertig") txtFreigabeInfo.Text = If(myAviso.Freigabe_Info, "") cntxt.Items.Clear() Dim dt = SQL.loadDgvBySql("SELECT [grz_Grenzstelle],grz_BezeichnungCBO FROM [AVISO].[dbo].[tblGrenzstelle] where grz_Cluster='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "'", "AVISO") If dt IsNot Nothing Then dt.Rows.Add({"???", "??? - andere"}) For Each r As DataRow In dt.Rows Dim it As New ToolStripMenuItem it.Text = r("grz_BezeichnungCBO").ToString it.Tag = r("grz_Grenzstelle").ToString cntxt.Items.Add(it) AddHandler it.Click, Sub() AvisoStatusFunctions.ummeldenAVISO(myAviso, it.Tag.ToString) Me.Close() End Sub Next End If 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 btnAktUebernehmen Then enabledTmp = True If c Is btnLKWUmmelden Then enabledTmp = True If c Is btnZollDEEingereicht Then enabledTmp = True If c Is txtSonstiges Then enabledTmp = True If c Is btnSonstiges Then enabledTmp = True If c Is btnAnkunft Then enabledTmp = True If c Is btnFreigabe Then enabledTmp = True If c Is btnLKWFertig Then enabledTmp = True If c Is btnLKWStandzeitWE Then enabledTmp = True If c Is btnLKWStandzeitFeierteage Then enabledTmp = True If c Is btnClose Then enabledTmp = True c.Enabled = enabledTmp Next End If End Sub Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnSpaetAvisiert.Click, btnLKWStandzeitWE.Click, btnLKWStandzeitFeierteage.Click, btnZollATEingereicht.Click, btnZollDEEingereicht.Click, btnSBG.Click, btnNKD.Click, btnWAI.Click, btnSFD.Click, btnQS.Click, btnErfasst.Click, btnVorbereitet.Click, btnVorgeschrieben.Click, btnAnkunft.Click, btnFreigabe.Click, btnNichtEingetroffen.Click, btnNichtAvisiert.Click, btnAktUebernehmen.Click, btnLKWFertig.Click, btnSonstiges.Click, btnDispoangefordert.Click, btnDEZollDIGITAL.Click, btnLKWumgemeldet.Click If sender Is Nothing Then MsgBox("Es wurde kein Vermerk ausgewählt. Der Datensatz kann nicht gespeichert werden.", vbInformation) optKeineAuswahl.Focus() Exit Sub End If Dim tmpSndId = -1 'Plausibilität prüfen If sender Is btnNichtAvisiert Then insertVermerk("Aviso nicht eingelangt", 15) ElseIf sender Is btnSpaetAvisiert Then insertVermerk("Aviso eingelangt kurz vor Eintreffen des LKWs - keine Vorbereitung möglich", 16) ElseIf sender Is btnZollDEEingereicht Then If sender.tag = "SWITCH" Then insertVermerk("DE Zoll fertig", 18) If myAviso.LKW_fertig Then VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.LKWFertig(myAviso.AvisoID) : frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) Else '-------------------------------------------------------------------------------------------------------------------------------------------------------- If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("ATDE_FISKAL_CHECKLISTE") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "AVISO") Then 'Sendungen durchlaufen und die Fiskal - Checkliste bei AT Fiskal anzeigen (je SND) Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen) VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, 0, AvisoID) 'LÄDT alle SENDUNGSDATEN If SENDUNG_LIST IsNot Nothing Then For Each SND In SENDUNG_LIST Select Case SND.tblSnd_Abfertigungsart_ID Case 28 ' --> DE FISKAL Dim f As New frmATZollEingereichtSetzen(myAviso, SND) If f.ShowDialog() = DialogResult.OK Then 'Passt scho.. AvisoStatusFunctions.insertSendungsVermerk(SND.tblSnd_SendungID, myAviso.AvisoID, "Fiskal-Checkliste - OK", 100) Else Exit Sub ' --> YOU'RE OUT! End If End Select Next End If End If '-------------------------------------------------------------------------------------------------------------------------------------------------------- insertVermerk("DE Zoll eingereicht", 17) 'If vbYes = MsgBox("Fahrer-Anweisung ""zum Zollamt gehen"" ausdrucken?", vbYesNo) Then ' Try ' Dim path = SDL.FormularManagerNEU.zumZOLL_AVISO(myAviso, "DE") ' If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, (New System.Drawing.Printing.PrinterSettings).PrinterName) ' Catch ex As Exception : MsgBox(ex.Message & ex.StackTrace) : End Try 'End If End If ElseIf sender Is btnDEZollDIGITAL Then Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL If sender.tag = "SWITCH" Then insertVermerk("DE Zoll (DIGITAL) fertig", 83) If myAviso.LKW_fertig Then VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.LKWFertig(myAviso.AvisoID) : frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) SQL.doSQL("UPDATE AVISO SET ZOLLDigitalEingereicht=0, LKW_fertig=1 where avisoid=" & AvisoID, "AVISO") AvisoStatusFunctions.printFinish(myAviso) Else '-------------------------------------------------------------------------------------------------------------------------------------------------------- If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("ATDE_FISKAL_CHECKLISTE") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "AVISO") Then 'Sendungen durchlaufen und die Fiskal - Checkliste bei AT Fiskal anzeigen (je SND) Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen) VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, 0, AvisoID) 'LÄDT alle SENDUNGSDATEN If SENDUNG_LIST IsNot Nothing Then For Each SND In SENDUNG_LIST Select Case SND.tblSnd_Abfertigungsart_ID Case 28 ' --> DE FISKAL Dim f As New frmATZollEingereichtSetzen(myAviso, SND) If f.ShowDialog() = DialogResult.OK Then 'Passt scho.. AvisoStatusFunctions.insertSendungsVermerk(SND.tblSnd_SendungID, myAviso.AvisoID, "Fiskal-Checkliste - OK", 100) Else Exit Sub ' --> YOU'RE OUT! End If End Select Next End If End If '-------------------------------------------------------------------------------------------------------------------------------------------------------- insertVermerk("DE Zoll DIGITAL eingereicht", 82) SQL.doSQL("UPDATE AVISO SET ZOLLDigitalEingereicht=1 where avisoid=" & AvisoID, "AVISO") End If frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) ElseIf sender Is btnZollATEingereicht Then If sender.tag = "SWITCH" Then insertVermerk("AT Zoll fertig", 20) If myAviso.LKW_fertig Then VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.LKWFertig(myAviso.AvisoID) : frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) Else '-------------------------------------------------------------------------------------------------------------------------------------------------------- If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("ATDE_FISKAL_CHECKLISTE") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "AVISO") Then 'Sendungen durchlaufen und die Fiskal - Checkliste bei AT Fiskal anzeigen (je SND) Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen) VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, 0, AvisoID) 'LÄDT alle SENDUNGSDATEN If SENDUNG_LIST IsNot Nothing Then For Each SND In SENDUNG_LIST Select Case SND.tblSnd_Abfertigungsart_ID Case 26 ' --> AT FISKAL Dim f As New frmATZollEingereichtSetzen(myAviso, SND) If f.ShowDialog() = DialogResult.OK Then 'Passt scho.. AvisoStatusFunctions.insertSendungsVermerk(SND.tblSnd_SendungID, myAviso.AvisoID, "Fiskal-Checkliste - OK", 100) Else Exit Sub ' --> YOU'RE OUT! End If End Select Next End If End If '-------------------------------------------------------------------------------------------------------------------------------------------------------- insertVermerk("AT Zoll eingereicht", 19) 'If vbYes = MsgBox("Fahrer-Anweisung ""zum Zollamt gehen"" ausdrucken?", vbYesNo) Then ' Try ' Dim path = SDL.FormularManagerNEU.zumZOLL_AVISO(myAviso, "AT") ' If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, (New System.Drawing.Printing.PrinterSettings).PrinterName) ' Catch ex As Exception : MsgBox(ex.Message & ex.StackTrace) : End Try 'End If End If ElseIf sender Is btnLKWStandzeitWE Then insertVermerk("LKW Standzeit Wochenende", 21) ElseIf sender Is btnLKWStandzeitFeierteage Then insertVermerk("LKW Standzeit Feiertag(e)", 22) ElseIf sender Is btnSBG Then insertVermerk("Nach SBG weitergegeben", 38) VermerkeDAL.UpdateGrenzstelle(myAviso.AvisoID, "SBG") ElseIf sender Is btnWAI Then insertVermerk("Nach WAI weitergegeben", 39) VermerkeDAL.UpdateGrenzstelle(myAviso.AvisoID, "WAI") ElseIf sender Is btnNKD Then insertVermerk("Nach NKD weitergegeben", 40) ElseIf sender Is btnLKWumgemeldet Then insertVermerk("LKW umgemeldet", 94) ElseIf sender Is btnSFD Then insertVermerk("Nach Spielfeld (Lex) weitergegeben", 41) ElseIf sender Is btnQS Then insertVermerk("Akt wurde in die QS-Abteilung gegeben", 45) ElseIf sender Is btnErfasst Then If FUNC.setErfasst(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnVorbereitet Then If FUNC.setVorbereitet(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnVorgeschrieben Then If FUNC.setVorgeschreiben(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnAnkunft Then If FUNC.setAnkunft(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnFreigabe Then If FUNC.setFreigabe(AvisoID, Me) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnNichtEingetroffen Then If FUNC.setNichtEingeftroffen(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnAktUebernehmen Then If FUNC.AktUebernehmen(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnLKWFertig Then If VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.LKWFertig(AvisoID) Then frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) End If ElseIf sender Is btnSonstiges Then insertVermerk(txtSonstiges.Text, 46) ElseIf sender Is btnDispoangefordert Then insertVermerk("Dispoliste angefordert", 57) End If 'Jetzt wird Fenster geschlossen ' frmMain.avisoAktualisierenAktiveIdBehalten(myAviso.AvisoID) Me.Close() End Sub 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 VermerkeDAL.SpeichernVermerk(myVermerk) frmHauptfenster.Details_anzeigen(AvisoID) End Sub Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnClose.Click Me.Close() End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) End Sub Private Sub frmAddAktenvermerkShort_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) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim frmInsertVermerkFach As New frmInsertVermerkFach(AvisoID) frmInsertVermerkFach.ShowDialog() frmHauptfenster.Details_anzeigen(AvisoID) Me.Close() End Sub Private Sub frmAddAktenvermerkShort_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing Try myAviso.UPDATE_FreigabeInfo(txtFreigabeInfo.Text) Catch ex As Exception End Try End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnLKWUmmelden.Click cntxt.Show(Cursor.Position) End Sub End Class