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

This commit is contained in:
2024-04-25 14:39:29 +02:00
14 changed files with 1544 additions and 1074 deletions

View File

@@ -43,13 +43,13 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.232</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.233</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>232</ApplicationRevision>
<ApplicationVersion>2.0.1.232</ApplicationVersion>
<ApplicationRevision>234</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>

View File

@@ -49,8 +49,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.19";
public static string Version = "Version 3.19";
public static string ShortVersion = "3.20";
public static string Version = "Version 3.20";
public static int RenderTier = 0;

View File

@@ -250,7 +250,7 @@
<ColumnDefinition Width="70"/>
<ColumnDefinition Width="62" />
<ColumnDefinition Width="71" />
<ColumnDefinition MinWidth="62" />
<ColumnDefinition Width="62" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />

View File

@@ -75,12 +75,18 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Core.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.CodeView.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Core.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="PresentationFramework.Aero">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -255,17 +255,27 @@ namespace BeWo.DiakonieKKKleve
var gruppenRecords = new List<ServiceRecordDC>();
var einzelRecords = new List<ServiceRecordDC>();
var hbRecords = new List<ServiceRecordDC>();
bool hatGruppeImZeitraum = false;
bool hatHBimZeitraum = false;
foreach (var sr in f.ServiceRecords)
{
if (sr.ServiceDescription.Name.Contains("Gruppe"))
{
if (!hatGruppeImZeitraum && sr.Start >= start && sr.Start < end.Date.AddDays(1))
{
hatGruppeImZeitraum = true;
}
gruppenRecords.Add(sr);
}
else
{
if (!sr.ServiceDescription.Name.ToLower().Contains("telefon"))
{
if (!hatHBimZeitraum && sr.Start >= start && sr.Start < end.Date.AddDays(1))
{
hatHBimZeitraum = true;
}
hbRecords.Add(sr);
}
einzelRecords.Add(sr);
@@ -291,7 +301,7 @@ namespace BeWo.DiakonieKKKleve
roSoziGruppe.SupportConceptFinanceList.Add(roGruppe);
}
if (hbRecords.Count > 0)
if (hatHBimZeitraum)
{
var roHBP = new FinanceRO.SupportConceptFinanceRO();
roHBP.BillableHours = f.BillableHours;

View File

@@ -23,6 +23,7 @@ namespace DiakonieKKKleve.Invoicing
ErstelleHausbesuchspauschale = true;
}
public bool ErstelleTherapieeinheiten { get; set; }
public bool ErstelleHausbesuchspauschale { get; set; }
@@ -79,6 +80,7 @@ namespace DiakonieKKKleve.Invoicing
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
//if (iServiceRecord.CostBearer.Name.Contains("Techniker Krankenkasse"))
// {
// ii.RateFactor = null;
@@ -202,12 +204,12 @@ namespace DiakonieKKKleve.Invoicing
{
//Dictionary<String, int> differentDays = new Dictionary<string, int>();
IList<InvoiceItem> items = new List<InvoiceItem>();
decimal hausbesuchspauschale = 7.8m;
decimal hausbesuchspauschale = GetHausbesuchspauschale(scap.CostBearer2SupportConcept, invoicePeriod.StartDate);
if (invoicePeriod.StartDateTime >= new DateTime(2022, 4, 1))
{
hausbesuchspauschale = 8.02m;
}
//if (invoicePeriod.StartDateTime >= new DateTime(2022, 4, 1))
//{
// hausbesuchspauschale = 8.02m;
//}
int countHausbesuch = 0;
@@ -225,36 +227,36 @@ namespace DiakonieKKKleve.Invoicing
CostRatePeriodDC crp = null;
List<CostRatePeriodDC> crpDcs;
foreach (var ServiceDescription in desc)
{
if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Barmer"))
{
if (ServiceDescription.Name.Contains("Hausbesuchpauschale") && ServiceDescription.Name.Contains("Barmer"))
{
crpDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(ServiceDescription.CostRatePeriods);
crp = crpDcs.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, invoicePeriod.StartDate);
}
}
else
{
if (ServiceDescription.Name.Contains("Hausbesuchpauschale") && !ServiceDescription.Name.Contains("Barmer"))
{
crpDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(ServiceDescription.CostRatePeriods);
crp = crpDcs.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, invoicePeriod.StartDate);
}
}
// foreach (var ServiceDescription in desc)
// {
//if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Barmer"))
//{
// if (ServiceDescription.Name.Contains("Hausbesuchpauschale") && ServiceDescription.Name.Contains("Barmer"))
// {
// crpDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(ServiceDescription.CostRatePeriods);
// crp = crpDcs.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, invoicePeriod.StartDate);
// }
//}
//else
//{
// if (ServiceDescription.Name.Contains("Hausbesuchpauschale") && !ServiceDescription.Name.Contains("Barmer"))
// {
// crpDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(ServiceDescription.CostRatePeriods);
// crp = crpDcs.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, invoicePeriod.StartDate);
// }
//}
if (crp != null && crp.CostRateValue.HasValue)
{
hausbesuchspauschale = crp.CostRateValue ?? 0;
}
// if (crp != null && crp.CostRateValue.HasValue)
// {
// hausbesuchspauschale = crp.CostRateValue ?? 0;
// }
foreach (var oscap in scap.CostBearer2SupportConcept.ApprovalPeriodList)
{
if (!String.IsNullOrEmpty(oscap.ServiceCategory.Name) && oscap.ServiceCategory.Name.Contains("Hausbesuchspauschale"))
hausbesuchspauschale = oscap.ApprovedFixedAmount ?? hausbesuchspauschale;
}
}
// foreach (var oscap in scap.CostBearer2SupportConcept.ApprovalPeriodList)
// {
// if (!String.IsNullOrEmpty(oscap.ServiceCategory.Name) && oscap.ServiceCategory.Name.Contains("Hausbesuchspauschale"))
// hausbesuchspauschale = oscap.ApprovedFixedAmount ?? hausbesuchspauschale;
//}
// }
var invoiceItem = new InvoiceItem();
//decimal anzahlHausbesuche = differentDays.Count;
@@ -278,8 +280,37 @@ namespace DiakonieKKKleve.Invoicing
return items;
}
private decimal GetHausbesuchspauschale(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Hausbesuchspauschale Primärkassen";
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Hausbesuchspauschale Ersatzkassen";
}
}
return base.GetPreis(preisName, dt);
}
private decimal GetGruppenPreis(CostBearer2SupportConcept c2s, DateTime dt)
{
String preisName = "Gruppentherapie Primärkassen";
if (c2s.CostBearer.Organisation.Function != null)
{
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
{
preisName = "Gruppentherapie Ersatzkassen";
}
}
return base.GetPreis(preisName, dt);
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, true, true);
}

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
@@ -14,17 +15,170 @@ namespace DiakonieLennepReports.Export
{
public class WilkenExporter
{
private static int COUNTER = 10001; // fortlaufende Zeilennummer über alle drei Dateien
private static DataTable stammDaten;
public static QueryDC CreateQuery(QueryDC query)
{
DateTime dt = DateTime.Now;
DateTime.TryParse(query.Parameter[0].Value.ToString(), out dt);
query.FileName = String.Format("Wilken Export {0:yyyyMM}.csv", dt);
query.QueryResult = GetAbrechnungenString(dt);
if (query.Title == "Wilken Export Stammdaten")
{
query.FileName = String.Format("1192_{0:yyyyMMdd}_{0:hhmmss}_DEGSP.TXT", DateTime.Now);
query.QueryResult = GetDebitorenString(dt);
// var personenDaten = GetPersonendatenString(stammDaten);
}
//else if (query.Title == "Wilken Export Personendaten")
//{
// query.FileName = String.Format("1192_{0:yyyyMMdd}_{0:hhmmss}_DEPKF.TXT", DateTime.Now);
// query.QueryResult = GetPersonendatenString(dt);
//}
else
{
query.FileName = String.Format("Wilken Export {0:yyyyMM}.csv", dt);
query.QueryResult = GetAbrechnungenString(dt);
}
return query;
}
public static String GetDebitorenString(DateTime date)
{
// hier werden alle Stammdaten (Klienten und Kostenträger) aus dem BeWoPlaner zusammengetragen und jedes Mal neu übergeben,
// könnte man ändern bei Historientabelle ändern, dass nur geänderte und neue Datensätze übergeben werden
//SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;
//GP_GESCHAEFTSPARTNERNUMMER;ROLLE_ROLLENNUMMER;ROLLE_ROLLE;PERSON_PERSONENTYP;PERSON_NAME;PERSON_VORNAME;PERSON_KURZNAME;
//GP_MATCHCODE1;ADR_STRASSE;ADR_STRASSE_PLZ;ADR_STRASSE_ORT;ADR_STRASSE_HAUSNUMMER_VON;ADR_STRASSE_ZUSATZ_VON;
//ADR_STRASSE_UNTERNUMMER_VON;ADR_STRASSE_HAUSNUMMER_BIS;ADR_STRASSE_ZUSATZ_BIS;ADR_STRASSE_UNTERNUMMER_BIS;ADR_POSTFACH_PLZ;
//ADR_POSTFACH_ORT;ADR_POSTFACH;ADR_LAND;ADR_POSTLEITZAHLVERWENDUNG;ADR_POSTALISCHER_NAME;PERSON_ANREDE;PERSON_TELEFON;PERSON_TELEFAX;
//PERSON_EMAIL;PERSON_GEBURTSDATUM;PERSON_TITEL;GP_SPRACHE;ROLLE_SKONTOLINIE;GP_UID_LAND;GP_UID_NUMMER;BV_KONTOINHABER;BV_IBAN;BV_BIC;
//BV_LAND;BV_GUELTIG_AB;BV_GUELTIG_BIS;BV_KZ_KEINE_MEHRFACH_ANLAGE;BV_LAUFENDENUMMER;BV_KZ_ZAHLART_UEBERWEISUNG;
//BV_KZ_UEBERWEISUNG_MASCHINELL;BV_KZ_ZAHLART_BANKEINZUG;BV_KZ_BANKEINZUG_MASCHINELL;
//MANDAT_IBAN;MANDAT_MANDATSREFERENZNUMMER;MANDAT_GUELTIG_AB;MANDAT_ART;MANDAT_STATUS;MANDAT_LASTSCHRIFTVERFAHREN
//BeWoPlaner240403121530; GSP; GSP; BeWoPlaner; E; 290;9600;
StringBuilder sb = new StringBuilder();
sb.Append("SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;GP_GESCHAEFTSPARTNERNUMMER;ROLLE_ROLLENNUMMER;ROLLE_ROLLE;PERSON_PERSONENTYP;PERSON_NAME;PERSON_VORNAME;PERSON_KURZNAME;GP_MATCHCODE1;ADR_STRASSE;ADR_STRASSE_PLZ;ADR_STRASSE_ORT;ADR_STRASSE_HAUSNUMMER_VON;ADR_STRASSE_ZUSATZ_VON;ADR_STRASSE_UNTERNUMMER_VON;ADR_STRASSE_HAUSNUMMER_BIS;ADR_STRASSE_ZUSATZ_BIS;ADR_STRASSE_UNTERNUMMER_BIS;ADR_POSTFACH_PLZ;ADR_POSTFACH_ORT;ADR_POSTFACH;ADR_LAND;ADR_POSTLEITZAHLVERWENDUNG;ADR_POSTALISCHER_NAME;PERSON_ANREDE;PERSON_TELEFON;PERSON_TELEFAX;PERSON_EMAIL;PERSON_GEBURTSDATUM;PERSON_TITEL;GP_SPRACHE;ROLLE_SKONTOLINIE;GP_UID_LAND;GP_UID_NUMMER;BV_KONTOINHABER;BV_IBAN;BV_BIC;BV_LAND;BV_GUELTIG_AB;BV_GUELTIG_BIS;BV_KZ_KEINE_MEHRFACH_ANLAGE;BV_LAUFENDENUMMER;BV_KZ_ZAHLART_UEBERWEISUNG;BV_KZ_UEBERWEISUNG_MASCHINELL;BV_KZ_ZAHLART_BANKEINZUG;BV_KZ_BANKEINZUG_MASCHINELL;MANDAT_IBAN;MANDAT_MANDATSREFERENZNUMMER;MANDAT_GUELTIG_AB;MANDAT_ART;MANDAT_STATUS;MANDAT_LASTSCHRIFTVERFAHREN");
DateTime creationDate = DateTime.Now;
int counter = COUNTER;
var dt = ExecuteQuery(GetKlientenSql(date), date);
foreach (DataRow row in dt.Rows)
{
if (sb.Length > 0)
{
sb.AppendLine();
}
sb.Append(String.Format("BeWoPlaner{0:yyMMddhhmmss}290{1};", creationDate, counter));
sb.Append("GSP;GSP;BeWoPlaner;E;290;9600;");
for (int i = 0; i < row.ItemArray.Length; i++)
{
if (i > 0)
{
sb.Append(";");
}
var item = row[i];
if (i == 23 && item != null)
{
var sex = row[i].ToString();
if (sex == "0")
{
sb.Append("002");
}
else if(sex == "1")
{
sb.Append("001");
}
else
{
sb.Append("999");
}
}
else
{
sb.Append(item);
}
}
counter += 1;
}
dt = ExecuteQuery(GetOrganisationenSql(date), date);
foreach (DataRow row in dt.Rows)
{
if (sb.Length > 0)
{
sb.AppendLine();
}
sb.Append(String.Format("BeWoPlaner{0:yyMMddhhmmss}290{1};", creationDate, counter));
sb.Append("GSP;GSP;BeWoPlaner;E;290;9600;");
for (int i = 0; i < row.ItemArray.Length; i++)
{
if (i > 0)
{
sb.Append(";");
}
var item = row[i];
sb.Append(item);
}
counter += 1;
}
COUNTER = counter;
return sb.ToString();
}
public static String GetPersonenkontenString(DataTable data)
{
// hier werden zu den oben übergebenen Stammdaten sogenannte Personenkonten erzeugt, die dann bebucht werden
// sprich es wird zu jedem Debitorenkonto das Personenkonto erzeugt und übergeben
// es werden alle Stammdaten (Klienten und Kostenträger) aus dem BeWoPlaner zusammengetragen und jedes Mal neu übergeben,
// könnte man ändern bei Historientabelle ändern, dass nur geänderte und neue Datensätze übergeben werden
//SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;
//SATZART;KONTONUMMER;STARTDATUM;STOPPDATUM;HAUPTKONTO;VERDICHTUNGHAUPTKONTO;REFERENZHAUPTKONTO;VORRANGIGERZAHLWEG;
//KZAUTOMATISCHERAUSGLEICH;MAHNSPERRE;MAHNSPERREBEFRISTETBIS;KENNZEICHENZAHLSPERRE;ZAHLSPERREBEFRISTETBIS
//BeWoPlaner240403121530; GSP; GSP; BeWoPlaner; E; 290;9600;
StringBuilder sb = new StringBuilder();
sb.Append("SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;SATZART;KONTONUMMER;STARTDATUM;STOPPDATUM;HAUPTKONTO;VERDICHTUNGHAUPTKONTO;REFERENZHAUPTKONTO;VORRANGIGERZAHLWEG;KZAUTOMATISCHERAUSGLEICH;MAHNSPERRE;MAHNSPERREBEFRISTETBIS;KENNZEICHENZAHLSPERRE;ZAHLSPERREBEFRISTETBIS");
DateTime creationDate = DateTime.Now;
int counter = COUNTER;
int no = 0;
foreach (DataRow row in data.Rows)
{
no += 1;
if (no == 1)
{
break;
}
if (sb.Length > 0)
{
var item = row[23];
if (item != null)
{
sb.AppendLine();
counter += 1;
sb.Append(String.Format("BeWoPlaner{0:yyMMddhhmmss}290{1};", creationDate, counter));
sb.Append("GSP;PKF;BeWoPlaner;E;290;9600;D");
sb.Append(item);
sb.Append(";");
sb.Append("01.01.0001;;");
sb.Append("141000;;");
sb.Append("R;;;;;;;;");
}
}
}
COUNTER = counter;
return sb.ToString();
}
public static String GetAbrechnungenString(DateTime date)
{
StringBuilder sb = new StringBuilder();
@@ -61,7 +215,7 @@ namespace DiakonieLennepReports.Export
DateTime creationDate = DateTime.Now;
DateTime lastDate = new DateTime(date.Year, date.Month, 1);
lastDate = lastDate.AddMonths(1).AddDays(-1);
int counter = 10000;
int counter = COUNTER;
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
@@ -90,6 +244,7 @@ namespace DiakonieLennepReports.Export
sb.Append("0;");
}
COUNTER = counter;
return sb.ToString();
}
@@ -128,6 +283,164 @@ namespace DiakonieLennepReports.Export
return sql;
}
private static String GetKlientenSql(DateTime date)
{
//SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;
//GP_GESCHAEFTSPARTNERNUMMER;ROLLE_ROLLENNUMMER;ROLLE_ROLLE;PERSON_PERSONENTYP;PERSON_NAME;PERSON_VORNAME;PERSON_KURZNAME;
//GP_MATCHCODE1;ADR_STRASSE;ADR_STRASSE_PLZ;ADR_STRASSE_ORT;ADR_STRASSE_HAUSNUMMER_VON;ADR_STRASSE_ZUSATZ_VON;
//ADR_STRASSE_UNTERNUMMER_VON;ADR_STRASSE_HAUSNUMMER_BIS;ADR_STRASSE_ZUSATZ_BIS;ADR_STRASSE_UNTERNUMMER_BIS;ADR_POSTFACH_PLZ;
//ADR_POSTFACH_ORT;ADR_POSTFACH;ADR_LAND;ADR_POSTLEITZAHLVERWENDUNG;ADR_POSTALISCHER_NAME;PERSON_ANREDE;PERSON_TELEFON;PERSON_TELEFAX;
//PERSON_EMAIL;PERSON_GEBURTSDATUM;PERSON_TITEL;GP_SPRACHE;ROLLE_SKONTOLINIE;GP_UID_LAND;GP_UID_NUMMER;BV_KONTOINHABER;BV_IBAN;BV_BIC;
//BV_LAND;BV_GUELTIG_AB;BV_GUELTIG_BIS;BV_KZ_KEINE_MEHRFACH_ANLAGE;BV_LAUFENDENUMMER;BV_KZ_ZAHLART_UEBERWEISUNG;
//BV_KZ_UEBERWEISUNG_MASCHINELL;BV_KZ_ZAHLART_BANKEINZUG;BV_KZ_BANKEINZUG_MASCHINELL;
//MANDAT_IBAN;MANDAT_MANDATSREFERENZNUMMER;MANDAT_GUELTIG_AB;MANDAT_ART;MANDAT_STATUS;MANDAT_LASTSCHRIFTVERFAHREN
// Achtung c.PersonOid sollte Debitorennummer werden
String sql = @"
SELECT
distinct
CONCAT('001192', c.PersonOid) AS Debitor,
CONCAT('001192', c.PersonOid) AS DebitorRolle,
'D',
'N',
p.`LastName`,
p.`FirstName`,
null,
p.`LastName`,
a.Street,
a.PostalCode,
a.Town,
'',
null,
null,
null,
null,
null,
null,
null,
null,
'DE',
1,
CONCAT(p.`FirstName`, ' ', p.`LastName`),
p.Sex,
null,
null,
null,
null,
null,
'DE',
'014',
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
FROM `customer` c
INNER JOIN `person` p ON p.`Oid` = c.`PersonOid`
INNER JOIN supportconcept sc on sc.CustomerOID = c.Oid
INNER JOIN costbearer2supportconcept cb2sc on cb2sc.SupportConceptOID = sc.Oid
LEFT JOIN Address a on p.addressOid = a.oid
WHERE c.isactive=1 AND c.Insts >= ':Monat_Start' AND c.Insts < ':Monat_End'
order by p.`LastName`, p.FirstName
";
return sql;
}
private static String GetOrganisationenSql(DateTime date)
{
//SCHLUESSEL;OBJEKTTYP;SATZKENNUNG;DATENHERKUNFT;KONZERN;MANDANT;WERK;
//GP_GESCHAEFTSPARTNERNUMMER;ROLLE_ROLLENNUMMER;ROLLE_ROLLE;PERSON_PERSONENTYP;PERSON_NAME;PERSON_VORNAME;PERSON_KURZNAME;
//GP_MATCHCODE1;ADR_STRASSE;ADR_STRASSE_PLZ;ADR_STRASSE_ORT;ADR_STRASSE_HAUSNUMMER_VON;ADR_STRASSE_ZUSATZ_VON;
//ADR_STRASSE_UNTERNUMMER_VON;ADR_STRASSE_HAUSNUMMER_BIS;ADR_STRASSE_ZUSATZ_BIS;ADR_STRASSE_UNTERNUMMER_BIS;ADR_POSTFACH_PLZ;
//ADR_POSTFACH_ORT;ADR_POSTFACH;ADR_LAND;ADR_POSTLEITZAHLVERWENDUNG;ADR_POSTALISCHER_NAME;PERSON_ANREDE;PERSON_TELEFON;PERSON_TELEFAX;
//PERSON_EMAIL;PERSON_GEBURTSDATUM;PERSON_TITEL;GP_SPRACHE;ROLLE_SKONTOLINIE;GP_UID_LAND;GP_UID_NUMMER;BV_KONTOINHABER;BV_IBAN;BV_BIC;
//BV_LAND;BV_GUELTIG_AB;BV_GUELTIG_BIS;BV_KZ_KEINE_MEHRFACH_ANLAGE;BV_LAUFENDENUMMER;BV_KZ_ZAHLART_UEBERWEISUNG;
//BV_KZ_UEBERWEISUNG_MASCHINELL;BV_KZ_ZAHLART_BANKEINZUG;BV_KZ_BANKEINZUG_MASCHINELL;
//MANDAT_IBAN;MANDAT_MANDATSREFERENZNUMMER;MANDAT_GUELTIG_AB;MANDAT_ART;MANDAT_STATUS;MANDAT_LASTSCHRIFTVERFAHREN
// Achtung c.PersonOid sollte Debitorennummer werden
String sql = @"
SELECT
distinct
CONCAT('001193', cb.Oid) AS Debitor,
CONCAT('001193', cb.Oid) AS DebitorRolle,
'D',
'J',
org.`Name`,
'',
null,
org.`Name`,
a.Street,
a.PostalCode,
a.Town,
'',
null,
null,
null,
null,
null,
null,
null,
null,
'DE',
1,
org.`Name`,
'004',
null,
null,
null,
null,
null,
'DE',
'014',
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
FROM `costbearer` cb
INNER JOIN `organisation` org ON org.`CostbearerOid` = cb.`CostbearerOid`
LEFT JOIN Address a on org.addressOid = a.oid
WHERE cb.isactive=1
order by p.`LastName`, p.FirstName
";
return sql;
}
public static DataTable ExecuteQuery(String sql, DateTime dt)
{
var newsql = sql;

View File

@@ -132,10 +132,32 @@ namespace Humanitas
var calc = Calculations.GetInstance(c2S.CostBearer.ID);
var relDC = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2S);
var fkRecords = new List<ServiceRecordDC>();
var flsRecords = new List<ServiceRecordDC>();
foreach (var sr in scRo.ServiceRecords)
{
sr.Employee = new CompactEmployeeDC { ValueListEntries = new Dictionary<long, ValueListEntryType>() }; // hack, damit später bei der Berechnung des Betrags in der InvoiceCreation kein Fehler kommt
//sr.CostBearer = c2S.CostBearer;
sr.SupportConcept = scRo.Costbearer2Supportconcept.SupportConcept;
sr.Customer = sr.SupportConcept.Customer;
if (sr.ServiceDescription.Name.ToLower().Contains("fehlkontakt") || sr.ServiceDescription.Category.Name.ToLower().Contains("fehlkontakt") || (sr.ServiceDescription.ProzentAbrechnung.HasValue && sr.ServiceDescription.ProzentAbrechnung.Value < 100))
{
fkRecords.Add(sr);
}
else
{
flsRecords.Add(sr);
}
}
if (fro.ReportEndDate.HasValue && fro.ReportEndDate < DateTime.MaxValue.AddDays(-1))
{
scRo.ApprovedHours = calc.GetApprovedHoursTillNow(relDC, fro.ReportEndDate.Value) ?? 0;
//ro.ApprovedHours = calc.GetApprovedHoursTillNow(relDC, null) ?? 0;
scRo.StundenNichtFehlkontakte = calc.GetBillableDurationInMinutes(flsRecords.Where(sr => sr.Start.Value.Date < fro.ReportEndDate.Value.AddDays(1)).ToList()) / 60;
scRo.StundenFehlkontakte = calc.GetBillableDurationInMinutes(fkRecords.Where(sr => sr.Start.Value.Date < fro.ReportEndDate.Value.AddDays(1)).ToList()) / 60;
scRo.BillableHours =
calc.GetBillableDurationInMinutes(scRo.ServiceRecords.Where(sr => sr.Start.Value.Date < fro.ReportEndDate.Value.AddDays(1)).ToList()) / 60;
}
@@ -143,11 +165,14 @@ namespace Humanitas
{
scRo.ApprovedHours = calc.GetApprovedHoursTillNow(relDC, null) ?? 0;
scRo.BillableHours = calc.GetBillableDurationInMinutes(scRo.ServiceRecords) / 60;
scRo.StundenNichtFehlkontakte = calc.GetBillableDurationInMinutes(flsRecords) / 60;
scRo.StundenFehlkontakte = calc.GetBillableDurationInMinutes(fkRecords) / 60;
scRo.BillableHours = scRo.StundenNichtFehlkontakte + scRo.StundenFehlkontakte;
}
if (fro.ReportStartDate.HasValue && fro.ReportEndDate.HasValue)
{
scRo.ApprovedHoursInReportTimeSpan = calc.GetApprovedHoursForPeriod(relDC, fro.ReportStartDate.Value, fro.ReportEndDate.Value);
//ro.BillableHoursInReportTimeSpan =
@@ -160,16 +185,20 @@ namespace Humanitas
MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(c2S.CostBearer.CostRatePeriods);
scRo.AmountInReportTimeSpan = 0;
foreach (var serviceRecordtemp in c2S.ServiceRecords)
scRo.AmountNichtFehlkontakteInReportTimeSpan = 0;
scRo.AmountFehlkontakteInReportTimeSpan = 0;
foreach (var dc in flsRecords)
{
if (serviceRecordtemp.Start >= fro.ReportStartDate && serviceRecordtemp.Start.Value.Date <= fro.ReportEndDate.Value.Date)
if (dc.Start >= fro.ReportStartDate && dc.Start.Value.Date <= fro.ReportEndDate.Value.Date)
{
var dc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(serviceRecordtemp);
//var dc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(serviceRecordtemp);
var billable = calc.GetBillableDurationInMinutes(dc) / 60;
scRo.BillableHoursInReportTimeSpan += billable;
scRo.StundenNichtFehlkontakteInReportTimeSpan += billable;
//scRo.BillableHoursInReportTimeSpan += billable;
var rfcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor, serviceRecordtemp.Start.Value);
var rfcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor, dc.Start.Value);
if (rfcr != null && rfcr.CostRateValue.HasValue)
{
var billableRateFactor = billable * (rfcr.CostRateValue.Value + 100m) / 100m;
@@ -180,7 +209,7 @@ namespace Humanitas
decimal stundensatz = 0;
var hcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate, serviceRecordtemp.Start.Value);
var hcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate, dc.Start.Value);
if (hcr != null && hcr.CostRateValue.HasValue)
{
stundensatz = hcr.CostRateValue.Value;
@@ -188,10 +217,40 @@ namespace Humanitas
var betrag = billable * stundensatz;
scRo.AmountInReportTimeSpan += betrag;
scRo.AmountNichtFehlkontakteInReportTimeSpan += betrag;
//scRo.AmountInReportTimeSpan += betrag;
}
}
//Fehlkontakte
foreach (var srDc in fkRecords)
{
if (srDc.Start >= fro.ReportStartDate && srDc.Start.Value.Date <= fro.ReportEndDate)
{
var billable = calc.GetBillableDurationInMinutes(srDc, false) / 60;
scRo.StundenFehlkontakteInReportTimeSpan += billable;
decimal stundensatz = 0;
var hcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate, srDc.Start.Value);
if (hcr != null && hcr.CostRateValue.HasValue)
{
stundensatz = hcr.CostRateValue.Value;
}
if (srDc.ServiceDescription.ProzentAbrechnung.HasValue && srDc.ServiceDescription.ProzentAbrechnung.Value < 100)
{
stundensatz *= (srDc.ServiceDescription.ProzentAbrechnung.Value / 100);
}
var betrag = billable * stundensatz;
scRo.AmountFehlkontakteInReportTimeSpan += betrag;
}
}
scRo.BillableHoursInReportTimeSpan = scRo.StundenNichtFehlkontakteInReportTimeSpan + scRo.StundenFehlkontakteInReportTimeSpan;
scRo.AmountInReportTimeSpan = (scRo.AmountNichtFehlkontakteInReportTimeSpan ?? 0) + (scRo.AmountFehlkontakteInReportTimeSpan ?? 0);
var rfcrEnd = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor, fro.ReportEndDate.Value);
if (rfcrEnd != null && rfcrEnd.CostRateValue.HasValue)

View File

@@ -38,8 +38,9 @@ namespace Humanitas
DevExpress.XtraReports.UI.XRSummary xrSummary6 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary7 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary8 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary9 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary10 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary11 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary9 = new DevExpress.XtraReports.UI.XRSummary();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
@@ -143,6 +144,9 @@ namespace Humanitas
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.TESTPARAMTER = new DevExpress.XtraReports.Parameters.Parameter();
this.parameter1 = new DevExpress.XtraReports.Parameters.Parameter();
this.xrTableCell73 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell74 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell75 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
@@ -161,7 +165,7 @@ namespace Humanitas
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail1.Font = new System.Drawing.Font("Arial", 9F);
this.Detail1.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.Detail1.HeightF = 25F;
this.Detail1.KeepTogetherWithDetailReports = true;
this.Detail1.Name = "Detail1";
@@ -176,7 +180,7 @@ namespace Humanitas
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(2650F, 25F);
this.xrTable2.SizeF = new System.Drawing.SizeF(2730F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
@@ -198,6 +202,7 @@ namespace Humanitas
this.cellBewilligteFLSImBereich,
this.cellGeleistetImBereich,
this.cellRateFactor,
this.xrTableCell74,
this.xrTableCell26,
this.xrTableCell35,
this.xrTableCell38,
@@ -315,7 +320,7 @@ namespace Humanitas
// cellGeleistetImBereich
//
this.cellGeleistetImBereich.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.BillableHoursInReportTimeSpan", "{0:0.00}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.StundenNichtFehlkontakteInReportTimeSpan", "{0:0.00}")});
this.cellGeleistetImBereich.Name = "cellGeleistetImBereich";
this.cellGeleistetImBereich.StylePriority.UseTextAlignment = false;
this.cellGeleistetImBereich.Text = "cellGeleistetImBereich";
@@ -464,7 +469,7 @@ namespace Humanitas
//
// lblTitel
//
this.lblTitel.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.lblTitel.Name = "lblTitel";
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -486,7 +491,7 @@ namespace Humanitas
//
// GroupFooter1
//
this.GroupFooter1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.GroupFooter1.HeightF = 0F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
@@ -504,13 +509,13 @@ namespace Humanitas
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(2650F, 50F);
this.xrTable1.SizeF = new System.Drawing.SizeF(2730F, 50F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
@@ -532,6 +537,7 @@ namespace Humanitas
this.cellBewilligtImZeitraumHeader,
this.cellGeleistetImZeitraumHeader,
this.cellRateFactorHeader,
this.xrTableCell73,
this.xrTableCell25,
this.xrTableCell34,
this.xrTableCell37,
@@ -768,7 +774,7 @@ namespace Humanitas
//
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable3});
this.GroupFooter2.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.GroupFooter2.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.GroupFooter2.HeightF = 25F;
this.GroupFooter2.Level = 1;
this.GroupFooter2.Name = "GroupFooter2";
@@ -783,7 +789,7 @@ namespace Humanitas
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 3, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable3.SizeF = new System.Drawing.SizeF(2650F, 25F);
this.xrTable3.SizeF = new System.Drawing.SizeF(2730F, 25F);
this.xrTable3.StylePriority.UseBorders = false;
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.StylePriority.UsePadding = false;
@@ -805,6 +811,7 @@ namespace Humanitas
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell24,
this.xrTableCell75,
this.xrTableCell27,
this.xrTableCell36,
this.xrTableCell39,
@@ -939,7 +946,7 @@ namespace Humanitas
//
this.xrTableCell23.CanGrow = false;
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.BillableHoursInReportTimeSpan")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.StundenNichtFehlkontakteInReportTimeSpan")});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseTextAlignment = false;
xrSummary7.FormatString = "{0:0.00}";
@@ -969,9 +976,9 @@ namespace Humanitas
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.BillableAmountInReportTimeSpan")});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.StylePriority.UseTextAlignment = false;
xrSummary9.FormatString = "{0:c}";
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell27.Summary = xrSummary9;
xrSummary10.FormatString = "{0:c}";
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell27.Summary = xrSummary10;
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell27.Weight = 0.35450516989897335D;
//
@@ -995,9 +1002,9 @@ namespace Humanitas
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.Abschlagszahlungen")});
this.xrTableCell60.Name = "xrTableCell60";
this.xrTableCell60.StylePriority.UseTextAlignment = false;
xrSummary10.FormatString = "{0:c}";
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell60.Summary = xrSummary10;
xrSummary11.FormatString = "{0:c}";
xrSummary11.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell60.Summary = xrSummary11;
this.xrTableCell60.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell60.Weight = 0.44313146230871536D;
//
@@ -1093,7 +1100,7 @@ namespace Humanitas
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.Title.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.Font = new DevExpress.Drawing.DXFont("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
//
@@ -1103,7 +1110,7 @@ namespace Humanitas
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.FieldCaption.BorderWidth = 1F;
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.FieldCaption.Font = new DevExpress.Drawing.DXFont("Times New Roman", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
this.FieldCaption.Name = "FieldCaption";
//
@@ -1113,7 +1120,7 @@ namespace Humanitas
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.PageInfo.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
//
@@ -1123,7 +1130,7 @@ namespace Humanitas
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.DataField.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
//
@@ -1158,6 +1165,39 @@ namespace Humanitas
this.parameter1.Type = typeof(bool);
this.parameter1.ValueInfo = "False";
//
// xrTableCell73
//
this.xrTableCell73.Multiline = true;
this.xrTableCell73.Name = "xrTableCell73";
this.xrTableCell73.StylePriority.UseTextAlignment = false;
this.xrTableCell73.Text = "Fehl-\r\nkontakte";
this.xrTableCell73.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell73.Weight = 0.3545051698989734D;
//
// xrTableCell74
//
this.xrTableCell74.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.StundenFehlkontakteInReportTimeSpan")});
this.xrTableCell74.Multiline = true;
this.xrTableCell74.Name = "xrTableCell74";
this.xrTableCell74.StylePriority.UseTextAlignment = false;
this.xrTableCell74.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell74.TextFormatString = "{0:0.00}";
this.xrTableCell74.Weight = 0.35450516989897335D;
//
// xrTableCell75
//
this.xrTableCell75.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Entries.SupportConceptFinance.StundenFehlkontakteInReportTimeSpan")});
this.xrTableCell75.Multiline = true;
this.xrTableCell75.Name = "xrTableCell75";
this.xrTableCell75.StylePriority.UseTextAlignment = false;
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell75.Summary = xrSummary9;
this.xrTableCell75.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell75.TextFormatString = "{0:0.00}";
this.xrTableCell75.Weight = 0.35450516989897335D;
//
// Finanzauswertung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1169,9 +1209,9 @@ namespace Humanitas
this.bottomMarginBand1});
this.DataSource = this.bindingSource1;
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(50, 50, 50, 30);
this.Margins = new DevExpress.Drawing.DXMargins(50F, 34F, 50F, 30F);
this.PageHeight = 827;
this.PageWidth = 2760;
this.PageWidth = 2860;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.Custom;
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.TESTPARAMTER,
@@ -1181,7 +1221,7 @@ namespace Humanitas
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
@@ -1295,5 +1335,8 @@ namespace Humanitas
private DevExpress.XtraReports.UI.XRTableCell xrTableCell71;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell70;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell72;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell74;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell73;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell75;
}
}

View File

@@ -117,7 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a