- Projekt Kopie LH Remscheid -> LH Remscheid Frühförderung nach DB Spiegelung - Bugfixing Pool Abrechnung Christopherus Haus - Änderung Ansprechpartner LH Frankfurt Oder - Leistungsnachweis für KK Praxis Pusteblume - Bugfixing Kloss Vertretungssuche und Frau Hildmann diverse Stundenkonten
107 lines
3.4 KiB
C#
107 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using BeWo.Report.ReportObjects;
|
|
using BeWo.Report;
|
|
using DevExpress.XtraReports.UI;
|
|
using System.Data;
|
|
using BS.Shared.Core;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using System.Linq;
|
|
using ChristopherusHausMID.Invoicing;
|
|
|
|
namespace ChristopherusHausMID
|
|
{
|
|
public partial class Leistungsnachweis : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SbdStundenaufstellungRO>
|
|
{
|
|
public Leistungsnachweis()
|
|
{
|
|
InitializeComponent();
|
|
|
|
}
|
|
|
|
public void SetReportDataSource(SbdStundenaufstellungRO pRO)
|
|
{
|
|
cellDatum.Text = String.Format("{0:dd.MM.yyyy}", DateTime.Now);
|
|
|
|
String klienten = "";
|
|
String klassen = "";
|
|
String bewilligungen = "";
|
|
|
|
Customer mainCustomer = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
|
|
var weiterePoolKinder = new List<Customer>();
|
|
|
|
var hauptbetreuung = PoolHelper.GetHauptbetreuung(mainCustomer, pRO.StartDate);
|
|
|
|
if (hauptbetreuung != null)
|
|
{
|
|
pRO.EmployeeName = hauptbetreuung.Person.FirstNameLastName;
|
|
}
|
|
klienten = mainCustomer.Person.FirstNameLastName;
|
|
klassen = mainCustomer.Childs; //CB: Ich habe das Feld "Kinder" bei denen in "Klasse" umbenannt
|
|
if (pRO.ApprovedPerWeek == 0)
|
|
{
|
|
pRO.ApprovedPerWeek = GetAktuelleBewilligung(mainCustomer, pRO.StartDate);
|
|
}
|
|
bewilligungen = String.Format("{0:0.00}", pRO.ApprovedPerWeek);
|
|
|
|
var allCustomer = PoolHelper.GetWeiterePoolKinder(mainCustomer, pRO.StartDate, pRO.EndDate);
|
|
if (allCustomer.Count > 0)
|
|
{
|
|
foreach (var c in allCustomer)
|
|
{
|
|
//Alle betreuten Kinder, für den der Beleg nicht gedruckt wurde, müssen mit Namen aufgeführt werden.
|
|
if (c.Oid != pRO.CustomerOid)
|
|
{
|
|
weiterePoolKinder.Add(c);
|
|
|
|
klienten += "\n";
|
|
klienten += c.Person.FirstNameLastName;
|
|
|
|
klassen += "\n";
|
|
klassen += c.Childs;
|
|
|
|
decimal bewilligt = GetAktuelleBewilligung(c, pRO.StartDate);
|
|
bewilligungen += "\n";
|
|
bewilligungen += String.Format("{0:0.00}", bewilligt);
|
|
}
|
|
}
|
|
}
|
|
|
|
cellKinder.Text = klienten;
|
|
cellKlasse.Text = klassen;
|
|
cellBewilligung.Text = bewilligungen;
|
|
|
|
|
|
|
|
PoolHelper.BerechnePoolFaktorenFuerQuittierungsbeleg(pRO);
|
|
|
|
|
|
this.bindingSource1.DataSource = pRO;
|
|
}
|
|
|
|
|
|
private decimal GetAktuelleBewilligung(Customer c, DateTime datum)
|
|
{
|
|
var scList = c.SupportConcepts;
|
|
|
|
foreach (var sc in scList)
|
|
{
|
|
foreach (var c2s in sc.CostBearer2SupportConceptList)
|
|
{
|
|
foreach (var scap in c2s.ApprovalPeriodList)
|
|
{
|
|
if (scap.StartDate <= datum && datum <= scap.EndDate && scap.ApprovedBEPerInterval.HasValue)
|
|
{
|
|
return scap.ApprovedBEPerInterval.Value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
}
|