MH: ChristopherusHaus Abschläge in Sammelrechnung

This commit is contained in:
2025-12-10 15:21:05 +01:00
parent 0655c8961c
commit 4cf972f892
5 changed files with 119 additions and 8 deletions

View File

@@ -82,6 +82,8 @@
<Compile Include="Finanzauswertung.designer.cs">
<DependentUpon>Finanzauswertung.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
<Compile Include="Mitarbeiterarbeitszeitkonto.cs">
<SubType>Component</SubType>

View File

@@ -0,0 +1,45 @@
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChristopherusHaus.Invoicing
{
public class CustomInvoiceCreation : InvoiceCreation
{
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);
SetAmountEquityContribution(invoice);
return invoice;
}
return null;
}
}
}

View File

@@ -0,0 +1,19 @@
using BeWo.Service.Invoicing;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChristopherusHaus.Invoicing
{
public class CustomInvoiceFactory : InvoiceFactory
{
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
return new CustomInvoiceCreation();
}
}
}

View File

@@ -95,6 +95,8 @@ namespace ChristopherusHaus
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.lblAbschlagszahlungen = new DevExpress.XtraReports.UI.XRLabel();
this.lblEndbetrag = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
@@ -417,7 +419,7 @@ namespace ChristopherusHaus
// xrLabel15
//
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 106.5833F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 163.75F);
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);
@@ -427,7 +429,7 @@ namespace ChristopherusHaus
// xrTable4
//
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 60.75F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 117.9167F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10,
@@ -469,7 +471,7 @@ namespace ChristopherusHaus
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 181.5833F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 238.75F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
@@ -479,7 +481,7 @@ namespace ChristopherusHaus
// xrLabel9
//
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 35.75F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 92.91668F);
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);
@@ -810,12 +812,14 @@ namespace ChristopherusHaus
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblEndbetrag,
this.lblAbschlagszahlungen,
this.xrLabel1,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.xrLabel15});
this.GroupFooter1.HeightF = 198.5833F;
this.GroupFooter1.HeightF = 255.75F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
@@ -823,10 +827,10 @@ namespace ChristopherusHaus
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
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(362.5F, 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(314.3332F, 25F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
@@ -837,6 +841,39 @@ namespace ChristopherusHaus
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// lblAbschlagszahlungen
//
this.lblAbschlagszahlungen.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "AmountAdvancedPayments")});
this.lblAbschlagszahlungen.Font = new DevExpress.Drawing.DXFont("Verdana", 9F);
this.lblAbschlagszahlungen.LocationFloat = new DevExpress.Utils.PointFloat(362.6669F, 25F);
this.lblAbschlagszahlungen.Multiline = true;
this.lblAbschlagszahlungen.Name = "lblAbschlagszahlungen";
this.lblAbschlagszahlungen.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
this.lblAbschlagszahlungen.SizeF = new System.Drawing.SizeF(314.3331F, 23F);
this.lblAbschlagszahlungen.StylePriority.UseFont = false;
this.lblAbschlagszahlungen.StylePriority.UseTextAlignment = false;
this.lblAbschlagszahlungen.Text = "lblAbschlagszahlungen";
this.lblAbschlagszahlungen.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblAbschlagszahlungen.TextFormatString = "gel. Abschlagszahlungen: {0}";
this.lblAbschlagszahlungen.Visible = false;
//
// lblEndbetrag
//
this.lblEndbetrag.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "NetClaim")});
this.lblEndbetrag.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblEndbetrag.LocationFloat = new DevExpress.Utils.PointFloat(362.6668F, 48F);
this.lblEndbetrag.Name = "lblEndbetrag";
this.lblEndbetrag.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.lblEndbetrag.SizeF = new System.Drawing.SizeF(314.3332F, 25F);
this.lblEndbetrag.StylePriority.UseFont = false;
this.lblEndbetrag.StylePriority.UsePadding = false;
this.lblEndbetrag.StylePriority.UseTextAlignment = false;
this.lblEndbetrag.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblEndbetrag.TextFormatString = "Endbetrag: {0}";
this.lblEndbetrag.Visible = false;
//
// ServiceInvoiceReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -933,6 +970,8 @@ namespace ChristopherusHaus
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel lblRechnungsnummer;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRLabel lblAbschlagszahlungen;
private DevExpress.XtraReports.UI.XRLabel lblEndbetrag;
}
}

View File

@@ -31,6 +31,12 @@ namespace ChristopherusHaus
SetzeAdresse(pRO);
if (pRO.NetClaim != pRO.GrossClaim)
{
lblAbschlagszahlungen.Visible = true;
lblEndbetrag.Visible = true;
}
this.bindingSource1.DataSource = pRO;
}