essensbestellungen, ueberstundenauszahl.

This commit is contained in:
2025-02-25 11:58:28 +01:00
parent cbeeac234f
commit d0e3e811e5
7 changed files with 327 additions and 156 deletions

View File

@@ -86,10 +86,19 @@ Partial Class frmEssensbestellungenAdministration
Me.txtSumme = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.dgvBestellungen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.cbxMenudrucken = New System.Windows.Forms.CheckBox()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem4 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem5 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem()
Me.Button4 = New System.Windows.Forms.Button()
Me.pnlTop.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout()
CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuStrip2.SuspendLayout()
Me.SuspendLayout()
'
'pnlTop
@@ -126,6 +135,7 @@ Partial Class frmEssensbestellungenAdministration
'
'Panel1
'
Me.Panel1.Controls.Add(Me.Button4)
Me.Panel1.Controls.Add(Me.Label10)
Me.Panel1.Controls.Add(Me.Button3)
Me.Panel1.Controls.Add(Me.txtarchivieren)
@@ -712,7 +722,7 @@ Partial Class frmEssensbestellungenAdministration
'ExcelToolStripMenuItem
'
Me.ExcelToolStripMenuItem.Name = "ExcelToolStripMenuItem"
Me.ExcelToolStripMenuItem.Size = New System.Drawing.Size(101, 22)
Me.ExcelToolStripMenuItem.Size = New System.Drawing.Size(100, 22)
Me.ExcelToolStripMenuItem.Text = "Excel"
'
'txtAnzahlDS
@@ -885,6 +895,59 @@ Partial Class frmEssensbestellungenAdministration
Me.cbxMenudrucken.Text = "Menu drucken"
Me.cbxMenudrucken.UseVisualStyleBackColor = True
'
'ContextMenuStrip2
'
Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2, Me.ToolStripMenuItem3, Me.ToolStripMenuItem4, Me.ToolStripMenuItem5})
Me.ContextMenuStrip2.Name = "ContextMenuStrip1"
Me.ContextMenuStrip2.Size = New System.Drawing.Size(283, 114)
'
'ToolStripMenuItem1
'
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(282, 22)
Me.ToolStripMenuItem1.Text = "stornieren"
'
'ToolStripMenuItem2
'
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
Me.ToolStripMenuItem2.Size = New System.Drawing.Size(282, 22)
Me.ToolStripMenuItem2.Text = "abrechnen"
'
'ToolStripMenuItem3
'
Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3"
Me.ToolStripMenuItem3.Size = New System.Drawing.Size(282, 22)
Me.ToolStripMenuItem3.Text = "bearbeiten"
'
'ToolStripMenuItem4
'
Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4"
Me.ToolStripMenuItem4.Size = New System.Drawing.Size(282, 22)
Me.ToolStripMenuItem4.Text = "markierte Bestellungen per Mail senden"
'
'ToolStripMenuItem5
'
Me.ToolStripMenuItem5.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem6})
Me.ToolStripMenuItem5.Name = "ToolStripMenuItem5"
Me.ToolStripMenuItem5.Size = New System.Drawing.Size(282, 22)
Me.ToolStripMenuItem5.Text = "Export"
'
'ToolStripMenuItem6
'
Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6"
Me.ToolStripMenuItem6.Size = New System.Drawing.Size(100, 22)
Me.ToolStripMenuItem6.Text = "Excel"
'
'Button4
'
Me.Button4.Enabled = False
Me.Button4.Location = New System.Drawing.Point(849, 68)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(97, 27)
Me.Button4.TabIndex = 77
Me.Button4.Text = "Reminder"
Me.Button4.UseVisualStyleBackColor = True
'
'frmEssensbestellungenAdministration
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -916,6 +979,7 @@ Partial Class frmEssensbestellungenAdministration
Me.Panel1.PerformLayout()
Me.ContextMenuStrip1.ResumeLayout(False)
CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuStrip2.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -983,4 +1047,12 @@ Partial Class frmEssensbestellungenAdministration
Friend WithEvents txtarchivieren As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label10 As Label
Friend WithEvents cbxMenudrucken As CheckBox
Friend WithEvents ContextMenuStrip2 As ContextMenuStrip
Friend WithEvents ToolStripMenuItem1 As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem2 As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem3 As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem4 As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem5 As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem6 As ToolStripMenuItem
Friend WithEvents Button4 As Button
End Class

View File

@@ -120,6 +120,9 @@
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>173, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -56,7 +56,8 @@ Public Class frmEssensbestellungenAdministration
With dgvBestellungen
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Button4.Enabled = False : Exit Sub
Button4.Enabled = True
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
@@ -532,28 +533,50 @@ Public Class frmEssensbestellungenAdministration
lblWarning.Text = ""
generateEmail("info@highway-118.de; service@highway-118.de", kw, gebaeude, TextHTMLtable)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub generateEmail(mailTO As String, kw As String, gebaeude As String, TextHTMLtable As String, Optional isReminder As Boolean = False)
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = "info@highway-118.de; service@highway-118.de"
Mail.Subject = "Essensbestellung: " & IIf(kw <> "", kw, "") & " " & IIf(gebaeude <> "", gebaeude, "")
Mail.To = mailTO
Dim DETextHTML = ""
DETextHTML &= "Hallo,<br>"
DETextHTML &= "<br>"
DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".<br>"
TextHTMLtable &= "</table>"
If isReminder Then
Mail.Subject = "Essensgeld für "
DETextHTML &= "Bitte zahlt diese Woche das Essensgeld " & IIf(kw <> "", "für " & kw, "") & ".<br>"
Else
Mail.Subject = "Essensbestellung: "
DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".<br>"
End If
Mail.Subject &= IIf(kw <> "", kw, "") & " " & IIf(gebaeude <> "", gebaeude, "")
If TextHTMLtable <> "" Then TextHTMLtable &= "</table>"
Dim EndTextHTML = ""
EndTextHTML &= "<br>"
EndTextHTML &= "<br>"
EndTextHTML &= "Bitte um kurze Bestätigung nach Erhalt der Mail, danke. <br>"
If Not isReminder Then EndTextHTML &= "Bitte um kurze Bestätigung nach Erhalt der Mail, danke. <br>"
EndTextHTML &= "<br>"
EndTextHTML &= "Mit freundlichen Grüßen/Best regards<br>"
EndTextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
@@ -567,12 +590,9 @@ Public Class frmEssensbestellungenAdministration
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub cbKW_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbKW.SelectedValueChanged
If cbKW._value Is Nothing Or cbKW._value = "" Then
@@ -1062,5 +1082,83 @@ Public Class frmEssensbestellungenAdministration
End Function
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
End Class
If dgvBestellungen.Rows.Count = 0 Then Exit Sub
If cboGebaeude._value Is "" Then cboGebaeude.Focus() : Exit Sub
Dim emailEmpf As String = ""
Dim kw As String = ""
btnSuche.PerformClick()
Dim dt_nichtBezahlteEB As New DataTable
dt_nichtBezahlteEB = TryCast(dgvBestellungen.DataSource, DataTable)
dt_nichtBezahlteEB = dt_nichtBezahlteEB.Select("eb_abgerechnet = 0", "eb_mitid").CopyToDataTable
If vbYes = MsgBox("Möchten Sie einen Reminder für die noch nicht bezahlten Essensbestellungen verschicken?" & vbNewLine & IIf(cboAbteilung._value Is "", " alle Abteilungen", "Abteilung " & cboAbteilung._value) & " im Gebäude: " & cboGebaeude._value, vbYesNoCancel) Then
Dim displayView = New DataView(dt_nichtBezahlteEB, "", "eb_mitid", DataViewRowState.CurrentRows)
Dim distinctDT As DataTable = displayView.ToTable(True, "eb_mitid")
Dim displayViewKW = New DataView(dt_nichtBezahlteEB, "", "eb_kw", DataViewRowState.CurrentRows)
Dim distinctDTKW As DataTable = displayView.ToTable(True, "eb_kw")
For Each kwRow In distinctDTKW.Rows
If kwRow("eb_kw").ToString.Length > 10 Then
kw &= kwRow("eb_kw").ToString.Substring(0, kwRow("eb_kw").ToString.Length - 6)
Else
kw &= kwRow("eb_kw").ToString
End If
Next
For Each row As DataRow In distinctDT.Rows
If row("eb_mitid") = 678 Then 'chef, chefin row("eb_mitid") <> 144 AndAlso row("eb_mitid") <> 267
Dim mit As New cMitarbeiter(row("eb_mitid"))
dt_nichtBezahlteEB = dt_nichtBezahlteEB.Select("eb_abgerechnet = 0 and eb_mitid = " & row("eb_mitid")).CopyToDataTable
Dim result = dt_nichtBezahlteEB.Compute("SUM(eb_preis)", "")
If result IsNot Nothing AndAlso IsNumeric(result) Then
Select Case mit.mit_abteilung
Case "MDM" ' -> per Mail weil SDL keine Benachrichtigungen:
If mit.mit_email <> "" Then
emailEmpf &= mit.mit_email & ";"
End If
Case Else
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(Nothing, Nothing, 21, "", mit.mit_id, "Bitte Essensgeld bezahlen: " & result & "€ ('" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "')", 1, , "Essensgeld")
End Select
End If
End If
Next
If emailEmpf <> "" Then
generateEmail(emailEmpf, kw, cboGebaeude._value, "")
End If
End If
End Sub
End Class