Version, Mialbenachrichtungen, etc.

This commit is contained in:
2026-04-15 16:27:02 +02:00
parent 438e1c2a1a
commit 88151925fa
8 changed files with 1707 additions and 278 deletions

View File

@@ -0,0 +1,127 @@
Imports System.Windows.Forms
Public Class frminterneEmailBenachrichtigungen
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Private Sub frminterneEmailBenachrichtigungen_Load(sender As Object, e As EventArgs) Handles Me.Load
cboKategorie.Items.Clear()
cboKategorie.fillWithSQL("SELECT distinct([mb_object]) FROM [tblEMailbenachrichtigungen] order by mb_object", False, "ADMIN", True)
cboFirma.Items.Clear()
cboFirma.fillWithSQL("SELECT distinct(Firma_Bez) FROM [tblFirma] order by Firma_Bez", False, "FMZOLL", True)
cboFirma.changeItem(cAllgemein.FIRMA)
loadDGVPuefungsobjekte()
End Sub
Private Sub cboKategorie_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboKategorie.SelectedIndexChanged
loadDGVPuefungsobjekte()
End Sub
Private Sub cboFirma_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboFirma.SelectedIndexChanged
loadDGVPuefungsobjekte()
End Sub
Sub loadDGVPuefungsobjekte()
Try
Me.Cursor = Cursors.WaitCursor
Dim TopMax = If(IsNumeric(MyTextBox2.Text), " TOP " & MyTextBox2.Text, "")
Dim sqlstr As String = ""
sqlstr &= " SELECT e.mb_id,e.mb_aktiv,e.mb_object,STRING_AGG(m.mit_email, ', ') AS Emails,STRING_AGG(m.mit_nname, ', ') as Mitarbeiter,COUNT(DISTINCT m.mit_email) AS Anzahl,e.mb_firmaID,ISNULL(f.Firma_Bez,'ALLE') AS Firma_Bez
FROM [tblEMailbenachrichtigungen] e
LEFT JOIN [VERAG].[dbo].[tblFirma] f ON e.mb_firmaID = f.Firma_ID
LEFT JOIN ADMIN.dbo.tblMitarbeiter m
CROSS APPLY dbo.SplitString(m.mit_EMailbenachrichtigungen, ',') s
ON TRY_CAST(s.value AS INT) = e.mb_id
WHERE 1 = 1 "
With dgvBenachrichtigungen
.SET_SQL(sqlstr & getWherePruefungsobjekte() & " GROUP BY e.mb_id,e.mb_aktiv,e.mb_object,e.mb_firmaID,f.Firma_Bez ORDER BY mb_object,f.Firma_Bez ", "ADMIN", getListBenachrichtigungen)
.LOAD()
showDGVPruefungsobjekte()
End With
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, "")
End Try
Me.Cursor = Cursors.Default
End Sub
Sub showDGVPruefungsobjekte()
With dgvBenachrichtigungen
If .ColumnCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns("mb_id").Visible = False
.Columns("mb_firmaID").Visible = False
.Columns("mb_object").Width = 200
.Columns("mb_object").HeaderText = "Benachrichtigung"
.Columns("Mitarbeiter").MinimumWidth = 100
.Columns("Mitarbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Emails").MinimumWidth = 100
.Columns("Emails").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("Anzahl").Width = 50
.Columns("Anzahl").HeaderText = "# Empf."
.Columns("Firma_Bez").Width = 150
.Columns("Firma_Bez").HeaderText = "Firma"
.Columns("mb_aktiv").Width = 40
.Columns("mb_aktiv").HeaderText = "Aktiv"
End With
End Sub
Function getWherePruefungsobjekte() As String
Dim sqlstr = ""
If cboFirma._value <> "" Then sqlstr &= " AND Firma_Bez LIKE @Firma_Bez "
If cboKategorie._value <> "" Then sqlstr &= " AND mb_object LIKE @mb_object "
Return sqlstr
End Function
Function getListBenachrichtigungen() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bez", cboFirma._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mb_object", cboKategorie._value))
Return list
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
End Sub
End Class