Files
BeWoPlaner/BeWo/View/Detail/Report/FlexibleReportView.xaml
2025-07-24 14:03:46 +02:00

539 lines
34 KiB
XML

<localView:BeWoView
x:Class="BeWo.View.Detail.Report.FlexibleReportView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:BeWo.View.Controls"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
Width="Auto"
Height="Auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Focusable="True">
<Grid>
<GroupBox Header="Pivot Tabelle" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- ############################################### Obere Zeile ############################################### -->
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label
Grid.Column="0"
VerticalAlignment="Center"
Content="Startdatum:" />
<dxe:DateEdit
x:Name="datePickerStartDate"
Grid.Column="1"
Width="120"
Margin="3,0,0,0"
HorizontalAlignment="Left"
MaskType="DateTimeAdvancingCaret" />
<Label
Grid.Column="2"
VerticalAlignment="Center"
Content="Enddatum:" />
<dxe:DateEdit
x:Name="datePickerEndDate"
Grid.Column="3"
Width="120"
Margin="3,0,0,0"
HorizontalAlignment="Left"
MaskType="DateTimeAdvancingCaret" />
<Button
Grid.Column="5"
Margin="5,0,0,0"
Click="buttonRefresh_Click"
Content="Aktualisieren" />
<Button
x:Name="ButtonShowOptions"
Grid.Column="9"
Margin="5,0,0,0"
Click="ButtonShowOptions_Click"
Content="{markup:Translate Feldauswahl anzeigen}" />
<Button
x:Name="ButtonLayoutSave"
Grid.Column="10"
Margin="5,0,0,0"
Click="ButtonLayoutSave_Click"
Content="{markup:Translate Bericht speichern}" />
<controls:PopupNonTopmost
x:Name="popup_save_layout"
Grid.Row="0"
Width="350"
Placement="MousePoint"
StaysOpen="True"
Topmost="False">
<Border
Padding="3"
Background="White"
BorderBrush="Gray"
BorderThickness="1">
<GroupBox
x:Name="groupbox_saveLayout"
Header="Bericht speichern"
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Center" Content="Layoutname" />
<TextBox
x:Name="textbox_layoutname"
Grid.Row="0"
Grid.Column="1"
Grid.ColumnSpan="2"
Height="23"
Margin="3" />
<CheckBox
x:Name="checkbox_VisibleForAllEmployee"
Grid.Row="1"
Grid.Column="2"
Margin="0,0,0,20"
Content="Für alle Sichtbar" />
<Button
x:Name="popupbutton_layout_speichern"
Grid.Row="4"
Grid.Column="1"
Height="25"
Margin="3"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
Click="popupbutton_layout_speichern_Click"
Content="Speichern" />
<Button
x:Name="button_speichern_abbrechen"
Grid.Row="4"
Grid.Column="2"
Height="25"
Margin="3"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Click="popupbutton_speichern_abbrechen_Click"
Content="Abbrechen" />
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<Button
x:Name="ButtonLayoutEdit"
Grid.Column="11"
Margin="5,0,0,0"
Click="ButtonLayoutEdit_Click"
Content="{markup:Translate Bericht bearbeiten}" />
<Button
x:Name="ButtonLayoutLoad"
Grid.Column="12"
Margin="5,0,0,0"
Click="ButtonLayoutLoad_Click"
Content="{markup:Translate Bericht laden}" />
<Button
x:Name="ButtonLayoutPrint"
Grid.Column="13"
Margin="5,0,0,0"
Click="ButtonLayoutPrint_Click"
Content="{markup:Translate Bericht drucken}" />
</Grid>
<!-- ############################################### Mittlere Zeile ############################################### -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--<CheckBox Content="Reduzierte Ansicht" Margin="5,5,0,0" Grid.Column="4" x:Name="checkReduzierteAnsicht"/>-->
<CheckBox
x:Name="checkBoxDataPer"
Grid.Column="7"
Margin="5,5,0,0"
Checked="CheckDataBarPerChanged"
Content="Differenz Balken einblenden"
Unchecked="CheckDataBarPerChanged"
Visibility="Collapsed" />
<CheckBox
x:Name="checkBoxData"
Grid.Column="8"
Margin="5,5,0,0"
Checked="CheckDataBarChanged"
Content="Prozentuale Abweichung Balken einblenden"
Unchecked="CheckDataBarChanged"
Visibility="Collapsed" />
<CheckBox
x:Name="checkBoxChart"
Grid.Column="9"
Margin="5,5,0,0"
Checked="CheckChartChanged"
Content="Diagramm einblenden"
Unchecked="CheckChartChanged" />
</Grid>
<!-- ############################################### Untere Zeile ############################################### -->
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--<CheckBox Content="Hilfepläne" Grid.Column="0" Margin="5,5,0,0" x:Name="checkHilepläne"/>-->
<CheckBox
x:Name="checkKlienten"
Grid.Column="1"
Margin="5,5,0,0"
Content="{markup:Translate Klienten ohne Daten anzeigen}" />
<CheckBox
x:Name="checkMitarbeiter"
Grid.Column="2"
Margin="5,5,0,0"
Content="{markup:Translate Mitarbeiter ohne Daten anzeigen}" />
<!--<CheckBox Content="Records" Grid.Column="3" Margin="5,5,0,0" x:Name="checkRecords"/>-->
<!--<CheckBox Content="Betrag" Grid.Column="4" Margin="5,5,0,0" x:Name="checkBetrag"/>-->
<!--<CheckBox Content="Kilometer" Grid.Column="5" Margin="5,5,0,0" x:Name="checkKilometer"/>-->
<!--<CheckBox Content="Ist" Grid.Column="6" Margin="5,5,0,0" x:Name="checkIst"/>-->
<!--<CheckBox Content="Soll" Grid.Column="7" Margin="5,5,0,0" x:Name="checkSoll"/>-->
</Grid>
<!-- ############################################### PivotGridControl ############################################### -->
<Grid Grid.Row="3">
<Grid.Resources />
<dxlc:LayoutControl
x:Name="mainLayout"
Padding="12"
AllowItemSizing="True"
Orientation="Vertical">
<dxlc:LayoutGroup
x:Name="LayoutGroupPivotGrid"
Margin="0,0,0,4"
dxlc:LayoutControl.AllowVerticalSizing="True">
<dxpg:PivotGridControl
x:Name="myPivotGridControl"
Margin="0,10,0,0"
dx:ThemeManager.ThemeName="Office2010Black"
CellDoubleClick="MyPivotGridControl_CellDoubleClick"
ChartDataProvideMode="UseCustomSettings"
ChartProvideColumnGrandTotals="False"
ChartProvideDataByColumns="False"
ChartProvideRowGrandTotals="True"
ChartSelectionOnly="True"
CustomCellAppearance="MyPivotGridControl_CustomCellAppearance"
CustomCellDisplayText="GridControl_CustomCellDisplayText"
CustomFieldSort="MyPivotGridControl_CustomFieldSort"
CustomFieldValueCells="GridControl_CustomFieldValueCells"
CustomGroupInterval="MyPivotGridControl_CustomGroupInterval"
CustomValueAppearance="MyPivotGridControl_CustomValueAppearance"
DataProcessingEngine="LegacyOptimized"
RowTreeWidth="225"
Visibility="Visible">
<dxpg:PivotGridControl.ExcelFieldListState>
<dx:DefaultColumnChooserState Size="400,550" />
</dxpg:PivotGridControl.ExcelFieldListState>
<dxpg:PivotGridControl.Fields>
<dxpg:PivotGridField
x:Name="FlexibleJahr"
Width="100"
AllowedAreas="All"
Area="FilterArea"
Caption="Jahr"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateYear"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleMonat"
Width="80"
AllowedAreas="All"
Area="ColumnArea"
Caption="Monat"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateMonth" />
<dxpg:PivotGridField
x:Name="FlexibleWeek"
Width="80"
AllowedAreas="All"
Area="FilterArea"
Caption="Woche"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateWeekOfYear"
ValueFormat="KW {0}" />
<dxpg:PivotGridField
x:Name="FlexibleDatum"
Width="100"
AllowedAreas="All"
Area="FilterArea"
Caption="Datum"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="Custom"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleQuarter"
Width="100"
AllowedAreas="All"
Area="FilterArea"
Caption="Quartal"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateQuarter"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleTag"
Width="40"
AllowedAreas="All"
Area="FilterArea"
Caption="Tag"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateDay"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleTagYear"
Width="40"
AllowedAreas="All"
Area="FilterArea"
Caption="Tag Jahr"
DisplayFolder="Spalten"
FieldName="StartDatum"
GroupInterval="DateDayOfYear"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleKlient"
Width="200"
Height="21"
AllowedAreas="All"
Area="RowArea"
AreaIndex="2"
Caption="{markup:Translate Klient/in}"
DisplayFolder="Zeilen"
FieldName="CustomerString"
SortOrder="Ascending" />
<dxpg:PivotGridField
x:Name="FlexibleSupportConcept"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Hilfeplan"
DisplayFolder="Zeilen"
FieldName="SupportConceptString"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleMitarbeiter"
Width="200"
AllowedAreas="All"
Area="RowArea"
AreaIndex="1"
Caption="{markup:Translate Mitarbeiter/in}"
DisplayFolder="Zeilen"
FieldName="EmployeeString" />
<dxpg:PivotGridField
x:Name="FlexibleTeam"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Team"
DisplayFolder="Zeilen"
FieldName="Team"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleLeistungskategorie"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Leistungskategorie"
DisplayFolder="Zeilen"
FieldName="Leistungskategorie"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleLeistung"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Leistung"
DisplayFolder="Zeilen"
FieldName="Leistung"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleOrganisation"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Kostenträger"
DisplayFolder="Zeilen"
FieldName="Organisation"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleArbeitszeitMinIst"
Width="60"
AllowedAreas="All"
Area="FilterArea"
Caption="{markup:Translate Arbeitszeit Min.}"
DisplayFolder="Daten"
FieldName="IstArbeitszeitMinuten"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleArbeitszeitStdIst"
Width="80"
AllowedAreas="All"
Area="FilterArea"
Caption="{markup:Translate Arbeitszeit Std.}"
DisplayFolder="Daten"
FieldName="IstArbeitszeitStunden" />
<!--<dxpg:PivotGridField x:Name="FlexibleArbeitszeitMinSoll" FieldName="SollArbeitszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Soll Arbeitszeit Min.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleArbeitszeitStdSoll" FieldName="SollArbeitszeitStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Soll Arbeitszeit Std.}" AllowedAreas="All" DisplayFolder="Daten" />-->
<dxpg:PivotGridField
x:Name="FlexibleBetreuungszeitMinIst"
Width="60"
AllowedAreas="All"
Area="FilterArea"
Caption="{markup:Translate Betreuungszeit Min.}"
DisplayFolder="Daten"
FieldName="IstBetreuungszeitMinuten"
Visible="True" />
<dxpg:PivotGridField
x:Name="FlexibleBetreuungszeitStdIst"
Width="80"
AllowedAreas="All"
Area="DataArea"
Caption="{markup:Translate Betreuungszeit Std.}"
DisplayFolder="Daten"
FieldName="IstBetreuungszeitStunden" />
<!--<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitMinSoll" FieldName="SollBetreuungszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Soll Betreuungszeit Min.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitStdSoll" FieldName="SollBetreuungszeitStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Soll Betreuungszeit Std.}" AllowedAreas="All" DisplayFolder="Daten" />-->
<dxpg:PivotGridField
x:Name="FlexibleGefahreneKilometer"
Width="200"
AllowedAreas="All"
Area="FilterArea"
Caption="Gefahrene Kilometer"
DisplayFolder="Daten"
FieldName="Kilometer"
Visible="True" />
<!--<dxpg:PivotGridField x:Name="FlexibleBetrag" FieldName="Betrag" Area="FilterArea" Width="80" Caption="Betrag" AllowedAreas="All" DisplayFolder="Daten" Visible="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleStundensatz" FieldName="Stundensatz" Area="FilterArea" Width="80" Caption="Stundensatz" AllowedAreas="All" DisplayFolder="Daten" Visible="True" />-->
<dxpg:PivotGridField
x:Name="FlexibleRundungspotenzial"
Width="80"
AllowedAreas="All"
Area="FilterArea"
Caption="Rundungspotenzial"
DisplayFolder="Daten"
FieldName="Rundungspotenzial"
Visible="False" />
<dxpg:PivotGridField
x:Name="FlexibleAnzahl"
Width="60"
AllowedAreas="All"
Area="FilterArea"
Caption="Anzahl"
DisplayFolder="Daten"
FieldName="Anzahl"
Visible="False" />
<!--<dxpg:PivotGridField x:Name="FlexibleDifferenzArbeitszeitIstSollMin" FieldName="DifferenzArbeitszeitIstSollMinuten" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Arbeitszeit Min.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" HideEmptyVariationItems="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleDifferenzArbeitszeitIstSollStd" FieldName="DifferenzArbeitszeitIstSollStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Arbeitszeit Std.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" HideEmptyVariationItems="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleDifferenzBetreuungszeitIstSollMin" FieldName="DifferenzBetreuungszeitIstSollMinuten" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Betreuungszeit Min.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" HideEmptyVariationItems="True" />-->
<!--<dxpg:PivotGridField x:Name="FlexibleDifferenzBetreuungszeitIstSollStd" FieldName="DifferenzBetreuungszeitIstSollStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Betreuungszeit Std.}" AllowedAreas="All" DisplayFolder="Daten" Visible="True" HideEmptyVariationItems="True" />-->
<!--<dxpg:PivotGridField x:Name="UFlexibleProzentualeAbweichungArbeitszeit" UnboundFieldName="ProzAbweichungArbeitszeit" Area="FilterArea" Width="80" Caption="{markup:Translate Prozentual Abweichung Arbeitszeit}" AllowedAreas="All" DisplayFolder="Daten"/>-->
<!--<dxpg:PivotGridField x:Name="UFlexibleProzentualeAbweichungBetreuungszeit" UnboundFieldName="ProzAbweichungBetreuungszeit" Area="FilterArea" Width="80" Caption="{markup:Translate Prozentual Abweichung Betreuungszeit}" AllowedAreas="All" DisplayFolder="Daten"/>-->
</dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>
</dxlc:LayoutGroup>
<!-- ############################################### ChartControl ############################################### -->
<dxlc:LayoutGroup x:Name="LayoutGroupPivotChart">
<dxc:ChartControl
Name="ChartControl"
dx:ThemeManager.ThemeName="Office2010Black"
DataSource="{Binding ElementName=myPivotGridControl, Path=ChartDataSource}"
Visibility="Collapsed">
<dxc:ChartControl.CrosshairOptions>
<dxc:CrosshairOptions
ShowArgumentLabels="False"
ShowArgumentLine="False"
ShowCrosshairLabels="True"
ShowValueLabels="False"
ShowValueLine="False" />
</dxc:ChartControl.CrosshairOptions>
<dxc:ChartControl.Legend>
<dxc:Legend ReverseItems="True" />
</dxc:ChartControl.Legend>
<dxc:XYDiagram2D>
<dxc:XYDiagram2D.AxisY>
<dxc:AxisY2D Visible="True" />
</dxc:XYDiagram2D.AxisY>
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D Visible="True" />
</dxc:XYDiagram2D.AxisX>
</dxc:XYDiagram2D>
</dxc:ChartControl>
</dxlc:LayoutGroup>
</dxlc:LayoutControl>
</Grid>
</Grid>
</GroupBox>
</Grid>
</localView:BeWoView>