DiakonischesWerkDinslakenSozio: Korrekturen Sozio-Rechnungsformular, -Rechnungserstellung und -Gruppenbuchungslogik

This commit is contained in:
2025-09-03 19:27:20 +02:00
parent 2e38fffd9b
commit a22c2ace12
6 changed files with 72 additions and 51 deletions

View File

@@ -57,6 +57,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="GroupDurationCalculator.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomSoziotherapieInvoiceCreation.cs" />
<Compile Include="LeistungsnachweisSoziotherapie.cs">

View File

@@ -0,0 +1,21 @@
using BeWo.Data.Entities;
using BeWo.Service.Plugins;
namespace DiakonischesWerkDinslakenSozio
{
public class CustomGroupDurationCalculator : GroupDurationCalculator
{
public override void CalculateGroupDuration(ServiceRecordGroup group)
{
base.CalculateGroupDuration(group);
foreach (var sr in group.ServiceRecordList)
{
if (sr.ServiceDescription.ServiceCategory.Name.ToLower().Contains("soziotherapie"))
{
sr.RoundedDuration = sr.GroupRoundedDuration.Value;
}
}
}
}
}

View File

@@ -22,7 +22,7 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing
}
else
{
if (sozioLeistung.Contains("probe"))
if (sozioLeistung.Contains("prob"))
unitDescription = "GPos: 2001607";
else if (sozioLeistung.Contains("video"))
{
@@ -38,7 +38,7 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing
else if (duration > 30)
unitDescription = "GPos: 2001617";
}
else if (sozioLeistung.Contains("aufsuchend") || sozioLeistung.Contains("einrichtung"))
else if (sozioLeistung.Contains("aufsuchend") || sozioLeistung.Contains("büro"))
{
if (duration <= 10)
unitDescription = "GPos: 2001613";

View File

@@ -97,7 +97,6 @@ namespace DiakonischesWerkDinslakenSozio
s.Notice5 = "2001611 / 2009690";
else
s.Notice5 = "2001610 / 2009690";
}
else if (leistung.Contains("probatorik"))
{
@@ -131,7 +130,7 @@ namespace DiakonischesWerkDinslakenSozio
cellGesamt.Text = String.Format("{0:0.00}", gesamt / 60);
if (gesamtGruppe > 0)
{
cellGesamtGruppe.Text = String.Format("{0:0.00}", gesamtGruppe / 60);
cellGesamtGruppe.Text = String.Format("{0:0.00}", gesamtGruppe / 90);
}
this.bindingSource1.DataSource = pRO;

View File

@@ -82,6 +82,7 @@ namespace DiakonischesWerkDinslakenSozio
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -91,6 +92,7 @@ namespace DiakonischesWerkDinslakenSozio
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -103,8 +105,6 @@ namespace DiakonischesWerkDinslakenSozio
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
@@ -513,7 +513,7 @@ namespace DiakonischesWerkDinslakenSozio
this.xrLabel6.SizeF = new System.Drawing.SizeF(650.7152F, 38.99988F);
this.xrLabel6.StylePriority.UseBackColor = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.Text = "Abrechnung Soziotherapie Sitzungen gemäß $37a SGV, Versicherte(r): [CustomerLastN" +
this.xrLabel6.Text = "Abrechnung Soziotherapie Sitzungen gemäß §37a SGV, Versicherte(r): [CustomerLastN" +
"ame], [CustomerFirstName]\r\nV.Nr. [CustomerReferenceNumber]";
this.xrLabel6.WordWrap = false;
//
@@ -699,6 +699,27 @@ namespace DiakonischesWerkDinslakenSozio
this.xrTableRow25.Name = "xrTableRow25";
this.xrTableRow25.Weight = 1D;
//
// xrTableCell8
//
this.xrTableCell8.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")});
this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrTableCell8.Multiline = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell8.StylePriority.UseBorderColor = false;
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.TextFormatString = "{0:dd.MM.yyyy}";
this.xrTableCell8.Weight = 0.39078561666036693D;
//
// xrTableCell40
//
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
@@ -841,6 +862,27 @@ namespace DiakonischesWerkDinslakenSozio
this.xrTableRow23.Name = "xrTableRow23";
this.xrTableRow23.Weight = 1D;
//
// xrTableCell4
//
this.xrTableCell4.BackColor = System.Drawing.Color.Transparent;
this.xrTableCell4.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell4.StylePriority.UseBackColor = false;
this.xrTableCell4.StylePriority.UseBorderColor = false;
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Datum";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.412479349453638D;
//
// xrTableCell32
//
this.xrTableCell32.BackColor = System.Drawing.Color.Transparent;
@@ -1026,48 +1068,6 @@ namespace DiakonischesWerkDinslakenSozio
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrTableCell4
//
this.xrTableCell4.BackColor = System.Drawing.Color.Transparent;
this.xrTableCell4.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell4.StylePriority.UseBackColor = false;
this.xrTableCell4.StylePriority.UseBorderColor = false;
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Datum";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.412479349453638D;
//
// xrTableCell8
//
this.xrTableCell8.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")});
this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrTableCell8.Multiline = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell8.StylePriority.UseBorderColor = false;
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "xrTableCell8";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.TextFormatString = "{0:dd.MM.yyyy}";
this.xrTableCell8.Weight = 0.39078561666036693D;
//
// SoziotherapieRechnung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {

View File

@@ -77,9 +77,9 @@ namespace DiakonischesWerkDinslakenSozio
// Einheit setzen
ii.HourlyRateString = "Stunden";
if (ii.ServiceDescription != null && ii.ServiceDescription.ToLower().Contains("hausbesuchpauschale"))
if (ii.ServiceDescription != null && ii.ServiceDescription.ToLower().Contains("hausbesuchspauschale"))
{
ii.HourlyRateString = "Anzahl";
ii.HourlyRateString = "";
}
}
}