Perseh Hilfeplan Import + KI Prototyp,
This commit is contained in:
63
BeWo/AI/View/AiChatView.xaml
Normal file
63
BeWo/AI/View/AiChatView.xaml
Normal file
@@ -0,0 +1,63 @@
|
||||
<view:BeWoView x:Class="BeWo.AI.View.AiChatView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:validation="clr-namespace:BeWo.Validation"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
|
||||
mc:Ignorable="d" VerticalAlignment="Stretch" Focusable="True">
|
||||
<view:BeWoView.Resources>
|
||||
<!--<Expander x:Name="ExpanderTemplate" IsExpanded="True">
|
||||
<Expander.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="14" Margin="0" />
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
</Expander>-->
|
||||
</view:BeWoView.Resources>
|
||||
<Grid Margin="0" Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<dxlc:LayoutControl Orientation="Vertical" Padding="0">
|
||||
<dxlc:LayoutGroup dxlc:LayoutControl.AllowVerticalSizing="True" Height="200">
|
||||
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{t:Translate Formulieren Sie hier Ihre Anfrage}"></Label>
|
||||
<TextBox x:Name="TextBoxAnfrage" Grid.Row="1" MinHeight="60" AcceptsReturn="True" AcceptsTab="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"></TextBox>
|
||||
</Grid>
|
||||
</dxlc:LayoutGroup>
|
||||
<dxlc:LayoutGroup dxlc:LayoutControl.AllowVerticalSizing="True">
|
||||
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{t:Translate Ergebnis}"></Label>
|
||||
<TextBox x:Name="TextBoxErgebnis" Grid.Row="1" MinHeight="60" AcceptsReturn="True" AcceptsTab="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" TextWrapping="Wrap" ></TextBox>
|
||||
</Grid>
|
||||
</dxlc:LayoutGroup>
|
||||
</dxlc:LayoutControl>
|
||||
|
||||
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" Height="Auto" Margin="5,10,10,10" HorizontalAlignment="Right">
|
||||
<Button x:Name="btnSend" Content="{t:Translate Absenden}" Margin="0,0,3,0" Height="25" Click="btnSend_Click"/>
|
||||
<Button x:Name="btnClose" Content=" Schließen " Margin="0,0,3,0" Height="25" Click="btnClose_Click"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
74
BeWo/AI/View/AiChatView.xaml.cs
Normal file
74
BeWo/AI/View/AiChatView.xaml.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
|
||||
using BeWo.Annotations;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.Validation;
|
||||
using BeWo.View;
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
|
||||
namespace BeWo.AI.View
|
||||
{
|
||||
public partial class AiChatView : BeWoView
|
||||
{
|
||||
|
||||
public event Action CloseButtonClicked;
|
||||
private long cb2scOid;
|
||||
private DateTime startDate;
|
||||
private DateTime endDate;
|
||||
|
||||
public AiChatView(long c2sOid, DateTime start, DateTime end)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.cb2scOid = c2sOid;
|
||||
this.startDate = start;
|
||||
this.endDate = end;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void ReloadViewModel(AiChatDC dc)
|
||||
{
|
||||
TextBoxErgebnis.Text = dc.Result;
|
||||
}
|
||||
|
||||
private void btnSend_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var acdc = new AiChatDC();
|
||||
acdc.Prompt = TextBoxAnfrage.Text;
|
||||
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.CreateAiQueryForServiceRecords(acdc, cb2scOid, startDate, endDate),
|
||||
dc =>
|
||||
{
|
||||
this.Dispatch(delegate
|
||||
{
|
||||
ReloadViewModel(dc);
|
||||
});
|
||||
});
|
||||
}
|
||||
private void btnClose_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CloseButtonClicked?.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
174
BeWo/BeWo.csproj
174
BeWo/BeWo.csproj
@@ -195,6 +195,10 @@
|
||||
<Reference Include="WindowsBase">
|
||||
<RequiredTargetFramework>3.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Page Include="AI\View\AiChatView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="BSLogoControl.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -315,6 +319,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\HilfeplanImportView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Controls\DPCtrlEmployeeContractTooltip.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -818,6 +826,9 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="AI\View\AiChatView.xaml.cs">
|
||||
<DependentUpon>AiChatView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BSLogoControl.xaml.cs">
|
||||
<DependentUpon>BSLogoControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -1034,6 +1045,7 @@
|
||||
<Compile Include="ViewModel\ListViewModel\GkvAbrechnungListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\PreisListVM.cs" />
|
||||
<Compile Include="ViewModel\GkvAbrechnungVM.cs" />
|
||||
<Compile Include="ViewModel\PlatzhalterVM.cs" />
|
||||
<Compile Include="ViewModel\PreisVM.cs" />
|
||||
<Compile Include="ViewModel\PrintSelectionVM.cs" />
|
||||
<Compile Include="ViewModel\QuittierungsbelegsstatusVM.cs" />
|
||||
@@ -1127,6 +1139,9 @@
|
||||
<Compile Include="ViewModel\OrganisationPersonRelationVM.cs" />
|
||||
<Compile Include="ViewModel\TextModuleVM.cs" />
|
||||
<Compile Include="ViewModel\VerordnungslistenVM.cs" />
|
||||
<Compile Include="View\HilfeplanImportView.xaml.cs">
|
||||
<DependentUpon>HilfeplanImportView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\BeWoWindowBuilder.cs" />
|
||||
<Compile Include="View\Controls\DPCtrlEmployeeContractTooltip.xaml.cs">
|
||||
<DependentUpon>DPCtrlEmployeeContractTooltip.xaml</DependentUpon>
|
||||
@@ -2671,392 +2686,392 @@
|
||||
<ItemGroup>
|
||||
<PublishFile Include="Blacklight.Wpf.Controls">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Charts.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v23.2.Linq">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Office.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.PivotGrid.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Printing.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.RichEdit.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.RichEdit.v23.2.Export">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Sparkline.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Utils.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Accordion.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Charts.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Core.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Docking.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Layout.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Mvvm.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Ribbon.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Scheduler.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2013.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraBars.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraCharts.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraEditors.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraNavBar.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPivotGrid.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPrinting.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraReports.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v23.2.Reporting">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraTreeList.v23.2">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
</ItemGroup>
|
||||
@@ -3193,6 +3208,9 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Ressources\Icons\BoyAndGirl.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Ressources\Icons\chatbot.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
|
||||
@@ -49,8 +49,8 @@ namespace BeWo
|
||||
public static LoginControl LoginControl;
|
||||
|
||||
public static MainControl MainControl;
|
||||
public static string ShortVersion = "3.20";
|
||||
public static string Version = "Version 3.20.2";
|
||||
public static string ShortVersion = "3.21";
|
||||
public static string Version = "Version 3.21";
|
||||
|
||||
public static int RenderTier = 0;
|
||||
|
||||
@@ -505,7 +505,10 @@ namespace BeWo
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.ShowHilfeplanStatistikReport);
|
||||
AppSettings.ShowHilfeplanStatistikReport = val != null && val.Equals("1");
|
||||
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.MoKSessionTimeout);
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.ShowAI);
|
||||
AppSettings.ShowAI = val != null && val.Equals("1");
|
||||
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.MoKSessionTimeout);
|
||||
if(int.TryParse(val, out var sessionTimeout))
|
||||
{
|
||||
AppSettings.MoKSessionTimeout = sessionTimeout;
|
||||
@@ -523,6 +526,10 @@ namespace BeWo
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.ShowImportAbschlagszahlungen);
|
||||
AppSettings.ShowImportAbschlagszahlungen = val != null && val.Equals("1");
|
||||
|
||||
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.ShowPersehImport);
|
||||
AppSettings.ShowPersehImport = val != null && val.Equals("1");
|
||||
|
||||
|
||||
|
||||
switch (_Mandator.BeWoClientType)
|
||||
{
|
||||
@@ -584,6 +591,7 @@ namespace BeWo
|
||||
showDienstplanung = true;
|
||||
showHilfeplanBezeichnung = true;
|
||||
AppSettings.AllowStorno = true;
|
||||
AppSettings.ShowAI = true;
|
||||
//showInfoButtonInCalender = true;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -445,10 +445,15 @@ namespace BeWo.Core.Config
|
||||
|
||||
public bool ShowHilfeplanStatistikReport { get; set; }
|
||||
|
||||
public bool ShowAI { get; set; }
|
||||
|
||||
public bool AllowGkvAbrechnung { get; set; }
|
||||
|
||||
public bool ShowImportAbschlagszahlungen { get; set; }
|
||||
|
||||
public bool ShowPersehImport { get; set; }
|
||||
|
||||
|
||||
private SchedulerViewType _SchedulerViewType;
|
||||
public SchedulerViewType SchedulerViewType
|
||||
{
|
||||
|
||||
BIN
BeWo/Ressources/Icons/chatbot.png
Normal file
BIN
BeWo/Ressources/Icons/chatbot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
File diff suppressed because it is too large
Load Diff
@@ -46,6 +46,14 @@ namespace BeWo.View
|
||||
return beWoWindow;
|
||||
}
|
||||
|
||||
public static BeWoWindow GetBeWoWindow(String title, Control control, double height = 600, double width = 1200)
|
||||
{
|
||||
var beWoWindow = GetGenericBeWoWindow(title, 100, height, 1000, 100, width, 1600);
|
||||
beWoWindow.GroupBoxContent = control;
|
||||
|
||||
return beWoWindow;
|
||||
}
|
||||
|
||||
public static void ShowErrorMessageBox(string text)
|
||||
{
|
||||
MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.Detail.SupportConceptView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
@@ -931,10 +931,10 @@
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox x:Name="chkShowSelectedGoals" IsThreeState="False" Grid.Column="0" Margin="3,0,10,0" VerticalAlignment="Center" Content="Nur ausgewählte Elemente anzeigen" Checked="ChkShowSelectedGoals_OnChecked" Unchecked="ChkShowSelectedGoals_OnUnchecked"/>
|
||||
<dxe:TextEdit Margin="3,3,7,3" Grid.Column="1"
|
||||
Height="23"
|
||||
@@ -942,7 +942,11 @@
|
||||
NullText="Suche..."
|
||||
ShowNullText="True" EditValueChanged="TxtSearchGoals_OnEditValueChanged">
|
||||
</dxe:TextEdit>
|
||||
<!--<Label x:Name="SearchFieldLabel" Grid.Column="1" Content="Suche" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<Button Margin="3 0 0 0" Grid.Column="2"
|
||||
ToolTip="{markup:Translate Klicken Sie hier um Ziele aus einem bestehenden Dokument zu importieren}"
|
||||
Name="ButtenImport" Click="ButtenImport_Click"
|
||||
HorizontalAlignment="Left" Content="{markup:Translate Ziele importieren}" />
|
||||
<!--<Label x:Name="SearchFieldLabel" Grid.Column="1" Content="Suche" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<TextBox x:Name="cbtv_search" Grid.Column="2" Margin="3" Height="23" Template="{StaticResource SearchBoxTemplate}" HorizontalAlignment="Stretch" />-->
|
||||
</Grid>
|
||||
|
||||
|
||||
@@ -85,6 +85,12 @@ namespace BeWo.View.Detail
|
||||
InitializeComponent();
|
||||
ViewModel = pViewModel;
|
||||
//tabitem_goalsNeu.Visibility = Visibility.Collapsed;
|
||||
|
||||
if (!BeWoApp.AppSettings.ShowPersehImport || !BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_ImportData))
|
||||
{
|
||||
ButtenImport.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConceptView_AllowArchiving))
|
||||
{
|
||||
lblArchiviert.Visibility = Visibility.Hidden;
|
||||
@@ -1950,7 +1956,19 @@ namespace BeWo.View.Detail
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ButtenImport_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var ctrl = new HilfeplanImportView(this.ViewModel.DataContract.SupportConceptOid);
|
||||
|
||||
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Importiere Hilfeplan"), ctrl, this.Height, this.Width);
|
||||
|
||||
ctrl.CloseButtonClicked += () => beWoWindow.Close();
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
|
||||
ReloadViewModel(this.ViewModel.DataContract.SupportConceptOid.Value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class ValueListEntryTypeToColorConverter : IValueConverter
|
||||
|
||||
@@ -306,6 +306,7 @@
|
||||
</TransformGroup>
|
||||
</Image.RenderTransform>
|
||||
</Image>
|
||||
|
||||
<TextBox x:Name="txtTimeRecording" Text="{markup:Translate Zeiterfassung}" Margin="10,0,0,0" Background="{x:Null}"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}" FontSize="22"
|
||||
BorderBrush="{x:Null}" VerticalAlignment="Stretch" BorderThickness="0,0,0,0"
|
||||
@@ -383,7 +384,8 @@
|
||||
x:Name="multiEmployeeControl" Width="250" MinHeight="100" MaxHeight="200" VerticalAlignment="Top"
|
||||
Visibility="Collapsed" />
|
||||
<Button x:Name="ButtonZeiterfassungErstellen" Margin="0,65,0,0" Height="22" Content="{markup:Translate Zeiterfassung erstellen}" Click="ButtonZeiterfassungErstellen_Click" HorizontalAlignment="Left" VerticalAlignment="Bottom" Visibility="Visible" ToolTip="{markup:Translate Zeiterfassung wird gemäß der hinterlegten Betreuungszeiten erstellt\, falls noch nicht vorhanden}"></Button>
|
||||
<TextBlock x:Name="ButtonStatistics" HorizontalAlignment="Center" Width="Auto" Margin="5,2,0,0" Grid.Column="2" Visibility="{Binding StatisticsButtonVisible, Converter={StaticResource BoolVisibilityConverter}}" PreviewMouseLeftButtonDown="PrintStatistics" ToolTip="{markup:Translate Statistik anzeigen}">
|
||||
<StackPanel Grid.Column="2" Orientation="Horizontal">
|
||||
<TextBlock x:Name="ButtonStatistics" HorizontalAlignment="Left" Width="Auto" Margin="5,2,0,0" Visibility="{Binding StatisticsButtonVisible, Converter={StaticResource BoolVisibilityConverter}}" PreviewMouseLeftButtonDown="PrintStatistics" ToolTip="{markup:Translate Statistik anzeigen}">
|
||||
<Hyperlink NavigateUri="https://www.bewoplaner.de" TargetName="newWindow" Foreground="Transparent" >
|
||||
|
||||
<Image HorizontalAlignment="Left" Source="..\..\..\Ressources\Icons\ChartBarDisabled.png"
|
||||
@@ -393,6 +395,17 @@
|
||||
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBlock x:Name="ButtonOpenAiChat" HorizontalAlignment="Left" Width="Auto" Margin="5,2,0,0" Grid.Column="2" Visibility="{Binding OpenAiChatButtonVisible, Converter={StaticResource BoolVisibilityConverter}}" PreviewMouseLeftButtonDown="OpenAiChat">
|
||||
<Hyperlink NavigateUri="https://www.bewoplaner.de" TargetName="newWindow" Foreground="Transparent" >
|
||||
|
||||
<Image HorizontalAlignment="Left" Source="..\..\..\Ressources\Icons\chatbot.png" Width="48" Height="48"
|
||||
Style="{StaticResource toolbarImageStyle}" >
|
||||
|
||||
</Image>
|
||||
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
<Grid Grid.Row="0" VerticalAlignment="Top" Margin="13,1,0,0" Grid.Column="3" Visibility="{Binding HasStatistics, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='false'}">
|
||||
<ScrollViewer VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto">
|
||||
<Grid x:Name="StatisticInfoGrid">
|
||||
|
||||
@@ -50,6 +50,7 @@ using Size = System.Windows.Size;
|
||||
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
|
||||
using VerticalAlignment = System.Windows.VerticalAlignment;
|
||||
using DependencyObject = System.Windows.DependencyObject;
|
||||
using BeWo.AI.View;
|
||||
|
||||
namespace BeWo.View.Detail.Zeiterfassung
|
||||
{
|
||||
@@ -5018,6 +5019,39 @@ namespace BeWo.View.Detail.Zeiterfassung
|
||||
BeWoUtils.NavigateToReportUri(url, "Druckvorschau");
|
||||
}
|
||||
|
||||
private void OpenAiChat(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
|
||||
var node = ViewModel.SelectedCustomerNode;
|
||||
long c2sOid = 0;
|
||||
|
||||
if (node != null && node.SupportConceptTreeNodeDC != null && node.SupportConceptTreeNodeDC.SupportConceptCostBearerRelDC != null)
|
||||
{
|
||||
c2sOid = node.SupportConceptTreeNodeDC.SupportConceptCostBearerRelDC.CostBearer2SupportConceptOid.Value;
|
||||
}
|
||||
|
||||
var sr = ViewModel.ServiceRecordsForSelectedCustomer;
|
||||
|
||||
var earliestStartDate = sr.Any() ? sr.OrderBy(o => o.StartDate).First().StartDate : DateTime.Now;
|
||||
var latestEndDate = sr.Any()
|
||||
? sr.OrderByDescending(o => o.EndDate).First().EndDate
|
||||
: DateTime.Now.AddSeconds(1);
|
||||
|
||||
if (latestEndDate.Hour == 0 && latestEndDate.Minute == 0 && latestEndDate.Second == 1)
|
||||
{
|
||||
latestEndDate = latestEndDate.AddHours(23);
|
||||
latestEndDate = latestEndDate.AddMinutes(59);
|
||||
}
|
||||
|
||||
var ctrl = new AiChatView(c2sOid, earliestStartDate, latestEndDate);
|
||||
|
||||
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Frage unsere KI"), ctrl, Math.Min(800, this.ActualHeight), Math.Min(1200, this.ActualWidth));
|
||||
|
||||
ctrl.CloseButtonClicked += () => beWoWindow.Close();
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
|
||||
}
|
||||
private void multiSupportConceptControl_ListChanged(object sender, EventArgs<IList<CompactSupportConceptDC>> e)
|
||||
{
|
||||
ViewModel.UpdateGroupServiceAccountings(e.Data);
|
||||
|
||||
99
BeWo/View/HilfeplanImportView.xaml
Normal file
99
BeWo/View/HilfeplanImportView.xaml
Normal file
@@ -0,0 +1,99 @@
|
||||
<view:BeWoView x:Class="BeWo.View.HilfeplanImportView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:validation="clr-namespace:BeWo.Validation"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
|
||||
mc:Ignorable="d" VerticalAlignment="Stretch" Focusable="True">
|
||||
<view:BeWoView.Resources>
|
||||
<!--<Expander x:Name="ExpanderTemplate" IsExpanded="True">
|
||||
<Expander.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="14" Margin="0" />
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
</Expander>-->
|
||||
</view:BeWoView.Resources>
|
||||
<Grid Margin="0" Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label Content="{t:Translate Bitte wählen Sie das zu importierende PDF Dokument aus}"></Label>
|
||||
<controls:PopUpEdit IsReadOnly="True" Name="popupedit_file" Grid.Column="1" Margin="0,0,0,0" Height="23" Width="250" Grid.Row="0" HorizontalAlignment="Left" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_file_PopUpClick" />
|
||||
<Button x:Name="ButtonImport" Grid.Column="2" Margin="5,0,0,0" Height="22" Content="Datei auslesen" Click="ButtonImport_Click" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="Visible" ></Button>
|
||||
</Grid>
|
||||
<GroupBox x:Name="GroupBoxMain" Grid.Row="1" Margin="5" Header="{t:Translate Inhalt des Dokuments}" Style="{StaticResource ObjectEditGroupBox}" Visibility="Hidden">
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackPanel x:Name="PanelGruppen" Grid.Row="0">
|
||||
</StackPanel>
|
||||
<Expander x:Name="GridZiele" IsExpanded="True" Grid.Row="1" Margin="5">
|
||||
<Expander.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label HorizontalAlignment="Left" VerticalAlignment="Center" Content="{t:Translate Zielplanung}" FontSize="14" Margin="0" />
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
<TreeView x:Name="treeview_Goals" Margin="3 3 7 3" Padding="5 5 10 5"
|
||||
ItemContainerStyle="{DynamicResource goal_treeitemstyle}"
|
||||
ItemTemplate="{DynamicResource goal_treeitemtemplate}" Grid.RowSpan="1" MinHeight="100"
|
||||
VirtualizingStackPanel.IsVirtualizing="False">
|
||||
<TreeView.Resources>
|
||||
<Style x:Key="goal_treeitemstyle" TargetType="TreeViewItem">
|
||||
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded, Mode=TwoWay}" />
|
||||
</Style>
|
||||
<HierarchicalDataTemplate x:Key="goal_treeitemtemplate" DataType="{x:Type view:GoalTreeItem}" ItemsSource="{Binding Path=Children}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox Margin="0,0,0,0" Cursor="Arrow" Background="Transparent" Height="21" Padding="0,3,0,0" VerticalAlignment="Center" BorderThickness="0"
|
||||
IsReadOnly="True" Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" Focusable="False" FontSize="13">
|
||||
</TextBox>
|
||||
|
||||
</Grid>
|
||||
</HierarchicalDataTemplate>
|
||||
</TreeView.Resources>
|
||||
</TreeView>
|
||||
</Expander>
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</GroupBox>
|
||||
|
||||
<StackPanel Grid.ColumnSpan="3" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center" Height="Auto" Margin="5,10,10,10" HorizontalAlignment="Right">
|
||||
<Button x:Name="btnSave" Content="{t:Translate Daten übernehmen}" Margin="0,0,3,0" Height="25" Click="btnSave_Click" />
|
||||
<Button x:Name="btnClose" Content=" Abbrechen " Margin="0,0,3,0" Height="25" Click="btnClose_Click"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
268
BeWo/View/HilfeplanImportView.xaml.cs
Normal file
268
BeWo/View/HilfeplanImportView.xaml.cs
Normal file
@@ -0,0 +1,268 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
|
||||
using BeWo.Annotations;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.Validation;
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
|
||||
namespace BeWo.View
|
||||
{
|
||||
public partial class HilfeplanImportView : INotifyPropertyChanged
|
||||
{
|
||||
private HilfeplanImportDC _ViewModel;
|
||||
private String _UploadFileName;
|
||||
private long? _SupportConceptOid;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public event Action CloseButtonClicked;
|
||||
|
||||
private HilfeplanImportDC ViewModel
|
||||
{
|
||||
get { return _ViewModel; }
|
||||
set
|
||||
{
|
||||
DataContext = value;
|
||||
_ViewModel = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public HilfeplanImportView(long? supportConceptOid)
|
||||
{
|
||||
InitializeComponent();
|
||||
_SupportConceptOid = supportConceptOid;
|
||||
ClearControls();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void ReloadViewModel(HilfeplanImportDC dc)
|
||||
{
|
||||
this.ViewModel = dc;
|
||||
|
||||
ClearControls();
|
||||
UpdateControls(dc);
|
||||
}
|
||||
|
||||
private void ClearControls()
|
||||
{
|
||||
PanelGruppen.Children.Clear();
|
||||
treeview_Goals.ItemsSource = null;
|
||||
|
||||
}
|
||||
|
||||
private void UpdateControls(HilfeplanImportDC dc)
|
||||
{
|
||||
if (dc.Gruppen != null)
|
||||
{
|
||||
foreach (var gruppe in dc.Gruppen)
|
||||
{
|
||||
ErstelleGruppe(gruppe);
|
||||
}
|
||||
}
|
||||
|
||||
if (dc.Ziele != null)
|
||||
{
|
||||
ErstelleTreeView(dc.Ziele);
|
||||
}
|
||||
GroupBoxMain.Visibility = Visibility.Visible;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ErstelleGruppe(HilfeplanImportItemDC gruppe)
|
||||
{
|
||||
var expander = new Expander();
|
||||
expander.Margin = new Thickness(5);
|
||||
expander.FontSize = 14;
|
||||
expander.Header = gruppe.Label;
|
||||
expander.IsExpanded = true;
|
||||
|
||||
|
||||
var itemGrid = new Grid();
|
||||
|
||||
//itemGrid.FontWeight = FontWeights.Normal;
|
||||
itemGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
itemGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
|
||||
expander.Content = itemGrid;
|
||||
|
||||
if (gruppe.Items != null)
|
||||
{
|
||||
foreach (var item in gruppe.Items)
|
||||
{
|
||||
itemGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
|
||||
|
||||
var label = new System.Windows.Controls.Label();
|
||||
label.FontSize = 12;
|
||||
label.Margin = new Thickness(3);
|
||||
label.Content = item.Label;
|
||||
label.SetValue(Grid.ColumnProperty, 0);
|
||||
label.SetValue(Grid.RowProperty, itemGrid.RowDefinitions.Count - 1);
|
||||
|
||||
var txt = new System.Windows.Controls.TextBox();
|
||||
txt.FontSize = 12;
|
||||
txt.Margin = new Thickness(3);
|
||||
txt.Text = item.Content;
|
||||
txt.MinWidth = 300;
|
||||
txt.SetValue(Grid.ColumnProperty, 1);
|
||||
txt.SetValue(Grid.RowProperty, itemGrid.RowDefinitions.Count - 1);
|
||||
txt.Tag = item;
|
||||
|
||||
itemGrid.Children.Add(label);
|
||||
itemGrid.Children.Add(txt);
|
||||
}
|
||||
}
|
||||
PanelGruppen.Children.Add(expander);
|
||||
}
|
||||
|
||||
private void ErstelleTreeView(IList<HilfeplanImportZielDC> ziele)
|
||||
{
|
||||
var treeItems = new BindingList<GoalTreeItem>();
|
||||
|
||||
foreach (var item in ziele)
|
||||
{
|
||||
GoalTreeItem ziel = new GoalTreeItem { Name = item.ZielName, Notice = item.ZielBeschreibung };
|
||||
|
||||
GoalTreeItem parent = treeItems.Where(i => i.Name == item.Bereich).FirstOrDefault();
|
||||
if (parent == null)
|
||||
{
|
||||
parent = new GoalTreeItem();
|
||||
parent.Name = item.Bereich;
|
||||
treeItems.Add(parent);
|
||||
}
|
||||
parent.Children.Add(ziel);
|
||||
}
|
||||
treeview_Goals.ItemsSource = treeItems;
|
||||
}
|
||||
|
||||
private void popupedit_file_PopUpClick(object sender, RoutedEventArgs ev)
|
||||
{
|
||||
var dlg = new OpenFileDialog();
|
||||
|
||||
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
_UploadFileName = dlg.FileName;
|
||||
|
||||
popupedit_file.Text = dlg.SafeFileName;
|
||||
ButtonImport.IsEnabled = true;
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void ButtonImport_Click(object sender, RoutedEventArgs pe)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(popupedit_file.Text))
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
var upload = new ProgressStream(File.OpenRead(_UploadFileName));
|
||||
//upload.ProgressChanged += (s, e) => Dispatcher.BeginInvoke(
|
||||
// DispatcherPriority.Normal,
|
||||
// (Action)(() =>
|
||||
// {
|
||||
// progressbar_upload.Value = e.Data;
|
||||
// text_progress.Content = string.Format("Bitte warten... {0:00}%", e.Data * 100);
|
||||
// }));
|
||||
long oid = 0;
|
||||
|
||||
var lUlPackage = new UploadPackage(null, 0, _UploadFileName, null, 0, 0, upload);
|
||||
|
||||
ServiceFacade.DoStreamingServiceAsync(
|
||||
s => s.UploadPersehFile(lUlPackage),
|
||||
r => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
upload.Dispose();
|
||||
if (r.HilfeplanImportData != null)
|
||||
{
|
||||
ReloadViewModel(r.HilfeplanImportData);
|
||||
}
|
||||
|
||||
}),
|
||||
() => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
|
||||
upload.Dispose();
|
||||
}));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void btnSave_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ViewModel.SupportConceptOid = _SupportConceptOid;
|
||||
|
||||
var result = ServiceFacade.DoCustomerServiceSync(s => s.ImportSupportConcept(ViewModel));
|
||||
if (!String.IsNullOrEmpty(result))
|
||||
{
|
||||
MessageBox.Show(result, "Import", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
CloseButtonClicked?.Invoke();
|
||||
}
|
||||
|
||||
private void btnClose_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CloseButtonClicked?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public class GoalTreeItem
|
||||
{
|
||||
private BindingList<GoalTreeItem> _Children;
|
||||
|
||||
public GoalTreeItem() { }
|
||||
|
||||
public bool IsHidden { get; set; }
|
||||
|
||||
public String Name { get; set; }
|
||||
|
||||
public String Notice { get; set; }
|
||||
|
||||
public BindingList<GoalTreeItem> Children
|
||||
{
|
||||
get => _Children ?? (_Children = new BindingList<GoalTreeItem>());
|
||||
set => _Children = value;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -98,7 +98,8 @@
|
||||
</Border>
|
||||
<StackPanel Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Stretch" Height="40" Margin="5,10,0,0">
|
||||
<Button x:Name="btnNew" Content="Neu" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="3,0,0,0" Click="btnNew_Click" />
|
||||
<Button x:Name="btnCopy" Visibility="Collapsed" Content="Kopieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnCopy_Click" />
|
||||
<Button x:Name="btnImport" Visibility="Collapsed" Content="Importieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="3,0,0,0" Click="btnImport_Click" />
|
||||
<Button x:Name="btnCopy" Visibility="Collapsed" Content="Kopieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnCopy_Click" />
|
||||
<Button x:Name="btnEdit" Content="Öffnen" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnEdit_Click" />
|
||||
<Button x:Name="btnArchive" Content="Archivieren" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnArchive_Click" />
|
||||
<Button x:Name="btnDelete" Content="Löschen" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnDelete_Click" />
|
||||
|
||||
@@ -90,6 +90,8 @@ namespace BeWo.View.Navigation
|
||||
|
||||
public delegate void CreateNewObjectDelegate();
|
||||
|
||||
public delegate void ImportObjectsDelegate();
|
||||
|
||||
public delegate bool DeleteObjectDelegate(IFilterableDC obj);
|
||||
|
||||
public delegate void OpenObjectDelegate(IFilterableDC obj);
|
||||
@@ -104,6 +106,8 @@ namespace BeWo.View.Navigation
|
||||
|
||||
public event CreateNewObjectDelegate CreateNewObject;
|
||||
|
||||
public event ImportObjectsDelegate ImportObjects;
|
||||
|
||||
public event DeleteObjectDelegate DeleteObject;
|
||||
|
||||
public event EventHandler<EventArgs<IEnumerable<IFilterableDC>>> ExcelExport;
|
||||
@@ -197,6 +201,28 @@ namespace BeWo.View.Navigation
|
||||
}
|
||||
}
|
||||
|
||||
public bool ImportButtonVisible
|
||||
{
|
||||
get
|
||||
{
|
||||
return btnImport.Visibility == Visibility.Visible;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
btnImport.Visibility = value ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
//[TypeConverter(typeof(UserRightTypeArrayConverter))]
|
||||
//public UserRightType[] ImportDemands
|
||||
//{
|
||||
// set
|
||||
// {
|
||||
// DemandUserRight.SetVisibleDemands(btnImport, value);
|
||||
// }
|
||||
//}
|
||||
|
||||
public bool DeleteButtonVisible
|
||||
{
|
||||
get
|
||||
@@ -567,7 +593,15 @@ namespace BeWo.View.Navigation
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCopy_Click(object sender, RoutedEventArgs e)
|
||||
private void btnImport_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ImportObjects != null)
|
||||
{
|
||||
ImportObjects();
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCopy_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (CopyObject != null)
|
||||
{
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
ExcelExport="mainNavigationView_ExcelExport"
|
||||
Print="mainNavigationView_Print"
|
||||
CopyObject="MainNavigation_CopyObject"
|
||||
ImportObjects="MainNavigationView_OnImportObjects"
|
||||
ShowDetailsPanel="True"
|
||||
DetailPanelItemTemplate="{StaticResource SupportConceptDetailInfoTemplate}"
|
||||
ContentGroupStyle="{StaticResource SupportConceptNavigationStyle}"
|
||||
|
||||
@@ -186,6 +186,11 @@ namespace BeWo.View.Navigation
|
||||
{
|
||||
mainNavigationView.btnCopy.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.SupportConcept_ImportData))
|
||||
{
|
||||
mainNavigationView.btnImport.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
private void SupportConceptFilterComboBoxOnSelectionChanged(object o, SelectionChangedEventArgs selectionChangedEventArgs)
|
||||
@@ -506,5 +511,18 @@ namespace BeWo.View.Navigation
|
||||
//ServiceFacade.DoCustomerServiceAsync(s2 => s2.InsertNewSupportConcept(copy), l => this.Dispatch(() => ReloadData(true)));
|
||||
});
|
||||
}
|
||||
|
||||
private void MainNavigationView_OnImportObjects()
|
||||
{
|
||||
var ctrl = new HilfeplanImportView(null);
|
||||
|
||||
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Importiere Hilfeplan"), ctrl, this.Height, this.Width);
|
||||
|
||||
ctrl.CloseButtonClicked += () => beWoWindow.Close();
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
|
||||
ReloadData(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -335,6 +335,7 @@ namespace BeWo.ViewModel.ListViewModel
|
||||
FirePropertyChanged(PropertyName_Statistics);
|
||||
FirePropertyChanged("HasStatistics");
|
||||
FirePropertyChanged("StatisticsButtonVisible");
|
||||
FirePropertyChanged("OpenAiChatButtonVisible");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -348,6 +349,11 @@ namespace BeWo.ViewModel.ListViewModel
|
||||
get { return BeWoApp.AppSettings.ShowHilfeplanStatistikReport && SelectedCustomerNode != null && SelectedCustomerNode.SupportConceptTreeNodeDC != null; }
|
||||
}
|
||||
|
||||
public bool OpenAiChatButtonVisible
|
||||
{
|
||||
get { return BeWoApp.AppSettings.ShowAI && (BeWoApp.LoggedOnUser.HasRight(UserRightType.AiChatInZeiterfassung)) && SelectedCustomerNode != null && SelectedCustomerNode.SupportConceptTreeNodeDC != null; }
|
||||
}
|
||||
|
||||
public ServiceRecordTimeInterval ServiceRecordTimeInterval
|
||||
{
|
||||
get { return _ServiceRecordTimeInterval; }
|
||||
|
||||
@@ -1613,7 +1613,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
foreach (var item in goals)
|
||||
{
|
||||
if (!oid2Entry.ContainsKey(item.ValueListEntryOid.Value))
|
||||
if (item.ValueListEntryOid.HasValue && !oid2Entry.ContainsKey(item.ValueListEntryOid.Value))
|
||||
{
|
||||
oid2Entry.Add(item.ValueListEntryOid.Value, item);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,13 @@ namespace BeWo.ViewModel
|
||||
{
|
||||
if (!IsUnterschriftRight(r))
|
||||
{
|
||||
possibleRights.Add(r);
|
||||
if (r != UserRightType.SupportConcept_ImportData || BeWoApp.AppSettings.ShowPersehImport)
|
||||
{
|
||||
if (r != UserRightType.AiChatInZeiterfassung || BeWoApp.AppSettings.ShowAI)
|
||||
{
|
||||
possibleRights.Add(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,7 +388,7 @@ namespace BeWo.Data.Access
|
||||
var max = ende.Date.AddDays(1);
|
||||
|
||||
c.Add(Restrictions.Ge(ServiceRecord.PropertyName_Start, start.Date))
|
||||
.Add(Restrictions.Lt(ServiceRecord.PropertyName_End, max.Date));
|
||||
.Add(Restrictions.Lt(ServiceRecord.PropertyName_Start, max.Date));
|
||||
|
||||
|
||||
return c.List<ServiceRecord>().ToList();
|
||||
|
||||
@@ -152,6 +152,10 @@ namespace BeWo.Data.Security
|
||||
return "3.19";
|
||||
}
|
||||
|
||||
if (r == UserRightType.SupportConcept_ImportData || r == UserRightType.AiChatInZeiterfassung)
|
||||
{
|
||||
return "3.21";
|
||||
}
|
||||
return "1.0";
|
||||
}
|
||||
|
||||
|
||||
@@ -1317,6 +1317,10 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
|
||||
{
|
||||
if (sr.Start.Value.Year == 2023 && sr.Start.Value.Month == 10 && sr.Start.Value.Day == 3)
|
||||
{
|
||||
int test = 0;
|
||||
}
|
||||
var dd = dayToDetail[sr.Start.Value.Day];
|
||||
|
||||
if (!IsServiceRecordFehlzeit(sr) && AddServiceRecordToDuration(sr))
|
||||
|
||||
@@ -368,11 +368,28 @@ namespace BeWo.Report.ReportObjects
|
||||
}
|
||||
|
||||
detail.Goals = "";
|
||||
detail.Ziele = "";
|
||||
detail.Massnahmen = "";
|
||||
|
||||
foreach (var goal in sortedGoals)
|
||||
{
|
||||
if (detail.Goals.Length > 0)
|
||||
detail.Goals += ", ";
|
||||
detail.Goals += goal.TypeDescription;
|
||||
|
||||
if (goal.Type == ValueListEntryType.SupportConceptGoalType || goal.Type == ValueListEntryType.SupportConceptIndividualGoalType)
|
||||
{
|
||||
if (detail.Massnahmen.Length > 0)
|
||||
detail.Massnahmen += ", ";
|
||||
detail.Massnahmen += goal.TypeDescription;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (detail.Ziele.Length > 0)
|
||||
detail.Ziele += ", ";
|
||||
detail.Ziele += goal.TypeDescription;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -446,8 +463,15 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public DateTime? EndTime { get; set; }
|
||||
|
||||
//Goals enthält alle Ziele und Maßnahmen, mit komma getrennt hintereinander
|
||||
public string Goals { get; set; }
|
||||
|
||||
//enthält nur Ziele
|
||||
public string Ziele { get; set; }
|
||||
|
||||
//enthält nur Massnahmen
|
||||
public string Massnahmen { get; set; }
|
||||
|
||||
public List<string> GoalPaths { get; set; }
|
||||
|
||||
public string InsUser { get; set; }
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
@@ -87,7 +87,18 @@ namespace BloemelingUndTeckhaus
|
||||
IBeWoReport<ServiceInvoiceRO> singleReport = new ServiceInvoiceReport();
|
||||
if (iDC.ServiceInvoicePeriods.Count > 0)
|
||||
{
|
||||
var serviceCategory = iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory.Name.ToLower();
|
||||
String serviceCategory = "";
|
||||
if (iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod == null)
|
||||
{
|
||||
if (iDC.InvoiceBase.SupportConceptCostBearerRelDc.ApprovalPeriodList.Count == 1 && iDC.InvoiceBase.SupportConceptCostBearerRelDc.ApprovalPeriodList[0].ServiceCategory != null)
|
||||
{
|
||||
//serviceCategory = iDC.InvoiceBase.SupportConceptCostBearerRelDc.ApprovalPeriodList[0].ServiceCategory.Name.ToLower();
|
||||
}
|
||||
}
|
||||
else if (iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory != null)
|
||||
{
|
||||
serviceCategory = iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory.Name.ToLower();
|
||||
}
|
||||
if (serviceCategory.Contains("soziotherapie"))
|
||||
singleReport = new SoziotherapieRechnung();
|
||||
else if (serviceCategory.Contains("assistenz"))
|
||||
|
||||
@@ -258,6 +258,14 @@ namespace BloemelingUndTeckhaus
|
||||
{
|
||||
return DAOFactory.GenericDAO.LoadByID<Customer>(sip.Customer.CustomerOid);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pRO.InvoiceBase.SupportConceptOid.HasValue)
|
||||
{
|
||||
var sc = DAOFactory.GenericDAO.LoadByID<SupportConcept>(pRO.InvoiceBase.SupportConceptOid.Value);
|
||||
return sc.Customer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -40,6 +40,12 @@ namespace HPHBersenbrueck.Invoicing
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
|
||||
{
|
||||
if (iServiceRecord.ServiceDescription.Name.StartsWith("6 ") || iServiceRecord.ServiceDescription.Name.StartsWith("10 ") || iServiceRecord.ServiceDescription.Name.ToLower().Contains("unrefinanziert") ||
|
||||
iServiceRecord.ServiceDescription.Name.Contains("Fahr"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
ii.ItemDescription = iServiceRecord.ServiceDescription.CategoryName;
|
||||
if (ii.ItemDescription.StartsWith("Neu "))
|
||||
|
||||
724
ReportImp/PariSozial/AssistenzstundenReport.Designer.cs
generated
Normal file
724
ReportImp/PariSozial/AssistenzstundenReport.Designer.cs
generated
Normal file
@@ -0,0 +1,724 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace PariSozial
|
||||
{
|
||||
partial class AssistenzstundenReport
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
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.xrTableCell1 = 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.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.ruleRowVisible = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel29 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.formattingRuleServiceDesc = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblSummeMinuten = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.fieldAbrechenbareMinuten = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldBillableFLS = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldAbrechenbareFLS = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTableServiceRecords1});
|
||||
this.Detail.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.Detail.HeightF = 40F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.StylePriority.UseFont = false;
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrTableServiceRecords1
|
||||
//
|
||||
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(41.16669F, 0F);
|
||||
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
|
||||
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow2});
|
||||
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(650F, 40F);
|
||||
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
|
||||
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
|
||||
this.xrTableServiceRecords1.StylePriority.UseFont = false;
|
||||
this.xrTableServiceRecords1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableServiceRecords1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrTableRow2
|
||||
//
|
||||
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell3,
|
||||
this.xrTableCell4,
|
||||
this.xrTableCell11,
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell7,
|
||||
this.xrTableCell5});
|
||||
this.xrTableRow2.Name = "xrTableRow2";
|
||||
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.xrTableRow2.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableRow2.Weight = 1.25D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell3.StylePriority.UseBorders = false;
|
||||
this.xrTableCell3.StylePriority.UseFont = false;
|
||||
this.xrTableCell3.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell3.Text = "Datum";
|
||||
this.xrTableCell3.Weight = 0.20524816333368198D;
|
||||
//
|
||||
// xrTableCell4
|
||||
//
|
||||
this.xrTableCell4.Multiline = true;
|
||||
this.xrTableCell4.Name = "xrTableCell4";
|
||||
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell4.StylePriority.UseFont = false;
|
||||
this.xrTableCell4.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell4.Text = "Uhrzeit\r\nvon ..... bis";
|
||||
this.xrTableCell4.Weight = 0.25401997956299693D;
|
||||
//
|
||||
// xrTableCell11
|
||||
//
|
||||
this.xrTableCell11.Multiline = true;
|
||||
this.xrTableCell11.Name = "xrTableCell11";
|
||||
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell11.StylePriority.UseFont = false;
|
||||
this.xrTableCell11.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell11.Text = "Anzahl Minuten";
|
||||
this.xrTableCell11.Weight = 0.21661999388924277D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.Multiline = true;
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Text = "Tätigkeitszweck";
|
||||
this.xrTableCell1.Weight = 0.365788748861114D;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1});
|
||||
this.DetailReport.DataMember = "Services";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
this.DetailReport.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.DetailReport.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable3});
|
||||
this.Detail1.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.Detail1.HeightF = 30F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail1.StylePriority.UseFont = false;
|
||||
this.Detail1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// 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.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 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(650F, 30F);
|
||||
this.xrTable3.StylePriority.UseFont = false;
|
||||
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrTableRow6
|
||||
//
|
||||
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell13,
|
||||
this.xrTableCell14,
|
||||
this.xrTableCell15,
|
||||
this.xrTableCell2,
|
||||
this.xrTableCell8,
|
||||
this.xrTableCell6});
|
||||
this.xrTableRow6.FormattingRules.Add(this.ruleRowVisible);
|
||||
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.5D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
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.UseFont = false;
|
||||
this.xrTableCell13.StylePriority.UsePadding = false;
|
||||
this.xrTableCell13.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell13.Text = "xrTableCell13";
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell13.Weight = 0.10627102845134587D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell14.StylePriority.UseFont = false;
|
||||
this.xrTableCell14.StylePriority.UsePadding = false;
|
||||
this.xrTableCell14.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell14.Text = "xrTableCell14";
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell14.Weight = 0.13152356364414533D;
|
||||
//
|
||||
// xrTableCell15
|
||||
//
|
||||
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Minutes", "{0:0.##}")});
|
||||
this.xrTableCell15.Name = "xrTableCell15";
|
||||
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
|
||||
this.xrTableCell15.StylePriority.UseFont = false;
|
||||
this.xrTableCell15.StylePriority.UsePadding = false;
|
||||
this.xrTableCell15.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell15.Text = "xrTableCell15";
|
||||
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell15.Weight = 0.11215893165550706D;
|
||||
//
|
||||
// xrTableCell2
|
||||
//
|
||||
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceDescription")});
|
||||
this.xrTableCell2.Name = "xrTableCell2";
|
||||
this.xrTableCell2.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell2.Weight = 0.18939389467655621D;
|
||||
//
|
||||
// ruleRowVisible
|
||||
//
|
||||
this.ruleRowVisible.Condition = "(Not Contains([ServiceCategory], \'Assistenz\')) And (Not Contains([ServiceDescript" +
|
||||
"ion], \'Assistenz\'))";
|
||||
this.ruleRowVisible.DataMember = "Services";
|
||||
this.ruleRowVisible.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRowVisible.Name = "ruleRowVisible";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
|
||||
//
|
||||
// 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[] {
|
||||
this.xrLabel19,
|
||||
this.xrLabel10,
|
||||
this.xrLabel29,
|
||||
this.xrLabel25,
|
||||
this.xrLabel24,
|
||||
this.xrLabel23,
|
||||
this.xrLabel22,
|
||||
this.xrLabel21,
|
||||
this.xrLabel9,
|
||||
this.xrLabel20,
|
||||
this.xrLabel18,
|
||||
this.xrLabel14,
|
||||
this.xrLabel13,
|
||||
this.xrLabel12,
|
||||
this.xrLabel1});
|
||||
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.ReportHeader.HeightF = 336.1666F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel19
|
||||
//
|
||||
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(56.41683F, 109.375F);
|
||||
this.xrLabel19.Name = "xrLabel19";
|
||||
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel19.SizeF = new System.Drawing.SizeF(93.58321F, 18F);
|
||||
this.xrLabel19.StylePriority.UseFont = false;
|
||||
this.xrLabel19.Text = "Anbieter:";
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 296.4583F);
|
||||
this.xrLabel10.Name = "xrLabel10";
|
||||
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel10.SizeF = new System.Drawing.SizeF(62.99998F, 18F);
|
||||
this.xrLabel10.StylePriority.UseFont = false;
|
||||
this.xrLabel10.Text = "Monat:";
|
||||
//
|
||||
// xrLabel29
|
||||
//
|
||||
this.xrLabel29.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel29.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek")});
|
||||
this.xrLabel29.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrLabel29.LocationFloat = new DevExpress.Utils.PointFloat(372.5418F, 238F);
|
||||
this.xrLabel29.Name = "xrLabel29";
|
||||
this.xrLabel29.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel29.SizeF = new System.Drawing.SizeF(292.4999F, 25.00003F);
|
||||
this.xrLabel29.StylePriority.UseBorders = false;
|
||||
this.xrLabel29.StylePriority.UseFont = false;
|
||||
this.xrLabel29.TextFormatString = "{0:0.0#} Stunden";
|
||||
//
|
||||
// xrLabel25
|
||||
//
|
||||
this.xrLabel25.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReferenceNumber")});
|
||||
this.xrLabel25.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(372.5418F, 213F);
|
||||
this.xrLabel25.Name = "xrLabel25";
|
||||
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel25.SizeF = new System.Drawing.SizeF(292.5001F, 25F);
|
||||
this.xrLabel25.StylePriority.UseBorders = false;
|
||||
this.xrLabel25.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel24
|
||||
//
|
||||
this.xrLabel24.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerFirstName")});
|
||||
this.xrLabel24.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(372.5418F, 188F);
|
||||
this.xrLabel24.Name = "xrLabel24";
|
||||
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel24.SizeF = new System.Drawing.SizeF(292.5F, 25F);
|
||||
this.xrLabel24.StylePriority.UseBorders = false;
|
||||
this.xrLabel24.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel23
|
||||
//
|
||||
this.xrLabel23.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerLastName")});
|
||||
this.xrLabel23.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(372.5418F, 163F);
|
||||
this.xrLabel23.Name = "xrLabel23";
|
||||
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel23.SizeF = new System.Drawing.SizeF(292.4999F, 25F);
|
||||
this.xrLabel23.StylePriority.UseBorders = false;
|
||||
this.xrLabel23.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel22
|
||||
//
|
||||
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(150F, 109.375F);
|
||||
this.xrLabel22.Multiline = true;
|
||||
this.xrLabel22.Name = "xrLabel22";
|
||||
this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel22.SizeF = new System.Drawing.SizeF(515.0417F, 40.3333F);
|
||||
this.xrLabel22.StylePriority.UseBorders = false;
|
||||
this.xrLabel22.StylePriority.UseFont = false;
|
||||
this.xrLabel22.Text = "PariSozial - gemeinnützige Gesellschaft für Paritätische Sozialdienste mbH\r\nin de" +
|
||||
"r Stadt Mönchengladbach";
|
||||
//
|
||||
// xrLabel21
|
||||
//
|
||||
this.xrLabel21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Year")});
|
||||
this.xrLabel21.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(338.1668F, 296.4583F);
|
||||
this.xrLabel21.Name = "xrLabel21";
|
||||
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel21.SizeF = new System.Drawing.SizeF(225F, 18F);
|
||||
this.xrLabel21.StylePriority.UseBorders = false;
|
||||
this.xrLabel21.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Month")});
|
||||
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(104.1667F, 296.4583F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(161.125F, 18F);
|
||||
this.xrLabel9.StylePriority.UseBorders = false;
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel20
|
||||
//
|
||||
this.xrLabel20.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(284.9167F, 296.4583F);
|
||||
this.xrLabel20.Name = "xrLabel20";
|
||||
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel20.SizeF = new System.Drawing.SizeF(53.25014F, 18F);
|
||||
this.xrLabel20.StylePriority.UseFont = false;
|
||||
this.xrLabel20.Text = "Jahr:";
|
||||
//
|
||||
// xrLabel18
|
||||
//
|
||||
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 238F);
|
||||
this.xrLabel18.Name = "xrLabel18";
|
||||
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel18.SizeF = new System.Drawing.SizeF(288F, 25F);
|
||||
this.xrLabel18.StylePriority.UseFont = false;
|
||||
this.xrLabel18.Text = "Bewilligte Leistungsstunden / wöchentl.";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 213F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(288F, 25F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "Aktenzeichen Landschaftsverband: ";
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 188F);
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(288F, 25F);
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.Text = "Vorname Klient/in:";
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 163F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(288F, 25F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = "Name Klient/in:";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 14F, ((DevExpress.Drawing.DXFontStyle)((DevExpress.Drawing.DXFontStyle.Bold | DevExpress.Drawing.DXFontStyle.Underline))));
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(150F, 61.45833F);
|
||||
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(502.4166F, 25F);
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.Text = "Tätigkeitsnachweis Assistenzleistungen";
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// formattingRuleServiceDesc
|
||||
//
|
||||
this.formattingRuleServiceDesc.Condition = "[StartDate2] < [StartDate]";
|
||||
this.formattingRuleServiceDesc.DataMember = "ServicesDouble";
|
||||
this.formattingRuleServiceDesc.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.formattingRuleServiceDesc.Name = "formattingRuleServiceDesc";
|
||||
//
|
||||
// formattingRuleCostBearer
|
||||
//
|
||||
this.formattingRuleCostBearer.Condition = "[StartDate2] < [StartDate]";
|
||||
this.formattingRuleCostBearer.DataMember = "ServicesDouble";
|
||||
this.formattingRuleCostBearer.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.formattingRuleCostBearer.Name = "formattingRuleCostBearer";
|
||||
//
|
||||
// formattingRuleEmployeeName
|
||||
//
|
||||
this.formattingRuleEmployeeName.Condition = "[StartDate2] < [StartDate]";
|
||||
this.formattingRuleEmployeeName.DataMember = "ServicesDouble";
|
||||
this.formattingRuleEmployeeName.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.formattingRuleEmployeeName.Name = "formattingRuleEmployeeName";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.Font = new DevExpress.Drawing.DXFont("Times New Roman", 9.75F);
|
||||
this.topMarginBand1.HeightF = 50F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
this.topMarginBand1.StylePriority.UseFont = false;
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 30F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel7,
|
||||
this.xrLabel6,
|
||||
this.xrLabel5,
|
||||
this.lblSummeMinuten,
|
||||
this.xrLabel3});
|
||||
this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Arial", 11F);
|
||||
this.ReportFooter.HeightF = 108.75F;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(449.5834F, 90.74999F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(241.5833F, 17.99997F);
|
||||
this.xrLabel7.StylePriority.UseBorders = false;
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.Text = "Unterschrift Klient/in";
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(191.1667F, 90.74999F);
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(241.25F, 17.99997F);
|
||||
this.xrLabel6.StylePriority.UseBorders = false;
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Unterschrift Mitarbeiter/in";
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(41.16669F, 90.74999F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(133.9583F, 17.99997F);
|
||||
this.xrLabel5.StylePriority.UseBorders = false;
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.Text = "Datum";
|
||||
//
|
||||
// lblSummeMinuten
|
||||
//
|
||||
this.lblSummeMinuten.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.lblSummeMinuten.BorderWidth = 1F;
|
||||
this.lblSummeMinuten.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.lblSummeMinuten.LocationFloat = new DevExpress.Utils.PointFloat(229.5001F, 0F);
|
||||
this.lblSummeMinuten.Name = "lblSummeMinuten";
|
||||
this.lblSummeMinuten.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
|
||||
this.lblSummeMinuten.SizeF = new System.Drawing.SizeF(88.83F, 30F);
|
||||
this.lblSummeMinuten.StylePriority.UseBorders = false;
|
||||
this.lblSummeMinuten.StylePriority.UseBorderWidth = false;
|
||||
this.lblSummeMinuten.StylePriority.UseFont = false;
|
||||
this.lblSummeMinuten.StylePriority.UsePadding = false;
|
||||
this.lblSummeMinuten.StylePriority.UseTextAlignment = false;
|
||||
this.lblSummeMinuten.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrLabel3
|
||||
//
|
||||
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(70.66996F, 0F);
|
||||
this.xrLabel3.Multiline = true;
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(158.83F, 30F);
|
||||
this.xrLabel3.StylePriority.UseFont = false;
|
||||
this.xrLabel3.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel3.Text = "Summe";
|
||||
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// fieldAbrechenbareMinuten
|
||||
//
|
||||
this.fieldAbrechenbareMinuten.DataMember = "Services";
|
||||
this.fieldAbrechenbareMinuten.Expression = "Iif([IsBillable], [Minutes], 0)";
|
||||
this.fieldAbrechenbareMinuten.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldAbrechenbareMinuten.Name = "fieldAbrechenbareMinuten";
|
||||
//
|
||||
// fieldBillableFLS
|
||||
//
|
||||
this.fieldBillableFLS.Expression = "[TotalFLMBillable] / 60";
|
||||
this.fieldBillableFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldBillableFLS.Name = "fieldBillableFLS";
|
||||
//
|
||||
// fieldAbrechenbareFLS
|
||||
//
|
||||
this.fieldAbrechenbareFLS.Expression = "([TotalFLMBillable] / 60) * 1.2";
|
||||
this.fieldAbrechenbareFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldAbrechenbareFLS.Name = "fieldAbrechenbareFLS";
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.Multiline = true;
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Text = "Unterschrift\r\nKlient/in";
|
||||
this.xrTableCell5.Weight = 0.31174150625791663D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.Multiline = true;
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Weight = 0.16140998371105708D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.Multiline = true;
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Text = "Einsatzkraft";
|
||||
this.xrTableCell7.Weight = 0.23166620596447055D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeAbbr")});
|
||||
this.xrTableCell8.Multiline = true;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell8.Text = "xrTableCell8";
|
||||
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell8.Weight = 0.11994946282466618D;
|
||||
//
|
||||
// AssistenzstundenReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.DetailReport,
|
||||
this.ReportHeader,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.ReportFooter});
|
||||
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
|
||||
this.fieldAbrechenbareMinuten,
|
||||
this.fieldBillableFLS,
|
||||
this.fieldAbrechenbareFLS});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.formattingRuleStartDate,
|
||||
this.formattingRuleServiceDesc,
|
||||
this.formattingRuleCostBearer,
|
||||
this.formattingRuleEmployeeName,
|
||||
this.ruleRowVisible});
|
||||
this.Margins = new DevExpress.Drawing.DXMargins(31F, 75F, 50F, 30F);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
|
||||
this.SnapGridSize = 9F;
|
||||
this.Version = "23.2";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail1;
|
||||
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.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTableServiceRecords1;
|
||||
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 xrTableCell13;
|
||||
private DevExpress.XtraReports.UI.FormattingRule formattingRuleStartDate;
|
||||
private DevExpress.XtraReports.UI.FormattingRule formattingRuleServiceDesc;
|
||||
private DevExpress.XtraReports.UI.FormattingRule formattingRuleCostBearer;
|
||||
private DevExpress.XtraReports.UI.FormattingRule formattingRuleEmployeeName;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel20;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel21;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel29;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel22;
|
||||
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldAbrechenbareMinuten;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblSummeMinuten;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldBillableFLS;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldAbrechenbareFLS;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRowVisible;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
}
|
||||
}
|
||||
84
ReportImp/PariSozial/AssistenzstundenReport.cs
Normal file
84
ReportImp/PariSozial/AssistenzstundenReport.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using BeWo.Service.ServiceImplementations;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PariSozial
|
||||
{
|
||||
public partial class AssistenzstundenReport : XtraReport
|
||||
{
|
||||
public AssistenzstundenReport()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
double minTotal = 0;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
|
||||
{
|
||||
if (s.ServiceCategory.Contains("Assistenz") || s.ServiceDescription.Contains("Assistenz"))
|
||||
{
|
||||
minTotal += s.Minutes;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
bindingSource1.DataSource = pRO;
|
||||
// rechnungsDatum.Text = DateTime.Now.ToShortDateString();
|
||||
|
||||
lblSummeMinuten.Text = string.Format("{0:0.##}", minTotal);
|
||||
|
||||
var approved = pRO.ApprovedFLSPerWeek;
|
||||
|
||||
//var stats = GetStatistics(pRO);
|
||||
//if (stats != null)
|
||||
//{
|
||||
// approved = stats.MinutesApprovedPerWeek / 60;
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
private SupportConceptPeriodStatisticsDC GetStatistics(ServicesOverviewRO ro)
|
||||
{
|
||||
if (ro.CostBearer2SupportConceptList != null && ro.CostBearer2SupportConceptList.Count > 0)
|
||||
{
|
||||
var service = new OperationsServiceImp();
|
||||
|
||||
foreach (var cb2sc in ro.CostBearer2SupportConceptList)
|
||||
{
|
||||
long cb2scOid = cb2sc.Oid.Value;
|
||||
|
||||
|
||||
var stats = service.CreateSupportConceptStatistics(cb2scOid, ro.EndDate);
|
||||
|
||||
if (stats.PeriodStatistics != null && stats.PeriodStatistics.Count > 0)
|
||||
{
|
||||
foreach (var ps in stats.PeriodStatistics)
|
||||
{
|
||||
if (ps.SupportConceptApprovalPeriod != null && ps.SupportConceptApprovalPeriod.ServiceCategory != null &&
|
||||
ps.SupportConceptApprovalPeriod.ServiceCategory.Name.Contains("Assistenz"))
|
||||
{
|
||||
return ps;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
120
ReportImp/PariSozial/AssistenzstundenReport.resx
Normal file
120
ReportImp/PariSozial/AssistenzstundenReport.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
38
ReportImp/PariSozial/Invoicing/AssistenzInvoiceCreation.cs
Normal file
38
ReportImp/PariSozial/Invoicing/AssistenzInvoiceCreation.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace PariSozial.Invoicing
|
||||
{
|
||||
|
||||
public class CustomAssistenzInvoiceCreation : InvoiceCreation
|
||||
{
|
||||
public override void SetInvoiceId(ServiceInvoice invoice)
|
||||
{
|
||||
invoice.InvoiceBase.InvoiceId = "Assistenz";
|
||||
invoice.InvoiceBase.InvoiceTypeText = "Assistenzleistung";
|
||||
}
|
||||
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||
{
|
||||
if (!iServiceRecord.ServiceDescription.CategoryName.Contains("Assistenz"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
}
|
||||
|
||||
//public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
|
||||
// Calculations calc)
|
||||
//{
|
||||
// return itemList;
|
||||
//}
|
||||
}
|
||||
}
|
||||
42
ReportImp/PariSozial/Invoicing/CustomInvoiceFactory.cs
Normal file
42
ReportImp/PariSozial/Invoicing/CustomInvoiceFactory.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace PariSozial.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
foreach (var list in supportConcepts2ServiceRecords.Values)
|
||||
{
|
||||
|
||||
foreach (var sr in list)
|
||||
{
|
||||
var sd = sr.ServiceDescription.Category;
|
||||
var ic = GetInvoiceCreatorForCategory(sd);
|
||||
if (ic != null)
|
||||
return ic;
|
||||
}
|
||||
}
|
||||
|
||||
return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords);
|
||||
}
|
||||
|
||||
private InvoiceCreation GetInvoiceCreatorForCategory(ServiceCategoryDC sd)
|
||||
{
|
||||
if (sd != null && !String.IsNullOrEmpty(sd.Name))
|
||||
{
|
||||
String cat = sd.Name.ToLower().Trim();
|
||||
if (cat.IndexOf("assistenz") >= 0)
|
||||
{
|
||||
return new CustomAssistenzInvoiceCreation();
|
||||
}
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,15 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
|
||||
<Compile Include="AssistenzstundenReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="AssistenzstundenReport.Designer.cs">
|
||||
<DependentUpon>AssistenzstundenReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\AssistenzInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Invoicing\CustomSettlementInvoiceCreation.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -101,6 +109,9 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="AssistenzstundenReport.resx">
|
||||
<DependentUpon>AssistenzstundenReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
|
||||
namespace SHKService
|
||||
@@ -25,40 +27,48 @@ namespace SHKService
|
||||
// Im Programm ist es für die damit dann einfacher. Nur in der Hilfeplanübersicht und in der Mitarbeiterauslastung wollen sie nach wie vor allen in Stunden haben.
|
||||
// Daher werden die Werte hier, sollte das ein solcher Kostenträger sein, wieder auf den Stundenwert gesetzt.
|
||||
|
||||
foreach (var emp in pRO.EmployeeDetailList)
|
||||
{
|
||||
foreach (var supp in emp.SupportConceptDetailList)
|
||||
{
|
||||
if (supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods != null)
|
||||
{
|
||||
foreach (var crp in supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods)
|
||||
{
|
||||
if (crp.CostRateType == BS.Shared.CostRatePeriodType.MinutesPerServiceUnit && crp.CostRateValue == 1)
|
||||
{
|
||||
crp.CostRateValue = 60;
|
||||
foreach (var emp in pRO.EmployeeDetailList)
|
||||
{
|
||||
emp.FLSTotalHoursByContract *= 60;
|
||||
|
||||
// Erst Ursprungswerte vom Gesamten des Mitarbeiters abziehen
|
||||
emp.ApprovedHoursPerWeek -= supp.ApprovedHoursPerWeek;
|
||||
emp.ApprovedHoursPerWeekTotal -= supp.ApprovedHoursPerWeekTotal;
|
||||
emp.ApprovedHoursPerWeekWithRateFactor -= supp.ApprovedHoursPerWeekWithRateFactor;
|
||||
emp.ApprovedHoursPerWeekWithRateFactorTotal -= supp.ApprovedHoursPerWeekWithRateFactorTotal;
|
||||
|
||||
// Stundenwert draus machen
|
||||
supp.ApprovedHoursPerWeek *= 60;
|
||||
supp.ApprovedHoursPerWeekTotal *= 60;
|
||||
supp.ApprovedHoursPerWeekWithRateFactor *= 60;
|
||||
supp.ApprovedHoursPerWeekWithRateFactorTotal *= 60;
|
||||
|
||||
// Stundenwert wieder aufs Gesamt addieren
|
||||
emp.ApprovedHoursPerWeek += supp.ApprovedHoursPerWeek;
|
||||
emp.ApprovedHoursPerWeekTotal += supp.ApprovedHoursPerWeekTotal;
|
||||
emp.ApprovedHoursPerWeekWithRateFactor += supp.ApprovedHoursPerWeekWithRateFactor;
|
||||
emp.ApprovedHoursPerWeekWithRateFactorTotal += supp.ApprovedHoursPerWeekWithRateFactorTotal;
|
||||
}
|
||||
foreach (var supp in emp.SupportConceptDetailList)
|
||||
{
|
||||
var tes2t = supp.ApprovedHoursPerWeek;
|
||||
foreach (var test in supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods)
|
||||
{
|
||||
if (test.CostRateType == BS.Shared.CostRatePeriodType.MinutesPerServiceUnit && test.CostRateValue == 1)
|
||||
{
|
||||
//test.CostRateValue = 60;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var crDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods);
|
||||
|
||||
var crp = crDcs.GetCostRatePeriodForDate(BS.Shared.CostRatePeriodType.MinutesPerServiceUnit, pRO.ReportStartDate);
|
||||
|
||||
if (crp != null && !String.IsNullOrEmpty(crp.UnitName) && crp.UnitName.ToLower().Contains("min") && crp.CostRateValue.HasValue && crp.CostRateValue.Value > 0)
|
||||
{
|
||||
decimal multi = 60 / crp.CostRateValue.Value;
|
||||
// Erst Ursprungswerte vom Gesamten des Mitarbeiters abziehen
|
||||
emp.ApprovedHoursPerWeek -= supp.ApprovedHoursPerWeek;
|
||||
emp.ApprovedHoursPerWeekTotal -= supp.ApprovedHoursPerWeekTotal;
|
||||
emp.ApprovedHoursPerWeekWithRateFactor -= supp.ApprovedHoursPerWeekWithRateFactor;
|
||||
emp.ApprovedHoursPerWeekWithRateFactorTotal -= supp.ApprovedHoursPerWeekWithRateFactorTotal;
|
||||
|
||||
// Stundenwert draus machen
|
||||
supp.ApprovedHoursPerWeek *= multi;
|
||||
supp.ApprovedHoursPerWeekTotal *= multi;
|
||||
supp.ApprovedHoursPerWeekWithRateFactor *= multi;
|
||||
supp.ApprovedHoursPerWeekWithRateFactorTotal *= multi;
|
||||
|
||||
// Stundenwert wieder aufs Gesamt addieren
|
||||
emp.ApprovedHoursPerWeek += supp.ApprovedHoursPerWeek;
|
||||
emp.ApprovedHoursPerWeekTotal += supp.ApprovedHoursPerWeekTotal;
|
||||
emp.ApprovedHoursPerWeekWithRateFactor += supp.ApprovedHoursPerWeekWithRateFactor;
|
||||
emp.ApprovedHoursPerWeekWithRateFactorTotal += supp.ApprovedHoursPerWeekWithRateFactorTotal;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
@@ -243,15 +243,19 @@ namespace SHKServiceSBD
|
||||
|
||||
public override decimal BerechneSollProWoche(Contract c, MitarbeiterstundenkontoRO.EmployeeDetail ed)
|
||||
{
|
||||
if (c != null && c.MonthlyTotalHours.HasValue && c.MonthlyTotalHours.Value > 0)
|
||||
{
|
||||
var sollProWoche = Math.Round(c.MonthlyTotalHours.Value / 4.348m, 2, MidpointRounding.AwayFromZero);
|
||||
if (ed.SollProTag == 0)
|
||||
{
|
||||
ed.SollProTag = sollProWoche / 5;
|
||||
}
|
||||
return sollProWoche;
|
||||
}
|
||||
//if (c != null && c.MonthlyTotalHours.HasValue && c.MonthlyTotalHours.Value > 0)
|
||||
//{
|
||||
// if (ed != null && ed.Employee != null && ed.Employee.IsActive == ActivationTypeId.Active)
|
||||
// {
|
||||
// var name = ed.LastName;
|
||||
// }
|
||||
// var sollProWoche = Math.Round(c.MonthlyTotalHours.Value / 4.348m, 2, MidpointRounding.AwayFromZero);
|
||||
// if (ed.SollProTag == 0)
|
||||
// {
|
||||
// ed.SollProTag = sollProWoche / 5;
|
||||
// }
|
||||
// return sollProWoche;
|
||||
//}
|
||||
|
||||
return base.BerechneSollProWoche(c, ed);
|
||||
}
|
||||
@@ -425,7 +429,15 @@ namespace SHKServiceSBD
|
||||
{
|
||||
if (feiertagAnrechnen)
|
||||
{
|
||||
dd.MinutesTotal = ed.SollProTag * 60;
|
||||
var soll = ed.SollProTag * 60;
|
||||
if (dd.MinutesTotal <= soll)
|
||||
{
|
||||
dd.MinutesTotal = soll;
|
||||
}
|
||||
else
|
||||
{
|
||||
int test = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -510,6 +522,58 @@ namespace SHKServiceSBD
|
||||
return false;
|
||||
}
|
||||
|
||||
public override decimal GetArbeitstageImBereich(DateTime von, DateTime bis, Employee emp)
|
||||
{
|
||||
DateTime start = von;
|
||||
DateTime end = bis;
|
||||
|
||||
TimeSpan ts = end.Subtract(start);
|
||||
|
||||
var maxDays = (decimal)ts.TotalDays;
|
||||
|
||||
while (start < end)
|
||||
{
|
||||
int arbeitstageProWoche = 5;
|
||||
|
||||
var c = GetContractForDate(emp, start, start);
|
||||
|
||||
if (c != null && c.WeeklyDays.HasValue && c.WeeklyDays > 0)
|
||||
{
|
||||
arbeitstageProWoche = c.WeeklyDays.Value;
|
||||
}
|
||||
|
||||
|
||||
if (arbeitstageProWoche <= 5 && (start.DayOfWeek == DayOfWeek.Saturday || start.DayOfWeek == DayOfWeek.Sunday))
|
||||
{
|
||||
maxDays -= 1;
|
||||
}
|
||||
else if (arbeitstageProWoche == 6 && start.DayOfWeek == DayOfWeek.Sunday)
|
||||
{
|
||||
maxDays -= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var at in emp.AbsenceTimes)
|
||||
{
|
||||
if (at.AbsenceReason.Description.ToLower().Contains("unbezahlter urlaub"))
|
||||
{
|
||||
if (at.Start.Value <= start && (!at.End.HasValue || at.End.Value >= start))
|
||||
{
|
||||
if (maxDays >= 1)
|
||||
{
|
||||
maxDays--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
start = start.AddDays(1);
|
||||
}
|
||||
return maxDays;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public override decimal? GetSollStundenForAbsenceTime(MitarbeiterstundenkontoRO.EmployeeDetail ed, AbsenceTime at, DateTime datum)
|
||||
{
|
||||
if (at.AbsenceReason.Description.Contains("krank in der Schulzeit") || at.AbsenceReason.Description.Contains("Beschäftigungsverbot") || at.AbsenceReason.Description.Contains("Mutterschutz"))
|
||||
|
||||
65
Service/Import/Perseh/PersehReader.cs
Normal file
65
Service/Import/Perseh/PersehReader.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.Pdf;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Service.Import.Perseh
|
||||
{
|
||||
public class PersehReader
|
||||
{
|
||||
public HilfeplanImportDC ReadPdfDocument(byte[] daten)
|
||||
{
|
||||
HilfeplanImportDC result = new HilfeplanImportDC();
|
||||
result.Gruppen = new List<HilfeplanImportItemDC>();
|
||||
|
||||
using (var processor = new PdfDocumentProcessor())
|
||||
{
|
||||
using (var ms = new MemoryStream(daten))
|
||||
{
|
||||
processor.LoadDocument(ms);
|
||||
|
||||
var pdfText = processor.Text;
|
||||
|
||||
var gruppe1 = new HilfeplanImportItemDC { Label = "Leistungssuchende oder leistungsberechtigte Person", Items = new List<HilfeplanImportItemDC>() };
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Name", Content = "Bäurle", FieldName = "LastName" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Vorname", Content = "Christian", FieldName = "FirstName" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Geburtsdatum", Content = "08.04.1972", FieldName = "Birthdate" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Nationalität", Content = "deutsch"});
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Beruf", Content = "Wirt" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "GP-Nummer/Az", Content = "73.20-2100009313-01" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Erstellt von der\nleistungssuchenden oder\nleistungsberechtigten Person\nmit Behinderung unter", Content = "Max Mustermann (Bezugsbetreuer)\nMaria Musterfrau (Sozialarbeiterin)" });
|
||||
|
||||
result.Gruppen.Add(gruppe1);
|
||||
|
||||
gruppe1 = new HilfeplanImportItemDC { Label = "Gruppe 2", Items = new List<HilfeplanImportItemDC>() };
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Name", Content = "Bäurle", FieldName = "LastName" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Vorname", Content = "Christian", FieldName = "FirstName" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Geburtsdatum", Content = "08.04.1972", FieldName = "Birthdate" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Nationalität", Content = "deutsch" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Beruf", Content = "Wirt" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "GP-Nummer/Az", Content = "73.20-2100009313-01" });
|
||||
gruppe1.Items.Add(new HilfeplanImportItemDC { Label = "Erstellt von der\nleistungssuchenden oder\nleistungsberechtigten Person\nmit Behinderung unter", Content = "Max Mustermann (Bezugsbetreuer)\nMaria Musterfrau (Sozialarbeiterin)" });
|
||||
|
||||
result.Gruppen.Add(gruppe1);
|
||||
|
||||
|
||||
|
||||
result.Ziele = new List<HilfeplanImportZielDC>();
|
||||
|
||||
result.Ziele.Add(new HilfeplanImportZielDC { Bereich = "Lernen und Wissensanwendung", ZielName = "Ziel 1", ZielBeschreibung = "Herr Sowieso hat eine seinen Bedürfnissen entsprechende und ihn stabilisierende Tagesstruktur mit einer regelmäßigen, genesungsfördernden Beschäftigung(z.B.Ergotherapie) entwickelt." });
|
||||
result.Ziele.Add(new HilfeplanImportZielDC { Bereich = "Lernen und Wissensanwendung", ZielName = "Ziel 2", ZielBeschreibung = "Herr Sowieso hat Angstbewältigungsstrategien sowie Stabilisierungstechniken erlernt und kann diese in Alltagssituationen anwenden" });
|
||||
|
||||
result.Ziele.Add(new HilfeplanImportZielDC { Bereich = "Allgemeine Aufgaben und Anforderungen", ZielName = "Ziel 1", ZielBeschreibung = "Herr Sowieso hat eine seinen Bedürfnissen entsprechende und ihn stabilisierende Tagesstruktur mit einer regelmäßigen, genesungsfördernden Beschäftigung(z.B.Ergotherapie) entwickelt." });
|
||||
result.Ziele.Add(new HilfeplanImportZielDC { Bereich = "Allgemeine Aufgaben und Anforderungen", ZielName = "Ziel 2", ZielBeschreibung = "Herr Sowieso hat Angstbewältigungsstrategien sowie Stabilisierungstechniken erlernt und kann diese in Alltagssituationen anwenden" });
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,10 +79,11 @@ namespace BeWo.Service.Invoicing
|
||||
|
||||
public virtual IList<ServiceRecord> GetBillableServiceRecords(CostBearer2SupportConcept c2s)
|
||||
{
|
||||
return c2s.ServiceRecords.OrderBy(s => s.Start).ToList();
|
||||
return c2s.ServiceRecords.Where(IsServiceRecordBillable).OrderBy(s => s.Start).ToList();
|
||||
}
|
||||
|
||||
|
||||
public virtual bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
|
||||
public virtual bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
|
||||
{
|
||||
//Die alte Methode funktioniert nicht mehr wenn
|
||||
//1. Es mehr als drei Stundensätze gibt
|
||||
|
||||
13
Service/MessageContracts/UploadPersehDocumentResult.cs
Normal file
13
Service/MessageContracts/UploadPersehDocumentResult.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.ServiceModel;
|
||||
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.Service.MessageContracts
|
||||
{
|
||||
[MessageContract]
|
||||
public class UploadPersehDocumentResult
|
||||
{
|
||||
[MessageBodyMember]
|
||||
public HilfeplanImportDC HilfeplanImportData { get; set; }
|
||||
}
|
||||
}
|
||||
88
Service/Plugins/AiService.cs
Normal file
88
Service/Plugins/AiService.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.ServiceModel;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BeWo.Service.ServiceContracts;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace BeWo.Service.Plugins
|
||||
{
|
||||
public class AiService
|
||||
{
|
||||
public AiChatDC CreateAiQueryForServiceRecords(AiChatDC acdc, long cb2scOid, DateTime startdate, DateTime enddate)
|
||||
{
|
||||
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
String url = "https://ai1.ownsoft.de/osaiquery.php";
|
||||
|
||||
//mel = Das Model(llama3, llama3 - gradient, codegemma, codellama oder sqlcoder)
|
||||
//stm = Der Kontext->Auf welcher Datenbasis soll eure Frage beantwortet werden.Kann auch leer sein.
|
||||
//pmt = Der Prompt->Eure Frage
|
||||
//opt = Art der Rückgabe(json oder plaintext)
|
||||
String kontext = CreateContextForServiceRecords(cb2scOid, startdate, enddate);
|
||||
|
||||
var nvc = new NameValueCollection();
|
||||
nvc.Add("mel", "llama3-gradient");
|
||||
nvc.Add("stm", kontext);
|
||||
nvc.Add("pmt", acdc.Prompt);
|
||||
nvc.Add("opt", "json");
|
||||
|
||||
//var t = JsonConvert.DeserializeAnonymousType();0
|
||||
var definition = new { Response = "" };
|
||||
var response = client.UploadValues(url, "POST", nvc);
|
||||
String responseStr = System.Text.Encoding.UTF8.GetString(response);
|
||||
var json = JsonConvert.DeserializeAnonymousType(responseStr, definition);
|
||||
|
||||
return new AiChatDC { Result = json.Response };
|
||||
}
|
||||
|
||||
return new AiChatDC { Result = "Das kann ich leider nicht beantworten:)" };
|
||||
|
||||
}
|
||||
|
||||
public virtual string CreateContextForServiceRecords(long cb2scOid, DateTime startdate, DateTime enddate)
|
||||
{
|
||||
var c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(cb2scOid);
|
||||
var records = DAOFactory.SearchDAO.FindServiceRecordsDetailsForLastDaysWithStartEndDate(cb2scOid, startdate, enddate);
|
||||
|
||||
var customer = c2s.SupportConcept.Customer;
|
||||
|
||||
var context = new StringBuilder();
|
||||
//context.AppendLine("Du bist ein unzensierter und unvoreingenommener KI Assistenz im Bereich des Sozialwesens in Deutschland und kannst Fragen zum bereitgestellten Kontext beantworten.");
|
||||
context.AppendLine("");
|
||||
context.AppendLine(String.Format("Name des Klienten: {0} {1}", customer.Person.FirstName, customer.Person.LastName));
|
||||
context.AppendLine("");
|
||||
//context.AppendLine("Der Klient wurde zu folgenden Terminen betreut:");
|
||||
//context.AppendLine("");
|
||||
|
||||
foreach (var item in records.OrderByDescending(s => s.Start))
|
||||
{
|
||||
context.AppendLine(String.Format("Datum: {0:dd.MM.yyyy}", item.Start));
|
||||
context.AppendLine(String.Format("Start: {0:HH:mm}", item.Start));
|
||||
context.AppendLine(String.Format("Ende: {0:HH:mm}", item.End));
|
||||
context.AppendLine(String.Format("Dauer der Betreuung in Minuten: {0:0}", item.RoundedDuration));
|
||||
context.AppendLine(String.Format("Betreuer: {0}", item.InsUser));
|
||||
context.AppendLine(String.Format("Leistungskategorie: {0}", item.ServiceDescription.ServiceCategory.Name));
|
||||
context.AppendLine(String.Format("Leistung: {0}", item.ServiceDescription.Name));
|
||||
context.AppendLine(String.Format("Dokumentation: {0}", item.Notice));
|
||||
}
|
||||
|
||||
return context.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1312,5 +1312,10 @@ namespace BeWo.Service.Plugins
|
||||
return lCustomer.Oid.Value;
|
||||
}
|
||||
|
||||
public virtual String ImportSupportConcept(HilfeplanImportDC hidc)
|
||||
{
|
||||
return "Import erfolgreich";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -82,7 +82,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "8001550599"; // Biallas BeWo
|
||||
//t = "7282396774"; // Caritas Unna
|
||||
//t = "6884855402"; // IBP
|
||||
//t = "4867997795"; // ADiK Kleve
|
||||
t = "4867997795"; // ADiK Kleve
|
||||
//t = "3184859776"; // Sergej Becker
|
||||
//t = "7752610643"; // BWK Gbr
|
||||
//t = "3785623125"; // Betreuwo
|
||||
@@ -109,7 +109,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "8677523325"; // BeWo Richartz
|
||||
//t = "1765854593"; // Mein Betreutes Wohnen
|
||||
//t = "6802909544"; // Lebenshilfe Coburg
|
||||
t = "9417634361"; // Synprax
|
||||
//t = "9417634361"; // Synprax
|
||||
//t = "5761861730"; // Lebenshilfe Warendorf
|
||||
//t = "6712648331"; // BeWo Färber
|
||||
//t = "4982295287"; // ASB Hamm
|
||||
@@ -349,7 +349,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "3226307161"; // Roman Roger Puth
|
||||
//t = "3522103738"; // AWO Münsterland-Recklinghausen
|
||||
//t = "5592509446"; // Kontakt Verein für psychosoziale Hilfen e.V
|
||||
t = "5344902949"; // SHK Service GmbH SBD
|
||||
//t = "5344902949"; // SHK Service GmbH SBD
|
||||
//t = "1422963536"; // Malteser-Johanniter-Johanneshaus gGmbH
|
||||
//t = "5433105975"; // aha e.V.
|
||||
//t = "1701920223"; // SKFM Monheim
|
||||
@@ -387,6 +387,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "1676990640"; // Perspektive - Selbständiges Leben
|
||||
//t = "2544632712"; // Wabe gGmbH
|
||||
//t = "7077286353"; // PariSozial
|
||||
//t = "5000000000";
|
||||
|
||||
return t;
|
||||
#else
|
||||
|
||||
@@ -466,8 +466,12 @@ namespace BeWo.Service.Plugins
|
||||
}
|
||||
if (!isRelatedToTeam)
|
||||
{
|
||||
//Gehört nicht zum Team also überspringen
|
||||
continue;
|
||||
if (employeeOid.HasValue || teamOid.HasValue)
|
||||
{
|
||||
//Gehört nicht zum Team also überspringen
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -510,7 +514,7 @@ namespace BeWo.Service.Plugins
|
||||
{
|
||||
if (expiredMonths.HasValue)
|
||||
{
|
||||
cont = c2s.EndDate.HasValue && c2s.EndDate.Value < DateTime.Now.AddMonths(expiredMonths.Value);
|
||||
cont = c2s.EndDate.HasValue && c2s.EndDate.Value <= DateTime.Now.Date.AddMonths(expiredMonths.Value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -391,6 +391,7 @@
|
||||
<Compile Include="Import\AvisImport\LvrAvisKlientGesamt.cs" />
|
||||
<Compile Include="Import\AvisImport\LvrAvisPdfReader.cs" />
|
||||
<Compile Include="Import\AvisImport\Avis.cs" />
|
||||
<Compile Include="Import\Perseh\PersehReader.cs" />
|
||||
<Compile Include="Invoicing\ApprovalPeriod.cs" />
|
||||
<Compile Include="Invoicing\GeneralInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\SbdDefaultInvoiceCreation.cs" />
|
||||
@@ -410,6 +411,7 @@
|
||||
<Compile Include="Invoicing\LWLSettlementInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
|
||||
<Compile Include="MessageContracts\UploadChatPackage.cs" />
|
||||
<Compile Include="MessageContracts\UploadPersehDocumentResult.cs" />
|
||||
<Compile Include="MessageContracts\UploadChatResult.cs" />
|
||||
<Compile Include="MessageContracts\UpdatePackage.cs" />
|
||||
<Compile Include="MessageContracts\UploadPackage.cs" />
|
||||
@@ -420,6 +422,7 @@
|
||||
<Compile Include="Multitenancy\MultitenancyEndpointBehavior.cs" />
|
||||
<Compile Include="OwnChat\OwnChatHelper.cs" />
|
||||
<Compile Include="PivotTabelle\FlexibleReportManager.cs" />
|
||||
<Compile Include="Plugins\AiService.cs" />
|
||||
<Compile Include="Plugins\AccountingService.cs" />
|
||||
<Compile Include="Plugins\CustomerService.cs" />
|
||||
<Compile Include="Plugins\ResourceService.cs" />
|
||||
@@ -538,6 +541,7 @@
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="AI\" />
|
||||
<Folder Include="ServiceUtils\API\" />
|
||||
<Folder Include="ServiceUtils\Generell\" />
|
||||
<Folder Include="Utils\" />
|
||||
|
||||
@@ -756,5 +756,9 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<SupportConceptDC> GetSupportConceptsByCostbearer2SupportConceptRelOids(List<long> costbearer2SupportConceptRelOids);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
String ImportSupportConcept(HilfeplanImportDC hidc);
|
||||
}
|
||||
}
|
||||
@@ -1367,5 +1367,9 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<BargeldtransaktionshistoryDC> LoadBargeldtransaktionshistoryEntriesByTransaktionsOids(List<long> transaktionsOids);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
AiChatDC CreateAiQueryForServiceRecords(AiChatDC acdc, long cb2scOid, DateTime startdate, DateTime enddate);
|
||||
}
|
||||
}
|
||||
@@ -42,6 +42,9 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof (BeWoFault))]
|
||||
[OperationContract]
|
||||
UploadImportFileResult UploadImportFile(UploadPackage upload);
|
||||
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
UploadPersehDocumentResult UploadPersehFile(UploadPackage upload);
|
||||
}
|
||||
}
|
||||
@@ -4442,6 +4442,21 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public String ImportSupportConcept(HilfeplanImportDC hidc)
|
||||
{
|
||||
try
|
||||
{
|
||||
var s = PluginLoader.FindClass<CustomerService>();
|
||||
|
||||
return s.ImportSupportConcept(hidc);
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal struct WohnheimbuchungsIntervallStruct
|
||||
|
||||
@@ -8895,6 +8895,21 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public AiChatDC CreateAiQueryForServiceRecords(AiChatDC acdc, long cb2scOid, DateTime startdate, DateTime enddate)
|
||||
{
|
||||
try
|
||||
{
|
||||
var s = PluginLoader.FindClass<AiService>();
|
||||
|
||||
return s.CreateAiQueryForServiceRecords(acdc, cb2scOid, startdate, enddate);
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ServiceRecord2SignatureStates
|
||||
|
||||
@@ -8,6 +8,7 @@ using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Import.Perseh;
|
||||
using BeWo.Service.MessageContracts;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.Service.ServiceContracts;
|
||||
@@ -205,6 +206,30 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
}
|
||||
|
||||
public UploadPersehDocumentResult UploadPersehFile(UploadPackage upload)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var filename = upload.FileName;
|
||||
var daten = BS.Shared.Core.Utils.ReadFully(upload.Stream);
|
||||
|
||||
upload.Stream.Close();
|
||||
upload.Stream.Dispose();
|
||||
|
||||
var pr = PluginLoader.FindClass<PersehReader>();
|
||||
|
||||
var result = new UploadPersehDocumentResult();
|
||||
result.HilfeplanImportData = pr.ReadPdfDocument(daten);
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public UploadChatResult CreateNewSpeziallStreamChatMessagesDC(UploadChatPackage istream)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -418,6 +418,7 @@ namespace BS.Shared
|
||||
TeamView_ViewMyTeams = 10031,
|
||||
Customer_ViewMyTeams = 10032,
|
||||
SupportConcept_ViewMyTeams = 10033,
|
||||
SupportConcept_ImportData = 10034,
|
||||
|
||||
Employee_AllowEditExtendedProperties = 20000,
|
||||
Employee_AllowEditContracts = 20001,
|
||||
@@ -579,7 +580,9 @@ namespace BS.Shared
|
||||
Signature_ProvideMonthlySignatureByProxy = 60002,
|
||||
|
||||
Customer_ViewAbsenceTimes = 22222,
|
||||
Customer_ViewBetreuung = 22223
|
||||
Customer_ViewBetreuung = 22223,
|
||||
|
||||
AiChatInZeiterfassung = 180000
|
||||
}
|
||||
|
||||
public enum PersonType
|
||||
|
||||
@@ -408,6 +408,9 @@ namespace BS.Shared.Core
|
||||
{
|
||||
UserRightType.SupportConcept_AllowGoalOrientedSupportConcepts, Translator.Translate("Hilfepläne zielorientiert planen")
|
||||
},
|
||||
{
|
||||
UserRightType.SupportConcept_ImportData, Translator.Translate("Hilfepläne importieren")
|
||||
},
|
||||
{
|
||||
UserRightType.TeamView_Create, Translator.Translate("Teams anlegen")
|
||||
},
|
||||
@@ -732,6 +735,9 @@ namespace BS.Shared.Core
|
||||
},
|
||||
{
|
||||
UserRightType.Customer_ViewBetreuung, Translator.Translate($"{Translator.Translate("Klienten")} Betreuung ansehen")
|
||||
},
|
||||
{
|
||||
UserRightType.AiChatInZeiterfassung, Translator.Translate("Zeiterfassung->Anfragen an die KI stellen")
|
||||
}
|
||||
};
|
||||
#endregion
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
public static string ShowKlientenBetreuungszeiten => "ShowKlientenBetreuungszeiten";
|
||||
public static string ShowInfoButtonInCalender => "ShowInfoButtonInCalender";
|
||||
public static string ShowHilfeplanStatistikReport => "ShowHilfeplanStatistikReport";
|
||||
public static string ShowAI => "ShowAI";
|
||||
|
||||
public static string MoKSessionTimeout => "MoKSessionTimeout";
|
||||
|
||||
@@ -95,6 +96,8 @@
|
||||
public static string AllowGkvAbrechnung => "AllowGkvAbrechnung";
|
||||
|
||||
public static string ShowImportAbschlagszahlungen => "ShowImportAbschlagszahlungen";
|
||||
|
||||
public static string ShowPersehImport => "ShowPersehImport";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
14
Shared/DataContracts/AiChatDC.cs
Normal file
14
Shared/DataContracts/AiChatDC.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
[DataContract]
|
||||
public partial class AiChatDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public string Prompt { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Result { get; set; }
|
||||
}
|
||||
}
|
||||
21
Shared/DataContracts/HilfeplanImportDC.cs
Normal file
21
Shared/DataContracts/HilfeplanImportDC.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
[DataContract]
|
||||
public partial class HilfeplanImportDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public long? SupportConceptOid { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Titel { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public IList<HilfeplanImportItemDC> Gruppen { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public IList<HilfeplanImportZielDC> Ziele { get; set; }
|
||||
}
|
||||
}
|
||||
21
Shared/DataContracts/HilfeplanImportItemDC.cs
Normal file
21
Shared/DataContracts/HilfeplanImportItemDC.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
[DataContract]
|
||||
public partial class HilfeplanImportItemDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public string Label { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string Content { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string FieldName { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public IList<HilfeplanImportItemDC> Items { get; set; }
|
||||
}
|
||||
}
|
||||
19
Shared/DataContracts/HilfeplanImportZielDC.cs
Normal file
19
Shared/DataContracts/HilfeplanImportZielDC.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace BS.Shared.DataContracts
|
||||
{
|
||||
[DataContract]
|
||||
public partial class HilfeplanImportZielDC : IDataContract
|
||||
{
|
||||
[DataMember]
|
||||
public string Bereich { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string ZielName { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string ZielBeschreibung { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -161,6 +161,7 @@
|
||||
<Compile Include="Core\ObservableSortCollection.cs" />
|
||||
<Compile Include="Core\WohnheimbuchungsIntervall.cs" />
|
||||
<Compile Include="DataContracts\AbsenceOverviewFilterDC.cs" />
|
||||
<Compile Include="DataContracts\AiChatDC.cs" />
|
||||
<Compile Include="DataContracts\AbwesenheitsInformationDC.cs" />
|
||||
<Compile Include="DataContracts\AbwesenheitsInformationPrintDC.cs" />
|
||||
<Compile Include="DataContracts\AdditionalServiceBookingDC.cs" />
|
||||
@@ -169,6 +170,9 @@
|
||||
<Compile Include="DataContracts\AdditionalServiceGroupOfPeopleRelationDC.cs" />
|
||||
<Compile Include="DataContracts\AdditionalServiceRegionDC.cs" />
|
||||
<Compile Include="DataContracts\AddressRouteDC.cs" />
|
||||
<Compile Include="DataContracts\HilfeplanImportDC.cs" />
|
||||
<Compile Include="DataContracts\HilfeplanImportZielDC.cs" />
|
||||
<Compile Include="DataContracts\HilfeplanImportItemDC.cs" />
|
||||
<Compile Include="DataContracts\BargeldtransaktionshistoryDC.cs" />
|
||||
<Compile Include="DataContracts\ClientPartials\BargeldtransaktionshistoryDC.cs" />
|
||||
<Compile Include="DataContracts\ClientPartials\ContactDC.cs" />
|
||||
|
||||
Reference in New Issue
Block a user