diff --git a/ReportImp/PsychosozialerTraegervereinReports/CustomReportCreator.cs b/ReportImp/PsychosozialerTraegervereinReports/CustomReportCreator.cs index c6e47bfda..830700645 100644 --- a/ReportImp/PsychosozialerTraegervereinReports/CustomReportCreator.cs +++ b/ReportImp/PsychosozialerTraegervereinReports/CustomReportCreator.cs @@ -16,7 +16,7 @@ namespace BeWo.PsychosozialerTraegervereinReports { public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid) { - return base.CreateSettlementReport(dcId, invoiceBaseOid, true); + return CreateSettlementReport(dcId, invoiceBaseOid, true); } public override XtraReport CreateQueryReport(long queryOid, string queryReportId) @@ -89,5 +89,61 @@ namespace BeWo.PsychosozialerTraegervereinReports return liste; } + + public override XtraReport CreateSettlementReport(String dcId, long? invoiceBaseOid, bool createAnhang) + { + XtraReport report = null; + String reportId = null; + var lSettlementDC = GetSettlementDC(dcId, invoiceBaseOid); + + if (lSettlementDC.CostBearer2SupportConceptOid.HasValue) + { + CostBearer2SupportConcept c2s = DAOFactory.GenericDAO.LoadByID(lSettlementDC.CostBearer2SupportConceptOid.Value); + reportId = c2s.CostBearer.ID; + } + + if (lSettlementDC.DifferentHourlyRateCount > 0) + { + IBeWoReport lSettlementReport = FindReportImp(reportId); + var ro = SettlementRO.Create(lSettlementDC); + lSettlementReport.SetReportDataSource(ro); + + report = lSettlementReport as XtraReport; + } + else + { + IBeWoReport lSettlementReport = FindReportImp(reportId); + lSettlementReport.SetReportDataSource(Settlement2RO.Create(lSettlementDC)); + report = lSettlementReport as XtraReport; + } + + if (createAnhang) + { + if (report != null) + { + report.CreateDocument(); + if (reportId != null && reportId == "LWLDigga" && (lSettlementDC.InvoiceDate > new DateTime(2025, 10, 31) + && lSettlementDC.AccountingPeriodEnd.HasValue && lSettlementDC.AccountingPeriodEnd > new DateTime(2025, 10, 31))) + { + var anhang = CreateBudgetnachweisDiggiAnhang(lSettlementDC); + if (anhang != null) + { + anhang.CreateDocument(); + report.Pages.AddRange(anhang.Pages); + } + } + else + { + var anhang = CreateBudgetnachweisAnhang(lSettlementDC); + if (anhang != null) + { + anhang.CreateDocument(); + report.Pages.AddRange(anhang.Pages); + } + } + } + } + return report; + } } }