diff --git a/BeWo/Styles/Colors/Colors.xaml b/BeWo/Styles/Colors/Colors.xaml index 9597783fd..51dbd3d25 100644 --- a/BeWo/Styles/Colors/Colors.xaml +++ b/BeWo/Styles/Colors/Colors.xaml @@ -128,7 +128,7 @@ #FFD7DADB #FF92A9B3 #FF111111 - #FF777777 + #FF555555 #FF5C1919 #FF993B3B diff --git a/BeWo/Styles/ControlStyles/LabelStyles.xaml b/BeWo/Styles/ControlStyles/LabelStyles.xaml index ccaf8b845..0e839e401 100644 --- a/BeWo/Styles/ControlStyles/LabelStyles.xaml +++ b/BeWo/Styles/ControlStyles/LabelStyles.xaml @@ -31,4 +31,19 @@ + + \ No newline at end of file diff --git a/BeWo/Styles/DataTemplates/ControlTemplates.xaml b/BeWo/Styles/DataTemplates/ControlTemplates.xaml index b69ac26a7..4ff63f5f2 100644 --- a/BeWo/Styles/DataTemplates/ControlTemplates.xaml +++ b/BeWo/Styles/DataTemplates/ControlTemplates.xaml @@ -108,13 +108,13 @@ + Height="6" + Background="{DynamicResource NavigationHeaderBrush}"> + Background="{DynamicResource NavigationContentBrush}"> + + + - @@ -34,7 +36,7 @@ HorizontalAlignment="Left" FontFamily="Microsoft Sans Serif" FontSize="14" - Foreground="#FFFFFF" + Foreground="Black" Text="KI Module Einstellungen" /> @@ -103,7 +104,7 @@ - + --> - + + + +

BeWo Serverstatus

+

Tenant: –

+

Serverzeit: –

+

Version: –

+

Datenbank: –

+ +

Services

+ + + +
ServiceStatusMeldung
+ + + + \ No newline at end of file diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/CaritasVerbandDuerenJuelichEvBeWo.csproj b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/CaritasVerbandDuerenJuelichEvBeWo.csproj new file mode 100644 index 000000000..6b3ffbfff --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/CaritasVerbandDuerenJuelichEvBeWo.csproj @@ -0,0 +1,109 @@ + + + + + Debug + AnyCPU + {23696062-2534-49E5-B88D-E182F2399923} + Library + Properties + CaritasverbandDuerenJuelichEvBeWo + 4512933309_Reports + v4.7.2 + 512 + + + + true + full + false + ..\..\CustomerDlls\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\CustomerDlls\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + + Component + + + SettlementReport2.cs + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {40d8b312-ea64-49e3-a31a-5e57ed4d5654} + Report + + + {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} + Service + + + {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4} + Shared + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + SettlementReport2.cs + Designer + + + + \ No newline at end of file diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Invoicing/SettlementInvoiceCreation.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Invoicing/SettlementInvoiceCreation.cs new file mode 100644 index 000000000..6ea2f6438 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Invoicing/SettlementInvoiceCreation.cs @@ -0,0 +1,51 @@ +using BeWo.Data.Entities; +using BeWo.Service.Invoicing; +using BS.Shared.DataContracts; +using BS.Shared.Services; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace CaritasverbandDuerenJuelichEvBeWo.Invoicing +{ + public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation + { + public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s) + { + return false; + } + + //public override bool IsServiceRecordBillable(ServiceRecord iRecord) + //{ + // if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz")) + // { + // return false; + // } + // return true; + //} + + //public override void CalculateSettlementInvoiceApprovedAmounts(Settlement2DC si, SupportConceptCostBearerRelDC relDC, Calculations calc) + //{ + // si.ApprovedFLSWeekly = 0; + // si.ApprovedFLS = 0; + // foreach (var sp in relDC.ApprovalPeriodList) + // { + // if (sp.ServiceCategory == null || !sp.ServiceCategory.Name.Contains("Assistenz")) + // { + // si.ApprovedFLSWeekly += calc.GetApprovedHoursPerWeek(sp, relDC.CostBearer.CostRatePeriods) ?? 0m; + + // decimal flsTotal = calc.GetApprovedHoursTotal(sp, relDC.CostBearer.CostRatePeriods) ?? 0m; + // flsTotal = Math.Round(flsTotal, 2, MidpointRounding.AwayFromZero); + + // si.ApprovedFLS += flsTotal; + // } + // } + //} + + + //public override IList GetBillableServiceRecords(CostBearer2SupportConcept c2s) + //{ + // return c2s.ServiceRecords.OrderBy(s => s.Start).Where(s => !s.ServiceDescription.ServiceCategory.Name.ToLower().Contains("assistenz")).ToList(); + //} + } +} diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/AssemblyInfo.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..930888dd6 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/AssemblyInfo.cs @@ -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")] diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.Designer.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.Designer.cs new file mode 100644 index 000000000..006ab0ae2 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace CaritasverbandDuerenJuelichEvBeWo.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CaritasverbandDuerenJuelichEvBeWo.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.resx b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.resx new file mode 100644 index 000000000..1af7de150 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/Resources.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/licenses.licx b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/licenses.licx new file mode 100644 index 000000000..d59547a61 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/CustomReportCreator.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/CustomReportCreator.cs new file mode 100644 index 000000000..3e064654a --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/CustomReportCreator.cs @@ -0,0 +1,201 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Report; +using BeWo.Report.DefaultReports; +using BeWo.Report.ReportObjects; +using BeWo.Service.DCEntityMapper; +using DevExpress.XtraReports.UI; + +namespace TemplateNeuKunde.Reporting +{ + //public class CustomReportCreator : DefaultReportCreator + //{ + // //Einkommentiere für LWL Prüfliste, ZAD Nummer und ServiceDescription ergänzen + + + // //SQL Queries: + // //INSERT INTO `query` (`Oid`,`Tid`,`Type`,`Title`,`SQL`,`Notice`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`,`UserGroupOids`,`ReportTypeName`,`FileName`,`ExportTitle`) + // //VALUES(500,24,0,'LWL Quittierungsbelege','select \':Von\', \':Bis\', \':Klient/in\'','direct', NULL, NULL, NULL,1,1, NULL,'1', NULL, NULL, NULL); + + // //INSERT INTO `parameter` (`Oid`,`QueryOid`,`Tid`,`Name`,`Type`,`DbType`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`) VALUES(4,500,25,'Von_Bis',5, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + // //INSERT INTO `parameter` (`Oid`,`QueryOid`,`Tid`,`Name`,`Type`,`DbType`,`InsTs`,`InsUser`,`UdpUser`,`Version`,`IsActive`,`SystemEntryID`) VALUES(5,500,25,'Klient/in',2, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + + // //public override XtraReport CreateQueryReport(long queryOid, string queryReportId) + // //{ + // // if (queryOid == 500) + // // { + // // return CreateLwlPruefliste(CreateQueryRO(queryOid, queryReportId)); + + // // } + // // return base.CreateQueryReport(queryOid, queryReportId); + // //} + + // //private LwlPruefliste CreateLwlPruefliste(QueryRO queryRo) + // //{ + // // var liste = new LwlPruefliste(); + + // // if (queryRo.Rows.Count > 0) + // // { + // // DateTime start = DateTime.MaxValue; + // // DateTime end = DateTime.MinValue; + + // // if (queryRo.Rows[0].Field1 != null) + // // { + // // DateTime.TryParse(queryRo.Rows[0].Field1.ToString(), out start); + // // } + // // if (queryRo.Rows[0].Field2 != null) + // // { + // // DateTime.TryParse(queryRo.Rows[0].Field2.ToString(), out end); + // // } + // // long? customerOid = null; + // // if (queryRo.Rows[0].Field3.ToString() == "0") + // // { + // // var masterReport = new LwlPruefliste(); + // // //masterReport.CreateDocument(); + + // // var customerList = DAOFactory.GenericDAO.GetAllActive(); + // // var customerListOrd = customerList.OrderBy(c => c.Person.LastNameFirstName).ToList(); + // // foreach (var c in customerListOrd) + // // { + // // var ro = LwlPrueflisteRO.Create(start, end, "9011113", c.Oid); + // // if (ro.ServiceRecords != null && ro.ServiceRecords.Count > 0) + // // { + // // try + // // { + // // liste = new LwlPruefliste(); + // // liste.SetReportDataSource(ro); + // // liste.CreateDocument(); + // // masterReport.Pages.AddRange(liste.Pages); + // // } + // // catch + // // { + // // // ignore - z.B. kein Hilfeplan + // // } + // // } + // // } + // // return (LwlPruefliste)masterReport; + // // } + + // // if (queryRo.Rows[0].Field3 != null) + // // { + // // if (Int64.TryParse(queryRo.Rows[0].Field3.ToString(), out var oidOut)) + // // { + // // customerOid = oidOut; + // // } + // // var ro = LwlPrueflisteRO.Create(start, end, "9011113", customerOid); + // // liste.SetReportDataSource(ro); + // // return liste; + // // } + // // } + + // // return liste; + // //} + + + // //Einkommentiere für LWL 2. Seite mit Anhang für Budgetnachweise + // //public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid) + // //{ + // // return base.CreateSettlementReport(dcId, invoiceBaseOid, true); + // //} + + + // //public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay) + // //{ + // // List lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay); + + // // if (lROs.Count > 0) + // // { + + // // var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid); + // // rootReport.CreateDocument(); + + // // for (int i = 1; i < lROs.Count; i++) + // // { + // // var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid); + // // lNext.CreateDocument(); + // // rootReport.Pages.AddRange(lNext.Pages); + // // } + + // // return rootReport; + // // } + // // 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); + // // return CreateServicesOverviewReportForRo(ro, serviceCategoryOid); + // //} + // //public override XtraReport CreateServiceOverviewReportForCustomers(IList customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende) + // //{ + // // var roList = new List(); + + // // foreach (var coid in customerOids) + // // { + // // var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid); + // // if (ro != null) + // // { + // // roList.Add(ro); + // // } + // // } + + // // if (roList.Count > 0) + // // { + + // // var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid); + // // rootReport.CreateDocument(); + + // // for (int i = 1; i < roList.Count; i++) + // // { + // // var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid); + // // lNext.CreateDocument(); + // // rootReport.Pages.AddRange(lNext.Pages); + // // } + + // // return rootReport; + // // } + // // return new XtraReport(); + + // //} + //public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, String reportId) + //{ + // return CreateServicesOverviewReportForRo(ro, null); + //} + + // //private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid) + // //{ + // // IBeWoReport report = null; + // // String kt = ""; + // // if (!String.IsNullOrWhiteSpace(ro.Costbearer)) + // // kt = ro.Costbearer.Trim(); + + // // String function = ""; + // // if (ro.CostBearer2SupportConceptList != null) + // // { + // // foreach (var c2s in ro.CostBearer2SupportConceptList) + // // { + // // if (c2s.CostBearer.Organisation.Function != null && !String.IsNullOrWhiteSpace(ro.Costbearer) && c2s.CostBearer.Organisation.Name == ro.Costbearer) + // // function = c2s.CostBearer.Organisation.Function.Value; + // // } + // // } + + // // if (kt == "Kreisverwaltung Mainz-Bingen") + // // report = new AlzeyTeilhabe.StundenzettelBi2(); + + // // if (report == null && function == "Kostenträger Soziotherapie") + // // report = new StundenzettelSoziotherapie(); + + // // if (report == null) + // // report = new AlzeyTeilhabe.StundenzettelWo(); + + // // report.SetReportDataSource(ro); + + // // return report as XtraReport; + // //} + + //} +} diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.Designer.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.Designer.cs new file mode 100644 index 000000000..d459c1826 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.Designer.cs @@ -0,0 +1,1047 @@ +using BeWo.Report.ReportObjects; +namespace CaritasverbandDuerenJuelichEvBeWo +{ + partial class Spitzabrechnung + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Spitzabrechnung)); + DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); + this.rowErbrachteLeistung = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); + this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); + this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel(); + this.lblAnrede = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrTable2 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.RecipientPostCodeAndTown = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel_RecipientStreet = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel_RecipientDivision = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel_RecipientContactPerson = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); + this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand(); + this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrTable3 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow20 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow21 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow22 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow24 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel(); + this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); + this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.fieldApprovedFLSWithFactor = new DevExpress.XtraReports.UI.CalculatedField(); + this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail1 = new DevExpress.XtraReports.UI.DetailBand(); + this.xrTable4 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow33 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell52 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell53 = new DevExpress.XtraReports.UI.XRTableCell(); + this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.Zwischensumme = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.xrTable6 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.xrTable5 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow31 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow32 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow34 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell54 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell55 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow35 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell56 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow37 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell59 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell60 = new DevExpress.XtraReports.UI.XRTableCell(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).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.xrLabel9}); + this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F); + this.ReportHeader.HeightF = 120F; + this.ReportHeader.Name = "ReportHeader"; + this.ReportHeader.StylePriority.UseFont = false; + // + // xrLabel9 + // + this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(193F, 51.5F); + this.xrLabel9.Multiline = true; + this.xrLabel9.Name = "xrLabel9"; + this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel9.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel9.SizeF = new System.Drawing.SizeF(292F, 17F); + this.xrLabel9.StylePriority.UseFont = false; + this.xrLabel9.Text = "\r\n"; + // + // xrLabel8 + // + this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "{0:dd.MM.yyyy}")}); + this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(457.625F, 226.2916F); + this.xrLabel8.Name = "xrLabel8"; + this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel8.SizeF = new System.Drawing.SizeF(192.3748F, 23F); + this.xrLabel8.StylePriority.UseTextAlignment = false; + this.xrLabel8.Text = "Düren"; + this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrTable1 + // + this.xrTable1.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 432.6249F); + this.xrTable1.Name = "xrTable1"; + this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.rowErbrachteLeistung}); + this.xrTable1.SizeF = new System.Drawing.SizeF(650F, 17F); + this.xrTable1.StylePriority.UseBorderColor = false; + // + // rowErbrachteLeistung + // + this.rowErbrachteLeistung.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell22, + this.xrTableCell14}); + this.rowErbrachteLeistung.Name = "rowErbrachteLeistung"; + this.rowErbrachteLeistung.Weight = 0.085D; + // + // xrTableCell22 + // + this.xrTableCell22.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell22.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell22.Name = "xrTableCell22"; + this.xrTableCell22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell22.StylePriority.UseBorderColor = false; + this.xrTableCell22.StylePriority.UseBorders = false; + this.xrTableCell22.StylePriority.UseFont = false; + this.xrTableCell22.Text = "Erbrachte Leistungen:"; + this.xrTableCell22.Weight = 0.83602567232572111D; + // + // xrTableCell14 + // + this.xrTableCell14.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell14.Multiline = true; + this.xrTableCell14.Name = "xrTableCell14"; + this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell14.StylePriority.UseBorderColor = false; + this.xrTableCell14.StylePriority.UseBorders = false; + this.xrTableCell14.StylePriority.UseFont = false; + this.xrTableCell14.StylePriority.UseTextAlignment = false; + this.xrTableCell14.Text = "[RecordedFLS!0.00] FLS"; + this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell14.Weight = 0.16397432767427883D; + // + // ruleRateFactorNull + // + this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?"; + this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.ruleRateFactorNull.Name = "ruleRateFactorNull"; + // + // xrLabel6 + // + this.xrLabel6.BackColor = System.Drawing.Color.Transparent; + this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 357.6249F); + this.xrLabel6.Multiline = true; + this.xrLabel6.Name = "xrLabel6"; + this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel6.SizeF = new System.Drawing.SizeF(642F, 67F); + this.xrLabel6.StylePriority.UseBackColor = false; + this.xrLabel6.StylePriority.UseFont = false; + this.xrLabel6.Text = resources.GetString("xrLabel6.Text"); + // + // lblAnrede + // + this.lblAnrede.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 324.625F); + this.lblAnrede.Name = "lblAnrede"; + this.lblAnrede.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblAnrede.SizeF = new System.Drawing.SizeF(317F, 17F); + this.lblAnrede.StylePriority.UseFont = false; + this.lblAnrede.Text = "Sehr geehrte Damen und Herren,"; + // + // xrLabel4 + // + this.xrLabel4.BackColor = System.Drawing.Color.Transparent; + this.xrLabel4.CanShrink = true; + this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 282.2916F); + this.xrLabel4.Multiline = true; + this.xrLabel4.Name = "xrLabel4"; + this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel4.SizeF = new System.Drawing.SizeF(650F, 17F); + this.xrLabel4.StylePriority.UseBackColor = false; + this.xrLabel4.StylePriority.UseFont = false; + this.xrLabel4.Text = "[CustomerReferenceNumberAndDate]"; + this.xrLabel4.WordWrap = false; + // + // xrLabel3 + // + this.xrLabel3.BackColor = System.Drawing.Color.Transparent; + this.xrLabel3.CanShrink = true; + this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 266.2917F); + this.xrLabel3.Name = "xrLabel3"; + this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 16F); + this.xrLabel3.StylePriority.UseBackColor = false; + this.xrLabel3.StylePriority.UseFont = false; + this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [Salutation2] [CustomerFirstName] [CustomerLa" + + "stName], geb. [CustomerBirthday!dd.MM.yyyy]"; + this.xrLabel3.WordWrap = false; + // + // xrLabel2 + // + this.xrLabel2.BackColor = System.Drawing.Color.Transparent; + this.xrLabel2.CanShrink = true; + this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 249.2916F); + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel2.SizeF = new System.Drawing.SizeF(364.5834F, 16.99997F); + this.xrLabel2.StylePriority.UseBackColor = false; + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]"; + this.xrLabel2.WordWrap = false; + // + // xrTable2 + // + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(457.625F, 209.2916F); + this.xrTable2.Name = "xrTable2"; + this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow11}); + this.xrTable2.SizeF = new System.Drawing.SizeF(192.375F, 17F); + // + // xrTableRow11 + // + this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell12}); + this.xrTableRow11.Name = "xrTableRow11"; + this.xrTableRow11.Weight = 0.11258278145695365D; + // + // xrTableCell12 + // + this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "BusinessPartnerId")}); + this.xrTableCell12.Multiline = true; + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell12.StylePriority.UseTextAlignment = false; + this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + this.xrTableCell12.TextFormatString = "GP-Nr.: {0}"; + this.xrTableCell12.Weight = 1D; + // + // RecipientPostCodeAndTown + // + this.RecipientPostCodeAndTown.CanShrink = true; + this.RecipientPostCodeAndTown.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.00003F); + this.RecipientPostCodeAndTown.Name = "RecipientPostCodeAndTown"; + this.RecipientPostCodeAndTown.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.RecipientPostCodeAndTown.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.RecipientPostCodeAndTown.SizeF = new System.Drawing.SizeF(292F, 17F); + this.RecipientPostCodeAndTown.StylePriority.UseFont = false; + this.RecipientPostCodeAndTown.Text = "[RecipientPostCodeAndTown]"; + // + // xrLabel_RecipientStreet + // + this.xrLabel_RecipientStreet.CanShrink = true; + this.xrLabel_RecipientStreet.LocationFloat = new DevExpress.Utils.PointFloat(0F, 51.00002F); + this.xrLabel_RecipientStreet.Name = "xrLabel_RecipientStreet"; + this.xrLabel_RecipientStreet.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel_RecipientStreet.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel_RecipientStreet.SizeF = new System.Drawing.SizeF(292F, 17F); + this.xrLabel_RecipientStreet.StylePriority.UseFont = false; + this.xrLabel_RecipientStreet.Text = "[RecipientStreet]"; + // + // xrLabel_RecipientDivision + // + this.xrLabel_RecipientDivision.CanShrink = true; + this.xrLabel_RecipientDivision.LocationFloat = new DevExpress.Utils.PointFloat(0F, 34.00002F); + this.xrLabel_RecipientDivision.Name = "xrLabel_RecipientDivision"; + this.xrLabel_RecipientDivision.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel_RecipientDivision.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel_RecipientDivision.SizeF = new System.Drawing.SizeF(292F, 17F); + this.xrLabel_RecipientDivision.StylePriority.UseFont = false; + this.xrLabel_RecipientDivision.Text = "[RecipientDivision]"; + // + // xrLabel_RecipientContactPerson + // + this.xrLabel_RecipientContactPerson.CanShrink = true; + this.xrLabel_RecipientContactPerson.LocationFloat = new DevExpress.Utils.PointFloat(0F, 17.00001F); + this.xrLabel_RecipientContactPerson.Name = "xrLabel_RecipientContactPerson"; + this.xrLabel_RecipientContactPerson.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel_RecipientContactPerson.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel_RecipientContactPerson.SizeF = new System.Drawing.SizeF(292F, 17F); + this.xrLabel_RecipientContactPerson.StylePriority.UseFont = false; + this.xrLabel_RecipientContactPerson.Text = "[RecipientContactPerson]"; + // + // xrLabel1 + // + this.xrLabel1.CanShrink = true; + this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + 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(292F, 17F); + this.xrLabel1.StylePriority.UseFont = false; + this.xrLabel1.Text = "[RecipientOrganisation]"; + // + // ReportFooter + // + this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel10, + this.xrTable3, + this.xrLabel12, + this.xrLabel11}); + this.ReportFooter.Font = new DevExpress.Drawing.DXFont("Verdana", 10F); + this.ReportFooter.HeightF = 186.0001F; + this.ReportFooter.KeepTogether = true; + this.ReportFooter.Name = "ReportFooter"; + this.ReportFooter.StylePriority.UseFont = false; + // + // xrLabel10 + // + this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 110.0001F); + this.xrLabel10.Name = "xrLabel10"; + this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F); + this.xrLabel10.StylePriority.UseFont = false; + this.xrLabel10.Text = "Mit freundlichen Grüßen"; + // + // xrTable3 + // + this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F); + this.xrTable3.Name = "xrTable3"; + this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow20, + this.xrTableRow7, + this.xrTableRow9, + this.xrTableRow21, + this.xrTableRow22, + this.xrTableRow23, + this.xrTableRow24}); + this.xrTable3.SizeF = new System.Drawing.SizeF(650F, 94F); + this.xrTable3.StylePriority.UseFont = false; + // + // xrTableRow20 + // + this.xrTableRow20.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell16}); + this.xrTableRow20.Name = "xrTableRow20"; + this.xrTableRow20.Weight = 0.38095238095238093D; + // + // xrTableCell16 + // + this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")}); + this.xrTableCell16.Name = "xrTableCell16"; + this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell16.StylePriority.UsePadding = false; + this.xrTableCell16.Text = "xrTableCell1"; + this.xrTableCell16.Weight = 3D; + // + // xrTableRow7 + // + this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell3}); + this.xrTableRow7.Name = "xrTableRow7"; + this.xrTableRow7.Weight = 0.23809523809523808D; + // + // xrTableCell3 + // + this.xrTableCell3.Name = "xrTableCell3"; + this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell3.StylePriority.UsePadding = false; + this.xrTableCell3.Weight = 3D; + // + // xrTableRow9 + // + this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell6}); + this.xrTableRow9.Name = "xrTableRow9"; + this.xrTableRow9.Weight = 0.38095238095238088D; + // + // xrTableCell6 + // + this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "FehlkontakteString")}); + this.xrTableCell6.Name = "xrTableCell6"; + this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell6.StylePriority.UsePadding = false; + this.xrTableCell6.Weight = 3D; + // + // xrTableRow21 + // + this.xrTableRow21.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell18}); + this.xrTableRow21.Name = "xrTableRow21"; + this.xrTableRow21.Weight = 0.23809523809523808D; + // + // xrTableCell18 + // + this.xrTableCell18.Name = "xrTableCell18"; + this.xrTableCell18.Weight = 3D; + // + // xrTableRow22 + // + this.xrTableRow22.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell29}); + this.xrTableRow22.Name = "xrTableRow22"; + this.xrTableRow22.Weight = 0.38095238095238088D; + // + // xrTableCell29 + // + this.xrTableCell29.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "AbsenceTimes")}); + this.xrTableCell29.Name = "xrTableCell29"; + this.xrTableCell29.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell29.StylePriority.UsePadding = false; + this.xrTableCell29.Text = "xrTableCell4"; + this.xrTableCell29.Weight = 3D; + // + // xrTableRow23 + // + this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell30}); + this.xrTableRow23.Name = "xrTableRow23"; + this.xrTableRow23.Weight = 0.23809523809523803D; + // + // xrTableCell30 + // + this.xrTableCell30.Name = "xrTableCell30"; + this.xrTableCell30.Weight = 3D; + // + // xrTableRow24 + // + this.xrTableRow24.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell31}); + this.xrTableRow24.Name = "xrTableRow24"; + this.xrTableRow24.Weight = 0.38095238095238088D; + // + // xrTableCell31 + // + this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "FinalSentence")}); + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell31.StylePriority.UsePadding = false; + this.xrTableCell31.Text = "xrTableCell8"; + this.xrTableCell31.Weight = 3D; + // + // xrLabel12 + // + this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 169.0001F); + this.xrLabel12.Name = "xrLabel12"; + this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel12.SizeF = new System.Drawing.SizeF(225F, 17F); + this.xrLabel12.StylePriority.UseFont = false; + this.xrLabel12.Text = "[CreatorName]"; + // + // xrLabel11 + // + this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(582.9996F, 169.0001F); + this.xrLabel11.Name = "xrLabel11"; + this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel11.SizeF = new System.Drawing.SizeF(67F, 17F); + this.xrLabel11.StylePriority.UseFont = false; + this.xrLabel11.StylePriority.UseTextAlignment = false; + this.xrLabel11.Text = "Anlage"; + this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // topMarginBand1 + // + this.topMarginBand1.HeightF = 76.04166F; + this.topMarginBand1.Name = "topMarginBand1"; + // + // bottomMarginBand1 + // + this.bottomMarginBand1.HeightF = 71.125F; + this.bottomMarginBand1.Name = "bottomMarginBand1"; + // + // GroupHeader1 + // + this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel2, + this.xrLabel1, + this.xrLabel_RecipientContactPerson, + this.xrLabel_RecipientDivision, + this.xrLabel_RecipientStreet, + this.RecipientPostCodeAndTown, + this.xrTable2, + this.xrLabel3, + this.xrLabel4, + this.lblAnrede, + this.xrLabel6, + this.xrTable1, + this.xrLabel8}); + this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F); + this.GroupHeader1.HeightF = 449.6249F; + this.GroupHeader1.Name = "GroupHeader1"; + this.GroupHeader1.StylePriority.UseFont = false; + // + // fieldApprovedFLSWithFactor + // + this.fieldApprovedFLSWithFactor.Expression = "[ApprovedFLSTotal] * [RateFactor]"; + this.fieldApprovedFLSWithFactor.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; + this.fieldApprovedFLSWithFactor.Name = "fieldApprovedFLSWithFactor"; + // + // DetailReport + // + this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail1, + this.GroupHeader2, + this.Zwischensumme}); + this.DetailReport.DataMember = "InvoiceItems"; + this.DetailReport.DataSource = this.bindingSource1; + this.DetailReport.Level = 0; + this.DetailReport.Name = "DetailReport"; + // + // Detail1 + // + this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable4}); + this.Detail1.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.Detail1.HeightF = 17F; + this.Detail1.Name = "Detail1"; + this.Detail1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] { + new DevExpress.XtraReports.UI.GroupField("PeriodStartDate", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)}); + this.Detail1.StylePriority.UseFont = false; + // + // xrTable4 + // + this.xrTable4.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable4.Name = "xrTable4"; + this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow33}); + this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 17F); + this.xrTable4.StylePriority.UseBorderColor = false; + // + // xrTableRow33 + // + this.xrTableRow33.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell52, + this.xrTableCell53}); + this.xrTableRow33.Name = "xrTableRow33"; + this.xrTableRow33.Weight = 0.085D; + // + // xrTableCell52 + // + this.xrTableCell52.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell52.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell52.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AbrechnungsText")}); + this.xrTableCell52.Name = "xrTableCell52"; + this.xrTableCell52.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell52.StylePriority.UseBorderColor = false; + this.xrTableCell52.StylePriority.UseBorders = false; + this.xrTableCell52.StylePriority.UseFont = false; + this.xrTableCell52.Text = "abzüglich der geleisteten Abschlagszahlung:"; + this.xrTableCell52.Weight = 0.83602567232572123D; + // + // xrTableCell53 + // + this.xrTableCell53.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell53.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell53.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.GrossAmountTotal", "{0:c}")}); + this.xrTableCell53.Name = "xrTableCell53"; + this.xrTableCell53.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell53.StylePriority.UseBorderColor = false; + this.xrTableCell53.StylePriority.UseBorders = false; + this.xrTableCell53.StylePriority.UseFont = false; + this.xrTableCell53.StylePriority.UseTextAlignment = false; + this.xrTableCell53.Text = "xrTableCell10"; + this.xrTableCell53.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell53.Weight = 0.16397432767427886D; + // + // GroupHeader2 + // + this.GroupHeader2.BorderColor = System.Drawing.Color.Transparent; + this.GroupHeader2.Expanded = false; + this.GroupHeader2.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] { + new DevExpress.XtraReports.UI.GroupField("RateFactor", DevExpress.XtraReports.UI.XRColumnSortOrder.Descending)}); + this.GroupHeader2.HeightF = 0F; + this.GroupHeader2.Name = "GroupHeader2"; + this.GroupHeader2.StylePriority.UseBorderColor = false; + // + // Zwischensumme + // + this.Zwischensumme.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable6}); + this.Zwischensumme.HeightF = 34F; + this.Zwischensumme.Name = "Zwischensumme"; + this.Zwischensumme.Visible = false; + // + // xrTable6 + // + this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable6.Name = "xrTable6"; + this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow12, + this.xrTableRow10}); + this.xrTable6.SizeF = new System.Drawing.SizeF(650F, 34F); + this.xrTable6.StylePriority.UseFont = false; + // + // xrTableRow12 + // + this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell9, + this.xrTableCell10}); + this.xrTableRow12.Name = "xrTableRow12"; + this.xrTableRow12.Weight = 0.40476190476190466D; + // + // xrTableCell9 + // + this.xrTableCell9.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell9.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTableCell9.Name = "xrTableCell9"; + this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell9.StylePriority.UseBorderColor = false; + this.xrTableCell9.StylePriority.UseBorders = false; + this.xrTableCell9.StylePriority.UseFont = false; + this.xrTableCell9.StylePriority.UsePadding = false; + this.xrTableCell9.Text = "Zwischensumme [ItemDescription]:"; + this.xrTableCell9.Weight = 2.5080772986778848D; + // + // xrTableCell10 + // + this.xrTableCell10.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.GrossAmountTotal")}); + this.xrTableCell10.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTableCell10.Name = "xrTableCell10"; + this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell10.StylePriority.UseBorderColor = false; + this.xrTableCell10.StylePriority.UseBorders = false; + this.xrTableCell10.StylePriority.UseFont = false; + this.xrTableCell10.StylePriority.UsePadding = false; + this.xrTableCell10.StylePriority.UseTextAlignment = false; + xrSummary1.FormatString = "{0:c}"; + xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.xrTableCell10.Summary = xrSummary1; + this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell10.Weight = 0.4919227013221153D; + // + // xrTableRow10 + // + this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell7}); + this.xrTableRow10.Name = "xrTableRow10"; + this.xrTableRow10.Weight = 0.40476190476190466D; + // + // xrTableCell7 + // + this.xrTableCell7.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTableCell7.Name = "xrTableCell7"; + this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell7.StylePriority.UseBorderColor = false; + this.xrTableCell7.StylePriority.UseBorders = false; + this.xrTableCell7.StylePriority.UseFont = false; + this.xrTableCell7.StylePriority.UsePadding = false; + this.xrTableCell7.Weight = 3D; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO); + // + // GroupFooter1 + // + this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable5}); + this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.GroupFooter1.HeightF = 115F; + this.GroupFooter1.Name = "GroupFooter1"; + this.GroupFooter1.StylePriority.UseFont = false; + // + // xrTable5 + // + this.xrTable5.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable5.Name = "xrTable5"; + this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow31, + this.xrTableRow32, + this.xrTableRow34, + this.xrTableRow35, + this.xrTableRow36, + this.xrTableRow37}); + this.xrTable5.SizeF = new System.Drawing.SizeF(650F, 115F); + this.xrTable5.StylePriority.UseBorderColor = false; + // + // xrTableRow31 + // + this.xrTableRow31.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell49, + this.xrTableCell50}); + this.xrTableRow31.Name = "xrTableRow31"; + this.xrTableRow31.Weight = 0.085D; + // + // xrTableCell49 + // + this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell49.Name = "xrTableCell49"; + this.xrTableCell49.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell49.StylePriority.UseBorders = false; + this.xrTableCell49.StylePriority.UseFont = false; + this.xrTableCell49.StylePriority.UsePadding = false; + this.xrTableCell49.Text = "Gesamtforderung:"; + this.xrTableCell49.Weight = 0.836025672325721D; + // + // xrTableCell50 + // + this.xrTableCell50.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell50.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "AmountBillableTotal", "{0:c}")}); + this.xrTableCell50.Name = "xrTableCell50"; + this.xrTableCell50.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell50.StylePriority.UseBorders = false; + this.xrTableCell50.StylePriority.UseFont = false; + this.xrTableCell50.StylePriority.UsePadding = false; + this.xrTableCell50.StylePriority.UseTextAlignment = false; + this.xrTableCell50.Text = "xrTableCell9"; + this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell50.Weight = 0.16397432767427886D; + // + // xrTableRow32 + // + this.xrTableRow32.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell51}); + this.xrTableRow32.Name = "xrTableRow32"; + this.xrTableRow32.Weight = 0.085D; + // + // xrTableCell51 + // + this.xrTableCell51.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell51.Name = "xrTableCell51"; + this.xrTableCell51.StylePriority.UseBorders = false; + this.xrTableCell51.Weight = 1D; + // + // xrTableRow34 + // + this.xrTableRow34.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell54, + this.xrTableCell55}); + this.xrTableRow34.Name = "xrTableRow34"; + this.xrTableRow34.Weight = 0.085D; + // + // xrTableCell54 + // + this.xrTableCell54.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell54.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell54.Name = "xrTableCell54"; + this.xrTableCell54.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell54.StylePriority.UseBorderColor = false; + this.xrTableCell54.StylePriority.UseBorders = false; + this.xrTableCell54.StylePriority.UseFont = false; + this.xrTableCell54.Text = "abzüglich der geleisteten Abschlagszahlung:"; + this.xrTableCell54.Weight = 0.83602576622596159D; + // + // xrTableCell55 + // + this.xrTableCell55.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell55.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell55.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "AmountAdvancedPayments", "{0:c}")}); + this.xrTableCell55.Name = "xrTableCell55"; + this.xrTableCell55.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell55.StylePriority.UseBorderColor = false; + this.xrTableCell55.StylePriority.UseBorders = false; + this.xrTableCell55.StylePriority.UseFont = false; + this.xrTableCell55.StylePriority.UseTextAlignment = false; + this.xrTableCell55.Text = "xrTableCell10"; + this.xrTableCell55.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell55.Weight = 0.16397423377403847D; + // + // xrTableRow35 + // + this.xrTableRow35.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell56, + this.xrTableCell57}); + this.xrTableRow35.Name = "xrTableRow35"; + this.xrTableRow35.Weight = 0.085D; + // + // xrTableCell56 + // + this.xrTableCell56.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell56.Name = "xrTableCell56"; + this.xrTableCell56.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell56.StylePriority.UseBorders = false; + this.xrTableCell56.StylePriority.UsePadding = false; + this.xrTableCell56.Text = "abzüglich Eigenanteil:"; + this.xrTableCell56.Weight = 0.83602586012620206D; + // + // xrTableCell57 + // + this.xrTableCell57.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell57.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Eigenbeteiligung", "{0:c}")}); + this.xrTableCell57.Name = "xrTableCell57"; + this.xrTableCell57.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell57.StylePriority.UseBorders = false; + this.xrTableCell57.StylePriority.UsePadding = false; + this.xrTableCell57.StylePriority.UseTextAlignment = false; + this.xrTableCell57.Text = "xrTableCell15"; + this.xrTableCell57.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell57.Weight = 0.16397413987379808D; + // + // xrTableRow36 + // + this.xrTableRow36.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell58}); + this.xrTableRow36.Name = "xrTableRow36"; + this.xrTableRow36.Weight = 0.085D; + // + // xrTableCell58 + // + this.xrTableCell58.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell58.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell58.Name = "xrTableCell58"; + this.xrTableCell58.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell58.StylePriority.UseBorderColor = false; + this.xrTableCell58.StylePriority.UseBorders = false; + this.xrTableCell58.Weight = 1D; + // + // xrTableRow37 + // + this.xrTableRow37.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell59, + this.xrTableCell60}); + this.xrTableRow37.Name = "xrTableRow37"; + this.xrTableRow37.Weight = 0.15D; + // + // xrTableCell59 + // + this.xrTableCell59.BorderColor = System.Drawing.SystemColors.ControlLight; + this.xrTableCell59.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell59.Name = "xrTableCell59"; + this.xrTableCell59.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell59.StylePriority.UseBorderColor = false; + this.xrTableCell59.StylePriority.UseBorders = false; + this.xrTableCell59.StylePriority.UseFont = false; + this.xrTableCell59.Text = "Restforderung:"; + this.xrTableCell59.Weight = 0.83602567232572123D; + // + // xrTableCell60 + // + this.xrTableCell60.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell60.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Claim", "{0:c}")}); + this.xrTableCell60.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTableCell60.Name = "xrTableCell60"; + this.xrTableCell60.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell60.StylePriority.UseBorderColor = false; + this.xrTableCell60.StylePriority.UseBorders = false; + this.xrTableCell60.StylePriority.UseFont = false; + this.xrTableCell60.StylePriority.UseTextAlignment = false; + this.xrTableCell60.Text = "xrTableCell17"; + this.xrTableCell60.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell60.Weight = 0.16397432767427886D; + // + // Spitzabrechnung + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.ReportHeader, + this.ReportFooter, + this.topMarginBand1, + this.bottomMarginBand1, + this.GroupHeader1, + this.DetailReport, + this.GroupFooter1}); + this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { + this.fieldApprovedFLSWithFactor}); + this.DataSource = this.bindingSource1; + this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung"; + this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleRateFactorNull}); + this.Margins = new DevExpress.Drawing.DXMargins(101.0416F, 70F, 76.04166F, 71.125F); + this.PageHeight = 1169; + this.PageWidth = 827; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.Version = "23.2"; + ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).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.XRLabel xrLabel6; + private DevExpress.XtraReports.UI.XRLabel lblAnrede; + private DevExpress.XtraReports.UI.XRLabel xrLabel4; + private DevExpress.XtraReports.UI.XRLabel xrLabel3; + private DevExpress.XtraReports.UI.XRLabel xrLabel2; + private DevExpress.XtraReports.UI.XRTable xrTable2; + private DevExpress.XtraReports.UI.XRLabel RecipientPostCodeAndTown; + private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientStreet; + private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientDivision; + private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientContactPerson; + private DevExpress.XtraReports.UI.XRLabel xrLabel1; + private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter; + private DevExpress.XtraReports.UI.XRLabel xrLabel12; + private DevExpress.XtraReports.UI.XRLabel xrLabel11; + private DevExpress.XtraReports.UI.XRTable xrTable1; + private DevExpress.XtraReports.UI.XRTableRow rowErbrachteLeistung; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell22; + private DevExpress.XtraReports.UI.XRTable xrTable3; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow20; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow21; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow22; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell29; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow23; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell30; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow24; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell31; + private DevExpress.XtraReports.UI.XRLabel xrLabel10; + private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull; + private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1; + private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1; + private DevExpress.XtraReports.UI.XRLabel xrLabel8; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1; + private DevExpress.XtraReports.UI.CalculatedField fieldApprovedFLSWithFactor; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport; + private DevExpress.XtraReports.UI.DetailBand Detail1; + private DevExpress.XtraReports.UI.XRTable xrTable4; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow33; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell52; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell53; + private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1; + private DevExpress.XtraReports.UI.XRTable xrTable5; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow31; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell49; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell50; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow32; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell51; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow34; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell54; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell55; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow35; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell56; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell57; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow36; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell58; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow37; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell59; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell60; + private DevExpress.XtraReports.UI.XRLabel xrLabel9; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow7; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow9; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2; + private DevExpress.XtraReports.UI.GroupFooterBand Zwischensumme; + private DevExpress.XtraReports.UI.XRTable xrTable6; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow10; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow11; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; + } +} \ No newline at end of file diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.cs b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.cs new file mode 100644 index 000000000..025d3c499 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.cs @@ -0,0 +1,56 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using DevExpress.XtraReports.UI; +using BeWo.Report.ReportObjects; +using BeWo.Report; +using System.Text.RegularExpressions; +using BS.Shared.Extensions; + +namespace CaritasverbandDuerenJuelichEvBeWo +{ + public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + public Spitzabrechnung() + { + InitializeComponent(); + } + + public void SetReportDataSource(Settlement2RO pRO) + { + decimal rateFactor = 1; + + foreach (var ii in pRO.InvoiceItems) + { + if (ii.RateFactor.HasValue) + { + rateFactor = (100 + ii.RateFactor.Value) / 100; + } + + if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0) + { + Zwischensumme.Visible = true; + //if (!ii.ItemDescription.IsNullOrEmpty()) + //{ + //ii.AbrechnungsText = Regex.Replace(ii.DetailDescription, ii.ItemDescription, "Fehlkontakte"); + //} + ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std."); + ii.ItemDescription = "Fehlkontakte"; + } + else if (ii.ItemDescription.IsNullOrEmpty()) + { + ii.ItemDescription = "Fachleistungsstunden"; + } + } + pRO.RateFactor = (double)rateFactor; + + if (pRO.Salutation1.IsNullOrEmpty() && pRO.Salutation2.IsNullOrEmpty()) + { + lblAnrede.Text = "Guten Tag,"; + } + + this.bindingSource1.DataSource = pRO; + } + } +} diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.resx b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.resx new file mode 100644 index 000000000..4bb9b6c77 --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/Reporting/SettlementReport2.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + anbei sende ich Ihnen die unterschriebenen Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerFirstName] [CustomerLastName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus: + + + \ No newline at end of file diff --git a/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/app.config b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/app.config new file mode 100644 index 000000000..677131bde --- /dev/null +++ b/ReportImp/CaritasVerbandDuerenJuelichEvBeWo/app.config @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ReportImp/ChristopherusHaus/ChristopherusHaus.csproj b/ReportImp/ChristopherusHaus/ChristopherusHaus.csproj index f645f64c0..0b11413a9 100644 --- a/ReportImp/ChristopherusHaus/ChristopherusHaus.csproj +++ b/ReportImp/ChristopherusHaus/ChristopherusHaus.csproj @@ -33,12 +33,14 @@ false + + diff --git a/ReportImp/ChristopherusHaus/Export/SimbaExporter.cs b/ReportImp/ChristopherusHaus/Export/SimbaExporter.cs index d0673c6a6..07225f6fe 100644 --- a/ReportImp/ChristopherusHaus/Export/SimbaExporter.cs +++ b/ReportImp/ChristopherusHaus/Export/SimbaExporter.cs @@ -267,7 +267,8 @@ namespace BeWo.ChristopherusHaus.Export sb.Append(";"); sb.Append(String.Format("{0:0.00}", row[1])); sb.Append(";;;"); - sb.Append(String.Format("{0}", row[2])); // derzeit ist das Erlöskonto fix, weil alle außer LWL/LVR auf 8017 kommunale Erlöse gehen + var gegenkonto = GetErloeskonto(row[7].ToString()); + sb.Append(String.Format("{0}", gegenkonto)); sb.Append(";"); sb.Append(String.Format("{0}", row[3])); sb.Append(";;"); @@ -286,6 +287,14 @@ namespace BeWo.ChristopherusHaus.Export return sb.ToString(); } + private static String GetErloeskonto(String orga) + { + if (orga.Contains("Selbstzahler")) + return "8005"; + else // alle außer LWL/LVR auf 8017 kommunale Erlöse + return "8017"; + } + private static List CreateAttachmentsFiles(DateTime date, DataTable dt, DataTable dtLL) { try diff --git a/ReportImp/HilfeDaheimHandInHand/Export/CustomDataExporter.cs b/ReportImp/HilfeDaheimHandInHand/Export/CustomDataExporter.cs new file mode 100644 index 000000000..6433a0956 --- /dev/null +++ b/ReportImp/HilfeDaheimHandInHand/Export/CustomDataExporter.cs @@ -0,0 +1,18 @@ +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 HilfeDaheimHandInHand.Export +{ + public class CustomDataExporter : DataExporter + { + public override QueryDC CreateQuery(QueryDC query) + { + return DatevExporter.CreateQuery(query); + } + } +} diff --git a/ReportImp/HilfeDaheimHandInHand/Export/DatevExporter.cs b/ReportImp/HilfeDaheimHandInHand/Export/DatevExporter.cs new file mode 100644 index 000000000..e2c078679 --- /dev/null +++ b/ReportImp/HilfeDaheimHandInHand/Export/DatevExporter.cs @@ -0,0 +1,298 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Text; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BS.Shared; +using BS.Shared.DataContracts; +using BS.Shared.Extensions; + +namespace HilfeDaheimHandInHand.Export +{ + public class DatevExporter + { + public static QueryDC CreateQuery(QueryDC query) + { + DateTime dt = DateTime.Now; + DateTime.TryParse(query.Parameter[0].Value.ToString(), out dt); + + query.FileName = String.Format("Datev Export {0:yyyyMM}.csv", dt); + query.QueryResult = GetAbrechnungenString(dt); + + return query; + } + + public static String GetAbrechnungenString(DateTime date) + { + StringBuilder sb = new StringBuilder(); + + //sb.AppendLine("Datum;Konto;Gegenkonto;Buchungstext;Belegfeld1;Umsatz Soll;Kostenstelle"); + + DateTime lastDate = new DateTime(date.Year, date.Month, 1); + lastDate = lastDate.AddMonths(1).AddDays(-1); + + sb.Append("EXTF;510;21;Buchungsstapel;7;"); + sb.Append(String.Format("{0:yyyyMM}00000000000", new DateTime(date.Year, date.Month, 1))); + sb.Append(";;RE;ownSoft;;322418;4;"); + sb.Append(String.Format("{0:yyyyMMdd}", new DateTime(date.Year, 1, 1))); + sb.Append(";4;"); + sb.Append(String.Format("{0:yyyyMMdd}", new DateTime(date.Year, date.Month, 1))); + sb.Append(";"); + sb.Append(String.Format("{0:yyyyMMdd}", lastDate)); + sb.Append(";Buchungen;"); + sb.AppendLine(";1;0;0;EUR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"); + sb.AppendLine("Umsatz (ohne Soll/Haben-Kz);Soll/Haben-Kennzeichen;WKZ Umsatz;Kurs;Basis-Umsatz;WKZ Basis-Umsatz;Konto;Gegenkonto (ohne BU-Schlüssel);BU-Schlüssel;Belegdatum;Belegfeld 1;Belegfeld 2;" + + "Skonto;Buchungstext;Postensperre;Diverse Adressnummer;Geschäftspartnerbank;Sachverhalt;Zinssperre;Beleglink;Beleginfo - Art 1;Beleginfo - Inhalt 1;Beleginfo - Art 2;" + + "Beleginfo - Inhalt 2;Beleginfo - Art 3;Beleginfo - Inhalt 3;Beleginfo - Art 4;Beleginfo - Inhalt 4;Beleginfo - Art 5;Beleginfo - Inhalt 5;Beleginfo - Art 6;Beleginfo - Inhalt 6;Beleginfo - Art 7;" + + "Beleginfo - Inhalt 7;Beleginfo - Art 8;Beleginfo - Inhalt 8;KOST1 - Kostenstelle;KOST2 - Kostenstelle;Kost-Menge;EU-Land u. UStID;EU-Steuersatz;Abw. Versteuerungsart;Sachverhalt L+L;" + + "Funktionsergänzung L+L;BU 49 Hauptfunktionstyp;BU 49 Hauptfunktionsnummer;BU 49 Funktionsergänzung;Zusatzinformation - Art 1;Zusatzinformation- Inhalt 1;" + + "Zusatzinformation - Art 2;Zusatzinformation- Inhalt 2;Zusatzinformation - Art 3;Zusatzinformation- Inhalt 3;Zusatzinformation - Art 4;Zusatzinformation- Inhalt 4;" + + "Zusatzinformation - Art 5;Zusatzinformation- Inhalt 5;Zusatzinformation - Art 6;Zusatzinformation- Inhalt 6;Zusatzinformation - Art 7;Zusatzinformation- Inhalt 7;" + + "Zusatzinformation - Art 8;Zusatzinformation- Inhalt 8;Zusatzinformation - Art 9;Zusatzinformation- Inhalt 9;Zusatzinformation - Art 10;Zusatzinformation- Inhalt 10;" + + "Zusatzinformation - Art 11;Zusatzinformation- Inhalt 11;Zusatzinformation - Art 12;Zusatzinformation- Inhalt 12;Zusatzinformation - Art 13;Zusatzinformation- Inhalt 13;" + + "Zusatzinformation - Art 14;Zusatzinformation- Inhalt 14;Zusatzinformation - Art 15;Zusatzinformation- Inhalt 15;Zusatzinformation - Art 16;Zusatzinformation- Inhalt 16;" + + "Zusatzinformation - Art 17;Zusatzinformation- Inhalt 17;Zusatzinformation - Art 18;Zusatzinformation- Inhalt 18;Zusatzinformation - Art 19;Zusatzinformation- Inhalt 19;" + + "Zusatzinformation - Art 20;Zusatzinformation- Inhalt 20;Stück;Gewicht;Zahlweise;Forderungsart;Veranlagungsjahr;Zugeordnete Fälligkeit;Skontotyp;" + + "Auftragsnummer;Buchungstyp;USt-Schlüssel (Anzahlungen);EU-Land (Anzahlungen);Sachverhalt L+L (Anzahlungen);EU-Steuersatz (Anzahlungen);Erlöskonto (Anzahlungen);Herkunft-Kz;Buchungs GUID;KOST-Datum;Mandatsreferenz;" + + "Skontosperre;Gesellschaftername;Beteiligtennummer;Identifikationsnummer;Zeichnernummer;Postensperre bis;Bezeichnung SoBil-Sachverhalt;Kennzeichen SoBil-Buchung;" + + "Festschreibung;Leistungsdatum;Datum Zuord. Steuerperiode"); + + + var s = GetRechnungenString(date); + if (!String.IsNullOrWhiteSpace(s)) + { + sb.Append(s); + } + + s = GetMonatlicheBetraegeString(date); + if (!String.IsNullOrWhiteSpace(s)) + { + if (sb.Length > 0) + sb.AppendLine(); + + sb.Append(s); + } + + return sb.ToString(); + } + + public static String GetMonatlicheBetraegeString(DateTime date) + { + // Betrag, c.DebitorNumber, c.CostCenter, CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung', cb2sc.Oid + var sql = GetMonatlicheBetraegeSql(date); + var dt = ExecuteQuery(sql, date); + + StringBuilder sb = new StringBuilder(); + foreach (DataRow row in dt.Rows) + { + if (sb.Length > 0) + { + sb.AppendLine(); + } + DateTime lastDate = new DateTime(date.Year, date.Month, 1); + lastDate = lastDate.AddMonths(1).AddDays(-1); + + sb.Append(String.Format("{0:0.00}", row[0])); //Betrag + sb.Append(";S;;;;;"); + sb.Append(String.Format("{0}", row[1])); //DebitorNumber + sb.Append(";4095"); // Erlöskonto + sb.Append(";;"); + sb.Append(String.Format("{0:ddMM}", lastDate)); + sb.Append(";"); + // Belegfeld 1 fehlt hier + sb.Append(";;;"); + sb.Append(String.Format("{0}, {1}", row[3], row[4])); + sb.Append(";;;;;;;;;;;;;;;;;;;;;;;BeWo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;"); + } + + return sb.ToString(); + } + + private static String GetMonatlicheBetraegeSql(DateTime date) + { + String sql = @" + SELECT + sum(qry.Betrag), + qry.DebitorNumber, + qry.CostCenter, + qry.Verwendung, + qry.Kostentraeger, + qry.Oid + FROM + ( + (SELECT + IF(crpRateFactor.`CostRateValue` is null, ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 )), + ROUND(ROUND((sr.`GeleisteteFLM` / 60), 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ) * ((100 + crpRateFactor.`CostRateValue`)/100), 2)) AS 'Betrag', + c.DebitorNumber, + c.CostCenter, + cb2sc.KontoHilfeplan, + CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung', + org.Name AS Kostentraeger, + cb2sc.Oid + FROM `supportconcept` sc + INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid` + INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid` + LEFT JOIN + (SELECT crp.`ObjectOid`, crp.`CostRateValue` FROM `costrateperiod` crp + WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 2 AND(crp.`EndDate` is null or crp.`EndDate` > NOW())) + AS crpRateFactor ON crpRateFactor.`ObjectOid` = cb.`Oid` + INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid` + INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid` + INNER JOIN `person` p on c.`PersonOid` = p.`Oid` + LEFT JOIN + (SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM FROM `servicerecord` sr2 + INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid` + INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid` + WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1 AND sd.Name <> 'Fehlkontakt' GROUP BY sr2.`CostBearer2SupportConceptOid`) + AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid` + WHERE org.Name LIKE 'LVR%' AND c.`IsActive` <> 0 AND sc.`IsActive` <> 0 AND (sr.`GeleisteteFLM` is not null)) + UNION + (SELECT + ROUND(0.8 * (sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ),2) AS 'Betrag', + c.DebitorNumber, + c.CostCenter, + cb2sc.KontoHilfeplan, + CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung', + org.Name AS Kostentraeger, + cb2sc.Oid + FROM `supportconcept` sc + INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid` + INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid` + INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid` + INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid` + INNER JOIN `person` p on c.`PersonOid` = p.`Oid` + LEFT JOIN + (SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM FROM `servicerecord` sr2 + INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid` + INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid` + WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1 and sd.Name = 'Fehlkontakt' GROUP BY sr2.`CostBearer2SupportConceptOid`) + AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid` + WHERE org.Name LIKE 'LVR%' AND c.`IsActive` <> 0 AND sc.`IsActive` <> 0 AND (sr.`GeleisteteFLM` is not null)) + )qry + GROUP BY qry.OID + ORDER BY qry.Verwendung + "; + + return sql; + } + + public static String GetRechnungenString(DateTime date) + { + var sql = GetRechnungenSql(date); + + /* + sip.Claim, + c.DebitorNumber, + ib.InvoiceDate, + ib.invoicenumber, + c.CostCenter, + c2s.Oid, + ib.InvoiceId, + org.DebitorNumber + */ + + //"Datum;Konto;Gegenkonto;Buchungstext;Belegfeld1;Umsatz Soll;Kostenstelle" + var dt = ExecuteQuery(sql, date); + + StringBuilder sb = new StringBuilder(); + foreach (DataRow row in dt.Rows) + { + if (sb.Length > 0) + { + sb.AppendLine(); + } + DateTime lastDate = new DateTime(date.Year, date.Month, 1); + lastDate = lastDate.AddMonths(1).AddDays(-1); + + sb.Append(String.Format("{0:0.00}", row[0])); //Betrag + sb.Append(";S;;;;;"); + sb.Append(String.Format("{0}", row[1])); //DebitorNumber + var gegenkonto = GetErloeskonto(row[8].ToString()); + sb.Append(String.Format(";{0}", gegenkonto)); + sb.Append(";;"); + sb.Append(String.Format("{0:ddMM}", row[2])); + sb.Append(";"); + sb.Append(String.Format("{0}", row[3])); // Belegfeld 1 + sb.Append(";;;"); + sb.Append(String.Format("{0}, {1}", row[7], row[8])); + sb.Append(";;;;;;;;;;;;;;;;;;;;;;;BeWo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;"); + } + + return sb.ToString(); + } + + private static String GetErloeskonto(String orga) + { + if (orga.Contains("Selbstzahler")) + return "4099"; + else //LVR + return "4095"; + } + + private static String GetRechnungenSql(DateTime date) + { + String sql = @" + select + sip.Claim, + c.DebitorNumber, + ib.InvoiceDate, + ib.invoicenumber, + c.CostCenter, + c2s.Oid, + ib.InvoiceId, + CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung', + org.Name + 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 org on org.costbeareroid = cb.oid + 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 + WHERE ib.InvoiceDate >= ':Monat_Start' AND ib.InvoiceDate < ':Monat_End' and ib.IsActive = 1 AND ib.`IsExported` = 0 + Union + SELECT + Round(si.Claim, 2), + c.DebitorNumber, + ib.InvoiceDate, + ib.InvoiceNumber, + c.CostCenter, + c2s.Oid, + ib.InvoiceId, + CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung', + org.Name + from invoicebase ib + join settlementinvoice si on si.invoicebaseoid = ib.oid + join supportconcept sc on sc.oid = ib.supportconceptoid + join costbearer2supportconcept c2s on c2s.supportconceptoid = sc.oid + join costbearer cb on c2s.costbeareroid = cb.oid + join organisation org on org.costbeareroid = cb.oid + join customer c on c.oid = sc.customeroid + join `person` p on c.`PersonOid` = p.`Oid` + WHERE ib.InvoiceDate >= ':Monat_Start' AND ib.InvoiceDate < ':Monat_End' + AND ib.type = 1 AND ib.isactive = 1 and c.isactive <> 0 AND ib.`IsExported` = 0 + "; + + return sql; + } + + public static DataTable ExecuteQuery(String sql, DateTime dt) + { + var newsql = sql; + newsql = newsql.Replace(":Abrechnungsmonat", String.Format("{0:dd.MM.yyyy}", dt)); + newsql = newsql.Replace(":Belegnr", String.Format("{0:yyMM}", dt)); + newsql = newsql.Replace(":Monat_MM", String.Format("{0:MM}", dt)); + newsql = newsql.Replace(":Monat_Start", String.Format("{0:yyyy-MM}-01", dt)); + dt = dt.AddMonths(1); + newsql = newsql.Replace(":Monat_End", String.Format("{0:yyyy-MM}-01", dt)); + + return DAOFactory.AdoDAO.ExecuteQuery(newsql).Tables[0]; + } + } +} \ No newline at end of file diff --git a/ReportImp/HilfeDaheimHandInHand/HilfeDaheimHandInHand.csproj b/ReportImp/HilfeDaheimHandInHand/HilfeDaheimHandInHand.csproj index 4f8f4aabe..350c0d8a6 100644 --- a/ReportImp/HilfeDaheimHandInHand/HilfeDaheimHandInHand.csproj +++ b/ReportImp/HilfeDaheimHandInHand/HilfeDaheimHandInHand.csproj @@ -31,6 +31,7 @@ 4 + @@ -39,6 +40,7 @@ + @@ -55,6 +57,8 @@ + + Component diff --git a/ReportImp/LyvieKupfer/Quittierungsbeleg.Designer.cs b/ReportImp/LyvieKupfer/Quittierungsbeleg.Designer.cs index f23ad011e..0d7c50ca4 100644 --- a/ReportImp/LyvieKupfer/Quittierungsbeleg.Designer.cs +++ b/ReportImp/LyvieKupfer/Quittierungsbeleg.Designer.cs @@ -30,8 +30,8 @@ namespace LyvieKupfer private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); this.Detail = new DevExpress.XtraReports.UI.DetailBand(); this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); @@ -70,6 +70,9 @@ namespace LyvieKupfer this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); this.lblUnterschriftMitarbeiter = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); @@ -77,9 +80,7 @@ namespace LyvieKupfer this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel(); this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldHours = new DevExpress.XtraReports.UI.CalculatedField(); - this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); @@ -520,6 +521,7 @@ namespace LyvieKupfer // GroupFooter1 // this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel10, this.xrLabel9, this.xrLabel3, this.xrLabel5, @@ -532,6 +534,56 @@ namespace LyvieKupfer this.GroupFooter1.KeepTogether = true; this.GroupFooter1.Name = "GroupFooter1"; // + // xrLabel9 + // + this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(235.5921F, 20.00008F); + this.xrLabel9.Name = "xrLabel9"; + this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel9.SizeF = new System.Drawing.SizeF(339.0233F, 20F); + this.xrLabel9.StylePriority.UseBackColor = false; + this.xrLabel9.StylePriority.UseBorders = false; + this.xrLabel9.StylePriority.UseFont = false; + this.xrLabel9.StylePriority.UsePadding = false; + this.xrLabel9.StylePriority.UseTextAlignment = false; + this.xrLabel9.Text = "Fördereinheiten à 45 Min"; + this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + // + // xrLabel3 + // + this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F); + this.xrLabel3.Name = "xrLabel3"; + this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel3.SizeF = new System.Drawing.SizeF(109.1769F, 20F); + this.xrLabel3.StylePriority.UseBackColor = false; + this.xrLabel3.StylePriority.UseBorders = false; + this.xrLabel3.StylePriority.UseFont = false; + this.xrLabel3.StylePriority.UsePadding = false; + this.xrLabel3.StylePriority.UseTextAlignment = false; + this.xrLabel3.Text = "Insgesamt:"; + this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + // + // xrLabel5 + // + this.xrLabel5.BackColor = System.Drawing.Color.Transparent; + this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLSString")}); + this.xrLabel5.Font = new DevExpress.Drawing.DXFont("calibri", 14F); + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(109.177F, 20.00001F); + this.xrLabel5.Name = "xrLabel5"; + this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel5.SizeF = new System.Drawing.SizeF(126.4151F, 20F); + 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; + xrSummary1.FormatString = "{0:0.##}"; + this.xrLabel5.Summary = xrSummary1; + this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // // lblUnterschriftMitarbeiter // this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top; @@ -621,55 +673,20 @@ namespace LyvieKupfer this.fieldHours.Expression = "Round([Minutes]/60,2)"; this.fieldHours.Name = "fieldHours"; // - // xrLabel3 + // xrLabel10 // - this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold); - this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F); - this.xrLabel3.Name = "xrLabel3"; - this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); - this.xrLabel3.SizeF = new System.Drawing.SizeF(109.1769F, 20F); - this.xrLabel3.StylePriority.UseBackColor = false; - this.xrLabel3.StylePriority.UseBorders = false; - this.xrLabel3.StylePriority.UseFont = false; - this.xrLabel3.StylePriority.UsePadding = false; - this.xrLabel3.StylePriority.UseTextAlignment = false; - this.xrLabel3.Text = "Insgesamt:"; - this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - // - // xrLabel5 - // - this.xrLabel5.BackColor = System.Drawing.Color.Transparent; - this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLSString")}); - this.xrLabel5.Font = new DevExpress.Drawing.DXFont("calibri", 14F); - this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(109.177F, 20.00001F); - this.xrLabel5.Name = "xrLabel5"; - this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); - this.xrLabel5.SizeF = new System.Drawing.SizeF(126.4151F, 20F); - 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; - xrSummary1.FormatString = "{0:0.##}"; - this.xrLabel5.Summary = xrSummary1; - this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - // - // xrLabel9 - // - this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold); - this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(235.5921F, 20.00008F); - this.xrLabel9.Name = "xrLabel9"; - this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); - this.xrLabel9.SizeF = new System.Drawing.SizeF(339.0233F, 20F); - this.xrLabel9.StylePriority.UseBackColor = false; - this.xrLabel9.StylePriority.UseBorders = false; - this.xrLabel9.StylePriority.UseFont = false; - this.xrLabel9.StylePriority.UsePadding = false; - this.xrLabel9.StylePriority.UseTextAlignment = false; - this.xrLabel9.Text = "Fördereinheiten à 45 Min"; - this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Calibri", 14F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(235.5921F, 0F); + this.xrLabel10.Name = "xrLabel10"; + this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel10.SizeF = new System.Drawing.SizeF(339.0233F, 20F); + this.xrLabel10.StylePriority.UseBackColor = false; + this.xrLabel10.StylePriority.UseBorders = false; + this.xrLabel10.StylePriority.UseFont = false; + this.xrLabel10.StylePriority.UsePadding = false; + this.xrLabel10.StylePriority.UseTextAlignment = false; + this.xrLabel10.Text = "Zeitstunden"; + this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; // // Quittierungsbeleg // @@ -753,5 +770,6 @@ namespace LyvieKupfer private DevExpress.XtraReports.UI.XRLabel xrLabel9; private DevExpress.XtraReports.UI.XRLabel xrLabel3; private DevExpress.XtraReports.UI.XRLabel xrLabel5; + private DevExpress.XtraReports.UI.XRLabel xrLabel10; } } diff --git a/ReportImp/LyvieKupfer/ServiceInvoiceReport.cs b/ReportImp/LyvieKupfer/ServiceInvoiceReport.cs index 982ca12e3..8d378dd16 100644 --- a/ReportImp/LyvieKupfer/ServiceInvoiceReport.cs +++ b/ReportImp/LyvieKupfer/ServiceInvoiceReport.cs @@ -39,7 +39,7 @@ namespace LyvieKupfer } } - lblAbrechnungszeitraum.Text = String.Format("Für den Zeitraum vom {0:d. MMMM yyyy} bis zum {1:dd. MMMM yyyy} berechne ich Ihnen {2:0.##} Stunden " + + lblAbrechnungszeitraum.Text = String.Format("Für den Zeitraum vom {0:d. MMMM yyyy} bis zum {1:dd. MMMM yyyy} berechne ich Ihnen {2:0.##} Fördereinheiten " + "heilpädagogische Leistungen für die Frühförderung für das Kind {3}, {4}.", start, end, hours, pRO.CustomerLastName, pRO.CustomerFirstName); SetzeAdresse(pRO); diff --git a/ReportImp/LyvieKupfer/ServiceInvoiceReport.resx b/ReportImp/LyvieKupfer/ServiceInvoiceReport.resx index 48e054ad4..c164b8aea 100644 --- a/ReportImp/LyvieKupfer/ServiceInvoiceReport.resx +++ b/ReportImp/LyvieKupfer/ServiceInvoiceReport.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Für den Zeitraum vom [AccountingPeriodStart!dd.MM.yyyy] bis zum [AccountingPeriodEnd!dd.MM.yyyy] berechne ich Ihnen die aufgeführten Stunden heilpädagogische Leistungen für die Frühförderung für das Kind [CustomerLastName], [CustomerFirstName]. + Für den Zeitraum vom [AccountingPeriodStart!dd.MM.yyyy] bis zum [AccountingPeriodEnd!dd.MM.yyyy] berechne ich Ihnen die aufgeführten Fördereinheiten heilpädagogische Leistungen für die Frühförderung für das Kind [CustomerLastName], [CustomerFirstName]. ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAKgBcAGQAZQBmAHAAYQBwACAAXAB3AGkAZABjAHQAbABwAGEAcgB9AHsAXABzAHQAeQBsAGUAcwBoAGUAZQB0ACAAewBcAHEAbABcAGYAMQBcAGYAcwAyADQAIABOAG8AcgBtAGEAbAA7AH0AewBcACoAXABjAHMAMQBcAGYAMQBcAGYAcwAyADQAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXABmADEAXABmAHMAMgA0AFwAdQBsAFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAaAB0AG0AYQB1AHQAcwBwAFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGEAbABuAHQAYgBsAGkAbgBkAFwAZQB4AHAAcwBoAHIAdABuAFwAcwBwAGwAdABwAGcAcABhAHIAXABuAG8AZwByAG8AdwBhAHUAdABvAGYAaQB0AFwAdQB0AGkAbgBsAFwAbgBvAGIAcgBrAHcAcgBwAHQAYgBsAFwAZgB0AG4AbAB5AHQAdwBuAGkAbgBlAFwAbgBvAHQAYwB2AGEAcwBwAFwAZABuAHQAYgBsAG4AcwBiAGQAYgBcAG4AZQB3AHQAYgBsAHMAdAB5AHIAdQBsAHMAXABmAG8AcgBtAHMAaABhAGQAZQBcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAXAB3AGkAZABjAHQAbABwAGEAcgB7AFwAZgBzADIANABcAGMAZgAxACAAXAB1ADgAMgAyADYAXAAnADkANQAgAFwAdABhAGIAIABaAGUAaQB0AGUAcgBmAGEAcwBzAHUAbgBnAH0AXABmAHMAMgA0AFwAYwBmADEAXABwAGEAcgB9AA== diff --git a/ReportImp/Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs index e02b08a91..6f026b7a9 100644 --- a/ReportImp/Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs @@ -28,9 +28,86 @@ namespace Ruhrstern { if (ed.StundenSollMax != 0) { - ed.Custom1 = (1 - ed.StundenSollOhneUrlaubKrankheit / ed.StundenSollMax) * 100; + ed.Custom2 = BerechneArbeitszeitDurchFeiertage(ed, ro.ReportStartDate, ro.ReportEndDate); + ed.Custom3 = ed.StundenSollOhneUrlaubKrankheit + ed.Custom2; + ed.Custom4 = ed.StundenSollMax + ed.Custom2; + ed.Custom1 = (1 - (ed.StundenSollOhneUrlaubKrankheit + ed.Custom2) / (ed.StundenSollMax + ed.Custom2)) * 100; } } } - } + + public decimal BerechneArbeitszeitDurchFeiertage(MitarbeiterstundenkontoRO.EmployeeDetail ed, DateTime start, DateTime ende) + { + decimal az = 0; + DateTime dt = start; + while (dt < ende) + { + if (GetFeiertagsFaktor(dt) > 0) + { + az += BerechneSollStundenFuerFeiertage(ed, dt); + } + dt = dt.AddDays(1); + } + return az; + } + + public decimal BerechneSollStundenFuerFeiertage(MitarbeiterstundenkontoRO.EmployeeDetail ed, DateTime date) + { + decimal sollDiesenTag = 0; + var faktor = GetFeiertagsFaktor(date); + //Berechne Soll, entweder aus Vertrag oder Arbeitszeiten + if (HatArbeitszeitImZeitraum(ed.Employee.Arbeitszeiten, date, date)) + { + sollDiesenTag = GetSollNachArbeitszeitenFuerTag(ed.Employee, date); + + } + else + { + //sollDiesenTag = ed.SollProTag; + + var c = ed.Employee.GetValidContractForDate(date); + if (c != null) + { + decimal wth = 0; + int apw = 5; + if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0) + { + apw = c.WeeklyDays.Value; + } + if (c.WeeklyTotalHours.HasValue) + { + wth = c.WeeklyTotalHours.Value; + } + else if (c.MonthlyTotalHours.HasValue && ed.ArbeitstageImBerichtszeitraum > 0) + { + wth = c.MonthlyTotalHours.Value / ed.ArbeitstageImBerichtszeitraum; + wth *= apw; + } + + + sollDiesenTag = wth / apw; + + bool istWochenende = date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday; + if (apw == 6) + { + istWochenende = date.DayOfWeek == DayOfWeek.Sunday; + } + else if (apw > 6) + { + istWochenende = false; + } + if (istWochenende) + { + sollDiesenTag = 0; + } + } + if (faktor != 0) + { + sollDiesenTag *= faktor; //halbe Feiertage etc. berücksichtigen + } + } + + return sollDiesenTag; + } + } } diff --git a/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.cs b/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.cs index 911ae6472..be04a9b9b 100644 --- a/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.cs +++ b/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.cs @@ -21,6 +21,15 @@ namespace Ruhrstern var msb = PluginLoader.FindClass(); msb.CreateReport(pRO); + // Für den Ausfallfaktor brauche ich die um die Feiertage korrigierten Summen der Sollzeiten + decimal sollOhne = 0; + decimal sollMax = 0; + foreach (var ed in pRO.EmployeeDetailList) + { + sollOhne += ed.Custom3; + sollMax += ed.Custom4; + } + pRO.MittelbarIst = (1 - (sollOhne) / sollMax) * 100; this.bindingSource1.DataSource = pRO; } } diff --git a/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.designer.cs b/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.designer.cs index 7fe1c0d55..d1b27e1b4 100644 --- a/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.designer.cs +++ b/ReportImp/Ruhrstern/Reporting/Mitarbeiterstundenkonto.designer.cs @@ -52,22 +52,6 @@ namespace Ruhrstern this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand(); - this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable(); - this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); @@ -85,7 +69,6 @@ namespace Ruhrstern this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.lblMonat = new DevExpress.XtraReports.UI.XRLabel(); @@ -99,9 +82,28 @@ namespace Ruhrstern this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField(); this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.xrTable2 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell38 = 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.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell52 = new DevExpress.XtraReports.UI.XRTableCell(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // @@ -147,6 +149,7 @@ namespace Ruhrstern this.xrTableCell19, this.xrTableCell20, this.xrTableCell28, + this.xrTableCell52, this.xrTableCell29, this.xrTableCell16, this.xrTableCell27, @@ -171,7 +174,7 @@ namespace Ruhrstern this.xrTableCell3.StylePriority.UseTextAlignment = false; this.xrTableCell3.Text = "xrTableCell3"; this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell3.Weight = 0.15329125338142471D; + this.xrTableCell3.Weight = 0.1399299012310381D; // // xrTableCell19 // @@ -179,7 +182,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollMax", "{0:0.00}")}); this.xrTableCell19.Name = "xrTableCell19"; this.xrTableCell19.Text = "xrTableCell19"; - this.xrTableCell19.Weight = 0.055698707177179521D; + this.xrTableCell19.Weight = 0.057294807353435492D; // // xrTableCell20 // @@ -187,22 +190,22 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UrlaubUndKrankheit", "{0:0.00}")}); this.xrTableCell20.Name = "xrTableCell20"; this.xrTableCell20.Text = "xrTableCell20"; - this.xrTableCell20.Weight = 0.064510640112751941D; + this.xrTableCell20.Weight = 0.064139829797688841D; // // xrTableCell28 // this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollOhneUrlaubKrankheit", "{0:0.00}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom2", "{0:0.00}")}); this.xrTableCell28.Name = "xrTableCell28"; this.xrTableCell28.Text = "xrTableCell28"; - this.xrTableCell28.Weight = 0.073308727035160628D; + this.xrTableCell28.Weight = 0.056209345859503886D; // // xrTableCell29 // this.xrTableCell29.Multiline = true; this.xrTableCell29.Name = "xrTableCell29"; this.xrTableCell29.Text = "[Custom1!0.00]"; - this.xrTableCell29.Weight = 0.054453070850742011D; + this.xrTableCell29.Weight = 0.055156080943127517D; // // xrTableCell16 // @@ -210,7 +213,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsSoll", "{0:0.00}")}); this.xrTableCell16.Name = "xrTableCell16"; this.xrTableCell16.Text = "xrTableCell16"; - this.xrTableCell16.Weight = 0.063119927862939587D; + this.xrTableCell16.Weight = 0.0526217803098317D; // // xrTableCell27 // @@ -218,7 +221,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsIst", "{0:0.00}")}); this.xrTableCell27.Name = "xrTableCell27"; this.xrTableCell27.Text = "xrTableCell27"; - this.xrTableCell27.Weight = 0.063119927862939615D; + this.xrTableCell27.Weight = 0.050713111896769629D; // // xrTableCell22 // @@ -291,145 +294,11 @@ namespace Ruhrstern // GroupHeader1 // this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrTableHeader}); - this.GroupHeader1.HeightF = 70F; + this.xrTable2}); + this.GroupHeader1.HeightF = 69.99998F; this.GroupHeader1.Name = "GroupHeader1"; this.GroupHeader1.RepeatEveryPage = true; // - // xrTableHeader - // - this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) - | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableHeader.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); - this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.xrTableHeader.Name = "xrTableHeader"; - this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.xrTableRowHeader}); - this.xrTableHeader.SizeF = new System.Drawing.SizeF(1071F, 70F); - this.xrTableHeader.StylePriority.UseBorders = false; - this.xrTableHeader.StylePriority.UseFont = false; - this.xrTableHeader.StylePriority.UsePadding = false; - this.xrTableHeader.StylePriority.UseTextAlignment = false; - this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - // - // xrTableRowHeader - // - this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell5, - this.xrTableCell4, - this.xrTableCell2, - this.xrTableCell9, - this.xrTableCell18, - this.xrTableCell8, - this.xrTableCell10, - this.xrTableCell7, - this.xrTableCell11, - this.xrTableCell12, - this.xrTableCell13, - this.xrTableCell14, - this.xrTableCell15, - this.xrTableCell1}); - this.xrTableRowHeader.Name = "xrTableRowHeader"; - this.xrTableRowHeader.Weight = 2.8D; - // - // xrTableCell5 - // - this.xrTableCell5.Name = "xrTableCell5"; - this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); - this.xrTableCell5.StylePriority.UsePadding = false; - this.xrTableCell5.StylePriority.UseTextAlignment = false; - this.xrTableCell5.Text = "Name"; - this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell5.Weight = 0.15329125016467182D; - // - // xrTableCell4 - // - this.xrTableCell4.Name = "xrTableCell4"; - this.xrTableCell4.Text = "Reguläre SOLL Stunden"; - this.xrTableCell4.Weight = 0.055698761792612239D; - // - // xrTableCell2 - // - this.xrTableCell2.Name = "xrTableCell2"; - this.xrTableCell2.Text = "Fehlzeiten Urlaub Krankheit(Tage)"; - this.xrTableCell2.Weight = 0.064510521026400924D; - // - // xrTableCell9 - // - this.xrTableCell9.Multiline = true; - this.xrTableCell9.Name = "xrTableCell9"; - this.xrTableCell9.Text = "Tatsächliche SOLL Stunden"; - this.xrTableCell9.Weight = 0.0733088527295832D; - // - // xrTableCell18 - // - this.xrTableCell18.Multiline = true; - this.xrTableCell18.Name = "xrTableCell18"; - this.xrTableCell18.Text = "Ausfall-\r\nfaktor \r\n(in %)\r\n"; - this.xrTableCell18.Weight = 0.054453017135247195D; - // - // xrTableCell8 - // - this.xrTableCell8.Name = "xrTableCell8"; - this.xrTableCell8.Text = "FLS Stunden SOLL"; - this.xrTableCell8.Weight = 0.063119927721024038D; - // - // xrTableCell10 - // - this.xrTableCell10.Name = "xrTableCell10"; - this.xrTableCell10.StylePriority.UseBackColor = false; - this.xrTableCell10.Text = "FLS IST lfd. Monat"; - this.xrTableCell10.Weight = 0.063119927721024D; - // - // xrTableCell7 - // - this.xrTableCell7.Name = "xrTableCell7"; - this.xrTableCell7.Text = "FLS Plus/Minus lfd. Monat"; - this.xrTableCell7.Weight = 0.06311992757910842D; - // - // xrTableCell11 - // - this.xrTableCell11.Multiline = true; - this.xrTableCell11.Name = "xrTableCell11"; - this.xrTableCell11.StylePriority.UseBackColor = false; - this.xrTableCell11.Text = "Gesamt-\r\nstunden lfd. Monat"; - this.xrTableCell11.Weight = 0.063119927721024011D; - // - // xrTableCell12 - // - this.xrTableCell12.Multiline = true; - this.xrTableCell12.Name = "xrTableCell12"; - this.xrTableCell12.Text = "Relation FLS IST zu Gesamt-stunden \r\n(in %)"; - this.xrTableCell12.Weight = 0.063119929511863376D; - // - // xrTableCell13 - // - this.xrTableCell13.Name = "xrTableCell13"; - this.xrTableCell13.Text = "Überstd. neu"; - this.xrTableCell13.Weight = 0.063119928687401447D; - // - // xrTableCell14 - // - this.xrTableCell14.Name = "xrTableCell14"; - this.xrTableCell14.StylePriority.UseBackColor = false; - this.xrTableCell14.Text = "Überstd. Vormonat"; - this.xrTableCell14.Weight = 0.063119928275170531D; - // - // xrTableCell15 - // - this.xrTableCell15.Name = "xrTableCell15"; - this.xrTableCell15.Text = "Überstd. Gesamt"; - this.xrTableCell15.Weight = 0.0631199213956443D; - // - // xrTableCell1 - // - this.xrTableCell1.Multiline = true; - this.xrTableCell1.Name = "xrTableCell1"; - this.xrTableCell1.Text = "Resturlaub"; - this.xrTableCell1.Weight = 0.0631199213956443D; - // // GroupFooter1 // this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { @@ -484,17 +353,17 @@ namespace Ruhrstern this.xrTableCell35.StylePriority.UseTextAlignment = false; this.xrTableCell35.Text = "Gesamt"; this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell35.Weight = 0.1527208718660181D; + this.xrTableCell35.Weight = 0.13940923637479571D; // // xrTableCell37 // this.xrTableCell37.Name = "xrTableCell37"; - this.xrTableCell37.Weight = 0.055491400151988D; + this.xrTableCell37.Weight = 0.057081616387053377D; // // xrTableCell39 // this.xrTableCell39.Name = "xrTableCell39"; - this.xrTableCell39.Weight = 0.064270624929553641D; + this.xrTableCell39.Weight = 0.11990136300474807D; // // cellSollGesamt // @@ -502,15 +371,18 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "SollGesamt", "{0:0.00}")}); this.cellSollGesamt.Name = "cellSollGesamt"; this.cellSollGesamt.Text = "cellSollGesamt"; - this.cellSollGesamt.Weight = 0.073035966823292386D; + this.cellSollGesamt.Weight = 0.051246003270471713D; // // xrTableCell30 // + this.xrTableCell30.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "MittelbarIst")}); this.xrTableCell30.Multiline = true; this.xrTableCell30.Name = "xrTableCell30"; xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.Avg; this.xrTableCell30.Summary = xrSummary1; - this.xrTableCell30.Weight = 0.054250457460972727D; + this.xrTableCell30.TextFormatString = "{0:0.00}"; + this.xrTableCell30.Weight = 0.054950793225879174D; // // cellFLSSollGesamt // @@ -518,7 +390,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "FlsSollGesamt", "{0:0.00}")}); this.cellFLSSollGesamt.Name = "cellFLSSollGesamt"; this.cellFLSSollGesamt.Text = "cellFLSSollGesamt"; - this.cellFLSSollGesamt.Weight = 0.062885088357332058D; + this.cellFLSSollGesamt.Weight = 0.052425979600498759D; // // cellFLSIstGesamt // @@ -526,7 +398,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "FlsIstGesamt", "{0:0.00}")}); this.cellFLSIstGesamt.Name = "cellFLSIstGesamt"; this.cellFLSIstGesamt.Text = "cellFLSIstGesamt"; - this.cellFLSIstGesamt.Weight = 0.062885033321122663D; + this.cellFLSIstGesamt.Weight = 0.050524451046832758D; // // cellFLSPlusMinusGesamt // @@ -573,10 +445,6 @@ namespace Ruhrstern this.xrTableCell17.Name = "xrTableCell17"; this.xrTableCell17.Weight = 0.062885253465960314D; // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); - // // ReportHeader // this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { @@ -697,6 +565,164 @@ namespace Ruhrstern this.bottomMarginBand1.HeightF = 30F; this.bottomMarginBand1.Name = "bottomMarginBand1"; // + // 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 DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable2.Name = "xrTable2"; + this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow2}); + this.xrTable2.SizeF = new System.Drawing.SizeF(1071F, 69.99998F); + this.xrTable2.StylePriority.UseBorders = false; + this.xrTable2.StylePriority.UseFont = false; + this.xrTable2.StylePriority.UsePadding = false; + this.xrTable2.StylePriority.UseTextAlignment = false; + this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // xrTableRow2 + // + this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell31, + this.xrTableCell32, + this.xrTableCell33, + this.xrTableCell34, + this.xrTableCell36, + this.xrTableCell38, + this.xrTableCell40, + this.xrTableCell41, + this.xrTableCell42, + this.xrTableCell43, + this.xrTableCell44, + this.xrTableCell45, + this.xrTableCell46, + this.xrTableCell49, + this.xrTableCell50}); + this.xrTableRow2.Name = "xrTableRow2"; + this.xrTableRow2.Weight = 2.8D; + // + // xrTableCell31 + // + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell31.StylePriority.UsePadding = false; + this.xrTableCell31.StylePriority.UseTextAlignment = false; + this.xrTableCell31.Text = "Name"; + this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell31.Weight = 0.13992994732759739D; + // + // xrTableCell32 + // + this.xrTableCell32.Name = "xrTableCell32"; + this.xrTableCell32.Text = "Reguläre SOLL Stunden"; + this.xrTableCell32.Weight = 0.057294780890414655D; + // + // xrTableCell33 + // + this.xrTableCell33.Name = "xrTableCell33"; + this.xrTableCell33.Text = "Fehlzeiten Urlaub Krankheit(Tage)"; + this.xrTableCell33.Weight = 0.064139791853409817D; + // + // xrTableCell34 + // + this.xrTableCell34.Multiline = true; + this.xrTableCell34.Name = "xrTableCell34"; + this.xrTableCell34.Text = "Stunden aus Feier-tagen"; + this.xrTableCell34.Weight = 0.056209368959342643D; + // + // xrTableCell36 + // + this.xrTableCell36.Multiline = true; + this.xrTableCell36.Name = "xrTableCell36"; + this.xrTableCell36.Text = "Tatsäch-liche SOLL Stunden"; + this.xrTableCell36.Weight = 0.051437439140044339D; + // + // xrTableCell38 + // + this.xrTableCell38.Multiline = true; + this.xrTableCell38.Name = "xrTableCell38"; + this.xrTableCell38.Text = "Ausfall-faktor\r\n(in %)"; + this.xrTableCell38.Weight = 0.055156069391776225D; + // + // xrTableCell40 + // + this.xrTableCell40.Name = "xrTableCell40"; + this.xrTableCell40.Text = "FLS Stunden SOLL"; + this.xrTableCell40.Weight = 0.0526218121338088D; + // + // xrTableCell41 + // + this.xrTableCell41.Name = "xrTableCell41"; + this.xrTableCell41.StylePriority.UseBackColor = false; + this.xrTableCell41.Text = "FLS IST lfd. Monat"; + this.xrTableCell41.Weight = 0.050713048594169516D; + // + // xrTableCell42 + // + this.xrTableCell42.Name = "xrTableCell42"; + this.xrTableCell42.Text = "FLS Plus/Minus lfd. Monat"; + this.xrTableCell42.Weight = 0.06311992757910842D; + // + // xrTableCell43 + // + this.xrTableCell43.Multiline = true; + this.xrTableCell43.Name = "xrTableCell43"; + this.xrTableCell43.StylePriority.UseBackColor = false; + this.xrTableCell43.Text = "Gesamt-\r\nstunden lfd. Monat"; + this.xrTableCell43.Weight = 0.063119927721024011D; + // + // xrTableCell44 + // + this.xrTableCell44.Multiline = true; + this.xrTableCell44.Name = "xrTableCell44"; + this.xrTableCell44.Text = "Relation FLS IST zu Gesamt-stunden \r\n(in %)"; + this.xrTableCell44.Weight = 0.063119929511863376D; + // + // xrTableCell45 + // + this.xrTableCell45.Name = "xrTableCell45"; + this.xrTableCell45.Text = "Überstd. neu"; + this.xrTableCell45.Weight = 0.063119928687401447D; + // + // xrTableCell46 + // + this.xrTableCell46.Multiline = true; + this.xrTableCell46.Name = "xrTableCell46"; + this.xrTableCell46.StylePriority.UseBackColor = false; + this.xrTableCell46.Text = "Überstd.\r\ndieses Jahr"; + this.xrTableCell46.Weight = 0.063119928275170531D; + // + // xrTableCell49 + // + this.xrTableCell49.Multiline = true; + this.xrTableCell49.Name = "xrTableCell49"; + this.xrTableCell49.Text = "Überstd. Gesamt"; + this.xrTableCell49.Weight = 0.0631199213956443D; + // + // xrTableCell50 + // + this.xrTableCell50.Multiline = true; + this.xrTableCell50.Name = "xrTableCell50"; + this.xrTableCell50.Text = "Resturlaub"; + this.xrTableCell50.Weight = 0.0631199213956443D; + // + // xrTableCell52 + // + this.xrTableCell52.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollOhneUrlaubKrankheit")}); + this.xrTableCell52.Multiline = true; + this.xrTableCell52.Name = "xrTableCell52"; + this.xrTableCell52.Text = "xrTableCell52"; + this.xrTableCell52.TextFormatString = "{0:0.00}"; + this.xrTableCell52.Weight = 0.05143739689174285D; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); + // // Mitarbeiterstundenkonto // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -723,8 +749,8 @@ namespace Ruhrstern xrWatermark1.Id = "Watermark1"; this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); @@ -773,20 +799,6 @@ namespace Ruhrstern private DevExpress.XtraReports.UI.XRTableCell xrTableCell25; private DevExpress.XtraReports.UI.XRTableCell xrTableCell24; private DevExpress.XtraReports.UI.XRTableCell xrTableCell26; - private DevExpress.XtraReports.UI.XRTable xrTableHeader; - private DevExpress.XtraReports.UI.XRTableRow xrTableRowHeader; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell5; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell15; private DevExpress.XtraReports.UI.XRTableCell xrTableCell37; private DevExpress.XtraReports.UI.XRTableCell xrTableCell39; private DevExpress.XtraReports.UI.XRTableCell xrTableCell47; @@ -794,10 +806,26 @@ namespace Ruhrstern private DevExpress.XtraReports.UI.XRTableCell xrTableCell51; private DevExpress.XtraReports.UI.XRLabel xrLabel1; private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; private DevExpress.XtraReports.UI.XRTableCell xrTableCell17; private DevExpress.XtraReports.UI.XRTableCell xrTableCell29; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; private DevExpress.XtraReports.UI.XRTableCell xrTableCell30; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell52; + private DevExpress.XtraReports.UI.XRTable xrTable2; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell31; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell32; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell33; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell34; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell36; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell38; + 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.XRTableCell xrTableCell45; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell46; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell49; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell50; } } diff --git a/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.cs b/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.cs index daac84590..aa7295411 100644 --- a/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.cs +++ b/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.cs @@ -21,6 +21,19 @@ namespace Ruhrstern //var msb = new MitarbeiterstundenkontoBerechnungMonate(); msb.CreateReport(pRO); + // Für den Ausfallfaktor brauche ich die um die Feiertage korrigierten Summen der Sollzeiten + foreach (var ei in pRO.EmployeeInfoList) + { + decimal sollOhne = 0; + decimal sollMax = 0; + foreach (var ed in ei.EmployeeDetails) + { + sollOhne += ed.EmployeeDetail.Custom3; + sollMax += ed.EmployeeDetail.Custom4; + } + ei.Custom1 = (1 - (sollOhne) / sollMax) * 100; + } + this.bindingSource1.DataSource = pRO; } } diff --git a/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.designer.cs b/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.designer.cs index a169b24b2..3e67e8b6d 100644 --- a/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.designer.cs +++ b/ReportImp/Ruhrstern/Reporting/MitarbeiterstundenkontoJahr.designer.cs @@ -108,6 +108,9 @@ namespace Ruhrstern this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand(); this.fieldRelationGesamt = new DevExpress.XtraReports.UI.CalculatedField(); this.ausfallFaktor = new DevExpress.XtraReports.UI.CalculatedField(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell(); + this.calculatedField1 = new DevExpress.XtraReports.UI.CalculatedField(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); @@ -147,6 +150,7 @@ namespace Ruhrstern this.xrTableCell19, this.xrTableCell20, this.xrTableCell28, + this.xrTableCell32, this.xrTableCell29, this.xrTableCell16, this.xrTableCell27, @@ -170,7 +174,7 @@ namespace Ruhrstern this.xrTableCell3.StylePriority.UsePadding = false; this.xrTableCell3.StylePriority.UseTextAlignment = false; this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell3.Weight = 0.15329125338142471D; + this.xrTableCell3.Weight = 0.13992995045520576D; // // xrTableCell19 // @@ -178,7 +182,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollMax", "{0:0.00}")}); this.xrTableCell19.Name = "xrTableCell19"; this.xrTableCell19.Text = "xrTableCell19"; - this.xrTableCell19.Weight = 0.0563404142404174D; + this.xrTableCell19.Weight = 0.057294782036470981D; // // xrTableCell20 // @@ -186,15 +190,15 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.UrlaubUndKrankheit", "{0:0.00}")}); this.xrTableCell20.Name = "xrTableCell20"; this.xrTableCell20.Text = "xrTableCell20"; - this.xrTableCell20.Weight = 0.073683568945783845D; + this.xrTableCell20.Weight = 0.064139793124313338D; // // xrTableCell28 // this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit", "{0:0.00}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Custom2", "{0:0.00}")}); this.xrTableCell28.Name = "xrTableCell28"; this.xrTableCell28.Text = "xrTableCell28"; - this.xrTableCell28.Weight = 0.06851733584608663D; + this.xrTableCell28.Weight = 0.056209364894545658D; // // xrTableCell29 // @@ -203,7 +207,7 @@ namespace Ruhrstern this.xrTableCell29.Multiline = true; this.xrTableCell29.Name = "xrTableCell29"; this.xrTableCell29.TextFormatString = "{0:0.00}"; - this.xrTableCell29.Weight = 0.049429826143546227D; + this.xrTableCell29.Weight = 0.05515607486026828D; // // xrTableCell16 // @@ -211,7 +215,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsSoll", "{0:0.00}")}); this.xrTableCell16.Name = "xrTableCell16"; this.xrTableCell16.Text = "xrTableCell16"; - this.xrTableCell16.Weight = 0.063119927862939587D; + this.xrTableCell16.Weight = 0.052621812205682586D; // // xrTableCell27 // @@ -219,7 +223,7 @@ namespace Ruhrstern new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsIst", "{0:0.00}")}); this.xrTableCell27.Name = "xrTableCell27"; this.xrTableCell27.Text = "xrTableCell27"; - this.xrTableCell27.Weight = 0.063119927862939615D; + this.xrTableCell27.Weight = 0.05071304865330839D; // // xrTableCell22 // @@ -303,6 +307,7 @@ namespace Ruhrstern this.xrTableCell4, this.xrTableCell2, this.xrTableCell9, + this.xrTableCell31, this.xrTableCell18, this.xrTableCell8, this.xrTableCell10, @@ -324,46 +329,46 @@ namespace Ruhrstern this.xrTableCell5.StylePriority.UseTextAlignment = false; this.xrTableCell5.Text = "Monat"; this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell5.Weight = 0.15329125016467182D; + this.xrTableCell5.Weight = 0.13992994732759739D; // // xrTableCell4 // this.xrTableCell4.Name = "xrTableCell4"; this.xrTableCell4.Text = "Reguläre SOLL Stunden"; - this.xrTableCell4.Weight = 0.056340413100728473D; + this.xrTableCell4.Weight = 0.057294780890414655D; // // xrTableCell2 // this.xrTableCell2.Name = "xrTableCell2"; this.xrTableCell2.Text = "Fehlzeiten Urlaub Krankheit(Tage)"; - this.xrTableCell2.Weight = 0.073683560621139038D; + this.xrTableCell2.Weight = 0.064139791853409817D; // // xrTableCell9 // this.xrTableCell9.Multiline = true; this.xrTableCell9.Name = "xrTableCell9"; - this.xrTableCell9.Text = "Tatsächliche SOLL Stunden"; - this.xrTableCell9.Weight = 0.068517330288450334D; + this.xrTableCell9.Text = "Stunden aus Feier-tagen"; + this.xrTableCell9.Weight = 0.056209368959342643D; // // xrTableCell18 // this.xrTableCell18.Multiline = true; this.xrTableCell18.Name = "xrTableCell18"; this.xrTableCell18.Text = "Ausfall-faktor\r\n(in %)"; - this.xrTableCell18.Weight = 0.049429848673525685D; + this.xrTableCell18.Weight = 0.055156069391776225D; // // xrTableCell8 // this.xrTableCell8.Name = "xrTableCell8"; this.xrTableCell8.Text = "FLS Stunden SOLL"; - this.xrTableCell8.Weight = 0.063119927721024038D; + this.xrTableCell8.Weight = 0.0526218121338088D; // // xrTableCell10 // this.xrTableCell10.Name = "xrTableCell10"; this.xrTableCell10.StylePriority.UseBackColor = false; this.xrTableCell10.Text = "FLS IST lfd. Monat"; - this.xrTableCell10.Weight = 0.063119927721024D; + this.xrTableCell10.Weight = 0.050713048594169516D; // // xrTableCell7 // @@ -459,7 +464,7 @@ namespace Ruhrstern this.xrTableCell35.StylePriority.UseTextAlignment = false; this.xrTableCell35.Text = "Gesamt"; this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell35.Weight = 0.15329126714047708D; + this.xrTableCell35.Weight = 0.13992995023412461D; // // xrTableCell37 // @@ -469,12 +474,12 @@ namespace Ruhrstern xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; this.xrTableCell37.Summary = xrSummary1; this.xrTableCell37.TextFormatString = "{0:0.00}"; - this.xrTableCell37.Weight = 0.056340344339749715D; + this.xrTableCell37.Weight = 0.057294782036470981D; // // xrTableCell39 // this.xrTableCell39.Name = "xrTableCell39"; - this.xrTableCell39.Weight = 0.073683576156931774D; + this.xrTableCell39.Weight = 0.12034914307312086D; // // cellSollGesamt // @@ -484,19 +489,18 @@ namespace Ruhrstern xrSummary2.FormatString = "{0:0.00}"; xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; this.cellSollGesamt.Summary = xrSummary2; - this.cellSollGesamt.Weight = 0.068517335846086616D; + this.cellSollGesamt.Weight = 0.0514374432201623D; // // xrTableCell30 // this.xrTableCell30.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Custom1")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.Custom1")}); this.xrTableCell30.Multiline = true; this.xrTableCell30.Name = "xrTableCell30"; xrSummary3.Func = DevExpress.XtraReports.UI.SummaryFunc.Avg; - xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; this.xrTableCell30.Summary = xrSummary3; this.xrTableCell30.TextFormatString = "{0:0.00}"; - this.xrTableCell30.Weight = 0.049429875074013613D; + this.xrTableCell30.Weight = 0.055156130780802448D; // // cellFLSSollGesamt // @@ -506,7 +510,7 @@ namespace Ruhrstern xrSummary4.FormatString = "{0:0.00}"; xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; this.cellFLSSollGesamt.Summary = xrSummary4; - this.cellFLSSollGesamt.Weight = 0.063119927862939587D; + this.cellFLSSollGesamt.Weight = 0.052621812205682572D; // // cellFLSIstGesamt // @@ -516,7 +520,7 @@ namespace Ruhrstern xrSummary5.FormatString = "{0:0.00}"; xrSummary5.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; this.cellFLSIstGesamt.Summary = xrSummary5; - this.cellFLSIstGesamt.Weight = 0.063119927862939615D; + this.cellFLSIstGesamt.Weight = 0.050712992732774242D; // // cellFLSPlusMinusGesamt // @@ -753,6 +757,27 @@ namespace Ruhrstern " *100\n"; this.ausfallFaktor.Name = "ausfallFaktor"; // + // xrTableCell31 + // + this.xrTableCell31.Multiline = true; + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.Text = "Tatsäch-liche SOLL Stunden"; + this.xrTableCell31.Weight = 0.051437439140044339D; + // + // xrTableCell32 + // + this.xrTableCell32.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit")}); + this.xrTableCell32.Multiline = true; + this.xrTableCell32.Name = "xrTableCell32"; + this.xrTableCell32.TextFormatString = "{0:0.00}"; + this.xrTableCell32.Weight = 0.051437428053343032D; + // + // calculatedField1 + // + this.calculatedField1.DataMember = "EmployeeInfoList"; + this.calculatedField1.Name = "calculatedField1"; + // // bindingSource1 // this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoMonateRO); @@ -768,7 +793,8 @@ namespace Ruhrstern this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { this.fieldFLS, this.fieldRelationGesamt, - this.ausfallFaktor}); + this.ausfallFaktor, + this.calculatedField1}); this.DataSource = this.bindingSource1; this.DisplayName = "Mitarbeiterstundenkonto"; this.Landscape = true; @@ -865,5 +891,8 @@ namespace Ruhrstern private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; private DevExpress.XtraReports.UI.XRTableCell xrTableCell30; private DevExpress.XtraReports.UI.CalculatedField ausfallFaktor; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell32; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell31; + private DevExpress.XtraReports.UI.CalculatedField calculatedField1; } } diff --git a/Service/Core/ServiceValidator.cs b/Service/Core/ServiceValidator.cs index 7a9f7051e..e268c94d2 100644 --- a/Service/Core/ServiceValidator.cs +++ b/Service/Core/ServiceValidator.cs @@ -11,6 +11,7 @@ using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; using System.Threading.Tasks; +using System.Web; namespace BeWo.Service.Core { @@ -67,8 +68,15 @@ namespace BeWo.Service.Core var prop = (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name]; lTenant = prop?.Headers["tenant"]; - // Wenn kein Tenant gefunden wird, - if (string.IsNullOrWhiteSpace(lTenant)) + if (string.IsNullOrWhiteSpace(lTenant) && prop is object) + { + var dict = HttpUtility.ParseQueryString(prop.QueryString); + + lTenant = dict["Tenant"]; + } + + // Wenn kein Tenant gefunden wird, + if (string.IsNullOrWhiteSpace(lTenant)) { throw new ArgumentException($"Zugriff verweigert. Tenant (\'{lTenant}\') darf nicht leer sein.", nameof(lTenant)); } diff --git a/Service/Service.csproj b/Service/Service.csproj index 154de074b..21f19690e 100644 --- a/Service/Service.csproj +++ b/Service/Service.csproj @@ -545,6 +545,7 @@ + @@ -569,6 +570,7 @@ + diff --git a/Service/ServiceContracts/Enhanced/IStatusService.cs b/Service/ServiceContracts/Enhanced/IStatusService.cs new file mode 100644 index 000000000..343f981a6 --- /dev/null +++ b/Service/ServiceContracts/Enhanced/IStatusService.cs @@ -0,0 +1,20 @@ +using BeWo.Service.Attributes; +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.Linq; +using System.ServiceModel.Web; +using System.ServiceModel; +using System.Text; +using System.Threading.Tasks; + +namespace BeWo.Service.ServiceContracts.Enhanced +{ + [ServiceContract] + public interface IStatusService + { + [OperationContract] + [WebGet(UriTemplate = "/Status", ResponseFormat = WebMessageFormat.Json)] + ServerStatusDC GetStatus(); + } +} diff --git a/Service/ServiceImplementations/Enhanced/StatusServiceImp.cs b/Service/ServiceImplementations/Enhanced/StatusServiceImp.cs new file mode 100644 index 000000000..281086ddf --- /dev/null +++ b/Service/ServiceImplementations/Enhanced/StatusServiceImp.cs @@ -0,0 +1,99 @@ +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.Attributes; +using BeWo.Service.Core; +using BeWo.Service.ServiceContracts.Enhanced; +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.ServiceModel; +using System.ServiceModel.Web; +using System.Text; +using System.Threading.Tasks; + +namespace BeWo.Service.ServiceImplementations.Enhanced +{ + [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, + ConcurrencyMode = ConcurrencyMode.Single)] + public class StatusServiceImp : IStatusService + { + public ServerStatusDC GetStatus() + { + var result = new ServerStatusDC + { + ServerTime = DateTime.Now.ToString("o"), + Version = Assembly.GetExecutingAssembly() + .GetName().Version?.ToString() ?? "unbekannt", + Services = new List() + }; + + // Datenbankverbindung prüfen + result.DatabaseOk = CheckDatabase(); + + // Einzelne Subsysteme prüfen + result.Services.Add(CheckService("Database", result.DatabaseOk)); + //result.Services.Add(CheckService("Mail", CheckMail())); + result.Services.Add(CheckService("AIModule", CheckAiModule())); + + return result; + } + + private bool CheckDatabase() + { + try + { + // Leichter DB-Ping – z.B. eine einfache Abfrage über DAOFactory + DAOFactory.GenericDAO.GetAll(); + return true; + } + catch + { + return false; + } + } + + private bool CheckMail() + { + try + { + // z.B. SMTP-Verbindung kurz aufbauen und sofort schließen + // Kann auch weggelassen / später ergänzt werden + return true; + } + catch + { + return false; + } + } + + private bool CheckAiModule() + { + try + { + // #1 + var configPath = ConfigReader.GetConfigPath(SpecialConfig.CustomPreSystemPrompt); + if (!File.Exists(configPath)) + return false; + + return true; + } + catch + { + return false; + } + } + + private ServiceStatusDC CheckService(string name, bool ok) + { + return new ServiceStatusDC + { + Name = name, + IsOk = ok, + Message = ok ? "OK" : "Fehler" + }; + } + } +} diff --git a/Shared/DataContracts/ServerStatusDC.cs b/Shared/DataContracts/ServerStatusDC.cs new file mode 100644 index 000000000..cbc1b4c53 --- /dev/null +++ b/Shared/DataContracts/ServerStatusDC.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + [DataContract] + public class ServerStatusDC + { + [DataMember] + public string ServerTime { get; set; } + + [DataMember] + public string Version { get; set; } + + [DataMember] + public bool DatabaseOk { get; set; } + + [DataMember] + public List Services { get; set; } + } +} diff --git a/Shared/DataContracts/ServiceStatusDC.cs b/Shared/DataContracts/ServiceStatusDC.cs new file mode 100644 index 000000000..6b6523795 --- /dev/null +++ b/Shared/DataContracts/ServiceStatusDC.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts +{ + [DataContract] + public class ServiceStatusDC + { + [DataMember] + public string Name { get; set; } + + [DataMember] + public bool IsOk { get; set; } + + [DataMember] + public string Message { get; set; } + } +} diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj index d3b7acb83..86a70203f 100644 --- a/Shared/Shared.csproj +++ b/Shared/Shared.csproj @@ -347,6 +347,8 @@ + +