Files
BeWoPlaner/ReportImp/HphBersenbrueckAtz/ServicesOverviewReport.cs
Christian f4e8bd6a73 cb
2017-07-25 10:52:20 +02:00

221 lines
5.7 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
namespace BeWo.HphBersenbrueckAtz
{
public partial class NachweisTherapieeinheiten : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public NachweisTherapieeinheiten()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
//SetVarFieldValues(pRO);
double gesamt = 0;
bool isFls = false;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
{
if (s.IsBillable)
{
double minuten = s.Minutes;
double te = 0;
if (s.ServiceDescription.Contains("L8") || s.ServiceDescription.Contains("L6") || s.ServiceDescription.Contains("L1"))
{
isFls = true;
}
if (s.ServiceCategory.Contains("Intern") || s.ServiceDescription.Contains("L8"))
{
te = minuten / 45;
//var rest = minuten % 45;
//if (rest > 0)
//{
// var te2 = rest % 30 != 0 ? rest + (30 - (rest % 30)) : rest;
// te += te2 / 60;
//}
}
else
{
te = s.Minutes / 60;
}
if (s.ServiceDescription == "Mail" || s.ServiceDescription == "Telefonat")
{
s.ServiceDescription = "externe TE";
}
s.Minutes = te;
gesamt += s.Minutes;
servicesBillable.Add(s);
//}
}
}
pRO.Services = servicesBillable;
}
if (isFls)
{
lblTitel.Text = "Nachweis Fachleistungsstunden";
cellEinheit.Text = "FLS";
}
pRO.TotalFLS = gesamt;
DateTime dt2 = DateTime.Now.Date.AddMinutes(pRO.TotalFLMBillable);
TimeSpan tspan2 = dt2.Subtract(DateTime.Now.Date);
double d2 = tspan2.TotalHours;
d2 = Math.Floor(d2);
//lblMinutesTotal.Text = String.Format("{0}:{1:00}", d2, tspan2.Minutes);
if (pRO.RateFactor != 0)
{
}
//lblFLSGesamt.Text = String.Format("entspricht {0:0.##} FLS", pRO.TotalFLMBillable / 60);
this.bindingSource1.DataSource = pRO;
}
private void SetVarFieldValues(ServicesOverviewRO pRO)
{
String allLeben = ""; // Oid = 16
String indBasis = ""; // Oid = 17
String gestaltung = ""; // Oid = 18
String teilnahme = ""; // Oid = 19
String kommunikation = ""; // Oid = 20
String emotion = ""; // Oid = 21
String gesund = ""; // Oid = 22
String globalZiel = ""; // Oid = 23
String zieleDerHilfe = ""; // Oid = 24
if (pRO.CostBearer2SupportConceptList != null && pRO.CostBearer2SupportConceptList.Count > 0)
{
var c2s = pRO.CostBearer2SupportConceptList[0];
Customer c = c2s.SupportConcept.Customer;
foreach (var vv in c.VarFieldValueList)
{
var varFieldValue = Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
if (vv.VarFieldDefOid.Value == 16)
{
allLeben = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 17)
{
indBasis = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 18)
{
gestaltung = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 19)
{
teilnahme = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 20)
{
kommunikation = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 21)
{
emotion = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 22)
{
gesund = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 23)
{
globalZiel = varFieldValue.ToString();
}
else if (vv.VarFieldDefOid.Value == 24)
{
zieleDerHilfe = varFieldValue.ToString();
}
}
}
}
//lblAlltaeglicheLebensfuehrung.Text = allLeben;
//lblIndividuelleBasisversorgung.Text = indBasis;
//lblGestaltungSozialerBeziehungen.Text = gestaltung;
//lblTeilnahme.Text = teilnahme;
//lblKommUndOr.Text = kommunikation;
//lblEmoUndPsy.Text = emotion;
//lblGesund.Text = gesund;
//lblGlobalziel.Text = globalZiel;
//lblZieleDerHilfe.Text = zieleDerHilfe;
decimal gesamt = 0;
decimal test = 0;
if (Decimal.TryParse(allLeben, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(indBasis, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(gestaltung, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(teilnahme, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(kommunikation, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(emotion, out test))
{
gesamt += test;
}
test = 0;
if (Decimal.TryParse(gesund, out test))
{
gesamt += test;
}
//lblHilfeschwerpunkteGesamt.Text = String.Format("{0:0.##}", gesamt);
}
}
}