Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO Public Class frmEintragSammelakt ' Public frmHilf As frmMain Dim Firmen As New cFirmenDAL Dim AvisoDAL As New cAvisoDAL Dim myAviso As New cAviso Dim AVISOFUNC As New AvisoStatusFunctions Dim ADMIN As New cADMIN Dim hÄnderung As Boolean = False Dim Neuanlage As Boolean = False Public EingangsDatum As Date = CDate("01.01.1990") Dim hStatus As Integer Dim showSendungsdetails As Boolean = False Dim hAdresse As String = "" Dim hCC As String = "" Public aktiv As Boolean = False Public ATT As List(Of String) Dim PROG As New cProgramFunctions Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Public FIRMA_TMP As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Public Sub New() InitializeComponent() Icon = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.GetProgrammIcon End Sub Private Sub frmEintragAviso_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() End If If e.KeyCode = Keys.Return Then e.Handled = True End If End Sub Sub initAttachment() If ATT Is Nothing Then dgvAnhaenge.Visible = False : Exit Sub dgvAnhaenge.Rows.Clear() If ATT.Count = 0 Then ' btnSaveAttachments.Enabled = False Else dgvAnhaenge.Visible = True For Each a In ATT Dim display = a If a.Contains("\") Then Dim sp = a.Split("\") display = sp(sp.Count - 1) End If dgvAnhaenge.Rows.Add({display, a}) Next End If dgvAnhaenge.ClearSelection() End Sub Private Sub frmEintragAviso_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then ' MsgBox("Keine Berechtigung!") ' Me.Close() 'End If Me.CenterToParent() btnOK.Enabled = False kdAuftraggeber.initKdBox(Me) MyComboBox1.Items.Clear() MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CBAM", "CBAM")) MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EUDR", "EUDR")) MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FGAS", "FGAS")) MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLLBERATUNG", "COMPLIANCE")) MyComboBox1.changeItem("") If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then ATILLA_NEUERAKTENDECKEL = True End If ' SDL.cProgramFunctions.initDrucker(cboPrinter) cboFirma.Items.Clear() cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA")) cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FRONTOFFICE")) cboFirma.changeItem(FIRMA_TMP) cboFirma.Enabled = False If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then cboFirma.Enabled = True End If AddHandler kdAuftraggeber.PropertyChanged, Sub() If kdAuftraggeber.KdNr_value > 0 Then btnAuftraggeber.Enabled = True Else btnAuftraggeber.Enabled = False End If End Sub btnOK.Enabled = True Dim bearb As Boolean = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Avisodaten_verwalten", Me.FindForm) If cGlobal.Aktive_ID = 0 Then 'es erfolgt eine Neuanlage Neuanlage = True Me.Text = "Neuanlage LKW-Aviso" dtpDatum.Value = Now If Not bearb Then dtpDatum.Enabled = False txtÄnderungen.Text = "Neuanlage von " & cGlobal.AktiverMitarbeiter.Mitarbeiter lblStatus.Text = "Neuanlage" kdAuftraggeber.Text = "" Else If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("WARENORT", "AVISO") Then Me.Close() End If Me.Text = "Änderung LKW-Aviso" 'If myAviso.Status = cGlobal.Status_Ankunft Or myAviso.Status = cGlobal.Status_Freigegeben Then datVoraussichtlichesEintreffen.Visible = False 'txtInfo.Visible = False 'Label3.Visible = False ''ausgewählter Datensatz wird geladen 'Button3.Visible = False myAviso = AvisoDAL.LesenAviso(cGlobal.Aktive_ID, "") 'Werte(zuweisen) dtpDatum.Value = myAviso.Datum If Not bearb Then dtpDatum.Enabled = False If myAviso.Auftraggeber_KdNr > 0 Then kdAuftraggeber.KdNr = myAviso.Auftraggeber_KdNr Else kdAuftraggeber.Text = myAviso.Auftraggeber End If txtInfo.Text = myAviso.Info.Trim txtLKW_Nr.Text = myAviso.LKW_Nr txtÄnderungen.Text = myAviso.Änderungen.Trim hStatus = myAviso.Status If myAviso.Status <> cGlobal.Status_Erfasst Then txtInfo.Enabled = False 'optOhneAviso.Checked = txtÄnderungen.Text.Contains("Neuanlage Ankunft ohne Aviso") 'Status anzeigen Select Case hStatus Case cGlobal.Status_Ankunft lblStatus.Text = "Ankunft" If myAviso.Ankunft <> LeerDatum Then lblStatus.Text += " " & Format(myAviso.Ankunft, "dd.MM. HH:mm") lblStatus.ForeColor = Color.Blue Case cGlobal.Status_Erfasst lblStatus.Text = "erfasst" lblStatus.ForeColor = Color.Red Case cGlobal.Status_Freigegeben lblStatus.Text = "Freigabe " & Format(myAviso.Freigabe, "dd.MM. HH:mm") lblStatus.ForeColor = Color.Green btnOK.Enabled = bearb Case cGlobal.Status_NichtEingetroffen lblStatus.Text = "LKW nicht eingetroffen" lblStatus.ForeColor = Color.DarkGray btnOK.Enabled = bearb Case cGlobal.Status_Vorbereitet lblStatus.Text = "Vorbereitet" lblStatus.ForeColor = Color.Brown btnOK.Enabled = bearb Case cGlobal.Status_Vorgeschrieben lblStatus.Text = "Vorgeschrieben" lblStatus.ForeColor = Color.Purple btnOK.Enabled = bearb Case Else lblStatus.Text = "" End Select lblStatus.Text = " " & lblStatus.Text & " " 'für bessere farbliche Hervorhebung cboFirma.changeItem("") cboFirma.changeItem(myAviso.FIRMA) End If If bearb Then Me.Text += " (Verwaltung)" hÄnderung = False dtpDatum.Enabled = bearb 'nur Administrator darf Erfassungsdatum ändern/bearbeiten 'If Neuanlage Then ' dtpAvisoEingangDatum.Value = Now.Date ' dtpAvisoEingangZeit.Value = LeerDatum 'Else ' dtpAvisoEingangDatum.Enabled = bearb ' dtpAvisoEingangZeit.Enabled = bearb 'End If initAttachment() End Sub Private Sub dgvAnhaenge_KeyDown(sender As Object, e As KeyEventArgs) Handles dgvAnhaenge.KeyDown If e.KeyCode = Keys.Delete Then If dgvAnhaenge.SelectedRows.Count > 0 Then For Each row In dgvAnhaenge.SelectedRows.Cast(Of DataGridViewRow)().OrderByDescending(Function(dgvr) dgvr.Index) ATT.RemoveAt(row.Index) Next 'ATT.RemoveAt(dgvAnhaenge.SelectedRows(0).Index) 'Inex-Rows = Index-Att initAttachment() End If 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 txtLKW_Nr.GotFocus CType(sender, TextBox).SelectAll() End Sub Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click Try If Not aktiv Then Exit Sub lblErrErfasstDat.Visible = False lblErr_Aktentyp.Visible = False lblErr_Kunde.Visible = False lblErr_LKW.Visible = False If FIRMA_TMP = "VERIMEX" Then If cboFirma._value = "" Then MsgBox("Firma auswählen!", vbInformation) cboFirma.Focus() Exit Sub End If End If If dtpDatum.Enabled AndAlso CDate(dtpDatum.Value) > Now Then lblErrErfasstDat.Visible = True dtpDatum.Focus() Exit Sub End If If MyComboBox1._value.Trim = "" Then ' MsgBox("Bitte die LKW-Nummer eingegeben.", vbInformation) lblErr_Aktentyp.Visible = True MyComboBox1.Focus() Exit Sub End If If txtLKW_Nr.Text.Trim = "" Then ' MsgBox("Bitte die LKW-Nummer eingegeben.", vbInformation) lblErr_LKW.Visible = True txtLKW_Nr.Focus() Exit Sub End If If kdAuftraggeber.KdNr_value <= 0 Then lblErr_Kunde.Visible = True kdAuftraggeber.Focus() Exit Sub End If If Neuanlage Then 'jetzt eine Prüfung, ob dieser LKW bereits vor kurzem erfasst wurde Dim hLKWCheck2 As String = AvisoDAL.Suche_LKWStatus(txtLKW_Nr.Text.Trim.Replace(" ", "").Replace("-", "")) If hLKWCheck2 <> "" Then Dim antwort As MsgBoxResult = MsgBox(hLKWCheck2 & vbCrLf & vbCrLf & "Wollen Sie den Eintrag trotzdem speichern?", CType(MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, MsgBoxStyle), "Aviso-Eintrag") If antwort = vbNo Then Exit Sub End If End If If hLKWCheck2 = "" Then 'jetzt eine Prüfung, ob dieser LKW bereits vor kurzem erfasst wurde Dim hLKWCheck As String = AvisoDAL.Suche_LKW(txtLKW_Nr.Text.Trim.Replace(" ", "").Replace("-", "")) If hLKWCheck <> "" Then Dim antwort As MsgBoxResult = MsgBox(hLKWCheck & vbCrLf & vbCrLf & "Wollen Sie den Eintrag trotzdem speichern?", CType(MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, MsgBoxStyle), "Aviso-Eintrag") If antwort = vbNo Then Exit Sub End If End If End If End If Me.Cursor = Cursors.WaitCursor Dim aendart As String = "" Dim aendText As String = "" 'Werte zuweisen myAviso.Telefonisch = "" myAviso.Datum = dtpDatum.Value myAviso.LKW_Nr = txtLKW_Nr.Text.Trim.Replace(" ", "").Replace("-", "") If kdAuftraggeber.KdNr_value > 0 Then myAviso.Auftraggeber = IIf(kdAuftraggeber.KdName <> "", kdAuftraggeber.KdName, kdAuftraggeber.Text) myAviso.Auftraggeber_KdNr = kdAuftraggeber.KdNr_value Else myAviso.Auftraggeber = kdAuftraggeber.Text myAviso.Auftraggeber_KdNr = -1 End If If myAviso.Auftraggeber.Length > 50 Then myAviso.Auftraggeber = myAviso.Auftraggeber.Substring(0, 50) myAviso.Frächter = myAviso.Auftraggeber myAviso.Frächter_KdNr = myAviso.Auftraggeber_KdNr myAviso.Grenzstelle = "" myAviso.Info = "" If Neuanlage Then myAviso.letzterMitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter myAviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId End If If Neuanlage Then myAviso.Änderungen = "Neuanlage von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") aendart = "Neuanlage" aendText = "Neuanlage von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") Else myAviso.Änderungen = "Änderung per Eingabefenster von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & myAviso.Änderungen aendart = "Änderung per Eingabefenster" aendText = "Änderung per Eingabefenster von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") End If Dim DatAnkunftNow = AVISOFUNC.getAnkunftDateNow() myAviso.Status = cGlobal.Status_Ankunft myAviso.Status = cGlobal.Status_Erfasst myAviso.Ankunft = LeerDatum myAviso.Freigabe = LeerDatum myAviso.Vorbereitet = LeerDatum myAviso.Vorgeschrieben = LeerDatum myAviso.Dauer = 0 myAviso.FIRMA = If(cboFirma._value <> "", cboFirma._value, FIRMA_TMP) myAviso.Cluster = If(VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER, "") Dim tmpId = AvisoDAL.SpeichernAviso(myAviso) myAviso.AvisoID = tmpId AvisoDAL.addAenderung(tmpId, aendart, aendText) 'Infotext als Vermerk: If txtInfo.Text.Trim <> "" Then If txtInfo.Text.Length <= 80 Then AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Trim, 46) ElseIf txtInfo.Text.Length <= 160 Then AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Substring(0, 80), 46) AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Substring(80, 80), 46) ElseIf txtInfo.Text.Length <= 240 Then AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Substring(0, 80), 46) AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Substring(80, 80), 46) AvisoStatusFunctions.insertVermerkAllg(tmpId, txtInfo.Text.Substring(160, 80), 46) End If End If Me.Cursor = Cursors.Default 'Jetzt wird Fenster geschlossen Me.Close() VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID = tmpId frmHauptfenster.setAktDetails(tmpId, showSendungsdetails) If showSendungsdetails Then End If Catch ex As Exception Me.Cursor = Cursors.Default VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub ''threadsicherer Aufruf 'Delegate Sub setCboEntryCallback(i As String) 'Private Sub setCboEntry(i As String) ' Try ' If Me.InvokeRequired Then ' Dim d As New setCboEntryCallback(AddressOf setCboEntry) ' Me.Invoke(d, New Object() {i}) ' Else ' cboPrinter.Items.Add(i) ' End If ' Catch ex As Exception ' End Try 'End Sub ''threadsicherer Aufruf 'Delegate Sub setCboSelectedCallback(standardDrucker As String) 'Private Sub setCboSelected(standardDrucker As String) ' If Me.InvokeRequired Then ' Dim d As New setCboSelectedCallback(AddressOf setCboSelected) ' Me.Invoke(d, New Object() {standardDrucker}) ' Else ' Dim found As Boolean = False ' ' For Each i In cboPrinter.Items ' 'If i.ToString.ToUpper.Contains("TALLY") Then ' 'found = True ' ' cboPrinter.SelectedItem = i : Exit For ' ' End If ' ' Next ' If found = False Then 'Falls kein TALLY, Standarddrucker ' cboPrinter.SelectedIndex = 0 ' For Each i In cboPrinter.Items ' If i.ToString = standardDrucker Then ' cboPrinter.SelectedItem = i ' Exit For ' End If ' Next ' End If ' End If 'End Sub Private Function Platzhalter_ersetzen(hText As String, hLKW As String, hGrenzstelle As String) As String If hText = "" Then Platzhalter_ersetzen = hText Exit Function End If 'hier werden alle möglichen Platzhalter ersetzt hText = hText.Replace("%LKW%", hLKW) If hGrenzstelle <> "" Then Dim Standorte As New cStandorteDAL Dim Standort As New cStandort Standort = Standorte.LesenStandort(0, hGrenzstelle, "") If Not IsNothing(Standort) Then hGrenzstelle = Standort.Standort_Text.Trim End If End If hText = hText.Replace("%Standort%", hGrenzstelle) hText = hText.Replace("%Uhrzeit%", Format(Now, "HH:mm")) hText = hText.Replace("&", "und") Platzhalter_ersetzen = hText End Function Private Sub txtLKW_Nr_TextChanged(sender As Object, e As EventArgs) Handles txtLKW_Nr.Leave txtLKW_Nr.Text = txtLKW_Nr.Text.ToUpper End Sub Private Sub frmEintragAviso_Shown(sender As Object, e As EventArgs) Handles Me.Shown 'dtpAvisoEingangZeit.Focus() aktiv = True 'If EingangsDatum > CDate("01.01.1990") Then ' dtpAvisoEingangDatum.Value = EingangsDatum ' dtpAvisoEingangZeit.Value = EingangsDatum 'End If VERAG_PROG_ALLGEMEIN.cAllgemein._TRANSLATE(Me) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click If StartFromOUTLOOK Then MsgBox("Diese Funktion ist im Outlook Addin nicht verfügbar!") Exit Sub End If ' Me.showSendungsdetails = True btnOK.PerformClick() 'If dgvSendungen.SelectedRows.Count > 0 Then 'sendId = dgvSendungen.SelectedRows(0).Cells("tblSnd_SendungID").Value 'End If If myAviso.AvisoID > 0 Then If Process.GetCurrentProcess().ProcessName.ToUpper() = "AVISO" Then Dim frmGrayOut = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.grayoutForm() Dim frmSendungsdetails As New frmSendungsdetailsNEU(myAviso.AvisoID, -1) frmSendungsdetails.ShowDialog(frmGrayOut) frmGrayOut.Close() Else VERAG_PROG_ALLGEMEIN.cProgramFunctions.SendMessageToAviso("OpenAvisoSnd_" & myAviso.AvisoID) End If End If 'initDgvSendungen() End Sub Private Sub btnAuftraggeber_Click(sender As Object, e As EventArgs) Handles btnAuftraggeber.Click If kdAuftraggeber.KdNr > 0 Then Me.Cursor = Cursors.WaitCursor AVISOFUNC.showKd(kdAuftraggeber.KdNr) Me.Cursor = Cursors.Default End If End Sub Private Sub dgvAnhaenge_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick, dgvAnhaenge.CellContentDoubleClick Try If dgvAnhaenge.SelectedRows.Count > 0 Then If dgvAnhaenge.SelectedRows(0).Cells(1).Value <> "" Then Process.Start(dgvAnhaenge.SelectedRows(0).Cells(1).Value) End If End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged Select Case MyComboBox1._value Case "CBAM" PictureBox1.BackgroundImage = My.Resources.cbam_s Case "EUDR" PictureBox1.BackgroundImage = My.Resources.eudr Case "FGAS" PictureBox1.BackgroundImage = My.Resources.fgas_s Case "COMPLIANCE" PictureBox1.BackgroundImage = My.Resources.compliance_s Case Else PictureBox1.BackgroundImage = Nothing End Select End Sub End Class