366 lines
13 KiB
C#
366 lines
13 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Report;
|
|
using BS.Shared;
|
|
using BS.Shared.Core;
|
|
using DevExpress.XtraReports.UI;
|
|
using BeWo.Report.ReportObjects;
|
|
|
|
namespace HphBersenbrueckAph
|
|
{
|
|
|
|
//Für Stammblatt:
|
|
|
|
|
|
//bei ergänzende Angaben
|
|
//Nur Zuzahlungbefreiung leigt vor
|
|
//Einstufung in die Pflegestufe = Pflegegrad
|
|
//Schwerbehindertenausweis:
|
|
// +Sonstiges
|
|
|
|
// - freitextfeld für: Bekannte Diagnosen, Stationäre Aufenthalte, Allergien
|
|
|
|
// Bezugsperson rechts oben = Hauptbetreuer im BWP
|
|
|
|
|
|
//Bereich "Stammblatt erstellt" kann raus
|
|
|
|
//Aufnahmedatum = Datum des ersten Hilfeplans
|
|
public partial class Klientenstammblatt : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<CustomerDataRO>
|
|
{
|
|
public Klientenstammblatt()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void SetReportDataSource(CustomerDataRO pRO)
|
|
{
|
|
SetVarFieldValues(pRO);
|
|
SetRelationFields(pRO);
|
|
this.bindingSource1.DataSource = pRO;
|
|
}
|
|
|
|
private void SetRelationFields(CustomerDataRO pRO)
|
|
{
|
|
var x =
|
|
pRO.EnvironmentPersons.FirstOrDefault(
|
|
f => f.RelationRole.TypeDescription.ToLower().Equals("facharzt (psychiater)"));
|
|
|
|
if (x != null)
|
|
{
|
|
lblPsychiaterName.Text = x.Person.TitleFirstNameLastNameToString();
|
|
lblPsychiaterStr.Text = x.Person.Street;
|
|
lblPsychiaterOrt.Text = String.Format("{0} {1}", x.Person.PostalCode, x.Person.Town);
|
|
lblPsychiaterTel.Text = x.Person.Communication1;
|
|
lblPsychiaterFax.Text = x.Person.Communication4;
|
|
}
|
|
|
|
x = pRO.EnvironmentPersons.FirstOrDefault(f => f.RelationRole.TypeDescription.ToLower().Equals("hausarzt"));
|
|
|
|
if (x != null)
|
|
{
|
|
lblHausarztName.Text = x.Person.TitleFirstNameLastNameToString();
|
|
lblHausarztStr.Text = x.Person.Street;
|
|
lblHausarztOrt.Text = String.Format("{0} {1}", x.Person.PostalCode, x.Person.Town);
|
|
lblHausarztTel.Text = x.Person.Communication1;
|
|
lblHausarztFax.Text = x.Person.Communication4;
|
|
}
|
|
|
|
x =
|
|
pRO.EnvironmentPersons.FirstOrDefault(
|
|
f => f.RelationRole.TypeDescription.ToLower().Equals("gesetzliche betreuung"));
|
|
|
|
if (x != null)
|
|
{
|
|
lblGesetzBetreuerNachname.Text = x.Person.TitleFirstNameLastNameToString();
|
|
lblGesetzBetreuerStr.Text = x.Person.Street;
|
|
lblGesetzBetreuerOrt.Text = String.Format("{0} {1}", x.Person.PostalCode, x.Person.Town);
|
|
lblGesetzBetreuerTel.Text = x.Person.Communication1;
|
|
lblGesetzBetreuerFax.Text = x.Person.Communication4;
|
|
}
|
|
|
|
var k =
|
|
pRO.EnvironmentOrganisations.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Krankenkasse"));
|
|
if (k != null)
|
|
{
|
|
var fod =
|
|
pRO.CostBearers.FirstOrDefault(
|
|
f => f.CostBearer.OrganisationOid.Equals(k.Organisation.OrganisationOid));
|
|
//kvNRTableCell.Text = fod.ReferenceNumber;
|
|
//krankenkasseTableCell.Text = fod.CostBearer.Name;
|
|
}
|
|
|
|
if (pRO.Customer.Pflegegrad.HasValue)
|
|
{
|
|
lblEinstufungPflegestufe1.Text = EnumTranslations.PflegegradTranslations[pRO.Customer.Pflegegrad.Value];
|
|
}
|
|
|
|
lblSchwerbehindertenausweis1.Text = "";
|
|
|
|
if (pRO.Customer.AusweisGueltigVon.HasValue || pRO.Customer.AusweisGueltigBis.HasValue ||
|
|
pRO.Customer.AusweisUnbefristetGueltig.HasValue)
|
|
{
|
|
if (pRO.Customer.AusweisGueltigVon.HasValue)
|
|
{
|
|
lblSchwerbehindertenausweis1.Text = String.Format("Gültig von {0:dd.MM.yyyy}",
|
|
pRO.Customer.AusweisGueltigVon);
|
|
}
|
|
if (lblSchwerbehindertenausweis1.Text.Length > 0)
|
|
{
|
|
lblSchwerbehindertenausweis1.Text += " ";
|
|
}
|
|
if (pRO.Customer.AusweisGueltigBis.HasValue)
|
|
{
|
|
lblSchwerbehindertenausweis1.Text += String.Format("bis {0:dd.MM.yyyy}",
|
|
pRO.Customer.AusweisGueltigBis);
|
|
}
|
|
else if (pRO.Customer.AusweisUnbefristetGueltig.HasValue && pRO.Customer.AusweisUnbefristetGueltig.Value)
|
|
{
|
|
lblSchwerbehindertenausweis1.Text += "unbefristet";
|
|
}
|
|
}
|
|
lblSchwerbehindertenausweis2.Text = "";
|
|
|
|
if (!String.IsNullOrWhiteSpace(pRO.Customer.GradDerBehinderung))
|
|
{
|
|
lblSchwerbehindertenausweis2.Text = "Grad der Behinderung: " + pRO.Customer.GradDerBehinderung + "%";
|
|
}
|
|
|
|
String merkzeichen = "";
|
|
if (pRO.Customer.MerkzeichenListe != null)
|
|
{
|
|
foreach (var mz in pRO.Customer.MerkzeichenListe)
|
|
{
|
|
if (merkzeichen.Length > 0)
|
|
{
|
|
merkzeichen += ", ";
|
|
}
|
|
merkzeichen += EnumTranslations.MerkzeichenTranslations[mz];
|
|
}
|
|
}
|
|
if (lblSchwerbehindertenausweis2.Text.Length > 0)
|
|
{
|
|
lblSchwerbehindertenausweis2.Text += ", ";
|
|
}
|
|
lblSchwerbehindertenausweis2.Text += "Merkzeichen: " + merkzeichen;
|
|
|
|
String bastr = "";
|
|
if (pRO.Customer.BehinderungsartenListe != null)
|
|
{
|
|
foreach (var ba in pRO.Customer.BehinderungsartenListe)
|
|
{
|
|
if (bastr.Length > 0)
|
|
{
|
|
bastr += ", ";
|
|
}
|
|
bastr += EnumTranslations.BehinderungsartTranslations[ba];
|
|
}
|
|
}
|
|
lblSchwerbehindertenausweis3.Text = bastr;
|
|
|
|
lblAufnahmedatum.Text = String.Format("{0:dd.MM.yyyy}", GetAufnahmedatum(pRO));
|
|
|
|
var e =
|
|
pRO.RelatedEmployees.FirstOrDefault(
|
|
f => f.RelationRole.TypeDescription.ToLower().Contains("hauptbetreuung"));
|
|
|
|
if (e != null)
|
|
{
|
|
//var emp = DAOFactory.GenericDAO.LoadByID<Employee>(e.Employee.EmployeeOid);
|
|
lblBezugsperson.Text = String.Format("{0} {1}", e.Employee.FirstName, e.Employee.LastName);
|
|
|
|
// if (emp.Person.Contacts != null)
|
|
// {
|
|
// var contact = emp.Person.Contacts.FirstOrDefault(c => c.Type == ContactType.business_Phone);
|
|
// if (contact != null)
|
|
// {
|
|
// lblHauptbetreuer1Tel.Text = contact.Value;
|
|
// }
|
|
// contact = emp.Person.Contacts.FirstOrDefault(c => c.Type == ContactType.business_MobilePhone);
|
|
// if (contact != null)
|
|
// {
|
|
// lblHauptbetreuer1Handy.Text = contact.Value;
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
//e = pRO.RelatedEmployees.FirstOrDefault(f => f.RelationRole.TypeDescription.ToLower().Equals("hauptbetreuung ii"));
|
|
|
|
//if (e != null)
|
|
//{
|
|
// var emp = DAOFactory.GenericDAO.LoadByID<Employee>(e.Employee.EmployeeOid);
|
|
// lblHauptbetreuer2Name.Text = e.Employee.LastName;
|
|
// lblHauptbetreuer2Vorname.Text = e.Employee.FirstName;
|
|
|
|
// if (emp.Person.Contacts != null)
|
|
// {
|
|
// var contact = emp.Person.Contacts.FirstOrDefault(c => c.Type == ContactType.business_Phone);
|
|
// if (contact != null)
|
|
// {
|
|
// lblHauptbetreuer2Tel.Text = contact.Value;
|
|
// }
|
|
// contact = emp.Person.Contacts.FirstOrDefault(c => c.Type == ContactType.business_MobilePhone);
|
|
// if (contact != null)
|
|
// {
|
|
// lblHauptbetreuer2Handy.Text = contact.Value;
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
private DateTime? GetAufnahmedatum(CustomerDataRO ro)
|
|
{
|
|
|
|
var customer = DAOFactory.GenericDAO.LoadByID<Customer>(ro.CustomerOid);
|
|
var scList = customer.SupportConcepts;
|
|
|
|
DateTime? minDate = null;
|
|
foreach (var sc in scList)
|
|
{
|
|
if (sc.IsActive != ActivationTypeId.Deleted && sc.StartDate.HasValue)
|
|
{
|
|
if (minDate == null || sc.StartDate < minDate)
|
|
{
|
|
minDate = sc.StartDate.Value;
|
|
}
|
|
}
|
|
}
|
|
|
|
return minDate;
|
|
}
|
|
|
|
private void SetVarFieldValues(CustomerDataRO pRO)
|
|
{
|
|
String beruf = ""; // Oid = 1
|
|
String arbeitgeber = ""; // Oid = 2
|
|
String taetigkeit = ""; // Oid = 3
|
|
String gruppenleiter = ""; // Oid = 4
|
|
String leistungsart = ""; // Oid = 5
|
|
String zuzahlungsbefreiung = ""; // Oid = 6
|
|
String aufnahmedatum = ""; // Oid = 7
|
|
String schwgueltig = ""; // Oid = 8
|
|
String schwProzent = ""; // Oid = 9
|
|
String merkzeichen = ""; // Oid = 10
|
|
String sorgeGesundheit = ""; // Oid = 11
|
|
String aufenthaltbetimmungr = ""; // Oid = 12
|
|
String rechtsAntrags = ""; // Oid = 13
|
|
|
|
String vermoegenssorge = ""; // Oid = 15
|
|
String betreuungSonstiges = ""; //Oid = 25
|
|
String angabenSonstiges = ""; //Oid = 27
|
|
String diagnosen = ""; //Oid = 28
|
|
String stationaereAufenthalte = ""; //Oid = 29
|
|
String allergien = ""; //Oid = 30
|
|
|
|
|
|
var c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
|
|
|
|
foreach (var vv in c.VarFieldValueList)
|
|
{
|
|
var varFieldValue = Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
|
|
if (varFieldValue != null)
|
|
{
|
|
if (vv.VarFieldDefOid.Value == 1)
|
|
{
|
|
beruf = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 2)
|
|
{
|
|
arbeitgeber = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 3)
|
|
{
|
|
taetigkeit = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 4)
|
|
{
|
|
gruppenleiter = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 5)
|
|
{
|
|
leistungsart = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 6)
|
|
{
|
|
zuzahlungsbefreiung = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 7)
|
|
{
|
|
aufnahmedatum = String.Format("{0:dd.MM.yyyy}", varFieldValue);
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 11)
|
|
{
|
|
sorgeGesundheit = varFieldValue.ToString() == "True" ? "x" : "";
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 12)
|
|
{
|
|
aufenthaltbetimmungr = varFieldValue.ToString() == "True" ? "x" : "";
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 13)
|
|
{
|
|
rechtsAntrags = varFieldValue.ToString() == "True" ? "x" : "";
|
|
}
|
|
|
|
else if (vv.VarFieldDefOid.Value == 15)
|
|
{
|
|
vermoegenssorge = varFieldValue.ToString() == "True" ? "x" : "";
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 25)
|
|
{
|
|
betreuungSonstiges = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 27)
|
|
{
|
|
angabenSonstiges = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 28)
|
|
{
|
|
diagnosen = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 29)
|
|
{
|
|
stationaereAufenthalte = varFieldValue.ToString();
|
|
}
|
|
else if (vv.VarFieldDefOid.Value == 30)
|
|
{
|
|
allergien = varFieldValue.ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
lblBeruf.Text = beruf;
|
|
lblArbeitg.Text = arbeitgeber;
|
|
lblTaetigkeit.Text = taetigkeit;
|
|
lblLeistungsart.Text = leistungsart;
|
|
//lblKrankenkasseAnschr.Text = zuzahlungsbefreiung;
|
|
//lblKrankenkasseTel.Text = aufnahmedatum;
|
|
//lblKrankenkasseStr.Text = schwgueltig;
|
|
//lblSchwProzent.Text = schwProzent;
|
|
//lblSchwMerkz.Text = merkzeichen;
|
|
lblSorgeGesundheit.Text = sorgeGesundheit;
|
|
lblAufenthaltbestimmung.Text = aufenthaltbetimmungr;
|
|
lblRechtsAntrag.Text = rechtsAntrags;
|
|
lblVermoegenssorge.Text = vermoegenssorge;
|
|
|
|
lblZuzahlungsbefreiung1.Text = zuzahlungsbefreiung;
|
|
lblDiagnose4.Text = diagnosen;
|
|
lblStatAufenthalte3.Text = stationaereAufenthalte;
|
|
lblAllergien.Text = allergien;
|
|
|
|
//lblKostentraeger.Text = "xxxx";
|
|
|
|
lblBetreuungSonstiges.Text = betreuungSonstiges;
|
|
lblAngabenSonstiges2.Text = angabenSonstiges;
|
|
|
|
}
|
|
}
|
|
}
|