Files
AVISO/Aviso/Benachrichtigung/usrCntlBenachrichtigungen.vb

414 lines
20 KiB
VB.net

Imports DAKOSY_Worker.SumAErledigungsinformationVorpapier
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlBenachrichtigungen
Dim VERAGSQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim ASF As New AvisoStatusFunctions
Public Event SelectionChanged()
Public Sub initDgvAvisoBenachrichtigungen(Grid_aktiv, gridFont)
Try
' SplitContainer3.Panel1Collapsed = True : Exit Sub
If Not Grid_aktiv Then Exit Sub
With gridAvisoBenachrichtigungen
.DefaultCellStyle.Font = gridFont
If .Columns IsNot Nothing AndAlso .Columns.Count > 0 Then .Columns.Clear()
'.RowTemplate.Height = rowHeight 'muss vor Bindung sein
'If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing AndAlso VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId > 0 Then
' whereMA = " AND (ab_TO_MaId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "' OR ab_TO_TeamId='' ) "
'Else
' whereMA = " AND (ab_TO_MaId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "') "
'End If
'If MyComboBox2._value = "Benutzer" Then
' whereMA = " AND (ab_TO_MaId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "') "
'ElseIf MyComboBox2._value <> "" Then
' whereMA = " AND ( ab_TO_TeamId='" & MyComboBox2._value & "' ) "
'End If
Dim whereMA = " AND ( 1<>1 "
'WARENORT
If VERAG_PROG_ALLGEMEIN.cAllgemein.WARENORT_ZUGANG Then
whereMA &= " OR (ab_TO_Art='W' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.WARENORT & "') "
'NEUKUNDEN
ElseIf cbxNeukunden.Checked Then
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERAG"
whereMA &= " OR (ab_TO_Art='T' AND ab_TO_Code='13') " 'TEAM_NEUKUNDEN --> VERAG
End Select
'SONST
Else
If cbxCluster.Checked Then
whereMA &= " OR (ab_TO_Art='F' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
Else
whereMA &= " OR (ab_TO_Art='B' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "') "
whereMA &= " OR (ab_TO_Art='N' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "') "
whereMA &= " OR (ab_TO_Art='A' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG & "') "
whereMA &= " OR (ab_TO_Art='F' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "') "
End If
If cbxVerwarung.Checked Then
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERAG"
whereMA &= " OR (ab_TO_Art='T' AND ab_TO_Code='26') " 'TEAM_VERWARUNG --> VERAG
End Select
End If
If cbxTaskForce.Checked Then
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERAG"
whereMA &= " OR (ab_TO_Art='T' AND ab_TO_Code='7') " 'TEAM_TASKFORCE --> VERAG
End Select
End If
If cbxTeams.Checked Then
whereMA &= " Or (ab_TO_Art='T' AND ab_TO_Code IN (SELECT [team_id] FROM ADMIN.dbo.[tblTeams] WHERE team_firma = '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "')) "
Else
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER IsNot Nothing AndAlso VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing Then
whereMA &= " OR (ab_TO_Art='T' AND ab_TO_Code='" & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId & "') "
End If
End If
End If
whereMA &= " ) "
Dim sqlStr As String = "SELECT tblAvisoBenachrichtigungen.*, LKW_Nr, Status FROM [tblAvisoBenachrichtigungen] INNER JOIN AVISO on AvisoId=ab_AvisoID WHERE ab_status=0 " & whereMA & " ORDER BY CASE WHEN ANKUNFT <'01.01.2001' THEN '01.01.2999' ELSE ANKUNFT end ASC,ab_Datum ASC"
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
' List.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("maId", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID))
'If VERAGSQL Is Nothing Then VERAGSQL = New VERAG_PROG_ALLGEMEIN.SQL '? vlt hilfts...
.DataSource = VERAGSQL.loadDgvBySql_Param(sqlStr, "AVISO", 1500, list)
If .DataSource Is Nothing Then Exit Sub
' Dim bfont = New Font(.Font.FontFamily, .Font.Size, FontStyle.Bold)
Dim nfont = New Font(.Font.FontFamily, .Font.Size, FontStyle.Regular)
If .Columns.Count = 0 Then Exit Sub
.DefaultCellStyle.Font = nfont
.MultiSelect = False
.Columns("ab_id").Visible = False 'AvisoID nicht anzeigen
.Columns("ab_AvisoID").Visible = False 'AvisoID nicht anzeigen
.Columns("ab_SendungID").Visible = False 'AvisoID nicht anzeigen
.Columns("ab_MitarbeiterId").Visible = False 'maID nicht anzeigen
.Columns("ab_Mitarbeiter").Visible = False
.Columns("ab_BenachrichtigungCode").Visible = False
.Columns("ab_Prioritaet").Visible = False
.Columns("ab_Status").Visible = False
.Columns("ab_Vermerk").Visible = False
.Columns("ab_collAnhId").Visible = False
.Columns("ab_ReminderVermerkID").Visible = False
.Columns("ab_VermerkID").Visible = False
.Columns("ab_ReminderVermerkCode").Visible = False
.Columns("ab_TO_Art").Visible = False
.Columns("ab_TO_Code").Visible = False
.Columns("ab_Bestaetigt_MaId").Visible = False
.Columns("ab_Bestaetigt_Datum").Visible = False
.Columns("ab_Firma").Visible = False
.Columns("ab_Cluster").Visible = False
.Columns("Status").Visible = False
.Columns("ab_Art").Width = 30
.Columns("ab_Art").HeaderText = "Art"
.Columns("ab_Art").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
'.Columns("ab_Status").Width = 110
'.Columns("ab_Status").HeaderText = "Status"
.Columns("LKW_Nr").MinimumWidth = 95
.Columns("LKW_Nr").HeaderText = "LKW-Kennzeichen"
.Columns("LKW_Nr").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("ab_Datum").Visible = False
.Columns("ab_Datum").Width = 80
.Columns("ab_Datum").HeaderText = "Datum"
.Columns("ab_Datum").DefaultCellStyle.Format = "dd.MM. HH:mm"
.Columns("ab_Datum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns("ab_Beschreibung").MinimumWidth = 60
.Columns("ab_Beschreibung").HeaderText = "Beschreibung"
'.Columns("ab_Beschreibung").DefaultCellStyle.ForeColor = Color.White
.Columns("ab_Beschreibung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("ab_Vermerk").MinimumWidth = 50
'.Columns("ab_Vermerk").HeaderText = "Vermerk"
''.Columns("ab_Beschreibung").DefaultCellStyle.ForeColor = Color.White
'.Columns("ab_Vermerk").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
If .RowCount = 0 Then .Columns.Clear() : Exit Sub
Dim t = New DataGridViewTextBoxColumn
t.Name = "cmlnInfo"
t.HeaderText = ""
t.DefaultCellStyle.NullValue = "i"
t.Width = 20 : t.DefaultCellStyle.Padding = New Padding(2) : t.DefaultCellStyle.BackColor = Color.Gray
t.DefaultCellStyle.Font = New Font(.Font.FontFamily, .Font.Size, FontStyle.Bold)
t.DefaultCellStyle.ForeColor = Color.White
t.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
't.ToolTipText = ""
t.Visible = False
.Columns.Insert(0, t)
'Dim t2 = New DataGridViewTextBoxColumn
't2.Name = "cmlnOK"
't2.HeaderText = ""
't2.DefaultCellStyle.NullValue = "OK"
't2.Width = 40 : t2.DefaultCellStyle.Padding = New Padding(2) : t2.DefaultCellStyle.BackColor = Color.DarkGreen ' Color.FromArgb(0, 54, 128)
't2.DefaultCellStyle.ForeColor = Color.White
't2.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
''t.ToolTipText = ""
'.Columns.Insert(.Columns.Count, t2)
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
For Each r As DataGridViewRow In .Rows
'r.DefaultCellStyle.Font = nfont
If r.Cells("Status").Value = 3 Then
r.DefaultCellStyle.ForeColor = Color.Red
r.DefaultCellStyle.Font = New Font(Me.Font.FontFamily, Me.Font.Size, FontStyle.Bold)
'r.DefaultCellStyle.SelectionForeColor = Color.Red
End If
If r.Cells("ab_BenachrichtigungCode").Value = "6" Then
r.Cells("ab_Art").Value = "VK"
End If
Next
'.Width = gridAviso.Width - gridVermerke.Width
'.Sort(.Columns(3), System.ComponentModel.ListSortDirection.Descending)
.ClearSelection()
End With
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & ex.StackTrace)
End Try
' Grid_aktiv = True
End Sub
Private Sub gridAvisoBenachrichtigungen_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles gridAvisoBenachrichtigungen.CellPainting
If e.RowIndex <> -1 AndAlso gridAvisoBenachrichtigungen.Columns(e.ColumnIndex).Name = "ab_Art" Then
If gridAvisoBenachrichtigungen.Rows(e.RowIndex).Cells("ab_Beschreibung").Value.ToString.Contains("AAS:") Then
If (e.PaintParts And DataGridViewPaintParts.Background) <> DataGridViewPaintParts.None Then
e.Graphics.DrawImage(My.Resources.reminder, e.CellBounds)
'e.CellStyle.BackColor = Color.White
gridAvisoBenachrichtigungen.Rows(e.RowIndex).Cells("ab_Art").Value = ""
gridAvisoBenachrichtigungen.Rows(e.RowIndex).Cells("ab_Art").Style.BackColor = Color.Gray
End If
If Not e.Handled Then
e.Handled = True
e.PaintContent(e.CellBounds)
End If
End If
End If
End Sub
Private Sub usrCntlBenachrichtigungen_Load(sender As Object, e As EventArgs) Handles Me.Load
'MyComboBox2.Items.Clear()
'MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Benutzer", "Benutzer"))
'MyComboBox2.fillWithSQL("SELECT team_id, team_bezeichnung FROM tblTeams WHERE team_firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'", False, "ADMIN", True, False)
'MyComboBox2.changeItem("Benutzer")
' MyComboBox2.chang
MyComboBox2.Items.Clear()
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FRONTOFFICE"))
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
MyComboBox2.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("BENACHRICHTIGUNGEN_SeeCluster", "AVISO") Then
cbxCluster.Visible = True
If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
cbxCluster.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER
End If
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("BENACHRICHTIGUNGEN_SeeNeukunden", "AVISO") Then
cbxNeukunden.Visible = True
'cbxNeukunden.Checked = True
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("BENACHRICHTIGUNGEN_SeeVerwahrung", "AVISO") Then
cbxVerwarung.Visible = True
cbxVerwarung.Checked = True
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("BENACHRICHTIGUNGEN_SeeTaskForce", "AVISO") Then
cbxTaskForce.Visible = True
cbxTaskForce.Checked = True
End If
'NEIN; weils zB Waidhaus dann alles sieht und übernimmt
'If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER IsNot Nothing Then
' If CInt(If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId, "-1")) <= 0 Then cbxTeams.Checked = True
'End If
'Nur VERIMEX
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERIMEX"
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER IsNot Nothing Then
If CInt(If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId, "-1")) <= 0 Then cbxTeams.Checked = True
End If
Case "ATILLA"
cbxCluster.Visible = False
cbxTeams.Visible = False
End Select
' MyComboBox2.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId)
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
If gridAvisoBenachrichtigungen.SelectedRows.Count > 0 Then
Dim AB As New VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen(gridAvisoBenachrichtigungen.SelectedRows(0).Cells("ab_id").Value)
'BEstätigen
Select Case AB.ab_BenachrichtigungCode
Case 5 ' REMINDER VERMERK
Dim f As New frmAvisoBenachrichtigungReminderBestaetigen(AB)
Select Case f.ShowDialog(Me)
Case DialogResult.OK
AB.BESTAETIGEN_BENACHRICHTIGUNG()
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(AB.ab_AvisoID, True)
initDgvAvisoBenachrichtigungen(True, Me.Font)
Case DialogResult.Cancel
'NIX
Case DialogResult.Yes
AB.BESTAETIGEN_BENACHRICHTIGUNG()
initDgvAvisoBenachrichtigungen(True, Me.Font)
Case Else
'NIX soll eig nicht vorkommen
End Select
Case Else 'Weiterleitung Akt/Snd
If AB.BESTAETIGEN_BENACHRICHTIGUNG Then
Select Case AB.ab_BenachrichtigungCode
Case VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.Vorauskasse_OK
AvisoStatusFunctions.insertSendungsVermerk(AB.ab_SendungID, AB.ab_AvisoID, "Benachrichtigung 'Vorauskasse OK' bestätigt.", 46)
'Akt nicht übernehmen
Case VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.ZOLL_Dokumentenbeschau
AvisoStatusFunctions.insertSendungsVermerk(AB.ab_SendungID, AB.ab_AvisoID, "Benachrichtigung 'ZOLL:Dokumentenbeschau' bestätigt.", 46)
'Akt nicht übernehmen
Case Else
'Weiterleitung --> Übermehmen
If AB.ab_Art = "A" Then
If Not ASF.AktUebernehmen(AB.ab_AvisoID, False, False, False) Then Exit Sub
' If Not ASF.AktUebernehmen(AB.ab_AvisoID, False, False, True) Then Exit Sub
Else
If Not ASF.SendungUebernehmen(AB.ab_SendungID, AB.ab_AvisoID) Then Exit Sub
End If
End Select
'VERMERK inserieren
'insertSendungsVermerk(SendungID, myAviso.AvisoID, "In die Neukunden-Abteilung gegeben.", 46)
Dim f As New frmAvisoWeiterleitenBestaetigen(AB)
f.ShowDialog(Me)
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(AB.ab_AvisoID, True)
initDgvAvisoBenachrichtigungen(True, Me.Font)
End If
End Select
End If
End Sub
Private Sub gridAvisoBenachrichtigungen_CellClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles gridAvisoBenachrichtigungen.CellMouseClick, gridAvisoBenachrichtigungen.CellMouseClick
RaiseEvent SelectionChanged()
End Sub
Private Sub keydownMyAviso(sender As Object, e As KeyEventArgs) Handles gridAvisoBenachrichtigungen.KeyUp
Try
If e.KeyCode = Keys.Up Or e.KeyCode = Keys.Down Or e.KeyCode = Keys.PageUp Or e.KeyCode = Keys.PageDown Or e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Then
If sender.selectedRows.count = 0 Then Exit Sub
RaiseEvent SelectionChanged()
End If
Catch ex As Exception
End Try
End Sub
Private Sub usrCntlBenachrichtigungen_SelectionChanged() Handles gridAvisoBenachrichtigungen.SelectionChanged
Button10.Enabled = (gridAvisoBenachrichtigungen.SelectedRows.Count = 1)
txtVermerk.Text = ""
If gridAvisoBenachrichtigungen.SelectedRows.Count > 0 Then
txtVermerk.Text = If(gridAvisoBenachrichtigungen.SelectedRows(0).Cells("ab_vermerk").Value, "")
End If
End Sub
Private Sub usrCntlBenachrichtigungen_SelectionChanged(sender As Object, e As EventArgs) Handles gridAvisoBenachrichtigungen.SelectionChanged
End Sub
Private Sub cbxTeams_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTeams.CheckedChanged
'frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID, True)
'initDgvAvisoBenachrichtigungen(True, Me.Font)
initDgvAvisoBenachrichtigungen(True, Me.Font)
End Sub
Private Sub cbxCluster_CheckedChanged(sender As Object, e As EventArgs) Handles cbxCluster.CheckedChanged
initDgvAvisoBenachrichtigungen(True, Me.Font)
End Sub
Private Sub cbxNeukunden_CheckedChanged(sender As Object, e As EventArgs) Handles cbxNeukunden.CheckedChanged, cbxVerwarung.CheckedChanged, cbxTaskForce.CheckedChanged
initDgvAvisoBenachrichtigungen(True, Me.Font)
End Sub
Private Sub gridAviso_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles gridAvisoBenachrichtigungen.CellPainting
'If e.RowIndex <> -1 AndAlso gridAvisoBenachrichtigungen.Columns(e.ColumnIndex).Name = "ab_Art" Then
' If gridAvisoBenachrichtigungen.Rows(e.RowIndex).Cells("ab_BenachrichtigungCode").Value = "6" Then
' If (e.PaintParts And DataGridViewPaintParts.Background) <> DataGridViewPaintParts.None Then
' 'e.Graphics.Clear(Color.White)
' e.Graphics.DrawImage(My.Resources.vorauszahlung_bg, e.CellBounds.X + 5, e.CellBounds.Y + 1, 18, e.CellBounds.Height - 2)
' ' e.CellStyle.ForeColor = Color.White
' gridAvisoBenachrichtigungen.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = ""
' ' e.PaintContent(e.CellBounds)
' End If
' If Not e.Handled Then
' e.Handled = True
' e.PaintContent(e.CellBounds)
' End If
' End If
'End If
End Sub
End Class