diff --git a/Report/ReportObjects/AuslastungBerechnung.cs b/Report/ReportObjects/AuslastungBerechnung.cs index 655a0ef82..2c9127c92 100644 --- a/Report/ReportObjects/AuslastungBerechnung.cs +++ b/Report/ReportObjects/AuslastungBerechnung.cs @@ -123,8 +123,6 @@ namespace BeWo.Report.ReportObjects b.Customer.Person.LastName + ", " + b.Customer.Person.FirstName); }); } - - } public virtual void CreateEmployeeDetails(MitarbeiterauslastungRO ro) @@ -386,7 +384,7 @@ namespace BeWo.Report.ReportObjects } var scDC = new MitarbeiterauslastungRO.SupportConceptDetail(); scDC.Customer = customer; - if (customer.Person.FirstName == "Ilona ") + if (customer.Person.FirstName == "Leo") { int test = 0; } @@ -403,8 +401,8 @@ namespace BeWo.Report.ReportObjects if (stats.PeriodStatistics != null && stats.PeriodStatistics.Any(s => s.SupportConceptApprovalPeriod.SupportConceptApprovalPeriodOid == scap.Oid)) { var stat = stats.PeriodStatistics.First(s => s.SupportConceptApprovalPeriod.SupportConceptApprovalPeriodOid == scap.Oid); - scDC.FreiProWoche = Math.Round(stat.MinutesFreePerWeek / 60, 2, MidpointRounding.AwayFromZero); - scDC.FreiProMonat = Math.Round(stat.MinutesFreePerMonth / 60, 2, MidpointRounding.AwayFromZero); + scDC.FreiProWoche = Math.Round(stat.MinutesFreePerWeekStatisticDate / 60, 2, MidpointRounding.AwayFromZero); + scDC.FreiProMonat = Math.Round(stat.MinutesFreePerMonthStatisticDate / 60, 2, MidpointRounding.AwayFromZero); } // Prozentwert aus der Bewilligung einbeziehen if (anteil != null) @@ -707,10 +705,8 @@ namespace BeWo.Report.ReportObjects { scapOhneCat = scap; } - } } - } return scapOhneCat; } @@ -831,11 +827,10 @@ namespace BeWo.Report.ReportObjects if (scDC.CostBearer2SupportConcept != null && scDC.SupportConceptApprovalPeriod != null) { var calc = PluginLoader.FindClass(scDC.CostBearer2SupportConcept.CostBearer.ID) ?? Calculations.GetInstance(scDC.CostBearer2SupportConcept.CostBearer.ID); - var cb2scDc = - MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(scDC.CostBearer2SupportConcept); + var cb2scDc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(scDC.CostBearer2SupportConcept); var scapDc = MapperFactory.SupportConceptApprovalPeriodDC_SupportConceptApprovalPeriod.MapToNewDC(scDC.SupportConceptApprovalPeriod); - var bewilligt = calc.GetApprovedHoursPerWeek(scapDc, cb2scDc.CostBearer.CostRatePeriods) ?? 0m; + scDC.ApprovedHoursPerWeek = calc.ApplyIsCalculationWithFactor(cb2scDc, bewilligt) ?? 0m; scDC.ApprovedHoursPerWeekTotal = scDC.ApprovedHoursPerWeek; scDC.ApprovedHoursPerWeekWithRateFactor = bewilligt; @@ -845,32 +840,26 @@ namespace BeWo.Report.ReportObjects if (scapDc.ApprovedBEInterval.HasValue && scapDc.ApprovedBEPerInterval.HasValue && scapDc.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Monthly) { bewilligtMonth = scapDc.ApprovedBEPerInterval.Value; + scDC.ApprovedHoursPerMonth = calc.ApplyIsCalculationWithFactor(cb2scDc, bewilligtMonth) ?? 0m; + scDC.ApprovedHoursPerMonthTotal = scDC.ApprovedHoursPerMonth; + scDC.ApprovedHoursPerMonthWithRateFactor = bewilligtMonth; + scDC.ApprovedHoursPerMonthWithRateFactorTotal = scDC.ApprovedHoursPerMonthWithRateFactor; } else { - var periodInDays = 0; - if (scapDc.EndDate.HasValue && scapDc.StartDate.HasValue) - { - periodInDays = (scapDc.EndDate.Value - scapDc.StartDate.Value).Days + 1; - } - var bewTag = calc.GetApprovedHoursPerDay(scapDc, cb2scDc.CostBearer.CostRatePeriods); - bewilligtMonth = periodInDays* bewTag ?? 0; + scDC.ApprovedHoursPerMonth = scDC.ApprovedHoursPerWeek * 4.33m; + scDC.ApprovedHoursPerMonthTotal = scDC.ApprovedHoursPerWeekTotal * 4.33m; + scDC.ApprovedHoursPerMonthWithRateFactor = scDC.ApprovedHoursPerWeekWithRateFactor * 4.33m; + scDC.ApprovedHoursPerMonthWithRateFactorTotal = scDC.ApprovedHoursPerWeekWithRateFactorTotal * 4.33m; } - scDC.ApprovedHoursPerMonth = calc.ApplyIsCalculationWithFactor(cb2scDc, bewilligtMonth) ?? 0m; - scDC.ApprovedHoursPerMonthTotal = scDC.ApprovedHoursPerMonth; - scDC.ApprovedHoursPerMonthWithRateFactor = bewilligtMonth; - scDC.ApprovedHoursPerMonthWithRateFactorTotal = scDC.ApprovedHoursPerMonthWithRateFactor; - scDC.StartDate = scDC.SupportConceptApprovalPeriod.StartDate; scDC.EndDate = scDC.SupportConceptApprovalPeriod.EndDate; scDC.WeekCountUntilNow = calc.GetDurationInWeeksTillNow(cb2scDc, date) ?? 0; - } else if (scDC.CostBearer2SupportConcept != null && scDC.SupportConceptApprovalPeriod == null) { var calc = PluginLoader.FindClass(scDC.CostBearer2SupportConcept.CostBearer.ID) ?? Calculations.GetInstance(scDC.CostBearer2SupportConcept.CostBearer.ID); - var cb2scDc = - MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(scDC.CostBearer2SupportConcept); + var cb2scDc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(scDC.CostBearer2SupportConcept); scDC.ApprovedHoursPerWeek = calc.GetApprovedHoursPerWeek(cb2scDc, date) ?? 0m; scDC.ApprovedHoursPerWeekTotal = scDC.ApprovedHoursPerWeek; diff --git a/Shared/DataContracts/SupportConceptPeriodStatisticsDC.cs b/Shared/DataContracts/SupportConceptPeriodStatisticsDC.cs index 90a39a4ee..58dce3ca2 100644 --- a/Shared/DataContracts/SupportConceptPeriodStatisticsDC.cs +++ b/Shared/DataContracts/SupportConceptPeriodStatisticsDC.cs @@ -38,6 +38,10 @@ namespace BS.Shared.DataContracts public decimal MinutesFreePerMonth { get; set; } + public decimal MinutesFreePerWeekStatisticDate { get; set; } + + public decimal MinutesFreePerMonthStatisticDate { get; set; } + [DataMember] public decimal MinutesOutOfApprovedPeriod { get; set; }