Files
AVISO/Aviso/frmGesamtsicherheitenMenu.vb

308 lines
13 KiB
VB.net

Imports System.Reflection
Public Class frmGesamtsicherheitenMenu
' 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
Dim GesSichRef As VERAG_PROG_ALLGEMEIN.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
cbxStandort.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True)
cbxWarenort.fillWithSQL("SELECT [grz_Grenzstelle], [grz_Bezeichnung] FROM [tblGrenzstelle] WHERE [grz_Aktiv] ='1' AND [grz_Warenort] ='1' ORDER BY [grz_Reihenfolge] ", True, "AVISO", True)
Me.Text = "Gesamtsicherheiten " & Standort
frmHauptfenster.EnableDoubleBuffered(dgvListe)
GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(Standort)
'GesSichRef.LOAD("standort", 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 gs_Sicherheitssaldo != '0,00 €'"
If cbxStandort._value <> "" Then sqladdon &= " AND gs_filialenNr = '" & cbxStandort._value.ToString & "'"
If cbxWarenort._value <> "" Then sqladdon &= " AND gs_warenort = '" & cbxWarenort._value.ToString & "'"
' 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 gs_gsNr as gs_gsnr, MIN(gs_standort) as gs_standort, MIN(gs_warenort) as gs_warenort, MIN(gs_filialenNr) as gs_filialenNr, min(gs_abfertigungsNr) as gs_abfertigungsNr,
max(gs_LKWID) as gs_LKWID, min (gs_datum) as gs_datum, FORMAT(SUM(
Case
when gs_art = 'Open' then (gs_sicherheitsbetrag * -1)
when gs_art = 'Close' then gs_sicherheitsbetrag
End) , 'C', 'de-DE')As gs_SicherheitsSaldo
From (select * from (select gs_gsNr as ding from [tblGesamtsicherheit] where
gs_freitext like '%" & txtSuchbegriff.Text & "%' OR
gs_abfertigungsNr like '%" & txtSuchbegriff.Text & "%' OR
gs_ATBNr like '%" & txtSuchbegriff.Text & "%' OR
gs_LKWID like '%" & txtSuchbegriff.Text & "%' OR
gs_warenort like '%" & txtSuchbegriff.Text & "%'
) as tb1 left join [tblGesamtsicherheit] as tb2 on tb1.ding = tb2.gs_gsNr) as meh group by gs_gsNr) as meh2
Where gs_standort = '" & Standort & "' " & sqladdon & "
AND gs_datum > '" & Date.Parse(txtVon.Text) & "'
AND gs_datum < '" & Date.Parse(txtbis.Text).AddDays(1).AddSeconds(-1) & "'"
dgvListe.SET_SQL(sqlstring, "AVISO")
dgvListe.LOAD()
With dgvListe
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.RowHeadersWidth = 6
.Columns("gs_standort").Visible = False
.Columns("gs_gsnr").HeaderText = "#"
.Columns("gs_gsnr").Width = 36
.Columns("gs_filialenNr").HeaderText = "Filiale"
.Columns("gs_filialenNr").Width = 43
.Columns("gs_abfertigungsNr").HeaderText = "Abfert.Nr."
.Columns("gs_abfertigungsNr").Width = 107
.Columns("gs_datum").Width = 112
.Columns("gs_SicherheitsSaldo").Width = 106
.Columns("gs_Warenort").Width = 96
.Columns("gs_Warenort").HeaderText = "Warenort"
End With
For Each row As DataGridViewRow In dgvListe.Rows
If row.Cells("gs_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.gsr_referenzwert.ToString("N")
lblReferenzwert.Text = "Referenzwert: €" & GesSichRef.gsr_referenzwert.ToString()
lblZollsatz.Text = "Zollsatz: " & GesSichRef.gsr_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 frmGesamtsicherheiten
With frm
.GesSichRef = GesSichRef
.gessicherheitID = dgvListe.CurrentRow.Cells("gs_gsnr").Value
.Standort = Me.Standort
.datum = dgvListe.CurrentRow.Cells("gs_datum").Value
.LKWID = dgvListe.CurrentRow.Cells("gs_LKWID").Value
.FilialNummer = dgvListe.CurrentRow.Cells("gs_filialenNr").Value
.Abfertigungsnummer = dgvListe.CurrentRow.Cells("gs_abfertigungsNr").Value
.warenortID = dgvListe.CurrentRow.Cells("gs_warenort").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 frmGesamtsicherheiten
With frm
.GesSichRef = GesSichRef
.Standort = Me.Standort
.datum = 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")
cbxStandort._value = ""
cbxWarenort._value = ""
btnSucheStarten_Click(sender, e)
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 StandortSqlString As String = "select * from [tblGesamtsicherheitReferenz] where gsr_standort = " & "'" & _Standort & "'"
' Dim dt As New DataTable
' dt = SQL.loadDgvBySql(StandortSqlString, "AVISO", 100, True)
' 'Zollsatz = dt.Rows(0).Item("Zollsatz")
' Zollsatz = dt.Rows(0).Item("gsr_zollsatz")
' 'Referenzwert = dt.Rows(0).Item("Referenzwert")
' Referenzwert = dt.Rows(0).Item("gsr_referenzwert")
' UstEnabled = dt.Rows(0).Item("gsr_ustEnabled")
' 'UstEnabled = dt.Rows(0).Item("UstEnabled")
' Ust = dt.Rows(0).Item("gsr_ust")
' 'Ust = dt.Rows(0).Item("Ust")
' ATR = dt.Rows(0).Item("gsr_ATR")
' 'ATR = dt.Rows(0).Item("ATR")
' ZollsatzMulti = Zollsatz / 100
' Saldo = dt.Rows(0).Item("gsr_aktSaldo")
' 'Saldo = dt.Rows(0).Item("aktSaldo")
' Standort = _Standort
' End Sub
' Public Function CalcSaldo() As String
' Dim SaldoString As String =
' "select SUM(
' case
' when gs_art = 'Open' then (gs_sicherheitsbetrag * -1)
' when gs_art = 'Close' then gs_sicherheitsbetrag
' end) as SicherheitsSaldo
' from [tblGesamtsicherheit] Where gs_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 Functio
' Public Function updateSaldo()
' SQL.doSQL("Update [tblGesamtsicherheitReferenz] Set gsr_aktSaldo = '" & Saldo & "' WHERE gsr_Standort = '" & Standort & "'", "AVISO")
' End Function
'End Class