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.txtSumme = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.dgvBestellungen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.dgvBestellungen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.cbxMenudrucken = New System.Windows.Forms.CheckBox() 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.pnlTop.SuspendLayout()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout() Me.ContextMenuStrip1.SuspendLayout()
CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuStrip2.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'pnlTop 'pnlTop
@@ -126,6 +135,7 @@ Partial Class frmEssensbestellungenAdministration
' '
'Panel1 'Panel1
' '
Me.Panel1.Controls.Add(Me.Button4)
Me.Panel1.Controls.Add(Me.Label10) Me.Panel1.Controls.Add(Me.Label10)
Me.Panel1.Controls.Add(Me.Button3) Me.Panel1.Controls.Add(Me.Button3)
Me.Panel1.Controls.Add(Me.txtarchivieren) Me.Panel1.Controls.Add(Me.txtarchivieren)
@@ -712,7 +722,7 @@ Partial Class frmEssensbestellungenAdministration
'ExcelToolStripMenuItem 'ExcelToolStripMenuItem
' '
Me.ExcelToolStripMenuItem.Name = "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" Me.ExcelToolStripMenuItem.Text = "Excel"
' '
'txtAnzahlDS 'txtAnzahlDS
@@ -885,6 +895,59 @@ Partial Class frmEssensbestellungenAdministration
Me.cbxMenudrucken.Text = "Menu drucken" Me.cbxMenudrucken.Text = "Menu drucken"
Me.cbxMenudrucken.UseVisualStyleBackColor = True 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 'frmEssensbestellungenAdministration
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -916,6 +979,7 @@ Partial Class frmEssensbestellungenAdministration
Me.Panel1.PerformLayout() Me.Panel1.PerformLayout()
Me.ContextMenuStrip1.ResumeLayout(False) Me.ContextMenuStrip1.ResumeLayout(False)
CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.dgvBestellungen, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuStrip2.ResumeLayout(False)
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@@ -983,4 +1047,12 @@ Partial Class frmEssensbestellungenAdministration
Friend WithEvents txtarchivieren As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents txtarchivieren As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label10 As Label Friend WithEvents Label10 As Label
Friend WithEvents cbxMenudrucken As CheckBox 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 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"> <metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </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" /> <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"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@@ -56,7 +56,8 @@ Public Class frmEssensbestellungenAdministration
With dgvBestellungen 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 .RowHeadersVisible = False
.ReadOnly = True .ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect .SelectionMode = DataGridViewSelectionMode.FullRowSelect
@@ -532,28 +533,50 @@ Public Class frmEssensbestellungenAdministration
lblWarning.Text = "" 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 outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0) Mail = outl.CreateItem(0)
Mail.To = "info@highway-118.de; service@highway-118.de" Mail.To = mailTO
Mail.Subject = "Essensbestellung: " & IIf(kw <> "", kw, "") & " " & IIf(gebaeude <> "", gebaeude, "")
Dim DETextHTML = "" Dim DETextHTML = ""
DETextHTML &= "Hallo,<br>" DETextHTML &= "Hallo,<br>"
DETextHTML &= "<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 = "" Dim EndTextHTML = ""
EndTextHTML &= "<br>" EndTextHTML &= "<br>"
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 &= "<br>"
EndTextHTML &= "Mit freundlichen Grüßen/Best regards<br>" EndTextHTML &= "Mit freundlichen Grüßen/Best regards<br>"
EndTextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<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!") VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try End Try
Me.Cursor = Cursors.Default
End Sub End Sub
Private Sub cbKW_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbKW.SelectedValueChanged Private Sub cbKW_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbKW.SelectedValueChanged
If cbKW._value Is Nothing Or cbKW._value = "" Then If cbKW._value Is Nothing Or cbKW._value = "" Then
@@ -1062,5 +1082,83 @@ Public Class frmEssensbestellungenAdministration
End Function 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

View File

@@ -309,5 +309,6 @@ Public Class cAvisoBenachrichtigungenCodes
Public Shared ZOLL_Mitteilung As Integer = 9 Public Shared ZOLL_Mitteilung As Integer = 9
Public Shared AAE_Benachrichtigung As Integer = 10 Public Shared AAE_Benachrichtigung As Integer = 10
Public Shared Verwahrung_Foto As Integer = 20 Public Shared Verwahrung_Foto As Integer = 20
Public Shared Essensgeld As Integer = 21
End Class End Class

View File

@@ -574,6 +574,7 @@ Partial Class frmUeberstundenauszahlen
Me.cbxoverwrite.AutoSize = True Me.cbxoverwrite.AutoSize = True
Me.cbxoverwrite.Checked = True Me.cbxoverwrite.Checked = True
Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbxoverwrite.Enabled = False
Me.cbxoverwrite.Location = New System.Drawing.Point(79, 179) Me.cbxoverwrite.Location = New System.Drawing.Point(79, 179)
Me.cbxoverwrite.Name = "cbxoverwrite" Me.cbxoverwrite.Name = "cbxoverwrite"
Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17) Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17)

View File

@@ -165,135 +165,133 @@
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
</value> </value>
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -54,6 +54,10 @@ Public Class frmUeberstundenauszahlen
getUeberstunden(False) getUeberstunden(False)
'getAddDataFromTimas() 'getAddDataFromTimas()
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "SDL") Then
cbxoverwrite.Enabled = True
End If
End Sub End Sub
@@ -69,11 +73,6 @@ Public Class frmUeberstundenauszahlen
End If End If
End Sub
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles dtpMonat.ValueChanged, dtpBis.ValueChanged
End Sub End Sub
Private Sub cbxTeilzeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTeilzeit.CheckedChanged Private Sub cbxTeilzeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTeilzeit.CheckedChanged
@@ -626,11 +625,12 @@ Public Class frmUeberstundenauszahlen
Dim ignoreAuszahlungsdatum As Boolean = False Dim ignoreAuszahlungsdatum As Boolean = False
Select Case IIf(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma) Select Case IIf(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma)
Case "ATILLA" '25.02.2025: ATILLA ist bereits auf das einheitliche Auszahlungsschema umgestiegen!
meldung = " des Vormonats" 'Case "ATILLA"
If auszahlugsdatum.Month = Now.Month - 1 AndAlso Now.Day < 25 Or auszahlugsdatum.Month = Now.Month AndAlso Now.Day < 25 Or auszahlugsdatum.Month > Now.Month Then ' meldung = " des Vormonats"
checkauszahlungsdatum = True ' If auszahlugsdatum.Month = Now.Month - 1 AndAlso Now.Day < 25 Or auszahlugsdatum.Month = Now.Month AndAlso Now.Day < 25 Or auszahlugsdatum.Month > Now.Month Then
End If ' checkauszahlungsdatum = True
' End If
Case Else Case Else
meldung = " des Monats" meldung = " des Monats"
@@ -988,8 +988,6 @@ Public Class frmUeberstundenauszahlen
Private Sub calxMaxauszahlbar() Private Sub calxMaxauszahlbar()
'wenn berechneter Saldo negativ, dann ist im Regelfall das aktuelle MOnat noch nicht abgeschlossen!, daher anstatt den berechneten Saldo in overallBalance laden!
txtlfdSaldo.Text = timas.getTimeSaldo(MA.mit_timasId, "", "dailyBalanceYesterday") txtlfdSaldo.Text = timas.getTimeSaldo(MA.mit_timasId, "", "dailyBalanceYesterday")
stunden100auszbere = RoundOfDigits(stunden100ausz * faktor100Zuschlag / 100, 2) stunden100auszbere = RoundOfDigits(stunden100ausz * faktor100Zuschlag / 100, 2)