282 lines
11 KiB
VB.net
282 lines
11 KiB
VB.net
Imports System.Reflection
|
|
|
|
Public Class frmGesSichMenu
|
|
' Public Zollsatz As Integer = 0
|
|
' Public ZollsatzMulti As Double = 0
|
|
' Public Referenzwert As Integer = 0
|
|
' Public UstEnabled As Boolean = False
|
|
'Public Ust As Integer
|
|
' Public Saldo As Integer = 0
|
|
Public SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim GesSichRef As New cGesamtSicherheitsReferenz
|
|
'Public ATR As Boolean = False
|
|
Public Property Standort As String = ""
|
|
Private Sub frmGesamtsicherheiten_Menu_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
Me.Text = "Gesamtsicherheiten " & Standort
|
|
frmHauptfenster.EnableDoubleBuffered(dgvListe)
|
|
GesSichRef.LoadStandort(Standort)
|
|
lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N")
|
|
|
|
txtVon._ShortDateOnly = True
|
|
txtbis._ShortDateOnly = True
|
|
|
|
txtVon.Text = Date.Today.AddDays(-30).ToString("dd.MM.yyyy")
|
|
txtbis.Text = Date.Today.ToString("dd.MM.yyyy")
|
|
ShowStandort()
|
|
LoadDGV()
|
|
End Sub
|
|
|
|
Public Function LoadDGV()
|
|
Dim sqladdon As String = ""
|
|
If chkOffen.Checked Then sqladdon &= " AND Sicherheitssaldo != '0,00 €'"
|
|
|
|
' Dim sqlstring As String = "select * from (Select GesamtsichNr, MIN(Standort) as Standort, MIN(FilialNummer) as FilialNummer, min(Abfertigungsnummer) as Abfertigungsnummer,
|
|
'max(LKWID) as LKWID, min (MakeDate) as Datum, FORMAT(SUM(
|
|
'Case
|
|
' when Art = 'Open' then (Sicherheitsbetrag * -1)
|
|
' when Art = 'Close' then Sicherheitsbetrag
|
|
'End) , 'C', 'de-DE') As SicherheitsSaldo
|
|
'From [tblGesamtsicherheit]
|
|
'Group by GesamtsichNr) as Temp
|
|
' Where Standort = '" & Standort & "'
|
|
'" & sqladdon & "
|
|
'order by GesamtsichNr"
|
|
|
|
Dim sqlstring As String = " select * from (Select gesamtsichnr, MIN(Standort) as Standort, MIN(FilialNummer) as FilialNummer, min(Abfertigungsnummer) as Abfertigungsnummer,
|
|
max(LKWID) as LKWID, min (MakeDate) as Datum, FORMAT(SUM(
|
|
Case
|
|
when Art = 'Open' then (Sicherheitsbetrag * -1)
|
|
when Art = 'Close' then Sicherheitsbetrag
|
|
End) , 'C', 'de-DE')As SicherheitsSaldo
|
|
From (select * from (select GesamtsichNr as ding from [tblGesamtsicherheit] where
|
|
Freitext like '%" & txtSuchbegriff.Text & "%' OR
|
|
Abfertigungsnummer like '%" & txtSuchbegriff.Text & "%' OR
|
|
Kennnummer like '%" & txtSuchbegriff.Text & "%' OR
|
|
LKWID like '%" & txtSuchbegriff.Text & "%'
|
|
)as tb1 left join [tblGesamtsicherheit] as tb2 on tb1.ding = tb2.GesamtsichNr) as meh group by GesamtsichNr) as meh2
|
|
Where Standort = '" & Standort & "' " & sqladdon & "
|
|
AND Datum > '" & Date.Parse(txtVon.Text) & "'
|
|
AND Datum < '" & Date.Parse(txtbis.Text).AddDays(1).AddSeconds(-1) & "'"
|
|
|
|
dgvListe.SET_SQL(sqlstring, "AVISO")
|
|
dgvListe.LOAD()
|
|
|
|
With dgvListe
|
|
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
|
|
.RowHeadersWidth = 6
|
|
.Columns("Standort").Visible = False
|
|
.Columns("GesamtsichNr").HeaderText = "#"
|
|
.Columns("GesamtsichNr").Width = 36
|
|
.Columns("Filialnummer").HeaderText = "Filiale"
|
|
.Columns("Filialnummer").Width = 43
|
|
.Columns("Abfertigungsnummer").HeaderText = "Abfert.Nr."
|
|
.Columns("Abfertigungsnummer").Width = 107
|
|
.Columns("Datum").Width = 112
|
|
.Columns("SicherheitsSaldo").Width = 96
|
|
End With
|
|
|
|
For Each row As DataGridViewRow In dgvListe.Rows
|
|
If row.Cells("SicherheitsSaldo").Value <> 0 Then
|
|
row.DefaultCellStyle.BackColor = Color.Red
|
|
Else
|
|
row.DefaultCellStyle.BackColor = Color.Green
|
|
End If
|
|
Next
|
|
|
|
End Function
|
|
|
|
Public Sub ShowStandort()
|
|
lblReferenzwert.Text = "Referenzwert: €" & GesSichRef.Referenzwert.ToString("N")
|
|
lblZollsatz.Text = "Zollsatz: " & GesSichRef.Zollsatz & "%"
|
|
lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N")
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub OpenFRM(sender As Object, e As DataGridViewCellEventArgs) Handles dgvListe.CellDoubleClick
|
|
Dim frm As New frmGesSich
|
|
With frm
|
|
.GesSichRef = GesSichRef
|
|
.GesamtsichNr = dgvListe.CurrentRow.Cells("GesamtsichNr").Value
|
|
.Standort = Me.Standort
|
|
.MakeDate = dgvListe.CurrentRow.Cells("Datum").Value
|
|
.LKWID = dgvListe.CurrentRow.Cells("LKWID").Value
|
|
.FilialNummer = dgvListe.CurrentRow.Cells("FilialNummer").Value
|
|
.Abfertigungsnummer = dgvListe.CurrentRow.Cells("Abfertigungsnummer").Value
|
|
End With
|
|
|
|
AddHandler frm.FormClosing, Function()
|
|
GesSichRef.CalcSaldo()
|
|
ShowStandort()
|
|
LoadDGV()
|
|
Me.BringToFront()
|
|
End Function
|
|
frm.Show()
|
|
End Sub
|
|
|
|
Private Sub btnNeu_Click(sender As Object, e As EventArgs) Handles btnNeu.Click
|
|
Dim frm As New frmGesSich
|
|
With frm
|
|
.GesSichRef = GesSichRef
|
|
.Standort = Me.Standort
|
|
.MakeDate = Date.Now
|
|
'.ATR = GesSichRef.ATR
|
|
'.Ust = GesSichRef.Ust
|
|
'.UstEnabled = GesSichRef.UstEnabled
|
|
.Neu = True
|
|
End With
|
|
AddHandler frm.FormClosing, Function()
|
|
GesSichRef.CalcSaldo()
|
|
ShowStandort()
|
|
LoadDGV()
|
|
Me.BringToFront()
|
|
End Function
|
|
frm.Show()
|
|
End Sub
|
|
|
|
Private Sub lblSaldo_Click(sender As Object, e As EventArgs) Handles lblSaldo.Click
|
|
lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N")
|
|
LoadDGV()
|
|
End Sub
|
|
|
|
Private Sub chkOffen_CheckedChanged(sender As Object, e As EventArgs) Handles chkOffen.CheckedChanged, txtSuchbegriff.TextChanged
|
|
If Me.Visible Then LoadDGV()
|
|
End Sub
|
|
Private Sub Keypresses(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtSuchbegriff.KeyPress
|
|
Select Case Asc(e.KeyChar)
|
|
Case 48 To 57, 8, 46, 58, 32, 44, 65 To 90, 97 To 122
|
|
' Zahlen, Backspace, . und : zulassen
|
|
|
|
Case Else
|
|
' alle anderen Eingaben unterdrücken
|
|
e.Handled = True
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
|
|
txtSuchbegriff.Text = "" : chkOffen.Checked = True
|
|
txtVon.Text = Date.Today.AddDays(-30).ToString("dd.MM.yyyy")
|
|
txtbis.Text = Date.Today.ToString("dd.MM.yyyy")
|
|
End Sub
|
|
|
|
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub btnSucheStarten_Click(sender As Object, e As EventArgs) Handles btnSucheStarten.Click
|
|
Try
|
|
Date.Parse(txtVon.Text)
|
|
Date.Parse(txtbis.Text)
|
|
If Me.Visible Then LoadDGV()
|
|
Catch ex As Exception
|
|
MsgBox("Datum VON und/oder BIS konnte nicht konvertiert werden.")
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click
|
|
txtVon.Text = Date.Parse("01.01.1970")
|
|
txtbis.Text = Date.Today.ToString("dd.MM.yyyy")
|
|
End Sub
|
|
|
|
Private Sub ExportCSVToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExportCSVToolStripMenuItem.Click
|
|
csvexport(dgvListe)
|
|
End Sub
|
|
|
|
Public Shared Function csvexport(quelldgv As DataGridView)
|
|
Dim savefiledialog As New SaveFileDialog
|
|
Dim firstin As String
|
|
Dim out As String
|
|
Dim in2 As String
|
|
Dim header As String
|
|
|
|
savefiledialog.Filter = "CSV files (*.csv)|*.CSV"
|
|
savefiledialog.InitialDirectory = "C:\Verag"
|
|
savefiledialog.ShowDialog()
|
|
|
|
|
|
Try
|
|
For r As Integer = 0 To quelldgv.Rows.Count - 1
|
|
For c As Integer = 0 To quelldgv.Columns.Count
|
|
'test &= r & c & vbCrLf
|
|
Try
|
|
'test &= Replace(quelldgv.Rows(r).Cells(c).Value.ToString, vbCrLf, "vbCrlLf")
|
|
firstin = quelldgv.Rows(r).Cells(c).Value.ToString
|
|
'in2 = """" & firstin & """" & ";"
|
|
in2 = firstin & ";"
|
|
out &= Replace(in2, vbCrLf, "##vbCrLf##")
|
|
Catch ex As Exception
|
|
out &= ""
|
|
End Try
|
|
|
|
Next
|
|
|
|
out &= "nZ"
|
|
Next
|
|
For c As Integer = 0 To quelldgv.Columns.Count - 1
|
|
header &= quelldgv.Columns(c).Name & ";"
|
|
Next
|
|
out = Replace(out, "nZ", vbCrLf)
|
|
'MsgBox(out)
|
|
Using sw As New IO.StreamWriter(savefiledialog.FileName)
|
|
sw.WriteLine(header)
|
|
sw.WriteLine(out)
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Function
|
|
End Class
|
|
|
|
Public Class cGesamtSicherheitsReferenz
|
|
Public SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Property Zollsatz As Integer = 0
|
|
Property ZollsatzMulti As Double = 0
|
|
Property Referenzwert As Double = 0
|
|
Property UstEnabled As Boolean = False
|
|
Property Ust As Integer
|
|
Property Saldo As Double = 0
|
|
Property ATR As Boolean = False
|
|
Property Standort As String = ""
|
|
|
|
Public Sub LoadStandort(_Standort As String)
|
|
Dim StandortSqlString As String = "select * from [tblGesamtsicherheitReferenz] where Standort = " & "'" & _Standort & "'"
|
|
Dim dt As New DataTable
|
|
dt = SQL.loadDgvBySql(StandortSqlString, "AVISO", 100, True)
|
|
Zollsatz = dt.Rows(0).Item("Zollsatz")
|
|
Referenzwert = dt.Rows(0).Item("Referenzwert")
|
|
UstEnabled = dt.Rows(0).Item("UstEnabled")
|
|
Ust = dt.Rows(0).Item("Ust")
|
|
ATR = dt.Rows(0).Item("ATR")
|
|
ZollsatzMulti = Zollsatz / 100
|
|
Saldo = dt.Rows(0).Item("aktSaldo")
|
|
Standort = _Standort
|
|
End Sub
|
|
|
|
Public Function CalcSaldo() As String
|
|
Dim SaldoString As String = "select SUM(
|
|
case
|
|
when Art = 'Open' then (Sicherheitsbetrag * -1)
|
|
when Art = 'Close' then Sicherheitsbetrag
|
|
end) as SicherheitsSaldo
|
|
from [tblGesamtsicherheit] Where Standort = '" & Standort & "'"
|
|
|
|
Dim dt As New DataTable
|
|
Dim mrn As Double = 0
|
|
dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True)
|
|
If dt.Rows(0).Item(0).ToString.Length > 0 Then
|
|
mrn = dt.Rows(0).Item(0)
|
|
End If
|
|
|
|
Saldo = Referenzwert + mrn
|
|
|
|
UpdateSaldo()
|
|
Return Saldo
|
|
End Function
|
|
|
|
Public Function UpdateSaldo()
|
|
SQL.doSQL("Update [tblGesamtsicherheitReferenz] Set aktSaldo = '" & Saldo & "' WHERE Standort = '" & Standort & "'", "AVISO")
|
|
End Function
|
|
|
|
End Class |