341 lines
12 KiB
VB.net
341 lines
12 KiB
VB.net
Imports VERAG_PROG_ALLGEMEIN
|
|
Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO
|
|
|
|
Public Class frmAuswahl_Aviso
|
|
'Public frmHilf As frmTabelleBilanzarten
|
|
|
|
Dim Firmen As New cFirmenDAL
|
|
Dim Auswahl_Standort As String = ""
|
|
|
|
Private Sub frmAuswahl_Aviso_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs)
|
|
'Escape händisch abfangen und auf Abbruch-Taste legen
|
|
If e.KeyCode = Keys.Escape Then
|
|
btnAbbruch.PerformClick()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmAuswahl_Aviso_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|
Me.CenterToParent()
|
|
|
|
'AuswahlCombos mit Daten befüllen
|
|
cboFirma.DataSource = Firmen.Anzeigen_cboFirmen("")
|
|
cboFirma.DisplayMember = "Firma"
|
|
cboFirma.ValueMember = "FirmaID"
|
|
|
|
'Vorschlagswerte setzen
|
|
optKunde.Checked = True
|
|
optAlle.Checked = True
|
|
' optAnkunft.Checked = frmMain.optAnkunft.Checked
|
|
' optErfasst.Checked = frmMain.optErfasst.Checked
|
|
'' optFreigegeben.Checked = frmMain.optFreigegeben.Checked
|
|
' optNichtEingetroffen.Checked = frmMain.optNichtEingetroffen.Checked
|
|
|
|
dtpAvisoVon.Value = frmHauptfenster.dtpVon.Value
|
|
dtpAvisoBis.Value = frmHauptfenster.dtpBis.Value
|
|
dtpAnkunftVon.Value = frmHauptfenster.dtpVon.Value
|
|
dtpAnkunftBis.Value = frmHauptfenster.dtpBis.Value
|
|
dtpFreigabeVon.Value = frmHauptfenster.dtpVon.Value
|
|
dtpFreigabeBis.Value = frmHauptfenster.dtpBis.Value
|
|
txtMonat.Text = Now.Month.ToString
|
|
txtJahr.Text = Now.Year.ToString
|
|
optDatumAviso.Checked = True
|
|
|
|
Select Case frmHauptfenster.lblGrenzstelle.Text
|
|
Case "SUB" : optSUB.Checked = True
|
|
Case "SBG" : optSBG.Checked = True
|
|
Case "NKD" : optNKD.Checked = True
|
|
Case "WAI" : optWAI.Checked = True
|
|
Case Else : optStandortAlle.Checked = True
|
|
End Select
|
|
|
|
cboFirma.Text = ""
|
|
optFirmaBeides.Checked = True
|
|
|
|
txtStdVon.Text = "0"
|
|
txtStdBis.Text = "10"
|
|
|
|
' If cGlobal.AktiverMitarbeiter.Sicherheitsstufe > 0 Then
|
|
'optIntern.Visible = False
|
|
' End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click
|
|
'Fenster schließen
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtMitarbeiter.GotFocus, txtLKW_Nr.GotFocus, txtFrächter.GotFocus, txtAuftraggeber.GotFocus, txtMonat.GotFocus, txtJahr.GotFocus
|
|
CType(sender, TextBox).SelectAll()
|
|
End Sub
|
|
|
|
Private Sub txtZahl_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtStdVon.KeyPress, txtStdBis.KeyPress, txtMonat.KeyPress, txtJahr.KeyPress
|
|
'Es sind nur Zahleneingaben erlaubt
|
|
Dim asc As Integer = Convert.ToInt32(e.KeyChar)
|
|
Select Case asc
|
|
'Folgende Tasten sind erlaubt
|
|
'8 = Rücktaste (Back)
|
|
'13 = Enter
|
|
'27 = Esc
|
|
'48 To 57 = 0 bis 9
|
|
Case 8, 13, 27, 48 To 57
|
|
Case Else
|
|
e.Handled = True
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub btnDruck_Click(sender As System.Object, e As System.EventArgs) Handles btnDruck.Click
|
|
|
|
'Logische Prüfungen vor dem Drucken
|
|
If optDatumAnkunft.Checked Then
|
|
If dtpAnkunftBis.Value.Date < dtpAnkunftVon.Value.Date Then
|
|
MsgBox("Ankunft-Bis-Datum darf nicht kleiner sein als Von-Datum.", vbInformation)
|
|
dtpAnkunftVon.Focus()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If optDatumAviso.Checked Then
|
|
If dtpAvisoBis.Value.Date < dtpAvisoVon.Value.Date Then
|
|
MsgBox("Aviso-Eingang-Bis-Datum darf nicht kleiner sein als Von-Datum.", vbInformation)
|
|
dtpAvisoVon.Focus()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If optDatumFreigabe.Checked Then
|
|
If dtpFreigabeBis.Value.Date < dtpFreigabeVon.Value.Date Then
|
|
MsgBox("Freigabe-Bis-Datum darf nicht kleiner sein als Von-Datum.", vbInformation)
|
|
dtpFreigabeVon.Focus()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If optMonatJahr.Checked Then
|
|
Dim Monat As Integer = VarToInt(txtMonat.Text.Trim)
|
|
If Monat < 1 Or Monat > 12 Then
|
|
MsgBox("Monat muss zwischen 1 und 12 liegen.", vbInformation)
|
|
txtMonat.Focus()
|
|
Exit Sub
|
|
End If
|
|
Dim Jahr As Integer = VarToInt(txtJahr.Text.Trim)
|
|
If Jahr < 2014 Or Jahr > Now.Year Then
|
|
MsgBox("Jahr muss zwischen 2014 und " & Now.Year.ToString & " liegen.", vbInformation)
|
|
txtJahr.Focus()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If optFreigegeben.Checked Then
|
|
If VarToInt(txtStdVon.Text) > VarToInt(txtStdBis.Text) Then
|
|
MsgBox("Dauer-Bis darf nicht kleiner sein als Dauer-Von.", vbInformation)
|
|
txtStdVon.Focus()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
'alles OK --> Report starten
|
|
ActiveReportAnzeigen()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ActiveReportAnzeigen()
|
|
|
|
'Zusammenbau der SQL-Abfrage und der Auswahlinfo für den Druck
|
|
Dim hSQL As String = "SELECT * FROM Aviso WHERE Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND "
|
|
Dim hAuswahl As String = "Auswahl: "
|
|
|
|
|
|
If optDatumAnkunft.Checked Then
|
|
hSQL += "Ankunft >= " & SQLDatum(dtpAnkunftVon.Value.Date) & " AND Ankunft <= " & SQLDatum(dtpAnkunftBis.Value.Date.AddDays(1))
|
|
hAuswahl += "Ankunftsdatum von " & Format(dtpAnkunftVon.Value, "dd.MM.yyyy") & " bis " & Format(dtpAnkunftBis.Value, "dd.MM.yyyy") & "; "
|
|
ElseIf optDatumFreigabe.Checked Then
|
|
hSQL += "Freigabe >= " & SQLDatum(dtpFreigabeVon.Value.Date) & " AND Freigabe <= " & SQLDatum(dtpFreigabeBis.Value.Date.AddDays(1))
|
|
hAuswahl += "Freigabedatum von " & Format(dtpFreigabeVon.Value, "dd.MM.yyyy") & " bis " & Format(dtpFreigabeBis.Value, "dd.MM.yyyy") & "; "
|
|
ElseIf optDatumAviso.Checked Then
|
|
hSQL += "Datum >= " & SQLDatum(dtpAvisoVon.Value.Date) & " AND Datum <= " & SQLDatum(dtpAvisoBis.Value.Date.AddDays(1))
|
|
hAuswahl += "Aviso-Eingang von " & Format(dtpAvisoVon.Value, "dd.MM.yyyy") & " bis " & Format(dtpAvisoBis.Value, "dd.MM.yyyy") & "; "
|
|
Else
|
|
hAuswahl += "Monat: " & txtMonat.Text & "/" & txtJahr.Text
|
|
Dim hVon As Date = DateSerial(VarToInt(txtJahr.Text), VarToInt(txtMonat.Text), 1)
|
|
Dim hBis As Date = hVon.AddMonths(1)
|
|
|
|
hSQL += "((Datum >= " & SQLDatum(hVon) & " AND Datum <= " & SQLDatum(hBis) & ") OR " &
|
|
"(Ankunft >= " & SQLDatum(hVon) & " AND Ankunft <= " & SQLDatum(hBis) & ") OR " &
|
|
"(Freigabe >= " & SQLDatum(hVon) & " AND Freigabe <= " & SQLDatum(hBis) & ")) "
|
|
End If
|
|
|
|
If optAlle.Checked Then
|
|
hAuswahl += "Status=alle; "
|
|
ElseIf optErfasst.Checked Then
|
|
hSQL += " AND Status = " & VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst.ToString
|
|
hAuswahl += "Status=erfasst; "
|
|
ElseIf optNichtEingetroffen.Checked Then
|
|
hSQL += " AND Status = " & VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen.ToString
|
|
hAuswahl += "Status=LKW n.e.; "
|
|
ElseIf optAnkunft.Checked Then
|
|
hSQL += " AND Status = " & VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft.ToString
|
|
hAuswahl += "Status=Ankunft; "
|
|
ElseIf optFreigegeben.Checked Then
|
|
hSQL += " AND Status = " & VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben.ToString
|
|
hAuswahl += "Status=freigegeben; "
|
|
End If
|
|
|
|
If optSUB.Checked Then
|
|
hAuswahl += "Standort=Suben; "
|
|
Auswahl_Standort = "SUB"
|
|
ElseIf optSBG.Checked Then
|
|
hAuswahl += "Standort=Salzburg; "
|
|
Auswahl_Standort = "SBG"
|
|
ElseIf optNKD.Checked Then
|
|
hAuswahl += "Standort=Nickelsdorf; "
|
|
Auswahl_Standort = "NKD"
|
|
ElseIf optWAI.Checked Then
|
|
hAuswahl += "Standort=Waidhaus; "
|
|
Auswahl_Standort = "WAI"
|
|
Else
|
|
hAuswahl += "Standort=Alle; "
|
|
Auswahl_Standort = ""
|
|
End If
|
|
|
|
If Auswahl_Standort <> "" Then hSQL += " AND Grenzstelle = '" & Auswahl_Standort & "' "
|
|
|
|
If cboFirma.Text <> "" Then
|
|
hAuswahl = "Firma " & cboFirma.Text
|
|
If optFirmaBeides.Checked Then
|
|
hAuswahl = " (Frächter+Auftraggeber); "
|
|
hSQL += " AND (Frächter = '" & cboFirma.Text & "' OR Auftraggeber = '" & cboFirma.Text & "')"
|
|
ElseIf optFrächter.Checked Then
|
|
hAuswahl = " (Frächter); "
|
|
hSQL += " AND Frächter = '" & cboFirma.Text & "'"
|
|
ElseIf optAuftraggeber.Checked Then
|
|
hAuswahl = " (Auftraggeber); "
|
|
hSQL += " AND Auftraggeber = '" & cboFirma.Text & "'"
|
|
End If
|
|
End If
|
|
|
|
Dim hStern As String = ""
|
|
If txtLKW_Nr.Text.Trim <> "" Then
|
|
hStern += "LKW_Nr LIKE '%" & txtLKW_Nr.Text.Trim & "%'"
|
|
hAuswahl += "LKW-Nr=*" & txtLKW_Nr.Text.Trim & "*; "
|
|
End If
|
|
If txtFrächter.Text.Trim <> "" Then
|
|
If hStern <> "" Then hStern += " OR "
|
|
hStern += "Frächter LIKE '%" & txtFrächter.Text.Trim & "%'"
|
|
hAuswahl += "Frächter=*" & txtFrächter.Text.Trim & "*; "
|
|
End If
|
|
If txtAuftraggeber.Text.Trim <> "" Then
|
|
If hStern <> "" Then hStern += " OR "
|
|
hStern += "Auftraggeber LIKE '%" & txtAuftraggeber.Text.Trim & "%'"
|
|
hAuswahl += "Auftraggeber=*" & txtAuftraggeber.Text.Trim & "*; "
|
|
End If
|
|
If txtMitarbeiter.Text.Trim <> "" Then
|
|
If hStern <> "" Then hStern += " OR "
|
|
hStern += "LetzterMitarbeiter LIKE '%" & txtMitarbeiter.Text.Trim & "%'"
|
|
hAuswahl += "Mitarbeiter=*" & txtMitarbeiter.Text.Trim & "*; "
|
|
End If
|
|
If hStern <> "" Then
|
|
hStern = "(" & hStern & ")"
|
|
hSQL += " AND " & hStern
|
|
End If
|
|
|
|
If optFreigegeben.Checked Then
|
|
'bei Freigabe auch die Dauer mitprüfen
|
|
hSQL += " AND Dauer >= " & (VarToInt(txtStdVon.Text) * 60).ToString & " AND Dauer <= " & (VarToInt(txtStdBis.Text) * 60)
|
|
hAuswahl += "Dauer: " & txtStdVon.Text.Trim & " - " & txtStdBis.Text.Trim & " Std."
|
|
End If
|
|
|
|
'jetzt die Sortierung festlegen
|
|
If optAnkunft.Checked Then
|
|
hSQL += " ORDER BY Ankunft"
|
|
ElseIf optFreigegeben.Checked Then
|
|
hSQL += " ORDER BY Freigabe"
|
|
Else
|
|
hSQL += " ORDER BY Datum"
|
|
End If
|
|
|
|
''nachsehen, ob Frächter speziell ausgewählt wurde
|
|
'Dim hFrächter As String = ""
|
|
'If txtFrächter.Text.Trim <> "" Then
|
|
' If txtFrächter.Text.Contains("*") Then
|
|
' hFrächter = ""
|
|
' Else
|
|
' hFrächter = txtFrächter.Text.Trim
|
|
' End If
|
|
'End If
|
|
'If hFrächter = "" Then
|
|
' If txtAuftraggeber.Text.Trim <> "" Then
|
|
' If txtAuftraggeber.Text.Contains("*") Then
|
|
' hFrächter = ""
|
|
' Else
|
|
' hFrächter = txtAuftraggeber.Text.Trim
|
|
' End If
|
|
' End If
|
|
'End If
|
|
|
|
|
|
Try
|
|
'Dim Werte = New cWerteDAL
|
|
Dim report As rptAuswertung = New rptAuswertung
|
|
|
|
report.Auswahl = hAuswahl
|
|
report.SQL = hSQL
|
|
report.Intern = optIntern.Checked
|
|
report.Frächter = cboFirma.Text
|
|
report.Standort = Auswahl_Standort
|
|
|
|
Dim arAuswertung As New frmDruck(report)
|
|
arAuswertung.Text = "Saldenliste"
|
|
arAuswertung.Show()
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Beim Drucken ist ein Fehler aufgetreten: " & vbCrLf & ex.Message)
|
|
Exit Sub
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub btnDatum_Click(sender As System.Object, e As System.EventArgs) Handles btnLfdMonat.Click, btnLfdJahr.Click, btnVormonat.Click
|
|
|
|
Dim Monatsanfang As Date = DateSerial(Now.Year, Now.Month, 1)
|
|
|
|
If sender Is btnLfdMonat Then
|
|
'laufenden Monat überall vorschlagen
|
|
dtpAvisoVon.Value = Monatsanfang
|
|
dtpAvisoBis.Value = Now.Date
|
|
dtpAnkunftVon.Value = Monatsanfang
|
|
dtpAnkunftBis.Value = Now.Date
|
|
dtpFreigabeVon.Value = Monatsanfang
|
|
dtpFreigabeBis.Value = Now.Date
|
|
txtMonat.Text = Now.Month.ToString
|
|
txtJahr.Text = Now.Year.ToString
|
|
End If
|
|
|
|
If sender Is btnVormonat Then
|
|
'Vormonat überall vorschlagen
|
|
dtpAvisoVon.Value = Monatsanfang.AddMonths(-1)
|
|
dtpAvisoBis.Value = Monatsanfang.AddDays(-1)
|
|
dtpAnkunftVon.Value = Monatsanfang.AddMonths(-1)
|
|
dtpAnkunftBis.Value = Monatsanfang.AddDays(-1)
|
|
dtpFreigabeVon.Value = Monatsanfang.AddMonths(-1)
|
|
dtpFreigabeBis.Value = Monatsanfang.AddDays(-1)
|
|
txtMonat.Text = dtpAvisoVon.Value.Month.ToString
|
|
txtJahr.Text = dtpAvisoVon.Value.Year.ToString
|
|
End If
|
|
|
|
If sender Is btnLfdJahr Then
|
|
'Vormonat überall vorschlagen
|
|
dtpAvisoVon.Value = DateSerial(Now.Year, 1, 1)
|
|
dtpAvisoBis.Value = Now.Date
|
|
dtpAnkunftVon.Value = DateSerial(Now.Year, 1, 1)
|
|
dtpAnkunftBis.Value = Now.Date
|
|
dtpFreigabeVon.Value = DateSerial(Now.Year, 1, 1)
|
|
dtpFreigabeBis.Value = Now.Date
|
|
txtMonat.Text = dtpAvisoVon.Value.Month.ToString
|
|
txtJahr.Text = dtpAvisoVon.Value.Year.ToString
|
|
End If
|
|
|
|
End Sub
|
|
End Class
|