DiakonieKKKleve: Soziotherapie-Rechnungserstellung auf zentrale Einzelstundenpreise umgestellt + halbstündige Einheiten anders abrechnen
This commit is contained in:
@@ -7,8 +7,6 @@ using BS.Shared.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DiakonieKKKleve.Invoicing
|
||||
{
|
||||
@@ -36,16 +34,9 @@ namespace DiakonieKKKleve.Invoicing
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
}
|
||||
|
||||
if (ii.ItemDescription.ToLower().Contains("probe"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001607";
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("gruppentherapie") || (iServiceRecord != null && iServiceRecord.GroupPersonCount.HasValue && iServiceRecord.GroupPersonCount.Value > 1))
|
||||
{
|
||||
//Setze Pauschale für Gruppentherapie
|
||||
var preisGruppe = GetGruppenPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value);
|
||||
ii.AmountPerUnit = preisGruppe;
|
||||
ii.AmountTotal = preisGruppe;
|
||||
if (ii.ItemDescription.ToLower().Contains("gruppentherapie") || (iServiceRecord != null && iServiceRecord.GroupPersonCount.HasValue && iServiceRecord.GroupPersonCount.Value > 1))
|
||||
{
|
||||
AktualisierePreis(ii, GetGruppenPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value));
|
||||
ii.UnitCount = 1;
|
||||
if (iServiceRecord.RoundedDuration <= 45)
|
||||
ii.UnitDescription = "GPos: 2002678";
|
||||
@@ -54,38 +45,50 @@ namespace DiakonieKKKleve.Invoicing
|
||||
else
|
||||
ii.UnitDescription = "GPos: 2002672";
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("video"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30 || ii.ItemDescription.ToLower().Contains("30"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001616";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30 || ii.ItemDescription.ToLower().Contains("60"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001615";
|
||||
}
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("telefon"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001618";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001617";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001612";
|
||||
{
|
||||
AktualisierePreis(ii, GetEinzelPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value));
|
||||
|
||||
if (ii.ItemDescription.ToLower().Contains("probe"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001607";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
else if (ii.ItemDescription.ToLower().Contains("video"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001610";
|
||||
if (iServiceRecord.RoundedDuration <= 30 || ii.ItemDescription.ToLower().Contains("30"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001616";
|
||||
WandleInHalbstundenEinheit(ii);
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30 || ii.ItemDescription.ToLower().Contains("60"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001615";
|
||||
}
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("telefon"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001618";
|
||||
WandleInHalbstundenEinheit(ii);
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001617";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001612";
|
||||
WandleInHalbstundenEinheit(ii);
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001610";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ii;
|
||||
@@ -145,6 +148,21 @@ namespace DiakonieKKKleve.Invoicing
|
||||
return items;
|
||||
}
|
||||
|
||||
protected new decimal GetEinzelPreis(CostBearer2SupportConcept c2s, DateTime dt)
|
||||
{
|
||||
String preisName = "Einzelstunde Primärkassen";
|
||||
|
||||
if (c2s.CostBearer.Organisation.Function != null)
|
||||
{
|
||||
if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse"))
|
||||
{
|
||||
preisName = "Einzelstunde Ersatzkassen";
|
||||
}
|
||||
}
|
||||
|
||||
return base.GetPreis(preisName, dt);
|
||||
}
|
||||
|
||||
protected new decimal GetGruppenPreis(CostBearer2SupportConcept c2s, DateTime dt)
|
||||
{
|
||||
String preisName = "Gruppentherapie Primärkassen";
|
||||
|
||||
1324
ReportImp/DiakonieKKKleve/RechnungSoziotherapie.Designer.cs
generated
1324
ReportImp/DiakonieKKKleve/RechnungSoziotherapie.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user