Files
DISPO/UID/Reports/Auswertung/frmAuswertung.vb
2025-04-04 08:17:02 +02:00

302 lines
11 KiB
VB.net

Imports System.Data.SqlClient
Public Class frmAuswertung
Public Shared dt, dt1, dt2 As DataTable
Property Niederlassung As String
Public Shared filialnr, filname, Info, subrep As String
Property von As String = ""
Property bis As String = ""
Property Jahresauswertung As Boolean = False
Property Einzelauswertung As Boolean = False
Property Suchauswertung As Boolean = False
Private Sub mcVon_DateChanged(sender As Object, e As DateRangeEventArgs)
End Sub
Private Sub btnAktuellesJahr_Click(sender As Object, e As EventArgs) Handles btnAktuellesJahr.Click
DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1)
DateBis.Value = Now 'Now.AddDays(-Now.Day)
End Sub
Private Sub btnLetztesJahr_Click(sender As Object, e As EventArgs) Handles btnLetztesJahr.Click
DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1).AddYears(-1)
DateBis.Value = DateSerial(Now.Year - 1, 13, 0) 'Now.AddDays(-Now.Day).AddMonths(-Now.Month + 1)
End Sub
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
End Sub
Private Sub btnLetztesMonat_Click(sender As Object, e As EventArgs) Handles btnLetztesMonat.Click
DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-1)
DateBis.Value = Now.AddDays(-Now.Day)
End Sub
Private Sub chkAusSuchererg_CheckedChanged(sender As Object, e As EventArgs) Handles chkAusSuchererg.CheckedChanged
Panel1.Enabled = Not chkAusSuchererg.Checked
End Sub
Private Sub btnAktMonat_Click(sender As Object, e As EventArgs) Handles btnAktMonat.Click
DateVon.Value = Now.AddDays(-Now.Day + 1)
DateBis.Value = Now()
End Sub
Private Sub chkStatSuchererg_CheckedChanged(sender As Object, e As EventArgs) Handles chkStatSuchererg.CheckedChanged
End Sub
Private Sub chkRechnungen_CheckedChanged(sender As Object, e As EventArgs) Handles chkRechnungen.MouseClick
chkRechnungen.Checked = True
chkEinzelauswertung.Checked = False
chkJahresauswertung.Checked = False
chkStandard.Checked = False
Activinator()
End Sub
Private Sub chkStandard_CheckedChanged(sender As Object, e As EventArgs) Handles chkStandard.MouseClick
chkStandard.Checked = True
chkRechnungen.Checked = False
chkEinzelauswertung.Checked = False
chkJahresauswertung.Checked = False
Activinator()
End Sub
Private Sub chkEinzelauswertung_CheckedChanged(sender As Object, e As EventArgs) Handles chkEinzelauswertung.MouseClick
chkEinzelauswertung.Checked = True
Einzelauswertung = chkEinzelauswertung.Checked
chkStandard.Checked = False
chkRechnungen.Checked = False
If chkEinzelauswertung.Checked Then
chkJahresauswertung.Checked = False
' subrep = "subrptEinzelauswertung"
Else
'subrep = "subrptAuswertung"
End If
Activinator()
End Sub
Private Sub chkJahresauswertung_CheckedChanged(sender As Object, e As EventArgs) Handles chkJahresauswertung.MouseClick
chkJahresauswertung.Checked = True
chkRechnungen.Checked = False
chkStandard.Checked = False
Activinator()
End Sub
Function Activinator()
If chkJahresauswertung.Checked Then
PanJahr.Enabled = True
PanMonat.Enabled = False
Jahresauswertung = True
chkEinzelauswertung.Checked = False
Einzelauswertung = False
Else
PanJahr.Enabled = False
PanMonat.Enabled = True
Jahresauswertung = False
End If
End Function
Private Sub btnAlles_Click(sender As Object, e As EventArgs) Handles btnAlles.Click
DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1).AddYears(-Now.Year + 2000)
DateBis.Value = Now.AddDays(-Now.Day)
End Sub
Private Sub frmAuswertung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'subrep = "subrptAuswertung"
If Niederlassung = "4807" Then
cbStandort.SelectedItem = "4807 - Verag Suben"
ElseIf Niederlassung = "4819" Then
cbStandort.SelectedItem = "4819 - Verag Neuhaus"
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
cbStandort.Items.Clear()
cbStandort.Items.Add("5701 - AMBAR")
cbStandort.SelectedIndex = 0
End If
PanJahr.Enabled = False
PanMonat.Enabled = True
For j As Integer = Now.Year.ToString To 2010 Step -1
cboVon.Items.Add(j)
cboBis.Items.Add(j)
Next
cboVon.SelectedItem = Now.AddYears(-4).Year
cboBis.SelectedItem = Now.AddYears(-1).Year
'DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1)
'DateBis.Value = Now.AddDays(-Now.Day)
DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-1)
DateBis.Value = Now.AddDays(-Now.Day)
If chkAusSuchererg.Checked Then DateVon.Value = von : DateBis.Value = bis : btnAuswertung.PerformClick() : Me.Close()
If chkStatSuchererg.Checked Then DateVon.Value = von : DateBis.Value = bis : btnAuswertung.PerformClick() : Me.Close()
End Sub
Private Sub btnAuswertung_Click(sender As Object, e As EventArgs) Handles btnAuswertung.Click
ReturnFilialnr()
von = DateVon.Value.ToString("dd.MM.yyyy")
bis = DateBis.Value.ToString("dd.MM.yyyy")
filname = cbStandort.SelectedItem
If chkRechnungen.Checked Then
Dim printding As New frmPrintActiveReports
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
dt = vpasql.loadDgvBySql(String.Format(cAbfragen.Rechnungen, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG")
dt2 = vpasql.loadDgvBySql(String.Format(cAbfragen.Vorkosten, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG")
dt.Columns.Add("Vorkosten", GetType(String)) ''dt.Merge(dt2)
For i = 0 To dt.Rows.Count - 1
dt.Rows(i).Item("Vorkosten") = dt2.Rows(i).Item("Vorkosten")
Next
subrep = "subrptAuswertung"
printding.Reporter = "Auswertung"
printding.von = von
printding.bis = bis
printding.filname = cbStandort.SelectedItem
printding.Show()
ElseIf chkStandard.Checked = True Then
Dim printding As New frmPrintActiveReports
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
dt = vpasql.loadDgvBySql(String.Format(cAbfragen.Standardauswertung, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG")
dt2 = vpasql.loadDgvBySql(String.Format(cAbfragen.VorkostenStandardauswertung, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG")
dt.Columns.Add("Vorkosten", GetType(String)) ''dt.Merge(dt2)
For i = 0 To dt.Rows.Count - 1
dt.Rows(i).Item("Vorkosten") = dt2.Rows(i).Item("Vorkosten")
Next
subrep = "subrptAuswertung"
printding.Reporter = "Auswertung"
printding.von = von
printding.bis = bis
printding.filname = cbStandort.SelectedItem
printding.Show()
Else
Auswertung_old()
End If
End Sub
Public Function Auswertung_old()
Dim printauswertung As New frmPrintActiveReports
If cboBis.SelectedItem = Now.Year And chkJahresauswertung.Checked Then
If MsgBox("Achtung! Das Jahr " & cboBis.SelectedItem & " wird nicht vollständig ausgewertet!", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Function
Else
Info = cboBis.SelectedItem
End If
End If
Dim sql, database As String
If Jahresauswertung = False And chkEinzelauswertung.Checked = True Then
'MsgBox("EInzel")
subrep = "subrptEinzelauswertung"
database = "VERAG"
von = DateVon.Value.ToString("dd.MM.yyyy")
bis = DateBis.Value.ToString("dd.MM.yyyy")
sql = String.Format(cAbfragen.Einzelauswertung, filialnr, von, bis)
ElseIf Jahresauswertung = True Then
database = "VERAG"
' MsgBox("Jahresauswertung")
subrep = "subrptAuswertung"
von = DateVon.Value.ToString("01.01" & "." & cboVon.Text) 'cboVon.SelectedItem)
bis = DateBis.Value.ToString("31.12" & "." & cboBis.Text) 'cboBis.SelectedItem)
printauswertung.whatshallwedo = "Jahresauswertung"
sql = String.Format(cAbfragen.Jahresauwertung, filialnr, von, bis)
ElseIf chkAusSuchererg.Checked Then
database = "VERAG"
'MsgBox("aussuch")
subrep = "subrptEinzelauswertung"
'DateVon.Value = usrcntlAuftraege.von
'DateBis.Value = usrcntlAuftraege.bis
Suchauswertung = True
sql = usrcntlAuftraege.SQLAuswerungAusAnsicht
ElseIf chkStatSuchererg.Checked Then
database = "VERAG"
' MsgBox("stat")
Suchauswertung = True
subrep = "subrptEinzelStat"
sql = usrcntlAuftraege.SQLStatAusAnsicht
Else
''MsgBox("norm")
'database = "VERAG"
'subrep = "subrptAuswertung"
'von = DateVon.Value.ToString("dd.MM.yyyy")
'bis = DateBis.Value.ToString("dd.MM.yyyy")
'sql = String.Format(cAbfragen.Standardauswertung, filialnr, von, bis)
End If
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
dt = vpasql.loadDgvBySql(sql, database)
'dt = RemoveDuplicateRows(dt, "atr_frachtpos")
printauswertung.von = von
printauswertung.bis = bis
printauswertung.filname = cbStandort.SelectedItem
printauswertung.Reporter = "Auswertung"
printauswertung.Show()
End Function
Public Function ReturnFilialnr()
If cbStandort.SelectedItem = "4807 - Verag Suben" Then
filialnr = "4807"
ElseIf cbStandort.SelectedItem = "4819 - Verag Neuhaus" Then
filialnr = "4819"
ElseIf cbStandort.SelectedItem.ToString.StartsWith("5701") Then
filialnr = "5701"
End If
Return filialnr
End Function
Public Function RemoveDuplicateRows(ByVal dTable As DataTable, ByVal colName As String) As DataTable
Dim hTable As Hashtable = New Hashtable()
Dim duplicateList As ArrayList = New ArrayList()
For Each drow As DataRow In dTable.Rows
If hTable.Contains(drow(colName)) Then
duplicateList.Add(drow)
Else
hTable.Add(drow(colName), String.Empty)
End If
Next
For Each dRow As DataRow In duplicateList
dTable.Rows.Remove(dRow)
Next
Return dTable
End Function
End Class