MH: MalteserJohanniterJohanneshaus Belegungsquoten
This commit is contained in:
@@ -65,24 +65,33 @@ namespace MalteserJohanniterJohanneshaus.Reporting
|
||||
// Start und Ende der Zeit festlegen, die die Person ein Bett belegt. Geht der Hilfeplan über den Berichtszeitraum hinaus,
|
||||
// wird Start und/oder Ende auf den Berichtszeitraum gesetzt
|
||||
var cbrel = sc.CostBearerRelations.FirstOrDefault(c => c.Notice != null && c.Notice.Trim().Contains(wb.Name.Trim()));
|
||||
var start = cbrel.StartDate.HasValue && cbrel.StartDate.Value > berichtStart ? cbrel.StartDate.Value : berichtStart;
|
||||
var ende = cbrel.EndDate.HasValue && cbrel.EndDate.Value < berichtEnde? cbrel.EndDate.Value : berichtEnde;
|
||||
|
||||
// Geht der Hilfeplan bzw die Bewilligung über die gesamte Zeit des Berichts, muss gar nicht jeder Tag geprüft werden, sondern
|
||||
// die Belegung kann einfach für die gesamte Zeit berechnet werden und es kann zum nächsten Hilfeplan gesprungen werden
|
||||
if (start == berichtStart && ende == berichtEnde)
|
||||
DateTime start = berichtStart;
|
||||
if (cbrel.StartDate.HasValue)
|
||||
{
|
||||
wb.Belegung += (ende - start).Days;
|
||||
continue;
|
||||
// Wenn der Hilfeplan erst nach Berichtsende beginnt, überspringen
|
||||
if (cbrel.StartDate.Value > berichtEnde)
|
||||
continue;
|
||||
else if (cbrel.StartDate.Value > berichtStart)
|
||||
start = cbrel.StartDate.Value;
|
||||
|
||||
}
|
||||
DateTime ende = berichtEnde;
|
||||
if (cbrel.EndDate.HasValue)
|
||||
{
|
||||
// Wenn der Hilfeplan endet, bevor der Bericht überhaupt anfängt, überspringen
|
||||
if (cbrel.EndDate.Value < berichtStart)
|
||||
continue;
|
||||
else if (cbrel.EndDate.Value < berichtEnde)
|
||||
ende = cbrel.EndDate.Value;
|
||||
|
||||
}
|
||||
|
||||
wb.Belegung += (ende - start).Days + 1;
|
||||
}
|
||||
|
||||
|
||||
wb.Quote = wb.Belegung / wb.MaximaleKapazitaet * 100;
|
||||
wb.Quote = Convert.ToDecimal(wb.Belegung) / Convert.ToDecimal(wb.MaximaleKapazitaet);
|
||||
|
||||
ro.Wohnheimbelegungen.Add(wb);
|
||||
|
||||
|
||||
}
|
||||
|
||||
return ro;
|
||||
|
||||
Reference in New Issue
Block a user