AutismusKoelnBonn, DiakonieKKKleve, Kette und PerspektivenEV

This commit is contained in:
Alexandra
2022-07-25 16:43:45 +02:00
parent e1314c17e7
commit d453af2402
8 changed files with 456 additions and 216 deletions

4
.gitignore vendored
View File

@@ -568,3 +568,7 @@ obj
/ReportImp/KundeArbeitszeit
*.user
/ReportImp/KundeMuster
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.designer.cs
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.resx
/ReportImp/DiakonieKKKleve/Mitarbeiterarbeitszeitkonto.cs
/ReportImp/DiakonieKKKleve/CustomMitarbeiterstundenkontoBerechnungTagesansicht.cs

View File

@@ -11,9 +11,6 @@ namespace AutismusKoelnBonn.Invoicing
public class FactorInvoiceCreation : InvoiceCreation
{
private DateTime? accountingPeriodStart = null;
private DateTime? accountingPeriodEnd = null;
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "Faktor";

View File

@@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
@@ -49,8 +51,8 @@ namespace AutismusKoelnBonn
pRO.Services = servicesBillable;
}
if (pRO.SupportConceptCostBearer.SupportConcept.Customer.Teams.Contains("Bonn"))
Customer c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
if (c.Team2CustomerList.Count > 0 && c.Team2CustomerList[0].Team.Name.Contains("Bonn"))
{
lblBonn.Visible = true;
lblKoeln.Visible = false;
@@ -110,7 +112,6 @@ namespace AutismusKoelnBonn
if (newRows > 0)
{
lblUnterschriftKlient.Top += newRows * 20;
lblUnterschriftMitarbeiter.Top += newRows * 20;
}
}
@@ -119,9 +120,9 @@ namespace AutismusKoelnBonn
// TODO: Wie anzeigen? Alle?
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;
@@ -144,9 +145,9 @@ namespace AutismusKoelnBonn
// TODO: Visibile der Datumstextboxen auf true setzen!
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;
@@ -174,7 +175,7 @@ namespace AutismusKoelnBonn
{
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);
Image img = ByteArrayToImage(binData);
System.Drawing.Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
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))
{
return Image.FromStream(memoryStream);
return System.Drawing.Image.FromStream(memoryStream);
}
}
}

View File

@@ -4,6 +4,7 @@ using System.Linq;
using System.Windows.Forms;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.Extensions;
@@ -21,12 +22,12 @@ namespace DiakonieKKKleve
{
var details = CreateDayDetails2(berichtStart, berichtEnde, ed, recordsAll);
foreach (var dd in details)
foreach (var dd in details)
{
if (dd.Custom10 == null)
dd.Custom10 = "";
dd.Custom10 = "";
if (dd.ZusammenhaengendeZeitraeume != null)
if (dd.ZusammenhaengendeZeitraeume != null)
{
foreach (var dts in dd.ZusammenhaengendeZeitraeume)
{
@@ -34,15 +35,115 @@ namespace DiakonieKKKleve
{
dd.Custom10 += ", ";
}
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);
@@ -77,11 +178,9 @@ namespace DiakonieKKKleve
if (AddServiceRecordToDuration(sr))
{
azTotal += duration;
}
else
{
if (sr.ServiceDescription.ServiceCategory.IsBillable)
{
flmTotal += duration;
@@ -95,15 +194,23 @@ namespace DiakonieKKKleve
}
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)
{
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 ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
@@ -114,7 +221,6 @@ namespace DiakonieKKKleve
{
dayDetailList.Add(dd);
}
}
if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
{
@@ -124,12 +230,9 @@ namespace DiakonieKKKleve
{
dayDetailList.Add(dd);
}
}
}
return dayDetailList.OrderBy(dd => dd.Date).ToList();
}
@@ -138,243 +241,377 @@ namespace DiakonieKKKleve
MitarbeiterstundenkontoRO.DayDetail dd = 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);
returndd = dd;
}
else
{
dd = dayToDetail[start.Day];
}
String ar = "";
foreach (var at in ed.Employee.AbsenceTimes)
{
if ((!at.Start.HasValue || at.Start.Value <= start) &&
(!at.End.HasValue || at.End.Value >= start))
{
ar = at.AbsenceReason.Description;
}
if ((!at.Start.HasValue || at.Start.Value <= start) &&
(!at.End.HasValue || at.End.Value >= start))
{
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.MinutesTotal += minuten;
// dd.MinutesTotal += minuten;
return returndd;
}
//public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
//{
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
private bool HatArbeitszeitImZeitraum(IList<Arbeitszeit> arbeitszeiten, DateTime start, DateTime ende)
{
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;
// 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);
return false;
}
// dd.MinutesTotal += duration;
// if (dd.ServiceRecords == null)
// dd.ServiceRecords = new List<ServiceRecord>();
// dd.ServiceRecords.Add(sr);
//public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
//{
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
// 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)
// {
// flmTotal += duration;
// }
// }
// }
// }
// if (azTotal != 0)
// {
// ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
// }
// if (sr.ServiceDescription.ServiceCategory.IsBillable)
// {
// flmTotal += duration;
// }
// }
// }
// }
// if (azTotal != 0)
// {
// ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
// }
// var sollProTag = ed.SollProTag;
// var sollProTag = ed.SollProTag;
// if (ed.ArbeitstageProWoche != 5)
// {
// 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);
// if (ed.ArbeitstageProWoche != 5)
// {
// 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 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)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
// if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
// }
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
// }
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// 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()
//{
// foreach (var ddKeyValue in dayToDetail)
// {
// var dd = ddKeyValue.Value;
// if (dd.ZusammenhaengendeZeitraeume == null)
// {
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
// }
//private void BerechneZeitraeume()
//{
// foreach (var ddKeyValue in dayToDetail)
// {
// var dd = ddKeyValue.Value;
// if (dd.ZusammenhaengendeZeitraeume == null)
// {
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
// }
// if (dd.ServiceRecords != null)
// {
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
// if (dd.ServiceRecords != null)
// {
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
// DateTime lastEnd = DateTime.MinValue;
// var gapCount = -1;
// DateTime lastEnd = DateTime.MinValue;
// var gapCount = -1;
// foreach (var sr in orderedList)
// {
// if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
// {
// continue;
// }
// foreach (var sr in orderedList)
// {
// if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
// {
// continue;
// }
// decimal duration = GetDuration(sr);
// decimal duration = GetDuration(sr);
// DateTime dtEnd = sr.Start.Value.AddMinutes((double) duration);
// if (sr.Start > lastEnd)
// {
// gapCount++;
// DateTime dtEnd = sr.Start.Value.AddMinutes((double) duration);
// if (sr.Start > lastEnd)
// {
// gapCount++;
// }
// }
// if (dtEnd > lastEnd)
// {
// lastEnd = dtEnd;
// }
// if (dtEnd > lastEnd)
// {
// lastEnd = dtEnd;
// }
// DateTimeSpan currentSpan = null;
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
// {
// currentSpan = new DateTimeSpan();
// currentSpan.StartDateTime = DateTime.MaxValue;
// currentSpan.EndDateTime = DateTime.MinValue;
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
// }
// else
// {
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
// }
// DateTimeSpan currentSpan = null;
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
// {
// currentSpan = new DateTimeSpan();
// currentSpan.StartDateTime = DateTime.MaxValue;
// currentSpan.EndDateTime = DateTime.MinValue;
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
// }
// else
// {
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
// }
// if (sr.Start < currentSpan.StartDateTime)
// {
// currentSpan.StartDateTime = sr.Start.Value;
// }
// if (sr.Start < currentSpan.StartDateTime)
// {
// currentSpan.StartDateTime = sr.Start.Value;
// }
// if (dtEnd > currentSpan.EndDateTime)
// {
// currentSpan.EndDateTime = dtEnd;
// }
// if (dtEnd > currentSpan.EndDateTime)
// {
// currentSpan.EndDateTime = dtEnd;
// }
// if (gapCount == 0)
// {
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
// {
// dd.StartDateTime1 = sr.Start;
// }
// if (gapCount == 0)
// {
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
// {
// dd.StartDateTime1 = sr.Start;
// }
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
// {
// dd.EndDateTime1 = dtEnd;
// }
// }
// else if (gapCount == 1)
// {
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
// {
// dd.StartDateTime2 = sr.Start;
// }
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
// {
// dd.EndDateTime1 = dtEnd;
// }
// }
// else if (gapCount == 1)
// {
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
// {
// dd.StartDateTime2 = sr.Start;
// }
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
// {
// dd.EndDateTime2 = dtEnd;
// }
// }
// else if (gapCount == 2)
// {
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
// {
// dd.StartDateTime3 = sr.Start;
// }
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
// {
// dd.EndDateTime2 = dtEnd;
// }
// }
// else if (gapCount == 2)
// {
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
// {
// dd.StartDateTime3 = sr.Start;
// }
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
// {
// dd.EndDateTime3 = dtEnd;
// }
// }
// else
// {
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
// {
// dd.StartDateTime4 = sr.Start;
// }
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
// {
// dd.EndDateTime3 = dtEnd;
// }
// }
// else
// {
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
// {
// dd.StartDateTime4 = sr.Start;
// }
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
// {
// dd.EndDateTime4 = dtEnd;
// }
// }
// }
// }
// }
//}
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
// {
// 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 };
}

View File

@@ -19,7 +19,7 @@ namespace DiakonieKKKleve
var msb = new DiakonieKKKleveMitarbeiterstundenkontoBerechnung();
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"));
bindingSource1.DataSource = pRO;

View File

@@ -636,7 +636,7 @@ namespace DiakonieKKKleve
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
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.StylePriority.UseBorders = false;
this.xrTableCell23.StylePriority.UseTextAlignment = false;

View File

@@ -55,11 +55,11 @@ namespace KetteReports
lblKundennr.Visible = false;
lblAbsenderJA.Visible = true;
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
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))
{

View File

@@ -48,8 +48,9 @@ namespace PerspektivenEV
{
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();
masterReport.CreateDocument();