From 672a2acfd0a802a94fb930c52e7d9bf531ed03bf Mon Sep 17 00:00:00 2001 From: Kojo Date: Fri, 5 Jul 2024 13:07:49 +0200 Subject: [PATCH] =?UTF-8?q?EvangelischeKirchengemeindeBottrop:=20Spitzabre?= =?UTF-8?q?chungserzeugung=20f=C3=BCr=20LWL=20EGH=20+=20sonst=20wie=20geha?= =?UTF-8?q?bt=20to=20be=20tested?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomReportCreator.cs | 80 ++++++++++++------- .../SettlementReportBeWo672.cs | 6 +- .../SettlementReportBeWo672.designer.cs | 4 +- 3 files changed, 58 insertions(+), 32 deletions(-) diff --git a/ReportImp/EvangelischeKirchengemeindeBottrop/CustomReportCreator.cs b/ReportImp/EvangelischeKirchengemeindeBottrop/CustomReportCreator.cs index 06c7ebfc0..1db04e59c 100644 --- a/ReportImp/EvangelischeKirchengemeindeBottrop/CustomReportCreator.cs +++ b/ReportImp/EvangelischeKirchengemeindeBottrop/CustomReportCreator.cs @@ -29,49 +29,75 @@ namespace EvangelischeKirchengemeindeBottrop ibOid = si.InvoiceBase.Oid; } + XtraReport report = null; + Settlement2DC settlementDC; + long result; + + if (string.IsNullOrEmpty(dcId) && invoiceBaseOid.HasValue) + { + settlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.SearchDAO.GetSettlementInvoiceByInvoiceBaseOid(invoiceBaseOid.Value)); + } + else if (Int64.TryParse(dcId, out result)) + { + settlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID(result)); + } + else + { + string lPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, dcId); + settlementDC = Utils.XMLDeserialize(lPath); + } + + bool lwlEgh = false; if (ibOid.HasValue && ibOid.Value > 0) { var ib = DAOFactory.GenericDAO.LoadByID(ibOid.Value); string cbName = ib.CostBearer2SupportConcept.CostBearer.Organisation.Name; if (cbName.ToLower().Contains("lwl egh")) { - return base.CreateSettlementReport(dcId, ibOid, true); + lwlEgh = true; } - } - return base.CreateSettlementReport(dcId, invoiceBaseOid, false); - } - - private XtraReport CreateLwlEGHSettlementReport(String dcId, long? invoiceBaseOid) - { - XtraReport report = null; - - Settlement2DC lSettlementDC; - - long result; - - if (string.IsNullOrEmpty(dcId) && invoiceBaseOid.HasValue) - { - lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.SearchDAO.GetSettlementInvoiceByInvoiceBaseOid(invoiceBaseOid.Value)); } - else if (Int64.TryParse(dcId, out result)) + + if (lwlEgh) { - lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID(result)); // = Utils.XMLDeserialize(lPath); + IBeWoReport budgetNachweis = new Budgetnachweis(); + var ro = SettlementRO.Create(settlementDC); + budgetNachweis.SetReportDataSource(ro); + report = budgetNachweis as XtraReport; + + if (report != null) + { + report.CreateDocument(); + + var anhang = CreateBudgetnachweisAnhang(settlementDC); + if (anhang != null) + { + anhang.CreateDocument(); + report.Pages.AddRange(anhang.Pages); + } + } } else - { - string lPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, dcId); - lSettlementDC = Utils.XMLDeserialize(lPath); - } + { + if (settlementDC.DifferentHourlyRateCount > 0) + { + IBeWoReport spitzabrechnungBeWo67 = new SpitzabrechnungBeWo67(); + var ro = SettlementRO.Create(settlementDC); + spitzabrechnungBeWo67.SetReportDataSource(ro); - IBeWoReport lSettlementReport = new Budgetnachweis(); - var ro = SettlementRO.Create(lSettlementDC); - lSettlementReport.SetReportDataSource(ro); - report = lSettlementReport as XtraReport; + report = spitzabrechnungBeWo67 as XtraReport; + } + else + { + IBeWoReport spitzabrechnung2BeWo67 = new Spitzabrechnung2BeWo67(); + spitzabrechnung2BeWo67.SetReportDataSource(Settlement2RO.Create(settlementDC)); + report = spitzabrechnung2BeWo67 as XtraReport; + } + } return report; } - 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, serviceCategoryOid); diff --git a/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.cs b/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.cs index 417399d79..ad96ff8d3 100644 --- a/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.cs +++ b/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.cs @@ -10,12 +10,12 @@ using DevExpress.XtraReports.UI; using BeWo.Report.ReportObjects; using BeWo.Report; -namespace EvangelischeKirchengemeindeBottrop.Neu +namespace EvangelischeKirchengemeindeBottrop { - public partial class SpitzabrechnungBeWo67 : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + public partial class Spitzabrechnung2BeWo67 : DevExpress.XtraReports.UI.XtraReport, IBeWoReport { - public SpitzabrechnungBeWo67() + public Spitzabrechnung2BeWo67() { InitializeComponent(); } diff --git a/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.designer.cs b/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.designer.cs index a0f2f05be..8ab423029 100644 --- a/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.designer.cs +++ b/ReportImp/EvangelischeKirchengemeindeBottrop/SettlementReportBeWo672.designer.cs @@ -1,7 +1,7 @@ using BeWo.Report.ReportObjects; -namespace EvangelischeKirchengemeindeBottrop.Neu +namespace EvangelischeKirchengemeindeBottrop { - partial class SpitzabrechnungBeWo67 + partial class Spitzabrechnung2BeWo67 { /// /// Required designer variable.