Files
AVISO/Aviso/GVMS/frmGVMS.vb

423 lines
15 KiB
VB.net

Public Class frmGVMS
Dim FahrerAbholAuftrag = False
Dim MONAT As Date = CDate("01." & Now.Month & "." & Now.Year) '.AddMonths(-1)
Dim srcTAG As Date = CDate(Now.ToShortDateString)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim JAHR As Date = CDate("01.01." & Now.Year)
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Dim fullyPainted = False
Protected Overrides Sub WndProc(ByRef m As Message)
MyBase.WndProc(m)
If m.Msg = 15 AndAlso Not fullyPainted Then
fullyPainted = True
setDGVOptions()
' initAllg()
' initFilter()
End If
End Sub
Private Sub usrCntlSDLAbholung_Load(sender As Object, e As EventArgs) Handles Me.Load
txtAbfertDat.Text = Now.AddMonths(-6).ToShortDateString 'CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1).ToShortDateString
txtAbfertDatBis.Text = Now.ToShortDateString
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
cboSachbearbeiter.fillWithSQL("SELECT [mit_id],[mit_vname] + ' '+ [mit_nname] as Name " &
" FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_niederlassung IN ('SUB','Suben') AND mit_abteilung='ZOLL' AND [mit_gekuendigt]=0 order by name", False, "ADMIN", True)
btnSuche.PerformClick()
' If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("BH_Vorauskasse_buchen", "SDL") Then
'pnlBH.Visible = True
' End If
txtGMR.Focus()
End Sub
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
txtAbfertDat._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
txtAbfertDatBis._value = CDate(sender.value).ToShortDateString
End Sub
Sub initBtns(MonatJahr)
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
Select Case MonatJahr
Case "Monat"
DateTimePicker1.Value = MONAT
DateTimePicker2.Value = MONAT.AddMonths(1).AddDays(-1)
Case "Jahr"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = JAHR
DateTimePicker2.Value = JAHR.AddYears(1).AddDays(-1)
'End If
Case "Tag"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = srcTAG
DateTimePicker2.Value = srcTAG
If srcTAG = Now.ToShortDateString Then
Button5.Text = "Heute"
ElseIf srcTAG = Now.AddDays(-1).ToShortDateString Then
Button5.Text = "Gestern"
ElseIf srcTAG = Now.AddDays(-2).ToShortDateString Then
Button5.Text = "Vorgestern"
Else
Button5.Text = srcTAG.ToString("dd.MM")
End If
'End If
Case ""
DateTimePicker1.Value = ("01." & Now.Month & "." & Now.Year)
DateTimePicker2.Value = Now
End Select
btnSuche.PerformClick()
End Sub
Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click
Me.Cursor = Cursors.WaitCursor
Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
Dim sqlstr As String = ""
sqlstr &= " SELECT " & TopMax & " * FROM [tblGVMS] WHERE 1=1 "
With MyDatagridview1
' .DataSource = myTable
.SET_SQL(sqlstr & getWhere() & " order by gvms_datetime desc, gvms_id", "FMZOLL", getList)
.LOAD()
setDGVOptions()
End With
showDGV()
Me.Cursor = Cursors.Default
End Sub
Function getWhere() As String
Dim sqlstr = ""
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND ([gvms_datetime] BETWEEN @DatVon AND @DatBis ) "
Else
sqlstr &= " AND ([gvms_datetime] BETWEEN @DatVon AND @DatVon ) "
End If
End If
If txtGMR.Text <> "" Then sqlstr &= " AND gvms_GMR LIKE @GMR "
If cboSachbearbeiter._value <> "" Then sqlstr &= " AND sms_SachbearbeiterId LIKE @Personalnummer "
If txtKennzeichen.Text <> "" Then sqlstr &= " AND [gvms_vehicleRegNum] LIKE @Kennzeichen "
Return sqlstr
End Function
Function getList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DatVon", txtAbfertDat.Text & " 00:00:00"))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DatBis", txtAbfertDatBis.Text & " 23:59:59"))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GMR", ("%" & txtGMR.Text & "%").Replace("*", "%").Replace("/", "").Replace(" ", "")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Personalnummer", cboSachbearbeiter._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kennzeichen", ("%" & txtKennzeichen.Text & "%").Replace("*", "%").Replace("/", "").Replace(" ", "")))
Return list
End Function
Sub showDGV()
With MyDatagridview1
If .ColumnCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns("gvms_id").Visible = False
'.Columns("sms_id").Visible = False
'.Columns("sms_BatchId").Visible = False
'.Columns("sms_MessageIds").Visible = False
'.Columns("sms_Datum").Width = 100
'.Columns("sms_Datum").HeaderText = "Datum"
'.Columns("sms_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
'.Columns("sms_Sachbearbeiter").Width = 100
'.Columns("sms_Sachbearbeiter").HeaderText = "Erfassung SB"
'.Columns("sms_Account").Visible = False
'.Columns("Nummer").Width = 150
'.Columns("Nummer").HeaderText = "Handy Nummer"
'.Columns("sms_Nachricht").MinimumWidth = 100
'.Columns("sms_Nachricht").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("sms_Nachricht").HeaderText = "Nachricht"
' lblErgebnis.Text = "Ergebnise: " & .RowCount
End With
End Sub
Private Sub FlatButton7_Click(sender As Object, e As EventArgs) Handles FlatButton7.Click
MyDatagridview1.RELOAD()
setDGVOptions()
End Sub
Sub setDGVOptions()
Try
Exit Sub
With MyDatagridview1
For Each r As DataGridViewRow In .Rows
If r.Cells("sdlAb_Storniert").Value IsNot DBNull.Value AndAlso r.Cells("sdlAb_Storniert").Value Then
r.DefaultCellStyle.ForeColor = Color.Red
r.DefaultCellStyle.SelectionForeColor = Color.Red
' r.DefaultCellStyle.SelectionBackColor = Color.White
ElseIf r.Cells("sdlAb_Abgeholt").Value IsNot DBNull.Value AndAlso r.Cells("sdlAb_Abgeholt").Value Then
r.DefaultCellStyle.ForeColor = Color.DarkGreen
r.DefaultCellStyle.SelectionForeColor = Color.DarkGreen
' r.DefaultCellStyle.SelectionBackColor = Color.White
End If
Next
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btnExcel_Click(sender As Object, e As EventArgs) Handles btnExcel.Click
Me.Cursor = Cursors.WaitCursor
SDL.cProgramFunctions.genExcelFromDGV_NEW(MyDatagridview1, False)
Me.Cursor = Cursors.Default
End Sub
Private Sub MyDatagridview1_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles MyDatagridview1.CellMouseClick
Exit Sub
If e.Button = Windows.Forms.MouseButtons.Right Then
MyDatagridview1.ClearSelection()
MyDatagridview1.Rows(e.RowIndex).Selected = True
' MyDatagridview1.CurrentCell = MyDatagridview1.Rows(e.RowIndex).Cells("sms_Handynummer")
MyDatagridview1.Rows(e.RowIndex).Selected = True
cntxtOptionen.Show(System.Windows.Forms.Cursor.Position)
End If
End Sub
Private Sub MyDatagridview1_SelectionChanged(sender As Object, e As EventArgs) Handles MyDatagridview1.SelectionChanged
If MyDatagridview1.SelectedRows.Count > 0 Then
End If
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
srcTAG = srcTAG.AddDays(-1)
initBtns("Tag")
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
srcTAG = srcTAG.AddDays(1)
initBtns("Tag")
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
initBtns("Tag")
End Sub
Private Sub btnMonat_Click(sender As Object, e As EventArgs) Handles btnMonat.Click
initBtns("Monat")
End Sub
Private Sub btnJahr_Click(sender As Object, e As EventArgs) Handles btnJahr.Click
initBtns("Jahr")
End Sub
Private Sub btnBisMonat_Click(sender As Object, e As EventArgs) Handles btnBisMonat.Click
MONAT = MONAT.AddMonths(1)
initBtns("Monat")
End Sub
Private Sub btnVonMonat_Click(sender As Object, e As EventArgs) Handles btnVonMonat.Click
MONAT = MONAT.AddMonths(-1)
initBtns("Monat")
End Sub
Private Sub btnBisJahr_Click(sender As Object, e As EventArgs) Handles btnBisJahr.Click
JAHR = JAHR.AddYears(1)
initBtns("Jahr")
End Sub
Private Sub btnVonJahr_Click(sender As Object, e As EventArgs) Handles btnVonJahr.Click
JAHR = JAHR.AddYears(-1)
initBtns("Jahr")
End Sub '
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim f As New frmGVMSNew
If f.ShowDialog(Me) = DialogResult.OK Then
Threading.Thread.Sleep(500) ' Bissi warten, ob GMR schon gneriert wurde..
GET_NOTIFICATIONS() ' ... GMR laden
If f.GVMS IsNot Nothing Then
f.GVMS.LOAD()
If If(f.GVMS.gvms_GMR, "") <> "" Then
MsgBox("GMR in Zwischenablage kopiert: " & f.GVMS.gvms_GMR)
Clipboard.SetText(f.GVMS.gvms_GMR)
End If
End If
End If
MyDatagridview1.RELOAD()
End Sub
Private Sub txtAuftragsnr_KeyDown(sender As Object, e As KeyEventArgs) Handles txtGMR.KeyDown
If e.KeyCode = Keys.Return Then
btnSuche.PerformClick()
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
GET_NOTIFICATIONS()
MyDatagridview1.RELOAD()
End Sub
Sub GET_NOTIFICATIONS()
Try
Me.Cursor = Cursors.WaitCursor
Dim dt = SQL.loadDgvBySql("SELECT distinct([gvms_notification_boxid]) FROM [tblGVMS] where gvms_GMR is null and gvms_notification_boxid is not null", "FMZOLL")
If dt IsNot Nothing Then
For Each row In dt.Rows
VERAG_PROG_ALLGEMEIN.cHMRC.GET_NOTIFICATIONS(row("gvms_notification_boxid"))
Next
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles MyDatagridview1.CellDoubleClick
If e.RowIndex > 0 Then
Dim GVMS = New VERAG_PROG_ALLGEMEIN.cGVMS(MyDatagridview1.Rows(e.RowIndex).Cells("gvms_id").Value)
If GVMS.hasEntry Then
Dim hasGMR = (If(GVMS.gvms_GMR, "") <> "")
Dim f As New frmGVMSNew(GVMS)
If f.ShowDialog(Me) = DialogResult.OK Then
Threading.Thread.Sleep(500) ' Bissi warten, ob GMR schon gneriert wurde..
GET_NOTIFICATIONS() ' ... GMR laden
If f.GVMS IsNot Nothing Then
f.GVMS.LOAD()
If Not hasGMR Then
If If(f.GVMS.gvms_GMR, "") <> "" Then
MsgBox("GMR in Zwischenablage kopiert: " & f.GVMS.gvms_GMR)
Clipboard.SetText(f.GVMS.gvms_GMR)
End If
End If
End If
End If
MyDatagridview1.RELOAD()
End If
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyDatagridview1.SelectedRows.Count() = 1 Then
Dim GVMS = New VERAG_PROG_ALLGEMEIN.cGVMS(MyDatagridview1.SelectedRows(0).Cells("gvms_id").Value)
If GVMS.hasEntry AndAlso If(GVMS.gvms_GMR, "") <> "" Then
VERAG_PROG_ALLGEMEIN.cHMRC.DELETE_GMR(GVMS)
End If
ElseIf MyDatagridview1.SelectedRows.Count() = 0 Then
Else
MsgBox("Bitte nur einen Eintrag auswählen.")
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
VERAG_PROG_ALLGEMEIN.cHMRC.GET_GVMS_LIST()
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
If MyDatagridview1.SelectedRows.Count() = 1 Then
Dim GVMS = New VERAG_PROG_ALLGEMEIN.cGVMS(MyDatagridview1.SelectedRows(0).Cells("gvms_id").Value)
If GVMS.hasEntry AndAlso If(GVMS.gvms_GMR, "") <> "" Then
VERAG_PROG_ALLGEMEIN.cHMRC.GET_GVMS_GMR(GVMS.gvms_GMR)
End If
ElseIf MyDatagridview1.SelectedRows.Count() = 0 Then
Else
MsgBox("Bitte nur einen Eintrag auswählen.")
End If
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
VERAG_PROG_ALLGEMEIN.cHMRC.getGVMS_RefData()
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
If MyDatagridview1.SelectedRows.Count() = 1 Then
Dim GVMS = New VERAG_PROG_ALLGEMEIN.cGVMS(MyDatagridview1.SelectedRows(0).Cells("gvms_id").Value)
If GVMS.hasEntry AndAlso If(GVMS.gvms_notification_boxid, "") <> "" AndAlso If(GVMS.gvms_notification_id, "") <> "" Then
VERAG_PROG_ALLGEMEIN.cHMRC.Acknowledge_NOTIFICATIONS(GVMS.gvms_notification_boxid, GVMS.gvms_notification_id)
End If
ElseIf MyDatagridview1.SelectedRows.Count() = 0 Then
Else
MsgBox("Bitte nur einen Eintrag auswählen.")
End If
End Sub
End Class