MH: Suchtkrankenhilfe Ostfriesland Calculations
This commit is contained in:
@@ -26,18 +26,25 @@ namespace SuchtkrankenhilfeOstfriesland.Calculation
|
||||
// Jetzt müssen die Zeiterfassungseinträge für den abgerechneten Zeitraum geholt werden. Die dienen denen als Anwesenheitsliste.
|
||||
// Ist die Person weniger als die Hälfte der abgerechneten Tage anwesend gewesen, wird der Betrag halbiert.
|
||||
var serviceRecords = DAOFactory.SearchDAO.FindServiceRecordsDetailsForLastDaysWithStartEndDate(CustomTagesstrukturInvoiceCreation.CostBearer2SupportConcept.Oid.Value, start.Value, end.Value);
|
||||
List<DateTime> anwesenheitstage = new List<DateTime>();
|
||||
foreach (var sr in serviceRecords)
|
||||
if (serviceRecords != null && serviceRecords.Count > 0)
|
||||
{
|
||||
if (!anwesenheitstage.Contains(sr.Start.Value.Date))
|
||||
anwesenheitstage.Add(sr.Start.Value.Date);
|
||||
}
|
||||
var anwesenheiten = serviceRecords.Where(s => s.ServiceDescription.Name.Trim().ToLower().Contains("anwesend ts")).OrderBy(s => s.Start).ToList();
|
||||
|
||||
if ((end.Value - start.Value).TotalDays / 2 > anwesenheitstage.Count)
|
||||
{
|
||||
data.AmountTotal /= 2;
|
||||
data.GrossAmountTotal /= 2;
|
||||
List<DateTime> anwesenheitstage = new List<DateTime>();
|
||||
foreach (var sr in anwesenheiten)
|
||||
{
|
||||
if (!anwesenheitstage.Contains(sr.Start.Value.Date))
|
||||
anwesenheitstage.Add(sr.Start.Value.Date);
|
||||
}
|
||||
|
||||
// Wenn die erste Anwesenheit erst ab dem 15. ist, wird die Pauschale für den Monat halbiert
|
||||
if (anwesenheitstage[0].Day <= 15)
|
||||
{
|
||||
data.AmountTotal /= 2;
|
||||
data.GrossAmountTotal /= 2;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return billingData;
|
||||
|
||||
Reference in New Issue
Block a user