AutismusKoelnBonn, DiakonieKKKleve, Kette und PerspektivenEV
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -568,3 +568,7 @@ obj
|
|||||||
/ReportImp/KundeArbeitszeit
|
/ReportImp/KundeArbeitszeit
|
||||||
*.user
|
*.user
|
||||||
/ReportImp/KundeMuster
|
/ReportImp/KundeMuster
|
||||||
|
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.designer.cs
|
||||||
|
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.resx
|
||||||
|
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.cs
|
||||||
|
/ReportImp/DiakonieKKKleve/CustomMitarbeiterstundenkontoBerechnungTagesansicht.cs
|
||||||
|
|||||||
@@ -11,9 +11,6 @@ namespace AutismusKoelnBonn.Invoicing
|
|||||||
|
|
||||||
public class FactorInvoiceCreation : InvoiceCreation
|
public class FactorInvoiceCreation : InvoiceCreation
|
||||||
{
|
{
|
||||||
private DateTime? accountingPeriodStart = null;
|
|
||||||
private DateTime? accountingPeriodEnd = null;
|
|
||||||
|
|
||||||
public override void SetInvoiceId(ServiceInvoice invoice)
|
public override void SetInvoiceId(ServiceInvoice invoice)
|
||||||
{
|
{
|
||||||
invoice.InvoiceBase.InvoiceId = "Faktor";
|
invoice.InvoiceBase.InvoiceId = "Faktor";
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using BeWo.Data.Access;
|
||||||
|
using BeWo.Data.Entities;
|
||||||
using BeWo.Report;
|
using BeWo.Report;
|
||||||
using BeWo.Report.ReportObjects;
|
using BeWo.Report.ReportObjects;
|
||||||
using BS.Shared.Core;
|
using BS.Shared.Core;
|
||||||
@@ -49,8 +51,8 @@ namespace AutismusKoelnBonn
|
|||||||
|
|
||||||
pRO.Services = servicesBillable;
|
pRO.Services = servicesBillable;
|
||||||
}
|
}
|
||||||
|
Customer c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
|
||||||
if (pRO.SupportConceptCostBearer.SupportConcept.Customer.Teams.Contains("Bonn"))
|
if (c.Team2CustomerList.Count > 0 && c.Team2CustomerList[0].Team.Name.Contains("Bonn"))
|
||||||
{
|
{
|
||||||
lblBonn.Visible = true;
|
lblBonn.Visible = true;
|
||||||
lblKoeln.Visible = false;
|
lblKoeln.Visible = false;
|
||||||
@@ -110,7 +112,6 @@ namespace AutismusKoelnBonn
|
|||||||
|
|
||||||
if (newRows > 0)
|
if (newRows > 0)
|
||||||
{
|
{
|
||||||
lblUnterschriftKlient.Top += newRows * 20;
|
|
||||||
lblUnterschriftMitarbeiter.Top += newRows * 20;
|
lblUnterschriftMitarbeiter.Top += newRows * 20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -119,9 +120,9 @@ namespace AutismusKoelnBonn
|
|||||||
// TODO: Wie anzeigen? Alle?
|
// TODO: Wie anzeigen? Alle?
|
||||||
private void EmployeeSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
private void EmployeeSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||||
{
|
{
|
||||||
return;
|
//return;
|
||||||
|
|
||||||
if(sender is XRPictureBox pictureBox)
|
if (sender is XRPictureBox pictureBox)
|
||||||
{
|
{
|
||||||
var base64String = pictureBox.Tag as string;
|
var base64String = pictureBox.Tag as string;
|
||||||
|
|
||||||
@@ -144,9 +145,9 @@ namespace AutismusKoelnBonn
|
|||||||
// TODO: Visibile der Datumstextboxen auf true setzen!
|
// TODO: Visibile der Datumstextboxen auf true setzen!
|
||||||
private void CustomerSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
private void CustomerSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||||
{
|
{
|
||||||
return;
|
//return;
|
||||||
|
|
||||||
if(sender is XRPictureBox pictureBox)
|
if (sender is XRPictureBox pictureBox)
|
||||||
{
|
{
|
||||||
var base64String = pictureBox.Tag as string;
|
var base64String = pictureBox.Tag as string;
|
||||||
|
|
||||||
@@ -174,7 +175,7 @@ namespace AutismusKoelnBonn
|
|||||||
{
|
{
|
||||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||||
var binData = Convert.FromBase64String(base64Data);
|
var binData = Convert.FromBase64String(base64Data);
|
||||||
Image img = ByteArrayToImage(binData);
|
System.Drawing.Image img = ByteArrayToImage(binData);
|
||||||
xrBox.Image = Utils.CropImage(img);
|
xrBox.Image = Utils.CropImage(img);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -183,11 +184,11 @@ namespace AutismusKoelnBonn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Image ByteArrayToImage(byte[] byteArrayIn)
|
public System.Drawing.Image ByteArrayToImage(byte[] byteArrayIn)
|
||||||
{
|
{
|
||||||
using(var memoryStream = new MemoryStream(byteArrayIn))
|
using(var memoryStream = new MemoryStream(byteArrayIn))
|
||||||
{
|
{
|
||||||
return Image.FromStream(memoryStream);
|
return System.Drawing.Image.FromStream(memoryStream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using System.Linq;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using BeWo.Data.Entities;
|
using BeWo.Data.Entities;
|
||||||
using BeWo.Report.ReportObjects;
|
using BeWo.Report.ReportObjects;
|
||||||
|
using BS.Shared;
|
||||||
using BS.Shared.Core;
|
using BS.Shared.Core;
|
||||||
using BS.Shared.Extensions;
|
using BS.Shared.Extensions;
|
||||||
|
|
||||||
@@ -21,12 +22,12 @@ namespace DiakonieKKKleve
|
|||||||
{
|
{
|
||||||
var details = CreateDayDetails2(berichtStart, berichtEnde, ed, recordsAll);
|
var details = CreateDayDetails2(berichtStart, berichtEnde, ed, recordsAll);
|
||||||
|
|
||||||
foreach (var dd in details)
|
foreach (var dd in details)
|
||||||
{
|
{
|
||||||
if (dd.Custom10 == null)
|
if (dd.Custom10 == null)
|
||||||
dd.Custom10 = "";
|
dd.Custom10 = "";
|
||||||
|
|
||||||
if (dd.ZusammenhaengendeZeitraeume != null)
|
if (dd.ZusammenhaengendeZeitraeume != null)
|
||||||
{
|
{
|
||||||
foreach (var dts in dd.ZusammenhaengendeZeitraeume)
|
foreach (var dts in dd.ZusammenhaengendeZeitraeume)
|
||||||
{
|
{
|
||||||
@@ -34,15 +35,115 @@ namespace DiakonieKKKleve
|
|||||||
{
|
{
|
||||||
dd.Custom10 += ", ";
|
dd.Custom10 += ", ";
|
||||||
}
|
}
|
||||||
|
|
||||||
dd.Custom10 += String.Format("{0:HH:mm} - {1:HH:mm}", dts.StartDateTime, dts.EndDateTime);
|
dd.Custom10 += String.Format("{0:HH:mm} - {1:HH:mm}", dts.StartDateTime, dts.EndDateTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return details;
|
var arbeitstage = GetArbeitszeitTage(ed.Employee, berichtStart, berichtEnde);
|
||||||
|
if (arbeitstage > 0)
|
||||||
|
ed.ArbeitstageImBerichtszeitraum = arbeitstage ?? 0;
|
||||||
|
return details;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
|
protected virtual decimal? GetArbeitszeitTage(Employee emp, DateTime start, DateTime ende)
|
||||||
|
{
|
||||||
|
if (emp.Arbeitszeiten != null && emp.Arbeitszeiten.Count > 0)
|
||||||
|
{
|
||||||
|
if (HatArbeitszeitImZeitraum(emp.Arbeitszeiten, start, ende))
|
||||||
|
{
|
||||||
|
decimal soll = 0;
|
||||||
|
|
||||||
|
DateTime startTemp = start;
|
||||||
|
|
||||||
|
while (startTemp < ende)
|
||||||
|
{
|
||||||
|
soll += GetArbeitszeitTag(emp, startTemp);
|
||||||
|
startTemp = startTemp.AddDays(1);
|
||||||
|
}
|
||||||
|
return soll;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual decimal GetArbeitszeitTag(Employee emp, DateTime tag)
|
||||||
|
{
|
||||||
|
decimal soll = 0;
|
||||||
|
var fak = GetFeiertagsFaktor(tag);
|
||||||
|
|
||||||
|
if (fak < 1)
|
||||||
|
{
|
||||||
|
if (emp.Arbeitszeiten != null)
|
||||||
|
{
|
||||||
|
foreach (var az in emp.Arbeitszeiten)
|
||||||
|
{
|
||||||
|
if ((!az.GueltigVon.HasValue || az.GueltigVon.Value <= tag) &&
|
||||||
|
(!az.GueltigBis.HasValue || az.GueltigBis.Value >= tag))
|
||||||
|
{
|
||||||
|
var tage = GetAnzahlArbeitszeitTage(az, tag);
|
||||||
|
soll += tage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return soll;
|
||||||
|
}
|
||||||
|
|
||||||
|
private decimal GetAnzahlArbeitszeitTage(Arbeitszeit az, DateTime tag)
|
||||||
|
{
|
||||||
|
var day = tag.DayOfWeek;
|
||||||
|
decimal tage = 0;
|
||||||
|
foreach (var ae in az.ArbeitszeitEintraege)
|
||||||
|
{
|
||||||
|
if (SindAmGleichenWochentag(day, ae.Tag))
|
||||||
|
{
|
||||||
|
String dateStr1 = String.Format("{0:dd.MM.yyyy} {1}", tag, ae.UhrzeitVon);
|
||||||
|
String dateStr2 = String.Format("{0:dd.MM.yyyy} {1}", tag, ae.UhrzeitBis);
|
||||||
|
|
||||||
|
DateTime date1;
|
||||||
|
DateTime date2;
|
||||||
|
|
||||||
|
if (DateTime.TryParse(dateStr1, out date1) && DateTime.TryParse(dateStr2, out date2))
|
||||||
|
{
|
||||||
|
tage += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tage;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool SindAmGleichenWochentag(DayOfWeek day, AppointmentDayOfWeek aeTag)
|
||||||
|
{
|
||||||
|
if (day == DayOfWeek.Monday && aeTag == AppointmentDayOfWeek.Montag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (day == DayOfWeek.Tuesday && aeTag == AppointmentDayOfWeek.Dienstag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (day == DayOfWeek.Wednesday && aeTag == AppointmentDayOfWeek.Mittwoch)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (day == DayOfWeek.Thursday && aeTag == AppointmentDayOfWeek.Donnerstag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (day == DayOfWeek.Friday && aeTag == AppointmentDayOfWeek.Freitag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (day == DayOfWeek.Saturday && aeTag == AppointmentDayOfWeek.Samstag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
|
||||||
{
|
{
|
||||||
IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll);
|
IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll);
|
||||||
|
|
||||||
@@ -77,11 +178,9 @@ namespace DiakonieKKKleve
|
|||||||
if (AddServiceRecordToDuration(sr))
|
if (AddServiceRecordToDuration(sr))
|
||||||
{
|
{
|
||||||
azTotal += duration;
|
azTotal += duration;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (sr.ServiceDescription.ServiceCategory.IsBillable)
|
if (sr.ServiceDescription.ServiceCategory.IsBillable)
|
||||||
{
|
{
|
||||||
flmTotal += duration;
|
flmTotal += duration;
|
||||||
@@ -95,15 +194,23 @@ namespace DiakonieKKKleve
|
|||||||
}
|
}
|
||||||
|
|
||||||
var sollProTag = ed.SollProTag;
|
var sollProTag = ed.SollProTag;
|
||||||
|
|
||||||
|
var c = ed.Employee.GetValidContractForDate(berichtStart);
|
||||||
|
if (c != null)
|
||||||
|
{
|
||||||
|
if (c.MonthlyTotalHours.HasValue)
|
||||||
|
{
|
||||||
|
ed.Regelarbeitszeit = String.Format("{0:0.00} Stunden im Monat", c.MonthlyTotalHours);
|
||||||
|
}
|
||||||
|
else if (c.WeeklyTotalHours.HasValue)
|
||||||
|
{
|
||||||
|
ed.Regelarbeitszeit = String.Format("{0:0.00} Stunden pro Woche", c.WeeklyTotalHours);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ed.ArbeitstageProWoche != 5)
|
for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
|
||||||
{
|
|
||||||
sollProTag = (sollProTag * 5) / ed.ArbeitstageProWoche;
|
|
||||||
}
|
|
||||||
for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
|
|
||||||
{
|
{
|
||||||
var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
|
var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
|
||||||
|
|
||||||
var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
|
var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
|
||||||
|
|
||||||
if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
|
if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
|
||||||
@@ -114,7 +221,6 @@ namespace DiakonieKKKleve
|
|||||||
{
|
{
|
||||||
dayDetailList.Add(dd);
|
dayDetailList.Add(dd);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
|
if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
|
||||||
{
|
{
|
||||||
@@ -124,12 +230,9 @@ namespace DiakonieKKKleve
|
|||||||
{
|
{
|
||||||
dayDetailList.Add(dd);
|
dayDetailList.Add(dd);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return dayDetailList.OrderBy(dd => dd.Date).ToList();
|
return dayDetailList.OrderBy(dd => dd.Date).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,243 +241,377 @@ namespace DiakonieKKKleve
|
|||||||
MitarbeiterstundenkontoRO.DayDetail dd = null;
|
MitarbeiterstundenkontoRO.DayDetail dd = null;
|
||||||
MitarbeiterstundenkontoRO.DayDetail returndd = null;
|
MitarbeiterstundenkontoRO.DayDetail returndd = null;
|
||||||
|
|
||||||
if (!dayToDetail.ContainsKey(start.Day))
|
//BerechneArbeitstage(ed, start, start.AddMonths(1).AddDays(-1));
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
|
if (!dayToDetail.ContainsKey(start.Day))
|
||||||
|
{
|
||||||
dd = CreateDayDetail(start, ed);
|
dd = CreateDayDetail(start, ed);
|
||||||
returndd = dd;
|
returndd = dd;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dd = dayToDetail[start.Day];
|
dd = dayToDetail[start.Day];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String ar = "";
|
String ar = "";
|
||||||
|
|
||||||
|
|
||||||
foreach (var at in ed.Employee.AbsenceTimes)
|
foreach (var at in ed.Employee.AbsenceTimes)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ((!at.Start.HasValue || at.Start.Value <= start) &&
|
if ((!at.Start.HasValue || at.Start.Value <= start) &&
|
||||||
(!at.End.HasValue || at.End.Value >= start))
|
(!at.End.HasValue || at.End.Value >= start))
|
||||||
{
|
{
|
||||||
ar = at.AbsenceReason.Description;
|
ar = at.AbsenceReason.Description;
|
||||||
}
|
DateTimeSpan span = new DateTimeSpan();
|
||||||
|
span.StartDate = dd.Date;
|
||||||
|
|
||||||
|
if (at.Start.HasValue && at.Start.Value > span.StartDate)
|
||||||
|
{
|
||||||
|
span.StartDate = at.Start.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (at.End.HasValue && at.End.Value.Date == span.StartDate.Date &&
|
||||||
|
at.End.Value.Hour > 0)
|
||||||
|
{
|
||||||
|
span.EndDate = at.End.Value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
span.EndDate = dd.Date.AddDays(1);
|
||||||
|
if (at.End.HasValue && at.End.Value.Date.AddDays(1) < span.EndDate)
|
||||||
|
{
|
||||||
|
span.EndDate = at.End.Value.Date.AddDays(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (span.EndDate > dd.Date && span.StartDate < dd.Date.AddDays(1))
|
||||||
|
{
|
||||||
|
DateTime day = span.StartDate;
|
||||||
|
var faktor = GetFeiertagsFaktor(day);
|
||||||
|
|
||||||
|
if (faktor < 1 && day.DayOfWeek != DayOfWeek.Saturday && day.DayOfWeek != DayOfWeek.Sunday)
|
||||||
|
{
|
||||||
|
var sollDiesenTag = ed.SollProTag;
|
||||||
|
|
||||||
|
var c = ed.Employee.GetValidContractForDate(dd.Date);
|
||||||
|
if (c != null)
|
||||||
|
{
|
||||||
|
decimal wth = 0;
|
||||||
|
int apw = 5;
|
||||||
|
|
||||||
|
if (c.WeeklyTotalHours.HasValue)
|
||||||
|
{
|
||||||
|
wth = c.WeeklyTotalHours.Value;
|
||||||
|
}
|
||||||
|
if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
|
||||||
|
{
|
||||||
|
apw = c.WeeklyDays.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
sollDiesenTag = wth / apw;
|
||||||
|
}
|
||||||
|
if (HatArbeitszeitImZeitraum(ed.Employee.Arbeitszeiten, dd.Date, dd.Date))
|
||||||
|
{
|
||||||
|
sollDiesenTag = BerechneAlleAbwesenheitsStundenFuerArbeitszeiten(ed.Employee, dd.Date);
|
||||||
|
}
|
||||||
|
if (span.StartDate.Hour > 0 && span.EndDate.Hour > 0)
|
||||||
|
{
|
||||||
|
var ts = span.EndDate.Subtract(span.StartDate);
|
||||||
|
sollDiesenTag -= ts.Hours;
|
||||||
|
if (sollDiesenTag < 0)
|
||||||
|
{
|
||||||
|
sollDiesenTag = 0;
|
||||||
|
}
|
||||||
|
faktor = 1; // Keine halben Feiertag berücksichtigen, wenn die Abwesenheit in Stunden angegeben wurde
|
||||||
|
|
||||||
|
}
|
||||||
|
if (ed.AbsenceTimeDays != null && ed.AbsenceTimeDays.TageProWocheDict != null)
|
||||||
|
{
|
||||||
|
if (ed.AbsenceTimeDays.RestStundenProWocheDict == null)
|
||||||
|
{
|
||||||
|
ed.AbsenceTimeDays.RestStundenProWocheDict = new Dictionary<DateTimeSpan, decimal>();
|
||||||
|
}
|
||||||
|
foreach (var week in ed.AbsenceTimeDays.TageProWocheDict.Keys)
|
||||||
|
{
|
||||||
|
if (!ed.AbsenceTimeDays.RestStundenProWocheDict.ContainsKey(week))
|
||||||
|
{
|
||||||
|
ed.AbsenceTimeDays.RestStundenProWocheDict.Add(week, ed.SollProWoche);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (day.Date >= week.StartDate && day.Date <= week.EndDate)
|
||||||
|
{
|
||||||
|
var rest = ed.AbsenceTimeDays.RestStundenProWocheDict[week];
|
||||||
|
if (rest < sollDiesenTag)
|
||||||
|
{
|
||||||
|
sollDiesenTag = rest;
|
||||||
|
}
|
||||||
|
rest -= sollDiesenTag;
|
||||||
|
if (rest < 0)
|
||||||
|
{
|
||||||
|
rest = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ed.AbsenceTimeDays.RestStundenProWocheDict[week] = rest;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
decimal maxSoll = sollDiesenTag;
|
||||||
|
if (faktor != 0)
|
||||||
|
{
|
||||||
|
sollDiesenTag *= faktor; //halbe Feiertage etc. berücksichtigen
|
||||||
|
}
|
||||||
|
if (IsUrlaubAbsenceTime(at))
|
||||||
|
{
|
||||||
|
dd.HoursInVacation = sollDiesenTag;
|
||||||
|
}
|
||||||
|
else if (IsKrankheitAbsenceTime(at))
|
||||||
|
{
|
||||||
|
dd.HoursSick = sollDiesenTag;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
if (dd.AbsenceTimes == null)
|
||||||
|
{
|
||||||
|
dd.AbsenceTimes = new List<AbsenceTime>();
|
||||||
|
}
|
||||||
|
dd.AbsenceTimes.Add(at);
|
||||||
|
dd.MinutesTotal += sollDiesenTag * 60;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dd.Custom10 = ar;
|
dd.Custom10 = ar;
|
||||||
dd.MinutesTotal += minuten;
|
// dd.MinutesTotal += minuten;
|
||||||
|
|
||||||
return returndd;
|
return returndd;
|
||||||
}
|
}
|
||||||
|
|
||||||
//public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
|
private bool HatArbeitszeitImZeitraum(IList<Arbeitszeit> arbeitszeiten, DateTime start, DateTime ende)
|
||||||
//{
|
{
|
||||||
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
|
if (arbeitszeiten != null)
|
||||||
|
{
|
||||||
|
foreach (var az in arbeitszeiten)
|
||||||
|
{
|
||||||
|
if ((!az.GueltigVon.HasValue || az.GueltigVon.Value < ende) && (!az.GueltigBis.HasValue || az.GueltigBis.Value >= start) && az.ArbeitszeitEintraege != null && az.ArbeitszeitEintraege.Count > 0)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// decimal flmTotal = 0;
|
return false;
|
||||||
// decimal azTotal = 0;
|
}
|
||||||
// foreach (var sr in recordsAll)
|
|
||||||
// {
|
|
||||||
// if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
|
|
||||||
// {
|
|
||||||
// decimal duration = 0;
|
|
||||||
// if (sr.GroupRoundedDuration.HasValue)
|
|
||||||
// {
|
|
||||||
// duration = sr.GroupRoundedDuration.Value;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// duration = sr.RoundedDuration;
|
|
||||||
// }
|
|
||||||
// if (AddServiceRecordToDuration(sr))
|
|
||||||
// {
|
|
||||||
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, sr.Start.Value.Day), ed);
|
|
||||||
// dayDetailList.Add(dd);
|
|
||||||
|
|
||||||
// dd.MinutesTotal += duration;
|
//public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
|
||||||
// if (dd.ServiceRecords == null)
|
//{
|
||||||
// dd.ServiceRecords = new List<ServiceRecord>();
|
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
|
||||||
// dd.ServiceRecords.Add(sr);
|
|
||||||
|
|
||||||
// CalculateSpecialHours(dd, sr, duration);
|
// decimal flmTotal = 0;
|
||||||
|
// decimal azTotal = 0;
|
||||||
|
// foreach (var sr in recordsAll)
|
||||||
|
// {
|
||||||
|
// if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
|
||||||
|
// {
|
||||||
|
// decimal duration = 0;
|
||||||
|
// if (sr.GroupRoundedDuration.HasValue)
|
||||||
|
// {
|
||||||
|
// duration = sr.GroupRoundedDuration.Value;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// duration = sr.RoundedDuration;
|
||||||
|
// }
|
||||||
|
// if (AddServiceRecordToDuration(sr))
|
||||||
|
// {
|
||||||
|
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, sr.Start.Value.Day), ed);
|
||||||
|
// dayDetailList.Add(dd);
|
||||||
|
|
||||||
|
// dd.MinutesTotal += duration;
|
||||||
|
// if (dd.ServiceRecords == null)
|
||||||
|
// dd.ServiceRecords = new List<ServiceRecord>();
|
||||||
|
// dd.ServiceRecords.Add(sr);
|
||||||
|
|
||||||
|
// CalculateSpecialHours(dd, sr, duration);
|
||||||
|
|
||||||
|
|
||||||
// DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);
|
// DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);
|
||||||
|
|
||||||
// dd.StartDateTime1 = sr.Start;
|
// dd.StartDateTime1 = sr.Start;
|
||||||
|
|
||||||
// dd.EndDateTime1 = dtEnd;
|
// dd.EndDateTime1 = dtEnd;
|
||||||
|
|
||||||
// azTotal += duration;
|
// azTotal += duration;
|
||||||
|
|
||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
|
|
||||||
// if (sr.ServiceDescription.ServiceCategory.IsBillable)
|
// if (sr.ServiceDescription.ServiceCategory.IsBillable)
|
||||||
// {
|
// {
|
||||||
// flmTotal += duration;
|
// flmTotal += duration;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// if (azTotal != 0)
|
// if (azTotal != 0)
|
||||||
// {
|
// {
|
||||||
// ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
|
// ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// var sollProTag = ed.SollProTag;
|
// var sollProTag = ed.SollProTag;
|
||||||
|
|
||||||
// if (ed.ArbeitstageProWoche != 5)
|
// if (ed.ArbeitstageProWoche != 5)
|
||||||
// {
|
// {
|
||||||
// sollProTag = (sollProTag * 5) / ed.ArbeitstageProWoche;
|
// sollProTag = (sollProTag * 5) / ed.ArbeitstageProWoche;
|
||||||
// }
|
// }
|
||||||
// for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
|
// for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
|
||||||
// {
|
// {
|
||||||
// var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
|
// var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
|
||||||
|
|
||||||
// var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
|
// var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
|
||||||
|
|
||||||
// if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
|
// if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
|
||||||
// {
|
// {
|
||||||
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
|
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
|
||||||
// dayDetailList.Add(dd);
|
// dayDetailList.Add(dd);
|
||||||
|
|
||||||
|
|
||||||
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
|
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
|
||||||
// }
|
// }
|
||||||
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
|
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
|
||||||
// {
|
// {
|
||||||
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
|
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
|
||||||
// dayDetailList.Add(dd);
|
// dayDetailList.Add(dd);
|
||||||
|
|
||||||
// dd.MinutesTotal = (sollProTag * 60) / ah.TageUrlaub.Value;
|
// dd.MinutesTotal = (sollProTag * 60) / ah.TageUrlaub.Value;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// return dayDetailList.OrderBy(dd => dd.Date).ToList();
|
// return dayDetailList.OrderBy(dd => dd.Date).ToList();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//private void BerechneZeitraeume()
|
//private void BerechneZeitraeume()
|
||||||
//{
|
//{
|
||||||
// foreach (var ddKeyValue in dayToDetail)
|
// foreach (var ddKeyValue in dayToDetail)
|
||||||
// {
|
// {
|
||||||
// var dd = ddKeyValue.Value;
|
// var dd = ddKeyValue.Value;
|
||||||
// if (dd.ZusammenhaengendeZeitraeume == null)
|
// if (dd.ZusammenhaengendeZeitraeume == null)
|
||||||
// {
|
// {
|
||||||
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
|
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (dd.ServiceRecords != null)
|
// if (dd.ServiceRecords != null)
|
||||||
// {
|
// {
|
||||||
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
|
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
|
||||||
|
|
||||||
// DateTime lastEnd = DateTime.MinValue;
|
// DateTime lastEnd = DateTime.MinValue;
|
||||||
// var gapCount = -1;
|
// var gapCount = -1;
|
||||||
|
|
||||||
// foreach (var sr in orderedList)
|
// foreach (var sr in orderedList)
|
||||||
// {
|
// {
|
||||||
// if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
|
// if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
|
||||||
// {
|
// {
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// decimal duration = GetDuration(sr);
|
// decimal duration = GetDuration(sr);
|
||||||
|
|
||||||
|
|
||||||
// DateTime dtEnd = sr.Start.Value.AddMinutes((double) duration);
|
// DateTime dtEnd = sr.Start.Value.AddMinutes((double) duration);
|
||||||
// if (sr.Start > lastEnd)
|
// if (sr.Start > lastEnd)
|
||||||
// {
|
// {
|
||||||
// gapCount++;
|
// gapCount++;
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (dtEnd > lastEnd)
|
// if (dtEnd > lastEnd)
|
||||||
// {
|
// {
|
||||||
// lastEnd = dtEnd;
|
// lastEnd = dtEnd;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// DateTimeSpan currentSpan = null;
|
// DateTimeSpan currentSpan = null;
|
||||||
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
|
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
|
||||||
// {
|
// {
|
||||||
// currentSpan = new DateTimeSpan();
|
// currentSpan = new DateTimeSpan();
|
||||||
// currentSpan.StartDateTime = DateTime.MaxValue;
|
// currentSpan.StartDateTime = DateTime.MaxValue;
|
||||||
// currentSpan.EndDateTime = DateTime.MinValue;
|
// currentSpan.EndDateTime = DateTime.MinValue;
|
||||||
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
|
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
|
||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
|
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (sr.Start < currentSpan.StartDateTime)
|
// if (sr.Start < currentSpan.StartDateTime)
|
||||||
// {
|
// {
|
||||||
// currentSpan.StartDateTime = sr.Start.Value;
|
// currentSpan.StartDateTime = sr.Start.Value;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (dtEnd > currentSpan.EndDateTime)
|
// if (dtEnd > currentSpan.EndDateTime)
|
||||||
// {
|
// {
|
||||||
// currentSpan.EndDateTime = dtEnd;
|
// currentSpan.EndDateTime = dtEnd;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (gapCount == 0)
|
// if (gapCount == 0)
|
||||||
// {
|
// {
|
||||||
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
|
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
|
||||||
// {
|
// {
|
||||||
// dd.StartDateTime1 = sr.Start;
|
// dd.StartDateTime1 = sr.Start;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
|
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
|
||||||
// {
|
// {
|
||||||
// dd.EndDateTime1 = dtEnd;
|
// dd.EndDateTime1 = dtEnd;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// else if (gapCount == 1)
|
// else if (gapCount == 1)
|
||||||
// {
|
// {
|
||||||
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
|
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
|
||||||
// {
|
// {
|
||||||
// dd.StartDateTime2 = sr.Start;
|
// dd.StartDateTime2 = sr.Start;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
|
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
|
||||||
// {
|
// {
|
||||||
// dd.EndDateTime2 = dtEnd;
|
// dd.EndDateTime2 = dtEnd;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// else if (gapCount == 2)
|
// else if (gapCount == 2)
|
||||||
// {
|
// {
|
||||||
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
|
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
|
||||||
// {
|
// {
|
||||||
// dd.StartDateTime3 = sr.Start;
|
// dd.StartDateTime3 = sr.Start;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
|
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
|
||||||
// {
|
// {
|
||||||
// dd.EndDateTime3 = dtEnd;
|
// dd.EndDateTime3 = dtEnd;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
|
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
|
||||||
// {
|
// {
|
||||||
// dd.StartDateTime4 = sr.Start;
|
// dd.StartDateTime4 = sr.Start;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
|
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
|
||||||
// {
|
// {
|
||||||
// dd.EndDateTime4 = dtEnd;
|
// dd.EndDateTime4 = dtEnd;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
|
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
|
||||||
{
|
{
|
||||||
return new MitarbeiterstundenkontoRO.DayDetail { Date = date.Date, NightStart = 21, NightEnd = 6 };
|
return new MitarbeiterstundenkontoRO.DayDetail { Date = date.Date, NightStart = 21, NightEnd = 6 };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace DiakonieKKKleve
|
|||||||
var msb = new DiakonieKKKleveMitarbeiterstundenkontoBerechnung();
|
var msb = new DiakonieKKKleveMitarbeiterstundenkontoBerechnung();
|
||||||
msb.CreateReport(pRO);
|
msb.CreateReport(pRO);
|
||||||
|
|
||||||
ueberschriftsLabel.Text = string.Format("Arbeitszeiterfassung für den Monat {0}", pRO.ReportStartDate.ToString("MMMM yyyy"));
|
ueberschriftsLabel.Text = string.Format("Arbeitszeiterfassung f<EFBFBD>r den Monat {0}", pRO.ReportStartDate.ToString("MMMM yyyy"));
|
||||||
sollStundenMonatLabelTableCell.Text = string.Format("Sollstunden Monat {0}", pRO.ReportStartDate.ToString("MMMM yyyy"));
|
sollStundenMonatLabelTableCell.Text = string.Format("Sollstunden Monat {0}", pRO.ReportStartDate.ToString("MMMM yyyy"));
|
||||||
|
|
||||||
bindingSource1.DataSource = pRO;
|
bindingSource1.DataSource = pRO;
|
||||||
|
|||||||
@@ -636,7 +636,7 @@ namespace DiakonieKKKleve
|
|||||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.WorkDaysThisMonth", "{0:#,##}")});
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ArbeitstageImBerichtszeitraum", "{0:#,##}")});
|
||||||
this.xrTableCell23.Name = "xrTableCell23";
|
this.xrTableCell23.Name = "xrTableCell23";
|
||||||
this.xrTableCell23.StylePriority.UseBorders = false;
|
this.xrTableCell23.StylePriority.UseBorders = false;
|
||||||
this.xrTableCell23.StylePriority.UseTextAlignment = false;
|
this.xrTableCell23.StylePriority.UseTextAlignment = false;
|
||||||
|
|||||||
@@ -55,11 +55,11 @@ namespace KetteReports
|
|||||||
lblKundennr.Visible = false;
|
lblKundennr.Visible = false;
|
||||||
lblAbsenderJA.Visible = true;
|
lblAbsenderJA.Visible = true;
|
||||||
notice +=
|
notice +=
|
||||||
"\nSollten Sie dem Lastschriftverfahren zugestimmt haben, wird der Rechnungsbetrag in den nächsten Tagen von ihrem Konto eingezogen.\nUm Ihre Überweisung besser zuordnen zu können bitten wir Sie um die Angabe der Rechnungsnummer.";
|
"\nSollten Sie dem Lastschriftverfahren zugestimmt haben, wird der Rechnungsbetrag in den nächsten Tagen von ihrem Konto eingezogen.\nUm Ihre Überweisung besser zuordnen zu können, bitten wir Sie um die Angabe der Rechnungsnummer.";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
notice +=
|
notice +=
|
||||||
"\nSollten Sie dem Lastschriftverfahren zugestimmt haben, wird der Rechnungsbetrag in den nächsten Tagen von ihrem Konto eingezogen.\nUm Ihre Überweisung besser zuordnen zu können bitten wir Sie um die Angabe des Leistungsmonats, der Kundennummer und der Rechnungsnummer.";
|
"\nSollten Sie dem Lastschriftverfahren zugestimmt haben, wird der Rechnungsbetrag in den nächsten Tagen von ihrem Konto eingezogen.\nUm Ihre Überweisung besser zuordnen zu können, bitten wir Sie um die Angabe des Leistungsmonats, der Kundennummer und der Rechnungsnummer.";
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(pRO.Notice))
|
if (String.IsNullOrEmpty(pRO.Notice))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,8 +48,9 @@ namespace PerspektivenEV
|
|||||||
{
|
{
|
||||||
XtraReport invoiceReport = null;
|
XtraReport invoiceReport = null;
|
||||||
|
|
||||||
if (iDC.InvoiceBase.RecipientOrganisation == "SELBSTZAHLER")
|
if (iDC.InvoiceBase.RecipientOrganisation != "LWV Hessen" && iDC.InvoiceBase.Type.ToString() == "Service"
|
||||||
{
|
&& iDC.ServiceInvoicePeriods.Count > 0 && iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory.Name.Contains("BW"))
|
||||||
|
{
|
||||||
XtraReport masterReport = new XtraReport();
|
XtraReport masterReport = new XtraReport();
|
||||||
masterReport.CreateDocument();
|
masterReport.CreateDocument();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user