Perseh Hilfeplan Import + KI Prototyp,

This commit is contained in:
Christian
2024-06-19 16:13:56 +02:00
parent fae18138a7
commit 12faccb71b
61 changed files with 4831 additions and 2588 deletions

View File

@@ -1,7 +1,9 @@
using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using BS.Shared.Extensions;
namespace SHKService
@@ -25,40 +27,48 @@ namespace SHKService
// Im Programm ist es für die damit dann einfacher. Nur in der Hilfeplanübersicht und in der Mitarbeiterauslastung wollen sie nach wie vor allen in Stunden haben.
// Daher werden die Werte hier, sollte das ein solcher Kostenträger sein, wieder auf den Stundenwert gesetzt.
foreach (var emp in pRO.EmployeeDetailList)
{
foreach (var supp in emp.SupportConceptDetailList)
{
if (supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods != null)
{
foreach (var crp in supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods)
{
if (crp.CostRateType == BS.Shared.CostRatePeriodType.MinutesPerServiceUnit && crp.CostRateValue == 1)
{
crp.CostRateValue = 60;
foreach (var emp in pRO.EmployeeDetailList)
{
emp.FLSTotalHoursByContract *= 60;
// Erst Ursprungswerte vom Gesamten des Mitarbeiters abziehen
emp.ApprovedHoursPerWeek -= supp.ApprovedHoursPerWeek;
emp.ApprovedHoursPerWeekTotal -= supp.ApprovedHoursPerWeekTotal;
emp.ApprovedHoursPerWeekWithRateFactor -= supp.ApprovedHoursPerWeekWithRateFactor;
emp.ApprovedHoursPerWeekWithRateFactorTotal -= supp.ApprovedHoursPerWeekWithRateFactorTotal;
// Stundenwert draus machen
supp.ApprovedHoursPerWeek *= 60;
supp.ApprovedHoursPerWeekTotal *= 60;
supp.ApprovedHoursPerWeekWithRateFactor *= 60;
supp.ApprovedHoursPerWeekWithRateFactorTotal *= 60;
// Stundenwert wieder aufs Gesamt addieren
emp.ApprovedHoursPerWeek += supp.ApprovedHoursPerWeek;
emp.ApprovedHoursPerWeekTotal += supp.ApprovedHoursPerWeekTotal;
emp.ApprovedHoursPerWeekWithRateFactor += supp.ApprovedHoursPerWeekWithRateFactor;
emp.ApprovedHoursPerWeekWithRateFactorTotal += supp.ApprovedHoursPerWeekWithRateFactorTotal;
}
foreach (var supp in emp.SupportConceptDetailList)
{
var tes2t = supp.ApprovedHoursPerWeek;
foreach (var test in supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods)
{
if (test.CostRateType == BS.Shared.CostRatePeriodType.MinutesPerServiceUnit && test.CostRateValue == 1)
{
//test.CostRateValue = 60;
}
}
}
}
}
var crDcs = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods);
var crp = crDcs.GetCostRatePeriodForDate(BS.Shared.CostRatePeriodType.MinutesPerServiceUnit, pRO.ReportStartDate);
if (crp != null && !String.IsNullOrEmpty(crp.UnitName) && crp.UnitName.ToLower().Contains("min") && crp.CostRateValue.HasValue && crp.CostRateValue.Value > 0)
{
decimal multi = 60 / crp.CostRateValue.Value;
// Erst Ursprungswerte vom Gesamten des Mitarbeiters abziehen
emp.ApprovedHoursPerWeek -= supp.ApprovedHoursPerWeek;
emp.ApprovedHoursPerWeekTotal -= supp.ApprovedHoursPerWeekTotal;
emp.ApprovedHoursPerWeekWithRateFactor -= supp.ApprovedHoursPerWeekWithRateFactor;
emp.ApprovedHoursPerWeekWithRateFactorTotal -= supp.ApprovedHoursPerWeekWithRateFactorTotal;
// Stundenwert draus machen
supp.ApprovedHoursPerWeek *= multi;
supp.ApprovedHoursPerWeekTotal *= multi;
supp.ApprovedHoursPerWeekWithRateFactor *= multi;
supp.ApprovedHoursPerWeekWithRateFactorTotal *= multi;
// Stundenwert wieder aufs Gesamt addieren
emp.ApprovedHoursPerWeek += supp.ApprovedHoursPerWeek;
emp.ApprovedHoursPerWeekTotal += supp.ApprovedHoursPerWeekTotal;
emp.ApprovedHoursPerWeekWithRateFactor += supp.ApprovedHoursPerWeekWithRateFactor;
emp.ApprovedHoursPerWeekWithRateFactorTotal += supp.ApprovedHoursPerWeekWithRateFactorTotal;
}
}
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a