MH: NovaSelbstbestimmtLebenUG Abschläge in Sammelrechnung

This commit is contained in:
2026-03-03 14:28:43 +01:00
parent 92712db49b
commit 1e19b39c9f
4 changed files with 143 additions and 13 deletions

View File

@@ -18,6 +18,33 @@ namespace NovaSelbstbestimmtLebenUG.Invoicing
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
{
if (!supportConcept.IsDeleted && !supportConcept.IsArchived)
{
var invoice = new ServiceInvoice();
var supportConceptList = new List<CompactSupportConceptDC> { supportConcept };
SetSenderInformation(invoice);
SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
SetSingleInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConcept);
SetRecipientInformation(invoice, costBearer);
SetServiceInvoicePeriods(invoice, invoice.InvoiceBase.CostBearer2SupportConcept, invoicePeriod,
serviceRecords);
SetServiceInvoicePeriodAmounts(invoice);
SetAmountAdvancePayments(invoice);
return invoice;
}
return null;
}
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod,
IList<CompactSupportConceptDC> supportConceptList)
{

View File

@@ -31,6 +31,7 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<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.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -39,6 +40,7 @@
<Reference Include="DevExpress.Printing.v23.2.Core, 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.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />

View File

@@ -94,6 +94,11 @@ namespace BeWo.Report.DefaultReports
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbschlagszahlungenValue = new DevExpress.XtraReports.UI.XRLabel();
this.lblEndbetragValue = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbschlagszahlungenText = new DevExpress.XtraReports.UI.XRLabel();
this.lblEndbetragText = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
@@ -458,7 +463,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel15
//
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 169.6667F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 185.2917F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
@@ -468,7 +473,7 @@ namespace BeWo.Report.DefaultReports
// xrTable4
//
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 123.8334F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 155.0834F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10,
@@ -520,7 +525,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel9
//
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 98.83336F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 130.0833F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
@@ -633,7 +638,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Stunden";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell33.Weight = 0.2893277257020575D;
this.xrTableCell33.Weight = 0.25367644132129874D;
//
// xrTableCell34
//
@@ -651,7 +656,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "Gesamt";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell34.Weight = 0.31923915575667006D;
this.xrTableCell34.Weight = 0.35489044013742888D;
//
// DetailReport2
//
@@ -757,7 +762,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.Text = "xrTableCell44";
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell44.Weight = 0.2893277257020575D;
this.xrTableCell44.Weight = 0.25367644132129874D;
//
// xrTableCell47
//
@@ -773,11 +778,16 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell47.StylePriority.UsePadding = false;
this.xrTableCell47.StylePriority.UseTextAlignment = false;
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell47.Weight = 0.31923915575667006D;
this.xrTableCell47.Weight = 0.35489044013742888D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel10,
this.lblAbschlagszahlungenText,
this.lblEndbetragText,
this.lblEndbetragValue,
this.lblAbschlagszahlungenValue,
this.xrLabel5,
this.xrLabel1,
this.xrLabel9,
@@ -790,11 +800,11 @@ namespace BeWo.Report.DefaultReports
// xrLabel5
//
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 41.20833F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 82.875F);
this.xrLabel5.Multiline = true;
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(677.0001F, 39.91668F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(677.0001F, 36.79167F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Bitte überweisen Sie den offenen Betrag an unser Konto mit der IBAN:\r\nDE52 2805 0" +
"100 0095 9964 27";
@@ -802,17 +812,95 @@ namespace BeWo.Report.DefaultReports
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(573.1402F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(103.8598F, 21.875F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrLabel1.TextFormatString = "{0}";
//
// lblAbschlagszahlungenValue
//
this.lblAbschlagszahlungenValue.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "AmountAdvancedPayments")});
this.lblAbschlagszahlungenValue.Font = new DevExpress.Drawing.DXFont("Verdana", 9F);
this.lblAbschlagszahlungenValue.LocationFloat = new DevExpress.Utils.PointFloat(573.1353F, 21.87496F);
this.lblAbschlagszahlungenValue.Name = "lblAbschlagszahlungenValue";
this.lblAbschlagszahlungenValue.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.lblAbschlagszahlungenValue.SizeF = new System.Drawing.SizeF(103.6979F, 21.87999F);
this.lblAbschlagszahlungenValue.StylePriority.UseFont = false;
this.lblAbschlagszahlungenValue.StylePriority.UsePadding = false;
this.lblAbschlagszahlungenValue.StylePriority.UseTextAlignment = false;
this.lblAbschlagszahlungenValue.Text = "xrLabel1";
this.lblAbschlagszahlungenValue.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblAbschlagszahlungenValue.TextFormatString = "{0}";
this.lblAbschlagszahlungenValue.Visible = false;
//
// lblEndbetragValue
//
this.lblEndbetragValue.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "NetClaim")});
this.lblEndbetragValue.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblEndbetragValue.LocationFloat = new DevExpress.Utils.PointFloat(573.1353F, 43.755F);
this.lblEndbetragValue.Name = "lblEndbetragValue";
this.lblEndbetragValue.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.lblEndbetragValue.SizeF = new System.Drawing.SizeF(103.6979F, 21.87998F);
this.lblEndbetragValue.StylePriority.UseFont = false;
this.lblEndbetragValue.StylePriority.UsePadding = false;
this.lblEndbetragValue.StylePriority.UseTextAlignment = false;
this.lblEndbetragValue.Text = "xrLabel1";
this.lblEndbetragValue.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblEndbetragValue.TextFormatString = "{0}";
this.lblEndbetragValue.Visible = false;
//
// xrLabel10
//
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(198.3953F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(374.7449F, 21.875F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UsePadding = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
this.xrLabel10.Text = "Gesamtsumme:";
this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrLabel10.TextFormatString = "Gesamtsumme";
//
// lblAbschlagszahlungenText
//
this.lblAbschlagszahlungenText.Font = new DevExpress.Drawing.DXFont("Verdana", 9F);
this.lblAbschlagszahlungenText.LocationFloat = new DevExpress.Utils.PointFloat(198.3953F, 21.87503F);
this.lblAbschlagszahlungenText.Name = "lblAbschlagszahlungenText";
this.lblAbschlagszahlungenText.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.lblAbschlagszahlungenText.SizeF = new System.Drawing.SizeF(374.74F, 21.88F);
this.lblAbschlagszahlungenText.StylePriority.UseFont = false;
this.lblAbschlagszahlungenText.StylePriority.UsePadding = false;
this.lblAbschlagszahlungenText.StylePriority.UseTextAlignment = false;
this.lblAbschlagszahlungenText.Text = "abzgl. Abschlagszahlungen:";
this.lblAbschlagszahlungenText.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblAbschlagszahlungenText.TextFormatString = " {0}";
this.lblAbschlagszahlungenText.Visible = false;
//
// lblEndbetragText
//
this.lblEndbetragText.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblEndbetragText.LocationFloat = new DevExpress.Utils.PointFloat(198.3953F, 43.755F);
this.lblEndbetragText.Name = "lblEndbetragText";
this.lblEndbetragText.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.lblEndbetragText.SizeF = new System.Drawing.SizeF(374.74F, 21.88F);
this.lblEndbetragText.StylePriority.UseFont = false;
this.lblEndbetragText.StylePriority.UsePadding = false;
this.lblEndbetragText.StylePriority.UseTextAlignment = false;
this.lblEndbetragText.Text = "Endsumme:";
this.lblEndbetragText.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblEndbetragText.Visible = false;
//
// bindingSource1
//
@@ -832,7 +920,7 @@ namespace BeWo.Report.DefaultReports
this.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new DevExpress.Drawing.DXMargins(53F, 39F, 157.5001F, 120.4999F);
this.Margins = new DevExpress.Drawing.DXMargins(53F, 32F, 157.5001F, 120.4999F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
@@ -913,5 +1001,10 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
private DevExpress.XtraReports.UI.XRLabel lblEndbetragValue;
private DevExpress.XtraReports.UI.XRLabel lblAbschlagszahlungenValue;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRLabel lblAbschlagszahlungenText;
private DevExpress.XtraReports.UI.XRLabel lblEndbetragText;
}
}

View File

@@ -33,6 +33,14 @@ namespace BeWo.Report.DefaultReports
SetzeAdresse(pRO);
if (pRO.AmountAdvancedPayments != null && pRO.AmountAdvancedPayments != "0,00 €")
{
lblAbschlagszahlungenValue.Visible = true;
lblAbschlagszahlungenText.Visible = true;
lblEndbetragValue.Visible = true;
lblEndbetragText.Visible = true;
}
this.bindingSource1.DataSource = pRO;
}