MH: dienstplanung
This commit is contained in:
@@ -231,13 +231,19 @@ namespace BeWo.View.Detail.Report
|
||||
if (_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart == _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde)
|
||||
{
|
||||
// Status überprüfen und setzen
|
||||
#if DEBUG
|
||||
if (day == 17)
|
||||
Console.WriteLine();
|
||||
#endif
|
||||
bool tagAusgefuellt = CalculateStatusNew24h(eintraegeFuerTag);
|
||||
_DienstplanerRootObj.DienstZeilenListe[0].StatusListe[day - 1].DauerhaftBesetztStatus = tagAusgefuellt ? true : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (day == 9 || day == 18 || day == 23)
|
||||
#if DEBUG
|
||||
if (day == 7)
|
||||
Console.WriteLine();
|
||||
#endif
|
||||
bool tagAusgefuellt = CalculateStatusForTimeSpan(eintraegeFuerTag);
|
||||
_DienstplanerRootObj.DienstZeilenListe[0].StatusListe[day - 1].DauerhaftBesetztStatus = tagAusgefuellt ? true : false;
|
||||
}
|
||||
@@ -273,171 +279,12 @@ namespace BeWo.View.Detail.Report
|
||||
var start = TimeSpan.Parse(dienst.Startzeit);
|
||||
var ende = TimeSpan.Parse(dienst.Endzeit);
|
||||
|
||||
// Identische Schicht kann übersprungen werden
|
||||
if (dienst.DienstOid == vorherigeSchicht.DienstOid && i != 0)
|
||||
{
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Im ersten Durchlauf ist dienst == vorherigeSchicht
|
||||
if (i == 0)
|
||||
{
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Start ist früher als Ende, wenn eine Schicht über 0 Uhr hinausgeht => Stunden müssen anders berechnet werden
|
||||
bool andereBerechnungNoetig = (start < ende) ? false : true;
|
||||
|
||||
bool schichtInnerhalbAndererSchicht = false;
|
||||
// Wenn eine Überschneidung existiert, also die neue Schicht beginnt, bevor die vorherige endet
|
||||
if (start < vorherigeSchichtEnde)
|
||||
{
|
||||
// Wenn Schicht vor Ende der vorherigen Schicht beginnt UND aufhört
|
||||
if (start < vorherigeSchichtEnde && ende < vorherigeSchichtEnde && !andereBerechnungNoetig)
|
||||
{
|
||||
stundenOhneUeberschneidungen += 0;
|
||||
schichtInnerhalbAndererSchicht = true;
|
||||
dienst.UmschließenderDienst = vorherigeSchicht;
|
||||
}
|
||||
// Schicht startet vor Ende der vorherigen
|
||||
else
|
||||
{
|
||||
// Wenn die Schicht nicht über 0 Uhr hinausgeht, ist die Berechnung normal
|
||||
if (!andereBerechnungNoetig)
|
||||
stundenOhneUeberschneidungen += Math.Round((ende - start).TotalHours - (vorherigeSchichtEnde.Hours - start.Hours), 2);
|
||||
// Geht die Schicht über 0 Uhr hinaus, muss die Berechnung anders durchgeführt werden
|
||||
else
|
||||
{
|
||||
var endeAngepasst = new DateTime(2000, 1, 1, ende.Hours, ende.Minutes, ende.Seconds).AddDays(1);
|
||||
var startAngepasst = new DateTime(2000, 1, 1, start.Hours, start.Minutes, start.Seconds);
|
||||
var vorherigeSchichtEndeAngepasst = new DateTime(2000, 1, 1, vorherigeSchichtEnde.Hours, vorherigeSchichtEnde.Minutes, vorherigeSchichtEnde.Seconds);
|
||||
|
||||
stundenOhneUeberschneidungen += Math.Round((endeAngepasst - startAngepasst).TotalHours - (vorherigeSchichtEndeAngepasst - startAngepasst).TotalHours, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Wenn keine Überschneidung existiert, können einfach die Stunden aufaddiert werden
|
||||
else
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
|
||||
// Wenn die aktuelle Schicht die letzte ist
|
||||
if (i == diensteFuerTag.Count - 1)
|
||||
{
|
||||
// Endet die letzte Schicht früher als die erste Schicht und die 24h vorher nicht voll waren, sind keine 24h ausgefüllt
|
||||
if (ende < TimeSpan.Parse(diensteFuerTag[0].Startzeit) && stundenOhneUeberschneidungen < 24)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn die aktuelle Schicht später beginnt als die vorherige endet, also eine Lücke da ist
|
||||
if (start > vorherigeSchichtEnde && dienst.Oid != vorherigeSchicht.Oid)
|
||||
{
|
||||
if (vorherigeSchicht.UmschließenderDienst != null)
|
||||
{
|
||||
if (TimeSpan.Parse(vorherigeSchicht.UmschließenderDienst.Endzeit) < start)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!schichtInnerhalbAndererSchicht && stundenOhneUeberschneidungen < 24)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
}
|
||||
|
||||
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 bool CalculateStatusForTimeSpan(List<DienstEintragDC> diensteFuerTag)
|
||||
{
|
||||
|
||||
bool tagAusgefuellt = true;
|
||||
|
||||
if (diensteFuerTag.Count != 0)
|
||||
{
|
||||
foreach (var d in diensteFuerTag)
|
||||
{
|
||||
var start = d.Startzeit.Split(':');
|
||||
d.Datum = new DateTime(d.Datum.Year, d.Datum.Month, d.Datum.Day, Convert.ToInt32(start[0]), Convert.ToInt32(start[1]), 0);
|
||||
}
|
||||
|
||||
diensteFuerTag = diensteFuerTag.OrderBy(d => d.Datum).ToList();
|
||||
|
||||
double minStundenFuerGruenenStatus = (_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde - _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart).TotalHours;
|
||||
double stundenOhneUeberschneidungen = 0;
|
||||
|
||||
var startArray = diensteFuerTag[0].Startzeit.Split(':');
|
||||
var dienstStart = new DateTime(_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Year, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Month, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Day,
|
||||
Convert.ToInt32(startArray[0]), Convert.ToInt32(startArray[1]), 0);
|
||||
|
||||
|
||||
if (diensteFuerTag.Any(d => TimeSpan.Parse(d.Startzeit).Hours != 0 || TimeSpan.Parse(d.Startzeit).Minutes != 0 ||
|
||||
TimeSpan.Parse(d.Endzeit).Hours != 0 || TimeSpan.Parse(d.Endzeit).Minutes != 0))
|
||||
{
|
||||
if (!diensteFuerTag.Any(d => TimeSpan.Parse(d.Startzeit) <= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay &&
|
||||
TimeSpan.Parse(d.Endzeit) >= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay))
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
}
|
||||
|
||||
// Wenn der zeitlich erste Dienst später beginnt als die Zeit, in der wer da sein muss, ist der Tag nicht ausgefüllt
|
||||
if (dienstStart > _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart)
|
||||
tagAusgefuellt = false;
|
||||
|
||||
bool dienstLaengerAlsPflichtbesetzungsEnde = false;
|
||||
foreach (var dienst in diensteFuerTag)
|
||||
{
|
||||
var endeArray = dienst.Endzeit.Split(':');
|
||||
var dienstEnde = new DateTime(_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Year, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Month, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Day,
|
||||
Convert.ToInt32(endeArray[0]), Convert.ToInt32(endeArray[1]), 0);
|
||||
|
||||
if (dienstEnde.TimeOfDay >= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay)
|
||||
dienstLaengerAlsPflichtbesetzungsEnde = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var vorherigeSchicht = diensteFuerTag[0];
|
||||
var vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
var vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
|
||||
for (int i = 0; i < diensteFuerTag.Count; i++)
|
||||
{
|
||||
var dienst = diensteFuerTag[i];
|
||||
var start = TimeSpan.Parse(dienst.Startzeit);
|
||||
var ende = TimeSpan.Parse(dienst.Endzeit);
|
||||
|
||||
// Wenn beide Zeiten 00:00 sind, müssen nur die Stunden aufaddiert werden. Wenn die Summe am Ende 'minStundenFuerGruenenStatus' überschreitet, ist 'tagAusgefüllt' true
|
||||
if (start.Hours == 0 && start.Minutes == 0 && start.Seconds == 0 && start == ende)
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
else
|
||||
{
|
||||
// Identische Schicht kann übersprungen werden
|
||||
if (dienst.DienstOid == vorherigeSchicht.DienstOid && i != 0)
|
||||
if (dienst.DienstOid == vorherigeSchicht.DienstOid && start == vorherigeSchichtStart && ende == vorherigeSchichtEnde && i != 0)
|
||||
{
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
@@ -487,6 +334,203 @@ namespace BeWo.View.Detail.Report
|
||||
else
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
|
||||
// Wenn die aktuelle Schicht die letzte ist
|
||||
if (i == diensteFuerTag.Count - 1)
|
||||
{
|
||||
// Endet die letzte Schicht früher als die erste Schicht und die 24h vorher nicht voll waren, sind keine 24h ausgefüllt
|
||||
if (ende < TimeSpan.Parse(diensteFuerTag[0].Startzeit) /*&& stundenOhneUeberschneidungen < 24*/)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn die aktuelle Schicht später beginnt als die vorherige endet, also eine Lücke da ist
|
||||
if (start > vorherigeSchichtEnde /* && dienst.Oid != vorherigeSchicht.Oid*/)
|
||||
{
|
||||
if (vorherigeSchicht.UmschließenderDienst != null)
|
||||
{
|
||||
if (TimeSpan.Parse(vorherigeSchicht.UmschließenderDienst.Endzeit) < start)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!schichtInnerhalbAndererSchicht && stundenOhneUeberschneidungen < 24)
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//vorherigeSchicht = dienst;
|
||||
//vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
//vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
}
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
}
|
||||
|
||||
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 bool CalculateStatusForTimeSpan(List<DienstEintragDC> diensteFuerTag)
|
||||
{
|
||||
|
||||
bool tagAusgefuellt = true;
|
||||
|
||||
if (diensteFuerTag.Count != 0)
|
||||
{
|
||||
foreach (var d in diensteFuerTag)
|
||||
{
|
||||
var start = d.Startzeit.Split(':');
|
||||
d.Datum = new DateTime(d.Datum.Year, d.Datum.Month, d.Datum.Day, Convert.ToInt32(start[0]), Convert.ToInt32(start[1]), 0);
|
||||
}
|
||||
|
||||
diensteFuerTag = diensteFuerTag.OrderBy(d => d.Datum).ToList();
|
||||
|
||||
double minStundenFuerGruenenStatus = (_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde - _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart).TotalHours;
|
||||
double stundenOhneUeberschneidungen = 0;
|
||||
|
||||
var startArray = diensteFuerTag[0].Startzeit.Split(':');
|
||||
var dienstStart = new DateTime(_DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Year, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Month, _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.Day,
|
||||
Convert.ToInt32(startArray[0]), Convert.ToInt32(startArray[1]), 0);
|
||||
|
||||
|
||||
// Wenn es eine einzige Schicht gibt, die nicht nur die Dauer hat, müssen zusätzliche Faktoren gecheckt werden
|
||||
if (diensteFuerTag.Any(d => TimeSpan.Parse(d.Startzeit).Hours != 0 || TimeSpan.Parse(d.Startzeit).Minutes != 0 ||
|
||||
TimeSpan.Parse(d.Endzeit).Hours != 0 || TimeSpan.Parse(d.Endzeit).Minutes != 0))
|
||||
{
|
||||
// Wenn kein Dienst die Startzeit der Pflichtbesetzung umschließt oder die Startzeit als Schichtbeginn hat, dann ist der Tag nicht ausgefüllt (eig. schon..)
|
||||
if (!diensteFuerTag.Any(d => TimeSpan.Parse(d.Startzeit) <= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay &&
|
||||
TimeSpan.Parse(d.Endzeit) >= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay))
|
||||
{
|
||||
tagAusgefuellt = false;
|
||||
}
|
||||
|
||||
// Wenn der zeitlich erste Dienst später beginnt als die Zeit, in der wer da sein muss, ist der Tag nicht ausgefüllt
|
||||
if (dienstStart > _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart)
|
||||
tagAusgefuellt = false;
|
||||
|
||||
//bool dienstLaengerAlsPflichtbesetzungsEnde = false;
|
||||
//foreach (var dienst in diensteFuerTag)
|
||||
//{
|
||||
// var dienstEndeTime = TimeSpan.Parse(dienst.Endzeit);
|
||||
// if (dienstEndeTime > _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay)
|
||||
// dienstLaengerAlsPflichtbesetzungsEnde = true;
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var vorherigeSchicht = diensteFuerTag[0];
|
||||
var vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
var vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
|
||||
for (int i = 0; i < diensteFuerTag.Count; i++)
|
||||
{
|
||||
var dienst = diensteFuerTag[i];
|
||||
var start = TimeSpan.Parse(dienst.Startzeit);
|
||||
var ende = TimeSpan.Parse(dienst.Endzeit);
|
||||
|
||||
// Wenn beide Zeiten 00:00 sind, müssen nur die Stunden aufaddiert werden
|
||||
if (start.Hours == 0 && start.Minutes == 0 && start.Seconds == 0 && start == ende)
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
else
|
||||
{
|
||||
// Identische Schicht kann übersprungen werden
|
||||
if (dienst.DienstOid == vorherigeSchicht.DienstOid && start == vorherigeSchichtStart && ende == vorherigeSchichtEnde && i != 0)
|
||||
{
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Im ersten Durchlauf ist dienst == vorherigeSchicht
|
||||
if (i == 0)
|
||||
{
|
||||
// Wenn die erste Schicht vor Pflichtbesetzungsstart beginnt, zählen die Stunden erst ab dem Pflichtbesetzungsstart
|
||||
if (start < _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay)
|
||||
{
|
||||
// Wenn das Ende auch vor Pflichtbesetzungsstart ist, sind es 0 Stunden
|
||||
if (ende <= _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay)
|
||||
continue;
|
||||
|
||||
start = _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungStart.TimeOfDay;
|
||||
stundenOhneUeberschneidungen += (ende - start).TotalHours;
|
||||
continue;
|
||||
}
|
||||
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Start ist früher als Ende, wenn eine Schicht über 0 Uhr hinausgeht => Stunden müssen anders berechnet werden
|
||||
bool andereBerechnungNoetig = (start < ende) ? false : true;
|
||||
|
||||
bool schichtInnerhalbAndererSchicht = false;
|
||||
// Wenn eine Überschneidung existiert, also die neue Schicht beginnt, bevor die vorherige endet
|
||||
if (start < vorherigeSchichtEnde)
|
||||
{
|
||||
// Wenn Schicht vor Ende der vorherigen Schicht beginnt UND aufhört
|
||||
if (start < vorherigeSchichtEnde && ende < vorherigeSchichtEnde && !andereBerechnungNoetig)
|
||||
{
|
||||
stundenOhneUeberschneidungen += 0;
|
||||
schichtInnerhalbAndererSchicht = true;
|
||||
dienst.UmschließenderDienst = vorherigeSchicht;
|
||||
}
|
||||
// Wenn Schichtende nach dem Ende der Pflichtbesetzung ist
|
||||
else if (start < _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay && ende > _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay)
|
||||
{
|
||||
// Wenn die Schicht nicht über 0 Uhr hinausgeht, ist die Berechnung normal
|
||||
if (!andereBerechnungNoetig)
|
||||
{
|
||||
ende = _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay;
|
||||
stundenOhneUeberschneidungen += Math.Round((ende - start).TotalHours - (vorherigeSchichtEnde.Hours - start.Hours), 2);
|
||||
}
|
||||
}
|
||||
// Schicht startet vor Ende der vorherigen
|
||||
else if (start < vorherigeSchichtEnde && ende > vorherigeSchichtEnde)
|
||||
{
|
||||
// Wenn die Schicht nicht über 0 Uhr hinausgeht, ist die Berechnung normal
|
||||
if (!andereBerechnungNoetig)
|
||||
stundenOhneUeberschneidungen += Math.Round((ende - start).TotalHours - (vorherigeSchichtEnde - start).TotalHours, 2);
|
||||
// Geht die Schicht über 0 Uhr hinaus, muss die Berechnung anders durchgeführt werden
|
||||
else
|
||||
{
|
||||
var endeAngepasst = new DateTime(2000, 1, 1, ende.Hours, ende.Minutes, ende.Seconds).AddDays(1);
|
||||
var startAngepasst = new DateTime(2000, 1, 1, start.Hours, start.Minutes, start.Seconds);
|
||||
var vorherigeSchichtEndeAngepasst = new DateTime(2000, 1, 1, vorherigeSchichtEnde.Hours, vorherigeSchichtEnde.Minutes, vorherigeSchichtEnde.Seconds);
|
||||
|
||||
stundenOhneUeberschneidungen += Math.Round((endeAngepasst - startAngepasst).TotalHours - (vorherigeSchichtEndeAngepasst - startAngepasst).TotalHours, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Wenn keine Überschneidung existiert, können einfach die Stunden aufaddiert werden
|
||||
else
|
||||
{
|
||||
if (start < _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay && ende > _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay)
|
||||
{
|
||||
ende = _DienstplanerRootObj.ZeitraumFuerPflichtbesetzungEnde.TimeOfDay;
|
||||
stundenOhneUeberschneidungen += (ende - start).TotalHours;
|
||||
}
|
||||
else
|
||||
stundenOhneUeberschneidungen += dienst.DauerInStunden;
|
||||
|
||||
}
|
||||
|
||||
// Wenn die aktuelle Schicht die letzte ist
|
||||
if (i == diensteFuerTag.Count - 1)
|
||||
{
|
||||
@@ -522,10 +566,14 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
}
|
||||
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
//vorherigeSchicht = dienst;
|
||||
//vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
//vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
}
|
||||
|
||||
vorherigeSchicht = dienst;
|
||||
vorherigeSchichtStart = TimeSpan.Parse(vorherigeSchicht.Startzeit);
|
||||
vorherigeSchichtEnde = TimeSpan.Parse(vorherigeSchicht.Endzeit);
|
||||
}
|
||||
|
||||
if (stundenOhneUeberschneidungen < minStundenFuerGruenenStatus) //Wenn nach durchgehen aller Schichten für Tag nicht x Stunden erreicht wurden
|
||||
@@ -659,7 +707,7 @@ namespace BeWo.View.Detail.Report
|
||||
_MonthPicker.SelectedMonth = DateTime.Today.Month;
|
||||
_YearPicker.SelectedItem = DateTime.Today.Year;
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
private void GroupBox_MouseDown(object sender, MouseButtonEventArgs e)
|
||||
@@ -784,9 +832,7 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
}
|
||||
popUp_mehrereDienste.IsOpen = true;
|
||||
#if DEBUG
|
||||
mehrereDienste_wrappanel_zeile.Visibility = Visibility.Visible;
|
||||
#endif
|
||||
|
||||
// Boxen mit Daten füllen
|
||||
combobox_mehrereDienste_mitarbeiter.ItemsSource = emps;
|
||||
@@ -1195,7 +1241,7 @@ namespace BeWo.View.Detail.Report
|
||||
var fieldname = _GridControl.View.GetColumnByMouseEventArgs(e).FieldName.Split('_');
|
||||
_AuswahlTag = int.Parse(fieldname[1]);
|
||||
|
||||
#region Möglichkeit, Dienste an Feier-, Krankheits- und Urlaubstagen einzutragen, erlauben oder verbieten
|
||||
#region Möglichkeit, Dienste an Feier-, Krankheits- und Urlaubstagen einzutragen, erlauben oder verbieten
|
||||
|
||||
//Dienste an Feiertagen setzen können deaktivieren
|
||||
if (!_DienstplanerRootObj.EnableDiensteAnFeiertagen)
|
||||
@@ -1207,9 +1253,9 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Bei vorhandenem Dienst in der Zelle Zeiten und gewählten Dienst im PopUp setzen und den Header anpassen
|
||||
#region Bei vorhandenem Dienst in der Zelle Zeiten und gewählten Dienst im PopUp setzen und den Header anpassen
|
||||
if (e.LeftButton == MouseButtonState.Pressed || LetzterEintrag == null)
|
||||
{
|
||||
popUp_RightClick.IsOpen = true;
|
||||
@@ -1322,7 +1368,7 @@ namespace BeWo.View.Detail.Report
|
||||
InsertEintragOderVertretung(LetzterEintrag.Startzeit, LetzterEintrag.Endzeit, LetzterEintrag.DauerInStunden, _AuswahlDienstZeileDC.Employee,
|
||||
Pointer, _DienstplanerRootObj.AlleDienste.First(d => d.Oid == LetzterEintrag.DienstOid), _AuswahlDienstZeileDC.Zeile, LetzterEintrag.Notice);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
}
|
||||
|
||||
// Die regelmäßigen Dienste für den entsprechenden Mitarbeiter in die Listbox setzen
|
||||
@@ -1609,7 +1655,7 @@ namespace BeWo.View.Detail.Report
|
||||
absTimeForDay = _AbsenceTimesDict[selZeile.Employee.EmployeeOid.Value].FirstOrDefault(x =>
|
||||
x.Start.Value.Date <= date.Date && (!x.End.HasValue || x.End.Value.Date >= date.Date));
|
||||
|
||||
#region testzwecke, kann eig weg
|
||||
#region testzwecke, kann eig weg
|
||||
//if (date.Day==11)
|
||||
// Console.WriteLine("STOP");
|
||||
|
||||
@@ -1623,7 +1669,7 @@ namespace BeWo.View.Detail.Report
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
// Bei Überstunden diese als Variable setzen
|
||||
OvertimeDC overtime = null;
|
||||
@@ -1821,7 +1867,7 @@ namespace BeWo.View.Detail.Report
|
||||
case "IS":
|
||||
if (selZeile.StatusListe == null)
|
||||
{
|
||||
#region outdated Ist-Berechnung
|
||||
#region outdated Ist-Berechnung
|
||||
// Stunden für Einträge/Vertretungen aufaddieren
|
||||
//var eintraegeFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
//var vertretungenFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
|
||||
@@ -1836,7 +1882,7 @@ namespace BeWo.View.Detail.Report
|
||||
// foreach (var vertretung in vertretungenFuerMitarbeiterMonat)
|
||||
// stunden += Convert.ToDecimal(vertretung.DauerInStunden);
|
||||
//}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
e.Value = new DPCtrlIstInformation
|
||||
{
|
||||
@@ -1862,7 +1908,7 @@ namespace BeWo.View.Detail.Report
|
||||
// Saldo setzen, wenn es nicht die Statuszeile ist
|
||||
if (selZeile.StatusListe == null)
|
||||
{
|
||||
#region outdated Saldo-Berechnung
|
||||
#region outdated Saldo-Berechnung
|
||||
//DienstplanerMonthlySummaryDC summaryForSaldo = new DienstplanerMonthlySummaryDC();
|
||||
//foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
//{
|
||||
@@ -1873,7 +1919,7 @@ namespace BeWo.View.Detail.Report
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
e.Value = new DPCtrlSaldoInformation
|
||||
{
|
||||
@@ -2435,12 +2481,15 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
}
|
||||
// Prüfen, ob an diesem Tag ein Feiertag ist
|
||||
foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
if (!_DienstplanerRootObj.EnableDiensteAnFeiertagen)
|
||||
{
|
||||
if (tag.Datum.Date == date.Date)
|
||||
foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
{
|
||||
eintragFuerDatumExistiert = true;
|
||||
break;
|
||||
if (tag.Datum.Date == date.Date)
|
||||
{
|
||||
eintragFuerDatumExistiert = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach (var abwesenheit in _DienstplanerRootObj.AbsenceTimes.Where(a => a.EmployeeOid == dc.EmployeeOid))
|
||||
@@ -2562,7 +2611,8 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
_DienstplanerRootObj.DienstDCListe = ServiceFacade.DoOperationsServiceSync(s => s.DienstBloeckeNeuSortieren(_DienstplanerRootObj.DienstDCListe, auswahl, aufsteigend));
|
||||
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(ServiceFacade.DoOperationsServiceSync(s => s.InitStatusZeile(AuswahlMonat)));
|
||||
if (_DienstplanerRootObj.EnableStatuszeile)
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(ServiceFacade.DoOperationsServiceSync(s => s.InitStatusZeile(AuswahlMonat)));
|
||||
RefreshGrid();
|
||||
RefreshDienste();
|
||||
}
|
||||
@@ -2589,7 +2639,7 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
}
|
||||
|
||||
#region ColumnCreate
|
||||
#region ColumnCreate
|
||||
|
||||
private GridColumn NewGridColumnUnbound(string header, string fieldName, string tag, GridColumnWidth width, double minWidth, DevExpress.Data.UnboundColumnType unboundColumnType, ControlTemplate displayTemplate, DevExpress.Utils.DefaultBoolean allowResize)
|
||||
{
|
||||
@@ -2704,7 +2754,7 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -37,6 +37,18 @@ namespace IlkaLinkAmbulanteHilfen
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.RecipientPostCodeAndTown = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_RecipientStreet = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel_RecipientDivision = new DevExpress.XtraReports.UI.XRLabel();
|
||||
@@ -64,23 +76,11 @@ namespace IlkaLinkAmbulanteHilfen
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLine2 = new DevExpress.XtraReports.UI.XRLine();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
@@ -149,6 +149,176 @@ namespace IlkaLinkAmbulanteHilfen
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel17
|
||||
//
|
||||
this.xrLabel17.CanShrink = true;
|
||||
this.xrLabel17.Dpi = 254F;
|
||||
this.xrLabel17.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 281.94F);
|
||||
this.xrLabel17.Name = "xrLabel17";
|
||||
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel17.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel17.SizeF = new System.Drawing.SizeF(430.0005F, 48.26001F);
|
||||
this.xrLabel17.StylePriority.UseFont = false;
|
||||
this.xrLabel17.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel17.Text = "Aktenzeichen:";
|
||||
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel16
|
||||
//
|
||||
this.xrLabel16.CanShrink = true;
|
||||
this.xrLabel16.Dpi = 254F;
|
||||
this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 233.68F);
|
||||
this.xrLabel16.Name = "xrLabel16";
|
||||
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel16.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel16.SizeF = new System.Drawing.SizeF(430F, 48.26F);
|
||||
this.xrLabel16.StylePriority.UseFont = false;
|
||||
this.xrLabel16.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel16.Text = "Sachbearbeiter/-in ASD: ";
|
||||
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.CanShrink = true;
|
||||
this.xrLabel5.Dpi = 254F;
|
||||
this.xrLabel5.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 185.42F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(430.0002F, 48.26001F);
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel5.Text = "Familie: ";
|
||||
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Dpi = 254F;
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 96.52003F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(430.0002F, 48.25999F);
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel4.Text = "E-Mail: ";
|
||||
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.CanShrink = true;
|
||||
this.xrLabel13.Dpi = 254F;
|
||||
this.xrLabel13.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 48.25998F);
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(430.0007F, 48.26001F);
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel13.Text = "Tel.: ";
|
||||
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.CanShrink = true;
|
||||
this.xrLabel12.Dpi = 254F;
|
||||
this.xrLabel12.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 0F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel12.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(430.0005F, 48.26F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel12.Text = "Ilka Link";
|
||||
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel3
|
||||
//
|
||||
this.xrLabel3.CanShrink = true;
|
||||
this.xrLabel3.Dpi = 254F;
|
||||
this.xrLabel3.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 48.25998F);
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel3.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(470F, 48.26001F);
|
||||
this.xrLabel3.StylePriority.UseFont = false;
|
||||
this.xrLabel3.Text = "0174 621 4704";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.CanShrink = true;
|
||||
this.xrLabel14.Dpi = 254F;
|
||||
this.xrLabel14.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 96.52003F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel14.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(469.9991F, 48.25999F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "i.link@ivi-bingen.de";
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.CanShrink = true;
|
||||
this.xrLabel15.Dpi = 254F;
|
||||
this.xrLabel15.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 185.42F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel15.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(469.9991F, 48.26001F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "[CustomerLastName]";
|
||||
//
|
||||
// xrLabel18
|
||||
//
|
||||
this.xrLabel18.CanShrink = true;
|
||||
this.xrLabel18.Dpi = 254F;
|
||||
this.xrLabel18.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 233.68F);
|
||||
this.xrLabel18.Name = "xrLabel18";
|
||||
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel18.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel18.SizeF = new System.Drawing.SizeF(469.9999F, 48.26004F);
|
||||
this.xrLabel18.StylePriority.UseFont = false;
|
||||
this.xrLabel18.Text = "[RecipientContactPerson]";
|
||||
//
|
||||
// xrLabel19
|
||||
//
|
||||
this.xrLabel19.CanShrink = true;
|
||||
this.xrLabel19.Dpi = 254F;
|
||||
this.xrLabel19.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 281.94F);
|
||||
this.xrLabel19.Name = "xrLabel19";
|
||||
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel19.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel19.SizeF = new System.Drawing.SizeF(470F, 48.26001F);
|
||||
this.xrLabel19.StylePriority.UseFont = false;
|
||||
this.xrLabel19.Text = "[CustomerReferenceNumber]";
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Dpi = 254F;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(2.540745F, 48.25998F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(596.1592F, 76.19997F);
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel2.Text = "[RecipientOrganisation]";
|
||||
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
|
||||
//
|
||||
// RecipientPostCodeAndTown
|
||||
//
|
||||
this.RecipientPostCodeAndTown.CanShrink = true;
|
||||
@@ -575,31 +745,6 @@ namespace IlkaLinkAmbulanteHilfen
|
||||
this.GroupFooter1.HeightF = 424F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Dpi = 254F;
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 96.24994F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(1549.999F, 43.18002F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Zahlungsbedingung: Zahlbar innerhalb von 30 Tagen netto.";
|
||||
//
|
||||
// xrLine2
|
||||
//
|
||||
this.xrLine2.BorderWidth = 1F;
|
||||
this.xrLine2.Dpi = 254F;
|
||||
this.xrLine2.LineWidth = 3;
|
||||
this.xrLine2.LocationFloat = new DevExpress.Utils.PointFloat(2.540745F, 69.99992F);
|
||||
this.xrLine2.Name = "xrLine2";
|
||||
this.xrLine2.SizeF = new System.Drawing.SizeF(1547.459F, 26.25001F);
|
||||
this.xrLine2.StylePriority.UseBorderWidth = false;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.Dpi = 254F;
|
||||
@@ -630,175 +775,30 @@ namespace IlkaLinkAmbulanteHilfen
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
//
|
||||
// xrLabel2
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Dpi = 254F;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(2.540745F, 48.25998F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(596.1592F, 76.19997F);
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel2.Text = "[RecipientOrganisation]";
|
||||
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
|
||||
this.xrLabel9.Dpi = 254F;
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 96.24994F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(1549.999F, 43.18002F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Zahlungsbedingung: Zahlbar innerhalb von 30 Tagen netto.";
|
||||
//
|
||||
// xrLabel17
|
||||
// xrLine2
|
||||
//
|
||||
this.xrLabel17.CanShrink = true;
|
||||
this.xrLabel17.Dpi = 254F;
|
||||
this.xrLabel17.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 281.94F);
|
||||
this.xrLabel17.Name = "xrLabel17";
|
||||
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel17.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel17.SizeF = new System.Drawing.SizeF(430.0005F, 48.26001F);
|
||||
this.xrLabel17.StylePriority.UseFont = false;
|
||||
this.xrLabel17.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel17.Text = "Aktenzeichen:";
|
||||
this.xrLabel17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
this.xrLine2.BorderWidth = 1F;
|
||||
this.xrLine2.Dpi = 254F;
|
||||
this.xrLine2.LineWidth = 3;
|
||||
this.xrLine2.LocationFloat = new DevExpress.Utils.PointFloat(2.540745F, 69.99992F);
|
||||
this.xrLine2.Name = "xrLine2";
|
||||
this.xrLine2.SizeF = new System.Drawing.SizeF(1547.459F, 26.25001F);
|
||||
this.xrLine2.StylePriority.UseBorderWidth = false;
|
||||
//
|
||||
// xrLabel16
|
||||
// bindingSource1
|
||||
//
|
||||
this.xrLabel16.CanShrink = true;
|
||||
this.xrLabel16.Dpi = 254F;
|
||||
this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 233.68F);
|
||||
this.xrLabel16.Name = "xrLabel16";
|
||||
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel16.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel16.SizeF = new System.Drawing.SizeF(430F, 48.26F);
|
||||
this.xrLabel16.StylePriority.UseFont = false;
|
||||
this.xrLabel16.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel16.Text = "Sachbearbeiter/-in ASD: ";
|
||||
this.xrLabel16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.CanShrink = true;
|
||||
this.xrLabel5.Dpi = 254F;
|
||||
this.xrLabel5.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 185.42F);
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(430.0002F, 48.26001F);
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel5.Text = "Familie: ";
|
||||
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Dpi = 254F;
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(649.9999F, 96.52003F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(430.0002F, 48.25999F);
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel4.Text = "E-Mail: ";
|
||||
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.CanShrink = true;
|
||||
this.xrLabel13.Dpi = 254F;
|
||||
this.xrLabel13.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 48.25998F);
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(430.0007F, 48.26001F);
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel13.Text = "Tel.: ";
|
||||
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.CanShrink = true;
|
||||
this.xrLabel12.Dpi = 254F;
|
||||
this.xrLabel12.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(649.9994F, 0F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel12.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(430.0005F, 48.26F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel12.Text = "Ilka Link";
|
||||
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrLabel3
|
||||
//
|
||||
this.xrLabel3.CanShrink = true;
|
||||
this.xrLabel3.Dpi = 254F;
|
||||
this.xrLabel3.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 48.25998F);
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel3.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(470F, 48.26001F);
|
||||
this.xrLabel3.StylePriority.UseFont = false;
|
||||
this.xrLabel3.Text = "0174 621 4704";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.CanShrink = true;
|
||||
this.xrLabel14.Dpi = 254F;
|
||||
this.xrLabel14.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 96.52003F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel14.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(469.9991F, 48.25999F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.Text = "i.link@ivi-bingen.de";
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.CanShrink = true;
|
||||
this.xrLabel15.Dpi = 254F;
|
||||
this.xrLabel15.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 185.42F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel15.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(469.9991F, 48.26001F);
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.Text = "[CustomerLastName]";
|
||||
//
|
||||
// xrLabel18
|
||||
//
|
||||
this.xrLabel18.CanShrink = true;
|
||||
this.xrLabel18.Dpi = 254F;
|
||||
this.xrLabel18.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 233.68F);
|
||||
this.xrLabel18.Name = "xrLabel18";
|
||||
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel18.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel18.SizeF = new System.Drawing.SizeF(469.9999F, 48.26004F);
|
||||
this.xrLabel18.StylePriority.UseFont = false;
|
||||
this.xrLabel18.Text = "[RecipientContactPerson]";
|
||||
//
|
||||
// xrLabel19
|
||||
//
|
||||
this.xrLabel19.CanShrink = true;
|
||||
this.xrLabel19.Dpi = 254F;
|
||||
this.xrLabel19.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(1080F, 281.94F);
|
||||
this.xrLabel19.Name = "xrLabel19";
|
||||
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
|
||||
this.xrLabel19.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel19.SizeF = new System.Drawing.SizeF(470F, 48.26001F);
|
||||
this.xrLabel19.StylePriority.UseFont = false;
|
||||
this.xrLabel19.Text = "[CustomerReferenceNumber]";
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// ServiceInvoiceReportBP
|
||||
//
|
||||
|
||||
@@ -72,9 +72,13 @@ namespace BeWo.Service.Dienstplanung
|
||||
root.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
if (root.EnableStatuszeile)
|
||||
root.DienstZeilenListe.Add(InitStatusZeile(date));
|
||||
|
||||
root.ZeitraumFuerPflichtbesetzungStart = new DateTime(2000, 01, 01, 0, 0, 0);
|
||||
root.ZeitraumFuerPflichtbesetzungEnde = new DateTime(2000, 01, 01, 0, 0, 0);
|
||||
#if DEBUG
|
||||
root.ZeitraumFuerPflichtbesetzungStart = new DateTime(2000, 01, 01, 9, 0, 0);
|
||||
root.ZeitraumFuerPflichtbesetzungEnde = new DateTime(2000, 01, 01, 17, 0, 0);
|
||||
|
||||
#endif
|
||||
root.StatusColorTrue = "#FF228B22";
|
||||
root.StatusColorFalse = "#FFCD5C5C";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user