From d0e3e811e5618e6551d01920b5c2b3157189fa2e Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 25 Feb 2025 11:58:28 +0100 Subject: [PATCH] essensbestellungen, ueberstundenauszahl. --- ...sensbestellungenAdministration.Designer.vb | 74 ++++- SDL/frmEssensbestellungenAdministration.resx | 3 + SDL/frmEssensbestellungenAdministration.vb | 126 ++++++++- .../Classes/cAvisoBenachrichtigungen.vb | 1 + .../frmUeberstundenauszahlen.Designer.vb | 1 + .../frmUeberstundenauszahlen.resx | 256 +++++++++--------- .../frmUeberstundenauszahlen.vb | 22 +- 7 files changed, 327 insertions(+), 156 deletions(-) diff --git a/SDL/frmEssensbestellungenAdministration.Designer.vb b/SDL/frmEssensbestellungenAdministration.Designer.vb index 37b9fcee..8dc7bb84 100644 --- a/SDL/frmEssensbestellungenAdministration.Designer.vb +++ b/SDL/frmEssensbestellungenAdministration.Designer.vb @@ -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 diff --git a/SDL/frmEssensbestellungenAdministration.resx b/SDL/frmEssensbestellungenAdministration.resx index adcd809a..c817ae85 100644 --- a/SDL/frmEssensbestellungenAdministration.resx +++ b/SDL/frmEssensbestellungenAdministration.resx @@ -120,6 +120,9 @@ 17, 17 + + 173, 17 + diff --git a/SDL/frmEssensbestellungenAdministration.vb b/SDL/frmEssensbestellungenAdministration.vb index 4fdcc90f..a0d81e61 100644 --- a/SDL/frmEssensbestellungenAdministration.vb +++ b/SDL/frmEssensbestellungenAdministration.vb @@ -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,
" DETextHTML &= "
" - DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".
" - TextHTMLtable &= "" + If isReminder Then + Mail.Subject = "Essensgeld für " + DETextHTML &= "Bitte zahlt diese Woche das Essensgeld " & IIf(kw <> "", "für " & kw, "") & ".
" + Else + Mail.Subject = "Essensbestellung: " + DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".
" + End If + + Mail.Subject &= IIf(kw <> "", kw, "") & " " & IIf(gebaeude <> "", gebaeude, "") + + If TextHTMLtable <> "" Then TextHTMLtable &= "" Dim EndTextHTML = "" EndTextHTML &= "
" EndTextHTML &= "
" - EndTextHTML &= "Bitte um kurze Bestätigung nach Erhalt der Mail, danke.
" + If Not isReminder Then EndTextHTML &= "Bitte um kurze Bestätigung nach Erhalt der Mail, danke.
" EndTextHTML &= "
" EndTextHTML &= "Mit freundlichen Grüßen/Best regards
" EndTextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
" @@ -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 \ No newline at end of file + 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 diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb index 89bec9cd..69762aca 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb @@ -309,5 +309,6 @@ Public Class cAvisoBenachrichtigungenCodes Public Shared ZOLL_Mitteilung As Integer = 9 Public Shared AAE_Benachrichtigung As Integer = 10 Public Shared Verwahrung_Foto As Integer = 20 + Public Shared Essensgeld As Integer = 21 End Class diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb index 61b1db3f..030de8b2 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.Designer.vb @@ -574,6 +574,7 @@ Partial Class frmUeberstundenauszahlen Me.cbxoverwrite.AutoSize = True Me.cbxoverwrite.Checked = True Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxoverwrite.Enabled = False Me.cbxoverwrite.Location = New System.Drawing.Point(79, 179) Me.cbxoverwrite.Name = "cbxoverwrite" Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17) diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.resx b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.resx index 55eef140..f9475c0a 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.resx +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.resx @@ -165,135 +165,133 @@ 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
diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb index 2fcac3e4..c30b42e1 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb @@ -54,6 +54,10 @@ Public Class frmUeberstundenauszahlen getUeberstunden(False) 'getAddDataFromTimas() + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "SDL") Then + cbxoverwrite.Enabled = True + End If + End Sub @@ -69,11 +73,6 @@ Public Class frmUeberstundenauszahlen End If - End Sub - - Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles dtpMonat.ValueChanged, dtpBis.ValueChanged - - End Sub 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 Select Case IIf(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma) - Case "ATILLA" - meldung = " des Vormonats" - 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 - checkauszahlungsdatum = True - End If + '25.02.2025: ATILLA ist bereits auf das einheitliche Auszahlungsschema umgestiegen! + 'Case "ATILLA" + ' meldung = " des Vormonats" + ' 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 + ' checkauszahlungsdatum = True + ' End If Case Else meldung = " des Monats" @@ -988,8 +988,6 @@ Public Class frmUeberstundenauszahlen 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") stunden100auszbere = RoundOfDigits(stunden100ausz * faktor100Zuschlag / 100, 2)