Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo

This commit is contained in:
Christian
2021-08-31 10:50:01 +02:00
49 changed files with 11889 additions and 213 deletions

1
.gitignore vendored
View File

@@ -543,3 +543,4 @@
/ReportImp/SicherlebenMichaelVoß/obj/Debug
/ReportImp/DiakonischesWerkPassau/obj/Debug
/ReportImp/BeWoRimbach/obj/Debug
/ReportImp/Wichernhaus/obj

View File

@@ -328,6 +328,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Urlaubsuebersicht.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\UrlaubstagSchenkenView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -1048,6 +1052,9 @@
<Compile Include="View\Detail\PreisView.xaml.cs">
<DependentUpon>PreisView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Urlaubsuebersicht.xaml.cs">
<DependentUpon>Urlaubsuebersicht.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\UrlaubstagSchenkenView.xaml.cs">
<DependentUpon>UrlaubstagSchenkenView.xaml</DependentUpon>
</Compile>

File diff suppressed because it is too large Load Diff

View File

@@ -81,16 +81,15 @@
<dxg:GridColumn FieldName="Notice" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button x:Name="button_removeLeaveDay" Content="r" FontFamily="Webdings" Click="button_removeLeaveDay_Click" Width="18" Height="18" VerticalAlignment="Center" Tag="{Binding}" />
<Button x:Name="button_removeLeaveDay" Content="r" FontFamily="Webdings" Click="button_removeLeaveDay_Click" Width="18" Height="18" VerticalAlignment="Center" Tag="{Binding}" Visibility="Collapsed"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Date" Header="Datum" Width="150" EditSettings="{dxe:DateSettings DisplayFormat=d}" AllowEditing="False"/>
<dxg:GridColumn FieldName="AnzahlTage" Header="Anzahl der Tage" Width="150" EditSettings="{dxe:TextSettings DisplayFormat=f2, Mask=f2, MaskType=Numeric, HorizontalContentAlignment=Left}" />
<dxg:GridColumn FieldName="GeschenkterUrlaubstagNotice" Header="Erläuterung" Width="550" />
<dxg:GridColumn FieldName="Erlaeuterung" Header="Erläuterung" Width="40" EditSettings="{dxe:DateSettings DisplayFormat=d}" AllowEditing="False"/>
<dxg:GridColumn FieldName="AnzahlTage" Header="AnzahlTage" Width="100" EditSettings="{dxe:TextSettings DisplayFormat=f2, Mask=f2, MaskType=Numeric, HorizontalContentAlignment=Left}" AllowEditing="False" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" ShowHorizontalLines="False" ShowVerticalLines="False" />
</dxg:GridControl.View>
</dxg:GridControl>
@@ -660,7 +659,7 @@
</Grid>
</TabItem>
<TabItem Header="Urlaubstage" Selector.Selected="LeaveDaysTabItem_Selected" x:Name="LeaveDaysTabItem">
<TabItem Header="Urlaubstage" Selector.Selected="LeaveDaysTabItem_Selected" x:Name="LeaveDaysTabItem"> <!--Grid: datagrid_leavedays-->
<Grid x:Name="grid_LeaveDays">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

View File

@@ -697,8 +697,10 @@ namespace BeWo.View.Detail
GroupBoxLeaveDays.Content = _GridLeaveDays;
}
GeschenkteUrlaubstage = ServiceFacade.DoEmployeeServiceSync(s => s.GetGeschenkteUrlaubstageForEmployee((long)ViewModel.DataContract.EmployeeOid));
_GridLeaveDays.ItemsSource = GeschenkteUrlaubstage;
//GeschenkteUrlaubstage = ServiceFacade.DoEmployeeServiceSync(s => s.GetGeschenkteUrlaubstageForEmployee((long)ViewModel.DataContract.EmployeeOid));
var urlaubskonto = ServiceFacade.DoEmployeeServiceSync(s => s.ErstelleUrlaubskontoDarstellung(ViewModel.DataContract, 2021));
_GridLeaveDays.ItemsSource = urlaubskonto;
}
private void button_addLeaveDay_Click(object sender, RoutedEventArgs e)
{

View File

@@ -111,7 +111,7 @@ namespace BeWo.View.Detail.Report
Parent.UrlaubsplanerRootObj.Abwesenheiten.Remove(dc);
Parent.UrlaubsplanerRootObj.Abwesenheiten.Add(AbsenceTime);
}
var t = AbsenceTime.AbsenceTimeVersion;
SchedulerHelper.OverrideAppointmentWithAbsenceTime(Appointment, AbsenceTime);

View File

@@ -61,106 +61,6 @@ namespace BeWo.View.Detail.Report
krankheitstage.Add(tag);
}
//// Berechnung der Urlaubstage (falls vorhanden)
//if (urlaubstage.Count > 0)
//{
// foreach (var spanne in urlaubstage)
// {
// if (spanne.End == null)
// spanne.End = new DateTime(dc.Year, dc.Month, DateTime.DaysInMonth(dc.Year, dc.Month));
// // Nur ein Tag
// if (spanne.Start == spanne.End)
// tageUrlaub++;
// // Mehrere Tage
// else
// {
// // Alle Tage in einem Monat
// if (spanne.Start.Value.Month == spanne.End.Value.Month)
// tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// // Tage über Monate verteilt
// else
// {
// DateTime? tempStart = null;
// DateTime? tempEnd = null;
// // Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
// if (spanne.Start.Value.Month != dc.Month)
// {
// tempStart = new DateTime(dc.Year, dc.Month, 1);
// }
// if (spanne.End.Value.Month != dc.Month)
// {
// tempEnd = new DateTime(dc.Year, dc.Month, 1).AddMonths(1).AddTicks(-1);
// }
// if (tempStart != null && tempEnd != null)
// tageUrlaub += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
// else if (tempStart != null && tempEnd == null)
// tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
// else if (tempStart == null && tempEnd != null)
// tageUrlaub += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// }
// }
// }
//}
//// Berechnung der Krankheitstage (falls vorhanden)
//if (krankheitstage.Count > 0)
//{
// foreach (var spanne in krankheitstage)
// {
// // Nur ein Tag
// if (spanne.Start == spanne.End)
// tageKrankheit++;
// // Mehrere Tage
// else
// {
// // Wenn Krankheit ein Enddatum hat
// if (spanne.End != null)
// {
// // Alle Tage in einem Monat
// if (spanne.Start.Value.Month == spanne.End.Value.Month)
// tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// // Tage über mehrere Monate verteilt
// else
// {
// // Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
// DateTime? tempStart = null;
// DateTime? tempEnd = null;
// if (spanne.Start.Value.Month != dc.Month)
// {
// tempStart = new DateTime(dc.Year, dc.Month, 1);
// }
// if (spanne.End.Value.Month != dc.Month)
// {
// tempEnd = new DateTime(dc.Year, dc.Month, 1).AddMonths(1).AddTicks(-1);
// }
// if (tempStart != null && tempEnd != null)
// tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
// else if (tempStart != null && tempEnd == null)
// tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
// else if (tempStart == null && tempEnd != null)
// tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// }
// }
// // Wenn Krankheit kein Enddatum gesetzt wurde
// else
// {
// if (spanne.Start.Value.Month != dc.Month)
// {
// DateTime tempEnd = new DateTime(dc.Year, dc.Month, DateTime.DaysInMonth(dc.Year, dc.Month));
// DateTime tempStart = new DateTime(dc.Year, dc.Month, 1); ;
// tageKrankheit += Convert.ToInt32((tempEnd.Date - tempStart.Date).TotalDays + 1);
// }
// else
// {
// DateTime tempEnd = new DateTime(spanne.Start.Value.Year, spanne.Start.Value.Month, DateTime.DaysInMonth(spanne.Start.Value.Year, spanne.Start.Value.Month));
// tageKrankheit += Convert.ToInt32((tempEnd.Date - spanne.Start.Value.Date).TotalDays + 1);
// }
// }
// }
// }
//}
c._EmployeeUrlaubDieserMonat.Text = "Urlaub/Monat: " + dc.TageUrlaub+ " Tage";
c._EmployeeKrankheitDieserMonat.Text = "Krankheit/Monat: " + dc.TageKrankheit + " Tage";
((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc.Employee, Convert.ToInt32(dc.TageUrlaub), Convert.ToInt32(dc.TageKrankheit), dc.Month);

View File

@@ -226,6 +226,11 @@
<Run Text="Urlaub schenken" />
</Hyperlink>
</TextBlock>
<TextBlock x:Name="textblock_link_show_as_table" Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="linkShowAsTable" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkShowAsTable_RequestNavigate">
<Run Text="Tabellarische Ansicht" />
</Hyperlink>
</TextBlock>
<TextBlock x:Name="textblock_link_pdfexport" Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="linkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPdfExport_OnRequestNavigate">
<Run Text="Drucken" />

View File

@@ -40,6 +40,7 @@ namespace BeWo.View.Detail.Report
private List<AbsenceReasonDC> _AbsenceReasonDCs;
private List<CompactTeamDC> _TeamDCs;
private Dictionary<long, EmployeeDC> _EmployeeDict;
private List<EmployeeDC> _ListOfEmployee;
private AbsenceOverviewFilterDC _SelectedFilter;
@@ -48,6 +49,8 @@ namespace BeWo.View.Detail.Report
public int SelectedMonth { get; set; }
public int SelectedYear { get; set; }
public List<AbwesenheitsInformationPrintDC> PrintDCsToDelete { get; set; }
public AbwesenheitstabelleView()
{
InitializeComponent();
@@ -58,6 +61,7 @@ namespace BeWo.View.Detail.Report
linkPdfExport.NavigateUri = BeWoApp.SiteOfOrigin;
linkGiftLeaveday.NavigateUri = BeWoApp.SiteOfOrigin;
linkShowAsTable.NavigateUri = BeWoApp.SiteOfOrigin;
_EmployeeDict = new Dictionary<long, EmployeeDC>();
ApplyCellStyles();
@@ -78,7 +82,7 @@ namespace BeWo.View.Detail.Report
SelectedMonth = _MonthPicker.SelectedMonth;
SelectedYear = (int)_YearPicker.SelectedItem;
UrlaubsplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildUrlaubsplanerRootObject(SelectedYear, SelectedMonth));
UrlaubsplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildUrlaubsplanerRootObject(_SelectedFilter));
UpdateScheduler();
ColorizeFeiertage();
@@ -143,40 +147,6 @@ namespace BeWo.View.Detail.Report
beWoWindow.rootGroupBox.Header = "Drucken";
beWoWindow.ShowDialog();
}
private void LinkGiftLeaveday_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (_EmployeeDict.Count > 0)
{
var employee = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployees());
var control = new UrlaubstagSchenkenView(employee);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Urlaub schenken" },
Height = 350,
MinHeight = 350,
Width = 300,
MinWidth = 300,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
control.ButtonCancelClicked += () =>
{
beWoWindow.Close();
};
control.ButtonConfirmClicked += () =>
{
beWoWindow.Close();
};
beWoWindow.ShowDialog();
}
else
{
System.Windows.MessageBox.Show("Erstellen Sie zuerst die Abwesenheitsübersicht!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private void SchedulerControl_PopupMenuShowing(object sender, SchedulerMenuEventArgs e)
{
@@ -281,6 +251,7 @@ namespace BeWo.View.Detail.Report
{
var absenceReasons = _AbsenceReasonDCs;
var absenceOverview = ServiceFacade.DoOperationsServiceSync(x => x.GetAbsenceOverview(_SelectedFilter));
_ListOfEmployee = absenceOverview;
var start = new DateTime(_SelectedFilter.Year, _SelectedFilter.Month, 1);
try
@@ -309,9 +280,10 @@ namespace BeWo.View.Detail.Report
_EmployeeDict.Clear();
_ResourceStorage.Clear();
_AppointmentStorage.Clear();
UrlaubsplanerRootObj.AlleAbwesenheitsInformationDCs = new List<AbwesenheitsInformationDC>();
foreach (var employee in absenceOverview)
{
AbwesenheitsInformationDC infoDC = new AbwesenheitsInformationDC()
AbwesenheitsInformationDC infoDC = new AbwesenheitsInformationDC
{
Employee = employee,
Month = _MonthPicker.SelectedMonth,
@@ -321,6 +293,7 @@ namespace BeWo.View.Detail.Report
};
infoDC.TageUrlaub = CountUrlaubstage(infoDC);
infoDC.TageKrankheit = CountKrankheitstage(infoDC);
UrlaubsplanerRootObj.AlleAbwesenheitsInformationDCs.Add(infoDC);
var resource = _SchedulerStorage.CreateResource(employee.EmployeeOid.Value.ToString());
@@ -604,6 +577,87 @@ namespace BeWo.View.Detail.Report
return wochenendtage;
}
private void LinkGiftLeaveday_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (_EmployeeDict.Count > 0)
{
var employee = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployees());
var control = new UrlaubstagSchenkenView(employee);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Urlaub schenken" },
Height = 350,
MinHeight = 350,
Width = 300,
MinWidth = 300,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
control.ButtonCancelClicked += () =>
{
beWoWindow.Close();
};
control.ButtonConfirmClicked += () =>
{
beWoWindow.Close();
};
beWoWindow.ShowDialog();
}
else
{
System.Windows.MessageBox.Show("Erstellen Sie zuerst die Abwesenheitsübersicht!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private void LinkShowAsTable_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (UrlaubsplanerRootObj != null)
{
if (PrintDCsToDelete != null)
{
ServiceFacade.DoEmployeeServiceSync(s => s.DeleteAbwesenheitsInformationPrints(PrintDCsToDelete));
PrintDCsToDelete = null;
}
var control = new Urlaubsuebersicht(UrlaubsplanerRootObj.AlleAbwesenheitsInformationDCs, SelectedMonth, SelectedYear);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Urlaubsübersicht" },
Height = 700,
MinHeight = 350,
Width = 1300,
MinWidth = 700,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
control.WindowClose += () =>
{
beWoWindow.Close();
ServiceFacade.DoEmployeeServiceSync(s => s.DeleteAbwesenheitsInformationPrints(control.DCsToDelete));
PrintDCsToDelete = null;
return;
};
control.Print += () =>
{
beWoWindow.Close();
PrintDCsToDelete = control.DCsToDelete;
return;
};
beWoWindow.ShowDialog();
}
else
{
System.Windows.MessageBox.Show("Erstellen Sie zuerst die Abwesenheitsübersicht!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
}
public class MouseHandlerService : MouseHandlerServiceWrapper

View File

@@ -0,0 +1,78 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Urlaubsuebersicht"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<TabControl x:Name="_Tabcontrol" SelectionChanged="TabControl_SelectionChanged">
<TabItem x:Name="tabitem_month">
<TabItem.Header>
<TextBlock Text="Monatsauswertung" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3" />
</TabItem.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<dxg:GridControl x:Name="_GridControl_Month" FontSize="13" Grid.Row="0" >
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name" Header="Name" Width="*"/>
<dxg:GridColumn FieldName="ResturlaubVorjahr" Header="Resturlaub Vorjahr" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="VerfallenerResturlaub" Header="Davon verfallen" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="Urlaubsanspruch" Header="Urlaubsanspruch (Jahr)" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="Resturlaub" Header="Resturlaub" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="TageKrankheit" Header="Tage Krankheit" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="TageUrlaub" Header="Tage Urlaub" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="GeschenkteUrlaubstage" Header="Geschenkte Urlaubstage" Width="*" AllowEditing="False"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Grid.Row="1">
<Button x:Name="buttonDruckenMonat" Content="Drucken" Margin="0 5 0 0" HorizontalAlignment="Right" Grid.Row="1" Click="buttonDruckenMonat_Click"/>
<Button x:Name="buttonSchliessenMonat" Content="Schließen" Margin="5 5 0 0" HorizontalAlignment="Right" Grid.Row="1" Click="buttonSchliessen_Click"/>
</StackPanel>
</Grid>
</TabItem>
<TabItem x:Name="tabitem_year">
<TabItem.Header>
<TextBlock Text="Jahresauswertung" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3" />
</TabItem.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<dxg:GridControl x:Name="_GridControl_Year" FontSize="13" Grid.Row="0">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name" Header="Name" Width="*"/>
<dxg:GridColumn FieldName="ResturlaubVorjahr" Header="Resturlaub Vorjahr" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="VerfallenerResturlaub" Header="Davon verfallen" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="Urlaubsanspruch" Header="Urlaubsanspruch (Jahr)" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="Resturlaub" Header="Resturlaub" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="TageKrankheit" Header="Tage Krankheit" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="TageUrlaub" Header="Tage Urlaub" Width="*" AllowEditing="False"/>
<dxg:GridColumn FieldName="GeschenkteUrlaubstage" Header="Geschenkte Urlaubstage" Width="*" AllowEditing="False"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell"/>
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right">
<Button x:Name="buttonDruckenJahr" Content="Drucken" Margin="0 5 0 0" HorizontalAlignment="Right" Click="buttonDruckenJahr_Click"/>
<Button x:Name="buttonSchliessenJahr" Content="Schließen" Margin="5 5 0 0" HorizontalAlignment="Right" Click="buttonSchliessen_Click"/>
</StackPanel>
</Grid>
</TabItem>
</TabControl>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,269 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using BeWo.Controls;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.View.Search;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BeWo.Core.Service;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;
using DevExpress.Xpf.Grid;
using System.Windows.Media.Imaging;
using DevExpress.Utils;
using System.Globalization;
namespace BeWo.View.Detail
{
public partial class Urlaubsuebersicht
{
public List<AbwesenheitsInformationDC> Information { get; set; }
public string Month { get; set; }
public string Year { get; set; }
public List<AbwesenheitsInformationPrintDC> DCsToDelete { get; set; }
public event Action WindowClose;
public event Action Print;
public Urlaubsuebersicht(List<AbwesenheitsInformationDC> information, int month, int year)
{
InitializeComponent();
Information = information;
Month = new DateTime(year, month, 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("de"));
Year = year.ToString();
}
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selection = _Tabcontrol.SelectedIndex;
if (selection == 0)
{
_GridControl_Month.ItemsSource = GetListForMonth(Information);
}
else if (selection == 1)
{
_GridControl_Year.ItemsSource = GetListForYear(Information);
}
}
private List<TableObject> GetListForMonth(List<AbwesenheitsInformationDC> information)
{
List<TableObject> tableObjects = new List<TableObject>();
foreach (var info in information)
{
decimal anzGeschenkteTage = 0;
foreach (var eintrag in info.GeschenkteUrlaubstage)
{
anzGeschenkteTage += eintrag.AnzahlTage;
}
TableObject to = new TableObject()
{
Name = info.Employee.LastNameFirstName,
ResturlaubVorjahr = string.Format("{0:0.00}", info.Employee.Urlaubskonto.ResturlaubVorjahrTotal),
VerfallenerResturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.VerfallenerUrlaub),
Urlaubsanspruch = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Urlaubsanspruch),
Resturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Resturlaub),
TageKrankheit = string.Format("{0:0.00}", info.TageKrankheit),
TageUrlaub = string.Format("{0:0.00}", info.TageUrlaub),
GeschenkteUrlaubstage = string.Format("{0:0.00}", anzGeschenkteTage)
};
tableObjects.Add(to);
}
return tableObjects;
}
private List<TableObject> GetListForYear(List<AbwesenheitsInformationDC> information)
{
List<TableObject> tableObjects = new List<TableObject>();
var absencetimes = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForYear(Information[0].Year)); // Prüfen, ob z.B. 27.12.2020 - 05.01.2021 drin wäre
foreach (var info in information)
{
decimal anzGeschenkteTage = 0;
foreach (var eintrag in info.GeschenkteUrlaubstage)
{
anzGeschenkteTage += eintrag.AnzahlTage;
}
TableObject to = new TableObject()
{
Name = info.Employee.LastNameFirstName,
ResturlaubVorjahr = string.Format("{0:0.00}", info.Employee.Urlaubskonto.ResturlaubVorjahrTotal),
VerfallenerResturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.VerfallenerUrlaub),
Urlaubsanspruch = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Urlaubsanspruch),
Resturlaub = string.Format("{0:0.00}", info.Employee.Urlaubskonto.Resturlaub),
TageKrankheit = "",
TageUrlaub = "",
GeschenkteUrlaubstage = string.Format("{0:0.00}", anzGeschenkteTage)
};
//TageKrankheit und TageUrlaub setzen
int urlaubstage = 0;
int krankheitstage = 0;
foreach (var at in absencetimes)
{
if(at.EmployeeOid == info.Employee.EmployeeOid)
{
//Start und Ende sind im gleichen Monat
if (at.Start.Value.Month == at.End.Value.Month)
{
for (int i = at.Start.Value.Day; i <= at.End.Value.Day; i++)
{
var tempDate = new DateTime(at.Start.Value.Year, at.Start.Value.Month, i);
if (tempDate.DayOfWeek != DayOfWeek.Saturday && tempDate.DayOfWeek != DayOfWeek.Sunday)
{
if (at.Reason.Description.ToLower().Contains("urlaub"))
urlaubstage++;
else if (at.Reason.Description.ToLower().Contains("krank"))
krankheitstage++;
}
}
}
//Start und Ende sind in verschiedenen Monaten
else
{
for (int i = at.Start.Value.Day; i <= DateTime.DaysInMonth(at.Start.Value.Year, at.Start.Value.Month); i++)
{
var tempDate = new DateTime(at.Start.Value.Year, at.Start.Value.Month, i);
if (tempDate.DayOfWeek != DayOfWeek.Saturday && tempDate.DayOfWeek != DayOfWeek.Sunday)
{
if (at.Reason.Description.ToLower().Contains("urlaub"))
urlaubstage++;
else if (at.Reason.Description.ToLower().Contains("krank"))
krankheitstage++;
}
}
for (int i = 1; i <= at.End.Value.Day; i++)
{
var tempDate = new DateTime(at.End.Value.Year, at.End.Value.Month, i);
if (tempDate.DayOfWeek != DayOfWeek.Saturday && tempDate.DayOfWeek != DayOfWeek.Sunday)
{
if (at.Reason.Description.ToLower().Contains("urlaub"))
urlaubstage++;
else if (at.Reason.Description.ToLower().Contains("krank"))
krankheitstage++;
}
}
}
}
}
to.TageUrlaub = string.Format("{0:0.00}", urlaubstage);
to.TageKrankheit = string.Format("{0:0.00}", krankheitstage);
tableObjects.Add(to);
}
return tableObjects;
}
private void buttonDruckenMonat_Click(object sender, RoutedEventArgs e)
{
var list = _GridControl_Month.ItemsSource as List<TableObject>;
List<AbwesenheitsInformationPrintDC> printList = BuildPrintList(list);
var inserted = ServiceFacade.DoEmployeeServiceSync(s => s.InsertAbwesenheitsInformationPrint(printList));
string oids = "";
foreach (var item in inserted)
{
oids += item.AbwesenheitsInformationPrintOid + ",";
}
oids = oids.Remove(oids.Length - 1);
string url = BuildUrl(oids, "Abwesenheitsübersicht für " + Month + " " + Year);
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Monatsbericht der Abwesenheiten"));
DCsToDelete = inserted;
Print?.Invoke();
}
private void buttonDruckenJahr_Click(object sender, RoutedEventArgs e)
{
var list = _GridControl_Year.ItemsSource as List<TableObject>;
List<AbwesenheitsInformationPrintDC> printList = BuildPrintList(list);
var inserted = ServiceFacade.DoEmployeeServiceSync(s => s.InsertAbwesenheitsInformationPrint(printList));
string oids = "";
foreach (var item in inserted)
{
oids += item.AbwesenheitsInformationPrintOid + ",";
}
oids = oids.Remove(oids.Length - 1);
string url = BuildUrl(oids, "Abwesenheitsübersicht für " + Year);
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Jahresbericht der Abwesenheiten"));
DCsToDelete = inserted;
Print?.Invoke();
}
private List<AbwesenheitsInformationPrintDC> BuildPrintList(List<TableObject> list)
{
List<AbwesenheitsInformationPrintDC> printDCs = new List<AbwesenheitsInformationPrintDC>();
foreach (var item in list)
{
printDCs.Add(new AbwesenheitsInformationPrintDC()
{
Employee = item.Name,
GeschenkteUrlaubstage = item.GeschenkteUrlaubstage,
Resturlaub = item.Resturlaub,
ResturlaubVorjahr = item.ResturlaubVorjahr,
TageKrankheit = item.TageKrankheit,
TageUrlaub = item.TageUrlaub,
Urlaubsanspruch = item.Urlaubsanspruch,
VerfallenerResturlaub = item.VerfallenerResturlaub
});
}
return printDCs;
}
private string BuildUrl(string oids, string titel)
{
var url = BeWoApp.SiteOfOrigin
+ "/ReportView.aspx"
+ "?type=" + Utils.EnumName(ReportTypes.AbwesenheitsPrintReport)
+ "&oids=" + oids
+ "&titel=" + titel;
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
return url;
}
private void buttonSchliessen_Click(object sender, RoutedEventArgs e)
{
WindowClose?.Invoke();
}
}
public class TableObject
{
public string Name { get; set; }
public string ResturlaubVorjahr { get; set; }
public string VerfallenerResturlaub { get; set; }
public string Urlaubsanspruch { get; set; }
public string Resturlaub { get; set; }
public string TageKrankheit { get; set; }
public string TageUrlaub { get; set; }
public string GeschenkteUrlaubstage { get; set; }
}
}

View File

@@ -650,6 +650,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProIntegra", "ReportImp\Pro
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmbulantBetreutesWohnenAstridPulm", "ReportImp\AmbulantBetreutesWohnenAstridPulm\AmbulantBetreutesWohnenAstridPulm.csproj", "{6AB16005-E552-4619-9E55-D752FCCAC3B0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wichernhaus", "ReportImp\Wichernhaus\Wichernhaus.csproj", "{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -7833,6 +7835,30 @@ Global
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|x86.ActiveCfg = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|x86.Build.0 = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|.NET.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|.NET.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|x86.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Debug|x86.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.DebugRemote|x86.Build.0 = Debug|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|.NET.ActiveCfg = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|.NET.Build.0 = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|Any CPU.Build.0 = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|x86.ActiveCfg = Release|Any CPU
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -8156,6 +8182,7 @@ Global
{78CEF27A-E950-41B0-B0FD-2930D2873CE7} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{7FCD3132-1656-4051-B4D8-650DEB349A61} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{6AB16005-E552-4619-9E55-D752FCCAC3B0} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -197,6 +197,7 @@
<Compile Include="Access\UserDAO.cs" />
<Compile Include="ASPHibernateSessionManager.cs" />
<Compile Include="DefaultHibernateSessionManager.cs" />
<Compile Include="Entities\AbwesenheitsInformationPrint.cs" />
<Compile Include="Entities\AddressHistory.cs" />
<Compile Include="Entities\ConfirmationReceiptSignature.cs" />
<Compile Include="Entities\Dienstvertretung.cs" />
@@ -707,6 +708,7 @@
<EmbeddedResource Include="Mappings\Dienstvertretung.hbm.xml" />
<EmbeddedResource Include="Mappings\RegelmaessigerDienst.hbm.xml" />
<EmbeddedResource Include="Mappings\GeschenkterUrlaubstag.hbm.xml" />
<EmbeddedResource Include="Mappings\AbwesenheitsInformationPrint.hbm.xml" />
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -0,0 +1,134 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class AbwesenheitsInformationPrint : BeWoEntityBase
{
private string _Employee;
private string _ResturlaubVorjahr;
private string _VerfallenerResturlaub;
private string _Urlaubsanspruch;
private string _Resturlaub;
private string _TageKrankheit;
private string _TageUrlaub;
private string _GeschenkteUrlaubstage;
public AbwesenheitsInformationPrint()
{
_Tid = TableID.AbwesenheitsInformationPrint;
}
public virtual string Employee
{
get { return _Employee; }
set
{
if (AreDifferent(_Employee, value))
{
_Employee = value;
}
}
}
public virtual string ResturlaubVorjahr
{
get { return _ResturlaubVorjahr; }
set
{
if (AreDifferent(_ResturlaubVorjahr, value))
{
_ResturlaubVorjahr = value;
}
}
}
public virtual string VerfallenerResturlaub
{
get { return _VerfallenerResturlaub; }
set
{
if (AreDifferent(_VerfallenerResturlaub, value))
{
_VerfallenerResturlaub = value;
}
}
}
public virtual string Urlaubsanspruch
{
get { return _Urlaubsanspruch; }
set
{
if (AreDifferent(_Urlaubsanspruch, value))
{
_Urlaubsanspruch = value;
}
}
}
public virtual string Resturlaub
{
get { return _Resturlaub; }
set
{
if (AreDifferent(_Resturlaub, value))
{
_Resturlaub = value;
}
}
}
public virtual string TageKrankheit
{
get { return _TageKrankheit; }
set
{
if (AreDifferent(_TageKrankheit, value))
{
_TageKrankheit = value;
}
}
}
public virtual string TageUrlaub
{
get { return _TageUrlaub; }
set
{
if (AreDifferent(_TageUrlaub, value))
{
_TageUrlaub = value;
}
}
}
public virtual string GeschenkteUrlaubstage
{
get { return _GeschenkteUrlaubstage; }
set
{
if (AreDifferent(_GeschenkteUrlaubstage, value))
{
_GeschenkteUrlaubstage = value;
}
}
}
public override string ToString()
{
return Employee;
}
public override int GetHashCode()
{
return GetType().Name.GetHashCode() ^ Oid.GetHashCode();
}
}
}

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.AbwesenheitsInformationPrint,BeWo.Data">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version column="Version" type="Int64" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Employee" type="String" name="Employee"/>
<property column="GeschenkteUrlaubstage" type="String" name="GeschenkteUrlaubstage"/>
<property column="Resturlaub" type="String" name="Resturlaub"/>
<property column="ResturlaubVorjahr" type="String" name="ResturlaubVorjahr"/>
<property column="TageKrankheit" type="String" name="TageKrankheit"/>
<property column="TageUrlaub" type="String" name="TageUrlaub"/>
<property column="Urlaubsanspruch" type="String" name="Urlaubsanspruch"/>
<property column="VerfallenerResturlaub" type="String" name="VerfallenerResturlaub"/>
</class>
</hibernate-mapping>

View File

@@ -159,6 +159,9 @@ namespace Host
case ReportTypes.VorlagenReport:
report = CreateVorlagenReport();
break;
case ReportTypes.AbwesenheitsPrintReport:
report = CreateAbwesenheitsPrintReport();
break;
default:
report = CreateQueryReport();
break;
@@ -740,6 +743,22 @@ namespace Host
return reportCreator.CreateVorlagenReport(template, objectOids, table);
}
private XtraReport CreateAbwesenheitsPrintReport()
{
string printOids = Request.Params["oids"];
string titel = Request.Params["titel"];
string[] oidArray = printOids.Split(',');
List<long> oidList = new List<long>();
foreach (var item in oidArray)
{
oidList.Add(Convert.ToInt64(item));
}
return reportCreator.CreateAbwesenheitsPrintReport(oidList, titel);
}
private AbstractReportCreator GetReportCreator()
{
String t = slicedToken["tenant"].ToString();

View File

@@ -92,7 +92,8 @@ namespace BeWo.Report
public abstract XtraReport CreateKilometerauswertungForAllEmployees(List<long> employeeOids, DateTime rangeDate);
public abstract XtraReport CreateVorlagenReport(long template, List<long> objectOids, long table);
public abstract XtraReport CreateAbwesenheitsPrintReport(List<long> oids, string titel);
}
}
}

View File

@@ -1057,5 +1057,17 @@ namespace BeWo.Report
return mainReport;
}
public override XtraReport CreateAbwesenheitsPrintReport(List<long> oids, string titel)
{
EmployeeServiceImp employeeService = new EmployeeServiceImp();
List<AbwesenheitsInformationPrintDC> list = employeeService.GetAbwesenheitsInformationPrints(oids);
var report = FindReportImp<AbwesenheitsPrintRO>();
report.SetReportDataSource(AbwesenheitsPrintRO.Create(list, titel));
((XtraReport)report).CreateDocument();
return (XtraReport)report;
}
}
}

View File

@@ -0,0 +1,351 @@
namespace BeWo.Report.DefaultReports
{
partial class AbwesenheitsPrintReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
#endregion
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.calculatedField1 = new DevExpress.XtraReports.UI.CalculatedField();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.labelTitel = new DevExpress.XtraReports.UI.XRLabel();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// detailBand1
//
this.detailBand1.HeightF = 0F;
this.detailBand1.Name = "detailBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 48F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// calculatedField1
//
this.calculatedField1.Name = "calculatedField1";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2,
this.labelTitel});
this.ReportHeader.HeightF = 100.8751F;
this.ReportHeader.Name = "ReportHeader";
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 75.87509F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 2, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(805.0001F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell8,
this.xrTableCell9,
this.xrTableCell10,
this.xrTableCell11});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Text = "Mitarbeiter";
this.xrTableCell4.Weight = 1.5355610590054627D;
//
// xrTableCell5
//
this.xrTableCell5.Multiline = true;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Text = "Resturlaub\r\nVorjahr";
this.xrTableCell5.Weight = 0.884318766066838D;
//
// xrTableCell6
//
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Text = "Davon\r\nverfallen";
this.xrTableCell6.Weight = 0.844720448635373D;
//
// xrTableCell7
//
this.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "Urlaubsanspruch\r\n(Jahr)";
this.xrTableCell7.Weight = 1.3590060702952034D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Text = "Resturlaub";
this.xrTableCell8.Weight = 0.89440984476798946D;
//
// xrTableCell9
//
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Text = "Tage\r\nKrankheit";
this.xrTableCell9.Weight = 0.80047451380183554D;
//
// xrTableCell10
//
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Text = "Tage\r\nUrlaub";
this.xrTableCell10.Weight = 0.71552787501277959D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Text = "Geschenkte\r\nUrlaubstage";
this.xrTableCell11.Weight = 0.96598142241451823D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail});
this.DetailReport.DataMember = "printDCs";
this.DetailReport.DataSource = this.objectDataSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable3});
this.Detail.HeightF = 25F;
this.Detail.Name = "Detail";
//
// xrTable3
//
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Verdana", 9.75F);
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 2, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(805.0001F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell17,
this.xrTableCell18,
this.xrTableCell19,
this.xrTableCell20,
this.xrTableCell21,
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell24});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell17
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.Employee")});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 1.5355610590054627D;
//
// xrTableCell18
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.ResturlaubVorjahr")});
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Weight = 0.884318766066838D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.VerfallenerResturlaub")});
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Weight = 0.844720448635373D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.Urlaubsanspruch")});
this.xrTableCell20.Multiline = true;
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Weight = 1.3590057670149469D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.Resturlaub")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.Weight = 0.89441014804824592D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.TageKrankheit")});
this.xrTableCell22.Multiline = true;
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Weight = 0.80047451380183554D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.TageUrlaub")});
this.xrTableCell23.Multiline = true;
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Weight = 0.71552848157329252D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "printDCs.GeschenkteUrlaubstage")});
this.xrTableCell24.Multiline = true;
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Weight = 0.96598081585400519D;
//
// labelTitel
//
this.labelTitel.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.labelTitel.Name = "labelTitel";
this.labelTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.labelTitel.SizeF = new System.Drawing.SizeF(635.7981F, 23F);
this.labelTitel.StylePriority.UseFont = false;
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.AbwesenheitsPrintRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// AbwesenheitsPrintReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader,
this.DetailReport});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.calculatedField1});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.objectDataSource1});
this.DataSource = this.objectDataSource1;
this.Margins = new System.Drawing.Printing.Margins(23, 22, 50, 48);
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.DetailBand detailBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.CalculatedField calculatedField1;
private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.XRLabel labelTitel;
}
}

View File

@@ -0,0 +1,19 @@
using System.Linq;
using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports
{
public partial class AbwesenheitsPrintReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<AbwesenheitsPrintRO>
{
public AbwesenheitsPrintReport()
{
InitializeComponent();
}
public void SetReportDataSource(AbwesenheitsPrintRO pRO)
{
objectDataSource1.DataSource = pRO;
labelTitel.Text = pRO.Titel;
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="objectDataSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -229,6 +229,12 @@
<Compile Include="DefaultReports\BudgetnachweisAnhang.Designer.cs">
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\AbwesenheitsPrintReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\AbwesenheitsPrintReport.Designer.cs">
<DependentUpon>AbwesenheitsPrintReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VorlageReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -498,6 +504,7 @@
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReportCreator.cs" />
<Compile Include="ReportObjects\AbwesenheitsPrintRO.cs" />
<Compile Include="ReportObjects\BudgetnachweisAnhangRO.cs" />
<Compile Include="ReportObjects\FlsAuslastungsauswertungRO.cs" />
<Compile Include="ReportObjects\RosterRO.cs" />
@@ -549,6 +556,10 @@
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\AbwesenheitsPrintReport.resx">
<DependentUpon>AbwesenheitsPrintReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VorlageReport.resx">
<DependentUpon>VorlageReport.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,26 @@
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Report.ReportObjects
{
public class AbwesenheitsPrintRO : AbstractBeWoReportObject<AbwesenheitsPrintRO>
{
public string Titel { get; set; }
public List<AbwesenheitsInformationPrintDC> printDCs { get; set; }
public static AbwesenheitsPrintRO Create(List<AbwesenheitsInformationPrintDC> dcs, string titel)
{
AbwesenheitsPrintRO ro = new AbwesenheitsPrintRO();
ro.Titel = titel;
ro.printDCs = dcs;
return ro;
}
}
}

View File

@@ -48,6 +48,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Invoicing\AssistenzInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Quittierungsbeleg.cs">
<SubType>Component</SubType>
@@ -55,6 +57,13 @@
<Compile Include="Quittierungsbeleg.Designer.cs">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
</Compile>
<Compile Include="Rechung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Rechung.Designer.cs">
<DependentUpon>Rechung.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -74,6 +83,10 @@
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Rechung.resx">
<DependentUpon>Rechung.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -92,6 +105,10 @@
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Name>Shared</Name>

View File

@@ -1,26 +1,34 @@
Anpassungen für BeWo Rimbach
-1. Rechnungen anpassen-
-2. Bericht mit allen Klienten, deren Aktenzeichen, Hilfeplandaten und Summe der Leistungen für einen Monat-
-> Excel-Export Hilfepläne-
-> Sind dann zwar nicht genau die gewollten Sachen drin, aber ist schon vorhanden-
-4. Leistungsnachweis Verlaufsbogen-
-> Verstehen wir nicht, Özlem fragt nach-
-> Muss nicht gemacht werden-
-5. Monatlicher Betruungsnachweis (also QB?)-
-7. Auslagenerstattung für Mitarbeiter (Nachweis für Steuerberater)-
-> Fällt weg-
-8. Nachweis für gefahrene Kilometer mit Angabe der angefahrenen Orte + Datum & Klientenname-
-> Nachweis über Kilometer nur in Form der Ausgabe der KM (sollte schon gehen, ohne Orte; Wäre also ein Fahrtenbuch)-
-> Geht nicht-
-10. ICF in Diagnosen-
-> Machen wir nicht-
-6. FLS-Nachweis für jedes Kalenderjahr, Daten des Vorjahres müssen aber ins Folgejahr-
-> Jahresbericht gibt es, aber nicht exakt so-
-8. Fahrtenbuch mit Start- und Zielort etc-
-> machen wir nicht-
2. Bericht mit allen Klienten, deren Aktenzeichen, Hilfeplandaten und Summe der Leistungen für einen Monat
> Excel-Export Hilfepläne
> Sind dann zwar nicht genau die gewollten Sachen drin, aber ist schon vorhanden
3. Briefpapier für normalen Schriftverkehr (Ist das im BeWoPlaner relevant / möglich?)
> Höchstens Briefpapier als Bericht hinterlegen zum speichern für zu Hause
4. Leistungsnachweis Verlaufsbogen
> Verstehen wir nicht, Özlem fragt nach
6. FLS-Nachweis für jedes Kalenderjahr, Daten des Vorjahres müssen aber ins Folgejahr
> Jahresbericht gibt es, aber nicht exakt so
> Genau so
-7. Auslagenerstattung für Mitarbeiter (Nachweis für Steuerberater)-
-Bargeldverwaltung für MA einfügen
9. Dokumention für tägliche Arbeitszeit im Büro / Home-Office
> Entweder in der Dokumentation HomeOffice rausfiltern oder Haken setzen, dann im MAStundenkonto Auswertung für Tag machen und unten eine Summe für HO errechnen
> Müsste aber in jedem Fall umgesetzt werden
> Wird als ToDo aufgenommen
10. ICF in Diagnosen
> Diagnosen mit Behinderung etc. als ToDo
Zeiterfassung kontrastreicher gestalten

Binary file not shown.

View File

@@ -0,0 +1,400 @@
namespace Wichernhaus
{
partial class KassenbuchReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.Einzahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.Auszahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail.HeightF = 41.66667F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable1
//
this.xrTable1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(650F, 41.66667F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell9,
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell7,
this.xrTableCell3});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.StylePriority.UseBorders = false;
this.xrTableRow1.Weight = 1D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "Datum";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell9.Weight = 0.528846153846154D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Einzahlungen";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell1.Weight = 0.58653842632587139D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Auszahlungen";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 0.56730772165151744D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Notiz";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.85096157954289342D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Saldo";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell3.Weight = 0.4663461186335639D;
//
// TopMargin
//
this.TopMargin.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1,
this.xrLabel3});
this.TopMargin.HeightF = 182.2917F;
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel2
//
this.xrLabel2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Anfangsbestand", "{0:c}")});
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(548.9583F, 157.2917F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(101.0384F, 25F);
this.xrLabel2.StylePriority.UsePadding = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "xrLabel2";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 52.66666F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(650F, 47.33333F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "[ReportTitle]";
//
// xrLabel3
//
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(364.5833F, 157.2917F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(184.375F, 25F);
this.xrLabel3.StylePriority.UsePadding = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Anfangsbestand:";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// BottomMargin
//
this.BottomMargin.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLine1,
this.xrLabel6});
this.BottomMargin.HeightF = 73.95834F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLine1
//
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(304.1633F, 1.249949F);
this.xrLine1.Name = "xrLine1";
this.xrLine1.SizeF = new System.Drawing.SizeF(342.7084F, 5.291687F);
//
// xrLabel6
//
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(304.1633F, 10.00001F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(324.5834F, 22.99998F);
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "Datum, Unterschrift";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.DetailReport.DataMember = "Transaktionen";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(650F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell10,
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell8,
this.xrTableCell6});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell10
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Belegdatum", "{0:dd.MM.yyyy}")});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.528846189058744D;
//
// xrTableCell4
//
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Einzahlung", "{0:c}")});
this.xrTableCell4.FormattingRules.Add(this.Einzahlungstextsichtbarkeitsformatierungsregel);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "xrTableCell4";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell4.Weight = 0.58653846153846156D;
//
// Einzahlungstextsichtbarkeitsformatierungsregel
//
this.Einzahlungstextsichtbarkeitsformatierungsregel.Condition = "[Einzahlung] == 0";
this.Einzahlungstextsichtbarkeitsformatierungsregel.DataMember = "Transaktionen";
this.Einzahlungstextsichtbarkeitsformatierungsregel.Formatting.ForeColor = System.Drawing.Color.Transparent;
this.Einzahlungstextsichtbarkeitsformatierungsregel.Name = "Einzahlungstextsichtbarkeitsformatierungsregel";
//
// xrTableCell5
//
this.xrTableCell5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Auszahlung", "{0:c}")});
this.xrTableCell5.FormattingRules.Add(this.Auszahlungstextsichtbarkeitsformatierungsregel);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "xrTableCell5";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell5.Weight = 0.56730747516338642D;
//
// Auszahlungstextsichtbarkeitsformatierungsregel
//
this.Auszahlungstextsichtbarkeitsformatierungsregel.Condition = "[Auszahlung] == 0";
this.Auszahlungstextsichtbarkeitsformatierungsregel.DataMember = "Transaktionen";
this.Auszahlungstextsichtbarkeitsformatierungsregel.Formatting.ForeColor = System.Drawing.Color.Transparent;
this.Auszahlungstextsichtbarkeitsformatierungsregel.Name = "Auszahlungstextsichtbarkeitsformatierungsregel";
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 2, 2, 100F);
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "[Notiz]";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.Weight = 0.8509615091177134D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Transaktionen.Bestand", "{0:c}")});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 3, 2, 2, 100F);
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 0.46634636512169492D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.KassenbuchRO);
//
// KassenbuchReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.TopMargin,
this.BottomMargin,
this.DetailReport});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.Einzahlungstextsichtbarkeitsformatierungsregel,
this.Auszahlungstextsichtbarkeitsformatierungsregel});
this.Margins = new System.Drawing.Printing.Margins(100, 100, 182, 74);
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.FormattingRule Einzahlungstextsichtbarkeitsformatierungsregel;
private DevExpress.XtraReports.UI.FormattingRule Auszahlungstextsichtbarkeitsformatierungsregel;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRLine xrLine1;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
}
}

View File

@@ -0,0 +1,24 @@
using System.Linq;
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace Wichernhaus
{
public partial class KassenbuchReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<KassenbuchRO>
{
public KassenbuchReport()
{
InitializeComponent();
}
public void SetReportDataSource(KassenbuchRO pRO)
{
//if (pRO.Transaktionen != null)
//{
// pRO.Transaktionen = pRO.Transaktionen.OrderBy(o => o.Belegdatum).ToList();
//}
bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Wichernhaus")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Wichernhaus")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("438beb4d-1fc0-4320-97b3-f6c9516acaed")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{ACAA5856-E43A-4F4C-969E-2F4FB0D5A527}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Wichernhaus</RootNamespace>
<AssemblyName>9433783300_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Pdf.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v17.1.Wizard, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.PivotGrid.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.CodeParser.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v17.1.Export, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1.UI, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v17.1.Extensions, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="KassenbuchReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="KassenbuchReport.Designer.cs">
<DependentUpon>KassenbuchReport.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="KassenbuchReport.resx">
<DependentUpon>KassenbuchReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31424.327
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wichernhaus", "Wichernhaus.csproj", "{438BEB4D-1FC0-4320-97B3-F6C9516ACAED}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{438BEB4D-1FC0-4320-97B3-F6C9516ACAED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{438BEB4D-1FC0-4320-97B3-F6C9516ACAED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{438BEB4D-1FC0-4320-97B3-F6C9516ACAED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{438BEB4D-1FC0-4320-97B3-F6C9516ACAED}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D29370FB-E152-427C-99E3-BBC080999EEF}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,66 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.DCEntityMapper
{
public class AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint : AbstractIDCEntityMapper<AbwesenheitsInformationPrint, AbwesenheitsInformationPrintDC>
{
public override AbwesenheitsInformationPrintDC MergeWithDC(AbwesenheitsInformationPrint pEntity, AbwesenheitsInformationPrintDC pDataContract)
{
pDataContract.AbwesenheitsInformationPrintOid = pEntity.Oid;
pDataContract.AbwesenheitsInformationPrintInsTs = pEntity.InsTs;
pDataContract.AbwesenheitsInformationPrintInsUser = pEntity.InsUser;
pDataContract.AbwesenheitsInformationPrintIsActive = pEntity.IsActive;
pDataContract.AbwesenheitsInformationPrintNotice = pEntity.Notice;
pDataContract.AbwesenheitsInformationPrintSystemEntryID = pEntity.SystemEntryID;
pDataContract.AbwesenheitsInformationPrintUdpUser = pEntity.UdpUser;
pDataContract.AbwesenheitsInformationPrintVersion = pEntity.Version;
pDataContract.Employee = pEntity.Employee;
pDataContract.GeschenkteUrlaubstage = pEntity.GeschenkteUrlaubstage;
pDataContract.Resturlaub = pEntity.Resturlaub;
pDataContract.ResturlaubVorjahr = pEntity.ResturlaubVorjahr;
pDataContract.TageKrankheit = pEntity.TageKrankheit;
pDataContract.TageUrlaub = pEntity.TageUrlaub;
pDataContract.Urlaubsanspruch = pEntity.Urlaubsanspruch;
pDataContract.VerfallenerResturlaub = pEntity.VerfallenerResturlaub;
return pDataContract;
}
public override AbwesenheitsInformationPrint MergeWithEntity(AbwesenheitsInformationPrintDC pDataContract, AbwesenheitsInformationPrint pEntity)
{
pEntity.Oid = pDataContract.AbwesenheitsInformationPrintOid;
pEntity.InsTs = pDataContract.AbwesenheitsInformationPrintInsTs;
pEntity.InsUser = pDataContract.AbwesenheitsInformationPrintInsUser;
pEntity.IsActive = pDataContract.AbwesenheitsInformationPrintIsActive;
pEntity.Notice = pDataContract.AbwesenheitsInformationPrintNotice;
pEntity.SystemEntryID = pDataContract.AbwesenheitsInformationPrintSystemEntryID;
pEntity.UdpUser = pDataContract.AbwesenheitsInformationPrintUdpUser;
pEntity.Version = pDataContract.AbwesenheitsInformationPrintVersion;
pEntity.Employee = pDataContract.Employee;
pEntity.GeschenkteUrlaubstage = pDataContract.GeschenkteUrlaubstage;
pEntity.Resturlaub = pDataContract.Resturlaub;
pEntity.ResturlaubVorjahr = pDataContract.ResturlaubVorjahr;
pEntity.TageKrankheit = pDataContract.TageKrankheit;
pEntity.TageUrlaub = pDataContract.TageUrlaub;
pEntity.Urlaubsanspruch = pDataContract.Urlaubsanspruch;
pEntity.VerfallenerResturlaub = pDataContract.VerfallenerResturlaub;
return pEntity;
}
protected override bool AreDCAndEntityEqual(AbwesenheitsInformationPrintDC pDC, AbwesenheitsInformationPrint pEntity)
{
if (pDC.AbwesenheitsInformationPrintOid == null)
return false;
return pDC.AbwesenheitsInformationPrintOid == pEntity.Oid;
}
}
}

View File

@@ -286,6 +286,8 @@ namespace BeWo.Service.DCEntityMapper
private static GeschenkterUrlaubstagDC_GeschenkterUrlaubstag _GeschenkterUrlaubstagDC_GeschenkterUrlaubstag;
private static AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint _AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint;
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
@@ -718,5 +720,8 @@ namespace BeWo.Service.DCEntityMapper
public static GeschenkterUrlaubstagDC_GeschenkterUrlaubstag GeschenkterUrlaubstagDC_GeschenkterUrlaubstag =>
_GeschenkterUrlaubstagDC_GeschenkterUrlaubstag ?? (_GeschenkterUrlaubstagDC_GeschenkterUrlaubstag = new GeschenkterUrlaubstagDC_GeschenkterUrlaubstag());
public static AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint =>
_AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint ?? (_AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint = new AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint());
}
}

View File

@@ -85,7 +85,7 @@ namespace BeWo.Service.Plugins
//t = "4867997795"; // ADiK Kleve
//t = "3184859776"; // Sergej Becker
//t = "7752610643"; // BWK Gbr
t = "3785623125"; // Betreuwo
// t = "3785623125"; // Betreuwo
//t = "7130228334"; // LH Borken
//t = "4209820830"; // VKM Hamm
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
@@ -287,6 +287,7 @@ namespace BeWo.Service.Plugins
//t = "1566251835"; // Sicherleben Michael Voß
//t = "4947061147"; // Diakonisches Werk Passau
//t = "9064234785"; // BeWo Rimbach
t = "9433783300"; // Wichernhaus gGmbH
return t;
#else

View File

@@ -208,6 +208,77 @@ namespace BeWo.Service.Plugins
return new DateTime(year, 3, 31);
}
public virtual List<UrlaubskontoDarstellungDC> BerechneUrlaubskontoZurDarstellung(EmployeeDC emp, int year)
{
List<UrlaubskontoDarstellungDC> dcs = new List<UrlaubskontoDarstellungDC>();
// Benötigt werden:
// Urlaubstage für´s Jahr
ContractDC contract = null;
foreach (var c in emp.Contracts)
{
if (year >= c.EntryDate.Value.Year && year <= c.ContractEndDate.Value.Year)
{
contract = c;
break;
}
}
dcs.Add(new UrlaubskontoDarstellungDC()
{
Erlaeuterung = "Urlaubstage im Jahr " + year + ":",
AnzahlTage = contract.EmploymentType.LeaveDays == null ? (decimal)contract.LeaveDays : (decimal)contract.EmploymentType.LeaveDays,
Herkunft = string.Format("EmpOid:{0} ContractOid:{1}", emp.EmployeeOid, contract.ContractOid),
Tooltip = null
});
var absReason = GetVacationReasonIDs();
var absences = emp.AbsenceTimes.Where(x => absReason.Contains(x.Reason.AbsenceReasonOid.Value) && (x.Start.HasValue && x.Start.Value.Year == year))
.OrderBy(x => x.Start);
EmployeeService es = new EmployeeService();
foreach (var absence in absences)
{
//var current = es.GetEmployeeAsEntity((long)emp.EmployeeOid);
//var start = DateTimeExtensions.GetMax(absence.Start, new DateTime(year, 1, 1));
//var end = DateTimeExtensions.GetMin(absence.End, new DateTime(year, 12, 31));
//var dauer = BerechneAnzahlUrlaubstage(null, absence, year);
//var expiration = GetExpirationDate(year);
//current.UrlaubsVerfallsdatum = expiration;
//// Resturlaub vom Vorjahr verwenden, wenn möglich
//if (current.ResturlaubVorjahr > 0 && start <= expiration)
//{
// var firstEnd = (DateTime)DateTimeExtensions.GetMin(end, expiration);
// var dauerVorjahr = (decimal)(firstEnd - absence.Start.Value).Days + 1;
// var bucheVorjahr = Math.Min(current.ResturlaubVorjahr, dauerVorjahr);
// current.ResturlaubVorjahr -= bucheVorjahr;
// dauer -= bucheVorjahr;
//}
//else if (start > expiration)
//{
// current.VerfallenerUrlaub = current.ResturlaubVorjahr;
//}
//// Restliche Dauer vom Urlaub abziehen
//current.Resturlaub -= dauer;
}
// Verfallener Resturlaub
// Abzuziehende Tage wegen Vertragsbeginn mitten im Jahr
// Abwesenheiten im Jahr
// Geschenkte Urlaubstage im Jahr
// Anzahl der daraus resultierenden Resturlaubstage
return dcs;
}
public virtual Dictionary<int, UrlaubskontoDC> BerechneUrlaubskonto(Employee emp, int year)
{
try
@@ -270,18 +341,18 @@ namespace BeWo.Service.Plugins
if (endDate >= new DateTime(contract.EntryDate.Value.Year, 12, 31))
{
int restlicheTageImJahr = Convert.ToInt32((new DateTime(contract.EntryDate.Value.Year, 12, 31) - contract.EntryDate.Value.Date).TotalDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, null, arbeitstage, restlicheTageImJahr, contract.LeaveDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, null, arbeitstage, restlicheTageImJahr, tmp.Urlaubsanspruch);
}
else // Wenn Ende des Vertrags im gleichen Jahr vor Ende des Jahres ist
{
int restlicheTageImJahr = Convert.ToInt32((contract.ContractEndDate.Value.Date - contract.EntryDate.Value.Date).TotalDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, contract.ContractEndDate.Value.Date, arbeitstage, restlicheTageImJahr, contract.LeaveDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, contract.ContractEndDate.Value.Date, arbeitstage, restlicheTageImJahr, tmp.Urlaubsanspruch);
}
}
if (endDate.Value.Year == i)
{
int restlicheTageImJahr = Convert.ToInt32(((DateTime)endDate - new DateTime(i, 1, 1)).TotalDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, contract.LeaveDays);
tmp.Resturlaub = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, tmp.Urlaubsanspruch);
}
}
}

View File

@@ -228,6 +228,7 @@
<Compile Include="Core\ServiceLogic.cs" />
<Compile Include="Core\SettingsLogic.cs" />
<Compile Include="Core\Utils.cs" />
<Compile Include="DCEntityMapper\AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.cs" />
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
<Compile Include="DCEntityMapper\DienstvertretungDC_Dienstvertretung.cs" />
<Compile Include="DCEntityMapper\DokumentvorlageDC_Dokumentvorlage.cs" />

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ServiceModel;
using BeWo.Data.Entities;
using BeWo.View.Navigation.Filter;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
@@ -231,6 +232,10 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<AbsenceTimeDC> GetAllEmployeeAbsenceTimesForMonth(int year, int month);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AbsenceTimeDC> GetAllEmployeeAbsenceTimesForYear(int year);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeactivateGroupOfPeople(long pOid, long pVersion);
@@ -444,8 +449,28 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
void DeleteGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AbwesenheitsInformationPrintDC> InsertAbwesenheitsInformationPrint(List<AbwesenheitsInformationPrintDC> abwesenheitsInformationPrints);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AbwesenheitsInformationPrintDC> GetAbwesenheitsInformationPrints(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteAbwesenheitsInformationPrints(List<AbwesenheitsInformationPrintDC> dcs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AbwesenheitsInformationPrintDC> GetAllAbwesenheitsInformationPrints();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<UrlaubskontoDarstellungDC> ErstelleUrlaubskontoDarstellung(EmployeeDC emp, int year);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
Employee GetEmployeeAsEntity(long? oid);
}
}

View File

@@ -1192,7 +1192,7 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month);
UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(AbsenceOverviewFilterDC filter);
[FaultContract(typeof(BeWoFault))]
[OperationContract]

View File

@@ -946,6 +946,22 @@ namespace BeWo.Service.ServiceImplementations
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<AbsenceTimeDC> GetAllEmployeeAbsenceTimesForYear(int year)
{
try
{
var startdate = new DateTime(year, 1, 1);
var enddate = startdate.AddYears(1).AddTicks(-1);
var absencetimes = DAOFactory.SearchDAO.FindAbsenceTimes(startdate, enddate);
return MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(absencetimes);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void DeactivateGroupOfPeople(long pOid, long pVersion)
@@ -1947,37 +1963,145 @@ namespace BeWo.Service.ServiceImplementations
public List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForEmployee(long empOid)
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
try
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByEmpOid(empOid);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByEmpOid(empOid);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
return tage;
return tage;
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForYear(int year)
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
try
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByYear(year);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByYear(year);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
return tage;
return tage;
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public void InsertGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc)
{
var entity = MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntity(dc);
DAOFactory.GenericDAO.Insert(entity);
try
{
var entity = MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntity(dc);
DAOFactory.GenericDAO.Insert(entity);
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public void InsertMultipleGeschenkteUrlaubstage(List<GeschenkterUrlaubstagDC> dcs)
{
DAOFactory.GenericDAO.Insert(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntities(dcs));
try
{
DAOFactory.GenericDAO.Insert(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntities(dcs));
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public void DeleteGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc)
{
var lOriginal = DAOFactory.GenericDAO.LoadByID<GeschenkterUrlaubstag>((long)dc.GeschenkterUrlaubstagOid);
DAOFactory.GenericDAO.Delete(lOriginal);
try
{
var lOriginal = DAOFactory.GenericDAO.LoadByID<GeschenkterUrlaubstag>((long)dc.GeschenkterUrlaubstagOid);
DAOFactory.GenericDAO.Delete(lOriginal);
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<AbwesenheitsInformationPrintDC> InsertAbwesenheitsInformationPrint(List<AbwesenheitsInformationPrintDC> abwesenheitsInformationPrints)
{
try
{
DAOFactory.GenericDAO.Insert(MapperFactory.AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.MapToNewEntities(abwesenheitsInformationPrints));
var prints = DAOFactory.GenericDAO.GetAll<AbwesenheitsInformationPrint>();
return MapperFactory.AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.MapToNewDCs(prints);
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<AbwesenheitsInformationPrintDC> GetAbwesenheitsInformationPrints(List<long> oids)
{
try
{
var entities = DAOFactory.GenericDAO.LoadByIDs<AbwesenheitsInformationPrint>(oids);
List<AbwesenheitsInformationPrintDC> objekte = MapperFactory.AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.MapToNewDCs(entities);
return objekte;
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<AbwesenheitsInformationPrintDC> GetAllAbwesenheitsInformationPrints()
{
try
{
var entities = DAOFactory.GenericDAO.GetAllActive<AbwesenheitsInformationPrint>();
var dcs = MapperFactory.AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.MapToNewDCs(entities);
return dcs;
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public void DeleteAbwesenheitsInformationPrints(List<AbwesenheitsInformationPrintDC> dcs)
{
try
{
List<AbwesenheitsInformationPrint> entities = MapperFactory.AbwesenheitsInformationPrintDC_AbwesenheitsInformationPrint.MapToNewEntities(dcs);
foreach (var e in entities)
{
DAOFactory.GenericDAO.Delete(e);
}
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<UrlaubskontoDarstellungDC> ErstelleUrlaubskontoDarstellung(EmployeeDC emp, int year)
{
try
{
var vs = PluginLoader.FindClass<VacationService>();
return vs.BerechneUrlaubskontoZurDarstellung(emp, year);
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public Employee GetEmployeeAsEntity(long? oid)
{
return DAOFactory.GenericDAO.LoadByID<Employee>((long)oid);
}
}
}

View File

@@ -7209,17 +7209,33 @@ namespace BeWo.Service.ServiceImplementations
}
}
public UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month)
public UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(AbsenceOverviewFilterDC filter)
{
UrlaubsplanerRootDC root = new UrlaubsplanerRootDC();
var empService = new EmployeeServiceImp();
root.Feiertage = GetDefaultFeiertageForYear(year).Where(f => f.Datum.Month == month).ToList();
root.Abwesenheiten = empService.GetAllEmployeeAbsenceTimesForMonth(year, month);
root.GeschenkteUrlaubstage = empService.GetGeschenkteUrlaubstageForYear(year);
//root.AlleAbwesenheitsgründe = GetAllAbsenceReason().ToList();
//root.AlleVertragsArten = empService.GetAllEmploymentTypes();
//root.AlleTeamsCompact = empService.GetAllTeamsCompact();
root.Feiertage = GetDefaultFeiertageForYear(filter.Year).Where(f => f.Datum.Month == filter.Month).ToList();
root.Abwesenheiten = empService.GetAllEmployeeAbsenceTimesForMonth(filter.Year, filter.Month);
root.GeschenkteUrlaubstage = empService.GetGeschenkteUrlaubstageForYear(filter.Year);
var DCsToDelete = empService.GetAllAbwesenheitsInformationPrints();
empService.DeleteAbwesenheitsInformationPrints(DCsToDelete);
//root.AlleAbwesenheitsInformationDCs = new List<AbwesenheitsInformationDC>();
//var employee = GetAbsenceOverview(filter);
//foreach (var emp in employee)
//{
// root.AlleAbwesenheitsInformationDCs.Add(new AbwesenheitsInformationDC()
// {
// Employee = emp,
// Month = filter.Month,
// Year = filter.Year,
// AbsenceTimes = root.Abwesenheiten.Where(a => a.EmployeeOid == emp.EmployeeOid).ToList(),
// GeschenkteUrlaubstage = root.GeschenkteUrlaubstage.Where(u => u.Employee == emp.EmployeeOid).ToList()
// });
//}
return root;
}

View File

@@ -160,6 +160,7 @@ namespace BS.Shared
RegelmaessigerDienst = 153,
GeschenkterUrlaubstag = 154,
Preis = 155,
AbwesenheitsInformationPrint = 156
}
public enum SystemEntryID

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class AbwesenheitsInformationPrintDC
{
public long? AbwesenheitsInformationPrintOid { get; set; }
[DataMember]
public ActivationTypeId AbwesenheitsInformationPrintIsActive { get; set; }
[DataMember]
public string AbwesenheitsInformationPrintNotice { get; set; }
[DataMember]
public DateTime? AbwesenheitsInformationPrintInsTs { get; set; }
[DataMember]
public string AbwesenheitsInformationPrintInsUser { get; set; }
[DataMember]
public long? AbwesenheitsInformationPrintVersion { get; set; }
[DataMember]
public string AbwesenheitsInformationPrintUdpUser { get; set; }
[DataMember]
public SystemEntryID? AbwesenheitsInformationPrintSystemEntryID { get; set; }
[DataMember]
public string Employee { get; set; }
[DataMember]
public string ResturlaubVorjahr { get; set; }
[DataMember]
public string VerfallenerResturlaub { get; set; }
[DataMember]
public string Urlaubsanspruch { get; set; }
[DataMember]
public string Resturlaub { get; set; }
[DataMember]
public string TageKrankheit { get; set; }
[DataMember]
public string TageUrlaub { get; set; }
[DataMember]
public string GeschenkteUrlaubstage { get; set; }
}
}

View File

@@ -31,6 +31,7 @@
RosterReport,
ServicesOverviewNew,
Stundenzettel,
VorlagenReport
VorlagenReport,
AbwesenheitsPrintReport
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class UrlaubskontoDarstellungDC : IDataContract
{
[DataMember]
public string Erlaeuterung { get; set; }
[DataMember]
public decimal AnzahlTage { get; set; }
[DataMember]
public string Tooltip { get; set; }
[DataMember]
public string Herkunft { get; set; }
}
}

View File

@@ -16,6 +16,9 @@ namespace BS.Shared.DataContracts
public List<FeiertagDC> Feiertage { get; set; }
[DataMember]
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
[DataMember]
public List<AbwesenheitsInformationDC> AlleAbwesenheitsInformationDCs { get; set; }
//[DataMember]
//public List<AbsenceReasonDC> AlleAbwesenheitsgründe { get; set; }
//[DataMember]

View File

@@ -153,6 +153,7 @@
<Compile Include="Core\WohnheimbuchungsIntervall.cs" />
<Compile Include="DataContracts\AbsenceOverviewFilterDC.cs" />
<Compile Include="DataContracts\AbwesenheitsInformationDC.cs" />
<Compile Include="DataContracts\AbwesenheitsInformationPrintDC.cs" />
<Compile Include="DataContracts\AdditionalServiceBookingDC.cs" />
<Compile Include="DataContracts\AdditionalServiceDC.cs" />
<Compile Include="DataContracts\AdditionalServiceGroupOfPeopleDC.cs" />
@@ -235,6 +236,7 @@
<Compile Include="DataContracts\RatingDC.cs" />
<Compile Include="DataContracts\TextbausteinDC.cs" />
<Compile Include="DataContracts\TimeSheetStatusItemDC.cs" />
<Compile Include="DataContracts\UrlaubskontoDarstellungDC.cs" />
<Compile Include="DataContracts\UrlaubskontoDC.cs" />
<Compile Include="DataContracts\UrlaubsplanerRootDC.cs" />
<Compile Include="DataContracts\VertretungsKlientAccountingsListeItemsDC.cs" />