Files
DISPO/UID/frmMain.vb
2019-08-07 12:29:10 +02:00

1053 lines
44 KiB
VB.net

Imports System.ComponentModel
Imports System.IO
Imports System.Globalization
Imports System.Data.SqlClient
Imports System.Reflection
Public Class frmMain
Public Shared ConnStr, ConnStrInfo As String
Public Shared Niederlassung As String
Private Grid_aktiv As Boolean = False
Private Anzahl As Integer
Private locZeilen As Integer = -1
Private Suche_freigegeben As Boolean = False
Private DISPO As New cOptionenDAL
' Public Shared rowId As Integer
Private hSQL As String
Private nochange As Boolean = False
Private startdate As Date = Now.AddYears(-1)
'Private startdatestring As String
'Private enddate As Date
'Private enddatestring As String = Format(Now(), "yyyymmdd")
Private ein, aus As String
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles btnNew.Click
If tbContrl.SelectedIndex = 0 Then frmDetails.rowId = -1 : frmDetails.mainForm = "frmMain" : frmDetails.Show()
If tbContrl.SelectedIndex = 1 Then frmAuftragNEU.auftragID = -1 : frmAuftragNEU.Show() : AddHandler frmAuftragNEU.Disposed, AddressOf meEnabledTrue
If tbContrl.SelectedIndex = 2 Then frmFrachtkostenNew.Show() : AddHandler frmFrachtkosten.Disposed, AddressOf meEnabledTrue
End Sub
Private Sub frmMain_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
frmLogin.Close()
End Sub
Private Sub Main_Load(sender As Object, e As EventArgs) Handles Me.Load
dgvAuftraege.DataSource = Me.dataBindingAuftraege
dgvKunden.DataSource = Me.dataBindingKunden
dgvFrachtkosten.DataSource = Me.dataBindingFrachtkosten
cboAuftragsart.Items.Clear()
cboAuftragsart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cboAuftragsart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("HANDLING", "HANDLING"))
cboAuftragsart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TRANSPORT", "TRANSPORT"))
cboAuftragsart.changeItem("ALLE")
cboFiliale.Items.Clear()
cboFiliale.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cboFiliale.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SUBEN", "4807"))
cboFiliale.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEUHAUS", "4819"))
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung
Case "NEU" : cboFiliale.changeItem("4819") : Niederlassung = "4819"
Case Else : cboFiliale.changeItem("4807") : Niederlassung = "4807"
End Select
' dgvResult.DataSource = null;
' dgvResult.DataSource = patientBindingSource;
If VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = "Andreas Luxbauer" Then btnSQL.Visible = True
' If frmLogin.USRBER > 0 Then btnMitarb.Visible = False
' If frmLogin.USRBER > 5 Then btnNew.Enabled = False : btnDel.Enabled = False : btnChange.Enabled = False
Grid_aktiv = True
Tabelle_anzeigen()
lblVersion.Text = "Version: " & My.Resources.Version
cboSearchAuftraege.Items.Add(New MyListItem("PosNr", "atr_frachtpos"))
cboSearchAuftraege.Items.Add(New MyListItem("Auftraggeber", "atr_auftr_firma"))
cboSearchAuftraege.Items.Add(New MyListItem("Frachtführer Bis", "atr_frachtf_firma"))
cboSearchAuftraege.Items.Add(New MyListItem("Frachtführer Ab", "atr_frachtfAb_firma"))
cboSearchAuftraege.Items.Add(New MyListItem("Transportunternehmen", "atr_frachtpos"))
cboSearchAuftraege.Items.Add(New MyListItem("Ladestelle", "atr_ladest_firma"))
cboSearchAuftraege.Items.Add(New MyListItem("Entladestelle", "atr_entladest_firma"))
cboSearchAuftraege.SelectedIndex = 0
DateBIS.Value = Now()
' DateBIS.Visible = False
DateVON.Value = Now.AddYears(-1).AddDays(1)
'DateVON.Visible = False
'LblVon.Visible = False
'LblBis.Visible = False
EnableDoubleBuffered(dgvAuftraege)
EnableDoubleBuffered(dgvFrachtkosten)
EnableDoubleBuffered(dgvKunden)
btnAuswertung.Visible = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AUSWERTUNGEN", "DISPO")
btnVollmacht.Visible = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VOLLMACHT", "DISPO")
btnTest.Visible = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("TEST", "DISPO")
End Sub
Dim dataAdapterAuftraege As New SqlDataAdapter
Dim dataBindingAuftraege As New BindingSource
Private Sub initDGVAuftraege(bindingString As String)
Dim sqlstr As String = bindingString
' dgvLKW.DataSource = bindingSDL
Dim d As New SqlDataAdapter()
Try
'Dim connectionString As String = cSqlDb.GetNewOpenConnection
If frmLogin.TESTSYSTEM Then
Me.dataAdapterAuftraege = New SqlDataAdapter(sqlstr, My.Resources.connStringDISPO_TEST)
Else
Me.dataAdapterAuftraege = New SqlDataAdapter(sqlstr, My.Resources.connStringDISPO)
End If
Catch ex As SqlException
MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.")
End Try
Dim commandBuilder As New SqlCommandBuilder(Me.dataAdapterAuftraege)
Dim table As New DataTable()
Me.dataAdapterAuftraege.Fill(table)
table.Locale = System.Globalization.CultureInfo.InvariantCulture
dgvAuftraege.DataBindings.Clear()
Me.dataBindingAuftraege.DataSource = table
End Sub
Public Sub initDGVAuftraegeFilter()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
Dim andtxt As String = ""
Dim where As String = ""
If txtSuche.Text <> "" Then
Dim oItem As MyListItem = CType(cboSearchAuftraege.SelectedItem, MyListItem)
where = " " & oItem.Value & " LIKE '%" & txtSuche.Text & "%'"
andtxt = " AND "
End If
If cboAuftragsart._value <> "" Then
where &= andtxt & " atr_AuftragsArt='" & cboAuftragsart._value & "' "
andtxt = " AND "
End If
If cboFiliale._value <> "" Then
where &= andtxt & " atr_FilialenNr='" & cboFiliale._value & "' "
andtxt = " AND "
End If
If cbxAbliefer.CheckState = CheckState.Checked Then
where &= andtxt & " atr_abliefernachweis = 1"
ElseIf cbxAbliefer.CheckState = CheckState.Unchecked Then
where &= andtxt & " atr_abliefernachweis = 0"
End If
'where &= andtxt & "atr_datum <= '" & enddatestring & "' AND atr_datum >= '" & startdatestring & "' "
dataBindingAuftraege.Filter = where
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
End Sub
Public Sub showDGVAuftraege()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
With dgvAuftraege
initDGVAuftraege("SELECT atr_id, atr_frachtpos,atr_datum,atr_auftr_firma, atr_frachtf_firma,atr_frachtfAb_firma,atr_trans_firma,case when atr_AuftragsArt='TRANSPORT' THEN atr_ladest_firma ELSE atr_absender_firma END as atr_ladest_firma,case when atr_AuftragsArt='TRANSPORT' THEN atr_entladest_firma ELSE atr_empfaenger_firma END as atr_entladest_firma,atr_abliefernachweis,atr_AuftragsArt,atr_FilialenNr FROM tblAuftraege WHERE atr_datum <= '" & DateBIS.Value.ToShortDateString & "' AND atr_datum >= '" & DateVON.Value.ToShortDateString & "'")
'initDGVAuftraege("SELECT atr_AuftragsArt,atr_id, atr_frachtpos,atr_datum,atr_auftr_firma, atr_frachtf_firma,atr_frachtfAb_firma,atr_trans_firma,case when atr_AuftragsArt='TRANSPORT' THEN atr_ladest_firma ELSE atr_absender_firma END as atr_ladest_firma,case when atr_AuftragsArt='TRANSPORT' THEN atr_entladest_firma ELSE atr_empfaenger_firma END as atr_entladest_firma,atr_abliefernachweis,atr_FilialenNr FROM tblAuftraege WHERE atr_datum <= '" & DateBIS.Value.ToShortDateString & "' AND atr_datum >= '" & DateVON.Value.ToShortDateString & "'")
' MsgBox("SELECT atr_id, atr_frachtpos,atr_datum,atr_auftr_firma, atr_frachtf_firma,atr_frachtfAb_firma,atr_trans_firma,
'Case when atr_AuftragsArt='TRANSPORT' THEN atr_ladest_firma ELSE atr_absender_firma END as atr_ladest_firma,
'Case when atr_AuftragsArt='TRANSPORT' THEN atr_entladest_firma ELSE atr_empfaenger_firma END as atr_entladest_firma,
'atr_abliefernachweis, atr_AuftragsArt, atr_FilialenNr FROM tblAuftraege WHERE atr_datum <= '" & enddate.ToShortDateString & "' AND atr_datum >= '" & startdate.ToShortDateString & "'")
locZeilen = -1
Dim top As String = ""
'Tabelle Kommt/Geht bereinigen
For i As Integer = 0 To dgvAuftraege.Columns.Count - 1
.Columns(i).ReadOnly = True
Next
If .RowCount = 0 Then Exit Sub
.Sort(dgvAuftraege.Columns(1), ListSortDirection.Descending)
.RowTemplate.Height = 20
'.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = True
.AllowUserToResizeRows = False
'.RowTemplate.ReadOnly = True
.RowHeadersVisible = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns(0).Visible = False
.Columns("atr_AuftragsArt").Visible = False
.Columns(1).MinimumWidth = 70
.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns(1).HeaderText = "FrachtposNr."
.Columns(2).Width = 70
.Columns(2).HeaderText = "Datum"
.Columns(3).Width = 165
.Columns(3).HeaderText = "Auftraggeber"
.Columns(4).Width = 165
.Columns(4).HeaderText = "Frachtführer Bis"
.Columns("atr_frachtfAb_firma").Width = 165
.Columns("atr_frachtfAb_firma").HeaderText = "Frachtführer Ab"
.Columns(6).Width = 165
.Columns(6).HeaderText = "Transportunternehmen"
.Columns(7).Width = 165
.Columns(7).HeaderText = "Ladestelle/Absender"
.Columns(8).Width = 165
.Columns(8).HeaderText = "Entladest./Empfänger"
.Columns(9).Width = 60
.Columns(9).HeaderText = "Abl.Nachw."
.Columns(9).ReadOnly = False
.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns("atr_FilialenNr").Width = 60
.Columns("atr_FilialenNr").HeaderText = "Filiale"
.Columns("atr_FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns("atr_Auftragsart").Width = 80
.Columns("atr_Auftragsart").HeaderText = "Auftragsart"
.Columns("atr_Auftragsart").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns("atr_Auftragsart").DisplayIndex = 11
'Anzeige der Anzahl gewählter/aller Datensätze
lblAnzahl.Text = Format(dgvAuftraege.RowCount, "#,##0")
If (dgvAuftraege.RowCount = 100) Then lblAnzahl.Text &= " ausgewählt (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
initDGVAuftraegeFilter()
End With
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
'lblMs.Image = Nothing
End Sub
Dim dataAdapterFrachtkosten As New SqlDataAdapter
Dim dataBindingFrachtkosten As New BindingSource
Private Sub initDGVFrachtkosten(bindingString As String)
Dim sqlstr As String = bindingString
' dgvLKW.DataSource = bindingSDL
Dim d As New SqlDataAdapter()
Try
'Dim connectionString As String = cSqlDb.GetNewOpenConnection
If frmLogin.TESTSYSTEM Then
Me.dataAdapterFrachtkosten = New SqlDataAdapter(sqlstr, My.Resources.connStringDISPO_TEST)
Else
Me.dataAdapterFrachtkosten = New SqlDataAdapter(sqlstr, My.Resources.connStringDISPO)
End If
Catch ex As SqlException
MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.")
End Try
Dim commandBuilder As New SqlCommandBuilder(Me.dataAdapterFrachtkosten)
Dim table As New DataTable()
Me.dataAdapterFrachtkosten.Fill(table)
table.Locale = System.Globalization.CultureInfo.InvariantCulture
dgvFrachtkosten.DataBindings.Clear()
Me.dataBindingFrachtkosten.DataSource = table
End Sub
Public Sub initDGVFrachtkostenFilter()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
Dim andtxt As String = ""
Dim where As String = ""
If txtSuche.Text <> "" Then
where = " kd_firma LIKE '%" & txtSuche.Text & "%' "
End If
dataBindingFrachtkosten.Filter = where
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
End Sub
Public Sub showDGVFrachtkosten()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
With dgvFrachtkosten
initDGVFrachtkosten("SELECT frtkst_id,frtkst_firmaId,kd_firma,frtkst_preisM3,frtkst_preisLDM,frtkst_provision FROM tblFrachtkosten,tblKunden WHERE kd_id=frtkst_firmaId ")
locZeilen = -1
Dim top As String = "" ' "top 100"
'Tabelle Kommt/Geht bereinigen
If .RowCount = 0 Then Exit Sub
dgvFrachtkosten.Sort(.Columns(1), ListSortDirection.Descending)
.RowTemplate.Height = 20
.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = True
.AllowUserToResizeRows = False
.RowTemplate.ReadOnly = True
.RowHeadersVisible = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns(0).Visible = False
.Columns(1).Visible = False
.Columns(2).MinimumWidth = 300
.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns(2).HeaderText = "Firma"
.Columns(3).Width = 100
.Columns(3).HeaderText = "Preis pro m³"
.Columns(3).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
.Columns(3).DefaultCellStyle.Format = "n"
.Columns(4).Width = 100
.Columns(4).HeaderText = "Preis pro LDM"
.Columns(4).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
.Columns(4).DefaultCellStyle.Format = "n"
.Columns(5).Width = 100
.Columns(5).HeaderText = "Provision"
.Columns(5).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
.Columns(5).DefaultCellStyle.Format = "n"
'Anzeige der Anzahl gewählter/aller Datensätze
lblAnzahl.Text = Format(.RowCount, "#,##0")
If (.RowCount = 100) Then lblAnzahl.Text &= " ausgewählt (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
initDGVFrachtkostenFilter()
End With
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
End Sub
Public Sub Tabelle_anzeigen()
btnRechner.Visible = False
pnlFilterAuftrag.Visible = False
If tbContrl.SelectedIndex = 0 Then showDGVKunden() : lblSuche.Visible = True : cboSearchAuftraege.Visible = False : cbxAbliefer.Visible = False : btnDuplicate.Visible = False : DatePicker_ausblenden()
If tbContrl.SelectedIndex = 1 Then showDGVAuftraege() : pnlFilterAuftrag.Visible = True : lblSuche.Visible = False : cboSearchAuftraege.Visible = True : cbxAbliefer.Visible = True : btnDuplicate.Visible = True : DatePicker_einblenden()
If tbContrl.SelectedIndex = 2 Then showDGVFrachtkosten() : lblSuche.Visible = True : cboSearchAuftraege.Visible = False : btnRechner.Visible = True : cbxAbliefer.Visible = False : btnDuplicate.Visible = False : DatePicker_ausblenden()
End Sub
Dim dataAdapterKunden As New SqlDataAdapter
Dim dataBindingKunden As New BindingSource
Private Sub initDGVKunden(bindingString As String)
Try
If frmLogin.TESTSYSTEM Then
Me.dataAdapterKunden = New SqlDataAdapter(bindingString, My.Resources.connStringDISPO_TEST)
Else
Me.dataAdapterKunden = New SqlDataAdapter(bindingString, My.Resources.connStringDISPO)
End If
Catch ex As SqlException
MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.")
End Try
Dim commandBuilder As New SqlCommandBuilder(Me.dataAdapterKunden)
Dim table As New DataTable()
Me.dataAdapterKunden.Fill(table)
table.Locale = System.Globalization.CultureInfo.InvariantCulture
dgvKunden.DataBindings.Clear()
Me.dataBindingKunden.DataSource = table
' Me.dataAdapterKunden.Fill(0, 2, dataBindingKunden.DataSource)
End Sub
Public Sub initDGVKundenFilter()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
Dim search As String = txtSuche.Text
Dim where As String = ""
If txtSuche.Text <> "" Then
Dim arr() As String = Split(txtSuche.Text.Replace(" ", ","), ",")
Dim cnt As Integer = 1
If arr.Count() > 0 Then cnt = arr.Count
Dim or_txt As String = ""
For i As Integer = 0 To cnt - 1 Step 1
If arr(i) <> "" Then search = arr(i).Trim
If i > 0 Then where += " AND "
' where += " ( kd_firma LIKE '%" & search & "%' OR kd_str LIKE '%" & search & "%' OR kd_strnr LIKE '%" & search & "%' OR kd_plz LIKE '%" & search & "%' OR kd_ort LIKE '%" & search & "%' OR kd_land LIKE '%" & search & "%' OR kd_anspr1_vn LIKE '%" & search & "%' OR kd_anspr1_nn LIKE '%" & search & "%' OR kd_anspr2_vn LIKE '%" & search & "%' OR kd_anspr2_nn LIKE '%" & search & "%' OR kd_tel LIKE '%" & search & "%' OR kd_fax LIKE '%" & search & "%' OR kd_email LIKE '%" & search & "%' OR kd_homepage LIKE '%" & search & "%' ) "
where += " ( kd_firma LIKE '%" & search & "%' OR strasse LIKE '%" & search & "%' OR ort LIKE '%" & search & "%' OR kd_land LIKE '%" & search & "%' ) "
Next
End If
' MsgBox(where)
dataBindingKunden.Filter = where
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
End Sub
Public Sub showDGVKunden()
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
With dgvKunden
Dim top As String = "" ' "top 100"
'initDGVKunden("SELECT * FROM tblKunden ")
initDGVKunden("SELECT " & top & " kd_id, kd_firma, (kd_str + ' ' + kd_strnr) as strasse, (kd_plz + ' - ' + kd_ort) as ort, kd_land,kd_oez_id FROM tblKunden ")
'initDGVKunden(" SELECT " & top & " kd_id, kd_firma, kd_str , kd_strnr as strasse, kd_plz , kd_ort as ort, kd_land,kd_oez_id FROM tblKunden ")
locZeilen = -1
' If Not Grid_aktiv Then Exit Sub
'Tabelle Kommt/Geht bereinigen
If .RowCount = 0 Then Exit Sub
.Sort(.Columns(1), ListSortDirection.Ascending)
.RowTemplate.Height = 20
.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = True
.AllowUserToResizeRows = False
.RowTemplate.ReadOnly = True
.RowHeadersVisible = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.ReadOnly = True
.Columns(0).Visible = False
.Columns(1).MinimumWidth = 300
.Columns(1).HeaderText = "Firma"
.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
' .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(2).Width = 250
.Columns(2).HeaderText = "Straße"
.Columns(3).Width = 250
.Columns(3).HeaderText = "Ort"
.Columns(4).Width = 150
.Columns(4).HeaderText = "Land"
.Columns(5).Visible = False
initDGVKundenFilter()
'Anzeige der Anzahl gewählter/aller Datensätze
lblAnzahl.Text = Format(.RowCount, "#,##0") & " ausgewählt"
If (.RowCount = 100) Then lblAnzahl.Text &= " (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
End With
lblAnzahl.Refresh()
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
'lblMs.Image = Nothing
End Sub
Private Sub Eintraege_festlegen()
For i As Integer = 0 To dgvKunden.RowCount - 1
'If (.Rows(i).Cells(1).Value = True) Then
' .Rows(i).DefaultCellStyle.BackColor = Color.IndianRed
'.Item(1, i).BackColor = Color.IndianRed
' Dim inImg As Image = My.Resources.uhr_green
' dgvUID.Rows(i).Cells(5).Value.Image = inImg
' End If
Next
End Sub
Private Sub dgvUID_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvKunden.CellDoubleClick
' rowId = dgvUID.CurrentRow.Cells(0).Value
If frmDetails.Visible Then
MsgBox("Ein Kunden-Formular ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmDetails.BringToFront()
Else
frmDetails.rowId = dgvKunden.CurrentRow.Cells(0).Value
frmDetails.mainForm = "frmMain"
End If
frmDetails.Show()
Me.Enabled = False
AddHandler frmDetails.Disposed, AddressOf meEnabledTrue
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFrachtkosten.CellDoubleClick
If frmFrachtkosten.Visible Then
MsgBox("Ein Frachtkosten-Formular ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmFrachtkosten.BringToFront()
Else
frmFrachtkosten.frachtfirma_id = dgvFrachtkosten.CurrentRow.Cells(1).Value
End If
frmFrachtkosten.Show()
Me.Enabled = False
AddHandler frmFrachtkosten.Disposed, AddressOf meEnabledTrue
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnChange.Click
If tbContrl.SelectedIndex = 0 Then 'Kunden
Try
If frmDetails.Visible Then
MsgBox("Ein Kunden-Formular ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmDetails.BringToFront()
Else
frmDetails.rowId = dgvKunden.CurrentRow.Cells(0).Value
frmDetails.mainForm = "frmMain"
frmDetails.Show()
AddHandler frmDetails.Disposed, AddressOf meEnabledTrue
Me.Enabled = False
End If
Catch ex As Exception
Me.Enabled = True
End Try
End If
If tbContrl.SelectedIndex = 1 Then 'Aufträge
Try
If frmAuftragNEU.Visible Then
MsgBox("Ein Auftrag ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmAuftragNEU.BringToFront()
Else
frmAuftragNEU.auftragID = dgvAuftraege.CurrentRow.Cells(0).Value
frmAuftragNEU.Show()
AddHandler frmAuftragNEU.Disposed, AddressOf meEnabledTrue
Me.Enabled = False
End If
' Me.Enabled = False
Catch ex As Exception
Me.Enabled = True
End Try
End If
If tbContrl.SelectedIndex = 2 Then 'Aufträge
Try
If frmFrachtkostenNew.Visible Then
MsgBox("Ein Auftrag ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmFrachtkostenNew.BringToFront()
Else
frmFrachtkostenNew.frachtfirma_id = dgvFrachtkosten.CurrentRow.Cells(1).Value
frmFrachtkostenNew.Show()
frmFrachtkostenNew.Text = "Änderung"
AddHandler frmFrachtkostenNew.Disposed, AddressOf meEnabledTrue
Me.Enabled = False
End If
' Me.Enabled = False
Catch ex As Exception
Me.Enabled = True
End Try
End If
End Sub
Private Sub meEnabledTrue()
Me.Enabled = True
Tabelle_anzeigen()
Me.BringToFront()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles btnDel.Click
If tbContrl.SelectedIndex = 0 AndAlso dgvKunden.SelectedRows.Count > 0 Then
Select Case MsgBox("Soll der Eintrag wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
DISPO.delData(Convert.ToInt32(dgvKunden.CurrentRow.Cells(0).Value))
DISPO.delOeffnungszeiten(Convert.ToInt32(dgvKunden.CurrentRow.Cells(5).Value))
Tabelle_anzeigen()
Case vbNo
End Select
End If
If tbContrl.SelectedIndex = 1 AndAlso dgvAuftraege.SelectedRows.Count > 0 Then
Select Case MsgBox("Soll der Eintrag wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
DISPO.delAuftrag(Convert.ToInt32(dgvAuftraege.CurrentRow.Cells(0).Value))
Tabelle_anzeigen()
Case vbNo
End Select
End If
If tbContrl.SelectedIndex = 2 AndAlso dgvFrachtkosten.SelectedRows.Count > 0 Then
Select Case MsgBox("Soll der Eintrag wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
DISPO.delFrachtkosten(Convert.ToInt32(dgvFrachtkosten.CurrentRow.Cells(0).Value))
Tabelle_anzeigen()
Case vbNo
End Select
End If
End Sub
Private Sub dgvUID_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs)
' Eintraege_festlegen()
End Sub
Private Sub dgvUID_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Delete Then
e.Handled = True
If dgvKunden.SelectedRows.Count = 1 Then
Select Case MsgBox("Soll der Eintrag wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
Case vbYes
DISPO.delData(Convert.ToInt32(dgvKunden.CurrentRow.Cells(0).Value))
Tabelle_anzeigen()
Case vbNo
End Select
End If
End If
End Sub
Private Sub SearchChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged, cbxAbliefer.CheckStateChanged, txtSuche.Click, Button1.Click, cboAuftragsart.SelectedIndexChanged, cboFiliale.SelectedIndexChanged
txtSuche.Text = txtSuche.Text.Replace("'", "")
Dim anz As Integer = 0
If tbContrl.SelectedIndex = 0 Then initDGVKundenFilter() : anz = dgvKunden.RowCount
If tbContrl.SelectedIndex = 1 Then initDGVAuftraegeFilter() : anz = dgvAuftraege.RowCount
If tbContrl.SelectedIndex = 2 Then initDGVFrachtkostenFilter() : anz = dgvFrachtkosten.RowCount
lblAnzahl.Text = Format(anz, "#,##0")
If IsNumeric(anz) AndAlso CInt(anz) = 100 Then lblAnzahl.Text &= " ausgewählt (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
'If Not nochange Then Tabelle_anzeigen()
End Sub
Private Sub txtPosSearch_TextChanged(sender As Object, e As EventArgs)
txtSuche.Text = ""
If Not nochange Then Tabelle_anzeigen()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
txtSuche.Text = ""
cbxAbliefer.CheckState = CheckState.Indeterminate
Tabelle_anzeigen()
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs)
frmHistory.rowId = dgvKunden.CurrentRow.Cells(0).Value
frmHistory.Show()
End Sub
Private Sub dgvUID_SelectionChanged(sender As Object, e As EventArgs)
' Try
'If (dgvUID.CurrentRow.Cells(1).Value = True) Then
' dgvUID.CurrentRow.Cells(1).Style.SelectionBackColor = Color.IndianRed
' Else
' dgvUID.CurrentRow.Cells(1).Style.SelectionBackColor = Color.White
' End If
' Catch ex As Exception
' End Try
End Sub
Private Sub btnMitarb_Click(sender As Object, e As EventArgs)
frmMitarbeiter.Show()
End Sub
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
frmLogin.UpdateDISPO()
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
Application.Exit()
End Sub
Private Sub dgvUID_CellContentClick(sender As Object, e As DataGridViewCellEventArgs)
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs)
Dim print As Boolean = True
If (dgvKunden.RowCount > 100) Then
print = (MsgBox("Möchten Sie wirklich " & dgvKunden.RowCount & " Einträge drucken?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Einträge drucken?") = vbYes)
End If
If print Then
Dim l As IList(Of cEntry)
l = DISPO.getDataBySQL(hSQL)
Dim where As String = ""
If MsgBox("Möchten Sie auch deaktivierte Kunden einschließen?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Auswahl mit deaktivierten Kunden?") = vbNo Then
For i As Integer = 0 To (l.Count - 1) Step 1
MsgBox(i & " - " & l.Count - 1)
' If l(i).deakt Then
' l.RemoveAt(i) ' : i = i - 1
'End If
Next
End If
frmPrintView.Show()
frmPrintView.BefuellenFirmen(l)
End If
End Sub
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
End Sub
Private Sub dgvAuftraege_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAuftraege.CellDoubleClick
frmAuftragNEU.auftragID = dgvAuftraege.CurrentRow.Cells(0).Value
If frmAuftragNEU.Visible Then
MsgBox("Ein Antrag ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
frmAuftragNEU.BringToFront()
End If
frmAuftragNEU.Show()
AddHandler frmAuftragNEU.Disposed, AddressOf meEnabledTrue
frmAuftragNEU.BringToFront()
End Sub
Private Sub tbContrl_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tbContrl.SelectedIndexChanged
txtSuche.Text = ""
txtSuche.Focus()
Tabelle_anzeigen()
End Sub
Private Sub dataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles dgvAuftraege.CellClick
Try
If e.ColumnIndex = dgvAuftraege.Rows(e.RowIndex).Cells("atr_abliefernachweis").ColumnIndex Then
Dim val As Boolean = Not dgvAuftraege.Rows(e.RowIndex).Cells("atr_abliefernachweis").Value
DISPO.setAbliefernachweis(dgvAuftraege.Rows(e.RowIndex).Cells(0).Value, val)
Tabelle_anzeigen()
End If
Catch ex As Exception
End Try
End Sub
Private WithEvents T As New Timers.Timer With {.Interval = 500, .Enabled = True, .AutoReset = True}
Private FormCount As Integer = 1
Private Sub SomeForm_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyData = Keys.Escape Then
Dim TheForm = DirectCast(DirectCast(sender, Control).TopLevelControl, Form)
If Not TheForm Is Nothing Then
TheForm.Close()
End If
End If
If e.KeyData = Keys.PrintScreen Then
Dim TheForm = DirectCast(DirectCast(sender, Control).TopLevelControl, Form)
If Not TheForm Is Nothing Then
Dim c As New cProgramFunctions
c.screenshot()
End If
End If
End Sub
Private Sub HookControls(ByVal f As Control)
For Each Control As Control In f.Controls
AddHandler Control.KeyUp, AddressOf SomeForm_KeyUp
If Control.Controls.Count <> 0 Then
HookControls(Control)
End If
Next
End Sub
Private Sub T_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles T.Elapsed
If FormCount = 0 Then FormCount = 1
Dim FormOpened As Integer = My.Application.OpenForms.Count
If FormCount <> FormOpened Then
If FormOpened > FormCount Then
For x As Integer = 1 To (FormOpened - FormCount)
Dim F As Form = My.Application.OpenForms.Item(FormOpened - x)
AddHandler F.KeyDown, AddressOf SomeForm_KeyUp
HookControls(F)
FormCount = My.Application.OpenForms.Count
Next
Else
FormCount = My.Application.OpenForms.Count
End If
End If
End Sub
Private Sub btnHelp_Click(sender As Object, e As EventArgs) Handles btnHelp.Click
'Process.Start(My.Resources.DISPO_Benutzerhandbuch)
Dim pdf As Byte() = My.Resources.DISPO_Benutzerhandbuch
Using tmp As New FileStream("tmp.pdf", FileMode.Create)
tmp.Write(pdf, 0, pdf.Length)
End Using
Process.Start("tmp.pdf")
' Dim p As pdfviewer
' pdfviewer.src = My.Resources.MyPdfFile
' FileMode.OpenOrCreate(My.Resources.DISPO_Benutzerhandbuch)
End Sub
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles btnDuplicate.Click
Try
Dim AUFTRAG As New cDispoAuftraege(dgvAuftraege.CurrentRow.Cells(0).Value)
AUFTRAG.atr_id = -1
AUFTRAG.atr_datum = Now
AUFTRAG.atr_frachtpos = Nothing
AUFTRAG.LADUNGEN.Clear()
AUFTRAG.BH_rechnungen.Clear()
AUFTRAG.SAVE()
Dim frmAuftragNEU As New frmAuftragNEU
frmAuftragNEU.auftragID = AUFTRAG.atr_id
AddHandler frmAuftragNEU.Disposed, AddressOf meEnabledTrue
frmAuftragNEU.Show()
Exit Sub
Dim a As cAuftraege = DISPO.getAuftragById(dgvAuftraege.CurrentRow.Cells(0).Value)
a.atr_frachtpos = DISPO.getFrachtpos
a.atr_datum = Now
a.atr_abliefernachweis = False
a.atr_ladungen = New List(Of cLadungen)
a.bh_rechnungen = New List(Of cBuchhaltungRechnung)
a.cmr_ausl_land = ""
a.cmr_ausl_ort = ""
a.cmr_beigefDok = ""
a.cmr_anwAbs = ""
a.cmr_rueckerst = ""
a.cmr_frZahlanwFrei = ""
a.cmr_frZahlanwUnfrei = ""
a.cmr_besVereinb = ""
a.cmr_ausgefIn = ""
a.cmr_uebergabe_land = ""
a.cmr_uebergabe_ort = ""
a.cmr_uebergabe_datum = ""
a.cmr_vorbehFrachtf = ""
a.bh_mon = ""
a.bh_vermerke = ""
a.atr_notes = ""
a.atr_gefahrengut = ""
a.atr_frachtkosten = ""
a.atr_entladest_terminBis = ""
a.atr_entladest_terminVon = ""
a.atr_entladest_terminDat = ""
a.atr_ladest_terminBis = ""
a.atr_ladest_terminVon = ""
a.atr_ladest_terminDat = ""
a.atr_bemerkung = ""
a.atr_speditionsbuchNr = -1
a.atr_lkwArt = ""
a.atr_lkwKz = ""
a.atr_lkwNutzlast = ""
a.atr_anhKz = ""
a.atr_anhNutzlast = ""
DISPO.insertAuftragUndLadung(a)
DISPO.setFrachtpos(a.atr_frachtpos)
frmAuftragNEU.auftragID = DISPO.atr_id_insert
AddHandler frmAuftragNEU.Disposed, AddressOf meEnabledTrue
frmAuftragNEU.Show()
'frmAuftragNEU.Show()
Catch ex As Exception
MsgBox("Fehler beim Duplizieren: " & ex.Message)
End Try
End Sub
Private Sub lblVersion_Click(sender As Object, e As EventArgs) Handles lblVersion.Click
frmInfo.Show()
End Sub
Private Sub Button3_Click_2(sender As Object, e As EventArgs) Handles Button3.Click
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", Me) Then
Me.Cursor = Cursors.WaitCursor
Dim eh As New SDL.frmCMR()
eh.Show()
Me.Cursor = Cursors.Default
' End If
Exit Sub
frmCMR.Show()
End Sub
Private Sub btnRechner_Click(sender As Object, e As EventArgs) Handles btnRechner.Click
If dgvFrachtkosten.SelectedRows.Count > 0 Then
frmFrachtkosten.frachtfirma_id = dgvFrachtkosten.CurrentRow.Cells(1).Value
frmFrachtkosten.Show()
AddHandler frmFrachtkosten.Disposed, AddressOf meEnabledTrue
End If
End Sub
Private Sub btnSQL_Click(sender As Object, e As EventArgs) Handles btnSQL.Click
DISPO.doSQL(" " &
" INSERT INTO [DISPO].[dbo].tblBhUntern " &
" SELECT [atr_id] as [bhut_atrId] " &
" ,[bh_unterKennz_1] as [bhut_unternKennz] " &
" ,[bh_unterKennz_bis_1] as [bhut_bis] " &
" ,[bh_unterKennz_kosten_1] as [bhut_kosten] " &
" FROM DISPO.[dbo].[tblAuftraege] " &
" WHERE [bh_unterKennz_1]<>'' or [bh_unterKennz_bis_1]<>'' or [bh_unterKennz_kosten_1]<>'' " &
" INSERT INTO [DISPO].[dbo].tblBhUntern " &
" SELECT [atr_id] as [bhut_atrId] " &
" ,[bh_unterKennz_2] as [bhut_unternKennz] " &
" ,[bh_unterKennz_bis_2] as [bhut_bis] " &
" ,[bh_unterKennz_kosten_2] as [bhut_kosten] " &
" FROM DISPO.[dbo].[tblAuftraege] " &
" WHERE [bh_unterKennz_2]<>'' or [bh_unterKennz_bis_2]<>'' or [bh_unterKennz_kosten_2]<>'' " &
" INSERT INTO [DISPO].[dbo].tblBhUntern " &
" SELECT [atr_id] as [bhut_atrId] " &
" ,[bh_unterKennz_3] as [bhut_unternKennz] " &
" ,[bh_unterKennz_bis_3] as [bhut_bis] " &
" ,[bh_unterKennz_kosten_3] as [bhut_kosten] " &
" FROM DISPO.[dbo].[tblAuftraege] " &
" WHERE [bh_unterKennz_3]<>'' or [bh_unterKennz_bis_3]<>'' or [bh_unterKennz_kosten_3]<>'' ")
End Sub
Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click
Dim s As New SDL.frmSecureLoginKassenbuch
s.openKB = True
s.disableCBO = False
s.ShowDialog(Me)
End Sub
Private Sub DateVONorBIS_ValueChanged(sender As Object, e As EventArgs) Handles DateVON.ValueChanged, DateBIS.ValueChanged
showDGVAuftraege()
End Sub
Private Sub CmdHeute_Click(sender As Object, e As EventArgs) Handles CmdHeute.Click
DateVON.Value = Now()
DateBIS.Value = Now()
End Sub
Private Sub CmdTagMinus_Click(sender As Object, e As EventArgs) Handles CmdTagMinus.Click, CmdTagPlus.Click
If sender Is CmdTagPlus Then
DateVON.Value = DateVON.Value.AddDays(1)
DateBIS.Value = DateVON.Value
Else
DateVON.Value = DateVON.Value.AddDays(-1)
DateBIS.Value = DateVON.Value
End If
End Sub
Private Sub CmdMonat_Click(sender As Object, e As EventArgs) Handles CmdMonat.Click
DateVON.Value = Now.AddDays(-Now.Day + 1)
DateBIS.Value = Now()
End Sub
Private Sub CmdMonatMinus_Click(sender As Object, e As EventArgs) Handles CmdMonatMinus.Click, CmdMonatPlus.Click
If sender Is CmdMonatPlus Then
DateVON.Value = DateVON.Value.AddDays(-DateVON.Value.Day + 1).AddMonths(1)
DateBIS.Value = DateVON.Value.AddMonths(1).AddDays(-1)
Else
DateVON.Value = DateVON.Value.AddDays(-DateVON.Value.Day + 1).AddMonths(-1)
DateBIS.Value = DateVON.Value.AddMonths(1).AddDays(-1)
End If
End Sub
Private Sub CmdJahr_Click(sender As Object, e As EventArgs) Handles CmdJahr.Click
DateVON.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1)
DateBIS.Value = Now()
End Sub
Private Sub CmdJahrMinus_Click(sender As Object, e As EventArgs) Handles CmdJahrMinus.Click, CmdJahrPlus.Click
If sender Is CmdJahrPlus Then
DateVON.Value = DateVON.Value.AddDays(-DateVON.Value.Day + 1).AddMonths(-DateVON.Value.Month + 1).AddYears(1)
DateBIS.Value = DateVON.Value.AddYears(1).AddDays(-1)
Else
DateVON.Value = DateVON.Value.AddDays(-DateVON.Value.Day + 1).AddMonths(-DateVON.Value.Month + 1).AddYears(-1)
DateBIS.Value = DateVON.Value.AddYears(1).AddDays(-1)
End If
End Sub
Private Sub CmdAlle_Click(sender As Object, e As EventArgs) Handles CmdAlle.Click
Try
DateVON.Value = "01.01.1970"
DateBIS.Value = Now.AddDays(-DateVON.Value.Day + 1).AddMonths(-DateVON.Value.Month + 1).AddYears(1)
cboAuftragsart.changeItem("Alle")
cboFiliale.changeItem("Alle")
Catch
MsgBox("Oh oh")
End Try
End Sub
Private Function DatePicker_einblenden()
'DateBIS.Visible = True
'DateVON.Visible = True
'LblVon.Visible = True
'LblBis.Visible = True
PnlDatum.Visible = True
End Function
Private Function DatePicker_ausblenden()
'DateBIS.Visible = False
'DateVON.Visible = False
'LblVon.Visible = False
'LblBis.Visible = False
PnlDatum.Visible = False
End Function
Private Sub btnExportVollmacht_Click(sender As Object, e As EventArgs) Handles btnVollmacht.Click
SDL.FormularManagerNEU.OPEN_FORM(SDL.FormularManagerArten.VERAG_EXPORT, -1, , True)
End Sub
Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
frmMainV2.Show()
End Sub
Private Sub btnAuswertung_Click(sender As Object, e As EventArgs) Handles btnAuswertung.Click
If cboFiliale.SelectedItem.text = "NEUHAUS" Then
frmAuswertung.Niederlassung = "4819"
ElseIf cboFiliale.SelectedItem.text = "SUBEN" Then
frmAuswertung.Niederlassung = "4807"
Else
Niederlassung = ""
End If
frmAuswertung.Show()
End Sub
Public Sub EnableDoubleBuffered(ByVal dgv As DataGridView)
Dim dgvType As Type = dgv.[GetType]()
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered",
BindingFlags.Instance Or BindingFlags.NonPublic)
pi.SetValue(dgv, True, Nothing)
End Sub
End Class