257 lines
13 KiB
VB.net
257 lines
13 KiB
VB.net
Imports System.Globalization
|
|
|
|
Public Class frmFrachtkosten
|
|
Dim cFrachtkostenSQL As New cFrachtkostenSQL
|
|
Dim culture As New CultureInfo("de-DE")
|
|
Public frachtfirma_id As Integer = -1
|
|
Private Sub Label10_Click(sender As Object, e As EventArgs) Handles Label10.Click, Label11.Click, Label16.Click, Label17.Click, Label21.Click, Label23.Click, Label31.Click
|
|
|
|
End Sub
|
|
|
|
Private Sub cbo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboFirmen.SelectedIndexChanged
|
|
If cboFirmen.Items.Count > 0 Then
|
|
Dim oItem As MyListItem = CType(cboFirmen.SelectedItem, MyListItem)
|
|
Dim frachtosten As cFrachtkosten = cFrachtkostenSQL.getFrachtkosten(oItem.Value)
|
|
txtFirmaPreisProM3.Text = frachtosten.frtkst_preisM3.ToString("N", culture)
|
|
txtFirmaPreisProLDM.Text = frachtosten.frtkst_preisLDM.ToString("N", culture)
|
|
txtFirmaProvision.Text = frachtosten.frtkst_provision.ToString("N", culture)
|
|
End If
|
|
initRechner()
|
|
End Sub
|
|
|
|
Private Sub frmFrachtkosten_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
|
|
' frmMain.BringToFront()
|
|
End Sub
|
|
|
|
Private Sub frmFrachtkosten_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Dim firmen As List(Of cFrachtkostenFirmen) = cFrachtkostenSQL.getFirmen
|
|
If Not firmen Is Nothing AndAlso firmen.Count > 0 Then
|
|
For Each f In firmen
|
|
cboFirmen.Items.Add(New MyListItem(f.kd_firma, f.kd_id))
|
|
Next
|
|
cboFirmen.SelectedIndex = 0
|
|
End If
|
|
If frachtfirma_id >= 0 Then
|
|
For Each i In cboFirmen.Items
|
|
Dim oItem As MyListItem = CType(i, MyListItem)
|
|
If oItem.Value = frachtfirma_id Then
|
|
cboFirmen.SelectedItem = i
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
With dgvFrachtkosten
|
|
.Columns(6).ReadOnly = True
|
|
.Columns(7).ReadOnly = True
|
|
.Columns(9).ReadOnly = True
|
|
|
|
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
|
|
|
|
.Columns(5).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
|
|
.Columns(5).DefaultCellStyle.Format = "n"
|
|
.Columns(6).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
|
|
.Columns(6).DefaultCellStyle.Format = "n"
|
|
.Columns(7).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
|
|
.Columns(7).DefaultCellStyle.Format = "n"
|
|
.Columns(8).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
|
|
.Columns(8).DefaultCellStyle.Format = "n"
|
|
.Columns(9).DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("de-DE")
|
|
.Columns(9).DefaultCellStyle.Format = "n"
|
|
|
|
.Columns(5).DefaultCellStyle.Font = New Font("Arial", 8.25, FontStyle.Bold)
|
|
.Columns(6).DefaultCellStyle.Font = New Font("Arial", 8.25, FontStyle.Bold)
|
|
.Columns(7).DefaultCellStyle.Font = New Font("Arial", 8.25, FontStyle.Bold)
|
|
|
|
.Columns(0).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(1).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(2).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(3).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(4).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(5).DefaultCellStyle.BackColor = Color.White
|
|
.Columns(8).DefaultCellStyle.BackColor = Color.White
|
|
|
|
.Columns(6).DefaultCellStyle.BackColor = Color.LightGray
|
|
.Columns(7).DefaultCellStyle.BackColor = Color.LightGray
|
|
.Columns(9).DefaultCellStyle.BackColor = Color.LightGray
|
|
End With
|
|
|
|
End Sub
|
|
|
|
|
|
Sub initRechner()
|
|
Dim sumStk As Integer = 0
|
|
Dim sumTatGew As Double = 0
|
|
Dim sumLdm As Double = 0
|
|
Dim sumGewLDM As Double = 0
|
|
Dim sumGewM3 As Double = 0
|
|
Dim sumBetrag As Double = 0
|
|
|
|
|
|
With dgvFrachtkosten
|
|
For i As Integer = 0 To .RowCount - 2
|
|
Dim r As DataGridViewRow = .Rows(i)
|
|
Try
|
|
Dim stueck As Integer = CInt(r.Cells(0).Value)
|
|
Dim laenge As Double = CDbl(r.Cells(1).Value)
|
|
Dim breite As Double = CDbl(r.Cells(2).Value)
|
|
Dim hoehe As Double = CDbl(r.Cells(3).Value)
|
|
|
|
If IsNumeric(stueck) AndAlso IsNumeric(laenge) AndAlso IsNumeric(breite) AndAlso IsNumeric(hoehe) AndAlso IsNumeric(txtFirmaPreisProM3.Text) Then
|
|
r.Cells(6).Value = CDbl((stueck * laenge * breite * hoehe) / 1000000 * txtFirmaPreisProM3.Text).ToString("N", culture)
|
|
Else
|
|
r.Cells(6).Value = "0.00"
|
|
End If
|
|
|
|
If IsNumeric(r.Cells(4).Value) AndAlso IsNumeric(txtFirmaPreisProLDM.Text) Then
|
|
r.Cells(7).Value = CDbl(r.Cells(4).Value * txtFirmaPreisProLDM.Text).ToString("N", culture)
|
|
Else
|
|
r.Cells(7).Value = "0.00"
|
|
End If
|
|
|
|
If IsNumeric(r.Cells(8).Value) AndAlso IsNumeric(txtFirmaProvision.Text) Then
|
|
r.Cells(9).Value = CDbl(r.Cells(8).Value * txtFirmaProvision.Text).ToString("N", culture)
|
|
Else
|
|
r.Cells(9).Value = "0.00"
|
|
End If
|
|
|
|
|
|
|
|
If IsNumeric(stueck) Then sumStk += stueck
|
|
If IsNumeric(r.Cells(5).Value) Then sumTatGew += r.Cells(5).Value ' : r.Cells(5).Value = String.Format(CDbl(r.Cells(5).Value), "N", culture)
|
|
If IsNumeric(r.Cells(4).Value) Then sumLdm += r.Cells(4).Value
|
|
If IsNumeric(r.Cells(7).Value) Then sumGewLDM += r.Cells(7).Value ': r.Cells(7).Value = String.Format(CDbl(r.Cells(7).Value), "N", culture)
|
|
If IsNumeric(r.Cells(6).Value) Then sumGewM3 += r.Cells(6).Value ': r.Cells(6).Value = String.Format(CDbl(r.Cells(6).Value), "N", culture)
|
|
If IsNumeric(r.Cells(9).Value) Then sumBetrag += r.Cells(9).Value
|
|
|
|
|
|
r.Cells(5).Style.BackColor = Color.White
|
|
r.Cells(6).Style.BackColor = Color.LightGray
|
|
r.Cells(7).Style.BackColor = Color.LightGray
|
|
If IsNumeric(r.Cells(5).Value) And IsNumeric(r.Cells(6).Value) And IsNumeric(r.Cells(7).Value) Then
|
|
Dim TatGew As Double = CDbl(r.Cells(5).Value)
|
|
Dim GewLDM As Double = CDbl(r.Cells(7).Value)
|
|
Dim GewM3 As Double = CDbl(r.Cells(6).Value)
|
|
|
|
r.Cells(5).Style.BackColor = Color.Pink 'LightYellow
|
|
r.Cells(6).Style.BackColor = Color.Pink 'LightYellow
|
|
r.Cells(7).Style.BackColor = Color.Pink 'LightYellow
|
|
|
|
If TatGew >= GewM3 And TatGew >= GewLDM Then r.Cells(5).Style.BackColor = System.Drawing.Color.FromArgb(192, 255, 192)
|
|
If GewM3 >= TatGew And GewM3 >= GewLDM Then r.Cells(6).Style.BackColor = System.Drawing.Color.FromArgb(192, 255, 192)
|
|
If GewLDM >= TatGew And GewLDM >= GewM3 Then r.Cells(7).Style.BackColor = System.Drawing.Color.FromArgb(192, 255, 192)
|
|
|
|
' If TatGew <= GewM3 And TatGew <= GewLDM Then r.Cells(5).Style.BackColor = Color.Pink
|
|
' If GewM3 <= TatGew And GewM3 <= GewLDM Then r.Cells(6).Style.BackColor = Color.Pink
|
|
' If GewLDM <= TatGew And GewLDM <= GewM3 Then r.Cells(7).Style.BackColor = Color.Pink
|
|
End If
|
|
Catch
|
|
End Try
|
|
Next
|
|
End With
|
|
txtSumStk.Text = sumStk
|
|
txtSumTatGew.Text = sumTatGew
|
|
txtSumLdm.Text = sumLdm
|
|
txtSumGewLDM.Text = sumGewLDM
|
|
txtSumGewM3.Text = sumGewM3
|
|
txtSumBetrag.Text = sumBetrag
|
|
End Sub
|
|
|
|
Sub initRechnerold()
|
|
|
|
If IsNumeric(txtCalcStueck.Text) AndAlso IsNumeric(txtCalcHoehe.Text) AndAlso IsNumeric(txtCalcBreite.Text) AndAlso IsNumeric(txtCalcLaenge.Text) Then
|
|
lblCalcM3.Text = CDbl(txtCalcStueck.Text * txtCalcHoehe.Text * txtCalcBreite.Text * txtCalcLaenge.Text / 1000000).ToString("N", culture) & " m³"
|
|
Else
|
|
lblCalcM3.Text = "0.00 m³"
|
|
End If
|
|
|
|
If IsNumeric(txtCalcStueck.Text) AndAlso IsNumeric(txtCalcHoehe.Text) AndAlso IsNumeric(txtCalcBreite.Text) AndAlso IsNumeric(txtCalcLaenge.Text) AndAlso IsNumeric(txtFirmaPreisProM3.Text) Then
|
|
txtCalcGewichtM3.Text = CDbl(txtCalcStueck.Text * txtCalcHoehe.Text * txtCalcBreite.Text * txtCalcLaenge.Text / 1000000 * txtFirmaPreisProM3.Text).ToString("N", culture)
|
|
Else
|
|
txtCalcGewichtM3.Text = "0.00"
|
|
End If
|
|
|
|
If IsNumeric(txtCalcLademeter.Text) AndAlso IsNumeric(txtFirmaPreisProLDM.Text) Then
|
|
txtCalcGewichtLDM.Text = CDbl(txtCalcLademeter.Text * txtFirmaPreisProLDM.Text).ToString("N", culture)
|
|
Else
|
|
txtCalcGewichtLDM.Text = "0.00"
|
|
End If
|
|
|
|
If IsNumeric(txtCalcKurs.Text) AndAlso IsNumeric(txtFirmaProvision.Text) Then
|
|
txtCalcBetrag.Text = CDbl(txtCalcKurs.Text * txtFirmaProvision.Text).ToString("N", culture)
|
|
Else
|
|
txtCalcBetrag.Text = "0.00"
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txtCalcTatGewicht_LostFocus(sender As Object, e As EventArgs) Handles txtCalcTatGewicht.LostFocus
|
|
Try : txtCalcTatGewicht.Text = CDbl(txtCalcTatGewicht.Text).ToString("N", culture) : Catch : End Try
|
|
End Sub
|
|
|
|
Private Sub txtCalcStueck_TextChanged(sender As Object, e As EventArgs) Handles txtCalcStueck.TextChanged, txtCalcLaenge.TextChanged, txtCalcBreite.TextChanged, txtCalcHoehe.TextChanged, txtCalcLademeter.TextChanged, txtCalcKurs.TextChanged, txtCalcTatGewicht.TextChanged, txtFirmaProvision.TextChanged, txtFirmaPreisProLDM.TextChanged, txtFirmaPreisProM3.TextChanged
|
|
initRechner()
|
|
End Sub
|
|
|
|
Private Sub sum_textchanged(sender As Object, e As EventArgs) Handles txtSumLdm.TextChanged, txtSumStk.TextChanged, txtSumBetrag.TextChanged, txtSumGewLDM.TextChanged, txtSumGewM3.TextChanged, txtSumTatGew.TextChanged
|
|
Try : sender.text = CDbl(sender.text).ToString("N", culture) : Catch : End Try
|
|
End Sub
|
|
|
|
Private Sub btnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click
|
|
If cboFirmen.Items.Count > cboFirmen.SelectedIndex + 1 Then
|
|
cboFirmen.SelectedIndex += 1
|
|
Else
|
|
cboFirmen.SelectedIndex = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnPrev_Click(sender As Object, e As EventArgs) Handles btnPrev.Click
|
|
If cboFirmen.SelectedIndex > 0 Then
|
|
cboFirmen.SelectedIndex -= 1
|
|
Else
|
|
cboFirmen.SelectedIndex = cboFirmen.Items.Count - 1
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
Dim cFrachtkosten As New cFrachtkosten
|
|
Dim oItem As MyListItem = CType(cboFirmen.SelectedItem, MyListItem)
|
|
If cboFirmen.Items.Count > 0 AndAlso cboFirmen.SelectedIndex >= 0 AndAlso IsNumeric(oItem.Value) Then
|
|
cFrachtkosten.frtkst_firmaId = oItem.Value
|
|
cFrachtkosten.frtkst_preisLDM = txtFirmaPreisProLDM.Text
|
|
cFrachtkosten.frtkst_preisM3 = txtFirmaPreisProM3.Text
|
|
cFrachtkosten.frtkst_provision = txtFirmaProvision.Text
|
|
cFrachtkostenSQL.setFrachtkosten(cFrachtkosten)
|
|
End If
|
|
'frmMain.Tabelle_anzeigen()
|
|
End Sub
|
|
|
|
Private Sub dgvFrachtkosten_CellLeave(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFrachtkosten.CellValidated
|
|
Try
|
|
Dim c As DataGridViewCell = dgvFrachtkosten.Rows(e.RowIndex).Cells(e.ColumnIndex)
|
|
If IsNumeric(c.Value) Then
|
|
If e.ColumnIndex >= 4 Then c.Value = CDbl(c.Value).ToString("N", culture)
|
|
c.Style.ForeColor = Color.Black
|
|
Else
|
|
c.Style.ForeColor = Color.DarkRed
|
|
End If
|
|
Catch ex As Exception : MsgBox(ex.Message) : End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub dgvFrachtkosten_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFrachtkosten.CellValueChanged
|
|
initRechner()
|
|
End Sub
|
|
|
|
End Class |