Essensbestellungen
This commit is contained in:
@@ -1,7 +1,4 @@
|
||||
|
||||
Imports System.Data.SqlTypes
|
||||
Imports System.Timers
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class frmEssensbestellungenAdministration
|
||||
@@ -47,7 +44,7 @@ Public Class frmEssensbestellungenAdministration
|
||||
Private Sub loadBestellungen()
|
||||
|
||||
|
||||
Dim SQLString As String = "SELECT [eb_mitid] , [eb_mitname] ,[eb_firma] , [eb_kw] , [eb_gebaeude],[eb_abteilung],[eb_montag],[eb_dienstag],[eb_mittwoch],
|
||||
Dim SQLString As String = "SELECT [eb_mitid] , [eb_mitname] ,[eb_firma] , [eb_kw] , [eb_gebaeude],[eb_abteilung],[eb_montag],[eb_dienstag],[eb_mittwoch],
|
||||
[eb_donnerstag] ,[eb_freitag],[eb_datum],[eb_preis], [eb_anmerkung],[eb_storniert],[eb_storniert_am],[eb_abgerechnet],[eb_abgerechnet_am], [eb_gesendet], [eb_gesendet_am]
|
||||
FROM
|
||||
[tblEssensbestellungen] WHERE 1=1 "
|
||||
@@ -622,7 +619,7 @@ Public Class frmEssensbestellungenAdministration
|
||||
|
||||
Case "Excel"
|
||||
|
||||
SDL.cProgramFunctions.genExcelFromDT_NEW(generateDTBestellungen(True))
|
||||
SDL.cProgramFunctions.genExcelFromDT_NEW(generateDTBestellungen(True),,,,,, True)
|
||||
|
||||
End Select
|
||||
|
||||
@@ -642,10 +639,11 @@ Public Class frmEssensbestellungenAdministration
|
||||
sqlWhere &= " And (eb_firma = 'VERAG' OR eb_firma = 'IMEX' OR eb_firma = 'FRONTOFFICE')"
|
||||
End If
|
||||
|
||||
Dim SQLStringBEstellungen As String = "SELECT [eb_mitname] as Name ,[eb_mitid] as ID , [eb_kw] as KW , [eb_gebaeude] as Gebaeude ,[eb_abteilung] as Abteilung ,[eb_montag] As Montag ,[eb_dienstag] As Dienstag,[eb_mittwoch] As Mittwoch,
|
||||
[eb_donnerstag] As Donnerstag , [eb_freitag] As Freitag, [eb_anmerkung] As Anmerkung , [eb_datum] As Datum , [eb_storniert] as Storniert, [eb_firma] as Firma
|
||||
FROM
|
||||
[tblEssensbestellungen] WHERE eb_kw = '" & cbxMailKW._value & "' AND eb_gebaeude = '" & cbxMailGebäude._value & "' AND ISNULL(eb_storniert,1)=0 " & sqlWhere & " Order by eb_datum"
|
||||
Dim SQLStringBEstellungen As String = ""
|
||||
SQLStringBEstellungen = "SELECT [eb_mitname] as Name ,[eb_mitid] as ID , [eb_kw] as KW , [eb_gebaeude] as Gebaeude ,[eb_abteilung] as Abteilung ,[eb_montag] As Montag ,[eb_dienstag] As Dienstag,[eb_mittwoch] As Mittwoch,
|
||||
[eb_donnerstag] As Donnerstag , [eb_freitag] As Freitag, [eb_anmerkung] As Anmerkung , [eb_datum] As Datum , [eb_storniert] as Storniert, [eb_firma] as Firma, eb_MenuID
|
||||
FROM [tblEssensbestellungen] left join tblEBMenu on tblEBMenu.MenuID = eb_MenuID
|
||||
WHERE eb_kw = '" & cbxMailKW._value & "' AND eb_gebaeude = '" & cbxMailGebäude._value & "' AND ISNULL(eb_storniert,1)=0 " & sqlWhere & " Order by eb_datum"
|
||||
|
||||
dtBestellungen = SQL.loadDgvBySql(SQLStringBEstellungen, "AVISO", 100, True)
|
||||
|
||||
@@ -656,6 +654,8 @@ Public Class frmEssensbestellungenAdministration
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Dim uniqueMenusMontag = dtBestellungen.AsEnumerable() _
|
||||
.GroupBy(Function(row) _
|
||||
New With
|
||||
@@ -722,26 +722,47 @@ Public Class frmEssensbestellungenAdministration
|
||||
resultFreitag &= IIf(el.Key.Freitag <> "", String.Format("{1}x {0}, " & vbNewLine, el.Key.Freitag, el.Count()), "")
|
||||
Next
|
||||
|
||||
If exportToExcel AndAlso cbxMenudrucken.Checked Then
|
||||
|
||||
Dim displayView = New DataView(dtBestellungen, "eb_MenuID is not null", "eb_MenuID", DataViewRowState.CurrentRows)
|
||||
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "eb_MenuID")
|
||||
Dim dtMenu As DataTable
|
||||
|
||||
If distinctDT_CSV.Rows.Count > 0 Then
|
||||
|
||||
Dim SQLMenu As String = "SELECT MenuEssenMo, MenuEssenDi, MenuEssenMi, MenuEssenDo, MenuEssenFr FROM [tblEBMenu] WHERE menuID='" & distinctDT_CSV.Rows(0).Item("eb_MenuID") & "'"
|
||||
dtMenu = SQL.loadDgvBySql(SQLMenu, "AVISO", 100, True)
|
||||
|
||||
If dtMenu.Rows.Count = 1 Then
|
||||
|
||||
Dim menuRow As DataRow = dtBestellungen.NewRow
|
||||
menuRow("ID") = "0"
|
||||
menuRow("KW") = "-"
|
||||
menuRow("Name") = "MENU"
|
||||
menuRow("Gebaeude") = "-"
|
||||
menuRow("Abteilung") = "-"
|
||||
menuRow("Anmerkung") = DBNull.Value
|
||||
menuRow("Datum") = DBNull.Value
|
||||
menuRow("Storniert") = DBNull.Value
|
||||
menuRow("Firma") = DBNull.Value
|
||||
menuRow("Montag") = setLineBreaks(dtMenu.Rows(0).Item("MenuEssenMo"))
|
||||
menuRow("Dienstag") = setLineBreaks(dtMenu.Rows(0).Item("MenuEssenDi"))
|
||||
menuRow("Mittwoch") = setLineBreaks(dtMenu.Rows(0).Item("MenuEssenMi"))
|
||||
menuRow("Donnerstag") = setLineBreaks(dtMenu.Rows(0).Item("MenuEssenDo"))
|
||||
menuRow("Freitag") = setLineBreaks(dtMenu.Rows(0).Item("MenuEssenFr"))
|
||||
menuRow("eb_MenuID") = ""
|
||||
dtBestellungen.Rows.InsertAt(menuRow, 0)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'Dim SQLStringMenues As String = "SELECT TOP (1) [MenuEssenMoDate] as Montag
|
||||
' ,[MenuEssenDiDate] as Dienstag
|
||||
' ,[MenuEssenMiDate] as Mittwoch
|
||||
' ,[MenuEssenDoDate] as Donnerstag
|
||||
' ,[MenuEssenFrDate] as Freitag
|
||||
' FROM
|
||||
' [tblEBMenu] WHERE eb_kw = '" & cbxMailKW._value & "' AND eb_gebaeude = '" & cbxMailGebäude._value & "' AND ISNULL(eb_storniert,1)=0 " & sqlWhere & " Order by eb_datum"
|
||||
|
||||
'Dim dtMenu = SQL.loadDgvBySql(SQLStringMenues, "AVISO", 100, True)
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Dim R As DataRow = dtBestellungen.NewRow
|
||||
R("ID") = "0"
|
||||
R("KW") = "-"
|
||||
R("Name") = "SUMME"
|
||||
R("Gebaeude") = "-"
|
||||
R("Name") = DBNull.Value
|
||||
R("Abteilung") = "-"
|
||||
R("Anmerkung") = DBNull.Value
|
||||
R("Datum") = DBNull.Value
|
||||
@@ -752,17 +773,22 @@ Public Class frmEssensbestellungenAdministration
|
||||
R("Mittwoch") = String.Join(" ", resultMittwoch)
|
||||
R("Donnerstag") = String.Join(" ", resultDonnerstag)
|
||||
R("Freitag") = String.Join(" ", resultFreitag)
|
||||
R("eb_MenuID") = ""
|
||||
dtBestellungen.Rows.Add(R)
|
||||
|
||||
' MessageBox.Show(String.Join(Environment.NewLine, result))
|
||||
|
||||
|
||||
If exportToExcel Then
|
||||
|
||||
dtBestellungen.Columns.Remove("ID")
|
||||
dtBestellungen.Columns.Remove("Datum")
|
||||
dtBestellungen.Columns.Remove("Storniert")
|
||||
dtBestellungen.Columns.Remove("Gebaeude")
|
||||
dtBestellungen.Columns.Remove("Abteilung")
|
||||
|
||||
End If
|
||||
|
||||
dtBestellungen.Columns.Remove("eb_MenuID")
|
||||
|
||||
Return dtBestellungen
|
||||
|
||||
@@ -1004,4 +1030,31 @@ Public Class frmEssensbestellungenAdministration
|
||||
|
||||
|
||||
'End Sub
|
||||
|
||||
Private Function setLineBreaks(s As String) As String
|
||||
|
||||
s.Trim()
|
||||
Dim startIndex = 0
|
||||
Dim EndINdex = 19
|
||||
For index As Integer = 20 * (s.Length \ 19) To 0 Step -20
|
||||
|
||||
s = ReplaceFirst(s, " ", vbNewLine, startIndex + 5, 19)
|
||||
startIndex = startIndex + 19
|
||||
|
||||
Next
|
||||
|
||||
Return s
|
||||
|
||||
End Function
|
||||
|
||||
Private Function ReplaceFirst(text As String, search As String, replace As String, startIndex As Integer, EndIndex As Integer) As String
|
||||
|
||||
Dim pos As Integer = text.IndexOf(search, startIndex, IIf(startIndex + EndIndex > text.Length - 1, text.Length - startIndex - 1, EndIndex))
|
||||
If (pos < 0) Then Return text
|
||||
|
||||
Return text.Substring(0, pos) + replace + text.Substring(pos + search.Length)
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user