MH: Münchner Aidshilfe Bericht angepasst
This commit is contained in:
@@ -39,35 +39,88 @@ namespace MuenchenerAidsHilfeEV
|
||||
summeMitarbeitende += Convert.ToDecimal(contract.EmploymentType.Name.Split('%')[0]);
|
||||
}
|
||||
|
||||
// Gesamtsumme der einzelnen Klientenbetreuungsumfänge zusammenzählen
|
||||
// Die einzelnen Umfänge stehen in der Betreuungsart im Klienten (CustomerCareTypes)
|
||||
decimal betreuungsumfangInProzentGesamt = 0;
|
||||
foreach (var e2c in empDetail.Employee.Employee2CustomerList)
|
||||
// Gesamtsumme der einzelnen Klientenbetreuungsumfänge zusammenzählen
|
||||
// Die einzelnen Umfänge stehen in der Leistungskategorie in den Bewilligungen
|
||||
decimal betreuungsumfangInProzentGesamt = 0;
|
||||
foreach (var scDetail in empDetail.SupportConceptDetailList)
|
||||
{
|
||||
var customerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(e2c.Customer);
|
||||
var schluessel = customerDC.CustomerCareTypes;
|
||||
// Benötigten Umfang pro Klient berechnen, also 100 / Nenner im Schlüssel (also bei 1:6 Schlüssel 100 / 6 = 16,67%)
|
||||
foreach (var s in schluessel)
|
||||
foreach (var ap in scDetail.CostBearer2SupportConcept.ApprovalPeriodList)
|
||||
{
|
||||
// Wenn es einen korrekt angelegten Betreuungsschlüssel gibt, gibt es einen :, welcher nicht das letzte Zeichen ist
|
||||
if (s.DisplayName.Contains(":") && s.DisplayName[s.DisplayName.Length - 1] != ':')
|
||||
if (ap.StartDate.HasValue && ap.EndDate.HasValue)
|
||||
{
|
||||
var nenner = Convert.ToDecimal(s.DisplayName.Split(':')[1]);
|
||||
betreuungsumfangInProzentGesamt += 100m / nenner;
|
||||
summeKlientInnen += 100m / nenner;
|
||||
if (pRO.ReportEndDate >= ap.StartDate && pRO.ReportStartDate <= ap.EndDate)
|
||||
{
|
||||
// Benötigten Umfang pro Klient berechnen, also 100 / Nenner im Schlüssel (also bei 1:6 Schlüssel 100 / 6 = 16,67%)
|
||||
// Wenn es einen korrekt angelegten Betreuungsschlüssel gibt, gibt es einen :, welcher nicht das letzte Zeichen ist
|
||||
if (ap.ServiceCategory != null && ap.ServiceCategory.Name.Contains(":") && ap.ServiceCategory.Name[ap.ServiceCategory.Name.Length - 1] != ':')
|
||||
{
|
||||
var schluessel = ap.ServiceCategory.Name;
|
||||
// Nenner des Schlüssels raussuchen, da der mit 100/Nenner den Betreuungsumfang ergibt
|
||||
var nenner = Convert.ToDecimal(ap.ServiceCategory.Name.Split(':')[1]);
|
||||
|
||||
// für zweite Tabelle, die zeigt, welche Schlüssel es gibt und wie viele Klient*innen die jeweils haben, in Dict speichern
|
||||
if (!betreuungsschluesselZuAnzahl.ContainsKey(nenner))
|
||||
betreuungsschluesselZuAnzahl.Add(nenner, 0);
|
||||
betreuungsschluesselZuAnzahl[nenner]++;
|
||||
}
|
||||
}
|
||||
// Wenn es eine anteilige Betreuung in der Bewilligung gibt muss sich diese auch auf den Betreuungsumfang auswirken
|
||||
decimal betreuungsanteil = 1.0m;
|
||||
if (ap.SupportConceptApprovalPeriod2Employee != null && ap.SupportConceptApprovalPeriod2Employee.Count > 0)
|
||||
{
|
||||
foreach (var item in ap.SupportConceptApprovalPeriod2Employee)
|
||||
{
|
||||
if (item.Employee.Oid == empDetail.Employee.Oid)
|
||||
{
|
||||
// Betreuungsanteil setzen, wenn er nicht absolut, also in Minuten, ist
|
||||
if (item.IsAbsolut == false && item.Betreuungsschluessel != 0)
|
||||
betreuungsanteil = item.Betreuungsschluessel / 100;
|
||||
nenner /= betreuungsanteil;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Letztendlichen Umfang mit dem Nenner und dem eventuellen Anteil an der Betreuung
|
||||
betreuungsumfangInProzentGesamt += 100m / nenner;
|
||||
summeKlientInnen += 100m / nenner;
|
||||
|
||||
// für zweite Tabelle, die zeigt, welche Schlüssel es gibt und wie viele Klient*innen die jeweils haben, in Dict speichern
|
||||
if (!betreuungsschluesselZuAnzahl.ContainsKey(nenner))
|
||||
betreuungsschluesselZuAnzahl.Add(nenner, 0);
|
||||
betreuungsschluesselZuAnzahl[nenner]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// Gesamtbetreuungsumfang in % setzen, um ihn in der Tabelle neben dem Mitarbeitendenbudget anzuzeigen
|
||||
empDetail.Employee.Text2 = string.Format("{0:0.00}", betreuungsumfangInProzentGesamt);
|
||||
}
|
||||
empDetail.Employee.Text2 = string.Format("{0:0.00}", betreuungsumfangInProzentGesamt);
|
||||
|
||||
tcSummeMitarbeitende.Text = string.Format("{0:0.00}", summeMitarbeitende / 100);
|
||||
|
||||
|
||||
// ALT Die einzelnen Umfänge stehen in der Betreuungsart im Klienten (CustomerCareTypes)
|
||||
//foreach (var e2c in empDetail.Employee.Employee2CustomerList)
|
||||
//{
|
||||
// var customerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(e2c.Customer);
|
||||
// var schluessel = customerDC.CustomerCareTypes;
|
||||
// // Benötigten Umfang pro Klient berechnen, also 100 / Nenner im Schlüssel (also bei 1:6 Schlüssel 100 / 6 = 16,67%)
|
||||
// foreach (var s in schluessel)
|
||||
// {
|
||||
// // Wenn es einen korrekt angelegten Betreuungsschlüssel gibt, gibt es einen :, welcher nicht das letzte Zeichen ist
|
||||
// if (s.DisplayName.Contains(":") && s.DisplayName[s.DisplayName.Length - 1] != ':')
|
||||
// {
|
||||
// var nenner = Convert.ToDecimal(s.DisplayName.Split(':')[1]);
|
||||
// betreuungsumfangInProzentGesamt += 100m / nenner;
|
||||
// summeKlientInnen += 100m / nenner;
|
||||
|
||||
// // für zweite Tabelle, die zeigt, welche Schlüssel es gibt und wie viele Klient*innen die jeweils haben, in Dict speichern
|
||||
// if (!betreuungsschluesselZuAnzahl.ContainsKey(nenner))
|
||||
// betreuungsschluesselZuAnzahl.Add(nenner, 0);
|
||||
// betreuungsschluesselZuAnzahl[nenner]++;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//// Gesamtbetreuungsumfang in % setzen, um ihn in der Tabelle neben dem Mitarbeitendenbudget anzuzeigen
|
||||
//empDetail.Employee.Text2 = string.Format("{0:0.00}", betreuungsumfangInProzentGesamt);
|
||||
|
||||
}
|
||||
|
||||
tcSummeMitarbeitende.Text = string.Format("{0:0.00}", summeMitarbeitende / 100);
|
||||
tcSummeKlientInnen.Text = string.Format("{0:0.00}", summeKlientInnen / 100);
|
||||
|
||||
// Tabelle 2
|
||||
|
||||
Reference in New Issue
Block a user