Files
BeWoPlaner/ReportImp/Ruhrstern/Reporting/Teamstundenkonto.cs
2026-04-17 08:34:52 +02:00

45 lines
1.3 KiB
C#

using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.Plugins;
using BS.Shared.Core;
namespace Ruhrstern
{
[IDSpecificClass(Identifier = "Teamstundenkonto")]
public partial class Teamstundenkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
{
public Teamstundenkonto()
{
InitializeComponent();
}
public void SetReportDataSource(MitarbeiterstundenkontoRO pRO)
{
var msb = PluginLoader.FindClass<MitarbeiterstundenkontoBerechnung>();
msb.CreateReport(pRO);
// Für den Ausfallfaktor brauche ich die um die Feiertage korrigierten Summen der Sollzeiten
decimal sollOhneGes = 0;
decimal sollMaxGes = 0;
foreach (var td in pRO.TeamDetailList)
{
decimal sollOhne = 0;
decimal sollMax = 0;
foreach (var ed in td.EmployeeDetailList)
{
sollOhne += ed.Custom3;
sollMax += ed.Custom4;
}
td.MittelbarIst = (1 - (sollOhne) / sollMax) * 100;
sollMaxGes += sollMax;
sollOhneGes += sollOhne;
}
pRO.MittelbarIst = (1 - (sollOhneGes) / sollMaxGes) * 100;
this.bindingSource1.DataSource = pRO;
}
}
}