MH: AufEigenenFuessenStehen ServicesDouble neu gefüllt

SupportOID=169992
This commit is contained in:
2026-08-06 08:32:50 +02:00
parent 3ddcaaf036
commit 7c7915c4ca

View File

@@ -1,3 +1,5 @@
using System;
using System.Collections.Generic;
using BeWo.Report;
using BeWo.Report.ReportObjects;
@@ -13,7 +15,74 @@ namespace AufEigenenFuessenStehen
public void SetReportDataSource(ServicesOverviewRO pRO)
{
// Claude: Der CustomReportCreator baut das RO über CopyFromRO neu auf und verteilt dabei nur die Services
// auf die beiden Kopien (Soziotherapie / Rest). ServicesDouble wird nur in ServicesOverviewRO.Create()
// gefüllt und bleibt in den Kopien leer, wodurch der an ServicesDouble gebundene DetailReport nichts
// ausgibt. Deshalb hier aus den aktuellen Services neu aufbauen.
CreateServicesDouble(pRO);
bindingSource1.DataSource = pRO;
}
// Claude: Erzeugt die zweispaltige Darstellung (ServicesDouble) aus den Services des ROs.
// Logik entspricht dem Aufbau in ServicesOverviewRO.Create().
private static void CreateServicesDouble(ServicesOverviewRO pRO)
{
var servicesDouble = new List<ServicesOverviewRO.ServiceDoubleDetail>();
if (pRO.Services != null)
{
int i = 0;
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
{
var sdd = new ServicesOverviewRO.ServiceDoubleDetail();
sdd.CostBearer = s.CostBearer;
sdd.EmployeeName = s.EmployeeAbbr;
sdd.Minutes = s.MinutesQualified + s.MinutesUnqualified;
sdd.CustomerCount = s.CustomerCount;
sdd.FLS = sdd.Minutes / 60;
sdd.FLSString = String.Format("{0:0.##}", sdd.FLS);
sdd.FLSString = sdd.FLSString.Replace(".", ",");
sdd.ServiceCategoryAbbr = s.ServiceCategoryAbbr;
sdd.ServiceCategory = s.ServiceCategory;
sdd.ServiceDescription = s.ServiceDescription;
sdd.StartDate = s.StartDate;
sdd.IsBillable = s.IsBillable;
if (i < (pRO.Services.Count / (float)2))
{
servicesDouble.Add(sdd);
}
else
{
sdd = servicesDouble[i - servicesDouble.Count];
sdd.CostBearer2 = s.CostBearer;
sdd.EmployeeName2 = s.EmployeeAbbr;
sdd.Minutes2 = s.MinutesQualified + s.MinutesUnqualified;
sdd.CustomerCount2 = s.CustomerCount;
sdd.FLS2 = sdd.Minutes2 / 60;
sdd.FLSString2 = String.Format("{0:0.##}", sdd.FLS2);
sdd.FLSString2 = sdd.FLSString2.Replace(".", ",");
sdd.ServiceCategoryAbbr2 = s.ServiceCategoryAbbr;
sdd.ServiceCategory2 = s.ServiceCategory;
sdd.ServiceDescription2 = s.ServiceDescription;
sdd.StartDate2 = s.StartDate;
sdd.IsBillable2 = s.IsBillable;
}
i++;
}
}
pRO.ServicesDouble = servicesDouble;
}
}
}