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

This commit is contained in:
Marcel Hirschle
2022-11-09 13:12:27 +01:00
103 changed files with 26168 additions and 497 deletions

View File

@@ -29,31 +29,6 @@
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<PublishUrl>D:\Projects\beyondsoft\BeWoPlaner\Publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>true</UpdateRequired>
<MapFileExtensions>false</MapFileExtensions>
<InstallUrl>http://app.beyondsoft.de/</InstallUrl>
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>beyondSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.217</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>218</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>

View File

@@ -2,9 +2,9 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>D:\Projects\beyondsoft\BeWoPlaner\Publish\|D:\Projects\beyondsoft\BeWoPlaner\PublishTest\|D:\Projects\beyondsoft\BeWoPlaner\PublishDev\|D:\Projects\beyondsoft\BeWoPlaner\Publish45\|C:\Projects\beyondsoft\BeWoPlaner\Publish\</PublishUrlHistory>
<InstallUrlHistory>http://app.beyondsoft.de/|http://app.beyondsoft.de/dev/|http://app.beyondsoft.de/sbdtest/|http://app.beyondsoft.de/sbd/|http://app.beyondsoft.de/lha/</InstallUrlHistory>
<InstallUrlHistory>http://app.beyondsoft.de/|http://app.beyondsoft.de/test/|https://app.ownsoft.de/|http://app.beyondsoft.de/dev/|http://app.beyondsoft.de/sbdtest/</InstallUrlHistory>
<SupportUrlHistory />
<UpdateUrlHistory />
<UpdateUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/bewoplaner.application/</UpdateUrlHistory>
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>de-DE</FallbackCulture>

View File

@@ -48,8 +48,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.10";
public static string Version = "Version 3.10";
public static string ShortVersion = "3.11";
public static string Version = "Version 3.11";
public static int RenderTier = 0;

View File

@@ -28,6 +28,7 @@ namespace BeWo.View.Detail
{
public partial class AccountingTransactionBookingView
{
private bool saveInProgress = false;
public static Visibility InsertedOnAndByVisibility
{
get
@@ -191,8 +192,11 @@ namespace BeWo.View.Detail
accountingTransactionGrid.SelectedItem = vm;
}
protected override void Save()
{
saveInProgress = true;
var lToDos = new List<Action<IOperationsService>>();
if (ViewModel.AddedCount > 0)
@@ -203,7 +207,13 @@ namespace BeWo.View.Detail
var oids = s.InsertNewAccountingTransactions(ViewModel.CommitAdded());
var idx = 0;
foreach (var vm in ViewModel.AccountingTransactionVMList.Where(vm => vm.IsNew))
var newVms = ViewModel.AccountingTransactionVMList.Where(vm => vm.IsNew);
if (newVms.Count() != oids.Count)
{
int test = 0;
}
foreach (var vm in newVms)
{
vm.IsNew = false;
vm.DataContract.AccountingTransactionVersion = 1;
@@ -378,6 +388,7 @@ namespace BeWo.View.Detail
{
ViewModel.PrototypeVM.Amount = null;
ViewModel.PrototypeVM.Notice = string.Empty;
saveInProgress = false;
}
private void SelectedItemChanged(FlatSupportConceptTreeNodeDC selectedNode)
@@ -445,6 +456,10 @@ namespace BeWo.View.Detail
private void button_add_Click(object sender, RoutedEventArgs e)
{
if (saveInProgress)
{
return;
}
var lValid = ValidationTrigger.Validate(rootGrid);
if (lValid)
@@ -464,6 +479,7 @@ namespace BeWo.View.Detail
ViewModel.AccountingTransactionVMList.Add(atvm);
Save();
ViewModel.RefreshAccountingTransactionsForSelectedTreeNode();
}

View File

@@ -469,8 +469,8 @@
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="5" Margin="3" Height="23" EditValue="{Binding Path=WeeklyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" EditValue="{Binding Path=MonthlyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00#" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" MaxValue="7" IsFloatValue="False" Grid.Column="1" Grid.Row="9" Margin="3" Height="23" EditValue="{Binding Path=WeeklyDays, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}"/>
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=EmploymentType.LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding EmploymentTypeLeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="False" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding LeaveDaysVisibility, UpdateSourceTrigger=PropertyChanged}" IsEnabled="True" />

View File

@@ -714,7 +714,7 @@ namespace BeWo.View.Detail.Report
public FlexibleReportEntryType Type { get; set; }
public int? Kilometer { get; set; }
public decimal? Kilometer { get; set; }
public decimal? Betrag { get; set; }

View File

@@ -88,10 +88,10 @@
<Image Source="..\..\Ressources\Icons\Symbol Delete.png"
Stretch="Uniform" Margin="1,1,1,1" />
</Button>
<TextBlock x:Name="textblock_link_print" Margin="10,3,0,0" FontSize="14">
<Hyperlink x:Name="linkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPrintRating_OnRequestNavigate" Tag="{Binding}">
<Run Text="Drucken" />
<TextBlock x:Name="textblock_link_print" Margin="10,3,0,0" FontSize="14" Tag="{Binding}">
<Hyperlink x:Name="linkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" Click="linkPdfExport_Click" Tag="{Binding}">
Drucken
</Hyperlink>
</TextBlock>
</StackPanel>

View File

@@ -1626,30 +1626,6 @@ namespace BeWo.View.Detail
return newVm;
}
private void LinkPrintRating_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var link = sender as Hyperlink;
if (link != null)
{
var rating = link.Tag as RatingVM;
if (rating != null)
{
var url = BeWoApp.SiteOfOrigin + "/ReportView.aspx"
+ "?scOid=" + this.ViewModel.DataContract.SupportConceptOid ?? 0
+ "rOid=" + rating.DataContract.RatingOid ?? 0
+ "&type=" + Utils.EnumName(ReportTypes.RatingReport);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
link.NavigateUri = new Uri(url);
BeWoUtils.NavigateToReportUri((sender as System.Windows.Documents.Hyperlink).NavigateUri.ToString(), Translator.Translate("Bewertung"));
}
}
//System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo((sender as System.Windows.Documents.Hyperlink).NavigateUri.ToString()));
}
private void BtnDeleteRating_Click(object sender, RoutedEventArgs e)
{
@@ -1918,6 +1894,29 @@ namespace BeWo.View.Detail
}
private void linkPdfExport_Click(object sender, RoutedEventArgs e)
{
var link = sender as Hyperlink;
if (link != null)
{
var rating = link.Tag as RatingVM;
if (rating != null && rating.DataContract.RatingOid.HasValue)
{
var url = BeWoApp.SiteOfOrigin + "/ReportView.aspx"
+ "?scOid=" + (this.ViewModel.DataContract.SupportConceptOid ?? 0)
+ "&rOid=" + (rating.DataContract.RatingOid ?? 0)
+ "&type=" + Utils.EnumName(ReportTypes.RatingReport);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
link.NavigateUri = new Uri(url);
BeWoUtils.NavigateToReportUri((sender as System.Windows.Documents.Hyperlink).NavigateUri.ToString(), Translator.Translate("Bewertung"));
}
}
}
}
public class ValueListEntryTypeToColorConverter : IValueConverter

View File

@@ -288,8 +288,8 @@
</Grid.RowDefinitions>
<Label Grid.Row="1" Content="Gefahrene Kilometer" Grid.ColumnSpan="2" Grid.Column="1" x:Name="lblDistance" HorizontalAlignment="Right" Margin="0,0,3,0"/>
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="False"
AllowNullInput="False" x:Name="numerictb_distance" EditValue="{Binding Mode=TwoWay, Path=DistanceInMeter, Converter={StaticResource Int2DecimalConverter}}"
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="True" Mask="########0.0#" MaskUseAsDisplayFormat="True"
AllowNullInput="False" x:Name="numerictb_distance" EditValue="{Binding Mode=TwoWay, Path=DistanceInMeter, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="3" Height="23" Margin="3,0,3,3" />
</Grid>

View File

@@ -98,7 +98,7 @@ namespace BeWo.View.Detail.Zeiterfassung
public override bool CanDelete => false;
public override bool IsDirty => _ServiceRecordVM != null && _ServiceRecordVM.IsDirty;
public override bool IsDirty => _ServiceRecordVM != null && (_ServiceRecordVM.IsDirty || _ServiceRecordVM.IsNew);
public override string SaveObjectName => Translator.Translate("dieser Leistungsbuchung");
@@ -146,7 +146,7 @@ namespace BeWo.View.Detail.Zeiterfassung
_HideCustomers = hideCustomerCombo;
_ServiceRecordVM = pSCViewModel;
//ServiceRecordVM clone = pSCViewModel.Clone();
//clone.Category2Services = pListViewModel.PrototypeVM.Category2Services;

View File

@@ -256,8 +256,8 @@
</Grid.RowDefinitions>
<Label Grid.Row="1" Content="Gefahrene Kilometer" Grid.Column="1" Grid.ColumnSpan="2" x:Name="lblDistance" HorizontalAlignment="Right" Margin="0,0,3,0"/>
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="False"
AllowNullInput="False" x:Name="numerictb_distance" EditValue="{Binding Mode=TwoWay, Path=DistanceInMeter, Converter={StaticResource Int2DecimalConverter}}"
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="True" Mask="########0.0#" MaskUseAsDisplayFormat="True"
AllowNullInput="False" x:Name="numerictb_distance" EditValue="{Binding Mode=TwoWay, Path=DistanceInMeter, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="3" Height="23" Margin="3,0,3,3" />
</Grid>
<Grid Grid.Column="0" Grid.Row="7" ColumnSpan="2" Visibility="Visible">

View File

@@ -458,6 +458,7 @@ namespace BeWo.View.Detail.Zeiterfassung
item.Start = dc.Start;
item.RoundedDuration = roundedDuration;
item.DistanceInMeter = dc.DistanceInMeter;
item.DistanceInMeterDecimal = dc.DistanceInMeterDecimal;
item.Betrag = dc.Betrag;
item.ServiceDescription = dc.ServiceDescription;

View File

@@ -870,7 +870,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Row="1" Content="Gefahrene Kilometer" Grid.Column="0" x:Name="lblDistance" HorizontalAlignment="Right" />
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="True" Mask="########0.0" MaskUseAsDisplayFormat="True"
<dxe:SpinEdit Grid.Row="1" Increment="5" MinValue="0" IsFloatValue="True" Mask="########0.0#" MaskUseAsDisplayFormat="True"
AllowNullInput="False" x:Name="numerictb_distance" EditValue="{Binding Mode=TwoWay, Path=PrototypeVM.DistanceInMeter, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="1" Height="23" Margin="3,0,3,3" Width="52" />
</Grid>

View File

@@ -85,7 +85,7 @@ namespace BeWo.View.Search
var lFilter = TextBoxSearch.Text.ToLower().Split(" ");
var directHits = _AllTextModules.Where(w => w.Text != null && lFilter.Any(w.Text.ToLower().Contains) || lFilter.Any(w.Name.ToLower().Contains)).ToList();
var directHits = _AllTextModules.Where(w => w.Text != null && w.Name != null && (lFilter.Any(w.Text.ToLower().Contains) || lFilter.Any(w.Name.ToLower().Contains))).ToList();
directHits.AddRangeIfElementsNotIn(Utils.GetParentTextModules(directHits));

View File

@@ -26,6 +26,7 @@ namespace BeWo.ViewModel
{
public class ServiceRecordVM : AbstractDCMapperVM<ServiceRecordDC>
{
public String ATEST { get; set; }
#region Constants and Fields
public static string PropertyName_Category = "Category";
@@ -194,7 +195,7 @@ namespace BeWo.ViewModel
public List<ServiceAccountingDC> _ServiceAccountings;
private int? _DistanceInMeter;
private decimal? _DistanceInMeter;
private ZeiterfassungsDauer _DauerEinheit = ZeiterfassungsDauer.Minuten;
@@ -261,7 +262,7 @@ namespace BeWo.ViewModel
get { return base.IsDirty || !SameRatingChecked(SelectedGoals, this.DataContract.Goals); }
}
public int? DistanceInMeter
public decimal? DistanceInMeter
{
get { return _DistanceInMeter; }
@@ -270,7 +271,7 @@ namespace BeWo.ViewModel
if (AreDifferent(_DistanceInMeter, value))
{
_DistanceInMeter = value;
StoreDirtyInformation(AreDifferent(DataContract.DistanceInMeter, value),
StoreDirtyInformation(AreDifferent(DataContract.DistanceInMeterDecimal, value),
PropertyName_DistanceInMeter);
FirePropertyChanged(PropertyName_DistanceInMeter);
}
@@ -2282,7 +2283,7 @@ namespace BeWo.ViewModel
_GroupRoundedDuration = pDataContract.GroupRoundedDuration;
_GroupOid = pDataContract.GroupOid;
_ServiceRecordType = pDataContract.ServiceRecordType;
_DistanceInMeter = pDataContract.DistanceInMeter;
_DistanceInMeter = pDataContract.DistanceInMeterDecimal;
_Betrag = pDataContract.Betrag;
_ServiceRecordFormat = pDataContract.ServiceRecordFormat ?? ServiceRecordFormate.OriginaleZeiterfassung;
_SignatureOid = pDataContract.SignatureOid;
@@ -2399,7 +2400,8 @@ namespace BeWo.ViewModel
pDataContract.RTFNotice5 = _RTFNotice5;
pDataContract.ServiceRecordType = _ServiceRecordType;
pDataContract.DistanceInMeter = _DistanceInMeter;
pDataContract.DistanceInMeter = null; // Die Eigenschaft muss leider drin bleiben um die Abwärtskompatibilität zu gewährleistung
pDataContract.DistanceInMeterDecimal = _DistanceInMeter;
pDataContract.DurationInStunden = DauerEinheit;
pDataContract.Employee = _Employee;
pDataContract.Customer = _Customer;

View File

@@ -199,6 +199,7 @@ namespace BeWo.ownChat
}
_ServiceRecord = new ServiceRecordVM(dc, vm.PrototypeVM.Category2Services, vm.PrototypeVM.AllGoalCategories, vm.PrototypeVM.AllGoals) {Notice = notice};
_ServiceRecord.ATEST = "NEW Service Record";
_ServiceRecord.SetInsertedOn(DateTime.Now);
var hideCustomerCombo = _ServiceRecord.SupportConcept == null;
serviceRecordEditView.InitView(vm, _ServiceRecord, hideCustomerCombo);

View File

@@ -734,6 +734,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HausDuelken", "ReportImp\Ha
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ambewo", "ReportImp\AMBEWO\Ambewo.csproj", "{C7C7BC1A-FBCF-4A26-965A-4BD41BF0B189}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZuhauseWohnenIrisThimm", "ReportImp\ZuhauseWohnenIrisThimm\ZuhauseWohnenIrisThimm.csproj", "{22E7F5F8-BB34-4243-896B-221F78837F83}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -8925,6 +8927,30 @@ Global
{C7C7BC1A-FBCF-4A26-965A-4BD41BF0B189}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C7C7BC1A-FBCF-4A26-965A-4BD41BF0B189}.Release|x86.ActiveCfg = Release|Any CPU
{C7C7BC1A-FBCF-4A26-965A-4BD41BF0B189}.Release|x86.Build.0 = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|.NET.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|.NET.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|x86.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Debug|x86.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.DebugRemote|x86.Build.0 = Debug|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|.NET.ActiveCfg = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|.NET.Build.0 = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|Any CPU.Build.0 = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|x86.ActiveCfg = Release|Any CPU
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -9290,6 +9316,7 @@ Global
{FB6E2216-444C-4208-B526-C9966BA0F401} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{ED3DBD24-B774-41E5-A856-99FF78D828A8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{C7C7BC1A-FBCF-4A26-965A-4BD41BF0B189} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{22E7F5F8-BB34-4243-896B-221F78837F83} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -17,7 +17,7 @@
<AssemblyName>BeWoPlanerMobil</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
@@ -1576,7 +1576,7 @@
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost/BeWoPlanerMobil</IISUrl>
<IISUrl>http://localhost:8808/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>

View File

@@ -17,6 +17,8 @@ namespace BeWoPlanerMobil.Controllers
{
public class ChatController : Controller
{
protected static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public string Index()
{
return "Das ist die <b>Default</b> Aktion... Sie haben hier nix verloren;-)";
@@ -69,6 +71,168 @@ namespace BeWoPlanerMobil.Controllers
}
}
private static bool convertInProgress = false;
public ActionResult UpdateFiles(String list, String pwd)
{
try
{
if (convertInProgress)
{
return this.Content("Schon gestartet");
}
convertInProgress = true;
//list = "7000000000";
//pwd = "34vteWVTwegvn9wz4vn9";
if (pwd == "34vteWVTwegvn9wz4vn9")
{
String[] nummern = list.Split(',');
foreach (var knr in nummern)
{
System.Web.HttpContext.Current.Items.Remove("hibernateSession");
MobileSessionFacade.Tenant = knr;
var isKundennummerVorhanden = ASPHibernateSessionManager.ConfigureHibernateSessionForWebService();
if (isKundennummerVorhanden)
{
Log.Debug($"Start UpdateFiles for {knr} -----------------------------------------------------------------------------------------------------------------------");
//var filePath = GetFilePath(12345678);
//Log.Debug($"File Path = {filePath}");
SaveAllFilesToDisk(knr);
Log.Debug($"Finished UpdateFiles for {knr} -----------------------------------------------------------------------------------------------------------------------");
//var os = new OperationsServiceImp();
//os.SaveAllFilesToDisk();
}
else
{
Log.Debug($"Kundennummer {knr} nicht vorhanden");
}
}
convertInProgress = false;
return this.Content("Erfolgreich 4");
}
convertInProgress = false;
return this.Content("Nicht authorisiert");
}
catch (Exception ex)
{
convertInProgress = false;
return this.Content("ERROR " + ex.Message);
// throw(BeWo.Service.Core.Utils.ThrowBeWoFaultException(e));
return null;
}
}
private void SaveAllFilesToDisk(String knr)
{
var oid = DAOFactory.SearchDAO.GetMaxOidFromFileAttachment();
for (int i = 1; i <= oid; i++)
{
var file = DAOFactory.GenericDAO.LoadByID<FileAttachment>(i);
try
{
if (file.Data != null)
{
Log.Debug($"Convert File {file.Oid}");
SaveFileToFileDirectory(knr, file);
}
else
{
Log.Debug($"Skip File {file.Oid}. Data = null");
}
}
catch (Exception ex)
{
if (!ex.Message.Contains("No row with the given identifier exists"))
{
Log.Debug($"!!!! Error in SaveAllFilesToDisk " + ex.Message);
}
//prüfe ob Datei existiert, sonst kommt ein Hibernate Fehler
}
}
}
private void SaveFileToFileDirectory(String knr, FileAttachment fileAttachment)
{
if (fileAttachment.Data != null)
{
CheckForFileRootDirectory(knr);
var filePath = GetFilePath(knr, fileAttachment.Oid.Value);
System.IO.File.WriteAllBytes(filePath, fileAttachment.Data);
if (System.IO.File.Exists(filePath) && fileAttachment.Data != null)
{
fileAttachment.Data = null;
DAOFactory.GenericDAO.Update(fileAttachment);
}
}
}
private void CheckForFileRootDirectory(String knr)
{
var fileRootDirectoryPath = GetFileRootDirectoryPath();
var tenantPath = GetTenantFilePath(knr);
if (!Directory.Exists(fileRootDirectoryPath))
{
Directory.CreateDirectory(fileRootDirectoryPath);
}
if (!Directory.Exists(tenantPath))
{
Directory.CreateDirectory(tenantPath);
}
}
private string GetFilePath(String knr, long fileAttachmentOid)
{
return Path.Combine(GetTenantFilePath(knr), fileAttachmentOid.ToString());
}
private string GetFileRootDirectoryPath()
{
var fileRootDirectoryPath = System.Configuration.ConfigurationManager.AppSettings.Get(BS.Shared.Core.SettingsKeys.FileRootDirectory);
return fileRootDirectoryPath;
}
private string GetTenantFilePath(String kundennummer)
{
var fileRootDirectoryPath = GetFileRootDirectoryPath();
return Path.Combine(fileRootDirectoryPath, kundennummer);
}
private static string ReadStreamForChatCode(WebResponse response)
{
try

View File

@@ -140,7 +140,7 @@
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="MultitenancyPath" value="..\Host\Multitenancy\" />
<add key="MultitenancyPath" value="..\..\Host\Multitenancy\" />
<add key="LicenseInfoUrl" value="https://support.bewoplaner.de/api/getlicensecount.php?k=[TENANT]" />
<add key="LicenseOrderUrl" value="https://support.bewoplaner.de/lizenzbestellung/?k=[TENANT]" />
<add key="LicenseCancellationUrl" value="https://support.bewoplaner.de/api/licencecancellation.php?k=[TENANT]" />

View File

@@ -3731,7 +3731,7 @@ namespace BeWo.Data.Access
var lCriteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.Eq(nameof(ServiceRecord.CustomerOid), customerOid))
.Add(Restrictions.IsNotNull(nameof(ServiceRecord.DistanceInMeter)))
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0));
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0m));
var orCriteria = Restrictions.Or(
Restrictions.Between(nameof(ServiceRecord.Start), pSpan.StartDateTime, pSpan.EndDateTime),
@@ -3752,7 +3752,7 @@ namespace BeWo.Data.Access
var lCriteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.In(nameof(ServiceRecord.CustomerOid), customerOids))
.Add(Restrictions.IsNotNull(nameof(ServiceRecord.DistanceInMeter)))
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0));
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0m));
var orCriteria = Restrictions.Or(
Restrictions.Between(nameof(ServiceRecord.Start), span.StartDateTime, span.EndDateTime),
@@ -3860,7 +3860,7 @@ namespace BeWo.Data.Access
var lCriteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.Eq(nameof(ServiceRecord.EmployeeOid), employeeOid))
.Add(Restrictions.IsNotNull(nameof(ServiceRecord.DistanceInMeter)))
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0));
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0m));
var orCriteria = Restrictions.Or(
Restrictions.Between(nameof(ServiceRecord.Start), timeSpan.StartDateTime, timeSpan.EndDateTime),
@@ -3881,7 +3881,7 @@ namespace BeWo.Data.Access
var lCriteria = CreateCriteria<ServiceRecord>()
.Add(Restrictions.In(nameof(ServiceRecord.EmployeeOid), employeeOids))
.Add(Restrictions.IsNotNull(nameof(ServiceRecord.DistanceInMeter)))
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0));
.Add(Restrictions.Gt(nameof(ServiceRecord.DistanceInMeter), 0m));
var orCriteria = Restrictions.Or(
Restrictions.Between(nameof(ServiceRecord.Start), span.StartDateTime, span.EndDateTime),

View File

@@ -114,7 +114,7 @@ namespace BeWo.Data.Entities
private IList<ValueListEntry2Object> _ValueList;
public virtual int? DistanceInMeter { get; set; }
public virtual decimal? DistanceInMeter { get; set; }
public virtual int? Relevance { get; set; }

View File

@@ -580,7 +580,7 @@ namespace BeWo.Data.Entities
}
}
public virtual int? DistanceInMeter { get; set; }
public virtual decimal? DistanceInMeter { get; set; }
public virtual int? Relevance { get; set; }

View File

@@ -27,7 +27,7 @@
<property column="GroupRoundedDuration" type="Decimal" name="GroupRoundedDuration" />
<property column="GroupOid" type="Int64" name="GroupOid" update="false" insert="false" />
<property column="ServiceRecordType" type="BS.Shared.ServiceRecordTypeId, BS.Shared" name="ServiceRecordType" />
<property column="DistanceInMeter" type="Int32" name="DistanceInMeter" />
<property column="DistanceInMeter" type="Decimal" name="DistanceInMeter" />
<property column="Relevance" type="Int32" name="Relevance" />
<property column="IsCreatedInMobileClient" type="Boolean" name="IsCreatedInMobileClient" />
<property name="WohnheimbuchungsOid" column="WohnheimbuchungsOid" type="Int64" />

View File

@@ -34,7 +34,7 @@
<property column="GroupRoundedDuration" type="Decimal" name="GroupRoundedDuration" />
<property column="GroupOid" type="Int64" name="GroupOid" update="false" insert="false" />
<property column="ServiceRecordType" type="BS.Shared.ServiceRecordTypeId, BS.Shared" name="ServiceRecordType" />
<property column="DistanceInMeter" type="Int32" name="DistanceInMeter" />
<property column="DistanceInMeter" type="Decimal" name="DistanceInMeter" />
<property column="Relevance" type="Int32" name="Relevance" />
<property column="IsCreatedInMobileClient" type="Boolean" name="IsCreatedInMobileClient" />
<property column="Notice2" type="String" name="Notice2" length="1024" />

View File

@@ -83,7 +83,7 @@ namespace BeWo.Report.ReportObjects
ez.Start = cr.StartDate.Value;
ez.Ende = cr.EndDate.Value;
if (ez.Start == DateTime.MinValue)
if (ez.Start == DateTime.MinValue || ez.Start < BewilligtStart)
{
ez.Start = this.BewilligtStart;
}
@@ -113,7 +113,7 @@ namespace BeWo.Report.ReportObjects
Dictionary<string, BudgetnachweisMonatsZeile> monat2Zeile = new Dictionary<string, BudgetnachweisMonatsZeile>();
DateTime monat = new DateTime(this.BewilligtStart.Year, this.BewilligtStart.Month, 1);
DateTime monat = new DateTime(this.BewilligtStart.Year, this.BewilligtStart.Month, this.BewilligtStart.Day);
while (monat <= this.BewilligtEnde)
{
@@ -132,6 +132,8 @@ namespace BeWo.Report.ReportObjects
}
}
if (monat.Day != 1)
monat = new DateTime(monat.Year, monat.Month, 1);
monat = monat.AddMonths(1);
monat2Zeile.Add(key, zeile);
@@ -151,27 +153,29 @@ namespace BeWo.Report.ReportObjects
if (monat2Zeile.ContainsKey(key))
{
monat2Zeile[key].ServiceRecords.Add(srDc);
decimal minuten = sr.RoundedDuration;
if (sr.ServiceDescription.ServiceCategory.Percentage != 100)
if (monat2Zeile[key].Monat <= sr.Start.Value.Date)
{
minuten = (minuten * sr.ServiceDescription.ServiceCategory.Percentage) / 100;
}
monat2Zeile[key].ServiceRecords.Add(srDc);
monat2Zeile[key].SummeMinuten += minuten;
foreach (var e in this.Entgeltzeitraeume)
{
if (e.Start <= sr.Start.Value.Date && sr.Start.Value.Date <= e.Ende)
decimal minuten = sr.RoundedDuration;
if (sr.ServiceDescription.ServiceCategory.Percentage != 100)
{
e.ServiceRecords.Add(srDc);
e.SummeFLMinuten += minuten;
minuten = (minuten * sr.ServiceDescription.ServiceCategory.Percentage) / 100;
}
monat2Zeile[key].SummeMinuten += minuten;
foreach (var e in this.Entgeltzeitraeume)
{
if (e.Start <= sr.Start.Value.Date && sr.Start.Value.Date <= e.Ende)
{
e.ServiceRecords.Add(srDc);
e.SummeFLMinuten += minuten;
}
}
}
}
}
}
}

View File

@@ -77,7 +77,15 @@ namespace BeWo.Report.ReportObjects
TotalDistanceInMeters += distanceRounded;
Entries.Add(new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord));
var e = new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord);
e.Notice = serviceRecord.Notice;
e.Notice2 = serviceRecord.Notice2;
e.Notice3 = serviceRecord.Notice3;
e.Notice4 = serviceRecord.Notice4;
e.Notice5 = serviceRecord.Notice5;
Entries.Add(e);
}
}
}

View File

@@ -52,7 +52,14 @@ namespace BeWo.Report.ReportObjects
TotalDistanceInMeters += distanceRounded;
Entries.Add(new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord));
var e = new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord);
e.Notice = serviceRecord.Notice;
e.Notice2 = serviceRecord.Notice2;
e.Notice3 = serviceRecord.Notice3;
e.Notice4 = serviceRecord.Notice4;
e.Notice5 = serviceRecord.Notice5;
Entries.Add(e);
}
}
}
@@ -92,6 +99,16 @@ namespace BeWo.Report.ReportObjects
public ServiceRecord ServiceRecord { get; set; }
public String Notice { get; set; }
public String Notice2 { get; set; }
public String Notice3 { get; set; }
public String Notice4 { get; set; }
public String Notice5 { get; set; }
public EmployeeKilometerauswertungsEntry(DateTime? start, DateTime? end, double distanceInMeters, string customerName, string doku, ServiceRecord sr)
{
ServiceRecord = sr;

View File

@@ -224,6 +224,7 @@ namespace BeWo.Report.ReportObjects
reportSR.InsUser = sr.InsUser;
reportSR.ServiceRecordOid = sr.ServiceRecordOid;
reportSR.DistanceInMeter = sr.DistanceInMeter;
reportSR.DistanceInMeterDecimal = sr.DistanceInMeterDecimal;
reportSR.Notice = sr.Notice;
reportSR.Notice2 = sr.Notice2;
reportSR.Notice3 = sr.Notice3;
@@ -477,7 +478,9 @@ namespace BeWo.Report.ReportObjects
public int? DistanceInMeter { get; set; }
public long? ServiceRecordOid { get; set; }
public decimal? DistanceInMeterDecimal { get; set; }
public long? ServiceRecordOid { get; set; }
}
public static void CreateGoalList(FLSReportServiceRecord sr)

View File

@@ -76,8 +76,15 @@ namespace BeWo.Report.ReportObjects
var distance = (serviceRecord.GroupPersonCount == null) ? (double)serviceRecord.DistanceInMeter.Value : (double)serviceRecord.DistanceInMeter.Value / (double)serviceRecord.GroupPersonCount;
var distanceRounded = Math.Round(distance, 2);
TotalDistanceInMeters += distanceRounded;
Entries.Add(new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName));
var e = new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName);
e.Notice = serviceRecord.Notice;
e.Notice2 = serviceRecord.Notice2;
e.Notice3 = serviceRecord.Notice3;
e.Notice4 = serviceRecord.Notice4;
e.Notice5 = serviceRecord.Notice5;
Entries.Add(e);
}
Entries = Entries.OrderBy(o => o.Datum).ToList();

View File

@@ -50,7 +50,14 @@ namespace BeWo.Report.ReportObjects
var distanceRounded = Math.Round(distance, 2);
TotalDistanceInMeters += distanceRounded;
Entries.Add(new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName));
var e = new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName);
e.Notice = serviceRecord.Notice;
e.Notice2 = serviceRecord.Notice2;
e.Notice3 = serviceRecord.Notice3;
e.Notice4 = serviceRecord.Notice4;
e.Notice5 = serviceRecord.Notice5;
Entries.Add(e);
}
Entries = Entries.OrderBy(o => o.Datum).ToList();
@@ -65,6 +72,17 @@ namespace BeWo.Report.ReportObjects
public DateTime? EndTime { get; }
public String Notice { get; set; }
public String Notice2 { get; set; }
public String Notice3 { get; set; }
public String Notice4 { get; set; }
public String Notice5 { get; set; }
public String TimeRange
{
get

View File

@@ -397,7 +397,7 @@ namespace BeWo.Report.ReportObjects
public string TimeRange { get; set; }
public int? DistanceInMeter { get; set; }
public decimal? DistanceInMeter { get; set; }
public bool IsBillable { get; set; }

View File

@@ -9,8 +9,7 @@ using BS.Shared.DataContracts;
namespace BeWo.Report.ReportObjects
{
public class
SupportConceptListRO : AbstractBeWoReportObject<SupportConceptListRO>
public class SupportConceptListRO : AbstractBeWoReportObject<SupportConceptListRO>
{
private List<SupportConceptDetail> _SupportConceptDetailList = new List<SupportConceptDetail>();

View File

@@ -90,9 +90,9 @@ namespace ABWElsebrock
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldGroup = new DevExpress.XtraReports.UI.CalculatedField();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -432,11 +432,11 @@ namespace ABWElsebrock
// xrLabel12
//
this.xrLabel12.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(400.4167F, 25F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(431.42F, 25F);
this.xrLabel12.Multiline = true;
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(281.5833F, 24F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(250.58F, 24F);
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
@@ -446,10 +446,10 @@ namespace ABWElsebrock
// xrLabel2
//
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(400.4167F, 0F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(431.42F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(281.5833F, 25F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(250.58F, 25F);
this.xrLabel2.StylePriority.UseBorderDashStyle = false;
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -588,6 +588,8 @@ namespace ABWElsebrock
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel23,
this.xrLabel22,
this.xrLabel5,
this.xrLabel2,
this.xrLabel12,
@@ -620,9 +622,7 @@ namespace ABWElsebrock
this.mitarbeiterName,
this.xrLabel9,
this.xrLabel13,
this.xrLabel8,
this.xrPageInfo1,
this.xrLabel21});
this.xrLabel8});
this.GroupHeader2.Font = new System.Drawing.Font("Calibri", 11F);
this.GroupHeader2.HeightF = 296.0417F;
this.GroupHeader2.Name = "GroupHeader2";
@@ -792,32 +792,6 @@ namespace ABWElsebrock
this.xrLabel11.StylePriority.UseTextAlignment = false;
this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold);
this.xrPageInfo1.Format = "{0:dd.MM.yyyy}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(603.875F, 252.9585F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(73.95844F, 23F);
this.xrPageInfo1.StylePriority.UseFont = false;
this.xrPageInfo1.StylePriority.UsePadding = false;
//
// xrLabel21
//
this.xrLabel21.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(501.8749F, 252.9585F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(100F, 23F);
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UsePadding = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.Text = "Wesel, ";
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrLabel21.TextTrimming = System.Drawing.StringTrimming.None;
//
// fieldGroup
//
this.fieldGroup.DataMember = "Services";
@@ -825,6 +799,30 @@ namespace ABWElsebrock
this.fieldGroup.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldGroup.Name = "fieldGroup";
//
// xrLabel22
//
this.xrLabel22.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(274.094F, 25F);
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(138.4001F, 24F);
this.xrLabel22.StylePriority.UseBorders = false;
this.xrLabel22.StylePriority.UseFont = false;
this.xrLabel22.StylePriority.UseTextAlignment = false;
this.xrLabel22.Text = "Datum";
this.xrLabel22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// xrLabel23
//
this.xrLabel23.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(274.094F, 0F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(138.4001F, 25F);
this.xrLabel23.StylePriority.UseBorderDashStyle = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// Stundenzettel
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -922,7 +920,7 @@ namespace ABWElsebrock
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRLabel xrLabel21;
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
private DevExpress.XtraReports.UI.XRLabel xrLabel22;
}
}

View File

@@ -87,6 +87,12 @@
<DependentUpon>MitarbeiterstundenkontoJahr.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="KilometerAuswertung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="KilometerAuswertung.Designer.cs">
<DependentUpon>KilometerAuswertung.cs</DependentUpon>
</Compile>
<Compile Include="QuittierungsbelegPK.cs">
<SubType>Component</SubType>
</Compile>
@@ -158,6 +164,9 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="KilometerAuswertung.resx">
<DependentUpon>KilometerAuswertung.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="QuittierungsbelegPK.resx">
<DependentUpon>QuittierungsbelegPK.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -1,13 +1,76 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace Akgg
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateQueryReport(long queryOid, string queryReportId)
{
if (queryOid == 200)
return CreateKilometerbeleg(queryOid, queryReportId);
return base.CreateQueryReport(queryOid, queryReportId);
}
private XtraReport CreateKilometerbeleg(long queryOid, string queryReportId)
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
if (query == null)
return new XtraReport();
var path = Path.Combine(TempPath, queryReportId + ".xml");
var table = Utils.XMLDeserialize<DataTable>(path);
var qro = QueryRO.Create(query, table);
if (qro.Rows.Count > 0)
{
DateTime dt = DateTime.Now;
DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt);
dt = dt.AddMonths(1).AddDays(-1);
DateTime dtStart = new DateTime(dt.Year, dt.Month, 1);
long? customerOid = null;
if (qro.Rows[0].Field2 != null && qro.Rows[0].Field2.ToString() != "0")
{
customerOid = Int64.Parse(qro.Rows[0].Field2.ToString());
//var customer = DAOFactory.GenericDAO.LoadByID<Customer>(customerOid.Value);
var ro = ServicesOverviewRO.Create(customerOid.Value, dt.Month, dt.Year, false, 0, 0, 1, dt.Day, null);
var druck = new Akgg.Kilometerbeleg();
druck.SetReportDataSource(ro);
return druck;
}
if (customerOid == null)
{
XtraReport masterReport = new XtraReport();
masterReport.CreateDocument();
var customerList = DAOFactory.GenericDAO.GetAllActive<Customer>();
foreach (var c in customerList)
{
var cRo = ServicesOverviewRO.Create(c.Oid.Value, dt.Month, dt.Year, false, 0, 0, 1, dt.Day, null);
var seite1 = new Akgg.Kilometerbeleg();
seite1.SetReportDataSource(cRo);
seite1.CreateDocument();
masterReport.Pages.AddRange(seite1.Pages);
}
return masterReport;
}
}
return new XtraReport();
}
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid);

View File

@@ -0,0 +1,608 @@
using BeWo.Report.ReportObjects;
namespace Akgg
{
partial class Kilometerbeleg
{
/// <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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Kilometerbeleg));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
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.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblKategorie = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblBewilligteStunden = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = 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.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Expanded = false;
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1});
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.HeightF = 20F;
this.Detail1.Name = "Detail1";
this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
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.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 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(697.6389F, 20F);
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.xrTableCell8,
this.xrTableCell7,
this.xrTableCell12,
this.xrTableCell50});
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 = 1D;
//
// 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.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
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.1151080713251782D;
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")});
this.xrTableCell8.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell8.Weight = 0.1151080713251782D;
//
// xrTableCell7
//
this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.GefahreneKilometer")});
this.xrTableCell7.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.1151080713251782D;
//
// xrTableCell12
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceCategory", "{0:0.00}")});
this.xrTableCell12.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.Weight = 0.24839044938524055D;
//
// xrTableCell50
//
this.xrTableCell50.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeFullname")});
this.xrTableCell50.Font = new System.Drawing.Font("Calibri", 11.25F);
this.xrTableCell50.Name = "xrTableCell50";
this.xrTableCell50.StylePriority.UseBorders = false;
this.xrTableCell50.StylePriority.UseFont = false;
this.xrTableCell50.StylePriority.UsePadding = false;
this.xrTableCell50.StylePriority.UseTextAlignment = false;
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell50.Weight = 0.25158803505397809D;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.GroupHeader1.HeightF = 45F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTableServiceRecords1
//
this.xrTableServiceRecords1.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableServiceRecords1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 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.xrTableRow1});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(697.6388F, 45F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
this.xrTableServiceRecords1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell2,
this.xrTableCell5,
this.lblKategorie,
this.xrTableCell48});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow2.Weight = 0.48945783132530124D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell3.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Datum";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell3.Weight = 0.26536310905417793D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell2.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell2.Weight = 0.26536310905417793D;
//
// xrTableCell5
//
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell5.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "gefahrene";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell5.Weight = 0.26536310905417793D;
//
// lblKategorie
//
this.lblKategorie.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.lblKategorie.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblKategorie.Multiline = true;
this.lblKategorie.Name = "lblKategorie";
this.lblKategorie.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblKategorie.StylePriority.UseBorders = false;
this.lblKategorie.StylePriority.UseFont = false;
this.lblKategorie.StylePriority.UsePadding = false;
this.lblKategorie.StylePriority.UseTextAlignment = false;
this.lblKategorie.Text = "Leistungskategorie";
this.lblKategorie.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.lblKategorie.Weight = 0.57262562345803214D;
//
// xrTableCell48
//
this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell48.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell48.Multiline = true;
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.StylePriority.UseBorders = false;
this.xrTableCell48.StylePriority.UseFont = false;
this.xrTableCell48.StylePriority.UseTextAlignment = false;
this.xrTableCell48.Text = "Mitarbeiter";
this.xrTableCell48.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell48.Weight = 0.57999653282362529D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell4,
this.xrTableCell6,
this.lblBewilligteStunden,
this.xrTableCell49});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.6118222424782902D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.Weight = 0.26536308774302592D;
//
// xrTableCell4
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.Weight = 0.26536308774302592D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Font = new System.Drawing.Font("Calibri", 11.25F);
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Kilometer";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell6.Weight = 0.26536308774302592D;
//
// lblBewilligteStunden
//
this.lblBewilligteStunden.BackColor = System.Drawing.Color.Gainsboro;
this.lblBewilligteStunden.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblBewilligteStunden.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblBewilligteStunden.Multiline = true;
this.lblBewilligteStunden.Name = "lblBewilligteStunden";
this.lblBewilligteStunden.StylePriority.UseBackColor = false;
this.lblBewilligteStunden.StylePriority.UseBorders = false;
this.lblBewilligteStunden.StylePriority.UseFont = false;
this.lblBewilligteStunden.StylePriority.UseTextAlignment = false;
this.lblBewilligteStunden.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.lblBewilligteStunden.Weight = 0.57262560560464493D;
//
// xrTableCell49
//
this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell49.Font = new System.Drawing.Font("Calibri", 8F);
this.xrTableCell49.Multiline = true;
this.xrTableCell49.Name = "xrTableCell49";
this.xrTableCell49.StylePriority.UseBorders = false;
this.xrTableCell49.StylePriority.UseFont = false;
this.xrTableCell49.StylePriority.UseTextAlignment = false;
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell49.Weight = 0.5799965778597268D;
//
// 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.xrLabel7,
this.xrLabel6,
this.xrLabel5,
this.xrLabel2});
this.ReportHeader.HeightF = 118.5417F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel7
//
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalGefahreneKilometerString", "Kilometer gesamt: {0:}")});
this.xrLabel7.Font = new System.Drawing.Font("Calibri", 11.25F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(23.3194F, 74.77779F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(365.6404F, 25F);
this.xrLabel7.StylePriority.UseFont = false;
//
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel6.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 50.77779F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(365.64F, 24F);
this.xrLabel6.StylePriority.UseBackColor = false;
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UsePadding = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "[CustomerName]";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel5.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(388.9597F, 0F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(159.9986F, 25F);
this.xrLabel5.StylePriority.UseBackColor = false;
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UsePadding = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "[Month] [Year]";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Calibri", 14F, System.Drawing.FontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 0F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(365.64F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Auswertung über gefahrene Kilometer";
this.xrLabel2.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.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.topMarginBand1.HeightF = 121F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(548.5628F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(198.4372F, 120.625F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// fieldKontaktArt
//
this.fieldKontaktArt.DataMember = "Services";
this.fieldKontaktArt.Expression = "Iif([IsGroup], \'GR\', \'E\')";
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// PageFooter
//
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo1,
this.xrPageInfo2});
this.PageFooter.HeightF = 47.95836F;
this.PageFooter.Name = "PageFooter";
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 24.95836F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(231.2502F, 23F);
this.xrPageInfo1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo2.Format = "Seite {0} von {1}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(477.6284F, 24.95836F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(243.33F, 23F);
this.xrPageInfo2.StylePriority.UseFont = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// Kilometerbeleg
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.PageFooter});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldKontaktArt});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(50, 30, 121, 30);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).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.ReportHeaderBand ReportHeader;
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 xrLabel2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.XRTable xrTableServiceRecords1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell lblKategorie;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell48;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell lblBewilligteStunden;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell49;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell50;
private DevExpress.XtraReports.UI.CalculatedField fieldKontaktArt;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
}
}

View File

@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.ServiceImplementations;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
namespace Akgg
{
public partial class Kilometerbeleg : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public Kilometerbeleg()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable)
{
sd.Minutes = sd.Minutes / 60;
servicesBillable.Add(sd);
}
}
pRO.Services = servicesBillable;
}
bindingSource1.DataSource = pRO;
}
}
}

View File

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

View File

@@ -291,14 +291,13 @@ namespace AbwMuenster
//
// xrLabel19
//
this.xrLabel19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel19.CanGrow = false;
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 20.00001F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 20F);
this.xrLabel19.Multiline = true;
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel19.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel19.SizeF = new System.Drawing.SizeF(153.5624F, 73.24998F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(140.0208F, 73.24997F);
this.xrLabel19.StylePriority.UseBorders = false;
this.xrLabel19.StylePriority.UseFont = false;
this.xrLabel19.Text = "Ansprechpartner/in:\r\nTelefon:\r\nFax:\r\nE-Mail:";
@@ -312,18 +311,19 @@ namespace AbwMuenster
this.lblAdresseLori.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.lblAdresseLori.SizeF = new System.Drawing.SizeF(309.1667F, 108.25F);
this.lblAdresseLori.StylePriority.UseFont = false;
this.lblAdresseLori.Text = "*";
this.lblAdresseLori.Text = "ABW MÜNSTER\r\nDomhöver Klein Mannefeld Schulz GbR\r\nHoher Heckenweg 99\r\n48147 Münst" +
"er";
//
// xrLabel1
//
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel1.CanGrow = false;
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(493.56F, 20.00001F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 20F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel1.SizeF = new System.Drawing.SizeF(179.7589F, 73.24997F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(236.9816F, 73.24997F);
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "[SenderContactPerson]\r\n[SenderContactPersonPhone]\r\n[SenderContactPersonFax]\r\n[Sen" +
@@ -331,6 +331,7 @@ namespace AbwMuenster
//
// xrLabel2
//
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 93.24995F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
@@ -360,12 +361,13 @@ namespace AbwMuenster
//
// xrLabel11
//
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(493.56F, 93.24998F);
this.xrLabel11.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 93.24997F);
this.xrLabel11.Multiline = true;
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel11.SizeF = new System.Drawing.SizeF(153.5624F, 73.24998F);
this.xrLabel11.SizeF = new System.Drawing.SizeF(193.3008F, 73.24997F);
this.xrLabel11.StylePriority.UseBorders = false;
this.xrLabel11.StylePriority.UseFont = false;
this.xrLabel11.Text = "9021318";
@@ -387,21 +389,24 @@ namespace AbwMuenster
//
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "Münster, {0}")});
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(493.5575F, 0F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 0F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(170.0022F, 20.00001F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(193.3007F, 20.00001F);
this.xrLabel6.StylePriority.UseBorders = false;
//
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 0F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel5.SizeF = new System.Drawing.SizeF(153.56F, 20F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(140.0208F, 20F);
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Ort, Datum";

View File

@@ -20,6 +20,20 @@ namespace AbwMuenster
public void SetReportDataSource(SettlementRO pRO)
{
if (!String.IsNullOrEmpty(pRO.SenderContactPersonPhone))
{
pRO.SenderContactPersonPhone = pRO.SenderContactPersonPhone.Replace("Tel.:", "").Trim();
}
if (!String.IsNullOrEmpty(pRO.SenderContactPersonFax))
{
pRO.SenderContactPersonFax = pRO.SenderContactPersonFax.Replace("Fax:", "").Trim();
}
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
{
pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("E-Mail:", "").Trim();
}
xrCheckBox2.Checked = true;
if (pRO.CostBearer2SupportConceptOid > 0)

View File

@@ -39,6 +39,81 @@ namespace ApiBerlin.Validation
}
}
bool isGroupRecord = (cb2scOids != null && cb2scOids.Count > 1) ||
(employeeOids != null && employeeOids.Count > 1);
DateTime start = newServiceRecord.Start.Value;
bool noTime = (start.Hour == 0 && start.Minute == 0 && start.Second == 1); //Keine Zeit angegeben
var duration = (decimal)newServiceRecord.End.Value.Subtract(newServiceRecord.Start.Value).TotalMinutes;
if (!noTime && duration == 0)
{
noTime = true;
}
newServiceRecord.RoundedDuration = duration;
decimal roundedDuration = duration;
var srdc = PluginLoader.FindClass<ServiceRecordDurationCalculator>();
if (srdc != null)
{
srdc.CalculateRoundedDuration(newServiceRecord);
roundedDuration = newServiceRecord.RoundedDuration;
}
decimal? grd = newServiceRecord.GroupRoundedDuration;
if (isGroupRecord)
{
var groupcalc = PluginLoader.FindClass<GroupDurationCalculator>();
if (groupcalc != null)
{
var gd = groupcalc.CalculateGroupDuration(cb2scOids.Count, employeeOids.Count, duration, cb2scOids.ToArray());
if (gd == null)
{
grd = roundedDuration;
roundedDuration = Math.Round(roundedDuration / cb2scOids.Count, 0, MidpointRounding.AwayFromZero);
}
else
{
grd = gd.TotalDuration;
roundedDuration = gd.SingleDuration;
}
}
}
//var minuteInterval = cbDC.ActualMinuteIntervall;
//if (minuteInterval > 0)
newServiceRecord.RoundedDuration = roundedDuration;
decimal rd = newServiceRecord.RoundedDuration;
if (!isGroupRecord)
{
ServiceRecordValidationResultDC resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, newServiceRecord.Employee.EmployeeOid, rd);
if (resultdc != null)
result.Add(resultdc);
}
else if (employeeOids != null)
{
foreach (long employeeOid in employeeOids)
{
ServiceRecordValidationResultDC resultdc = null;
if (resultdc == null)
{
resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, employeeOid, grd ?? rd);
if (resultdc != null)
result.Add(resultdc);
}
}
}
return result;
}
}

View File

@@ -4,7 +4,7 @@ using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
using DevExpress.XtraReports.UI;
namespace AutismusKoelnBonn
@@ -22,7 +22,15 @@ namespace AutismusKoelnBonn
// jeder Klient ist derzeit wirklich nur in einem Team
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
string poBox = null;
if (pRO.RecipientOrganisation.ToLower() != "selbstzahler" && pRO.InvoiceBase.RecipientContactInformations.Count > 0)
{
foreach (var i in pRO.InvoiceBase.RecipientContactInformations)
{
if (i.ContactType == BS.Shared.ContactType.private_POBox)
poBox = i.ContactValue;
}
}
StringBuilder sb = new StringBuilder();
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1) && !String.IsNullOrEmpty(pRO.RecipientAddressLine1.Trim()) && pRO.RecipientOrganisation.Contains(pRO.CustomerLastName))
@@ -45,11 +53,15 @@ namespace AutismusKoelnBonn
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
if (pRO.RecipientOrganisation.ToLower() != "selbstzahler" && !String.IsNullOrEmpty(poBox))
{
sb.AppendLine(poBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientPoBox);
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet) && String.IsNullOrEmpty(pRO.RecipientPoBox))
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
@@ -66,6 +78,8 @@ namespace AutismusKoelnBonn
c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.ServiceInvoicePeriods[0].Customer.Oid ?? 0);
if (c.Team2CustomerList.Count > 0)
team = c.Team2CustomerList[0].Team.Name;
if (c.Person.Sex == Sex.Divers)
pRO.CustomerSalutation = "Liebe*r";
}
if (team.Contains("Team Bonn"))
@@ -122,6 +136,8 @@ namespace AutismusKoelnBonn
lblAnrede.Text = String.Format("Sehr geehrter Herr {0},", pRO.CustomerLastName);
else if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation.ToLower().Contains("frau"))
lblAnrede.Text = String.Format("Sehr geehrte Frau {0},", pRO.CustomerLastName);
else if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation.ToLower().Contains("liebe"))
lblAnrede.Text = String.Format("{0} {1} {2},", pRO.CustomerSalutation, pRO.CustomerFirstName, pRO.CustomerLastName);
}
this.bindingSource1.DataSource = pRO;

View File

@@ -1,7 +1,10 @@
using BeWo.Data.Entities;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -15,5 +18,43 @@ namespace AutismusKoelnBonn.Invoicing
{
invoice.InvoiceBase.InvoiceId = "Faktor";
}
//public override void BerechneSummaryItemsSummen(List<InvoiceItem> newlist, bool addRateFactorToUnitCount)
//{
// base.BerechneSummaryItemsSummen(newlist, true);
//}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var invoiceItem = new InvoiceItem();
BillingData bd = calc.GetBillingData(iServiceRecord);
invoiceItem.ItemDescription = iServiceRecord.ServiceDescription.Name; //iServiceRecord.Employee + " - " + iServiceRecord.ServiceDescription.Name;
invoiceItem.AmountPerUnit = bd.AmountPerUnit;
invoiceItem.UnitCount = bd.UnitCount;
invoiceItem.ItemPeriodStart = bd.BillingPeriodStart;
invoiceItem.ItemPeriodEnd = bd.BillingPeriodEnd;
invoiceItem.AccountingInterval = bd.AccountingInterval;
invoiceItem.ItemDescription = iServiceRecord.ServiceDescription.Name; //iServiceRecord.Employee + " - " + iServiceRecord.ServiceDescription.Name;
invoiceItem.ServiceRecord = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(iServiceRecord.ServiceRecordOid.Value);
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
if (iServiceRecord.ServiceDescription.Name == "Fallpauschale")
{
invoiceItem.AmountTotal = bd.AmountPerUnit * bd.UnitCount;
invoiceItem.RateFactor = null;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
}
else
{
invoiceItem.AmountTotal = bd.AmountTotal;
invoiceItem.RateFactor = iServiceRecord.CostBearer.ActualRateFactor;
invoiceItem.GrossAmountTotal = bd.AmountTotal + (bd.AmountTotal * iServiceRecord.CostBearer.ActualRateFactor / 100);
}
return invoiceItem;
}
}
}

View File

@@ -94,9 +94,9 @@ namespace AutismusKoelnBonn
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.AnteilFaktor = new DevExpress.XtraReports.UI.CalculatedField();
this.StdFaktor = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText6)).BeginInit();
@@ -720,6 +720,8 @@ namespace AutismusKoelnBonn
this.xrTableCell40.BorderColor = System.Drawing.Color.Black;
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
this.xrTableCell40.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
@@ -775,7 +777,7 @@ namespace AutismusKoelnBonn
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AnteilFaktor", "{0:n2}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Notice", "{0:n2}")});
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
@@ -794,7 +796,7 @@ namespace AutismusKoelnBonn
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.StdFaktor", "{0:n2}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCountString", "{0:n2}")});
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
@@ -812,7 +814,7 @@ namespace AutismusKoelnBonn
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.##} €")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AmountPerUnit", "{0:0.00} €")});
this.xrTableCell44.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell44.Name = "xrTableCell44";
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
@@ -1014,10 +1016,6 @@ namespace AutismusKoelnBonn
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 0.52190865825182176D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// AnteilFaktor
//
this.AnteilFaktor.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
@@ -1030,6 +1028,10 @@ namespace AutismusKoelnBonn
this.StdFaktor.Expression = "[Hours]*1.2";
this.StdFaktor.Name = "StdFaktor";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// ServiceInvoiceReportFactor
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -23,10 +23,20 @@ namespace AutismusKoelnBonn
// jeder Klient ist derzeit wirklich nur in einem Team
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
string poBox = null;
if (pRO.InvoiceBase.RecipientContactInformations.Count > 0)
{
foreach (var i in pRO.InvoiceBase.RecipientContactInformations)
{
if (i.ContactType == BS.Shared.ContactType.private_POBox)
poBox = i.ContactValue;
}
}
StringBuilder sb = new StringBuilder();
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1) && !String.IsNullOrEmpty(pRO.RecipientAddressLine1.Trim()) && pRO.RecipientOrganisation.Contains(pRO.CustomerLastName))
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1) && !String.IsNullOrEmpty(pRO.RecipientAddressLine1.Trim())))
//{
// sb.AppendLine(pRO.RecipientAddressLine1);
//}
@@ -46,11 +56,15 @@ namespace AutismusKoelnBonn
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
if (!String.IsNullOrEmpty(poBox))
{
sb.AppendLine(poBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientPoBox);
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet) && String.IsNullOrEmpty(pRO.RecipientPoBox))
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
@@ -97,6 +111,31 @@ namespace AutismusKoelnBonn
lblHeaderKoeln.Visible = false;
lblTeamKoeln.Visible = false;
}
foreach (var sip in pRO.ServiceInvoicePeriods)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
ii.Notice = "";
ii.UnitCountString = "";
double hours = (double)Convert.ToDecimal(ii.Hours ?? 1);
if (ii.ServiceDescription != "Fallpauschale")
{
ii.ServiceDescription = "Fachleistungsstunden";
if (ii.Hours != null && ii.Hours != 0)
{
ii.Notice = String.Format("{0:0.00}", hours * 0.2);
ii.UnitCountString = String.Format("{0:0.00}", hours * 1.2);
}
}
else
{
ii.UnitCountString = String.Format("{0:0.00}", hours);
}
}
}
this.bindingSource1.DataSource = pRO;
}
}

View File

@@ -18,6 +18,17 @@ namespace AutismusKoelnBonn.Alt
public void SetReportDataSource(SettlementRO pRO)
{
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
string poBox = null;
if (cb2sc.CostBearer.Organisation.Contacts.Count > 0)
{
foreach (var i in cb2sc.CostBearer.Organisation.Contacts)
{
if (i.Type == BS.Shared.ContactType.private_POBox)
poBox = i.Value;
}
}
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
@@ -28,19 +39,23 @@ namespace AutismusKoelnBonn.Alt
{
sb.AppendLine(pRO.RecipientDivision);
}
//Angaben aus Rechnungsadresse
//var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
//if (!String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1))
//{
// sb.AppendLine(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1);
// }
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
//Angaben aus Rechnungsadresse
//var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
if (!String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1))
{
sb.AppendLine(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
}
if (!String.IsNullOrEmpty(poBox))
{
sb.AppendLine(pRO.RecipientStreet);
sb.AppendLine(poBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
{
sb.AppendLine(pRO.RecipientPoBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
@@ -112,11 +127,12 @@ namespace AutismusKoelnBonn.Alt
pRO.AmountRecordedFLSString = String.Format("{0:c}", pRO.AmountRecordedFLS - pRO.Eigenbeteiligung);
if (pRO.AbsenceTimes == "")
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: keiner / im Monat {0:MM.yyyy}, siehe Quittierungsbeleg.", pRO.AccountingEndDate);
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: keiner");
else
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: {0}, siehe Quittierungsbeleg(e).", pRO.AbsenceTimes);
string team = "MoveAut Team Köln";
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
var c = cb2sc.SupportConcept.Customer;
if (c.Team2CustomerList.Count > 0)
team = c.Team2CustomerList[0].Team.Name;

View File

@@ -7,6 +7,7 @@ using BeWo.Report.ReportObjects;
using BeWo.Report;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using System.Text;
namespace AutismusKoelnBonn
{
@@ -19,7 +20,8 @@ namespace AutismusKoelnBonn
public void SetReportDataSource(Settlement2RO pRO)
{
string poBox = null;
string AddressLine1 = null;
decimal rateFactor = 1;
foreach (var ii in pRO.InvoiceItems)
@@ -35,13 +37,26 @@ namespace AutismusKoelnBonn
pRO.AmountBillableTotal = pRO.AmountBillableTotal - pRO.Eigenbeteiligung ?? 0;
if (pRO.AbsenceTimes == "")
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: keiner / im Monat {0:MM.yyyy}, siehe Quittierungsbeleg.", pRO.AccountingEndDate);
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: keiner");
else
pRO.AbsenceTimes = String.Format("Stationärer Aufenthalt: {0}, siehe Quittierungsbeleg(e).", pRO.AbsenceTimes);
string team = "MoveAut Team Köln";
if (pRO.InvoiceBaseOid.HasValue)
{
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(pRO.InvoiceBaseOid.Value);
var c = ib.CostBearer2SupportConcept.SupportConcept.Customer;
if (ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts.Count > 0)
{
foreach (var i in ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts)
{
if (i.Type == BS.Shared.ContactType.private_POBox)
poBox = i.Value;
}
}
if (!String.IsNullOrEmpty(ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.AddressLine1))
AddressLine1 = ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.AddressLine1;
if (c.Team2CustomerList.Count > 0)
team = c.Team2CustomerList[0].Team.Name;
@@ -77,6 +92,45 @@ namespace AutismusKoelnBonn
//}
}
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision))
{
sb.AppendLine(pRO.RecipientDivision);
}
//Angaben aus Rechnungsadresse
//var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
if (!String.IsNullOrEmpty(AddressLine1))
{
sb.AppendLine(AddressLine1);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(poBox))
{
sb.AppendLine(poBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientPostBox))
{
sb.AppendLine(pRO.RecipientPostBox);
}
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
{
sb.AppendLine(pRO.RecipientPostCodeAndTown);
}
lblAdresse.Text = sb.ToString();
foreach (var i in pRO.InvoiceItems)
{
i.DetailDescription = String.Format("Summe der Betreuungsminuten /60x{4:0.00}{3}Faktor in der Zeit von {0:dd.MM.yyyy} bis {1:dd.MM.yyyy} gemäß Anlage: ",

View File

@@ -80,6 +80,7 @@
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomVacationService.cs" />
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
@@ -142,6 +143,10 @@
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Name>Shared</Name>

View File

@@ -10,14 +10,14 @@ namespace BeWoNordeifel
{
public override List<DateTime> GetFeiertage(int year)
{
var list = base.GetFeiertage(year);
//public override List<DateTime> GetFeiertage(int year)
//{
// var list = base.GetFeiertage(year);
list.Remove(new DateTime(year, 12, 24));
// list.Remove(new DateTime(year, 12, 24));
return list;
}
// return list;
//}
}

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Core;
using BeWo.Service.Plugins;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using Utils = BS.Shared.Core.Utils;
namespace BeWoNordeifel.Service
{
public class CustomVacationService : VacationService
{
public override List<DateTime> GetFeiertage(int year)
{
var list = base.GetFeiertage(year);
list.Remove(new DateTime(year, 12, 24));
return list;
}
}
}

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B5123AA3-DA8D-40B8-8D16-FB86920454EB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CaritasHeilbronnHohenlohe</RootNamespace>
<AssemblyName>5240630948_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="JahresauswertungHelper.cs" />
<Compile Include="JahresauswertungMissinglist2022.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="JahresauswertungMissinglist2022.Designer.cs">
<DependentUpon>JahresauswertungMissinglist2022.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="JahresauswertungMissinglist2022.resx">
<DependentUpon>JahresauswertungMissinglist2022.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,460 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Entities;
using BeWo.Data.ICD10;
using BS.Shared;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
namespace CaritasHeilbronnHohenlohe
{
public class JahresauswertungHelper
{
public static bool AddDiagnoseZuDict(Customer customer, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht)
{
bool hasDiagnose = false;
foreach (var d2c in customer.Diagnosis2CustomerList)
{
if (customer.Person.Sex.HasValue)
{
hasDiagnose = true;
var code = d2c.ICD10DiagnosisCode;
var diagnose = ICD10DAO.GetDiagnosisForCode(code);
String key = String.Format("{0} - {1}", code, diagnose);
if (!diagnose2Geschlecht.ContainsKey(key))
{
diagnose2Geschlecht.Add(key, new AnzahlJeGeschlecht());
}
if (customer.Person.Sex.Value == Sex.Male)
{
diagnose2Geschlecht[key].Maennlich += 1;
}
else if (customer.Person.Sex.Value == Sex.Female)
{
diagnose2Geschlecht[key].Weiblich += 1;
}
else
{
diagnose2Geschlecht[key].Divers += 1;
}
}
}
return hasDiagnose;
}
public static void CreateDiagnoseTable(XRTable table, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht, string unbekanntLabel, int ohneDiagnoseW, int ohneDiagnoseM)
{
var sortedKeys = diagnose2Geschlecht.Keys.OrderByDescending(k => k).ToList();
int idx = sortedKeys.Count;
int summeM = 0;
int summeW = 0;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
AnzahlJeGeschlecht ajg = diagnose2Geschlecht[key];
newRow.Cells[0].Text = String.Format("{0}", idx--);
newRow.Cells[1].Text = key;
newRow.Cells[2].Text = String.Format("{0}", ajg.Weiblich);
newRow.Cells[3].Text = String.Format("{0}", ajg.Maennlich);
newRow.Cells[4].Text = String.Format("{0}", ajg.Weiblich + ajg.Maennlich);
summeW += ajg.Weiblich;
summeM += ajg.Maennlich;
}
var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
unbekanntRow.Cells[1].Text = unbekanntLabel;
unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[1].Text = String.Format("{0}", summeW + ohneDiagnoseW);
table.Rows[table.Rows.Count - 2].Cells[2].Text = String.Format("{0}", summeM + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[3].Text = String.Format("{0}", summeW + summeM + ohneDiagnoseW + ohneDiagnoseM);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
public static bool AddDiagnoseZuDict2(Customer customer, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht)
{
bool hasDiagnose = false;
if (customer.Person.Sex.HasValue)
{
foreach (var d2c in customer.Diagnosis2CustomerList)
{
var code = d2c.ICD10DiagnosisCode;
if (code.StartsWith("F") && !hasDiagnose)
{
hasDiagnose = true;
String key = code;
if (code.Contains(".") && code.IndexOf(".") > 0)
{
key = code.Substring(0, code.IndexOf("."));
}
if (!diagnose2Geschlecht.ContainsKey(key))
{
diagnose2Geschlecht.Add(key, new AnzahlJeGeschlecht());
}
if (customer.Person.Sex.Value == Sex.Male)
{
diagnose2Geschlecht[key].Maennlich += 1;
}
else
{
diagnose2Geschlecht[key].Weiblich += 1;
}
}
}
}
return hasDiagnose;
}
public static bool AddDiagnoseZuDict3(Customer customer, Dictionary<string, int> diagnose2Anzahl)
{
bool hasDiagnose = false;
foreach (var d2c in customer.Diagnosis2CustomerList)
{
var code = d2c.ICD10DiagnosisCode;
if (code.StartsWith("F") && !hasDiagnose)
{
hasDiagnose = true;
String key = code;
if (code.Contains(".") && code.IndexOf(".") > 0)
{
key = code.Substring(0, code.IndexOf("."));
}
if (!diagnose2Anzahl.ContainsKey(key))
{
diagnose2Anzahl[key] = 0;
}
diagnose2Anzahl[key] += 1;
}
}
return hasDiagnose;
}
public static void CreateDiagnoseTable2(XRTable table, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht, string unbekanntLabel, int ohneDiagnoseW, int ohneDiagnoseM)
{
int summeM = 0;
int summeW = 0;
var code2BeschreibungDict = new Dictionary<string, string>();
var diagnosen2AnzahlDict = new Dictionary<string, AnzahlJeGeschlecht>();
code2BeschreibungDict.Add("F00-F09", "F00-F09 Organische, einschließlich symptomatischer psychischer Störungen (z.B. Demenz)");
code2BeschreibungDict.Add("F10-F19", "F10-F19 Psychische und Verhaltensstörungen durch psychotrope Substanzen (z.B. Sucht)");
code2BeschreibungDict.Add("F20-F29", "F20-F29 Schizophrenie, schizotype und wahnhafte Störungen (z.B. schizophrene Psychose)");
code2BeschreibungDict.Add("F30-F39", "F30-F39 Affektive Störungen (z.B. Depression, Manie)");
code2BeschreibungDict.Add("F40-F49", "F40-F49 Neurotische, Belastungs- und somatoforme Störungen");
code2BeschreibungDict.Add("F50-F59", "F50-F59 Verhaltensauffälligkeiten mit körperlichen Störungen und Faktoren (z.B. Essstörung)");
code2BeschreibungDict.Add("F60-F69", "F60-F69 Persönlichkeits- und Verhaltensstörungen (z.B. Borderline- Persönlichkeit)");
code2BeschreibungDict.Add("F70-F79", "F70-F79 Intelligenzminderung");
code2BeschreibungDict.Add("F80-F89", "F80-F89 Entwicklungsstörungen");
code2BeschreibungDict.Add("F90-F98", "F90-F98 Verhaltens- und emotionale Störungen mit Beginn in der Kindheit und Jugend");
code2BeschreibungDict.Add("F99", "F99 Nicht näher bezeichnete Psychische Störung");
diagnosen2AnzahlDict.Add("F00-F09", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F10-F19", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F20-F29", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F30-F39", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F40-F49", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F50-F59", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F60-F69", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F70-F79", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F80-F89", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F90-F98", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F99", new AnzahlJeGeschlecht());
var test = "F20".CompareTo("F19");
foreach (var code in diagnose2Geschlecht.Keys)
{
AnzahlJeGeschlecht ajg = diagnose2Geschlecht[code];
String dictKey = "";
if (code.CompareTo("F00") >= 0 && code.CompareTo("F09") <= 0)
{
dictKey = "F00-F09";
}
else if (code.CompareTo("F10") >= 0 && code.CompareTo("F19") <= 0)
{
dictKey = "F10-F19";
}
else if (code.CompareTo("F20") >= 0 && code.CompareTo("F29") <= 0)
{
dictKey = "F20-F29";
}
else if (code.CompareTo("F30") >= 0 && code.CompareTo("F39") <= 0)
{
dictKey = "F30-F39";
}
else if (code.CompareTo("F40") >= 0 && code.CompareTo("F49") <= 0)
{
dictKey = "F40-F49";
}
else if (code.CompareTo("F50") >= 0 && code.CompareTo("F59") <= 0)
{
dictKey = "F50-F59";
}
else if (code.CompareTo("F60") >= 0 && code.CompareTo("F69") <= 0)
{
dictKey = "F60-F69";
}
else if (code.CompareTo("F70") >= 0 && code.CompareTo("F79") <= 0)
{
dictKey = "F70-F79";
}
else if (code.CompareTo("F80") >= 0 && code.CompareTo("F89") <= 0)
{
dictKey = "F80-F89";
}
else if (code.CompareTo("F90") >= 0 && code.CompareTo("F98") <= 0)
{
dictKey = "F90-F98";
}
else
{
dictKey = "F99";
}
if (diagnosen2AnzahlDict.ContainsKey(dictKey))
{
diagnosen2AnzahlDict[dictKey].Maennlich += ajg.Maennlich;
diagnosen2AnzahlDict[dictKey].Weiblich += ajg.Weiblich;
}
}
var sortedKeys = code2BeschreibungDict.Keys.OrderByDescending(k => k).ToList();
int idx = code2BeschreibungDict.Keys.Count;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
AnzahlJeGeschlecht ajg = diagnosen2AnzahlDict[key];
newRow.Cells[0].Text = String.Format("{0}",idx--);
newRow.Cells[1].Text = code2BeschreibungDict[key];
newRow.Cells[2].Text = String.Format("{0}", ajg.Weiblich);
newRow.Cells[3].Text = String.Format("{0}", ajg.Maennlich);
newRow.Cells[4].Text = String.Format("{0}", ajg.Weiblich + ajg.Maennlich);
summeW += ajg.Weiblich;
summeM += ajg.Maennlich;
}
var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
unbekanntRow.Cells[1].Multiline = true;
unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
unbekanntRow.Cells[1].Text = unbekanntLabel;
unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[1].Text = String.Format("{0}", summeW + ohneDiagnoseW);
table.Rows[table.Rows.Count - 2].Cells[2].Text = String.Format("{0}", summeM + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[3].Text = String.Format("{0}", summeW + summeM + ohneDiagnoseW + ohneDiagnoseM);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
public static void CreateDiagnoseTable3(XRTable table, Dictionary<string, int> diagnose2Anzahl, string unbekanntString)
{
var code2BeschreibungDict = new Dictionary<string, string>();
var diagnosen2GesamtAnzahl = new Dictionary<string, int>();
code2BeschreibungDict.Add("F00-F09", "Organische, einschließlich symptomatischer psychischer Störungen (z.B. Demenz)");
code2BeschreibungDict.Add("F10-F19", "Psychische und Verhaltensstörungen durch psychotrope Substanzen (z.B. Sucht)");
code2BeschreibungDict.Add("F20-F29", "Schizophrenie, schizotype und wahnhafte Störungen (z.B. schizophrene Psychose)");
code2BeschreibungDict.Add("F30-F39", "Affektive Störungen (z.B. Depression, Manie)");
code2BeschreibungDict.Add("F40-F49", "Neurotische, Belastungs- und somatoforme Störungen");
code2BeschreibungDict.Add("F50-F59", "Verhaltensauffälligkeiten mit körperlichen Störungen und Faktoren (z.B. Essstörung)");
code2BeschreibungDict.Add("F60-F69", "Persönlichkeits- und Verhaltensstörungen (z.B. Borderline-Persönlichkeit)");
code2BeschreibungDict.Add("F70-F79", "Intelligenzminderung");
code2BeschreibungDict.Add("F80-F89", "Entwicklungsstörungen");
code2BeschreibungDict.Add("F90-F98", "Verhaltens- und emotionale Störungen mit Beginn in der Kindheit und Jugend");
code2BeschreibungDict.Add("ZZZ", "psychiatrische Diagnose unbekannt");
diagnosen2GesamtAnzahl.Add("F00-F09", 0);
diagnosen2GesamtAnzahl.Add("F10-F19", 0);
diagnosen2GesamtAnzahl.Add("F20-F29", 0);
diagnosen2GesamtAnzahl.Add("F30-F39", 0);
diagnosen2GesamtAnzahl.Add("F40-F49", 0);
diagnosen2GesamtAnzahl.Add("F50-F59", 0);
diagnosen2GesamtAnzahl.Add("F60-F69", 0);
diagnosen2GesamtAnzahl.Add("F70-F79", 0);
diagnosen2GesamtAnzahl.Add("F80-F89", 0);
diagnosen2GesamtAnzahl.Add("F90-F98", 0);
diagnosen2GesamtAnzahl.Add("ZZZ", 0);
foreach (var code in diagnose2Anzahl.Keys)
{
var anzahl = diagnose2Anzahl[code];
String dictKey = "";
if (code.CompareTo("F00") >= 0 && code.CompareTo("F09") <= 0)
{
dictKey = "F00-F09";
}
else if (code.CompareTo("F10") >= 0 && code.CompareTo("F19") <= 0)
{
dictKey = "F10-F19";
}
else if (code.CompareTo("F20") >= 0 && code.CompareTo("F29") <= 0)
{
dictKey = "F20-F29";
}
else if (code.CompareTo("F30") >= 0 && code.CompareTo("F39") <= 0)
{
dictKey = "F30-F39";
}
else if (code.CompareTo("F40") >= 0 && code.CompareTo("F49") <= 0)
{
dictKey = "F40-F49";
}
else if (code.CompareTo("F50") >= 0 && code.CompareTo("F59") <= 0)
{
dictKey = "F50-F59";
}
else if (code.CompareTo("F60") >= 0 && code.CompareTo("F69") <= 0)
{
dictKey = "F60-F69";
}
else if (code.CompareTo("F70") >= 0 && code.CompareTo("F79") <= 0)
{
dictKey = "F70-F79";
}
else if (code.CompareTo("F80") >= 0 && code.CompareTo("F89") <= 0)
{
dictKey = "F80-F89";
}
else if (code.CompareTo("F90") >= 0 && code.CompareTo("F98") <= 0)
{
dictKey = "F90-F98";
}
else
{
dictKey = "ZZZ";
}
if (diagnosen2GesamtAnzahl.ContainsKey(dictKey))
{
diagnosen2GesamtAnzahl[dictKey] += anzahl;
}
}
var sortedKeys = code2BeschreibungDict.Keys.OrderByDescending(k => k).ToList();
int idx = code2BeschreibungDict.Keys.Count;
int gesamtSumme = 0;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[2].BackColor = table.Rows[0].Cells[2].BackColor;
int gesamt = diagnosen2GesamtAnzahl[key];
if (key == "ZZZ")
{
newRow.Cells[0].Text = "";
}
else
{
newRow.Cells[0].Text = key;
}
newRow.Cells[1].Text = code2BeschreibungDict[key];
newRow.Cells[2].Text = String.Format("{0}", gesamt);
gesamtSumme += gesamt;
}
//var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
//unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
//unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
//unbekanntRow.Cells[1].Multiline = true;
//unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
//unbekanntRow.Cells[1].Text = unbekanntLabel;
//unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
//unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
//unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 1].Cells[1].Text = String.Format("{0}", gesamtSumme);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
}
public class AnzahlJeGeschlecht
{
public int Maennlich { get; set; }
public int Weiblich { get; set; }
public int Divers { get; set; }
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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>

View File

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

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C1FED668-ADB9-47E0-B589-1389618E1B6E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CaritasLudwigsburgWaiblingenEnz</RootNamespace>
<AssemblyName>7748694330_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="JahresauswertungHelper.cs" />
<Compile Include="JahresauswertungMissinglist2022.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="JahresauswertungMissinglist2022.Designer.cs">
<DependentUpon>JahresauswertungMissinglist2022.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="JahresauswertungMissinglist2022.resx">
<DependentUpon>JahresauswertungMissinglist2022.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,460 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Entities;
using BeWo.Data.ICD10;
using BS.Shared;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
namespace CaritasHeilbronnHohenlohe
{
public class JahresauswertungHelper
{
public static bool AddDiagnoseZuDict(Customer customer, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht)
{
bool hasDiagnose = false;
foreach (var d2c in customer.Diagnosis2CustomerList)
{
if (customer.Person.Sex.HasValue)
{
hasDiagnose = true;
var code = d2c.ICD10DiagnosisCode;
var diagnose = ICD10DAO.GetDiagnosisForCode(code);
String key = String.Format("{0} - {1}", code, diagnose);
if (!diagnose2Geschlecht.ContainsKey(key))
{
diagnose2Geschlecht.Add(key, new AnzahlJeGeschlecht());
}
if (customer.Person.Sex.Value == Sex.Male)
{
diagnose2Geschlecht[key].Maennlich += 1;
}
else if (customer.Person.Sex.Value == Sex.Female)
{
diagnose2Geschlecht[key].Weiblich += 1;
}
else
{
diagnose2Geschlecht[key].Divers += 1;
}
}
}
return hasDiagnose;
}
public static void CreateDiagnoseTable(XRTable table, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht, string unbekanntLabel, int ohneDiagnoseW, int ohneDiagnoseM)
{
var sortedKeys = diagnose2Geschlecht.Keys.OrderByDescending(k => k).ToList();
int idx = sortedKeys.Count;
int summeM = 0;
int summeW = 0;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
AnzahlJeGeschlecht ajg = diagnose2Geschlecht[key];
newRow.Cells[0].Text = String.Format("{0}", idx--);
newRow.Cells[1].Text = key;
newRow.Cells[2].Text = String.Format("{0}", ajg.Weiblich);
newRow.Cells[3].Text = String.Format("{0}", ajg.Maennlich);
newRow.Cells[4].Text = String.Format("{0}", ajg.Weiblich + ajg.Maennlich);
summeW += ajg.Weiblich;
summeM += ajg.Maennlich;
}
var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
unbekanntRow.Cells[1].Text = unbekanntLabel;
unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[1].Text = String.Format("{0}", summeW + ohneDiagnoseW);
table.Rows[table.Rows.Count - 2].Cells[2].Text = String.Format("{0}", summeM + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[3].Text = String.Format("{0}", summeW + summeM + ohneDiagnoseW + ohneDiagnoseM);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
public static bool AddDiagnoseZuDict2(Customer customer, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht)
{
bool hasDiagnose = false;
if (customer.Person.Sex.HasValue)
{
foreach (var d2c in customer.Diagnosis2CustomerList)
{
var code = d2c.ICD10DiagnosisCode;
if (code.StartsWith("F") && !hasDiagnose)
{
hasDiagnose = true;
String key = code;
if (code.Contains(".") && code.IndexOf(".") > 0)
{
key = code.Substring(0, code.IndexOf("."));
}
if (!diagnose2Geschlecht.ContainsKey(key))
{
diagnose2Geschlecht.Add(key, new AnzahlJeGeschlecht());
}
if (customer.Person.Sex.Value == Sex.Male)
{
diagnose2Geschlecht[key].Maennlich += 1;
}
else
{
diagnose2Geschlecht[key].Weiblich += 1;
}
}
}
}
return hasDiagnose;
}
public static bool AddDiagnoseZuDict3(Customer customer, Dictionary<string, int> diagnose2Anzahl)
{
bool hasDiagnose = false;
foreach (var d2c in customer.Diagnosis2CustomerList)
{
var code = d2c.ICD10DiagnosisCode;
if (code.StartsWith("F") && !hasDiagnose)
{
hasDiagnose = true;
String key = code;
if (code.Contains(".") && code.IndexOf(".") > 0)
{
key = code.Substring(0, code.IndexOf("."));
}
if (!diagnose2Anzahl.ContainsKey(key))
{
diagnose2Anzahl[key] = 0;
}
diagnose2Anzahl[key] += 1;
}
}
return hasDiagnose;
}
public static void CreateDiagnoseTable2(XRTable table, Dictionary<string, AnzahlJeGeschlecht> diagnose2Geschlecht, string unbekanntLabel, int ohneDiagnoseW, int ohneDiagnoseM)
{
int summeM = 0;
int summeW = 0;
var code2BeschreibungDict = new Dictionary<string, string>();
var diagnosen2AnzahlDict = new Dictionary<string, AnzahlJeGeschlecht>();
code2BeschreibungDict.Add("F00-F09", "F00-F09 Organische, einschließlich symptomatischer psychischer Störungen (z.B. Demenz)");
code2BeschreibungDict.Add("F10-F19", "F10-F19 Psychische und Verhaltensstörungen durch psychotrope Substanzen (z.B. Sucht)");
code2BeschreibungDict.Add("F20-F29", "F20-F29 Schizophrenie, schizotype und wahnhafte Störungen (z.B. schizophrene Psychose)");
code2BeschreibungDict.Add("F30-F39", "F30-F39 Affektive Störungen (z.B. Depression, Manie)");
code2BeschreibungDict.Add("F40-F49", "F40-F49 Neurotische, Belastungs- und somatoforme Störungen");
code2BeschreibungDict.Add("F50-F59", "F50-F59 Verhaltensauffälligkeiten mit körperlichen Störungen und Faktoren (z.B. Essstörung)");
code2BeschreibungDict.Add("F60-F69", "F60-F69 Persönlichkeits- und Verhaltensstörungen (z.B. Borderline- Persönlichkeit)");
code2BeschreibungDict.Add("F70-F79", "F70-F79 Intelligenzminderung");
code2BeschreibungDict.Add("F80-F89", "F80-F89 Entwicklungsstörungen");
code2BeschreibungDict.Add("F90-F98", "F90-F98 Verhaltens- und emotionale Störungen mit Beginn in der Kindheit und Jugend");
code2BeschreibungDict.Add("F99", "F99 Nicht näher bezeichnete Psychische Störung");
diagnosen2AnzahlDict.Add("F00-F09", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F10-F19", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F20-F29", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F30-F39", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F40-F49", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F50-F59", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F60-F69", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F70-F79", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F80-F89", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F90-F98", new AnzahlJeGeschlecht());
diagnosen2AnzahlDict.Add("F99", new AnzahlJeGeschlecht());
var test = "F20".CompareTo("F19");
foreach (var code in diagnose2Geschlecht.Keys)
{
AnzahlJeGeschlecht ajg = diagnose2Geschlecht[code];
String dictKey = "";
if (code.CompareTo("F00") >= 0 && code.CompareTo("F09") <= 0)
{
dictKey = "F00-F09";
}
else if (code.CompareTo("F10") >= 0 && code.CompareTo("F19") <= 0)
{
dictKey = "F10-F19";
}
else if (code.CompareTo("F20") >= 0 && code.CompareTo("F29") <= 0)
{
dictKey = "F20-F29";
}
else if (code.CompareTo("F30") >= 0 && code.CompareTo("F39") <= 0)
{
dictKey = "F30-F39";
}
else if (code.CompareTo("F40") >= 0 && code.CompareTo("F49") <= 0)
{
dictKey = "F40-F49";
}
else if (code.CompareTo("F50") >= 0 && code.CompareTo("F59") <= 0)
{
dictKey = "F50-F59";
}
else if (code.CompareTo("F60") >= 0 && code.CompareTo("F69") <= 0)
{
dictKey = "F60-F69";
}
else if (code.CompareTo("F70") >= 0 && code.CompareTo("F79") <= 0)
{
dictKey = "F70-F79";
}
else if (code.CompareTo("F80") >= 0 && code.CompareTo("F89") <= 0)
{
dictKey = "F80-F89";
}
else if (code.CompareTo("F90") >= 0 && code.CompareTo("F98") <= 0)
{
dictKey = "F90-F98";
}
else
{
dictKey = "F99";
}
if (diagnosen2AnzahlDict.ContainsKey(dictKey))
{
diagnosen2AnzahlDict[dictKey].Maennlich += ajg.Maennlich;
diagnosen2AnzahlDict[dictKey].Weiblich += ajg.Weiblich;
}
}
var sortedKeys = code2BeschreibungDict.Keys.OrderByDescending(k => k).ToList();
int idx = code2BeschreibungDict.Keys.Count;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
AnzahlJeGeschlecht ajg = diagnosen2AnzahlDict[key];
newRow.Cells[0].Text = String.Format("{0}",idx--);
newRow.Cells[1].Text = code2BeschreibungDict[key];
newRow.Cells[2].Text = String.Format("{0}", ajg.Weiblich);
newRow.Cells[3].Text = String.Format("{0}", ajg.Maennlich);
newRow.Cells[4].Text = String.Format("{0}", ajg.Weiblich + ajg.Maennlich);
summeW += ajg.Weiblich;
summeM += ajg.Maennlich;
}
var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
unbekanntRow.Cells[1].Multiline = true;
unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
unbekanntRow.Cells[1].Text = unbekanntLabel;
unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[1].Text = String.Format("{0}", summeW + ohneDiagnoseW);
table.Rows[table.Rows.Count - 2].Cells[2].Text = String.Format("{0}", summeM + ohneDiagnoseM);
table.Rows[table.Rows.Count - 2].Cells[3].Text = String.Format("{0}", summeW + summeM + ohneDiagnoseW + ohneDiagnoseM);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
public static void CreateDiagnoseTable3(XRTable table, Dictionary<string, int> diagnose2Anzahl, string unbekanntString)
{
var code2BeschreibungDict = new Dictionary<string, string>();
var diagnosen2GesamtAnzahl = new Dictionary<string, int>();
code2BeschreibungDict.Add("F00-F09", "Organische, einschließlich symptomatischer psychischer Störungen (z.B. Demenz)");
code2BeschreibungDict.Add("F10-F19", "Psychische und Verhaltensstörungen durch psychotrope Substanzen (z.B. Sucht)");
code2BeschreibungDict.Add("F20-F29", "Schizophrenie, schizotype und wahnhafte Störungen (z.B. schizophrene Psychose)");
code2BeschreibungDict.Add("F30-F39", "Affektive Störungen (z.B. Depression, Manie)");
code2BeschreibungDict.Add("F40-F49", "Neurotische, Belastungs- und somatoforme Störungen");
code2BeschreibungDict.Add("F50-F59", "Verhaltensauffälligkeiten mit körperlichen Störungen und Faktoren (z.B. Essstörung)");
code2BeschreibungDict.Add("F60-F69", "Persönlichkeits- und Verhaltensstörungen (z.B. Borderline-Persönlichkeit)");
code2BeschreibungDict.Add("F70-F79", "Intelligenzminderung");
code2BeschreibungDict.Add("F80-F89", "Entwicklungsstörungen");
code2BeschreibungDict.Add("F90-F98", "Verhaltens- und emotionale Störungen mit Beginn in der Kindheit und Jugend");
code2BeschreibungDict.Add("ZZZ", "psychiatrische Diagnose unbekannt");
diagnosen2GesamtAnzahl.Add("F00-F09", 0);
diagnosen2GesamtAnzahl.Add("F10-F19", 0);
diagnosen2GesamtAnzahl.Add("F20-F29", 0);
diagnosen2GesamtAnzahl.Add("F30-F39", 0);
diagnosen2GesamtAnzahl.Add("F40-F49", 0);
diagnosen2GesamtAnzahl.Add("F50-F59", 0);
diagnosen2GesamtAnzahl.Add("F60-F69", 0);
diagnosen2GesamtAnzahl.Add("F70-F79", 0);
diagnosen2GesamtAnzahl.Add("F80-F89", 0);
diagnosen2GesamtAnzahl.Add("F90-F98", 0);
diagnosen2GesamtAnzahl.Add("ZZZ", 0);
foreach (var code in diagnose2Anzahl.Keys)
{
var anzahl = diagnose2Anzahl[code];
String dictKey = "";
if (code.CompareTo("F00") >= 0 && code.CompareTo("F09") <= 0)
{
dictKey = "F00-F09";
}
else if (code.CompareTo("F10") >= 0 && code.CompareTo("F19") <= 0)
{
dictKey = "F10-F19";
}
else if (code.CompareTo("F20") >= 0 && code.CompareTo("F29") <= 0)
{
dictKey = "F20-F29";
}
else if (code.CompareTo("F30") >= 0 && code.CompareTo("F39") <= 0)
{
dictKey = "F30-F39";
}
else if (code.CompareTo("F40") >= 0 && code.CompareTo("F49") <= 0)
{
dictKey = "F40-F49";
}
else if (code.CompareTo("F50") >= 0 && code.CompareTo("F59") <= 0)
{
dictKey = "F50-F59";
}
else if (code.CompareTo("F60") >= 0 && code.CompareTo("F69") <= 0)
{
dictKey = "F60-F69";
}
else if (code.CompareTo("F70") >= 0 && code.CompareTo("F79") <= 0)
{
dictKey = "F70-F79";
}
else if (code.CompareTo("F80") >= 0 && code.CompareTo("F89") <= 0)
{
dictKey = "F80-F89";
}
else if (code.CompareTo("F90") >= 0 && code.CompareTo("F98") <= 0)
{
dictKey = "F90-F98";
}
else
{
dictKey = "ZZZ";
}
if (diagnosen2GesamtAnzahl.ContainsKey(dictKey))
{
diagnosen2GesamtAnzahl[dictKey] += anzahl;
}
}
var sortedKeys = code2BeschreibungDict.Keys.OrderByDescending(k => k).ToList();
int idx = code2BeschreibungDict.Keys.Count;
int gesamtSumme = 0;
foreach (var key in sortedKeys)
{
var newRow = table.InsertRowBelow(table.Rows[0]);
newRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
newRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
newRow.Cells[2].BackColor = table.Rows[0].Cells[2].BackColor;
int gesamt = diagnosen2GesamtAnzahl[key];
if (key == "ZZZ")
{
newRow.Cells[0].Text = "";
}
else
{
newRow.Cells[0].Text = key;
}
newRow.Cells[1].Text = code2BeschreibungDict[key];
newRow.Cells[2].Text = String.Format("{0}", gesamt);
gesamtSumme += gesamt;
}
//var unbekanntRow = table.InsertRowBelow(table.Rows[table.Rows.Count - 3]);
//unbekanntRow.Cells[0].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[1].TextAlignment = TextAlignment.MiddleLeft;
//unbekanntRow.Cells[2].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[3].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[4].TextAlignment = TextAlignment.MiddleCenter;
//unbekanntRow.Cells[4].BackColor = table.Rows[0].Cells[4].BackColor;
//unbekanntRow.Cells[1].Multiline = true;
//unbekanntRow.Cells[0].Text = String.Format("{0}", sortedKeys.Count + 1);
//unbekanntRow.Cells[1].Text = unbekanntLabel;
//unbekanntRow.Cells[2].Text = String.Format("{0}", ohneDiagnoseW);
//unbekanntRow.Cells[3].Text = String.Format("{0}", ohneDiagnoseM);
//unbekanntRow.Cells[4].Text = String.Format("{0}", ohneDiagnoseW + ohneDiagnoseM);
table.Rows[table.Rows.Count - 1].Cells[1].Text = String.Format("{0}", gesamtSumme);
//anzDiagnoseSummeWLabel.Text = string.Format("{0}", anzDiagnoseSummeW);
//anzDiagnoseSummeMLabel.Text = string.Format("{0}", anzDiagnoseSummeM);
//anzDiagnoseSummeLabel.Text = string.Format("{0}", anzDiagnoseSummeW + anzDiagnoseSummeM);
}
}
public class AnzahlJeGeschlecht
{
public int Maennlich { get; set; }
public int Weiblich { get; set; }
public int Divers { get; set; }
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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>

View File

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

View File

@@ -125,7 +125,7 @@ namespace DiakonieKKKleve.Reporting
}
//report = AddSubServicesOverviewReportToReport(report, new LeistungsnachweisSoziotherapie(), soziRo);
report = AddSubServicesOverviewReportToReport(report, new LeistungsnachweisSoziotherapie(), soziRo);
report = AddSubServicesOverviewReportToReport(report, new Stundenzettel(), bewoRo);
//report = AddSubServicesOverviewReportToReport(report, new QuittierungsbelegDienstleistung(), dienstRo);

View File

@@ -127,78 +127,8 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
var invoice = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, sc, new List<ServiceRecordDC>());
SetSelbstzahlerAdresse(invoice, customer, sc);
ErstelleRechnungspositionen(invoice, invoicePeriod, "Selbstzahler", serviceRecords, customer);
Dictionary<String, AbrechnungsInfos> key2Info = new Dictionary<String, AbrechnungsInfos>();
foreach (var sr in serviceRecords)
{
if (sr.ServiceDescription.Category.Name == "Selbstzahler")
{
var minuten = sr.RoundedDuration;
var preis = GetPreisVonServiceDescription(customer, sr.ServiceDescription, sr.Start.Value);
String key = String.Format("{0}_{1:0.00}_{2:yyyyMM}", sr.ServiceDescription.Name, preis, sr.Start);
if (!key2Info.ContainsKey(key))
{
key2Info.Add(key, new AbrechnungsInfos());
}
if (sr.ServiceDescription.Name.Contains("Freizeit"))
{
minuten = 60;
}
if (sr.ServiceDescription.Name.Contains("Kurzurlaub"))
{
minuten = 60;
}
key2Info[key].Minuten += minuten;
key2Info[key].Stundensatz = preis;
key2Info[key].Category = sr.ServiceDescription.Category.Name;
key2Info[key].ServiceDescription = sr.ServiceDescription.Name;
key2Info[key].Start = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1);
key2Info[key].Ende = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1).AddMonths(1).AddDays(-1);
}
}
invoice.ServiceInvoicePeriodList = new List<ServiceInvoicePeriod>();
var sip = new ServiceInvoicePeriod
{
Start = invoicePeriod.StartDateTime,
End = invoicePeriod.EndDateTime
};
sip.Notice = customer.Person.LastNameFirstName;
foreach (var info in key2Info.Values)
{
if (info.Stundensatz > 0 && info.Minuten > 0)
{
var ii = new InvoiceItem();
ii.AmountPerUnit = info.Stundensatz;
ii.UnitCount = Math.Round(info.Minuten / 60, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
ii.ItemPeriodStart = info.Start;
ii.ItemPeriodEnd = info.Ende;
ii.RateFactor = null;
ii.GrossAmountTotal = ii.AmountTotal;
ii.UnitDescription = info.Category;
ii.ItemDescription = GetArtikelbezeichnung(info);
ii.Notice = customer.Person.FirstNameLastName;
if (!ii.ItemDescription.Contains("Kurzurlaub"))
{
sip.InvoiceItemList.Add(ii);
}
}
}
invoice.ServiceInvoicePeriodList.Add(sip);
SetServiceInvoicePeriodAmounts(invoice);
return invoice;
}
@@ -239,6 +169,15 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
{
return info.ServiceDescription;
}
if (desc.Contains("reisen"))
{
if (info.Pflegegrad.HasValue && info.Pflegegrad.Value != Pflegegrad.KeinGrad && info.Pflegegrad.Value != Pflegegrad.PflegegradBeantragt)
{
return "Betreuungskosten mit Pflegegrad";
}
return "Betreuungskosten ohne Pflegegrad";
}
if (cat.Contains("§45"))
{
return "Niedrigschwellige Betreuung";
@@ -251,6 +190,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
{
//return "Verhinderungspflege";
}
return info.Category;
}
@@ -287,76 +227,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
}
}
Dictionary<String, AbrechnungsInfos> key2Info = new Dictionary<String, AbrechnungsInfos>();
foreach (var sr in serviceRecords)
{
if (sr.ServiceDescription.Category.Name == category)
{
var minuten = sr.RoundedDuration;
var preis = GetPreisVonServiceDescription(customer, sr.ServiceDescription, sr.Start.Value);
String key = String.Format("{0}_{1:0.00}_{2:yyyyMM}", sr.ServiceDescription.Name, preis, sr.Start);
if (!key2Info.ContainsKey(key))
{
key2Info.Add(key, new AbrechnungsInfos());
}
if (sr.ServiceDescription.Name.Contains("Freizeit"))
{
minuten = 60;
}
if (sr.ServiceDescription.Name.Contains("Kurzurlaub"))
{
minuten = 60;
}
key2Info[key].Minuten += minuten;
key2Info[key].Stundensatz = preis;
key2Info[key].Category = sr.ServiceDescription.Category.Name;
key2Info[key].ServiceDescription = sr.ServiceDescription.Name;
key2Info[key].Start = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1);
key2Info[key].Ende = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1).AddMonths(1).AddDays(-1);
}
}
invoice.ServiceInvoicePeriodList = new List<ServiceInvoicePeriod>();
var sip = new ServiceInvoicePeriod
{
Start = invoicePeriod.StartDateTime,
End = invoicePeriod.EndDateTime
};
sip.Notice = customer.Person.LastNameFirstName;
foreach (var info in key2Info.Values)
{
if (info.Stundensatz > 0 && info.Minuten > 0)
{
var ii = new InvoiceItem();
ii.AmountPerUnit = info.Stundensatz;
ii.UnitCount = Math.Round(info.Minuten / 60, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
ii.ItemPeriodStart = info.Start;
ii.ItemPeriodEnd = info.Ende;
ii.RateFactor = null;
ii.GrossAmountTotal = ii.AmountTotal;
ii.UnitDescription = info.Category;
ii.ItemDescription = GetArtikelbezeichnung(info);
ii.Notice = customer.Person.FirstNameLastName;
if (!ii.ItemDescription.Contains("Kurzurlaub"))
{
sip.InvoiceItemList.Add(ii);
}
}
}
invoice.ServiceInvoicePeriodList.Add(sip);
SetServiceInvoicePeriodAmounts(invoice);
ErstelleRechnungspositionen(invoice, invoicePeriod, category, serviceRecords, customer);
if (invoice.GetTotalClaim() > 0)
{
@@ -368,111 +239,88 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
return invoiceList;
}
private IList<ServiceInvoice> CreateRechnungen(int invoiceCounter, Organisation org, Customer customer, DateTimeSpan invoicePeriod, CompactSupportConceptDC sc, List<ServiceRecordDC> serviceRecords)
{
var invoiceList = new List<ServiceInvoice>();
Dictionary<String, String> categories = new Dictionary<string, string>();
private void ErstelleRechnungspositionen(ServiceInvoice invoice, DateTimeSpan invoicePeriod, String category, List<ServiceRecordDC> serviceRecords, Customer customer)
{
Dictionary<String, AbrechnungsInfos> key2Info = new Dictionary<String, AbrechnungsInfos>();
foreach (var item in serviceRecords)
foreach (var sr in serviceRecords)
{
if (item.ServiceDescription.Category.Name != "Selbstzahler")
if (sr.ServiceDescription.Category.Name == category)
{
if (!categories.ContainsKey(item.ServiceDescription.Category.Name))
var minuten = sr.RoundedDuration;
var preis = GetPreisVonServiceDescription(customer, sr.ServiceDescription, sr.Start.Value);
String key = String.Format("{0}_{1:0.00}_{2:yyyyMM}", sr.ServiceDescription.Name, preis, sr.Start);
if (!key2Info.ContainsKey(key))
{
categories.Add(item.ServiceDescription.Category.Name, item.ServiceDescription.Category.Name);
key2Info.Add(key, new AbrechnungsInfos());
}
if (sr.ServiceDescription.Name.Contains("Freizeit"))
{
minuten = 60;
}
else if (sr.ServiceDescription.Name.Contains("Kurzurlaub"))
{
minuten = 60;
}
else if (sr.ServiceDescription.Name.ToLower().Contains("reisen"))
{
//Setze Minuten auf 60 * Anzahl Tage
var tage = (int)sr.End.Value.Subtract(sr.Start.Value).TotalDays + 1;
minuten = tage * 60;
}
key2Info[key].Minuten += minuten;
key2Info[key].Stundensatz = preis;
key2Info[key].Category = sr.ServiceDescription.Category.Name;
key2Info[key].ServiceDescription = sr.ServiceDescription.Name;
key2Info[key].Start = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1);
key2Info[key].Ende = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1).AddMonths(1).AddDays(-1);
key2Info[key].Pflegegrad = customer.Pflegegrad;
}
}
foreach (var category in categories.Values)
invoice.ServiceInvoicePeriodList = new List<ServiceInvoicePeriod>();
var sip = new ServiceInvoicePeriod
{
var invoice = base.CreateSingleInvoice(invoiceCounter, org.CostBearer, invoicePeriod, sc, new List<ServiceRecordDC>());
invoice.InvoiceBase.InvoiceId = "RechnungPflegekasse";
invoice.InvoiceBase.RecipientCostBearerOid = sc.CostBearerList[0].CostBearerOid;
//if (customer.Person.InvoiceAddress != null)
//{
// invoice.InvoiceBase.RecipientAddress = customer.Person.InvoiceAddress.CopyToNew();
// invoice.InvoiceBase.RecipientOrganisation = "";
// invoice.InvoiceBase.RecipientCostBearerOid = null;
//}
//else if (customer.Person.Address != null)
//{
// invoice.InvoiceBase.RecipientAddress = customer.Person.Address.CopyToNew();
// invoice.InvoiceBase.RecipientOrganisation = "";
// invoice.InvoiceBase.RecipientCostBearerOid = null;
//}
Start = invoicePeriod.StartDateTime,
End = invoicePeriod.EndDateTime
};
Dictionary<String, AbrechnungsInfos> key2Info = new Dictionary<String, AbrechnungsInfos>();
foreach (var sr in serviceRecords)
sip.Notice = customer.Person.LastNameFirstName;
foreach (var info in key2Info.Values)
{
if (info.Stundensatz > 0 && info.Minuten > 0)
{
if (sr.ServiceDescription.Category.Name == category)
var ii = new InvoiceItem();
ii.AmountPerUnit = info.Stundensatz;
ii.UnitCount = Math.Round(info.Minuten / 60, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
ii.ItemPeriodStart = info.Start;
ii.ItemPeriodEnd = info.Ende;
ii.RateFactor = null;
ii.GrossAmountTotal = ii.AmountTotal;
ii.UnitDescription = info.Category;
ii.ItemDescription = GetArtikelbezeichnung(info);
ii.Notice = customer.Person.FirstNameLastName;
if (!ii.ItemDescription.Contains("Kurzurlaub"))
{
var minuten = sr.RoundedDuration;
var preis = GetPreisVonServiceDescription(customer, sr.ServiceDescription, sr.Start.Value);
String key = String.Format("{0}_{1:0.00}_{2:yyyyMM}", sr.ServiceDescription.Name, preis, sr.Start);
if (!key2Info.ContainsKey(key))
{
key2Info.Add(key, new AbrechnungsInfos());
}
if (sr.ServiceDescription.Name.Contains("Freizeit"))
{
minuten = 60;
}
key2Info[key].Minuten += minuten;
key2Info[key].Stundensatz = preis;
key2Info[key].Category = sr.ServiceDescription.Category.Name;
key2Info[key].ServiceDescription = sr.ServiceDescription.Name;
key2Info[key].Start = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1);
key2Info[key].Ende = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, 1).AddMonths(1).AddDays(-1);
}
}
invoice.ServiceInvoicePeriodList = new List<ServiceInvoicePeriod>();
var sip = new ServiceInvoicePeriod
{
Start = invoicePeriod.StartDateTime,
End = invoicePeriod.EndDateTime
};
sip.Notice = customer.Person.LastNameFirstName;
foreach (var info in key2Info.Values)
{
if (info.Stundensatz > 0 && info.Minuten > 0)
{
var ii = new InvoiceItem();
ii.AmountPerUnit = info.Stundensatz;
ii.UnitCount = Math.Round(info.Minuten / 60, 2, MidpointRounding.AwayFromZero);
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
ii.ItemPeriodStart = info.Start;
ii.ItemPeriodEnd = info.Ende;
ii.RateFactor = null;
ii.GrossAmountTotal = ii.AmountTotal;
ii.UnitDescription = info.Category;
ii.ItemDescription = GetArtikelbezeichnung(info);
ii.Notice = customer.Person.FirstNameLastName;
sip.InvoiceItemList.Add(ii);
}
}
invoice.ServiceInvoicePeriodList.Add(sip);
SetServiceInvoicePeriodAmounts(invoice);
if (invoice.GetTotalClaim() > 0)
{
invoiceList.Add(invoice);
}
}
return invoiceList;
invoice.ServiceInvoicePeriodList.Add(sip);
SetServiceInvoicePeriodAmounts(invoice);
}
public override void SetServiceInvoicePeriods(ServiceInvoice invoice, CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
@@ -507,6 +355,14 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
{
return AbrechnungsInfo.GetPreisForAusflugFreizeittreff(c.Pflegegrad, monat);
}
else if (desc.Contains("kurzurlaub"))
{
//return AbrechnungsInfo.GetPreisForKurzurlaub(c.Pflegegrad, key2Date, dt);
}
else if (desc.Contains("reisen"))
{
return AbrechnungsInfo.GetPreisForReisen(c.Pflegegrad, monat);
}
return 0;
}
@@ -531,5 +387,6 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
public DateTime Start { get; set; }
public DateTime Ende { get; set; }
}
public Pflegegrad? Pflegegrad { get; set; }
}
}

View File

@@ -422,7 +422,14 @@ ib.InvoiceId
{
sb.AppendLine();
}
sb.Append(String.Format("{0:0.00}", row[1])); // Gegenkonto
var temp = String.Format("{0}", row[1]);
if (temp == "c52501")
{
int test = 0;
}
var debNr = String.Format("{0}", GetDebitorNumber(row));
sb.Append(debNr); // Gegenkonto
sb.Append(";");
sb.Append(String.Format("{0}", row[3])); // Rechnungsnummer
sb.Append(";");
@@ -527,6 +534,31 @@ Bsp. LK Stade - Mustermann, Max - 11.2019
return sb.ToString();
}
private static String GetDebitorNumber(DataRow row)
{
String invoiceId = "";
if (row[6] != null)
{
invoiceId = row[6].ToString();
}
if (invoiceId.Contains("Privat"))
{
if (row[1] != null)
{
return row[1].ToString();
}
}
else
{
if (row[12] != null)
{
return row[12].ToString();
}
}
return "";
}
public static String GetMonatlicheRechnungenString(DateTime date, String rechnungId, String buchungstext, String konto, DateTime? minInsts)
{
var list = new List<String>();
@@ -870,12 +902,15 @@ ii.AmountTotal,
ii.ItemDescription,
ii.Notice,
ii.UnitCount,
ii.UnitDescription
ii.UnitDescription,
o.DebitorNumber
from
person p
inner join customer c on c.personoid = p.oid
inner join supportconcept sc on sc.customeroid = c.oid
inner join costbearer2supportconcept c2s on c2s.supportconceptoid = sc.oid
inner join costbearer cb on c2s.CostBearerOid = cb.oid
inner join organisation o on cb.oid = o.costbeareroid
inner join invoicebase ib on ib.costbearer2supportconceptoid = c2s.oid
inner join serviceinvoice si on si.invoicebaseoid = ib.oid
inner join serviceinvoiceperiod sip on sip.serviceinvoiceoid = si.oid

View File

@@ -423,7 +423,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
if (!accountingPeriodEnd.HasValue)
accountingPeriodEnd = scap.EndDate;
int km = 0;
decimal km = 0;
foreach (var sr in serviceRecordsInPeriod)
{
if (scap.ServiceCategory == null ||

View File

@@ -91,7 +91,6 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel35 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -120,15 +119,16 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.lblBezahlung = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -854,10 +854,6 @@ namespace LebenshilfeFrankfurtOder
this.xrLine1.SizeF = new System.Drawing.SizeF(696.4991F, 6.25F);
this.xrLine1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -1134,20 +1130,20 @@ namespace LebenshilfeFrankfurtOder
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2});
this.lblBezahlung});
this.ReportFooter.HeightF = 70F;
this.ReportFooter.Name = "ReportFooter";
//
// xrLabel2
// lblBezahlung
//
this.xrLabel2.CanGrow = false;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(696.4994F, 49.16668F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Kunden-Nr., der Rechnun" +
this.lblBezahlung.CanGrow = false;
this.lblBezahlung.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F);
this.lblBezahlung.Multiline = true;
this.lblBezahlung.Name = "lblBezahlung";
this.lblBezahlung.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBezahlung.SizeF = new System.Drawing.SizeF(696.4994F, 49.16668F);
this.lblBezahlung.StylePriority.UseFont = false;
this.lblBezahlung.Text = "Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Kunden-Nr., der Rechnun" +
"gs-Nr. und des\r\nVerwendungszwecks auf das unten angegebene Konto.";
//
// DetailReport
@@ -1181,6 +1177,10 @@ namespace LebenshilfeFrankfurtOder
this.Detail2.HeightF = 20F;
this.Detail2.Name = "Detail2";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// RechnungHortPrivat
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1203,8 +1203,8 @@ namespace LebenshilfeFrankfurtOder
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -1255,7 +1255,7 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel lblBezahlung;
private DevExpress.XtraReports.UI.XRLine xrLine1;
private DevExpress.XtraReports.UI.XRLabel xrLabel37;
private DevExpress.XtraReports.UI.XRLabel xrLabel36;

View File

@@ -21,6 +21,8 @@ namespace LebenshilfeFrankfurtOder
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
CheckLastschriftAndAnschrift(pRO);
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
{
pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("E-Mail:", "").Trim();
@@ -79,7 +81,7 @@ namespace LebenshilfeFrankfurtOder
lblKlienten.Text = pRO.CustomerName;
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
SetzeDebitorNumber(pRO);
//SetzeDebitorNumber(pRO);
this.bindingSource1.DataSource = pRO;
}
@@ -161,5 +163,83 @@ namespace LebenshilfeFrankfurtOder
return "";
}
private void CheckLastschriftAndAnschrift(ServiceInvoiceRO pRO)
{
Customer c = null;
if (pRO.CustomerOid.HasValue)
{
c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid.Value);
}
if (c == null)
{
foreach (var sip in pRO.ServiceInvoicePeriods)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
long oid = 0;
if (!String.IsNullOrEmpty(ii.UnitDescription) && Int64.TryParse(ii.UnitDescription, out oid))
{
c = DAOFactory.GenericDAO.LoadByID<Customer>(oid);
pRO.DebitorNumber = c.DebitorNumber;
}
}
}
}
bool lastschrift = false;
String mandatsnr = pRO.DebitorNumber;
if (c != null)
{
foreach (var vv in c.VarFieldValueList)
{
if (vv.VarFieldDefOid.Value == 1)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
var isLastschrift = varFieldValue.ToString();
if (!String.IsNullOrEmpty(isLastschrift) && isLastschrift == "True")
{
lastschrift = true;
}
}
}
if (vv.VarFieldDefOid.Value == 2)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
mandatsnr = varFieldValue.ToString();
}
}
}
//if (c.Person.InvoiceAddress != null && !String.IsNullOrEmpty(c.Person.InvoiceAddress.AddressLine1))
//{
// pRO.RecipientAddressLine1 = c.Person.InvoiceAddress.AddressLine1;
//}
}
if (lastschrift)
{
lblBezahlung.Text =
String.Format("Der Rechnungsbetrag wird von dem uns bekannten Konto abgezogen. Mandatsnummer: {0}",
mandatsnr);
}
if (!String.IsNullOrEmpty(pRO.Notice))
{
lblBezahlung.Text = String.Format("{0}\n\n{1}", pRO.Notice, lblBezahlung.Text);
}
}
}
}

View File

@@ -129,7 +129,7 @@ namespace PflegedienstWessel
{
srRow.Field2 = String.Format("{0:HH:mm}-{1:HH:mm}", sr.Start, sr.End);
}
srRow.Field3 = String.Format("{0}", sr.DistanceInMeter);
srRow.Field3 = String.Format("{0:0.##}", sr.DistanceInMeter);
srRow.Field4 = sr.Notice3;
}

View File

@@ -172,9 +172,45 @@ namespace ProfEggersStiftung.Invoicing
ii.SupportConceptApprovalPeriodOid = scap.Oid;
ergebnis.Add(ii);
var list = CreateBetragServiceRecordInvoiceItems(scap, serviceRecordsInPeriod, invoicePeriod);
ergebnis.AddRange(list);
return ergebnis;
}
protected List<InvoiceItem> CreateBetragServiceRecordInvoiceItems(SupportConceptApprovalPeriod scap, List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod)
{
var iiList = new List<InvoiceItem>();
foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod)
{
if (iServiceRecord.Betrag.HasValue)
{
var invoiceItem = new InvoiceItem();
invoiceItem.UnitCount = 1;
invoiceItem.AmountPerUnit = iServiceRecord.Betrag;
invoiceItem.AmountTotal = invoiceItem.AmountPerUnit;
invoiceItem.ItemPeriodStart = invoicePeriod.StartDate;
invoiceItem.ItemPeriodEnd = invoicePeriod.EndDate;
invoiceItem.GrossAmountTotal = invoiceItem.AmountPerUnit;
invoiceItem.ItemDescription = iServiceRecord.Notice;
invoiceItem.ServiceRecord = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(iServiceRecord.ServiceRecordOid.Value);
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
iiList.Add(invoiceItem);
}
}
return iiList;
}
private decimal GetTagespauschale(SupportConceptApprovalPeriod scap, String preisBezeichnung, DateTime datum)
{
if (scap != null && scap.ServiceCategory != null)

View File

@@ -60,10 +60,43 @@ namespace ProfEggersStiftung
if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation.ToLower() == "herr")
pRO.CustomerSalutation = "Herrn";
var absencetimes = pRO.InvoiceBase.SupportConceptCostBearerRelDc.SupportConcept.Customer.AbsenceTimes;
String abwStr = "";
foreach (var at in absencetimes)
{
if ((!at.End.HasValue || at.End.Value >= pRO.AccountingPeriodStart) && at.Start.Value <= pRO.AccountingPeriodEnd)
{
DateTime endDt = pRO.AccountingPeriodEnd;
if (at.End.HasValue && at.End.Value < endDt)
{
endDt = at.End.Value;
}
DateTime startDt = pRO.AccountingPeriodStart;
if (at.Start > startDt)
{
startDt = at.Start.Value;
}
int days = (int)endDt.Subtract(startDt).TotalDays + 1;
if (abwStr.Length > 0)
{
abwStr += ", ";
}
String tage = "Tage";
if (days == 1)
{
tage = "Tag";
}
abwStr += String.Format("{0} {1} {2:dd}.-{3:dd.MM}", days, tage, startDt, endDt);
}
}
//lblAbrechnungstext.Text = String.Format("{0:0.##} FLS x {1:c} = ", hours, hourlyRate);
String abwesenheiten = "Abwesenheiten: "; Beispiel mit Anzahl Tage z.B. 3 Tage 11.-13.02.
String abwesenheiten = "Abwesenheiten: " + abwStr; //Beispiel mit Anzahl Tage z.B. 3 Tage 11.-13.02.
//if (pRO.InvoiceBase != null && pRO.InvoiceBase.RecipientCustomerOid.HasValue)
// {

View File

@@ -0,0 +1,506 @@
using BeWo.Report.ReportObjects;
namespace BeWo.SeWo
{
partial class KilometerauswertungsListReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
this.DataField = new DevExpress.XtraReports.UI.XRControlStyle();
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableCell1
//
this.xrTableCell1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.CustomerName")});
this.xrTableCell1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorderColor = false;
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.Weight = 4.0816326530612246D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTable1
//
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(600F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UsePadding = false;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7,
this.xrTable1});
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 83F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrLabel7
//
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.TotalDistanceInMeters", "Kilometer gesamt: {0:}")});
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 50F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(280F, 25F);
this.xrLabel7.StylePriority.UseFont = false;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport1});
this.DetailReport.DataMember = "Customer2Entries";
this.DetailReport.DataSource = this.objectDataSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2,
this.GroupHeader2,
this.GroupFooter1});
this.DetailReport1.DataMember = "Customer2Entries.Entries";
this.DetailReport1.DataSource = this.objectDataSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.Detail2.HeightF = 25F;
this.Detail2.Name = "Detail2";
//
// xrTable4
//
this.xrTable4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow4});
this.xrTable4.SizeF = new System.Drawing.SizeF(1011.25F, 25F);
this.xrTable4.StylePriority.UseBorders = false;
this.xrTable4.StylePriority.UsePadding = false;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell8,
this.xrTableCell4,
this.xrTableCell9});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 1D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.Entries.Datum", "{0:dd.MM.yyyy}")});
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell3.Weight = 0.6802721055263049D;
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.Entries.TimeRange")});
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell8.Weight = 0.89285797658466393D;
//
// xrTableCell4
//
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.Entries.DistanceInMeters", "{0:0.##}")});
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell4.Weight = 0.54421769889249649D;
//
// xrTableCell9
//
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Customer2Entries.Entries.Notice3")});
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 3, 0, 100F);
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell9.Weight = 4.7619045823593886D;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.GroupHeader2.HeightF = 25F;
this.GroupHeader2.Name = "GroupHeader2";
this.GroupHeader2.RepeatEveryPage = true;
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(1011.25F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell2,
this.xrTableCell6,
this.xrTableCell7});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Datum";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.68027211962967382D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Uhrzeit";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell2.Weight = 0.892857131771576D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Km";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.544217705932857D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Ziel / Grund der Fahrt ";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 4.7619044143268479D;
//
// GroupFooter1
//
this.GroupFooter1.HeightF = 0F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.ReportHeader.HeightF = 50F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel2
//
this.xrLabel2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "MonthInformation", "Zeitraum: {0:MMMM yyyy}")});
this.xrLabel2.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(280F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(600F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "Auswertung über gefahrene Kilometer";
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.pageFooterBand1.HeightF = 48F;
this.pageFooterBand1.Name = "pageFooterBand1";
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo2.Format = "Seite {0} von {1}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(767.9201F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(243.33F, 23F);
this.xrPageInfo2.StyleName = "PageInfo";
this.xrPageInfo2.StylePriority.UseFont = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(231.2502F, 23F);
this.xrPageInfo1.StyleName = "PageInfo";
this.xrPageInfo1.StylePriority.UseFont = false;
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.Title.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
//
// FieldCaption
//
this.FieldCaption.BackColor = System.Drawing.Color.White;
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.FieldCaption.BorderWidth = 1F;
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
this.FieldCaption.Name = "FieldCaption";
//
// PageInfo
//
this.PageInfo.BackColor = System.Drawing.Color.White;
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.PageInfo.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
//
// DataField
//
this.DataField.BackColor = System.Drawing.Color.White;
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.DataField.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
//
// fieldFLS
//
this.fieldFLS.DataMember = "FLSReportGroups";
this.fieldFLS.Expression = "[TotalFLM] / 60";
this.fieldFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldFLS.Name = "fieldFLS";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.KilometerauswertungsListRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// KilometerauswertungsListReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.pageFooterBand1,
this.topMarginBand1,
this.bottomMarginBand1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldFLS});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.objectDataSource1});
this.DataSource = this.objectDataSource1;
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 50);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
this.Title,
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRControlStyle Title;
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
private DevExpress.XtraReports.UI.XRControlStyle DataField;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.CalculatedField fieldFLS;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
}
}

View File

@@ -0,0 +1,18 @@
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace BeWo.SeWo
{
public partial class KilometerauswertungsListReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<KilometerauswertungsListRO>
{
public KilometerauswertungsListReport()
{
InitializeComponent();
}
public void SetReportDataSource(KilometerauswertungsListRO pRO)
{
objectDataSource1.DataSource = pRO;
}
}
}

View File

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

View File

@@ -0,0 +1,20 @@
using BeWo.Report;
using BeWo.Report.ReportObjects;
namespace BeWo.SeWo
{
public partial class KilometerauswertungsReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<KilometerauswertungsRO>
{
public KilometerauswertungsReport()
{
InitializeComponent();
}
public void SetReportDataSource(KilometerauswertungsRO pRO)
{
pRO.CreateDistanceList();
objectDataSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,488 @@
using BeWo.Report.ReportObjects;
namespace BeWo.SeWo
{
partial class KilometerauswertungsReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
this.DataField = new DevExpress.XtraReports.UI.XRControlStyle();
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldGroupFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Expanded = false;
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel13});
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 46.16668F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrLabel13
//
this.xrLabel13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalDistanceInMeters", "Kilometer gesamt: {0:0.##}")});
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.SizeF = new System.Drawing.SizeF(677.0001F, 25F);
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.StylePriority.UsePadding = false;
this.xrLabel13.StylePriority.UseTextAlignment = false;
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport1});
this.DetailReport.DataSource = this.objectDataSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2,
this.GroupFooter1,
this.GroupHeader2});
this.DetailReport1.DataMember = "Entries";
this.DetailReport1.DataSource = this.objectDataSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.Detail2.HeightF = 25F;
this.Detail2.KeepTogether = true;
this.Detail2.KeepTogetherWithDetailReports = true;
this.Detail2.Name = "Detail2";
//
// xrTable4
//
this.xrTable4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow4});
this.xrTable4.SizeF = new System.Drawing.SizeF(1011.25F, 25F);
this.xrTable4.StylePriority.UseBorders = false;
this.xrTable4.StylePriority.UsePadding = false;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell2,
this.xrTableCell4,
this.xrTableCell9});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 1D;
//
// xrTableCell3
//
this.xrTableCell3.CanGrow = false;
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.Datum", "{0:dd.MM.yyyy}")});
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell3.Weight = 0.6802721106538383D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.TimeRange")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell2.Weight = 0.89285569697781431D;
//
// xrTableCell4
//
this.xrTableCell4.CanGrow = false;
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.DistanceInMeters", "{0:0.##}")});
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 3, 0, 100F);
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell4.Weight = 0.54421768977463014D;
//
// xrTableCell9
//
this.xrTableCell9.CanGrow = false;
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.Notice3")});
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 9.75F);
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 3, 0, 100F);
this.xrTableCell9.StylePriority.UseFont = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell9.Weight = 4.7619048415893133D;
//
// GroupFooter1
//
this.GroupFooter1.HeightF = 0F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.GroupHeader2.HeightF = 25F;
this.GroupHeader2.Name = "GroupHeader2";
this.GroupHeader2.RepeatEveryPage = true;
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(1011.25F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell1,
this.xrTableCell6,
this.xrTableCell7});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.CanGrow = false;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Datum";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.68027211517937214D;
//
// xrTableCell1
//
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Uhrzeit";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.89285652020261552D;
//
// xrTableCell6
//
this.xrTableCell6.CanGrow = false;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Km";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.54421767099247165D;
//
// xrTableCell7
//
this.xrTableCell7.CanGrow = false;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 100F);
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Ziel / Grund der Fahrt ";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 4.761905091853718D;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.ReportHeader.HeightF = 50F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel2
//
this.xrLabel2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "MonthInformation", "Zeitraum: {0:MMMM yyyy}")});
this.xrLabel2.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 24.99999F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(677.0001F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UsePadding = false;
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerName", "Auswertung über gefahrene Kilometer für {0:}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(677.0001F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.pageFooterBand1.HeightF = 48F;
this.pageFooterBand1.Name = "pageFooterBand1";
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo2.Format = "Seite {0} von {1}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(767.9163F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(243.3337F, 23F);
this.xrPageInfo2.StyleName = "PageInfo";
this.xrPageInfo2.StylePriority.UseFont = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(231.2499F, 23F);
this.xrPageInfo1.StyleName = "PageInfo";
this.xrPageInfo1.StylePriority.UseFont = false;
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.Title.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
//
// FieldCaption
//
this.FieldCaption.BackColor = System.Drawing.Color.White;
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.FieldCaption.BorderWidth = 1F;
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
this.FieldCaption.Name = "FieldCaption";
//
// PageInfo
//
this.PageInfo.BackColor = System.Drawing.Color.White;
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.PageInfo.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
//
// DataField
//
this.DataField.BackColor = System.Drawing.Color.White;
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.DataField.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
//
// fieldFLS
//
this.fieldFLS.DataMember = "FLSReportGroups.FLSReportDetails";
this.fieldFLS.Expression = "[TotalFLM] / 60\r\n";
this.fieldFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldFLS.Name = "fieldFLS";
//
// fieldGroupFLS
//
this.fieldGroupFLS.DataMember = "FLSReportGroups";
this.fieldGroupFLS.Expression = "[TotalFLM]/60";
this.fieldGroupFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldGroupFLS.Name = "fieldGroupFLS";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.KilometerauswertungsRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// KilometerauswertungsReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.pageFooterBand1,
this.topMarginBand1,
this.bottomMarginBand1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldFLS,
this.fieldGroupFLS});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.objectDataSource1});
this.DataSource = this.objectDataSource1;
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 50);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
this.Title,
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRControlStyle Title;
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
private DevExpress.XtraReports.UI.XRControlStyle DataField;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.CalculatedField fieldFLS;
private DevExpress.XtraReports.UI.CalculatedField fieldGroupFLS;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
}
}

View File

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

View File

@@ -34,9 +34,11 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Pdf.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v17.1.Wizard, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -78,6 +80,18 @@
<Compile Include="InvoiceCustomerReport.Designer.cs">
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
</Compile>
<Compile Include="KilometerauswertungsListReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="KilometerauswertungsListReport.Designer.cs">
<DependentUpon>KilometerauswertungsListReport.cs</DependentUpon>
</Compile>
<Compile Include="KilometerauswertungsReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="KilometerauswertungsReport.designer.cs">
<DependentUpon>KilometerauswertungsReport.cs</DependentUpon>
</Compile>
<Compile Include="Mitarbeiterarbeitszeitkonto.cs">
<SubType>Component</SubType>
</Compile>
@@ -201,6 +215,13 @@
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="KilometerauswertungsListReport.resx">
<DependentUpon>KilometerauswertungsListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="KilometerauswertungsReport.resx">
<DependentUpon>KilometerauswertungsReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterarbeitszeitkonto.resx">
<DependentUpon>Mitarbeiterarbeitszeitkonto.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -214,7 +214,7 @@ namespace BeWo.SeWo
if (sr.ServiceDescription.Name != "Pause" && !sr.ServiceDescription.ServiceCategory.Name.Contains("Rufbereitschaft"))
{
if (sr.ServiceDescription.ServiceCategory.Name == "Verwaltung")
if (sr.ServiceDescription.ServiceCategory.Name == "Verwaltung" || sr.ServiceDescription.ServiceCategory.Name == "Organisation")
{
return 0;
}

View File

@@ -0,0 +1,598 @@
using BeWo.Report.ReportObjects;
namespace UebergangshilfeUnnaEV
{
partial class HilfeplanKontingent
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HilfeplanKontingent));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleNotApprovedAndExpiringNext4Months = new DevExpress.XtraReports.UI.FormattingRule();
this.ruleNotApprovedAndExpiringNext8Months = new DevExpress.XtraReports.UI.FormattingRule();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.approvedText = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.ReportHeader.HeightF = 75F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999979F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(509F, 25F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "Kontingent";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.DetailReport.DataMember = "Rows";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail1.HeightF = 20F;
this.Detail1.Name = "Detail1";
//
// xrTable2
//
this.xrTable2.BackColor = System.Drawing.Color.Transparent;
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Arial", 8F);
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(640F, 20F);
this.xrTable2.StylePriority.UseBackColor = false;
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18,
this.xrTableCell19,
this.xrTableCell36,
this.xrTableCell20,
this.xrTableCell21,
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell24});
this.xrTableRow2.FormattingRules.Add(this.ruleNotApprovedAndExpiringNext4Months);
this.xrTableRow2.FormattingRules.Add(this.ruleNotApprovedAndExpiringNext8Months);
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell18
//
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Monat", "{0:MMM. yy}")});
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell18.Weight = 0.21641121284301276D;
this.xrTableCell18.WordWrap = false;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Tage")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.Text = "Vorname";
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell19.Weight = 0.21641120861020208D;
this.xrTableCell19.WordWrap = false;
//
// xrTableCell36
//
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.FlsBudget", "{0:0.00}")});
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell36.Weight = 0.21641121079284262D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.SummeFlsBudget", "{0:0.00}")});
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseTextAlignment = false;
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell20.Weight = 0.21641120378308867D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.DifferenzMonatSollIst", "{0:0.00}")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseTextAlignment = false;
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell21.Weight = 0.21641119578169027D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.FlsIst", "{0:0.00}")});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseTextAlignment = false;
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell22.Weight = 0.21641120928029034D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.SummeFlsIst", "{0:0.00}")});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseTextAlignment = false;
this.xrTableCell23.Text = "xrTableCell23";
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell23.Weight = 0.21641120277592954D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.DiffFls", "{0:0.00}")});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.StylePriority.UseTextAlignment = false;
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell24.Weight = 0.21641120564356373D;
//
// ruleNotApprovedAndExpiringNext4Months
//
this.ruleNotApprovedAndExpiringNext4Months.Condition = "[IsApproved] == False And [OpenMonths] < 4";
this.ruleNotApprovedAndExpiringNext4Months.DataMember = "SupportConceptDetailList";
this.ruleNotApprovedAndExpiringNext4Months.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.ruleNotApprovedAndExpiringNext4Months.Name = "ruleNotApprovedAndExpiringNext4Months";
//
// ruleNotApprovedAndExpiringNext8Months
//
this.ruleNotApprovedAndExpiringNext8Months.Condition = "[IsApproved] == False And [OpenMonths] < 8 And [OpenMonths] >= 4";
this.ruleNotApprovedAndExpiringNext8Months.DataMember = "SupportConceptDetailList";
this.ruleNotApprovedAndExpiringNext8Months.Formatting.BackColor = System.Drawing.Color.LightBlue;
this.ruleNotApprovedAndExpiringNext8Months.Name = "ruleNotApprovedAndExpiringNext8Months";
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.PageHeader.HeightF = 42F;
this.PageHeader.Name = "PageHeader";
this.PageHeader.StylePriority.UseBorderColor = false;
this.PageHeader.StylePriority.UseTextAlignment = false;
this.PageHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// xrTable1
//
this.xrTable1.BackColor = System.Drawing.Color.LightSteelBlue;
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(640F, 42F);
this.xrTable1.StylePriority.UseBackColor = false;
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UseTextAlignment = false;
this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell35,
this.xrTableCell3,
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Monat";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell1.Weight = 0.21641121268082336D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Tage";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell2.Weight = 0.21641120844801262D;
//
// xrTableCell35
//
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "FLS Budget";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell35.Weight = 0.21641120532909294D;
//
// xrTableCell3
//
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "∑ FLS Budget";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell3.Weight = 0.21641120853726123D;
//
// xrTableCell4
//
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Differenz\r\nSoll Ist";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell4.Weight = 0.21641120569550745D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Ist FLS";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell5.Weight = 0.21641120867208058D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "∑ Ist FLS";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell6.Weight = 0.21641120277592929D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Diff. FLS";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
this.xrTableCell7.Weight = 0.21641118439677323D;
//
// approvedText
//
this.approvedText.DataMember = "SupportConceptDetailList";
this.approvedText.Expression = "Iif([IsApproved], \'bewilligt\' , \'nicht bewilligt\')";
this.approvedText.Name = "approvedText";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 60F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable3});
this.GroupFooter1.HeightF = 20F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable3
//
this.xrTable3.BackColor = System.Drawing.Color.Transparent;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(640F, 20F);
this.xrTable3.StylePriority.UseBackColor = false;
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell39,
this.xrTableCell40,
this.xrTableCell41,
this.xrTableCell42,
this.xrTableCell43,
this.xrTableCell44});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell37
//
this.xrTableCell37.Font = new System.Drawing.Font("Arial", 7F, System.Drawing.FontStyle.Bold);
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UseFont = false;
this.xrTableCell37.Weight = 0.21641121284301276D;
this.xrTableCell37.WordWrap = false;
//
// xrTableCell38
//
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Tage")});
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseFont = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
xrSummary1.FormatString = "{0:0}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell38.Summary = xrSummary1;
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell38.Weight = 0.21641120861020208D;
this.xrTableCell38.WordWrap = false;
//
// xrTableCell39
//
this.xrTableCell39.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.FlsBudget")});
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.StylePriority.UseBorders = false;
this.xrTableCell39.StylePriority.UseTextAlignment = false;
xrSummary2.FormatString = "{0:0.00}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell39.Summary = xrSummary2;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell39.Weight = 0.21641121079284262D;
//
// xrTableCell40
//
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.SummeFlsBudget", "{0:0.00}")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.StylePriority.UseBorders = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell40.Weight = 0.21641120378308867D;
//
// xrTableCell41
//
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.StylePriority.UseBorders = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell41.Weight = 0.21641119578169027D;
//
// xrTableCell42
//
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.FlsIst")});
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.StylePriority.UseTextAlignment = false;
xrSummary3.FormatString = "{0:0.00}";
xrSummary3.IgnoreNullValues = true;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell42.Summary = xrSummary3;
this.xrTableCell42.Text = "xrTableCell42";
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell42.Weight = 0.21641120928029034D;
//
// xrTableCell43
//
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.SummeFlsIst", "{0:0.00}")});
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.StylePriority.UseTextAlignment = false;
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell43.Weight = 0.21641120277592954D;
//
// xrTableCell44
//
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.DiffFls", "{0:0.00}")});
this.xrTableCell44.Name = "xrTableCell44";
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell44.Weight = 0.21641120564356375D;
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 32.99998F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.SizeF = new System.Drawing.SizeF(640F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = resources.GetString("xrLabel2.Text");
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(UebergangshilfeUnnaEV.HilfeplanKontingentRO);
//
// HilfeplanKontingent
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.ReportHeader,
this.DetailReport,
this.PageHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.approvedText});
this.DataSource = this.bindingSource1;
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleNotApprovedAndExpiringNext8Months,
this.ruleNotApprovedAndExpiringNext4Months});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 60);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).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.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.CalculatedField approvedText;
private DevExpress.XtraReports.UI.FormattingRule ruleNotApprovedAndExpiringNext8Months;
private DevExpress.XtraReports.UI.FormattingRule ruleNotApprovedAndExpiringNext4Months;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell39;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell41;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BS.Shared.Extensions;
using BeWo.Report.ReportObjects;
using BeWo.Report;
namespace UebergangshilfeUnnaEV
{
public partial class HilfeplanKontingent : DevExpress.XtraReports.UI.XtraReport
{
public HilfeplanKontingent()
{
InitializeComponent();
}
public void SetReportDataSource(HilfeplanKontingentRO pRO)
{
//if (pRO.AppointedDate.HasValue && pRO.AppointedDate.Value.Date < DateTime.Now.Date)
//{
// xrLabel1.Text = String.Format("Hilfeplanübersicht Stand {0:dd.MM.yyyy}", pRO.AppointedDate);
//}
this.bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,126 @@
<?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>
<data name="xrLabel2.Text" xml:space="preserve">
<value>[SupportConceptOverviewDC.CustomerLastName], [SupportConceptOverviewDC.CustomerFirstName] [SupportConceptOverviewDC.ApprovedStartDate!dd.MM.yyyy] bis [SupportConceptOverviewDC.ApprovedEndDate!dd.MM.yyyy]</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,136 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceImplementations;
using BS.Shared;
using BS.Shared.DataContracts;
namespace UebergangshilfeUnnaEV
{
public class HilfeplanKontingentRO
{
private List<MonthRow> rows = new List<MonthRow>();
public List<MonthRow> Rows
{
get
{
return this.rows;
}
set
{
this.rows = value;
}
}
public SupportConceptOverviewDC SupportConceptOverviewDC { get; private set; }
public static HilfeplanKontingentRO Create(IList<long> oidList)
{
HilfeplanKontingentRO ro = new HilfeplanKontingentRO();
var service = new SupportConceptAnalysisCreator();
List<SupportConceptOverviewDC> soList = service.GetSupportConceptAnalysis2(oidList, null, null, null, null, null, null, true);
Dictionary<String, MonthRow> date2Row = new Dictionary<String, MonthRow>();
foreach (SupportConceptOverviewDC dc in soList)
{
ro.SupportConceptOverviewDC = dc;
var start = dc.ApprovedStartDate ?? new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
var end = dc.ApprovedEndDate ?? new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1);
while (start < end)
{
MonthRow row = new MonthRow();
row.Monat = start;
row.Tage = DateTime.DaysInMonth(start.Year, start.Month);
var woche = dc.BEApprovedPerWeek;
var tag = woche / 7;
row.FlsBudget = tag * row.Tage;
date2Row.Add(String.Format("{0:MMyyyy}", start), row);
ro.Rows.Add(row);
start = start.AddMonths(1);
}
foreach (var sr in dc.ServiceRecords)
{
String monthStr = String.Format("{0:MMyyyy}", sr.Start);
if (date2Row.ContainsKey(monthStr))
{
var row = date2Row[monthStr];
var duration = sr.RoundedDuration;
//Gruppen?
row.FlsIst += duration;
}
}
}
decimal summeBudget = 0;
decimal summeIst = 0;
foreach (var row in ro.Rows)
{
row.FlsIst /= 60;
summeBudget += row.FlsBudget;
summeIst += row.FlsIst;
row.SummeFlsBudget = summeBudget;
row.SummeFlsIst = summeIst;
row.DifferenzMonatSollIst = row.FlsIst - row.FlsBudget;
row.DiffFls = row.SummeFlsIst - row.SummeFlsBudget;
}
return ro;
}
public class MonthRow
{
public DateTime Monat { get; set; }
public int Tage { get; set; }
public decimal FlsBudget { get; set; }
public decimal SummeFlsBudget { get; set; }
public decimal DifferenzMonatSollIst { get; set; }
public decimal FlsIst { get; set; }
public decimal SummeFlsIst { get; set; }
public decimal DiffFls { get; set; }
}
}
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
@@ -9,6 +10,7 @@ using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceImplementations;
using BS.Shared.Core;
using BS.Shared.DataContracts;
@@ -18,7 +20,67 @@ namespace UebergangshilfeUnnaEV.Reporting
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
public override XtraReport CreateQueryReport(long queryOid, string queryReportId)
{
if (queryOid == 100)
{
return CreateHilfeplanKontingent(queryOid, queryReportId);
}
return base.CreateQueryReport(queryOid, queryReportId);
}
private XtraReport CreateHilfeplanKontingent(long queryOid, string queryReportId)
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
if (query == null)
return new XtraReport();
var path = Path.Combine(TempPath, queryReportId + ".xml");
var table = Utils.XMLDeserialize<DataTable>(path);
var qro = QueryRO.Create(query, table);
if (qro.Rows.Count > 0)
{
if (qro.Rows[0].Field1 != null && qro.Rows[0].Field1.ToString() != "0")
{
var oid = Int64.Parse(qro.Rows[0].Field1.ToString());
List<long> oidList = new List<long>();
oidList.Add(oid);
var druck = new HilfeplanKontingent();
druck.SetReportDataSource(HilfeplanKontingentRO.Create(oidList));
return druck;
}
//DateTime dt = DateTime.Now;
//DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt);
//dt = dt.AddMonths(1).AddDays(-1);
//long? customerOid = null;
//if (qro.Rows[0].Field2 != null && qro.Rows[0].Field2.ToString() != "0")
//{
// var oid = Int64.Parse(qro.Rows[0].Field2.ToString());
// var c = DAOFactory.GenericDAO.LoadByID<Customer>(customerOid.Value);
// var ro = (CustomerDataRO.Create(MapperFactory.CustomerDC_Customer.MapToNewDC(customer)));
// var cRo = CreateKlientenStammdatenRO(dt, ro);
// var druck = new Selbsteinschaetzung();
// druck.SetReportDataSource(cRo);
// return druck;
//}
}
return new XtraReport();
}
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);

View File

@@ -94,6 +94,13 @@
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.cs</DependentUpon>
</Compile>
<Compile Include="HilfeplanKontingent.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="HilfeplanKontingent.Designer.cs">
<DependentUpon>HilfeplanKontingent.cs</DependentUpon>
</Compile>
<Compile Include="HilfeplanKontingentRO.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
@@ -143,6 +150,10 @@
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="HilfeplanKontingent.resx">
<DependentUpon>HilfeplanKontingent.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View File

@@ -27,8 +27,9 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.RTFNotice3 = pEntity.RTFNotice3;
pDataContract.RTFNotice4 = pEntity.RTFNotice4;
pDataContract.RTFNotice5 = pEntity.RTFNotice5;
pDataContract.DistanceInMeter = pEntity.DistanceInMeter;
pDataContract.Relevance = pEntity.Relevance;
pDataContract.DistanceInMeter = (int?)pEntity.DistanceInMeter;
pDataContract.DistanceInMeterDecimal = pEntity.DistanceInMeter;
pDataContract.Relevance = pEntity.Relevance;
pDataContract.SignatureOid = pEntity.SignatureOid;
pDataContract.ServiceRecordType = pEntity.ServiceRecordType ?? ServiceRecordTypeId.DefaultActivity;
pDataContract.Betrag = pEntity.Betrag;
@@ -154,7 +155,16 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Start = pDataContract.Start;
pEntity.End = pDataContract.End;
pEntity.RoundedDuration = pDataContract.RoundedDuration;
pEntity.DistanceInMeter = pDataContract.DistanceInMeter;
if (pDataContract.DistanceInMeter.HasValue)
{
//Um alte Versionen zu unterstützen. In neuen Client Versionen ist DistanceInMeter null;
pEntity.DistanceInMeter = pDataContract.DistanceInMeter;
}
else
{
pEntity.DistanceInMeter = pDataContract.DistanceInMeterDecimal;
}
pEntity.Relevance = pDataContract.Relevance;
pEntity.WohnheimbuchungsOid = pDataContract.WohnheimbuchungsOid;
pEntity.GroupEmployeeCount = pDataContract.GroupEmployeeCount;

View File

@@ -38,7 +38,8 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ServiceRecordInsUser = pEntity.ServiceRecordInsUser;
pDataContract.ServiceRecordUpdUser = pEntity.UdpUser;
pDataContract.Start = pEntity.Start;
pDataContract.DistanceInMeter = pEntity.DistanceInMeter;
pDataContract.DistanceInMeter = (int?)pEntity.DistanceInMeter;
pDataContract.DistanceInMeterDecimal = pEntity.DistanceInMeter;
pDataContract.Relevance = pEntity.Relevance;
pDataContract.IsCreatedInMobileClient = pEntity.IsCreatedInMobileClient;

View File

@@ -282,7 +282,8 @@ namespace BeWo.Service.Plugins
if (zeigeKilometer)
{
entry.Kilometer = serviceRecord.DistanceInMeter;
entry.Kilometer = (int?)serviceRecord.DistanceInMeter;
entry.KilometerDecimal = serviceRecord.DistanceInMeter;
}
if (serviceRecord.Customer != null)

View File

@@ -329,9 +329,9 @@ namespace BeWo.Service.Plugins
//t = "5462295916"; // BeWo Dellbrueck
//t = "2120989920"; // Sozialbüro Schüßler und Wilckens GbR
//t = "9815376800"; // Haus Dülken GmbH + Co. KG
t = "6917917884"; // AMBEWO Müller/Gerhards
//t = "6917917884"; // AMBEWO Müller/Gerhards
t = "5240630948"; // Caritasverband der Diözese Rottenburg-Stuttgart e.V. - Rechtsträger der Caritas Heilbronn Hohenlohe e.V.
t = "7748694330"; //Caritasverband der Diözese Rottenburg-Stuttgart e.V. als Rechtsträger der Caritas Ludwigsburg-Waiblingen-Enz
return t;
#else
if (MultitenancyOperationContextExt.Current != null)

View File

@@ -670,9 +670,14 @@ namespace BeWo.Service.Plugins
{
ServiceRecordFLSOverviewDC srDC = new ServiceRecordFLSOverviewDC();
srDC.ServiceRecordOid = sr.Oid;
srDC.EmployeeOid = sr.EmployeeOid;
srDC.CustomerOid = sr.CustomerOid;
srDC.CostBearer2SupportConceptOid = sr.CostBearer2SupportConceptOid;
srDC.Start = sr.Start;
srDC.End = sr.End;
srDC.DistanceInMeter = sr.DistanceInMeter;
srDC.DistanceInMeter = (int?)sr.DistanceInMeter;
srDC.DistanceInMeterDecimal = sr.DistanceInMeter;
srDC.Notice = sr.Notice;
srDC.Notice2 = sr.Notice2;
srDC.Notice3 = sr.Notice3;
@@ -680,22 +685,7 @@ namespace BeWo.Service.Plugins
srDC.Notice5 = sr.Notice5;
srDC.InsertedOn = sr.InsTs;
srDC.InsUser = sr.InsUser;
if (useRoundedDuration)
{
srDC.RoundedDuration = sr.RoundedDuration;
}
else
{
srDC.RoundedDuration = (decimal)sr.End.Value.Subtract(sr.Start.Value).TotalMinutes;
}
if (sr.ServiceDescription != null)
srDC.ServiceDescription = MapperFactory.ServiceDescriptionDC_ServiceDescription.MapToNewDC(sr.ServiceDescription);
srDC.ServiceRecordOid = sr.Oid;
srDC.EmployeeOid = sr.EmployeeOid;
srDC.CustomerOid = sr.CustomerOid;
srDC.CostBearer2SupportConceptOid = sr.CostBearer2SupportConceptOid;
if (useGroupInfo)
{
srDC.GroupEmployeeCount = sr.GroupEmployeeCount;
@@ -704,6 +694,31 @@ namespace BeWo.Service.Plugins
srDC.GroupOid = sr.GroupOid;
}
if (sr.ServiceDescription != null)
srDC.ServiceDescription = MapperFactory.ServiceDescriptionDC_ServiceDescription.MapToNewDC(sr.ServiceDescription);
if (useRoundedDuration)
{
srDC.RoundedDuration = sr.RoundedDuration;
if (srDC.GroupOid.HasValue && srDC.GroupRoundedDuration.HasValue && useGroupInfo)
{
srDC.End = srDC.Start.Value.AddMinutes((double)sr.GroupRoundedDuration);
}
else
{
srDC.End = srDC.Start.Value.AddMinutes((double)sr.RoundedDuration);
}
}
else
{
srDC.RoundedDuration = (decimal)sr.End.Value.Subtract(sr.Start.Value).TotalMinutes;
}
var durationInString = srDC.RoundedDuration; // Das wird hier unterschieden, weil je nach Auswertung entweder die Dauer der Gruppe (bei Auswertung nach Mitarbeiter) oder der Anteil der Gesamtdauer (bei Auswertung nach Klient) angezeigt werden soll
if (srDC.GroupOid.HasValue && srDC.GroupRoundedDuration.HasValue && showGroupMinutes)
@@ -711,7 +726,6 @@ namespace BeWo.Service.Plugins
durationInString = srDC.GroupRoundedDuration.Value;
}
if (srDC.Start != null && srDC.Start.Value.Second == 0)
{
srDC.TimeRange = String.Format("{0:HH:mm}-{1:HH:mm} ({2:0.##} min.)", srDC.Start, srDC.End, durationInString);
@@ -725,6 +739,9 @@ namespace BeWo.Service.Plugins
srDC.DateTimeRange = String.Format("{0:dd.MM.} {1}", srDC.Start, srDC.TimeRange);
//srDC.TimeRange = srDC.Start.Value.ToShortTimeString() + "-" + srDC.Start.Value.AddMinutes((double)srDC.RoundedDuration).ToShortTimeString() + " (" + (int)srDC.RoundedDuration + " min.)";
return srDC;
}

View File

@@ -199,8 +199,11 @@ namespace BeWo.Service.Plugins
minDt = iCb2Sc.RequestedStartDate.Value.Date;
}
iDC.FLSRecordedTillNow = BerechneGeleisteteStunden(iCb2Sc, minDt, maxDt, calc);
var records = GetServiceRecordDCs(iCb2Sc, minDt, maxDt);
iDC.ServiceRecords = records;
iDC.FLSRecordedTillNow = BerechneGeleisteteStunden(records, calc);
//var notBillableAbsenceTimes = calc.GetHoursNotBillableDueToAbsenceTimes(relDC, recordDCs,
@@ -767,16 +770,62 @@ namespace BeWo.Service.Plugins
}
public virtual decimal BerechneGeleisteteStunden(CostBearer2SupportConcept iCb2Sc, DateTime minDate, DateTime maxDate, Calculations calc)
public virtual decimal BerechneGeleisteteStunden(CostBearer2SupportConcept c2s, DateTime minDate, DateTime maxDate, Calculations calc)
{
var recordDCs = (from sr in iCb2Sc.ServiceRecords
where (sr.Start >= minDate && sr.Start < maxDate)
select MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(sr)).ToList();
var recordDCs = GetServiceRecordDCs(c2s, minDate, maxDate);
return calc.GetBillableDurationInMinutes(recordDCs) / 60m;
}
public virtual decimal BerechneGeleisteteStunden(List<ServiceRecordDC> recordDCs, Calculations calc)
{
return calc.GetBillableDurationInMinutes(recordDCs) / 60m;
}
public virtual List<ServiceRecordDC> GetServiceRecordDCs(CostBearer2SupportConcept c2s, DateTime minDate, DateTime maxDate)
{
var serviceRecordsInSpan = c2s.ServiceRecords.Where(s => s.Start >= minDate && s.Start < maxDate);
var dcList = new List<ServiceRecordDC>();
foreach (var sr in serviceRecordsInSpan)
{
dcList.Add(CreateServiceRecordDC(sr));
}
return dcList;
}
public virtual ServiceRecordDC CreateServiceRecordDC(ServiceRecord sr)
{
var dc = new ServiceRecordDC();
dc.ServiceRecordOid = sr.Oid;
dc.ServiceRecordVersion = sr.Version;
dc.Start = sr.Start;
dc.End = sr.End;
dc.DistanceInMeter = (int?)sr.DistanceInMeter;
dc.DistanceInMeterDecimal = sr.DistanceInMeter;
dc.Relevance = sr.Relevance;
dc.Betrag = sr.Betrag;
if (sr.ServiceDescription != null)
{
dc.ServiceDescription = MapperFactory.ServiceDescriptionDC_ServiceDescription.MapToNewDC(sr.ServiceDescription);
}
dc.RoundedDuration = sr.RoundedDuration;
dc.GroupEmployeeCount = sr.GroupEmployeeCount;
dc.GroupPersonCount = sr.GroupPersonCount;
dc.GroupRoundedDuration = sr.GroupRoundedDuration;
dc.GroupOid = sr.GroupOid;
return dc;
}
public virtual decimal BerechneGeleisteteStunden(CostBearer2SupportConcept iCb2Sc, long catOid, DateTime minDate, DateTime maxDate, Calculations calc)
{

View File

@@ -710,7 +710,8 @@ namespace BeWo.Service.ServiceImplementations
srDC.Start = sr.Start;
srDC.End = sr.End;
srDC.DistanceInMeter = sr.DistanceInMeter;
srDC.DistanceInMeter = (int?)sr.DistanceInMeter;
srDC.DistanceInMeterDecimal = sr.DistanceInMeter;
srDC.Notice = sr.Notice;
srDC.Notice2 = sr.Notice2;
srDC.Notice3 = sr.Notice3;

View File

@@ -1389,6 +1389,15 @@ namespace BeWo.Service.ServiceImplementations
{
discontinue = true;
hasRecordsOutOfConcept = true;
foreach (var e in allRecords)
{
if (e.Start < start || e.End >= end)
{
int test = 0;
}
}
}
if (discontinue)
break;

View File

@@ -2541,7 +2541,8 @@ namespace BeWo.Service.ServiceImplementations
dc.RoundedDuration = sr.RoundedDuration;
dc.DistanceInMeter = sr.DistanceInMeter;
dc.DistanceInMeter = (int?)sr.DistanceInMeter;
dc.DistanceInMeterDecimal = sr.DistanceInMeter;
dc.Betrag = sr.Betrag;
dc.InsertedOn = sr.InsTs;
dc.InsUser = sr.InsUser;

View File

@@ -1572,6 +1572,12 @@ namespace BeWo.Service.ServiceImplementations
task.StartDate = task.DueDate;
task.EndDate = task.DueDate;
}
if (task.SupportConceptList != null && task.SupportConceptList.Count > 0)
{
task.Subject = String.Format("{0}: {1}", task.SupportConceptList[0].Customer.Person.LastNameFirstName, task.Subject);
}
}
var monday = DateTime.Today.FirstDateOfWeek(pInvertalStart.AddDays(-1 * pBufferSize).GetIso8601WeekOfYear());

View File

@@ -63,6 +63,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public int? Kilometer { get; set; }
[DataMember]
public decimal? KilometerDecimal { get; set; }
[DataMember]
public DateTime StartDatum { get; set; }

View File

@@ -108,10 +108,10 @@ namespace BS.Shared.DataContracts
public ServiceRecordTypeId ServiceRecordType { get; set; }
[DataMember]
public int? DistanceInMeter { get; set; }
public int? DistanceInMeter{ get; set; }
//[DataMember]
//public decimal? DistanceInMeterDec { get; set; }
[DataMember]
public decimal? DistanceInMeterDecimal { get; set; }
[DataMember]
public string IP { get; set; }

View File

@@ -63,7 +63,10 @@ namespace BS.Shared.DataContracts
[DataMember]
public int? DistanceInMeter { get; set; }
[DataMember]
[DataMember]
public decimal? DistanceInMeterDecimal { get; set; }
[DataMember]
public string InsUser { get; set; }
[DataMember]

Some files were not shown because too many files have changed in this diff Show More