This commit is contained in:
Christian
2017-11-07 13:46:55 +01:00
parent 3ad117472e
commit eb8f40d384
68 changed files with 4569 additions and 2470 deletions

View File

@@ -51,7 +51,7 @@ namespace BeWo.Converter
var ret = (values[0] as IEnumerable<IFilterableDC>).Where(
dc =>
{
var filterRelevants = dc.FilterRelevants.ContainsAll(lFilter) && (customFilter == null || customFilter.IsValid(dc));
var filterRelevants = dc.FilterRelevants != null && dc.FilterRelevants.ContainsAll(lFilter) && (customFilter == null || customFilter.IsValid(dc));
var aktiv = (!showOnlyOnlyDeleted && !showOnlyArchived && dc.ActivationType == ActivationTypeId.Active);
var archiviert = ((showOnlyArchived && dc.ActivationType == ActivationTypeId.Archived));
var geloescht = ((!showOnlyArchived && showOnlyOnlyDeleted && dc.ActivationType == ActivationTypeId.Deleted));

View File

@@ -40,6 +40,8 @@ namespace BeWo
private String GETSTATUSMESSAGE_URL = "https://support.bewoplaner.de/api/getstate.php?k={0}";
private String GETNETMESSAGE_URL = "https://support.bewoplaner.de/api/getxmlstate.php?k={0}";
private bool _IsTechSupport;
public bool IsTechSupport
{
@@ -278,49 +280,66 @@ namespace BeWo
return Type.GetType("System.Reflection.ReflectionContext", false) != null;
}
private bool CheckStatusMessage(BeWoProfile profile)
private bool CheckStatusMessage(BeWoProfile profile, String url)
{
try
{
String url = String.Format(GETSTATUSMESSAGE_URL, profile.Tenant);
using (WebClient client = new WebClient())
{
//MessageBox.Show(hostAddress);
byte[] response = client.UploadValues(url, "POST", new NameValueCollection());
String message = System.Text.Encoding.UTF8.GetString(response);
//zum testen:
//using (var myFile = new StreamReader("C:\\temp\\testxaml.txt", Encoding.Default))
//{
// message = myFile.ReadToEnd();
// myFile.Close();
//}
if (!String.IsNullOrWhiteSpace(message) && message.Trim().Length > 2)
{
message = message.Replace("\\n", "\n");
String ende = message.Substring(message.Length - 2);
message = message.Replace("\\n", "\n");
message = message.Substring(0, message.Length - 2);
MessageDialog dlg = new MessageDialog();
dlg.Message = message.Substring(0, message.Length - 2);
if (message.Contains("<") && message.Contains(">"))
{
dlg.SetXaml(message);
}
else
{
dlg.Message = message;
}
dlg.ShowDialog();
if (message.EndsWith(";0"))
if (ende.EndsWith(";0"))
{
return false;
}
}
}
}
catch (Exception ex)
{
//MessageBox.Show(String.Format("Fehler beim Prüfen der Kundennummer: {0}\n\n{1}", ex.Message, ex.StackTrace));
}
return true;
}
private void ReadProfileList()
private void ReadProfileList()
{
if (File.Exists(_ProfilesFilePath))
{
@@ -624,12 +643,12 @@ namespace BeWo
var profile = profileSelectionComboBox.SelectedItem as BeWoProfile;
#if DEBUG
//if (!CheckStatusMessage(profile))
//if (!CheckStatusMessage(profile, String.Format(GETNETMESSAGE_URL, profile.Tenant)))
//{
// return;
//}
#else
if (!CheckStatusMessage(profile))
if (!CheckStatusMessage(profile, String.Format(GETSTATUSMESSAGE_URL, profile.Tenant)))
{
return;
}
@@ -768,18 +787,32 @@ namespace BeWo
if (!string.IsNullOrEmpty(lUserName) && !string.IsNullOrEmpty(lPassword))
{
String tempUsername = lUserName;
try
{
var version = Environment.OSVersion.VersionString;
var clr = Environment.Version.ToString();
tempUsername = String.Format("{0}//Version={1};CLRVersion={2}", lUserName, version, clr);
String tempUsername = lUserName;
String version = "unbekannt";
String clr = "unbekannt";
var bewoVersion = BeWoApp.Version;
try
{
version = Environment.OSVersion.VersionString;
}
catch (Exception)
{
// do nothing
}
catch (Exception e)
{
version = e.Message;
}
try
{
clr = Environment.Version.ToString();
}
catch (Exception e)
{
clr = e.Message;
}
tempUsername = String.Format("{0}//Version={1};CLRVersion={2};BeWoVersion={3}", lUserName, version, clr, bewoVersion);
try
{
ServiceFacade.DoUserServiceAsync(s =>

View File

@@ -373,7 +373,7 @@
</Button.RenderTransform>
</localView:ImageButton>
<!--<localView:ImageButton r:DemandUserRight.VisibleDemands="WohnheimView_View"
<localView:ImageButton r:DemandUserRight.VisibleDemands="WohnheimView_View"
x:Name="button_Wohnheim" Click="button_Wohnheim_Click"
Style="{StaticResource NavBarButton}"
Content="{t:Translate Wohnheime}"
@@ -387,7 +387,7 @@
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Button.RenderTransform>
</localView:ImageButton>-->
</localView:ImageButton>
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, OrganisationView_View"
x:Name="button_Organisation" Click="button_Organisation_Click"

View File

@@ -97,13 +97,12 @@ namespace BeWo
{
this.button_Scheduler.Visibility = Visibility.Collapsed;
}
//CB EINKOMMENTIEREN
// if (this.button_Wohnheim.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsWohnheimAllowed)
//{
// this.button_Wohnheim.Visibility = Visibility.Collapsed;
//}
if (this.button_Wohnheim.Visibility == Visibility.Visible && !BeWoApp.AppSettings.IsWohnheimAllowed)
{
this.button_Wohnheim.Visibility = Visibility.Collapsed;
}
if (this.button_ResourceBooking.Visibility == Visibility.Visible && !BeWoApp.AppSettings.ShowRessources)
if (this.button_ResourceBooking.Visibility == Visibility.Visible && !BeWoApp.AppSettings.ShowRessources)
{
this.button_ResourceBooking.Visibility = Visibility.Collapsed;
}

View File

@@ -9,7 +9,7 @@
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<StackPanel x:Name="ComboBox_TreeView_Imitation" Orientation="Horizontal" Margin="3,0,3,3" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">
<TextBox x:Name="Imitationheader" Width="182" HorizontalAlignment="Left" Cursor="Arrow" VerticalContentAlignment="Center" Height="23" IsReadOnly="True" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBox x:Name="Imitationheader" Width="180" HorizontalAlignment="Left" Padding="3" Cursor="Arrow" VerticalContentAlignment="Center" Height="23" IsReadOnly="True" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}" />
<Button Content="6" Click="OpenPopUpBtnClick" FontFamily="Webdings" FontSize="8" Height="19" Name="OpenPopUpBtn" Width="17" Margin="-22,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</StackPanel>
<Popup Grid.Row="1" x:Name="TreeViewPopup" AllowsTransparency="True"
@@ -76,11 +76,22 @@
</TreeView>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<CheckBox x:Name="DeSelectAllCheckBox" Click="DeSelectAllOnClick" IsChecked="False" Content="Alle Ziele" Margin="3" VerticalAlignment="Center" />
<Button Grid.Column="1" x:Name="ApplyBtn" Margin="3" Height="23" Content="Übernehmen" Click="ApplyBtnClose" HorizontalAlignment="Right" />
<CheckBox x:Name="DeSelectAllCheckBox" Click="DeSelectAllOnClick" IsChecked="False" Content="Alle Ziele" Margin="3" VerticalAlignment="Center" />
<Button Grid.Column="1" Margin="3" Height="23"
Name="button_aufklappenAllLeistungen" Click="button_aufklappenAllLeistungen_Click"
HorizontalAlignment="Left">Alle aufklappen</Button>
<Button Grid.Column="2" Margin="3" Height="23"
Name="button_zuklappenAllLeistungen" Click="button_zuklappenAllLeistungen_Click"
HorizontalAlignment="Left">Alle zuklappen</Button>
<Button Grid.Column="3" x:Name="ApplyBtn" Margin="3" Height="23"
Content="Übernehmen" Click="ApplyBtnClose" HorizontalAlignment="Right"/>
</Grid>
</Grid>
</Border>

View File

@@ -196,5 +196,48 @@ namespace BeWo.View.Controls
ShowCheckedValues();
}
//private void button_checkAllLeistungen_Click(object sender, RoutedEventArgs e)
//{
// CheckAllLeistungTreeItems(true);
//}
//private void button_uncheckAllLeistungen_Click(object sender, RoutedEventArgs e)
//{
// CheckAllLeistungTreeItems(false);
//}
private void button_aufklappenAllLeistungen_Click(object sender, RoutedEventArgs e)
{
SwitchAllLeistungTreeItems(true);
}
private void button_zuklappenAllLeistungen_Click(object sender, RoutedEventArgs e)
{
SwitchAllLeistungTreeItems(false);
}
//private void CheckAllLeistungTreeItems(bool check)
//{
// var allItems = Tree1.ItemsSource;
// foreach (var item in allItems)
// {
// SupportConceptGoalDC goal = item as SupportConceptGoalDC;
// goal.IsChecked = check;
// }
//}
private void SwitchAllLeistungTreeItems(bool check)
{
Style stylee = new Style
{
TargetType = typeof(TreeViewItem)
};
stylee.Setters.Add(new Setter(TreeViewItem.IsExpandedProperty, check));
Tree1.ItemContainerStyle = stylee;
}
}
}

View File

@@ -6,7 +6,6 @@
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True" >
<localView:BeWoView.Resources>
<ObjectDataProvider MethodName="GetValues"
@@ -117,7 +116,7 @@
<Label Grid.Column="0" Grid.ColumnSpan="1">Name der Gruppe</Label>
<TextBox Grid.Column="1" Grid.ColumnSpan="3" VerticalContentAlignment="Center" Height="23" Margin="3,0,3,0" Text="{val:ValidationBinding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Visibility="Collapsed" Grid.Column="2">Intervall</Label>
<controls:NullItemComboBox Visibility="Collapsed" VerticalContentAlignment="Center" ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}" SelectedItem="{Binding Path=AppointmentDayOfWeek}" Grid.Column="3"/>
<ComboBox Visibility="Collapsed" VerticalContentAlignment="Center" ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}" SelectedItem="{Binding Path=AppointmentDayOfWeek}" Grid.Column="3"/>
</Grid>
<GroupBox Grid.Row="3" Grid.ColumnSpan="4" Header="Mitglieder hinzufügen" Margin="3,15,0,0" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>

View File

@@ -4,7 +4,6 @@
xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Angebote" Style="{StaticResource ObjectEditGroupBox}">
@@ -23,7 +22,7 @@
<Label>Bezeichnung</Label>
<TextBox Grid.Column="1" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="2">Bereich</Label>
<controls:NullItemComboBox Grid.Column="3" Height="23" ItemsSource="{Binding Path=PossibleServices, Mode=OneWay}" Margin="3" SelectedItem="{val:ValidationBinding Path=NewVM.AdditionalService}"/>
<ComboBox Grid.Column="3" Height="23" ItemsSource="{Binding Path=PossibleServices, Mode=OneWay}" Margin="3" SelectedItem="{val:ValidationBinding Path=NewVM.AdditionalService}"/>
<Button Name="button_addServiceRegion" Click="Button_addServiceRegion_OnClick" Grid.Column="4" Height="25" Margin="3,3,3,3" Padding="5 0" IsDefault="True" Content="Hinzufügen" Grid.ColumnSpan="2" />
<dxg:GridControl x:Name="DatagridRegions" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>

View File

@@ -301,7 +301,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Bereich: " Grid.Column="0" Grid.Row="0" />
<uc:NullItemComboBox SelectedIndex="0" x:Name="Bereichscombobox" Margin="3,0,3,3"
<ComboBox SelectedIndex="0" x:Name="Bereichscombobox" Margin="3,0,3,3"
Height="23" Grid.Column="1" Grid.Row="0"
ItemsSource="{Binding Path=AdditionalServices}"
SelectionChanged="BereichsComboboxChange" />

View File

@@ -688,13 +688,11 @@
<GroupBox x:Name="GroupBoxOvertimes" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Header="Erfasste Überstunden" Style="{StaticResource ObjectEditGroupBox}" />
</Grid>
</TabItem>
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
<TabItem Header="Schulbegleitender Dienst" Name="tabitem_schuldienst" Selector.Selected="tabitem_SchulDienst_Selected" />
<TabItem Header="Chat Service" Name="tabitem_chatservice" Selector.Selected="tabitem_chatservice_Selected" />
<TabItem Header="Schulbegleitender Dienst" Name="tabitem_schuldienst" Selector.Selected="tabitem_SchulDienst_Selected" />
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
</TabControl>
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="40" Margin="0,10,0,0" VerticalAlignment="Stretch" Background="#FF000000">
<Border.OpacityMask>

View File

@@ -487,7 +487,7 @@ namespace BeWo.View.Detail
{
ComboBoxTreeViewControl.ParentWindowHeight = ActualHeight;
}
ComboBoxTreeViewControl.Imitationheader.Width = 194;
ComboBoxTreeViewControl.Imitationheader.Width = 189;
}
private void SetSelectedCustomerNode()

View File

@@ -605,7 +605,7 @@
<StackPanel Margin="0" Grid.Column="1" Grid.Row="1" x:Name="panelGoalTree">
<StackPanel x:Name="ComboBox_TreeView_Imitation" Orientation="Horizontal" Margin="3,0,3,0" Visibility="{Binding Path=PrototypeVM.IsGoalTreeVisible, Converter={StaticResource BoolVisibilityConverter}}">
<localViewControls:ComboBoxTreeViewControl Margin="-3,0,3,0" x:Name="ComboBoxTreeViewControl" TreeViewSourceList="{Binding Path=PrototypeVM.GoalTree, Mode=TwoWay}"/>
<localViewControls:ComboBoxTreeViewControl x:Name="ComboBoxTreeViewControl" Margin="-3,0,3,0" TreeViewSourceList="{Binding Path=PrototypeVM.GoalTree, Mode=TwoWay}"/>
</StackPanel>
</StackPanel>
@@ -645,7 +645,7 @@
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Startdatum" />
<dxe:DateEdit Grid.Column="1" Grid.Row="0"
x:Name="datepicker_newDate2"
x:Name="datepicker_newDate2" AllowNullInput="False"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=PrototypeVM.Date}"
Height="23" Margin="3,0,3,3" MaskType="DateTimeAdvancingCaret" />
@@ -658,7 +658,7 @@
Margin="3,0,3,3"/>
<Label Grid.Column="0" Grid.Row="1" Content="Enddatum" x:Name="EndDateLabel2"/>
<dxe:DateEdit Grid.Column="1" Grid.Row="1"
<dxe:DateEdit Grid.Column="1" Grid.Row="1" AllowNullInput="False"
x:Name="datepicker_newEndDate2"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=PrototypeVM.EditableEndDate}"
Height="23" Margin="3,0,3,3" MaskType="DateTimeAdvancingCaret" />
@@ -699,7 +699,7 @@
<Label Grid.Column="0" Grid.Row="0" Content="Startdatum" x:Name="startDatum1" />
<dxe:DateEdit Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"
x:Name="datepicker_newDate1"
x:Name="datepicker_newDate1" AllowNullInput="False"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=PrototypeVM.Date}"
Height="23" Margin="3,0,3,3" MaskType="DateTimeAdvancingCaret" />

View File

@@ -1,44 +1,62 @@
<Window x:Class="BeWo.View.MessageDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:BeWo.Core"
Title="BeWoPlaner" Height="400" Width="500" WindowStartupLocation="CenterScreen" WindowStyle="None" ResizeMode="NoResize" >
<Grid Background="{x:Null}" Margin="0,0,0,0">
<Border BorderThickness="1" Padding="5,5,5,5" BorderBrush="Black" Background="{DynamicResource LoginBackgroundColor}">
<Grid Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" ></RowDefinition>
<RowDefinition Height="Auto" ></RowDefinition>
</Grid.RowDefinitions>
<TextBox Background="Transparent"
BorderThickness="0" IsReadOnly="True"
x:Name="txtMessage" TextWrapping="Wrap" Margin="3" FontSize="14"></TextBox>
<!--<Button Grid.Row="2" Grid.Column ="2" Width="100" Margin="3" IsCancel="True" IsEnabled="False" HorizontalAlignment="Right">Abbrechen</Button>-->
</Grid>
</Grid>
</Border>
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="486" Y2="70" StrokeThickness="1"></Line>
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="320" X2="486" Y2="320" StrokeThickness="1" Margin="0,30,0,-30"></Line>
<Button x:Name="CountButton" Width="120" Margin="3,3,15,10" IsDefault="True" HorizontalAlignment="Right" VerticalAlignment="Bottom" Click="ButtonBase_OnClick">Schließen</Button>
</Grid>
<Grid Background="{x:Null}" Margin="0,0,0,0">
<Border BorderThickness="1" Padding="5,5,5,5" BorderBrush="Black" Background="{DynamicResource LoginBackgroundColor}">
<Grid Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0" x:Name="rootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" ></RowDefinition>
<RowDefinition Height="Auto" ></RowDefinition>
</Grid.RowDefinitions>
<TextBox Background="Transparent"
BorderThickness="0" IsReadOnly="True"
x:Name="txtMessage" TextWrapping="Wrap" Margin="3" FontSize="14"></TextBox>
<!--<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="*" ></RowDefinition>
<RowDefinition Height="Auto" ></RowDefinition>
</Grid.RowDefinitions>
<TextBox Background="Transparent"
BorderThickness="0" IsReadOnly="True"
TextWrapping="Wrap" Margin="3" FontSize="14">
Am 17./18.11.2017 wird ein BeWoPlaner-Update erscheinen, welches auf die Microsoft Komponente .NET 4.5 angewiesen ist. Bitte installieren Sie .NET 4.5. Sobald Sie die Installation durchgeführt haben, startet der BeWoPlaner ohne diese Meldung.
Sie finden die Installation unter folgendem Link:
</TextBox>
<TextBlock Grid.Row="1" Margin="3" FontSize="14">
<Hyperlink NavigateUri="https://www.microsoft.com/de-de/download/details.aspx?id=42642" Command="{Binding Test}">
https://www.microsoft.com/de-de/download/details.aspx?id=42642
</Hyperlink>
</TextBlock>
</Grid>-->
<!--<Button Grid.Row="2" Grid.Column ="2" Width="100" Margin="3" IsCancel="True" IsEnabled="False" HorizontalAlignment="Right">Abbrechen</Button>-->
</Grid>
</Grid>
</Border>
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="486" Y2="70" StrokeThickness="1"></Line>
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="320" X2="486" Y2="320" StrokeThickness="1" Margin="0,30,0,-30"></Line>
<Button x:Name="CountButton" Width="120" Margin="3,3,15,10" IsDefault="True" HorizontalAlignment="Right" VerticalAlignment="Bottom" Click="ButtonBase_OnClick">Schließen</Button>
</Grid>
</Window>

View File

@@ -1,6 +1,8 @@
using System;
using System.Windows;
using System.Windows.Threading;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Markup;
namespace BeWo.View
{
@@ -9,11 +11,61 @@ namespace BeWo.View
/// </summary>
public partial class MessageDialog : Window
{
public MessageDialog()
public MessageDialog()
{
InitializeComponent();
DataContext = this;
}
private ICommand openBrowserCommand;
public ICommand OpenBrowserCommand
{
get
{
if (openBrowserCommand == null)
{
openBrowserCommand = new OpenBrowserCommandImpl();
}
return openBrowserCommand;
}
}
public class OpenBrowserCommandImpl : ICommand
{
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
if (parameter != null)
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(parameter.ToString()));
}
}
}
public void SetXaml(String xamlCode)
{
try
{
UIElement element = XamlReader.Parse(xamlCode) as UIElement;
if (element != null)
{
txtMessage.Visibility = Visibility.Collapsed;
rootGrid.Children.Add(element);
}
}
catch (Exception e)
{
//ignore
}
}
public String Message
@@ -26,7 +78,21 @@ namespace BeWo.View
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
//DialogResult = true;
Close();
Close();
}
private void OpenBrowserCommand_Executed(object sender, ExecutedRoutedEventArgs e)
{
if (e.OriginalSource is Hyperlink)
{
System.Diagnostics.Process.Start(
new System.Diagnostics.ProcessStartInfo((e.OriginalSource as Hyperlink).NavigateUri.ToString()));
}
}
private void OpenBrowserCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
e.Handled = true;
}
}
}

View File

@@ -189,7 +189,7 @@ namespace BeWo.View.Report.Auslastung
teamOid = _SelectedTeam.TeamOid;
}
if (teamOid > 0 && !checkbox_all.IsChecked.Value)
if (teamOid > 0 && !checkbox_all_teams.IsChecked.Value)
{
sb.Append(teamOid);
}

View File

@@ -198,7 +198,7 @@ namespace BeWo.View.Report.Employee
if (_SelectedTeam != null)
teamOid = _SelectedTeam.TeamOid;
if (teamOid > 0 && !checkbox_all.IsChecked.Value)
if (teamOid > 0 && !checkbox_all_teams.IsChecked.Value)
{
sb.Append(teamOid);
}

View File

@@ -76,8 +76,11 @@ namespace BeWo.ViewModel
{
if (!IsResourceRight(r) || BeWoApp.AppSettings.ShowRessources)
{
possibleRights.Add(r);
}
if (!IsHiddenRight(r))
{
possibleRights.Add(r);
}
}
}
}
}
@@ -99,6 +102,17 @@ namespace BeWo.ViewModel
return false;
}
private static bool IsHiddenRight(UserRightType userRightType)
{
if (userRightType == UserRightType.ChatSettings
|| userRightType == UserRightType.CustomerTeam_View
|| userRightType == UserRightType.CustomerTeam_Create
|| userRightType == UserRightType.CustomerTeam_Edit
|| userRightType == UserRightType.CustomerTeam_Delete)
return true;
return false;
}
private static bool IsSbdRight(UserRightType userRightType)
{
if (userRightType == UserRightType.VertretungenView_View)

View File

@@ -212,50 +212,5 @@ namespace BeWo.ViewModel
return pDataContract;
}
private void CommitContact(string pValue, ContactType pContactType)
{
List<ContactDC> lOldContactDCs;
if (DataContract.ContactInformations != null)
{
lOldContactDCs = DataContract.ContactInformations.ToList();
}
else
{
lOldContactDCs = new List<ContactDC>();
}
ContactDC lContactDC = null;
try
{
lContactDC = lOldContactDCs.SingleOrDefault(con => con.ContactType == pContactType);
}
catch (Exception)
{
// donothing
}
if (string.IsNullOrEmpty(pValue) && lContactDC != null)
{
lOldContactDCs.Remove(lContactDC);
}
else if (!string.IsNullOrEmpty(pValue))
{
if (lContactDC == null)
{
lContactDC = new ContactDC
{
ContactType = pContactType
};
lOldContactDCs.Add(lContactDC);
}
lContactDC.ContactValue = pValue;
}
DataContract.ContactInformations = lOldContactDCs;
}
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Text;
using BeWo.Report;
using BeWo.Data.Entities;
using BeWo.Data.Access;
@@ -44,6 +45,13 @@ namespace BeWo.Report.ReportObjects
{
scd.DirectIst /= 60;
scd.MittelbarIst /= 60;
scd.IstKw1 /= 60;
scd.IstKw2 /= 60;
scd.IstKw3 /= 60;
scd.IstKw4 /= 60;
scd.IstKw5 /= 60;
scd.IstKw6 /= 60;
empDetail.DirectIst += scd.DirectIst;
empDetail.MittelbarIst += scd.MittelbarIst;
empDetail.ApprovedHoursPerWeek += scd.ApprovedHoursPerWeek;
@@ -95,13 +103,20 @@ namespace BeWo.Report.ReportObjects
if (teamDetail.DirectIst + teamDetail.MittelbarIst != 0)
teamDetail.RelationDirectToMittelbar = (teamDetail.DirectIst / (teamDetail.DirectIst + teamDetail.MittelbarIst)) * 100;
teamDetail.SupportConceptDetailList.Sort((a, b) => (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName));
teamDetail.SupportConceptDetailList.Sort((a, b) =>
{
if (a.Customer == null)
return 1;
if (b.Customer == null)
return -1;
return (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(
b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName);
});
}
}
public virtual void CreateEmployeeDetails(MitarbeiterauslastungRO ro)
{
foreach (var empDetail in ro.EmployeeDetailList)
@@ -114,14 +129,28 @@ namespace BeWo.Report.ReportObjects
{
CreateSupportConceptsForCustomer(ro, empDetail);
}
CreateServiceRecordDetails(ro, empDetail);
empDetail.SupportConceptDetailList.Sort((a, b) => (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName));
if (CreateIst())
{
CreateServiceRecordDetails(ro, empDetail);
}
empDetail.SupportConceptDetailList.Sort((a, b) =>
{
if (a.Customer == null)
return 1;
if (b.Customer == null)
return -1;
return (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(
b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName);
});
}
}
public virtual bool CreateIst()
{
return false;
}
private void CreateSupportConceptsForCustomer(MitarbeiterauslastungRO ro, MitarbeiterauslastungRO.EmployeeDetail empDetail)
{
var span = new DateTimeSpan();
@@ -178,6 +207,71 @@ namespace BeWo.Report.ReportObjects
empDetail.FLSTotalHoursByContract = contract.WeeklyFLS ?? 0;
}
empDetail.AbsenceTimeString = "";
if (emp.AbsenceTimes != null)
{
var sb = new StringBuilder();
var count = 1;
foreach (var at in emp.AbsenceTimes)
{
if (at.AbsenceSpan != null)
{
bool cont = true;
if (at.Start != null && at.Start >= ro.ReportEndDate)
{
cont = false;
}
if (cont && at.End != null && at.End < ro.ReportStartDate)
{
cont = false;
}
if (cont)
{
if (sb.Length > 0)
{
sb.Append(", ");
}
if (at.Start.HasValue)
{
sb.Append(string.Format("{0:00}", at.Start.Value.Day));
sb.Append(".");
sb.Append(string.Format("{0:00}", at.Start.Value.Month));
sb.Append(".");
sb.Append(at.Start.Value.Year.ToString().Substring(2));
if (at.End.HasValue)
{
sb.Append(" - ");
sb.Append(string.Format("{0:00}", at.End.Value.Day));
sb.Append(".");
sb.Append(string.Format("{0:00}", at.End.Value.Month));
sb.Append(".");
sb.Append(at.End.Value.Year.ToString().Substring(2));
}
}
sb.Append(" ");
sb.Append(at.AbsenceReason.Description);
count++;
}
}
}
if (sb.Length > 0)
{
empDetail.AbsenceTimeString = "Abwesenheiten: " + sb.ToString();
}
}
var span = new DateTimeSpan();
span.StartDateTime = ro.ReportStartDate;
span.EndDateTime = ro.ReportEndDate;
@@ -241,9 +335,14 @@ namespace BeWo.Report.ReportObjects
MitarbeiterauslastungRO.SupportConceptDetail scDc = GetOrCreateSupportConceptDetail(emp, e2c.Customer, scap, c2s, ro.ReportStartDate, ro.ReportEndDate, null, true);
if (scDc != null && (scDc.ApprovedHoursPerWeek > 0 || scDc.ApprovedHoursPerWeekWithRateFactor > 0))
if (scDc != null)
{
empDetail.SupportConceptDetailList.Add(scDc);
if (scDc.ApprovedHoursPerWeek > 0 ||
scDc.ApprovedHoursPerWeekWithRateFactor > 0 ||
!CheckIfApprovedGreaterZero())
{
empDetail.SupportConceptDetailList.Add(scDc);
}
}
}
}
@@ -259,6 +358,11 @@ namespace BeWo.Report.ReportObjects
}
protected virtual bool CheckIfApprovedGreaterZero()
{
return true;
}
private MitarbeiterauslastungRO.SupportConceptDetail GetOrCreateSupportConceptDetail(Employee emp, Customer customer, SupportConceptApprovalPeriod scap, CostBearer2SupportConcept cb2sc, DateTime start, DateTime ende, AuslastungBerechnungHelper anteil, bool ausHauptbetreuung)
{
bool inTimeRange = true;
@@ -290,10 +394,6 @@ namespace BeWo.Report.ReportObjects
}
else
{
if (customer.Oid.Value == 277)
{
int test = 0;
}
key = String.Format("c{0}_{1}", customer.Oid.Value, scap.Oid.Value);
}
if (betreuungDict.ContainsKey(key))
@@ -419,34 +519,96 @@ namespace BeWo.Report.ReportObjects
return anteile;
}
private void CreateServiceRecordDetails(MitarbeiterauslastungRO ro, MitarbeiterauslastungRO.EmployeeDetail empDetail)
public virtual void CreateServiceRecordDetails(MitarbeiterauslastungRO ro, MitarbeiterauslastungRO.EmployeeDetail empDetail)
{
foreach (var scd in empDetail.SupportConceptDetailList)
IList<ServiceRecord> records = null;
var span = new DateTimeSpan();
span.StartDateTime = ro.ReportStartDate;
span.EndDateTime = ro.ReportEndDate.AddTicks(-1);
if (empDetail.Employee != null)
{
if (scd.CostBearer2SupportConcept != null)
records = DAOFactory.SearchDAO.FindEmployeeServiceRecords(empDetail.Employee.Oid.Value, span, null, null);
}
else if (empDetail.Customer != null)
{
records = DAOFactory.SearchDAO.FindCustomerServiceRecords(empDetail.Customer.Oid.Value, span, null, null, false);
}
Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail> oid2SCDetailDict = new Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail>();
foreach (ServiceRecord sr in records)
{
if (sr.Start >= ro.ReportStartDate && sr.Start.Value < ro.ReportEndDate)
{
//var records = DAOFactory.SearchDAO.FindServiceRecordsDetailsForLastDays(scd.CostBearer2SupportConcept.Oid.Value, null);
//Dictionary<long, bool> serviceRecordsProcessed = new Dictionary<long, bool>();
var scd = GetSupportConceptDetailForServiceRecord(empDetail, sr);
if (scd != null)
{
if (empDetail.Employee != null)
{
if (sr.EmployeeOid.HasValue && sr.EmployeeOid == empDetail.Employee.Oid)
{
AddServiceRecord(ro, scd, sr);
}
}
else if (empDetail.Customer != null)
{
AddServiceRecord(ro, scd, sr);
}
////Dictionary<long, ServiceRecord> groupBookingDict = new Dictionary<long, ServiceRecord>();
//foreach (ServiceRecord sr in records)
//{
// if (!serviceRecordsProcessed.ContainsKey(sr.Oid.Value) && sr.Start.Value < ro.ReportEndDate)
// {
// //if (sr.GroupOid != null)
// //{
// // groupBookingDict.Add(sr.GroupOid.Value, sr);
// //}
// AddServiceRecord(scd, sr);
// serviceRecordsProcessed.Add(sr.Oid.Value, true);
// }
//}
if (sr.GroupOid != null)
{
//groupBookingDict.Add(sr.GroupOid.Value, sr);
}
}
}
}
// foreach (var scd in empDetail.SupportConceptDetailList)
//{
// if (scd.CostBearer2SupportConcept != null)
// {
// Dictionary<long, bool> serviceRecordsProcessed = new Dictionary<long, bool>();
// Dictionary<long, ServiceRecord> groupBookingDict = new Dictionary<long, ServiceRecord>();
// foreach (ServiceRecord sr in records)
// {
// if (!serviceRecordsProcessed.ContainsKey(sr.Oid.Value) && sr.Start >= ro.ReportStartDate &&
// sr.Start.Value < ro.ReportEndDate)
// {
// if (empDetail.Employee != null)
// {
// if (sr.EmployeeOid.HasValue && sr.EmployeeOid == empDetail.Employee.Oid)
// {
// AddServiceRecord(ro, scd, sr);
// serviceRecordsProcessed.Add(sr.Oid.Value, true);
// }
// }
// else if (empDetail.Customer != null)
// {
// AddServiceRecord(ro, scd, sr);
// serviceRecordsProcessed.Add(sr.Oid.Value, true);
// }
// if (sr.GroupOid != null)
// {
// //groupBookingDict.Add(sr.GroupOid.Value, sr);
// }
// }
// }
// }
//}
//var emprecords = DAOFactory.SearchDAO.FindEmployeeServiceRecordsWithoutCustomer(empDetail.Employee.Oid.Value);
//foreach (var sr in emprecords)
//{
@@ -454,6 +616,174 @@ namespace BeWo.Report.ReportObjects
//}
}
public virtual MitarbeiterauslastungRO.SupportConceptDetail GetSupportConceptDetailForServiceRecord(MitarbeiterauslastungRO.EmployeeDetail empDetail, ServiceRecord sr)
{
if (sr.CostBearer2SupportConcept == null)
{
foreach (var scdi in empDetail.SupportConceptDetailList)
{
if (scdi.SupportConceptApprovalPeriod == null)
{
return scdi;
}
}
}
SupportConceptApprovalPeriod scap = GetSupportConceptApprovalPeriodForServiceRecord(sr);
if (scap != null)
{
foreach (var scdi in empDetail.SupportConceptDetailList)
{
if (scdi.SupportConceptApprovalPeriod != null && scdi.SupportConceptApprovalPeriod.Oid == scap.Oid)
{
return scdi;
}
}
}
if (sr.ServiceDescription != null &&
sr.ServiceDescription.ServiceCategory != null &&
sr.ServiceDescription.ServiceCategory.IsBillable)
{
var scd = new MitarbeiterauslastungRO.SupportConceptDetail();
scd.Customer = sr.Customer;
scd.SupportConceptApprovalPeriod = scap;
scd.CostBearer2SupportConcept = sr.CostBearer2SupportConcept;
if (scd.SupportConceptApprovalPeriod != null)
{
scd.StartDate = scd.SupportConceptApprovalPeriod.StartDate;
scd.EndDate = scd.SupportConceptApprovalPeriod.EndDate;
}
else if (scd.CostBearer2SupportConcept != null)
{
scd.StartDate = scd.CostBearer2SupportConcept.StartDate;
scd.EndDate = scd.CostBearer2SupportConcept.EndDate;
}
empDetail.SupportConceptDetailList.Add(scd);
return scd;
}
return null;
}
public virtual SupportConceptApprovalPeriod GetSupportConceptApprovalPeriodForServiceRecord(ServiceRecord sr)
{
SupportConceptApprovalPeriod scapOhneCat = null;
if (sr.CostBearer2SupportConcept != null)
{
foreach (var scap in sr.CostBearer2SupportConcept.ApprovalPeriodList)
{
DateTime start = DateTime.MinValue;
DateTime end = DateTime.MaxValue;
if (scap.StartDate.HasValue)
start = scap.StartDate.Value;
if (scap.EndDate.HasValue && scap.EndDate.Value.Date < end)
end = scap.EndDate.Value.Date.AddDays(1);
if (sr.Start >= start && sr.End < end)
{
if (scap.ServiceCategory != null && scap.ServiceCategory.Oid == sr.ServiceDescription.ServiceCategory.Oid)
return scap;
if (scap.ServiceCategory == null)
{
scapOhneCat = scap;
}
}
}
}
return scapOhneCat;
}
public virtual void AddServiceRecord(MitarbeiterauslastungRO ro, MitarbeiterauslastungRO.SupportConceptDetail scDC, ServiceRecord sr)
{
var minutes = GetBillableDurationInMinutes(sr);
if (sr.ServiceDescription != null &&
sr.ServiceDescription.ServiceCategory != null &&
sr.ServiceDescription.ServiceCategory.IsBillable)
{
scDC.DirectIst += minutes;
AddToIstForKw(minutes, sr.Start.Value, ro.ReportStartDate, ro.ReportEndDate, scDC);
}
else
scDC.MittelbarIst += minutes;
}
private void AddToIstForKw(decimal minutes, DateTime datum, DateTime reportStart, DateTime reportEnd, MitarbeiterauslastungRO.SupportConceptDetail scDC)
{
DateTimeSpan kw1 = new DateTimeSpan();
kw1.StartDate = reportStart;
DateTime start = reportStart;
while (start.DayOfWeek != DayOfWeek.Sunday)
{
start = start.AddDays(1);
}
kw1.EndDate = start;
DateTimeSpan kw2 = new DateTimeSpan();
kw2.StartDate = kw1.EndDate.AddDays(1);
kw2.EndDate = kw2.StartDate.AddDays(6);
DateTimeSpan kw3 = new DateTimeSpan();
kw3.StartDate = kw2.EndDate.AddDays(1);
kw3.EndDate = kw3.StartDate.AddDays(6);
DateTimeSpan kw4 = new DateTimeSpan();
kw4.StartDate = kw3.EndDate.AddDays(1);
kw4.EndDate = kw4.StartDate.AddDays(6);
DateTimeSpan kw5 = new DateTimeSpan();
kw5.StartDate = kw4.EndDate.AddDays(1);
kw5.EndDate = kw5.StartDate.AddDays(6);
DateTimeSpan kw6 = new DateTimeSpan();
kw6.StartDate = kw5.EndDate.AddDays(1);
kw6.EndDate = kw6.StartDate.AddDays(6);
if (reportEnd <= kw5.EndDate)
{
kw5.EndDate = reportEnd.AddDays(-1);
}
if (reportEnd <= kw6.EndDate)
{
kw6.EndDate = reportEnd.AddDays(-1);
}
if (datum >= kw1.StartDate && datum.Date <= kw1.EndDate)
{
scDC.IstKw1 += minutes;
}
else if (datum >= kw2.StartDate && datum.Date <= kw2.EndDate)
{
scDC.IstKw2 += minutes;
}
else if (datum >= kw3.StartDate && datum.Date <= kw3.EndDate)
{
scDC.IstKw3 += minutes;
}
else if (datum >= kw4.StartDate && datum.Date <= kw4.EndDate && datum < reportEnd)
{
scDC.IstKw4 += minutes;
}
else if (datum >= kw5.StartDate && datum.Date <= kw5.EndDate && datum < reportEnd)
{
scDC.IstKw5 += minutes;
}
else if (datum >= kw6.StartDate && datum.Date <= kw6.EndDate && datum < reportEnd)
{
scDC.IstKw6 += minutes;
}
}
public virtual void AddServiceRecord(MitarbeiterauslastungRO.SupportConceptDetail scDC, ServiceRecord sr)
{
var minutes = GetBillableDurationInMinutes(sr);

View File

@@ -42,6 +42,7 @@ namespace BeWo.Report.ReportObjects
public static MitarbeiterauslastungRO Create(long? employeeOid, IList<long> teamOids, DateTime startDate, DateTime endDate)
{
var ro = new MitarbeiterauslastungRO();
ro.ReportStartDate = startDate;
ro.ReportEndDate = endDate;
@@ -194,6 +195,8 @@ namespace BeWo.Report.ReportObjects
public decimal FLSTotalHoursByContract { get; set; }
public String AbsenceTimeString { get; set; }
public List<SupportConceptDetail> SupportConceptDetailList
{
get { return scDetailList; }
@@ -205,6 +208,8 @@ namespace BeWo.Report.ReportObjects
{
public Customer Customer { get; set; }
public String Name { get; set; }
public String OrganisationName
{
get
@@ -224,7 +229,7 @@ namespace BeWo.Report.ReportObjects
{
if (Customer != null)
return String.Format("{0}, {1}", Customer.Person.LastName, Customer.Person.FirstName);
return null;
return Name;
}
}
@@ -234,7 +239,12 @@ namespace BeWo.Report.ReportObjects
public String TimeRangeString
{
get { return String.Format("{0:dd.MM.yyyy}-{1:dd.MM.yyyy}", StartDate, EndDate); }
get
{
if (!StartDate.HasValue && !EndDate.HasValue)
return "";
return String.Format("{0:dd.MM.yyyy}-{1:dd.MM.yyyy}", StartDate, EndDate);
}
}
public decimal ApprovedHoursPerWeek { get; set; }
@@ -256,6 +266,18 @@ namespace BeWo.Report.ReportObjects
public decimal RelationIstSoll { get; set; }
public decimal WeekCountUntilNow { get; set; }
public decimal IstKw1 { get; set; }
public decimal IstKw2 { get; set; }
public decimal IstKw3 { get; set; }
public decimal IstKw4 { get; set; }
public decimal IstKw5 { get; set; }
public decimal IstKw6 { get; set; }
}
public class TeamDetail

View File

@@ -410,6 +410,8 @@ namespace BeWo.Report.ReportObjects
HandleServiceRecord(empDetail, item);
if (AddServiceRecordToDuration(item))
{
String test = String.Format("{0:dd.MM. HH:mm} - {1:HH:mm}, {2}", item.Start, item.End, item.RoundedDuration);
decimal duration = 0;
if (item.GroupRoundedDuration.HasValue)
@@ -434,6 +436,11 @@ namespace BeWo.Report.ReportObjects
sum.IstAbrechenbar += duration;
else
sum.IstNichtAbrechenbar += duration;
if (duration > 0)
{
int test2 = 0;
}
}
sum.RecordsImBerichtszeitraum.Add(item);
}
@@ -625,7 +632,8 @@ namespace BeWo.Report.ReportObjects
oldRecord.End = oldSpan.EndDateTime;
if (!isGroup)
if (!oldRecord.GroupRoundedDuration.HasValue)
//if (!isGroup)
{
oldRecord.RoundedDuration = (decimal)oldRecord.End.Value.Subtract(oldRecord.Start.Value).TotalMinutes;
}
@@ -776,7 +784,11 @@ namespace BeWo.Report.ReportObjects
foreach (var sr in orderedList)
{
decimal duration = GetDuration(sr);
if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
{
continue;
}
decimal duration = GetDuration(sr);
DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);

View File

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

View File

@@ -46,7 +46,6 @@ namespace BeWo.BUGeVReports
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
@@ -113,11 +112,18 @@ namespace BeWo.BUGeVReports
this.xrTableRow28 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.cellStart5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEnd5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHourlyRate5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLS5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -278,10 +284,6 @@ namespace BeWo.BUGeVReports
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "[RecipientOrganisation]\r\n[RecipientStreet]\r\n[RecipientPostCodeAndTown]";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
//
// xrLabel18
//
this.xrLabel18.Font = new System.Drawing.Font("Arial", 10F);
@@ -358,7 +360,7 @@ namespace BeWo.BUGeVReports
this.xrLabel35.BackColor = System.Drawing.Color.Transparent;
this.xrLabel35.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel35.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 637.7083F);
this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(3.178914E-05F, 657.4167F);
this.xrLabel35.Multiline = true;
this.xrLabel35.Name = "xrLabel35";
this.xrLabel35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -371,14 +373,14 @@ namespace BeWo.BUGeVReports
//
// xrCheckBox2
//
this.xrCheckBox2.LocationFloat = new DevExpress.Utils.PointFloat(347.3755F, 452.2916F);
this.xrCheckBox2.LocationFloat = new DevExpress.Utils.PointFloat(347.3753F, 472F);
this.xrCheckBox2.Name = "xrCheckBox2";
this.xrCheckBox2.SizeF = new System.Drawing.SizeF(211.0832F, 21.875F);
this.xrCheckBox2.Text = " Die Betreuung dauert an.";
//
// xrCheckBox1
//
this.xrCheckBox1.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 452.2916F);
this.xrCheckBox1.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 472F);
this.xrCheckBox1.Name = "xrCheckBox1";
this.xrCheckBox1.SizeF = new System.Drawing.SizeF(324.9999F, 21.875F);
this.xrCheckBox1.Text = " Die Betreuung wurde am beendet.";
@@ -386,7 +388,7 @@ namespace BeWo.BUGeVReports
// xrLabel17
//
this.xrLabel17.BackColor = System.Drawing.Color.Transparent;
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 693.9583F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(3.178914E-05F, 713.6667F);
this.xrLabel17.Multiline = true;
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -408,8 +410,9 @@ namespace BeWo.BUGeVReports
this.xrTableRow5,
this.xrTableRow6,
this.xrTableRow8,
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(641.9999F, 116F);
this.xrTableRow3,
this.xrTableRow4});
this.xrTable2.SizeF = new System.Drawing.SizeF(641.9999F, 138F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UsePadding = false;
//
@@ -472,7 +475,7 @@ namespace BeWo.BUGeVReports
this.cellFLS1,
this.xrTableCell20});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.44307725591740971D;
this.xrTableRow5.Weight = 0.49230806213045525D;
//
// cellStart1
//
@@ -610,7 +613,7 @@ namespace BeWo.BUGeVReports
// xrLabel12
//
this.xrLabel12.BackColor = System.Drawing.Color.Transparent;
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 490.2082F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(3.178914E-05F, 509.9166F);
this.xrLabel12.Multiline = true;
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -896,6 +899,46 @@ namespace BeWo.BUGeVReports
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell47.Weight = 0.21685899000901443D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellStart5,
this.cellEnd5,
this.cellHourlyRate5,
this.cellFLS5,
this.xrTableCell10});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.49230806213045525D;
//
// cellStart5
//
this.cellStart5.Name = "cellStart5";
this.cellStart5.Weight = 0.654205681555982D;
//
// cellEnd5
//
this.cellEnd5.Name = "cellEnd5";
this.cellEnd5.Weight = 0.65420565778839579D;
//
// cellHourlyRate5
//
this.cellHourlyRate5.Name = "cellHourlyRate5";
this.cellHourlyRate5.Weight = 0.51401872857292652D;
//
// cellFLS5
//
this.cellFLS5.Name = "cellFLS5";
this.cellFLS5.Weight = 0.51401872857292652D;
//
// xrTableCell10
//
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Weight = 0.663551203509769D;
//
// Spitzabrechnung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -916,10 +959,10 @@ namespace BeWo.BUGeVReports
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "13.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -1008,5 +1051,11 @@ namespace BeWo.BUGeVReports
private DevExpress.XtraReports.UI.XRTableCell cellHourlyRate4;
private DevExpress.XtraReports.UI.XRTableCell cellFLS4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell cellStart5;
private DevExpress.XtraReports.UI.XRTableCell cellEnd5;
private DevExpress.XtraReports.UI.XRTableCell cellHourlyRate5;
private DevExpress.XtraReports.UI.XRTableCell cellFLS5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
}
}

View File

@@ -52,6 +52,13 @@ namespace BeWo.BUGeVReports
cellHourlyRate4.Text = String.Format("{0:0.00}", ii.AmountPerUnit);
cellFLS4.Text = String.Format("{0:0.00}", ii.UnitCount);
}
else if (idx == 4)
{
cellStart5.Text = String.Format("{0:dd.MM.yyyy}", ii.PeriodStartDate);
cellEnd5.Text = String.Format("{0:dd.MM.yyyy}", ii.PeriodEndDate);
cellHourlyRate5.Text = String.Format("{0:0.00}", ii.AmountPerUnit);
cellFLS5.Text = String.Format("{0:0.00}", ii.UnitCount);
}
idx++;
}

View File

@@ -120,10 +120,10 @@
<data name="xrLabel6.Text" xml:space="preserve">
<value>anbei sende ich Ihnen die Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerFirstName] [CustomerLastName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den [AccountingPeriod] hieraus:</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="xrLabel12.Text" xml:space="preserve">
<value>Hiermit wird erklärt, dass die Verpflichtungen aus der Leistungs-, Prüfungs- und Vergütungsvereinbarung nach §§ 75 ff. SGB XII eingehalten wurden und alle hier gemachten Angaben anhand der vorgehaltenen Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können.</value>
</data>
<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

@@ -74,6 +74,13 @@
<Compile Include="FLSListReport.Designer.cs">
<DependentUpon>FLSListReport.cs</DependentUpon>
</Compile>
<Compile Include="CustomAuslastungBerechnung.cs" />
<Compile Include="Mitarbeiterauslastung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Mitarbeiterauslastung.designer.cs">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
@@ -81,6 +88,12 @@
<Compile Include="SettlementReport.designer.cs">
<DependentUpon>SettlementReport.cs</DependentUpon>
</Compile>
<Compile Include="Teamauslastung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Teamauslastung.designer.cs">
<DependentUpon>Teamauslastung.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Report\Report.csproj">
@@ -101,10 +114,16 @@
<DependentUpon>FLSListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterauslastung.resx">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Teamauslastung.resx">
<DependentUpon>Teamauslastung.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -107,12 +107,19 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CustomAuslastungBerechnung.cs" />
<Compile Include="InvoiceCustomerReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="InvoiceCustomerReport.designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="Mitarbeiterauslastung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Mitarbeiterauslastung.designer.cs">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServicesOverviewReport.cs">
<SubType>Component</SubType>
@@ -132,11 +139,18 @@
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="InvoiceCustomerReport.resx">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterauslastung.resx">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="ServicesOverviewReport.resx">
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>

View File

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

View File

@@ -35,16 +35,12 @@ namespace BeWo.CaritasAachen
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
@@ -70,6 +66,11 @@ namespace BeWo.CaritasAachen
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.fieldGruppe = new DevExpress.XtraReports.UI.CalculatedField();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -87,9 +88,9 @@ namespace BeWo.CaritasAachen
// xrTableServiceRecords1
//
this.xrTableServiceRecords1.BackColor = System.Drawing.Color.WhiteSmoke;
this.xrTableServiceRecords1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableServiceRecords1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -103,12 +104,14 @@ namespace BeWo.CaritasAachen
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell11,
this.xrTableCell9});
this.xrTableCell1,
this.xrTableCell5});
this.xrTableRow2.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.StylePriority.UseFont = false;
this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow2.Weight = 1;
this.xrTableRow2.Weight = 1D;
//
// xrTableCell3
//
@@ -117,7 +120,7 @@ namespace BeWo.CaritasAachen
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell3.Text = "Tag";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.11431027335776349;
this.xrTableCell3.Weight = 0.11431027335776349D;
//
// xrTableCell4
//
@@ -128,25 +131,7 @@ namespace BeWo.CaritasAachen
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Uhrzeit von - bis";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell4.Weight = 0.24495058276902265;
//
// xrTableCell11
//
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell11.Text = "Art";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell11.Weight = 0.32660076762659651;
//
// xrTableCell9
//
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell9.Text = "KT";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.3266007741838759;
this.xrTableCell4.Weight = 0.32660077221669204D;
//
// DetailReport
//
@@ -171,14 +156,16 @@ namespace BeWo.CaritasAachen
// xrTable3
//
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
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("Arial", 10F);
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(620F, 20F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow6
@@ -186,12 +173,12 @@ namespace BeWo.CaritasAachen
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15,
this.xrTableCell16});
this.xrTableCell2,
this.xrTableCell6});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow6.Weight = 1;
this.xrTableRow6.Weight = 1D;
//
// xrTableCell13
//
@@ -204,7 +191,7 @@ namespace BeWo.CaritasAachen
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell13.Weight = 0.10468943519669303;
this.xrTableCell13.Weight = 0.10468943519669303D;
//
// xrTableCell14
//
@@ -217,30 +204,7 @@ namespace BeWo.CaritasAachen
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell14";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell14.Weight = 0.22433448275617335;
//
// xrTableCell15
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceCategoryAbbr")});
this.xrTableCell15.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell15.StylePriority.UseFont = false;
this.xrTableCell15.Text = "xrTableCell15";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 0.29911264495770296;
//
// xrTableCell16
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.CostBearer")});
this.xrTableCell16.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseFont = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.29911262314374104;
this.xrTableCell14.Weight = 0.2991126123598199D;
//
// bindingSource1
//
@@ -267,9 +231,9 @@ namespace BeWo.CaritasAachen
//
// Detail2
//
this.Detail2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.Detail2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel5,
this.xrLabel3,
@@ -321,7 +285,7 @@ namespace BeWo.CaritasAachen
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", this.bindingSource1, "MainAttendant")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "MainAttendant")});
this.xrLabel6.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 122.4583F);
this.xrLabel6.Name = "xrLabel6";
@@ -502,6 +466,49 @@ namespace BeWo.CaritasAachen
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTableCell1
//
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Minuten";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.24495057949038296D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Minutes")});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.22433447775582185D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Gruppe";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.32660077287241995D;
//
// xrTableCell6
//
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldGruppe")});
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.29911266074197551D;
//
// fieldGruppe
//
this.fieldGruppe.DataMember = "Services";
this.fieldGruppe.Expression = "IIf([CustomerCount] > 1, [CustomerCount] + \' TN\', \'\')";
this.fieldGruppe.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldGruppe.Name = "fieldGruppe";
//
// Stundenzettel
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -512,6 +519,8 @@ namespace BeWo.CaritasAachen
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldGruppe});
this.DataSource = this.bindingSource1;
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
@@ -522,7 +531,7 @@ namespace BeWo.CaritasAachen
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "9.3";
this.Version = "13.2";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
@@ -539,8 +548,6 @@ namespace BeWo.CaritasAachen
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
@@ -555,8 +562,6 @@ namespace BeWo.CaritasAachen
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
@@ -572,6 +577,10 @@ namespace BeWo.CaritasAachen
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRCheckBox xrCheckBox1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.CalculatedField fieldGruppe;
}
}

View File

@@ -112,135 +112,12 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Detail.Name" xml:space="preserve">
<value>Detail</value>
</metadata>
<metadata name="xrTableServiceRecords1.Name" xml:space="preserve">
<value>xrTableServiceRecords1</value>
</metadata>
<metadata name="xrTableRow2.Name" xml:space="preserve">
<value>xrTableRow2</value>
</metadata>
<metadata name="xrTableCell3.Name" xml:space="preserve">
<value>xrTableCell3</value>
</metadata>
<metadata name="xrTableCell4.Name" xml:space="preserve">
<value>xrTableCell4</value>
</metadata>
<metadata name="xrTableCell11.Name" xml:space="preserve">
<value>xrTableCell11</value>
</metadata>
<metadata name="xrTableCell9.Name" xml:space="preserve">
<value>xrTableCell9</value>
</metadata>
<metadata name="DetailReport.Name" xml:space="preserve">
<value>DetailReport</value>
</metadata>
<metadata name="Detail1.Name" xml:space="preserve">
<value>Detail1</value>
</metadata>
<metadata name="xrTable3.Name" xml:space="preserve">
<value>xrTable3</value>
</metadata>
<metadata name="xrTableRow6.Name" xml:space="preserve">
<value>xrTableRow6</value>
</metadata>
<metadata name="xrTableCell13.Name" xml:space="preserve">
<value>xrTableCell13</value>
</metadata>
<metadata name="xrTableCell14.Name" xml:space="preserve">
<value>xrTableCell14</value>
</metadata>
<metadata name="xrTableCell15.Name" xml:space="preserve">
<value>xrTableCell15</value>
</metadata>
<metadata name="xrTableCell16.Name" xml:space="preserve">
<value>xrTableCell16</value>
</metadata>
<metadata name="bindingSource1.Name" xml:space="preserve">
<value>bindingSource1</value>
</metadata>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
<metadata name="formattingRuleStartDate.Name" xml:space="preserve">
<value>formattingRuleStartDate</value>
</metadata>
<metadata name="DetailReport1.Name" xml:space="preserve">
<value>DetailReport1</value>
</metadata>
<metadata name="Detail2.Name" xml:space="preserve">
<value>Detail2</value>
</metadata>
<metadata name="xrLabel5.Name" xml:space="preserve">
<value>xrLabel5</value>
</metadata>
<metadata name="xrLabel3.Name" xml:space="preserve">
<value>xrLabel3</value>
</metadata>
<metadata name="xrLabel4.Name" xml:space="preserve">
<value>xrLabel4</value>
</metadata>
<metadata name="xrLabel6.Name" xml:space="preserve">
<value>xrLabel6</value>
</metadata>
<metadata name="DetailReport2.Name" xml:space="preserve">
<value>DetailReport2</value>
</metadata>
<metadata name="Detail3.Name" xml:space="preserve">
<value>Detail3</value>
</metadata>
<metadata name="GroupFooter1.Name" xml:space="preserve">
<value>GroupFooter1</value>
</metadata>
<metadata name="xrCheckBox1.Name" xml:space="preserve">
<value>xrCheckBox1</value>
</metadata>
<metadata name="xrLabel14.Name" xml:space="preserve">
<value>xrLabel14</value>
</metadata>
<metadata name="xrLabel13.Name" xml:space="preserve">
<value>xrLabel13</value>
</metadata>
<metadata name="xrLabel12.Name" xml:space="preserve">
<value>xrLabel12</value>
</metadata>
<metadata name="xrLabel2.Name" xml:space="preserve">
<value>xrLabel2</value>
</metadata>
<metadata name="xrLabel11.Name" xml:space="preserve">
<value>xrLabel11</value>
</metadata>
<metadata name="ReportHeader.Name" xml:space="preserve">
<value>ReportHeader</value>
</metadata>
<metadata name="xrLabel1.Name" xml:space="preserve">
<value>xrLabel1</value>
</metadata>
<metadata name="xrLabel9.Name" xml:space="preserve">
<value>xrLabel9</value>
</metadata>
<metadata name="formattingRuleServiceDesc.Name" xml:space="preserve">
<value>formattingRuleServiceDesc</value>
</metadata>
<metadata name="formattingRuleCostBearer.Name" xml:space="preserve">
<value>formattingRuleCostBearer</value>
</metadata>
<metadata name="formattingRuleEmployeeName.Name" xml:space="preserve">
<value>formattingRuleEmployeeName</value>
</metadata>
<metadata name="topMarginBand1.Name" xml:space="preserve">
<value>topMarginBand1</value>
</metadata>
<metadata name="bottomMarginBand1.Name" xml:space="preserve">
<value>bottomMarginBand1</value>
</metadata>
<metadata name="$this.Name" xml:space="preserve">
<value>Stundenzettel</value>
</metadata>
</root>

View File

@@ -130,6 +130,7 @@
<Compile Include="RechnungBeWo67.Designer.cs">
<DependentUpon>RechnungBeWo67.cs</DependentUpon>
</Compile>
<Compile Include="Service\DkkkCustomerService.cs" />
<Compile Include="Validation\ServiceRecordValidator.cs" />
<Compile Include="VerhinderungspflegeReport.cs">
<SubType>Component</SubType>

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -24,11 +24,11 @@ namespace BeWo.DiakonieLennepReports
{
if (sc.FLSOpenPerWeek != 0)
{
sc.DurationPercentage = (sc.FLSPerWeekSoll/sc.FLSOpenPerWeek)*100;
//sc.DurationPercentage = (sc.FLSPerWeekSoll/sc.FLSOpenPerWeek)*100;
}
else
{
sc.DurationPercentage = 0;
//sc.DurationPercentage = 0;
}
sc.TotalWeeks = 0;
@@ -46,7 +46,11 @@ namespace BeWo.DiakonieLennepReports
foreach (var sc in pRO.SupportConceptDetailList)
{
sc.WeeksPassed = totalWeekSoll;
}
sc.FLSPerWeekSoll *= 4.348m;
sc.FLSPerWeekIst *= 4.348m;
sc.FLSOpenPerWeek *= 4.348m;
}
foreach (var ed in pRO.EmployeeSupportConceptDetailList)
{
@@ -55,11 +59,11 @@ namespace BeWo.DiakonieLennepReports
{
if (edsc.FLSOpenPerWeek != 0)
{
edsc.DurationPercentage = (edsc.FLSPerWeekSoll/edsc.FLSOpenPerWeek)*100;
//edsc.DurationPercentage = (edsc.FLSPerWeekSoll/edsc.FLSOpenPerWeek)*100;
}
else
{
edsc.DurationPercentage = 0;
//edsc.DurationPercentage = 0;
}
edsc.TotalWeeks = 0;
@@ -77,8 +81,13 @@ namespace BeWo.DiakonieLennepReports
foreach (var edsc in ed.SupportConceptDetailList)
{
edsc.WeeksPassed = totalWeekSoll;
}
edsc.FLSPerWeekSoll *= 4.348m;
edsc.FLSPerWeekIst *= 4.348m;
edsc.FLSOpenPerWeek *= 4.348m;
}
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -80,7 +80,7 @@ namespace HphBersenbrueckFreizeitUndReisen
}
}
Dictionary<String, bool> duplicateDict = new Dictionary<String, bool>();
var scList = DAOFactory.GenericDAO.GetAllActiveAndArchived<SupportConcept>();
//var scList = new List<SupportConcept>();
@@ -95,8 +95,15 @@ namespace HphBersenbrueckFreizeitUndReisen
{
if (scap.ServiceCategory != null && serviceCategoryOid.HasValue && serviceCategoryOid == scap.ServiceCategory.Oid)
{
var row = CreateRow(sc, c2s, scap, reportStart, reportEnde);
result.DetailList.Add(row);
String key = String.Format("{0}_{1}", c2s.Oid, scap.ServiceCategory.Oid);
if (!duplicateDict.ContainsKey(key))
{
var row = CreateRow(sc, c2s, scap, reportStart, reportEnde);
result.DetailList.Add(row);
duplicateDict.Add(key, true);
}
}
}
}

View File

@@ -127,7 +127,11 @@ namespace HphBersenbrueckFreizeitUndReisen
{
if (sr.DistanceInMeter.HasValue && sr.DistanceInMeter.Value > 0)
{
AddKmToRow(rowDict, sr, c2S);
if (sr.ServiceDescription.ServiceCategory.Name.Contains("Eingliederung"))
{
AddKmToRow(rowDict, sr, c2S);
}
}
}
@@ -149,6 +153,13 @@ namespace HphBersenbrueckFreizeitUndReisen
ro.Mitarbeiter = String.Format("{0}, {1}", sr.Employee.Person.LastName, sr.Employee.Person.FirstName);
ro.KlientName = String.Format("{0}, {1}", c2s.SupportConcept.Customer.Person.LastName,
c2s.SupportConcept.Customer.Person.FirstName);
Customer2Organisation c2o = GetCustomer2Organisation(c2s.SupportConcept.Customer);
if (c2o != null)
{
ro.Kostentraeger = c2o.Organisation.Name;
}
}
else
{
@@ -203,5 +214,21 @@ namespace HphBersenbrueckFreizeitUndReisen
ro.Dez += sr.DistanceInMeter.Value;
}
}
private Customer2Organisation GetCustomer2Organisation(Customer c)
{
foreach (var c2o in c.Customer2OrganisationList)
{
foreach (var v2o in c2o.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.EnvironmentOrganisationType &&
v2o.Entry.Value.Contains("Eingliederungshilfe"))
{
return c2o;
}
}
}
return null;
}
}
}

View File

@@ -571,7 +571,7 @@ namespace HphBersenbrueckFreizeitUndReisen
AddNewHeaderCell("Kurzzeitpflege Anzahl der Übernachtungen", Color.Firebrick, headerDict, "KURZUEBERNACHTUNGEN");
AddNewHeaderCell("Preis Gesamt Kurzzeitpflege", Color.Firebrick, headerDict, "KURZPREISGESAMT");
AddNewHeaderCell("Reisen Anzahl der Tage", Color.Orange, headerDict, "REISENTAGE");
AddNewHeaderCell("Reisen Anzahl der Tage", Color.Orange, headerDict, "REISENTAGE");
AddNewHeaderCell("Tagessatz pro Reisetag", Color.Orange, headerDict, "REISENTAGESSATZ");
AddNewHeaderCell("Preis Reise", Color.Orange, headerDict, "REISEPREIS");
AddNewHeaderCell("Preis insgesamt", Color.Yellow, headerDict, "REISEPREISGESAMT");
@@ -824,7 +824,7 @@ namespace HphBersenbrueckFreizeitUndReisen
}
}
else if (sr.ServiceDescription.Name.Contains("Freizeittreff"))
else if (sr.ServiceDescription.Name.Contains("Ausflüge") || sr.ServiceDescription.Name.Contains("Ausflug"))
{
if (liegtImBerichtszeitraun)
{

View File

@@ -147,6 +147,15 @@ namespace HphBersenbrueckFreizeitUndReisen.Calculations
dc.LeftValues[3] = String.Format("{0:c}", periodStats.FixedAmountApprovedPerInterval - periodStats.AmountConsumedThisInterval);
dc.RightValues[3] = String.Format("{0:c}", periodStats.FixedAmountApprovedTotal - periodStats.AmountConsumedTotal);
if (periodStats.FixedAmountApprovedPerInterval - periodStats.AmountConsumedThisInterval < 0)
{
dc.LeftValueColors[3] = "#FFFF0000";
}
if (periodStats.FixedAmountApprovedTotal - periodStats.AmountConsumedTotal < 0)
{
dc.RightValueColors[3] = "#FFFF0000";
}
}
else
{
@@ -158,6 +167,15 @@ namespace HphBersenbrueckFreizeitUndReisen.Calculations
dc.LeftValues[3] = String.Format("{0:0.00} Std.", (periodStats.MinutesApprovedPerMonth - periodStats.MinutesProvidedThisMonth) / 60);
dc.RightValues[3] = String.Format("{0:0.00} Std.", (periodStats.MinutesApprovedTotal - periodStats.MinutesProvidedTotalRounded) / 60);
if (periodStats.MinutesApprovedPerMonth - periodStats.MinutesProvidedThisMonth < 0)
{
dc.LeftValueColors[3] = "#FFFF0000";
}
if (periodStats.MinutesApprovedTotal - periodStats.MinutesProvidedTotalRounded < 0)
{
dc.RightValueColors[3] = "#FFFF0000";
}
}
@@ -300,7 +318,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Calculations
{
preis = AbrechnungsInfo.GetPreisForFreizeitangebot(pflegegrad, sr.Start.Value);
}
else if (sdName.Contains("ausflüge"))
else if (sdName.Contains("ausflüge") || sdName.Contains("ausflug"))
{
preis = AbrechnungsInfo.GetPreisForAusflugFreizeittreff(pflegegrad, sr.Start.Value);
}

View File

@@ -204,7 +204,8 @@ namespace HphBersenbrueckFreizeitUndReisen
foreach (var desc in descs)
{
if (!String.IsNullOrEmpty(desc.Name) && desc.CostRatePeriods != null && desc.ServiceCategory.Name.ToLower() == catName)
var catName2 = desc.ServiceCategory.Name.ToLower().Trim();
if (!String.IsNullOrEmpty(desc.Name) && desc.CostRatePeriods != null && catName2 == catName)
{
if (desc.Name.ToLower().Trim() == searchedName.ToLower() || (desc.Name.ToLower().Contains("hauptamt") && searchedName.Contains("Haupt")))
{
@@ -278,7 +279,7 @@ namespace HphBersenbrueckFreizeitUndReisen
SetzeZellenWert(zellenWert, table.Name, column, row);
text = String.Format("{0:c}", zellenWert);
}
else if (descName.Contains("ausflüge"))
else if (descName.Contains("ausflüge") || descName.Contains("ausflug"))
{
decimal preis = AbrechnungsInfo.GetPreisForAusflugFreizeittreff(pflegegrad, sd.StartDate);

View File

@@ -22,7 +22,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Validation
string sdName = newServiceRecord.ServiceDescription.Name.ToLower();
if (sdName.Contains("kurzurlaub") || sdName.Contains("reisen") || sdName.Contains("freizeitangebote") ||
sdName.Contains("ausflüge"))
sdName.Contains("ausflüge") || sdName.Contains("ausflug"))
{
if (newServiceRecord.SupportConcept != null && newServiceRecord.SupportConcept.Customer != null)

View File

@@ -67,7 +67,7 @@ namespace KetteReports
bool add = true;
if (!custOidDict.ContainsKey(oid))
{
custOidDict.Add(oid, true);
//custOidDict.Add(oid, true);
}
else
{

View File

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

View File

@@ -43,7 +43,6 @@ namespace LebenshilfeCoburg
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -58,7 +57,7 @@ namespace LebenshilfeCoburg
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
@@ -84,6 +83,14 @@ namespace LebenshilfeCoburg
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldAbrechenbareMinuten = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldMonthXFactor = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTotalFLSBillable = new DevExpress.XtraReports.UI.CalculatedField();
@@ -92,6 +99,8 @@ namespace LebenshilfeCoburg
this.fieldAbrechenbarImMonat = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldStundenFachkraft = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldStundenAssistenz = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTotalFach = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTotalAssi = new DevExpress.XtraReports.UI.CalculatedField();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
@@ -104,13 +113,8 @@ namespace LebenshilfeCoburg
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4,
this.xrTable2,
this.xrTableServiceRecords1,
this.xrTable5});
this.Detail.Font = new System.Drawing.Font("Times New Roman", 11F, System.Drawing.FontStyle.Bold);
this.Detail.HeightF = 40.00002F;
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.StylePriority.UseFont = false;
@@ -160,9 +164,8 @@ namespace LebenshilfeCoburg
// xrTable2
//
this.xrTable2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -170,6 +173,7 @@ namespace LebenshilfeCoburg
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(180F, 40F);
this.xrTable2.StylePriority.UseBackColor = false;
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UseTextAlignment = false;
this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
@@ -186,10 +190,14 @@ namespace LebenshilfeCoburg
//
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.CanGrow = false;
this.xrTableCell5.Multiline = true;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Datum";
@@ -198,9 +206,13 @@ namespace LebenshilfeCoburg
//
// xrTableCell24
//
this.xrTableCell24.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell24.CanGrow = false;
this.xrTableCell24.Multiline = true;
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.StylePriority.UseBorders = false;
this.xrTableCell24.Text = "Uhrzeit\r\nvon_ bis_";
this.xrTableCell24.Weight = 1.1611194789171386D;
//
@@ -225,8 +237,7 @@ namespace LebenshilfeCoburg
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11,
this.xrTableCell7,
this.xrTableCell6});
this.xrTableCell7});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.StylePriority.UseTextAlignment = false;
@@ -234,10 +245,14 @@ namespace LebenshilfeCoburg
//
// xrTableCell11
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell11.CanGrow = false;
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrTableCell11.StylePriority.UseBorders = false;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UsePadding = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
@@ -247,20 +262,15 @@ namespace LebenshilfeCoburg
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Ziele";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell7.Weight = 0.64701222356743315D;
//
// xrTableCell6
//
this.xrTableCell6.CanGrow = false;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Tätigkeit/Hilfeleistung";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell6.Weight = 1.2584387778965771D;
this.xrTableCell7.Weight = 1.9054510014640103D;
//
// xrTable5
//
@@ -268,7 +278,7 @@ namespace LebenshilfeCoburg
this.xrTable5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(180F, 20F);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(180F, 19.99998F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -317,7 +327,8 @@ namespace LebenshilfeCoburg
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.Detail1,
this.GroupHeader1});
this.DetailReport.DataMember = "Services";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
@@ -339,7 +350,8 @@ namespace LebenshilfeCoburg
// xrTable3
//
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
@@ -347,6 +359,7 @@ namespace LebenshilfeCoburg
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(1069F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.StylePriority.UseTextAlignment = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
@@ -359,8 +372,7 @@ namespace LebenshilfeCoburg
this.xrTableCell15,
this.xrTableCell8,
this.xrTableCell16,
this.xrTableCell12,
this.xrTableCell10});
this.xrTableCell12});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.StylePriority.UseTextAlignment = false;
@@ -368,10 +380,13 @@ namespace LebenshilfeCoburg
//
// xrTableCell13
//
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd.MM.yyyy}")});
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
@@ -381,14 +396,18 @@ namespace LebenshilfeCoburg
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.Weight = 0.085385465093078566D;
//
// xrTableCell15
//
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldStundenFachkraft", "{0:0.00}")});
this.xrTableCell15.Name = "xrTableCell15";
@@ -403,9 +422,11 @@ namespace LebenshilfeCoburg
//
// xrTableCell8
//
this.xrTableCell8.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldStundenAssistenz", "{0:0.00}")});
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.Weight = 0.07589818757800515D;
//
@@ -425,28 +446,32 @@ namespace LebenshilfeCoburg
//
// xrTableCell12
//
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.GoalList")});
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "xrTableCell12";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell12.Weight = 0.18974543709348343D;
this.xrTableCell12.Weight = 0.558800261599994D;
//
// xrTableCell10
// GroupHeader1
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Notice")});
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.3690548245065105D;
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2,
this.xrTableServiceRecords1,
this.xrTable5,
this.xrTable4});
this.GroupHeader1.Font = new System.Drawing.Font("Times New Roman", 11F, System.Drawing.FontStyle.Bold);
this.GroupHeader1.HeightF = 40F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
this.GroupHeader1.StylePriority.UseFont = false;
//
// bindingSource1
//
@@ -552,7 +577,7 @@ namespace LebenshilfeCoburg
this.xrFachbereichUberschrift.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrFachbereichUberschrift.StylePriority.UseFont = false;
this.xrFachbereichUberschrift.StylePriority.UseTextAlignment = false;
this.xrFachbereichUberschrift.Text = "Dokumentation";
this.xrFachbereichUberschrift.Text = "Quittierungsbeleg";
this.xrFachbereichUberschrift.Weight = 1.6460494706135969D;
//
// xrPictureBox1
@@ -614,7 +639,7 @@ namespace LebenshilfeCoburg
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7});
this.bottomMarginBand1.Font = new System.Drawing.Font("Times New Roman", 10F);
this.bottomMarginBand1.HeightF = 60F;
this.bottomMarginBand1.HeightF = 61.87496F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
@@ -624,11 +649,11 @@ namespace LebenshilfeCoburg
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(251.25F, 18F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(260F, 18F);
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "© Lebenshilfe Landesverband Bayern";
this.xrLabel7.Text = "© Lebenshilfe Coburg Stadt und Land e.V.";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// ReportFooter
@@ -636,7 +661,7 @@ namespace LebenshilfeCoburg
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable6});
this.ReportFooter.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.ReportFooter.HeightF = 35F;
this.ReportFooter.HeightF = 70F;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
@@ -649,8 +674,9 @@ namespace LebenshilfeCoburg
this.xrTable6.Name = "xrTable6";
this.xrTable6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow7});
this.xrTable6.SizeF = new System.Drawing.SizeF(1069F, 35F);
this.xrTableRow7,
this.xrTableRow8});
this.xrTable6.SizeF = new System.Drawing.SizeF(1069F, 70F);
this.xrTable6.StylePriority.UseFont = false;
this.xrTable6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -665,12 +691,14 @@ namespace LebenshilfeCoburg
this.xrTableRow7.Name = "xrTableRow7";
this.xrTableRow7.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow7.Weight = 0.92817663908451331D;
this.xrTableRow7.Weight = 1.0077346367203288D;
//
// xrTableCell14
//
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
@@ -679,18 +707,23 @@ namespace LebenshilfeCoburg
//
// xrTableCell18
//
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell18.Font = new System.Drawing.Font("Times New Roman", 11F, System.Drawing.FontStyle.Bold);
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.Text = "Stunden gesamt:";
this.xrTableCell18.Text = "Stunden\r\ngesamt:";
this.xrTableCell18.Weight = 0.085385452166006681D;
//
// xrTableCell19
//
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLSQualified", "{0:0.00}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "fieldTotalFach", "{0:0.00}")});
this.xrTableCell19.Font = new System.Drawing.Font("Times New Roman", 11F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrTableCell19.StylePriority.UseBorders = false;
@@ -703,9 +736,13 @@ namespace LebenshilfeCoburg
//
// xrTableCell9
//
this.xrTableCell9.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLSUnqualified", "{0:0.00}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "fieldTotalAssi", "{0:0.00}")});
this.xrTableCell9.Font = new System.Drawing.Font("Times New Roman", 11F, System.Drawing.FontStyle.Bold);
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "xrTableCell9";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
@@ -713,8 +750,7 @@ namespace LebenshilfeCoburg
//
// xrTableCell20
//
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell20.StylePriority.UseBorders = false;
@@ -723,6 +759,76 @@ namespace LebenshilfeCoburg
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell20.Weight = 0.6916221971335067D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell6,
this.xrTableCell10,
this.xrTableCell17,
this.xrTableCell21,
this.xrTableCell22});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.84861864144869792D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Weight = 0.0853854621737731D;
//
// xrTableCell10
//
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Weight = 0.085385452166006681D;
//
// xrTableCell17
//
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.07589816513500125D;
//
// xrTableCell21
//
this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseBorders = false;
this.xrTableCell21.Weight = 0.075898180874061111D;
//
// xrTableCell22
//
this.xrTableCell22.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Weight = 0.6916221971335067D;
//
// xrLabel2
//
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel2.Font = new System.Drawing.Font("Times New Roman", 12F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(237.7103F, 2.499994F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(339.5854F, 22.50001F);
this.xrLabel2.StylePriority.UseBorders = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel1
//
this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel1.Font = new System.Drawing.Font("Times New Roman", 12F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(66.45832F, 2.499994F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(171.252F, 22.50001F);
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "Unterschrift Nutzer/in:";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// fieldAbrechenbareMinuten
//
this.fieldAbrechenbareMinuten.DataMember = "Services";
@@ -773,6 +879,18 @@ namespace LebenshilfeCoburg
this.fieldStundenAssistenz.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldStundenAssistenz.Name = "fieldStundenAssistenz";
//
// fieldTotalFach
//
this.fieldTotalFach.Expression = "[TotalFLMQualified]/60";
this.fieldTotalFach.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTotalFach.Name = "fieldTotalFach";
//
// fieldTotalAssi
//
this.fieldTotalAssi.Expression = "[TotalFLMUnqualified]/60";
this.fieldTotalAssi.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTotalAssi.Name = "fieldTotalAssi";
//
// Stundenzettel
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -790,7 +908,9 @@ namespace LebenshilfeCoburg
this.fieldAbrechenbarTotal,
this.fieldAbrechenbarImMonat,
this.fieldStundenFachkraft,
this.fieldStundenAssistenz});
this.fieldStundenAssistenz,
this.fieldTotalFach,
this.fieldTotalAssi});
this.DataSource = this.bindingSource1;
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
@@ -799,11 +919,11 @@ namespace LebenshilfeCoburg
this.formattingRuleEmployeeName,
this.formattingRuleRateFactor});
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(50, 50, 27, 60);
this.Margins = new System.Drawing.Printing.Margins(50, 50, 27, 62);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "13.1";
this.Version = "13.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
@@ -862,8 +982,6 @@ namespace LebenshilfeCoburg
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRTable xrTable6;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
@@ -879,6 +997,16 @@ namespace LebenshilfeCoburg
private DevExpress.XtraReports.UI.CalculatedField fieldStundenAssistenz;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.CalculatedField fieldTotalFach;
private DevExpress.XtraReports.UI.CalculatedField fieldTotalAssi;
}
}

View File

@@ -19,7 +19,9 @@ namespace LebenshilfeCoburg
{
// lblBewilligteLeistung.Text = String.Format("{0:0.00} h / {1:0} min. mtl. // {3:0.##} h ges.", pRO.ApprovedFLSPerWeek, Math.Round(pRO.ApprovedFLSPerWeek * 4.333333333m, 0, MidpointRounding.AwayFromZero), pRO.ApprovedFLSTotal);
double fachGesamt = 0;
double assiGesamt = 0;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
@@ -27,18 +29,73 @@ namespace LebenshilfeCoburg
foreach (var item in pRO.Services)
{
if (item.IsBillable)
if (SollAuftauchen(item))
{
ServicesOverviewRO.CreateGoalList(item);
if (IstAssistenz(item))
{
item.MinutesUnqualified = item.Minutes;
item.MinutesQualified = 0;
assiGesamt += item.Minutes;
}
else
{
item.MinutesQualified = item.Minutes;
item.MinutesUnqualified = 0;
fachGesamt += item.Minutes;
}
ServicesOverviewRO.CreateGoalList(item);
servicesBillable.Add(item);
}
}
pRO.Services = servicesBillable;
}
pRO.TotalFLMQualified = fachGesamt;
pRO.TotalFLMUnqualified = assiGesamt;
this.bindingSource1.DataSource = pRO;
}
private bool SollAuftauchen(ServicesOverviewRO.ServiceDetail item)
{
return item.IsBillable;
//var sd = item.ServiceDescription.ToLower().Trim();
//var cat = item.ServiceCategory.ToLower().Trim();
//if ( cat == "arbeitsassistenz")
// return true;
//if (cat == "auw g/k direkter kontakt")
// return true;
//if (cat == "auw pers. budget" && sd == "fachkraft")
// return true;
//if (cat == "auw pers. budget" && sd == "assistent")
// return true;
//if (cat == "auw seelisch b direkter kontakt")
// return true;
//if (cat == "fed")
// return true;
//if (cat == "freizeitassistenz")
// return true;
//if (cat == "schulassistenz")
// return true;
//if (cat == "sozialpäd. fam.hilfe")
// return true;
//return false;
}
private bool IstAssistenz(ServicesOverviewRO.ServiceDetail item)
{
var sd = item.ServiceDescription.ToLower().Trim();
var cat = item.ServiceCategory.ToLower().Trim();
if (cat == "auw pers. budget" && sd == "assistent")
return true;
if (cat == "fed")
return true;
if (cat == "freizeitassistenz")
return true;
return false;
}
}
}

View File

@@ -61,7 +61,7 @@ namespace LebenshilfeDuisburgServicePlus.Invoicing
tempii.ItemPeriodEnd = accountingPeriodEnd;
CreateItemTextForCategory(tempii, iServiceRecord.ServiceDescription.Category.Name, iServiceRecord.ServiceDescription.Name, iServiceRecord.Notice);
String key = String.Format("{0}_{1}_{2:0.00}_{3:0.00}", tempii.ItemDescription, tempii.Notice, tempii.AmountPerUnit, tempii.RateFactor);
if (category2InvoiceItems.ContainsKey(key))
@@ -218,9 +218,9 @@ namespace LebenshilfeDuisburgServicePlus.Invoicing
}
else
{
ii.ItemDescription = category;
ii.Notice = "";
}
ii.ItemDescription = serviceRecordNotice;
ii.Notice = "";
}
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)

View File

@@ -20,6 +20,8 @@ namespace LebenshilfeKoblenz.Calculations
private decimal abwGeleistetLetztenMonate = 0;
private decimal abwSollLetztenMonate = 0;
private DateTime abwStart = DateTime.MinValue;
@@ -33,11 +35,11 @@ namespace LebenshilfeKoblenz.Calculations
if (showABWStatistik)
{
dc.Header = new string[4];
dc.Header[0] = "Bewilligungszeitraum:";
dc.Header[1] = "Geleistet diesen Monat/Gesamt:";
dc.Header[2] = String.Format("Geleistet vom {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", abwStart, DateTime.Now);
dc.Header[3] = "Frei diesen Monat/Gesamt:";
dc.Header[0] = "";
dc.Header[1] = "Soll:";
dc.Header[2] = "Ist:";
dc.Header[3] = "Zur Verfügung:";
dc.ForegroundColor = new string[4];
dc.ForegroundColor[0] = "#FF2B508B";
dc.ForegroundColor[1] = "#FF2B508B";
@@ -164,6 +166,10 @@ namespace LebenshilfeKoblenz.Calculations
if (showABWStatistik)
{
dc.LeftValues[0] = "Laufender Monat";
dc.RightValues[0] = String.Format("{0:dd.MM.yyyy}-{1:dd.MM.yyyy}", abwStart, new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1));
if (periodStats.SupportConceptApprovalPeriod != null)
{
if (
@@ -173,17 +179,27 @@ namespace LebenshilfeKoblenz.Calculations
if (periodStats.SupportConceptApprovalPeriod.StartDate <= DateTime.Now &&
periodStats.SupportConceptApprovalPeriod.EndDate >= DateTime.Now)
{
dc.LeftValues[2] = String.Format("{0:0.00}", abwGeleistetLetztenMonate/60);
dc.RightValues[2] = " ";
if (periodStats.MinutesApprovedPerMonth - periodStats.MinutesProvidedThisMonth < 0)
dc.LeftValues[1] = String.Format("{0:0.00}", periodStats.MinutesApprovedPerMonth / 60);
dc.RightValues[1] = String.Format("{0:0.00}", abwSollLetztenMonate);
dc.LeftValues[2] = String.Format("{0:0.00}", abwGeleistetDiesenMonat / 60);
dc.RightValues[2] = String.Format("{0:0.00}", abwGeleistetLetztenMonate/60);
dc.LeftValues[3] = String.Format("{0:0.00}", (periodStats.MinutesApprovedPerMonth - abwGeleistetDiesenMonat) / 60);
dc.RightValues[3] = String.Format("{0:0.00}", abwSollLetztenMonate - (abwGeleistetLetztenMonate / 60));
if (periodStats.MinutesApprovedPerMonth - abwGeleistetDiesenMonat < 0)
{
dc.LeftValueColors[3] = "#FFFF0000";
}
if (periodStats.MinutesApprovedTotal - periodStats.MinutesProvidedTotalRounded < 0)
if (abwSollLetztenMonate - (abwGeleistetLetztenMonate / 60) < 0)
{
dc.RightValueColors[3] = "#FFFF0000";
}
//dc.LeftValues[2] = String.Format("{0:0.00}", periodStats.MinutesApprovedPerMonth - abwGeleistetDiesenMonat / 60);
//dc.RightValues[2] = String.Format("{0:0.00}", abwSollLetztenMonate - abwGeleistetLetztenMonate / 60);
}
else
{
@@ -247,7 +263,21 @@ namespace LebenshilfeKoblenz.Calculations
}
return base.GetApprovedMinutesPerMonth(stats);
}
//public override decimal GetApprovedMinutesPerMonth(SupportConceptStatisticsDC stats)
protected override SupportConceptPeriodStatisticsDC CreatePeriodStatisticsDC(SupportConceptCostBearerRelDC relDc,
SupportConceptApprovalPeriodDC periodDC, BS.Shared.Services.Calculations calc, DateTime statisticsDate)
{
var stats = base.CreatePeriodStatisticsDC(relDc, periodDC, calc, statisticsDate);
DateTime startDiesenMonat = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
var start = startDiesenMonat.AddMonths(-2);
var end = startDiesenMonat.AddMonths(1).AddDays(-1);
abwSollLetztenMonate =
calc.GetApprovedBETotalInPeriod(periodDC, relDc.CostBearer.CostRatePeriods, start, end) ?? 0;
return stats;
}
//public override decimal GetApprovedMinutesPerMonth(SupportConceptStatisticsDC stats)
//{
// if (stats.PeriodStatistics != null)
// {

View File

@@ -1,15 +1,186 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
namespace LebenshilfeKoblenz
{
public class CustomerMitarbeiterstundenkontoBerechnung : MitarbeiterstundenkontoBerechnung
{
public override bool AddServiceRecordToDuration(ServiceRecord item)
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
var dd = base.CreateDayDetail(date, ed);
dd.MaxHoursUntilBreak = 0;
dd.BreakMinutes = 0;
dd.MaxHoursUntilBreak2 = 0;
dd.BreakMinutes2 = 0;
return dd;
}
// public virtual IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
// {
// Dictionary<int, MitarbeiterstundenkontoRO.DayDetail> dayToDetail = new Dictionary<int, MitarbeiterstundenkontoRO.DayDetail>();
// for (int i = berichtStart.Day; i <= berichtEnde.AddDays(-1).Day; i++)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, i), ed);
// dayToDetail.Add(i, dd);
// }
// foreach (var sr in recordsAll)
// {
// if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
// {
// var dd = dayToDetail[sr.Start.Value.Day];
// if (!IsServiceRecordFehlzeit(sr) && AddServiceRecordToDuration(sr))
// {
// decimal duration = GetDurationCustom(sr);
// dd.MinutesTotal += duration;
// if (dd.ServiceRecords == null)
// dd.ServiceRecords = new List<ServiceRecord>();
// dd.ServiceRecords.Add(sr);
// CalculateSpecialHours(dd, sr, duration);
// }
// }
// }
// //Berechne von bis Zeiten
// foreach (var ddKeyValue in dayToDetail)
// {
// var dd = ddKeyValue.Value;
// if (dd.ZusammenhaengendeZeitraeume == null)
// {
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
// }
// if (dd.ServiceRecords != null)
// {
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
// DateTime lastEnd = DateTime.MinValue;
// var gapCount = -1;
// foreach (var sr in orderedList)
// {
// decimal duration = GetDurationCustom(sr);
// DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);
// if (sr.Start > lastEnd)
// {
// gapCount++;
// }
// if (dtEnd > lastEnd)
// {
// lastEnd = dtEnd;
// }
// DateTimeSpan currentSpan = null;
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
// {
// currentSpan = new DateTimeSpan();
// currentSpan.StartDateTime = DateTime.MaxValue;
// currentSpan.EndDateTime = DateTime.MinValue;
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
// }
// else
// {
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
// }
// if (sr.Start < currentSpan.StartDateTime)
// {
// currentSpan.StartDateTime = sr.Start.Value;
// }
// if (dtEnd > currentSpan.EndDateTime)
// {
// currentSpan.EndDateTime = dtEnd;
// }
// if (gapCount == 0)
// {
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
// {
// dd.StartDateTime1 = sr.Start;
// }
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
// {
// dd.EndDateTime1 = dtEnd;
// }
// }
// else if (gapCount == 1)
// {
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
// {
// dd.StartDateTime2 = sr.Start;
// }
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
// {
// dd.EndDateTime2 = dtEnd;
// }
// }
// else if (gapCount == 2)
// {
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
// {
// dd.StartDateTime3 = sr.Start;
// }
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
// {
// dd.EndDateTime3 = dtEnd;
// }
// }
// else
// {
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
// {
// dd.StartDateTime4 = sr.Start;
// }
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
// {
// dd.EndDateTime4 = dtEnd;
// }
// }
// }
// }
// }
// return dayToDetail.Values.OrderBy(dd => dd.Date).ToList();
// }
//private decimal GetDurationCustom(ServiceRecord sr)
//{
// decimal duration = 0;
// if (sr.GroupRoundedDuration.HasValue)
// {
// duration = sr.GroupRoundedDuration.Value;
// }
// else
// {
// duration = sr.RoundedDuration;
// }
// return duration;
//}
public override bool ShouldCreateDayDetails()
{
return true;
}
public override bool AddServiceRecordToDuration(ServiceRecord item)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
{

View File

@@ -19,7 +19,8 @@ namespace LebenshilfeKoblenz.Invoicing
{
public class LhKoblenzInvoiceCreation : InvoiceCreation
{
private const String FAHRTKOSTEN_CATEGORY_NAME = "Fahrtkosten";
private const String FAHRTKOSTEN_CATEGORY_NAME = "Fahrtkosten";
private const decimal AMOUNT_PER_KM_DEFAULT = 0.3m;
private ServiceCategory fahrtkostenServiceCategory = null;
@@ -57,12 +58,30 @@ namespace LebenshilfeKoblenz.Invoicing
BS.Shared.Services.Calculations calc)
{
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
list = list.OrderBy(ii => ii.ItemDescription).ToList();
var fitems = CreateFahrtkostenItems(serviceRecordsInPeriod);
list.AddRange(fitems);
//Abrechnung der KM nur bei Kostenträgern:
//Stadtverwaltung Mayen Jugenamt, Jugendamt der Stadtverwaltung Koblenz
bool addKm = false;
var org = scap.CostBearer2SupportConcept.CostBearer.Organisation.Name;
if (org.Contains("Stadtverwaltung Mayen") && org.Contains("Jugendamt"))
{
addKm = true;
}
else if (org.Contains("Stadtverwaltung Koblenz") && org.Contains("Jugendamt"))
{
addKm = true;
}
list = list.OrderBy(ii => ii.ItemDescription).ToList();
if (addKm)
{
var fitems = CreateFahrtkostenItems(serviceRecordsInPeriod);
list.AddRange(fitems);
}
return list;
}
@@ -70,9 +89,8 @@ namespace LebenshilfeKoblenz.Invoicing
private IList<InvoiceItem> CreateFahrtkostenItems(List<ServiceRecordDC> serviceRecords)
{
//Dictionary<String, InvoiceItem> mitarbeiter2Item = new Dictionary<String, InvoiceItem>();
IList<InvoiceItem> list = new List<InvoiceItem>();
IList<InvoiceItem> list = new List<InvoiceItem>();
decimal amountPerKm = AMOUNT_PER_KM_DEFAULT;

View File

@@ -73,6 +73,12 @@
<Compile Include="Mitarbeiterstundenkonto.designer.cs">
<DependentUpon>Mitarbeiterstundenkonto.cs</DependentUpon>
</Compile>
<Compile Include="MitarbeiterstundenkontoMonat.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="MitarbeiterstundenkontoMonat.designer.cs">
<DependentUpon>MitarbeiterstundenkontoMonat.cs</DependentUpon>
</Compile>
<Compile Include="Rechnung.cs">
<SubType>Component</SubType>
</Compile>
@@ -117,6 +123,10 @@
<DependentUpon>Mitarbeiterstundenkonto.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="MitarbeiterstundenkontoMonat.resx">
<DependentUpon>MitarbeiterstundenkontoMonat.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Rechnung.resx">
<DependentUpon>Rechnung.cs</DependentUpon>

View File

@@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
@@ -18,11 +20,161 @@ namespace LebenshilfeKoblenz
public void SetReportDataSource(MitarbeiterstundenkontoRO pRO)
{
cellMonat.Text = String.Format("{0:MM} / {0:yyyy}", pRO.ReportStartDate);
var msb = new CustomerMitarbeiterstundenkontoBerechnung();
msb.CreateReport(pRO);
this.bindingSource1.DataSource = pRO;
decimal zzSumme = 0;
decimal summeDienstzeit1 = 0;
decimal summeDienstzeit2 = 0;
decimal summeDienstzeit3 = 0;
decimal gesamtDienstzeit = 0;
decimal gesamtWochenzeit = 0;
foreach (var ed in pRO.EmployeeDetailList)
{
if (ed.Days != null)
{
var newDays = new List<MitarbeiterstundenkontoRO.DayDetail>();
decimal sum = 0;
bool addedSumRow = false;
foreach (var dayDetail in ed.Days)
{
addedSumRow = false;
//if (dayDetail.ZusammenhaengendeZeitraeume != null)
//{
// foreach (var dateTimeSpan in dayDetail.ZusammenhaengendeZeitraeume)
// {
// if (!dayDetail.StartDateTime1.HasValue || dateTimeSpan.StartDateTime < dayDetail.StartDateTime1)
// {
// dayDetail.StartDateTime1 = dateTimeSpan.StartDateTime;
// }
// if (!dayDetail.EndDateTime1.HasValue || dateTimeSpan.EndDateTime > dayDetail.EndDateTime1)
// {
// dayDetail.EndDateTime1 = dateTimeSpan.EndDateTime;
// }
// }
//}
//var pause = msb.CalculateBreakMinutes(dayDetail, dayDetail.MaxHoursUntilBreak ?? 0, dayDetail.BreakMinutes?? 0);
//pause += msb.CalculateBreakMinutes(dayDetail, 9, 15);
//dayDetail.BreakMinutes = (int)Math.Abs(pause);
//dayDetail.Custom3 = String.Format("{0:ddd}", dayDetail.Date);
//dayDetail.Custom4 = String.Format("{0:dd.MM.}", dayDetail.Date);
decimal zz = 0;
if (dayDetail.ServiceRecords != null)
{
foreach (var sr in dayDetail.ServiceRecords)
{
if (sr.ServiceDescription.Name == "Zeitzuschlag")
{
zz += sr.RoundedDuration;
}
}
}
if (zz > 0)
{
zzSumme += zz;
dayDetail.Custom3 = String.Format("{0:0.00}", zz / 60);
}
if (dayDetail.StartDateTime1.HasValue && dayDetail.EndDateTime1.HasValue)
{
summeDienstzeit1 += (decimal)dayDetail.EndDateTime1.Value.Subtract(dayDetail.StartDateTime1.Value).TotalMinutes;
}
if (dayDetail.StartDateTime2.HasValue && dayDetail.EndDateTime2.HasValue)
{
summeDienstzeit2 += (decimal)dayDetail.EndDateTime2.Value.Subtract(dayDetail.StartDateTime2.Value).TotalMinutes;
}
if (dayDetail.StartDateTime3.HasValue && dayDetail.EndDateTime3.HasValue)
{
summeDienstzeit3 += (decimal)dayDetail.EndDateTime3.Value.Subtract(dayDetail.StartDateTime3.Value).TotalMinutes;
}
newDays.Add(dayDetail);
sum += dayDetail.MinutesTotal;
gesamtDienstzeit += dayDetail.MinutesTotal;
if (dayDetail.Date.DayOfWeek == DayOfWeek.Saturday)
{
dayDetail.Custom2 = "WE";
}
bool isSonntag = (dayDetail.Date.DayOfWeek == DayOfWeek.Sunday);
if (isSonntag)
{
dayDetail.Custom2 = "WE";
dayDetail.Custom4 = String.Format("{0:0.00}", sum / 60);
gesamtWochenzeit += sum;
//MitarbeiterstundenkontoRO.DayDetail ddSum = new MitarbeiterstundenkontoRO.DayDetail();
//ddSum.MinutesTotal = sum;
//ddSum.Custom2 = "SUM";
//newDays.Add(ddSum);
addedSumRow = true;
sum = 0;
}
if (msb.IstFeiertag(dayDetail.Date))
{
dayDetail.Custom2 = "FT";
dayDetail.Custom1 = "Feiertag";
}
if (dayDetail.AbsenceTimes != null && dayDetail.AbsenceTimes.Count > 0)
{
StringBuilder sb = new StringBuilder();
foreach (var at in dayDetail.AbsenceTimes)
{
if (sb.Length > 0)
{
sb.Append(", ");
}
sb.Append(at.AbsenceReason.Description);
}
dayDetail.Custom1 = sb.ToString();
}
}
if (!addedSumRow)
{
MitarbeiterstundenkontoRO.DayDetail ddSum = new MitarbeiterstundenkontoRO.DayDetail();
//ddSum.MinutesTotal = sum;
ddSum.Custom4 = String.Format("{0:0.00}", sum / 60);
ddSum.Custom2 = "SUM";
gesamtWochenzeit += sum;
newDays.Add(ddSum);
}
ed.Days = newDays;
}
}
cellDienstzeit1Summe.Text = String.Format("{0:0.00}", summeDienstzeit1 / 60);
cellDienstzeit2Summe.Text = String.Format("{0:0.00}", summeDienstzeit2 / 60);
cellDienstzeit3Summe.Text = String.Format("{0:0.00}", summeDienstzeit3 / 60);
cellZeitzuschlagSumme.Text = String.Format("{0:0.00}", zzSumme / 60);
cellGesamtDienstzeit.Text = String.Format("{0:0.00}", gesamtDienstzeit / 60);
cellGesamtWochenzeit.Text = String.Format("{0:0.00}", gesamtWochenzeit / 60);
cellAnzurechnendeDienstzeit.Text = String.Format("{0:0.00}", gesamtDienstzeit / 60);
this.bindingSource1.DataSource = pRO;
}
}
}
}

File diff suppressed because it is too large Load Diff

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 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -34,7 +34,9 @@ namespace Monvita
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -43,12 +45,16 @@ namespace Monvita
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
@@ -57,13 +63,10 @@ namespace Monvita
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.fieldGruppe = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
@@ -99,6 +102,7 @@ namespace Monvita
this.xrTableCell3,
this.xrTableCell2,
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell11,
this.xrTableCell9,
this.xrTableCell12});
@@ -116,6 +120,19 @@ namespace Monvita
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.16759776536312854D;
//
// xrTableCell2
//
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseForeColor = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.33519553072625707D;
//
// xrTableCell4
//
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
@@ -125,6 +142,16 @@ namespace Monvita
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.16759776536312851D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.Text = "Gruppe";
this.xrTableCell5.Weight = 0.19553072625698326D;
//
// xrTableCell11
//
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
@@ -132,7 +159,7 @@ namespace Monvita
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell11.Text = "Art";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell11.Weight = 0.335195530726257D;
this.xrTableCell11.Weight = 0.27932960893854752D;
//
// xrTableCell9
//
@@ -141,7 +168,7 @@ namespace Monvita
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell9.Text = "KT";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.33519553072625707D;
this.xrTableCell9.Weight = 0.27932960893854758D;
//
// xrTableCell12
//
@@ -151,7 +178,7 @@ namespace Monvita
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell12.Text = "Mitarbeiter/in";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell12.Weight = 0.558659217877095D;
this.xrTableCell12.Weight = 0.47486033519553084D;
//
// DetailReport
//
@@ -193,6 +220,7 @@ namespace Monvita
this.xrTableCell13,
this.xrTableCell1,
this.xrTableCell14,
this.xrTableCell6,
this.xrTableCell15,
this.xrTableCell16,
this.xrTableCell17});
@@ -214,6 +242,18 @@ namespace Monvita
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell13.Weight = 0.075757575060008339D;
//
// xrTableCell1
//
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
this.xrTableCell1.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "xrTableCell1";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.15151515116636782D;
//
// xrTableCell14
//
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -224,7 +264,7 @@ namespace Monvita
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "xrTableCell14";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell14.Weight = 0.075757575408792063D;
//
// xrTableCell15
@@ -237,7 +277,7 @@ namespace Monvita
this.xrTableCell15.StylePriority.UseFont = false;
this.xrTableCell15.Text = "xrTableCell15";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 0.15151515217950146D;
this.xrTableCell15.Weight = 0.12626262659480125D;
//
// xrTableCell16
//
@@ -248,7 +288,7 @@ namespace Monvita
this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell16.StylePriority.UseFont = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.15151515217950143D;
this.xrTableCell16.Weight = 0.12626262692697618D;
//
// xrTableCell17
//
@@ -259,17 +299,44 @@ namespace Monvita
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell17.StylePriority.UseFont = false;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell17.Weight = 0.25252525259168757D;
this.xrTableCell17.Weight = 0.21464646471289967D;
//
// formattingRuleStartDate
// GroupFooter1
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleStartDate.DataMember = "ServicesDouble";
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel3,
this.xrLabel2,
this.xrLabel4});
this.GroupFooter1.HeightF = 134.7917F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel3
//
this.xrLabel3.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel3.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 109.7917F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(333F, 25F);
this.xrLabel3.StylePriority.UseBorders = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Ort, Datum\tUnterschrift Bezugsbetreuer/in";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleStartDate.Name = "formattingRuleStartDate";
// xrLabel2
//
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(360.0001F, 109.7917F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(319.9999F, 24.99999F);
this.xrLabel2.StylePriority.UseBorders = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Ort, Datum\tUnterschrift Klient/in";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel4
//
@@ -284,6 +351,16 @@ namespace Monvita
this.xrLabel4.Text = "Ich versichere die Richtigkeit der o.g. Angaben:";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleStartDate.DataMember = "ServicesDouble";
//
//
//
this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleStartDate.Name = "formattingRuleStartDate";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -358,31 +435,6 @@ namespace Monvita
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTableCell2
//
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Bold);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseForeColor = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.33519553072625707D;
//
// xrTableCell1
//
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
this.xrTableCell1.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "xrTableCell1";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.15151515116636782D;
//
// xrLabel11
//
this.xrLabel11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -403,42 +455,24 @@ namespace Monvita
this.GroupFooter2.HeightF = 46.35416F;
this.GroupFooter2.Name = "GroupFooter2";
//
// GroupFooter1
// xrTableCell6
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel3,
this.xrLabel2,
this.xrLabel4});
this.GroupFooter1.HeightF = 134.7917F;
this.GroupFooter1.Name = "GroupFooter1";
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.fieldGruppe")});
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.088383838716013352D;
//
// xrLabel2
// fieldGruppe
//
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(360.0001F, 109.7917F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(319.9999F, 24.99999F);
this.xrLabel2.StylePriority.UseBorders = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Ort, Datum\tUnterschrift Klient/in";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel3
//
this.xrLabel3.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel3.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 109.7917F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(333F, 25F);
this.xrLabel3.StylePriority.UseBorders = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "Ort, Datum\tUnterschrift Bezugsbetreuer/in";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.fieldGruppe.DataMember = "Services";
this.fieldGruppe.Expression = "Iif([IsGroup], [CustomerCount] + \' TN\', \'\')";
this.fieldGruppe.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldGruppe.Name = "fieldGruppe";
//
// bindingSource1
//
@@ -453,6 +487,8 @@ namespace Monvita
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter2});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldGruppe});
this.DataSource = this.bindingSource1;
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
@@ -463,7 +499,7 @@ namespace Monvita
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "13.1";
this.Version = "13.2";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
@@ -508,5 +544,8 @@ namespace Monvita
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.CalculatedField fieldGruppe;
}
}

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 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -68,6 +68,12 @@
<Compile Include="Mitarbeiterstundenkonto.designer.cs">
<DependentUpon>Mitarbeiterstundenkonto.cs</DependentUpon>
</Compile>
<Compile Include="QuittungKreisjugendamtHeinsberg.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QuittungKreisjugendamtHeinsberg.designer.cs">
<DependentUpon>QuittungKreisjugendamtHeinsberg.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
@@ -124,6 +130,9 @@
<DependentUpon>Mitarbeiterstundenkonto.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="QuittungKreisjugendamtHeinsberg.resx">
<DependentUpon>QuittungKreisjugendamtHeinsberg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -62,8 +62,12 @@ namespace BeWo.SKFAlsdorf
{
report = new BeWo.SKFAlsdorf.StundennachweisJAAlsdorf();
}
if (report == null)
else if (ro.Costbearer == "Kreisjugendamt Heinsberg")
{
report = new BeWo.SKFAlsdorf.QuittungKreisjugendamtHeinsberg();
}
if (report == null)
report = new BeWo.SKFAlsdorf.Stundenzettel();
report.SetReportDataSource(ro);

View File

@@ -17,14 +17,42 @@ namespace BeWo.SeWo
StundenBerechnungHelper.CorrectOverlappingTimes(groupFilteredRecords.OrderBy(s => s.Start).ToList());
}
//public override void HandleServiceRecord(MitarbeiterstundenkontoRO.EmployeeDetail emp, ServiceRecord item)
// {
// if (currentEmployee == null || emp.Employee.Oid != currentEmployee.Employee.Oid)
// {
// allSpans.Clear();
// currentEmployee = emp;
// }
// }
public override void CreateEmployeeDetails(MitarbeiterstundenkontoRO ro)
{
base.CreateEmployeeDetails(ro);
foreach (var empDetail in ro.EmployeeDetailList)
{
var c = GetContractForDate(empDetail.Employee, ro.ReportStartDate, ro.ReportEndDate);
if (c != null)
{
if (c.EmploymentType != null && !String.IsNullOrWhiteSpace(c.EmploymentType.Name))
{
if (c.EmploymentType.Name.Contains("Minijob"))
{
if (empDetail.UeberstundenGesamt.HasValue)
{
empDetail.UeberstundenGesamt = 0;
}
if (empDetail.UeberstundenVormonat.HasValue)
{
empDetail.UeberstundenVormonat = 0;
}
}
}
}
}
}
//public override void HandleServiceRecord(MitarbeiterstundenkontoRO.EmployeeDetail emp, ServiceRecord item)
// {
// if (currentEmployee == null || emp.Employee.Oid != currentEmployee.Employee.Oid)
// {
// allSpans.Clear();
// currentEmployee = emp;
// }
// }
public override bool AddServiceRecordToDuration(ServiceRecord item)
{

View File

@@ -15,106 +15,113 @@ using BS.Shared.Services;
namespace BeWo.WegweiserBetreuungsdienstReports
{
public class WegweiserAuslastungBerechnung : AuslastungBerechnung
{
public override void CreateEmployeeDetails(MitarbeiterauslastungRO ro)
{
foreach (var empDetail in ro.EmployeeDetailList)
{
var emp = empDetail.Employee;
public class WegweiserAuslastungBerechnung : AuslastungBerechnung
{
public override void CreateEmployeeDetails(MitarbeiterauslastungRO ro)
{
foreach (var empDetail in ro.EmployeeDetailList)
{
if (empDetail.Employee != null)
{
CreateEmployeeDetail(ro, empDetail);
}
Contract contract = emp.LastContract;
if (contract != null && contract.WeeklyFLS.HasValue)
{
empDetail.WeeklyTotalHoursByContract = contract.WeeklyTotalHours ?? 0;
empDetail.FLSTotalHoursByContract = contract.WeeklyFLS ?? 0;
}
}
}
var span = new DateTimeSpan();
span.StartDateTime = ro.ReportStartDate;
span.EndDateTime = ro.ReportEndDate;
private void CreateEmployeeDetail(MitarbeiterauslastungRO ro, MitarbeiterauslastungRO.EmployeeDetail empDetail)
{
var emp = empDetail.Employee;
//supportconcepts by costbearer2supportconceptoid
Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail> supportConceptDict = new Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail>();
if (emp.Employee2CustomerList != null)
{
foreach (Employee2Customer e2c in emp.Employee2CustomerList)
{
bool isMainAttendant = false;
bool isAssistenzkraft = false;
if (e2c.ValueList.Count > 0)
{
SystemEntryID? id = e2c.ValueList[0].Entry.SystemEntryID;
if (id.HasValue && id.Value == SystemEntryID.EmployeeRoleMainAttendant)
isMainAttendant = true;
else if (e2c.ValueList[0].Entry.Value.ToLower().Contains("assistenzkraft"))
{
isAssistenzkraft = true;
}
}
//if (isMainAttendant && e2c.Customer != null)
if (e2c.Customer != null && (isMainAttendant || isAssistenzkraft))
{
if (e2c.Customer.IsActive == ActivationTypeId.Active && e2c.Customer.SupportConcepts != null)
{
foreach (SupportConcept sc in e2c.Customer.SupportConcepts)
{
if (sc.IsActive == ActivationTypeId.Active && sc.CostBearer2SupportConceptList != null)
{
foreach (CostBearer2SupportConcept cb2sc in sc.CostBearer2SupportConceptList)
{
bool inTimeRange = true;
Contract contract = emp.LastContract;
if (contract != null && contract.WeeklyFLS.HasValue)
{
empDetail.WeeklyTotalHoursByContract = contract.WeeklyTotalHours ?? 0;
empDetail.FLSTotalHoursByContract = contract.WeeklyFLS ?? 0;
}
if (cb2sc.StartDate.HasValue && cb2sc.EndDate.HasValue)
{
if (cb2sc.StartDate >= ro.ReportEndDate || cb2sc.EndDate < ro.ReportStartDate)
{
inTimeRange = false;
}
}
if (inTimeRange && !supportConceptDict.ContainsKey(cb2sc.Oid.Value))
{
String org = cb2sc.CostBearer.Organisation.Name;
var span = new DateTimeSpan();
span.StartDateTime = ro.ReportStartDate;
span.EndDateTime = ro.ReportEndDate;
if ((org != "LVR" && isAssistenzkraft) || (org == "LVR") && isMainAttendant)
{
//if (scStartDate == null || scEndDate == null || ())
MitarbeiterauslastungRO.SupportConceptDetail scDC = new MitarbeiterauslastungRO.SupportConceptDetail();
//supportconcepts by costbearer2supportconceptoid
Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail> supportConceptDict =
new Dictionary<long, MitarbeiterauslastungRO.SupportConceptDetail>();
if (emp.Employee2CustomerList != null)
{
foreach (Employee2Customer e2c in emp.Employee2CustomerList)
{
bool isMainAttendant = false;
bool isAssistenzkraft = false;
if (e2c.ValueList.Count > 0)
{
SystemEntryID? id = e2c.ValueList[0].Entry.SystemEntryID;
if (id.HasValue && id.Value == SystemEntryID.EmployeeRoleMainAttendant)
isMainAttendant = true;
else if (e2c.ValueList[0].Entry.Value.ToLower().Contains("assistenzkraft"))
{
isAssistenzkraft = true;
}
}
//if (isMainAttendant && e2c.Customer != null)
if (e2c.Customer != null && (isMainAttendant || isAssistenzkraft))
{
if (e2c.Customer.IsActive == ActivationTypeId.Active && e2c.Customer.SupportConcepts != null)
{
foreach (SupportConcept sc in e2c.Customer.SupportConcepts)
{
if (sc.IsActive == ActivationTypeId.Active && sc.CostBearer2SupportConceptList != null)
{
foreach (CostBearer2SupportConcept cb2sc in sc.CostBearer2SupportConceptList)
{
bool inTimeRange = true;
supportConceptDict.Add(cb2sc.Oid.Value, scDC);
scDC.Customer = e2c.Customer;
scDC.CostBearer2SupportConcept = cb2sc;
if (cb2sc.StartDate.HasValue && cb2sc.EndDate.HasValue)
{
if (cb2sc.StartDate >= ro.ReportEndDate || cb2sc.EndDate < ro.ReportStartDate)
{
inTimeRange = false;
}
}
DateTime end = ro.ReportEndDate;
if (cb2sc.EndDate.HasValue && cb2sc.EndDate.Value < end)
{
end = cb2sc.EndDate.Value;
}
CalculateSoll(scDC, end);
if (inTimeRange && !supportConceptDict.ContainsKey(cb2sc.Oid.Value))
{
String org = cb2sc.CostBearer.Organisation.Name;
empDetail.SupportConceptDetailList.Add(scDC);
}
}
}
}
}
}
}
}
}
if ((org != "LVR" && isAssistenzkraft) || (org == "LVR") && isMainAttendant)
{
//if (scStartDate == null || scEndDate == null || ())
MitarbeiterauslastungRO.SupportConceptDetail scDC =
new MitarbeiterauslastungRO.SupportConceptDetail();
supportConceptDict.Add(cb2sc.Oid.Value, scDC);
scDC.Customer = e2c.Customer;
scDC.CostBearer2SupportConcept = cb2sc;
DateTime end = ro.ReportEndDate;
if (cb2sc.EndDate.HasValue && cb2sc.EndDate.Value < end)
{
end = cb2sc.EndDate.Value;
}
CalculateSoll(scDC, end);
empDetail.SupportConceptDetailList.Add(scDC);
}
}
}
}
}
}
}
}
}
empDetail.SupportConceptDetailList.Sort((a, b) => (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName));
empDetail.SupportConceptDetailList.Sort(
(a, b) => (a.Customer.Person.LastName + ", " + a.Customer.Person.FirstName).CompareTo(
b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName));
}
}
}
}
}
}

View File

@@ -85,43 +85,49 @@ namespace BeWo.Service.Invoicing
public virtual bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
{
//Die alte Methode funktioniert nicht mehr wenn
//1. Es mehr als drei Stundensätze gibt
//2. Mindestens einem Bewilligungszeitraum eine Kategorie zugeordnet ist
//3. Wenn sich Bewilligungszeiträume überscheiden
//4. ServiceRecords einer ServiceDescription/Category mit Stundensätzen zugeordnet sind
//In allen anderen Fällen wird die alte Methode noch verwendet, das sonst alle Kundenrechnungsformulare angepasst werden müssten.
//Die alte Methode funktioniert nicht mehr wenn
//1. Es mehr als drei Stundensätze gibt
//2. Es mehr als einen Faktor gibt
//3. Mindestens einem Bewilligungszeitraum eine Kategorie zugeordnet ist
//4. Wenn sich Bewilligungszeiträume überscheiden
//5. ServiceRecords einer ServiceDescription/Category mit Stundensätzen zugeordnet sind
//In allen anderen Fällen wird die alte Methode noch verwendet, das sonst alle Kundenrechnungsformulare angepasst werden müssten.
//Prüfe 1:
var relDC = c2s.MapToNewDC();
//Prüfe 1:
var relDC = c2s.MapToNewDC();
var hourlyRatesInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.HourlyRate,
si.AccountingPeriodStart.Value.Date, si.AccountingPeriodEnd.Value.Date).ToList();
if (hourlyRatesInSpanList.Count > 3)
return false;
var factorInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.RateFactor,
si.AccountingPeriodStart.Value.Date, si.AccountingPeriodEnd.Value.Date).ToList();
if (factorInSpanList.Count > 1)
return false;
//Prüfe 3
//for (int i = 0; i < c2s.ApprovalPeriodList.Count - 1; i++)
//{
// var ap1 = c2s.ApprovalPeriodList[i];
// if (ap1.StartDate.HasValue && ap1.EndDate.HasValue)
// {
// for (int j = i + 1; j < c2s.ApprovalPeriodList.Count; j++)
// {
// var ap2 = c2s.ApprovalPeriodList[j];
// if (ap2.StartDate.HasValue && ap2.EndDate.HasValue)
// {
// if (ap1.EndDate >= ap2.StartDate && ap1.StartDate <= ap2.EndDate)
// return false;
// }
// }
// }
//}
//Prüfe 3
//for (int i = 0; i < c2s.ApprovalPeriodList.Count - 1; i++)
//{
// var ap1 = c2s.ApprovalPeriodList[i];
//Prüfe 2
foreach (var ap in c2s.ApprovalPeriodList)
{
// if (ap1.StartDate.HasValue && ap1.EndDate.HasValue)
// {
// for (int j = i + 1; j < c2s.ApprovalPeriodList.Count; j++)
// {
// var ap2 = c2s.ApprovalPeriodList[j];
// if (ap2.StartDate.HasValue && ap2.EndDate.HasValue)
// {
// if (ap1.EndDate >= ap2.StartDate && ap1.StartDate <= ap2.EndDate)
// return false;
// }
// }
// }
//}
//Prüfe 2
foreach (var ap in c2s.ApprovalPeriodList)
{
if (ap.ServiceCategory != null && ap.ServiceCategory.IsActive == ActivationTypeId.Active)
{
if (ap.ServiceCategory.CostRatePeriods != null && ap.ServiceCategory.CostRatePeriods.Count > 0)

View File

@@ -40,7 +40,7 @@ namespace BeWo.Service.Plugins
//t = "5805202339"; // Wegweiser Betreuungsdienst
//t = "2301474784"; // Hauskrankenpflege Leiendecker
//t = "8243565510"; // Der Karren
t = "7709306800"; // Der Karren SBD
//t = "7709306800"; // Der Karren SBD
//t = "2499262621"; // HPH Bersenbrück
//t = "4950382346"; // Holsinger
//t = "5973016645"; // Verein Lebensgestaltung Hanau
@@ -139,7 +139,7 @@ namespace BeWo.Service.Plugins
//t = "8828216586"; // Caritas Aachen
//t = "7062943632"; // ABW Elsebrock
//t = "3956369664"; // LH Wetterau
//t = "3984525482"; // API Berlin
t = "3984525482"; // API Berlin
//t = "9975231461"; // Selwo
//t = "8181286349"; // BeWo am Rhein
//t = "4595275645"; // Eigenständig

View File

@@ -853,7 +853,8 @@ namespace BeWo.Service.Reporting
{
AnnualReportDataDC data = new AnnualReportDataDC();
report.Data.Add(data);
data.Index = index++;
data.CustomerNames = new List<string>();
data.Index = index++;
data.Name = String.Format("{0:dd/MM/yyyy}", new DateTime(startYear.Year, 6, 30));
data.Value = countPerYearMidAll[startYear.Year];

View File

@@ -436,7 +436,12 @@ namespace BeWo.Service.ServiceImplementations
lLogin.Browser = result.ToString();
lLogin.IPAddress = Utils.GetClientIP();
lLogin.Referrer = String.Format("{0}, Version: {1}", clientId, version);
if (!String.IsNullOrEmpty(computerName))
if (lLogin.Referrer.Length > 1024)
{
lLogin.Referrer = lLogin.Referrer.Substring(0, 1024);
}
if (!String.IsNullOrEmpty(computerName))
{
lLogin.HostName = computerName;
}

View File

@@ -563,6 +563,25 @@ namespace BS.Shared.Core
{
UserRightType.VertretungenView_View, Translator.Translate("Vertretungen verwalten")
},
{
UserRightType.ChatSettings, Translator.Translate("Chat Einstellungen")
}
,
{
UserRightType.CustomerTeam_View, Translator.Translate("Kliententeams ansehen")
}
,
{
UserRightType.CustomerTeam_Create, Translator.Translate("Kliententeams anlegen")
}
,
{
UserRightType.CustomerTeam_Edit, Translator.Translate("Kliententeams bearbeiten")
}
,
{
UserRightType.CustomerTeam_Delete, Translator.Translate("Kliententeams löschen")
},
//,
// {

View File

@@ -51,5 +51,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public object Value10 { get; set; }
[DataMember]
public IList<string> CustomerNames { get; set; }
}
}

View File

@@ -3,24 +3,20 @@ using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class WohnheimDC : PersonDC, IDataContract
{
private List<ValueListEntryDC> _Focuses;
private List<ValueListEntryDC> _Qualifications;
[DataMember]
public List<ContractDC> Contracts { get; set; }
[DataContract]
public class WohnheimDC : IDataContract
{
[DataMember]
public long? WohnheimOid { get; set; }
[DataMember]
public string WohnheimName { get; set; }
[DataMember]
public string Strasse { get; set; }
[DataMember]
public ActivationTypeId ActivationType { get; set; }
[DataMember]
public string WohnheimName { get; set; }
[DataMember]
public string Strasse { get; set; }
[DataMember]
public string PLZ { get; set; }
@@ -28,8 +24,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Ort { get; set; }
[DataMember]
public string Bemerkung { get; set; }
[DataMember]
public string Bemerkung { get; set; }
[DataMember]
public List<WohnheimEmployeeRelationDC> RelatedEmployees { get; set; }

View File

@@ -1332,70 +1332,76 @@ namespace BS.Shared.Services
public virtual AccountingPeriod GetAccountingPeriodForServiceRecord(SupportConceptCostBearerRelDC relDC, ServiceRecordDC sr, DateTimeSpan span)
{
CostRatePeriodDC crp = null;
CostRatePeriodDC previousCrp = null;
CostRatePeriodDC stundensatzCrp = null;
CostRatePeriodDC previousStundensatzCrp = null;
AccountingIntervalType intervalType = AccountingIntervalType.Hourly;
ServiceCategoryDC category = null;
var scap = FindApprovalPeriodForDateAndCategory(relDC, sr.Start.Value,
sr.ServiceDescription.Category);
if (scap != null)
{
category = scap.ServiceCategory;
crp =
stundensatzCrp =
sr.ServiceDescription.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney,
sr.Start.Value);
if (crp != null)
if (stundensatzCrp != null)
{
previousCrp = GetPreviousCrp(crp, sr.ServiceDescription.CostRatePeriods);
previousStundensatzCrp = GetPreviousCrp(stundensatzCrp, sr.ServiceDescription.CostRatePeriods);
intervalType = sr.ServiceDescription.AccountingInterval ?? AccountingIntervalType.Hourly;
category = sr.ServiceDescription.Category;
}
else
{
crp =
stundensatzCrp =
sr.ServiceDescription.Category.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney,
sr.Start.Value);
if (crp != null)
if (stundensatzCrp != null)
{
previousCrp = GetPreviousCrp(crp, sr.ServiceDescription.Category.CostRatePeriods);
previousStundensatzCrp = GetPreviousCrp(stundensatzCrp, sr.ServiceDescription.Category.CostRatePeriods);
intervalType = sr.ServiceDescription.Category.AccountingInterval ??
AccountingIntervalType.Hourly;
category = sr.ServiceDescription.Category;
}
}
if (crp == null)
if (stundensatzCrp == null)
{
if (scap.ApprovedFixedAmount.HasValue && scap.ApprovedFixedAmountInterval.HasValue)
{
crp = new CostRatePeriodDC();
crp.CostRateValue = scap.ApprovedFixedAmount.Value;
crp.CostRateType = CostRatePeriodType.AmountOfMoney;
stundensatzCrp = new CostRatePeriodDC();
stundensatzCrp.CostRateValue = scap.ApprovedFixedAmount.Value;
stundensatzCrp.CostRateType = CostRatePeriodType.AmountOfMoney;
intervalType = ConvertApprovalToAccountingIntervalType(scap.ApprovedFixedAmountInterval.Value);
intervalType = ConvertApprovalToAccountingIntervalType(scap.ApprovedFixedAmountInterval.Value);
}
}
CostRatePeriodDC rateFactor = null;
CostRatePeriodDC unit = null;
if (crp == null)
if (stundensatzCrp == null)
{
crp = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate,
sr.Start.Value);
rateFactor = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor,
stundensatzCrp = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate,
sr.Start.Value);
unit = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.MinutesPerServiceUnit,
sr.Start.Value);
previousCrp = GetPreviousCrp(crp, relDC.CostBearer.CostRatePeriods);
previousStundensatzCrp = GetPreviousCrp(stundensatzCrp, relDC.CostBearer.CostRatePeriods);
}
if (crp != null)
if (stundensatzCrp != null)
{
CostRatePeriodDC rateFactor = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor,
sr.Start.Value);
CostRatePeriodDC previousRateFactor = null;
if (rateFactor != null)
{
previousRateFactor = GetPreviousCrp(rateFactor, relDC.CostBearer.CostRatePeriods);
}
CostRatePeriodDC unit = relDC.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.MinutesPerServiceUnit,
sr.Start.Value);
AccountingPeriod ap = new AccountingPeriod();
ap.PeriodStart = scap.StartDate ?? DateTime.MinValue;
ap.PeriodEnd = scap.EndDate ?? DateTime.MaxValue;
@@ -1407,23 +1413,29 @@ namespace BS.Shared.Services
if (span.EndDate < ap.PeriodEnd)
ap.PeriodEnd = span.EndDate;
}
ap.Amount = crp.CostRateValue ?? 0;
ap.Amount = stundensatzCrp.CostRateValue ?? 0;
ap.AccountingInterval = intervalType;
ap.ServiceCategory = category;
ap.ServiceRecordsInPeriod.Add(sr);
ap.CostRatesInPeriod = new List<CostRatePeriodDC>();
ap.CostRatesInPeriod.Add(crp);
ap.CostRatesInPeriod.Add(stundensatzCrp);
if (crp.EndDate.HasValue && crp.EndDate.Value.Date < ap.PeriodEnd.Date)
ap.PeriodEnd = crp.EndDate.Value;
if (previousCrp != null && previousCrp.EndDate.HasValue && previousCrp.EndDate.Value.Date >= ap.PeriodStart.Date)
if (stundensatzCrp.EndDate.HasValue && stundensatzCrp.EndDate.Value.Date < ap.PeriodEnd.Date)
ap.PeriodEnd = stundensatzCrp.EndDate.Value;
if (rateFactor != null && rateFactor.EndDate.HasValue && rateFactor.EndDate.Value.Date < ap.PeriodEnd.Date)
ap.PeriodEnd = rateFactor.EndDate.Value;
if (previousStundensatzCrp != null && previousStundensatzCrp.EndDate.HasValue && previousStundensatzCrp.EndDate.Value.Date >= ap.PeriodStart.Date)
{
ap.PeriodStart = previousCrp.EndDate.Value.Date.AddDays(1);
ap.PeriodStart = previousStundensatzCrp.EndDate.Value.Date.AddDays(1);
}
if (previousRateFactor != null && previousRateFactor.EndDate.HasValue && previousRateFactor.EndDate.Value.Date >= ap.PeriodStart.Date)
{
ap.PeriodStart = previousRateFactor.EndDate.Value.Date.AddDays(1);
}
if (rateFactor != null)
{
ap.CostRatesInPeriod.Add(rateFactor);
@@ -1439,7 +1451,7 @@ namespace BS.Shared.Services
return ap;
}
}
return null;
}