MH: Anpassung für Zuhause Wohnen Iris Thimm
This commit is contained in:
@@ -330,108 +330,6 @@ namespace BeWo.View.Detail.Report
|
||||
return tagAusgefuellt;
|
||||
}
|
||||
|
||||
private bool CalculateStatus(List<DienstInfoDC> diensteFuerTag)
|
||||
{
|
||||
bool tagAusgefuellt = true;
|
||||
|
||||
if (diensteFuerTag.Count != 0)
|
||||
{
|
||||
diensteFuerTag = diensteFuerTag.OrderBy(d => d.Start).ToList();
|
||||
|
||||
double stundenOhneUeberschneidungen = 0;
|
||||
var vorherigeSchicht = diensteFuerTag[0];
|
||||
|
||||
for (int i = 0; i < diensteFuerTag.Count; i++)
|
||||
{
|
||||
if (diensteFuerTag.Count == 1) //Eine Schicht != 24 Stunden Besetzung => Schleife kann verlassen werden
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
|
||||
var dienst = diensteFuerTag[i];
|
||||
if (dienst.Oid == vorherigeSchicht.Oid && i != diensteFuerTag.Count - 1 && i != 0) //Identische Schicht kann übersprungen werden
|
||||
{
|
||||
vorherigeSchicht = dienst;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (i == 0) //Im ersten Durchlauf ist dienst == vorherigeSchicht
|
||||
{
|
||||
stundenOhneUeberschneidungen += dienst.DurationHours;
|
||||
vorherigeSchicht = dienst;
|
||||
continue;
|
||||
}
|
||||
|
||||
bool andereBerechnungNoetig = (dienst.Start < dienst.Ende) ? false : true; //Start ist früher als Ende, wenn eine Schicht über 0 Uhr hinausgeht => Stunden müssen anders berechnet werden
|
||||
|
||||
bool schichtInnerhalbAndererSchicht = false;
|
||||
if (dienst.Start < vorherigeSchicht.Ende) //Wenn eine Überschneidung existiert
|
||||
{
|
||||
if (dienst.Start < vorherigeSchicht.Ende && dienst.Ende < vorherigeSchicht.Ende && !andereBerechnungNoetig) //Wenn Schicht vor Ende der vorherigen Schicht beginnt UND aufhört
|
||||
{
|
||||
stundenOhneUeberschneidungen += 0;
|
||||
schichtInnerhalbAndererSchicht = true;
|
||||
dienst.UmschließenderDienst = vorherigeSchicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!andereBerechnungNoetig)
|
||||
stundenOhneUeberschneidungen += Math.Round((dienst.Ende.TimeOfDay - dienst.Start.TimeOfDay).TotalHours - (vorherigeSchicht.Ende.Hour - dienst.Start.Hour), 2);
|
||||
else
|
||||
{
|
||||
var ende = dienst.Ende.AddDays(1);
|
||||
stundenOhneUeberschneidungen += Math.Round((ende - dienst.Start).TotalHours - (vorherigeSchicht.Ende - dienst.Start).TotalHours, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
else //Wenn keine Überschneidung existiert
|
||||
stundenOhneUeberschneidungen += dienst.DurationHours;
|
||||
|
||||
if (i == diensteFuerTag.Count - 1) // Wenn die aktuelle Schicht die letzte ist
|
||||
{
|
||||
if (dienst.Ende < diensteFuerTag[0].Start && stundenOhneUeberschneidungen < 24) // Ende letzter Schicht früher als Start erster Schicht
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dienst.Start > vorherigeSchicht.Ende && dienst.Oid != vorherigeSchicht.Oid) // Wenn die aktuelle Schicht später beginnt als die vorherige endet
|
||||
{
|
||||
if (vorherigeSchicht.UmschließenderDienst != null)
|
||||
{
|
||||
if(vorherigeSchicht.UmschließenderDienst.Ende < dienst.Start)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!schichtInnerhalbAndererSchicht && stundenOhneUeberschneidungen < 24)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
vorherigeSchicht = dienst;
|
||||
}
|
||||
|
||||
if (stundenOhneUeberschneidungen < 24) //Wenn nach durchgehen aller Schichten für Tag nicht 24h erreicht wurden
|
||||
tagAusgefuellt = false;
|
||||
}
|
||||
else //Wenn keine Schichten für den Tag vorhanden sind
|
||||
tagAusgefuellt = false;
|
||||
|
||||
|
||||
return tagAusgefuellt;
|
||||
}
|
||||
|
||||
private void BuildGridControlColumnDays(int year, int month, int fixedColumns)
|
||||
{
|
||||
var dayCounter = 0;
|
||||
@@ -734,6 +632,7 @@ namespace BeWo.View.Detail.Report
|
||||
// return;
|
||||
//}
|
||||
//Dienste an Abwesenheitstagen setzen können deaktivieren
|
||||
|
||||
var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
foreach (var at in _DienstplanerRootObj.AbsenceTimes)
|
||||
{
|
||||
@@ -1560,7 +1459,7 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
else
|
||||
{
|
||||
if (zeile.Employee == emp && zeile.Zeile + 1 <= 2) //Letzte Zeile des Grids
|
||||
if (zeile.Employee == emp && zeile.Zeile + 1 <= 2) //Wenn ausgewählte Zeile die letzte ist
|
||||
{
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(new DienstZeileDC()
|
||||
{
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 76 KiB |
BIN
ReportImp/ZuhauseWohnenIrisThimm/HeaderTransparentOhneStrich.png
Normal file
BIN
ReportImp/ZuhauseWohnenIrisThimm/HeaderTransparentOhneStrich.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
BIN
ReportImp/ZuhauseWohnenIrisThimm/HeaderTransparentStrich.png
Normal file
BIN
ReportImp/ZuhauseWohnenIrisThimm/HeaderTransparentStrich.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 215 KiB |
BIN
ReportImp/ZuhauseWohnenIrisThimm/Logo.doc
Normal file
BIN
ReportImp/ZuhauseWohnenIrisThimm/Logo.doc
Normal file
Binary file not shown.
36
ReportImp/ZuhauseWohnenIrisThimm/Properties/AssemblyInfo.cs
Normal file
36
ReportImp/ZuhauseWohnenIrisThimm/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("KundeXyz")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("KundeXyz")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
1470
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.Designer.cs
generated
Normal file
1470
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
188
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.cs
Normal file
188
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.cs
Normal file
@@ -0,0 +1,188 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace ZuhauseWohnenIrisThimm
|
||||
{
|
||||
public partial class Quittierungsbeleg : XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public Quittierungsbeleg()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
|
||||
// Get calling method name
|
||||
//StackTrace stackTrace = new StackTrace();
|
||||
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
|
||||
|
||||
bool hatGruppen = false;
|
||||
|
||||
//if (pRO == null)
|
||||
// return;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
foreach (var sd in pRO.Services)
|
||||
{
|
||||
if (sd.IsBillable)
|
||||
{
|
||||
ServicesOverviewRO.CreateSignatureString(sd);
|
||||
if (sd.IsGroup)
|
||||
{
|
||||
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
|
||||
hatGruppen = true;
|
||||
}
|
||||
servicesBillable.Add(sd);
|
||||
}
|
||||
}
|
||||
|
||||
pRO.Services = servicesBillable;
|
||||
}
|
||||
|
||||
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
|
||||
{
|
||||
lblHatAbwesenheiten.Text = "X";
|
||||
}
|
||||
|
||||
if (!hatGruppen)
|
||||
{
|
||||
lblHatGruppen.Text = "X";
|
||||
}
|
||||
|
||||
ErstelleAbwesenheitenTabelle(pRO);
|
||||
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
|
||||
{
|
||||
if (pRo.Abwesenheiten != null)
|
||||
{
|
||||
int newRows = 0;
|
||||
int index = 1;
|
||||
foreach (var at in pRo.Abwesenheiten)
|
||||
{
|
||||
DevExpress.XtraReports.UI.XRTableRow row = null;
|
||||
if (index < xrTableAbwesenheiten.Rows.Count)
|
||||
{
|
||||
row = xrTableAbwesenheiten.Rows[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
row = xrTableAbwesenheiten.InsertRowBelow(xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
|
||||
newRows++;
|
||||
}
|
||||
|
||||
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
|
||||
int? days = null;
|
||||
|
||||
if (at.End.HasValue)
|
||||
{
|
||||
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
|
||||
days = (int)at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
row.Cells[1].Text = "unbekannt";
|
||||
}
|
||||
|
||||
row.Cells[2].Text = String.Format("{0:0}", days);
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
if (newRows > 0)
|
||||
{
|
||||
lblUnterschriftKlient.Top += newRows * 20;
|
||||
lblUnterschriftMitarbeiter.Top += newRows * 20;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
private void EmployeeSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Wie anzeigen? Alle?
|
||||
// TODO: Visibile der Datumstextboxen auf true setzen!
|
||||
private void CustomerSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
return;
|
||||
|
||||
if(sender is XRPictureBox pictureBox)
|
||||
{
|
||||
var base64String = pictureBox.Tag as string;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binaryData = Convert.FromBase64String(base64Data);
|
||||
var image = ByteArrayToImage(binaryData);
|
||||
|
||||
pictureBox.Image = image;
|
||||
}
|
||||
else
|
||||
{
|
||||
pictureBox.Image = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
XRPictureBox xrBox = sender as XRPictureBox;
|
||||
//var test = this.GetCurrent
|
||||
string base64String = xrBox.Tag as string;
|
||||
if (!String.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binData = Convert.FromBase64String(base64Data);
|
||||
Image img = ByteArrayToImage(binData);
|
||||
xrBox.Image = Utils.CropImage(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
xrBox.Image = null;
|
||||
}
|
||||
}
|
||||
|
||||
public Image ByteArrayToImage(byte[] byteArrayIn)
|
||||
{
|
||||
using(var memoryStream = new MemoryStream(byteArrayIn))
|
||||
{
|
||||
return Image.FromStream(memoryStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5380
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.resx
Normal file
5380
ReportImp/ZuhauseWohnenIrisThimm/Quittierungsbeleg.resx
Normal file
File diff suppressed because one or more lines are too long
1002
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.Designer.cs
generated
Normal file
1002
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
32
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.cs
Normal file
32
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace ZuhauseWohnenIrisThimm
|
||||
{
|
||||
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||
{
|
||||
public ServiceInvoiceReport()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||
{
|
||||
DateTime start = pRO.AccountingPeriodStart;
|
||||
DateTime end = pRO.AccountingPeriodEnd;
|
||||
if (start.Month == end.Month && start.Year == end.Year)
|
||||
{
|
||||
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
5374
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.resx
Normal file
5374
ReportImp/ZuhauseWohnenIrisThimm/ServiceInvoiceReport.resx
Normal file
File diff suppressed because it is too large
Load Diff
1243
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.Designer.cs
generated
Normal file
1243
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
222
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.cs
Normal file
222
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.cs
Normal file
@@ -0,0 +1,222 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace ZuhauseWohnenIrisThimm
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
|
||||
{
|
||||
public Spitzabrechnung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(SettlementRO pRO)
|
||||
{
|
||||
bool isDefaultSpitzabrechnung = false;
|
||||
|
||||
if (String.IsNullOrEmpty(pRO.Notice))
|
||||
{
|
||||
lblNotice.Visible = false;
|
||||
}
|
||||
|
||||
if (pRO.InvoiceItems != null && pRO.InvoiceItems.Count == 1)
|
||||
{
|
||||
var ii = pRO.InvoiceItems[0];
|
||||
if ((ii.ItemDescription == "Spitzabrechung" || ii.ItemDescription == "Spitzabrechnung") && ii.GrossAmountTotal == null && ii.RateFactor == null)
|
||||
{
|
||||
isDefaultSpitzabrechnung = true;
|
||||
}
|
||||
}
|
||||
if (!isDefaultSpitzabrechnung)
|
||||
{
|
||||
if (pRO.DifferentHourlyRateCount > 0 && pRO.HourlyRateNew.HasValue)
|
||||
{
|
||||
isDefaultSpitzabrechnung = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isDefaultSpitzabrechnung)
|
||||
{
|
||||
//UpdateAbrechnungsFelder(pRO);
|
||||
|
||||
pRO.InvoiceItems = CreateDefaultSpitzabrechnungInvoiceItems(pRO);
|
||||
}
|
||||
else
|
||||
{
|
||||
var id = GetCustomerId(pRO);
|
||||
if (id == "LWLNEU")
|
||||
{
|
||||
pRO.RateFactorText = null;
|
||||
pRO.RateFactorText2 = null;
|
||||
|
||||
if (pRO.InvoiceItems != null)
|
||||
{
|
||||
foreach (var ii in pRO.InvoiceItems)
|
||||
{
|
||||
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS x {3:c}",
|
||||
ii.ItemPeriodStart, ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pRO.InvoiceItems != null)
|
||||
{
|
||||
foreach (var ii in pRO.InvoiceItems)
|
||||
{
|
||||
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS {3}x {4:c}",
|
||||
ii.ItemPeriodStart, ii.ItemPeriodEnd,
|
||||
ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ",
|
||||
ii.AmountPerUnit);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private String GetCustomerId(SettlementRO pRO)
|
||||
{
|
||||
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
|
||||
return cb2sc.CostBearer.ID;
|
||||
}
|
||||
|
||||
private IList<InvoiceItemDC> CreateDefaultSpitzabrechnungInvoiceItems(SettlementRO pRO)
|
||||
{
|
||||
IList<InvoiceItemDC> itemList = new List<InvoiceItemDC>();
|
||||
if (pRO.DifferentHourlyRateCount == 3)
|
||||
{
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatz3 * pRO.RateFactor * pRO.HourlyRate3
|
||||
});
|
||||
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * pRO.RateFactor * pRO.HourlyRateOld
|
||||
});
|
||||
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
|
||||
});
|
||||
|
||||
}
|
||||
else if (pRO.DifferentHourlyRateCount == 2)
|
||||
{
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld
|
||||
});
|
||||
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
|
||||
});
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
itemList.Add(new InvoiceItemDC
|
||||
{
|
||||
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
|
||||
pRO.AccountingStartDateString, pRO.AccountingEndDateString,
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
|
||||
|
||||
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return itemList;
|
||||
}
|
||||
|
||||
private void UpdateAbrechnungsFelder(SettlementRO pRO)
|
||||
{
|
||||
if (pRO.DifferentHourlyRateCount == 3)
|
||||
{
|
||||
//Erbrachte Leistungen (FLS) - bis [HourlyRateOldEndDateString] à [HourlyRateOldString] €
|
||||
|
||||
pRO.Abrechnungstext1 = String.Format("{0} bis {1}",
|
||||
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString);
|
||||
|
||||
pRO.Abrechnungstext1 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3);
|
||||
|
||||
//[AccountingStartDateString] - [HourlyRate3EndDateString] sind [RecordedFLSWithHourlyRate3String] Std. x [HourlyRate3String] € =";
|
||||
|
||||
pRO.Betrag1 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatz3 * (decimal)pRO.RateFactor * pRO.HourlyRate3);
|
||||
|
||||
|
||||
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
|
||||
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString);
|
||||
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
|
||||
|
||||
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
|
||||
|
||||
|
||||
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
|
||||
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
|
||||
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
|
||||
|
||||
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
|
||||
}
|
||||
else if (pRO.DifferentHourlyRateCount == 2)
|
||||
{
|
||||
|
||||
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
|
||||
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString);
|
||||
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
|
||||
|
||||
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
|
||||
|
||||
|
||||
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
|
||||
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
|
||||
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
|
||||
|
||||
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
|
||||
}
|
||||
else
|
||||
{
|
||||
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
|
||||
pRO.AccountingStartDateString, pRO.AccountingEndDateString);
|
||||
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
|
||||
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
|
||||
|
||||
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5378
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.resx
Normal file
5378
ReportImp/ZuhauseWohnenIrisThimm/SettlementReport.resx
Normal file
File diff suppressed because one or more lines are too long
105
ReportImp/ZuhauseWohnenIrisThimm/ZuhauseWohnenIrisThimm.csproj
Normal file
105
ReportImp/ZuhauseWohnenIrisThimm/ZuhauseWohnenIrisThimm.csproj
Normal file
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{22E7F5F8-BB34-4243-896B-221F78837F83}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>KundeXyz</RootNamespace>
|
||||
<AssemblyName>4820371076_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Quittierungsbeleg.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Quittierungsbeleg.Designer.cs">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ServiceInvoiceReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ServiceInvoiceReport.Designer.cs">
|
||||
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.Designer.cs">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Quittierungsbeleg.resx">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ServiceInvoiceReport.resx">
|
||||
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
BIN
ReportImp/ZuhauseWohnenIrisThimm/logoTransparent.png
Normal file
BIN
ReportImp/ZuhauseWohnenIrisThimm/logoTransparent.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
BIN
ReportImp/ZuhauseWohnenIrisThimm/logoTransparentEinBaum.png
Normal file
BIN
ReportImp/ZuhauseWohnenIrisThimm/logoTransparentEinBaum.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
@@ -244,44 +244,44 @@ namespace BeWo.Service.Plugins
|
||||
//t = "2697528233"; // Diakonisches Werk Wesel
|
||||
//t = "2547623489"; // Sprungbrett
|
||||
//t = "5076807716"; // Psychosoziale Hilfen Bochum e.V.
|
||||
//t = "1601313225"; // Bella Donna
|
||||
//t = "5098825926"; // SAB GmbH
|
||||
//t = "7808149226"; // BeWo Flex
|
||||
//t = "7419804320"; // Gender Bewo
|
||||
//t = "4500422855"; // BeWo Nordeifel
|
||||
//t = "3565931805"; // Betreuungsbüro Frank Röhrig
|
||||
//t = "4152581290"; // MVZ Medikus GmbH (Stoffwechsel Betreutes wohnen)
|
||||
//t = "4529320405"; // BeWo Stelzel
|
||||
//t = "2594047883"; // KOMM Ambulante Dienste e. V.
|
||||
//t = "1558685648"; // KIMM
|
||||
//t = "3460972350"; // Caritas Kleve I
|
||||
//t = "2623845876"; // Passgenau Hildesheim
|
||||
//t = "4368361336"; // Kompass BeWo Wesel
|
||||
//t = "3257905806"; // Diakonisches Werk Herne
|
||||
//t = "2535794597"; // Mobilo Ambulant
|
||||
//t = "7114701269"; // Die Brücke Hilfe und Halt
|
||||
//t = "6447060239"; // Empathie Fachassistenz
|
||||
//t = "6919016656"; // Leben und Wohnen Christian Wilke
|
||||
//t = "8281327384"; // Caritasverband Düren-Jülich e.V. (Eingliederungshilfe)
|
||||
//t = "6023735102"; // Kölner BeWo (Selbstbestimmt Leben)
|
||||
//t = "2998118179"; // BeWo Plus
|
||||
//t = "9254115251"; // Praunheimer Werkstätten 2.DB
|
||||
//t = "5880845152"; // Bewegt Systemische Beratung und Begleitung (Kathrin Lilly)
|
||||
//t = "5798370140"; // Team Pfeil
|
||||
//t = "8242644560"; // Bewolonia - Fr. Sultan Schulz
|
||||
//t = "4817284046"; // Verein für Sozialmedizin Stade e.V.
|
||||
//t = "6323001211"; // ASB Faßbacher Hof gGmbH
|
||||
//t = "9389386079"; // VARO Sozialagentur
|
||||
//t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
|
||||
//t = "5850903700"; // Alzey Teilhabe
|
||||
//t = "5929601293"; // Lebenshilfe Duisburg Frühförderung (Projekt heißt LebenshilfeDuisburgAtz)
|
||||
//t = "1601313225"; // Bella Donna
|
||||
//t = "5098825926"; // SAB GmbH
|
||||
//t = "7808149226"; // BeWo Flex
|
||||
//t = "7419804320"; // Gender Bewo
|
||||
//t = "4500422855"; // BeWo Nordeifel
|
||||
//t = "3565931805"; // Betreuungsbüro Frank Röhrig
|
||||
//t = "4152581290"; // MVZ Medikus GmbH (Stoffwechsel Betreutes wohnen)
|
||||
//t = "4529320405"; // BeWo Stelzel
|
||||
//t = "2594047883"; // KOMM Ambulante Dienste e. V.
|
||||
//t = "1558685648"; // KIMM
|
||||
//t = "3460972350"; // Caritas Kleve I
|
||||
//t = "2623845876"; // Passgenau Hildesheim
|
||||
//t = "4368361336"; // Kompass BeWo Wesel
|
||||
//t = "3257905806"; // Diakonisches Werk Herne
|
||||
//t = "2535794597"; // Mobilo Ambulant
|
||||
//t = "7114701269"; // Die Brücke Hilfe und Halt
|
||||
//t = "6447060239"; // Empathie Fachassistenz
|
||||
//t = "6919016656"; // Leben und Wohnen Christian Wilke
|
||||
//t = "8281327384"; // Caritasverband Düren-Jülich e.V. (Eingliederungshilfe)
|
||||
//t = "6023735102"; // Kölner BeWo (Selbstbestimmt Leben)
|
||||
//t = "2998118179"; // BeWo Plus
|
||||
//t = "9254115251"; // Praunheimer Werkstätten 2.DB
|
||||
//t = "5880845152"; // Bewegt Systemische Beratung und Begleitung (Kathrin Lilly)
|
||||
//t = "5798370140"; // Team Pfeil
|
||||
//t = "8242644560"; // Bewolonia - Fr. Sultan Schulz
|
||||
//t = "4817284046"; // Verein für Sozialmedizin Stade e.V.
|
||||
//t = "6323001211"; // ASB Faßbacher Hof gGmbH
|
||||
//t = "9389386079"; // VARO Sozialagentur
|
||||
//t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
|
||||
//t = "5850903700"; // Alzey Teilhabe
|
||||
//t = "5929601293"; // Lebenshilfe Duisburg Frühförderung (Projekt heißt LebenshilfeDuisburgAtz)
|
||||
//t = "4823067940"; // Die Kette 2
|
||||
//t = "8283849714"; // Forum e.V. (proviel GmbH)
|
||||
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
|
||||
//t = "5595701056"; // Domiziel Ansbach
|
||||
//t = "9430188510"; // Pro INTEGRA
|
||||
//t = "4820371076"; // Zuhause Wohnen Iris Thimm
|
||||
t = "1078667960"; // FAM Rhein-Sieg Gbr
|
||||
//t = "5595701056"; // Domiziel Ansbach
|
||||
//t = "9430188510"; // Pro INTEGRA
|
||||
t = "4820371076"; // Zuhause Wohnen Iris Thimm
|
||||
//t = "1078667960"; // FAM Rhein-Sieg Gbr
|
||||
|
||||
return t;
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user