PerspektivenEV/Invoicing/CollectiveInvoiceCreationBthg BugFix

This commit is contained in:
2024-04-02 17:40:15 +02:00
parent 088b07fd62
commit 294aab0bbb

View File

@@ -238,7 +238,16 @@ namespace PerspektivenEV.Invoicing
//}
//else
//{
if (data.Count > 0 && data[0].AmountTotal != null)
{
ii.AmountPerUnit = (decimal)Math.Round((double)data[0].AmountTotal * Math.Round((double)LG / 60, 2, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero);
}
else
{
ii.AmountPerUnit = 999;
ii.ItemDescription = "FEHLER Leistungskategorie";
}
//}
}
// Leistung
@@ -368,7 +377,7 @@ namespace PerspektivenEV.Invoicing
else
{
minGes = ap.ApprovedBEPerInterval + scapTS.ApprovedBEPerInterval;
var lgGes = (decimal)GetLeistungsgruppe(minGes, cat);
var lgGes = (decimal)GetLeistungsgruppe(minGes, catQA);
preisGes = (decimal)Math.Round((double)stdPreis * (double)lgGes / 60, 2, MidpointRounding.AwayFromZero);
// der LWV hat sich nach 6 Monaten von der Idee des Minutenpreises verabschiedet, er geht auf ein Vielfaches des Stundenpreises
@@ -469,7 +478,7 @@ namespace PerspektivenEV.Invoicing
}
else if (approvedBEPerInterval.Value < 391)
{
lg = 300;
lg = 330;
}
else if (approvedBEPerInterval.Value < 511)
{
@@ -541,6 +550,7 @@ namespace PerspektivenEV.Invoicing
}
else
{
// Die Schwellen passen nicht zur LWV-Tabelle -> da geht es um interne Minuten (TS = offizielle LWV-Werte)
if (approvedBEPerInterval == null || approvedBEPerInterval.Value < 84) // 8 - 83 min entspricht 60 bzw. LG 1
{
lg = 60;
@@ -557,9 +567,9 @@ namespace PerspektivenEV.Invoicing
{
lg = 240;
}
else if (approvedBEPerInterval.Value < 325) // 271 - 324 min entspricht 300 bzw. LG 5
else if (approvedBEPerInterval.Value < 325) // 271 - 324 min entspricht 330 bzw. LG 5
{
lg = 300;
lg = 330;
}
else if (approvedBEPerInterval.Value < 511) // 325 - 510 min entspricht 450 bzw. LG 6 mit Faktor 7.5
{
@@ -584,7 +594,6 @@ namespace PerspektivenEV.Invoicing
if (pausch != null)
{
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(pausch.CostRatePeriods);
var cr = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, datum);
if (cr != null && cr.CostRateValue.HasValue)
{
@@ -607,13 +616,8 @@ namespace PerspektivenEV.Invoicing
iPeriod.Claim = 0;
decimal test = 0;
//if (iPeriod.ApprovedFixedAmount.HasValue && iPeriod.ApprovedFixedAmount.Value != 0)
// iPeriod.Claim = iPeriod.ApprovedFixedAmount;
//else
//{
foreach (InvoiceItem item in iPeriod.InvoiceItemList)
{
if (item.GrossAmountTotal.HasValue)
{
iPeriod.Claim += item.GrossAmountTotal;
@@ -622,10 +626,7 @@ namespace PerspektivenEV.Invoicing
{
int test2 = 1;
}
}
//else
//test += 1;
}
iPeriod.Claim = Math.Round(iPeriod.Claim.Value, 2, MidpointRounding.AwayFromZero);
}