56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using System;
|
|
using System.Linq;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Report;
|
|
using BeWo.Report.ReportObjects;
|
|
using BS.Shared.Core;
|
|
|
|
|
|
namespace BeWoAuxilioRitter
|
|
{
|
|
[IDSpecificClass(Identifier = "Mitarbeiterauslastung")]
|
|
public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterauslastungRO>
|
|
{
|
|
public Mitarbeiterauslastung()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void SetReportDataSource(MitarbeiterauslastungRO pRO)
|
|
{
|
|
AuslastungBerechnung b = new CustomAuslastungBerechnung();
|
|
b.CreateReport(pRO);
|
|
|
|
// ApprovedHoursPerMonth muss sich aus FreiProWoche ergeben, also FreiProWoche / 7 * DaysInMonth
|
|
foreach (var empDetail in pRO.EmployeeDetailList)
|
|
{
|
|
foreach (var scd in empDetail.SupportConceptDetailList)
|
|
{
|
|
if (scd.FreiProWoche > 0)
|
|
{
|
|
scd.ApprovedHoursPerMonth = scd.FreiProWoche / 7 * DateTime.DaysInMonth(pRO.ReportStartDate.Year, pRO.ReportStartDate.Month);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//foreach (var empDetail in pRO.EmployeeDetailList)
|
|
//{
|
|
// var serviceRecords = DAOFactory.SearchDAO.FindEmployeeServiceRecords(empDetail.Employee.Oid.Value, new BS.Shared.Core.DateTimeSpan(pRO.ReportStartDate, pRO.ReportEndDate), null, null).Where(s => s.CustomerOid != null).ToList();
|
|
// foreach (var sr in serviceRecords)
|
|
// {
|
|
// if (!empDetail.SupportConceptDetailList.Any(sc => sc.CostBearer2SupportConcept?.Oid == sr.CostBearer2SupportConceptOid))
|
|
// {
|
|
// var scd = b.GetSupportConceptDetailForServiceRecord(empDetail, sr);
|
|
// if (scd != null)
|
|
// {
|
|
// empDetail.SupportConceptDetailList.Add(scd);
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
this.bindingSource1.DataSource = pRO;
|
|
}
|
|
}
|
|
}
|