LwvKASpitzabrechnungRO - Anpassung Zeitraum für Zwischenabrechnung nach einem Jahr

This commit is contained in:
2024-07-29 09:11:06 +02:00
parent 1aa1be8c05
commit fd34ccd7f0
3 changed files with 19 additions and 11 deletions

View File

@@ -29,7 +29,7 @@ namespace BeWo.Report.ReportObjects
public decimal SummeBetragErbracht { get; set; }
public static LwvKASpitzabrechnungRO Create(long c2sOid, long? scapOid, long? catOid)
public static LwvKASpitzabrechnungRO Create(long c2sOid, DateTime end, long? scapOid, long? catOid)
{
var ro = new LwvKASpitzabrechnungRO();
var c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(c2sOid);
@@ -37,6 +37,10 @@ namespace BeWo.Report.ReportObjects
ro.CustomerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(c2s.SupportConcept.Customer);
ro.BewilligtStart = c2s.StartDate.Value;
ro.BewilligtEnde = c2s.EndDate.Value;
if (end < ro.BewilligtEnde)
{
ro.BewilligtEnde = end;
}
SupportConceptApprovalPeriodDC scap;
var calc = PluginLoader.FindClass<Calculations>();
@@ -138,11 +142,14 @@ namespace BeWo.Report.ReportObjects
var srList = c2s.ServiceRecords;
foreach (var item in srList)
{
String kwKey = String.Format("{0}_{1}", item.Start.Value.Year, GetKW(item.Start.Value));
if (zeilenDict.ContainsKey(kwKey) && item.ServiceDescription.ServiceCategory.Oid == scap.ServiceCategory.ServiceCategoryOid)
if (item.Start <= end)
{
var wz = zeilenDict[kwKey];
wz.erbrachteStunden += item.RoundedDuration / 60;
String kwKey = String.Format("{0}_{1}", item.Start.Value.Year, GetKW(item.Start.Value));
if (zeilenDict.ContainsKey(kwKey) && item.ServiceDescription.ServiceCategory.Oid == scap.ServiceCategory.ServiceCategoryOid)
{
var wz = zeilenDict[kwKey];
wz.erbrachteStunden += item.RoundedDuration / 60;
}
}
}

View File

@@ -42,13 +42,14 @@ namespace PerspektivenEV
private XtraReport CreateLwvSpitzabrechnung(long queryOid, string queryReportId)
{
// Parameter ergänzen
var qro = base.CreateQueryRO(queryOid, queryReportId);
if (qro != null && qro.Rows.Count > 0)
{
long c2sOid = Int64.Parse(qro.Rows[0].Field1.ToString());
long? cat = Int64.Parse(qro.Rows[0].Field2.ToString());
var ro = LwvKASpitzabrechnungRO.Create(c2sOid, null, cat);
DateTime end = DateTime.Today;
var ro = LwvKASpitzabrechnungRO.Create(c2sOid, end, null, cat);
var report = new LwvKASpitzabrechnung();
report.SetReportDataSource(ro);
@@ -115,7 +116,7 @@ namespace PerspektivenEV
&& sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA")
{
var einzel = new LwvKASpitzabrechnung();
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null);
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null);
einzel.SetReportDataSource(kaRo);
einzel.CreateDocument();
anhang2.Pages.AddRange((einzel).Pages);
@@ -237,7 +238,7 @@ namespace PerspektivenEV
&& sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA")
{
var anhang2 = new LwvKASpitzabrechnung();
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null);
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null);
anhang2.SetReportDataSource(kaRo);
anhang2.CreateDocument();
((XtraReport)anhang).Pages.AddRange(((XtraReport)anhang2).Pages);
@@ -315,7 +316,7 @@ namespace PerspektivenEV
&& sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA")
{
var anhang2 = new LwvKASpitzabrechnung();
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null);
var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null);
anhang2.SetReportDataSource(kaRo);
anhang2.CreateDocument();
((XtraReport)singleReport).Pages.AddRange(((XtraReport)anhang2).Pages);

View File

@@ -339,7 +339,7 @@ namespace PerspektivenEV.Invoicing
&& supportConceptApprovalPeriod.EndDate.Value >= accountingPeriodStart.Value || supportConceptApprovalPeriod.StartDate.Value.AddMonths(11) <= accountingPeriodEnd.Value
&& supportConceptApprovalPeriod.StartDate.Value.AddMonths(11) >= accountingPeriodStart.Value))
{
var ro = LwvKASpitzabrechnungRO.Create(cb2sc.Oid.Value, supportConceptApprovalPeriod.SupportConceptApprovalPeriodOid, null);
var ro = LwvKASpitzabrechnungRO.Create(cb2sc.Oid.Value, end, supportConceptApprovalPeriod.SupportConceptApprovalPeriodOid, null);
foreach (var pz in ro.Preiszeitraeume)
{
var jahr = serviceInvoicePeriod.Start.Value.Year;