diff --git a/ReportImp/SPZLeverkusen/CustomReportCreator.cs b/ReportImp/SPZLeverkusen/CustomReportCreator.cs index 3ca55d448..ed868dfbc 100644 --- a/ReportImp/SPZLeverkusen/CustomReportCreator.cs +++ b/ReportImp/SPZLeverkusen/CustomReportCreator.cs @@ -18,14 +18,15 @@ namespace SPZLeverkusen if (lROs.Count > 0) { - var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid); - rootReport.CreateDocument(); + if (rootReport.Pages.Count == 0) + rootReport.CreateDocument(); for (int i = 1; i < lROs.Count; i++) { var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid); - //lNext.CreateDocument(); + if (lNext.Pages.Count == 0) + lNext.CreateDocument(); rootReport.Pages.AddRange(lNext.Pages); } @@ -45,6 +46,43 @@ namespace SPZLeverkusen } + public override XtraReport CreateServiceOverviewReportForCustomers(IList customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende) + { + var roList = new List(); + + foreach (var coid in customerOids) + { + var ro = ServicesOverviewRO.CreateAlt(coid, month, year, false, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid); + if (ro.Services != null && ro.Services.Count == 0) + ro = CreateLeerenEintragFuerRO(ro); + + if (ro != null) + { + roList.Add(ro); + } + } + + if (roList.Count > 0) + { + + var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid); + if (rootReport.Pages.Count == 0) + rootReport.CreateDocument(); + + for (int i = 1; i < roList.Count; i++) + { + var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid); + if (lNext.Pages.Count == 0) + lNext.CreateDocument(); + rootReport.Pages.AddRange(lNext.Pages); + } + + return rootReport; + } + return new XtraReport(); + + } + private ServicesOverviewRO CreateLeerenEintragFuerRO(ServicesOverviewRO ro) { var scs = DAOFactory.SearchDAO.GetAllActiveSupportConceptsByCustomers(new List() { ro.CustomerOid }, false).ToList();