diff --git a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitWohnstaette.cs b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitWohnstaette.cs index 4224a2b39..7333d229b 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitWohnstaette.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitWohnstaette.cs @@ -8,6 +8,7 @@ using BS.Shared; using BeWo.Report.ReportObjects; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; +using LebenshilfeFrankfurtOder.BesondereWohnform; namespace LebenshilfeFrankfurtOder { @@ -102,7 +103,7 @@ namespace LebenshilfeFrankfurtOder ro.CustomerFirstname = row.CustomerDC.FirstName; ro.CustomerLastname = row.CustomerDC.LastName; - if (ro.CustomerLastname == "Heilscher") + if (ro.CustomerLastname == "List") { int test = 0; } @@ -121,78 +122,80 @@ namespace LebenshilfeFrankfurtOder private void CalculateAbsenceCountGreater3(CompactCustomerDC customer, AnwesenheitCustomerRO ro, DateTime monat) { - if (customer.LastName.Contains("Freyer")) + if (customer.LastName.Contains("Konrad")) { int test = 0; } + var cat = new CustomerAbsenceTimes(customer.AbsenceTimes, monat); + ro.AbsenceCountAHg3 = cat.MehrAls3TageAbwesendAH; - DateTime monatStart = new DateTime(monat.Year, monat.Month, 1); - DateTime monatEnde = monatStart.AddMonths(1); + //DateTime monatStart = new DateTime(monat.Year, monat.Month, 1); + //DateTime monatEnde = monatStart.AddMonths(1); - foreach (var at in customer.AbsenceTimes) - { - if (IstWstAbwesenheit(at) && IstAusserHausAbwesenheit(at)) - { + //foreach (var at in customer.AbsenceTimes) + //{ + // if (IstWstAbwesenheit(at) && IstAusserHausAbwesenheit(at)) + // { - if (at.Start.HasValue && at.Start.Value < monatEnde && - (!at.End.HasValue || at.End.Value >= monatStart)) - { - DateTime dt = at.Start.Value; - DateTime ende = monatEnde.AddMonths(1); // nächstenMonat mit berücksichtigen um Abwesenheiten zu prüfen, die in den nächsten Monat mit hineingehen + // if (at.Start.HasValue && at.Start.Value < monatEnde && + // (!at.End.HasValue || at.End.Value >= monatStart)) + // { + // DateTime dt = at.Start.Value; + // DateTime ende = monatEnde.AddMonths(1); // nächstenMonat mit berücksichtigen um Abwesenheiten zu prüfen, die in den nächsten Monat mit hineingehen - if (at.End.HasValue && at.End.Value < ende) - { - ende = at.End.Value; - } + // if (at.End.HasValue && at.End.Value < ende) + // { + // ende = at.End.Value; + // } - int tageAbwesendInsgesamt = 0; - int tageAbwesendImMonat = 0; - while (dt < ende) // letzer Tag wird nicht mitgezählt - { - tageAbwesendInsgesamt++; + // int tageAbwesendInsgesamt = 0; + // int tageAbwesendImMonat = 0; + // while (dt <= ende) // letzer Tag wird nicht mitgezählt + // { + // tageAbwesendInsgesamt++; - if (dt.Month == monat.Month) - { - tageAbwesendImMonat++; + // if (dt.Month == monat.Month) + // { + // tageAbwesendImMonat++; - } + // } - dt = dt.AddDays(1); - } + // dt = dt.AddDays(1); + // } - if (tageAbwesendInsgesamt > 3) - { - ro.AbsenceCountAHg3 += tageAbwesendImMonat; - } - } - } + // if (tageAbwesendInsgesamt > 3) + // { + // ro.AbsenceCountAHg3 += tageAbwesendImMonat; + // } + // } + // } - } + //} } - private bool IstAusserHausAbwesenheit(AbsenceTimeDC at) - { - String name = at.Reason.Description.ToLower(); + //private bool IstAusserHausAbwesenheit(AbsenceTimeDC at) + //{ + // String name = at.Reason.Description.ToLower(); - if (name.Contains("(ah)") || name.Contains("(ak)") || name.Contains("(kh)") || name.Contains("(au)") || name.Contains("(ac)")) - { - return true; - } + // if (name.Contains("(ah)") || name.Contains("(ak)") || name.Contains("(kh)") || name.Contains("(au)") || name.Contains("(ac)")) + // { + // return true; + // } - return false; - } + // return false; + //} - private bool IstAbwesenheitMitBeendigung(AbsenceTimeDC at) - { - String name = at.Reason.Description.ToLower(); + //private bool IstAbwesenheitMitBeendigung(AbsenceTimeDC at) + //{ + // String name = at.Reason.Description.ToLower(); - if (name.Contains("beendigung")) - { - return true; - } + // if (name.Contains("beendigung")) + // { + // return true; + // } - return false; - } + // return false; + //} //private AnwesenheitCustomerRO CreateAnwesenheitCustomerRo(DateTime monat, CostBearer2SupportConcept cb2Sc) @@ -517,10 +520,10 @@ namespace LebenshilfeFrankfurtOder ende = at.End.Value; } - if (!IstAusserHausAbwesenheit(at) || IstAbwesenheitMitBeendigung(at)) - { + //if (!IstAusserHausAbwesenheit(at) || IstAbwesenheitMitBeendigung(at)) + //{ ende = ende.AddDays(1); - } + //} while (dt < ende) // Letzter Tag wird nicht mitgezählt { if (dt.Month == monat.Month) diff --git a/ReportImp/LebenshilfeFrankfurtOder/BesondereWohnform/CustomerAbsenceTimes.cs b/ReportImp/LebenshilfeFrankfurtOder/BesondereWohnform/CustomerAbsenceTimes.cs new file mode 100644 index 000000000..15a8c107c --- /dev/null +++ b/ReportImp/LebenshilfeFrankfurtOder/BesondereWohnform/CustomerAbsenceTimes.cs @@ -0,0 +1,147 @@ +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LebenshilfeFrankfurtOder.BesondereWohnform +{ + public class CustomerAbsenceTimes + { + private Dictionary abwesenheitsDict = new Dictionary(); + + public int TageAbwesendGesamt { get; set; } + public int MehrAls3TageAbwesendAH { get; set; } + public List TageMehrAls3TageAbwesendAHList { get; set; } = new List(); + + public DateTime Monat { get; } + public IList AbsenceTimeList { get; } + public CustomerAbsenceTimes(IList atList, DateTime monat) + { + AbsenceTimeList = atList; + Monat = monat; + BerechneCustomerAbsenceTimes(); + } + + public bool TagWirdAlsAbwesendBerechnet(DateTime tag) + { + return TageMehrAls3TageAbwesendAHList.Contains(tag.Date); + } + + public void BerechneCustomerAbsenceTimes() + { + + abwesenheitsDict.Clear(); + TageMehrAls3TageAbwesendAHList.Clear(); + + DateTime monatStart = new DateTime(Monat.Year, Monat.Month, 1); + DateTime monatEnde = monatStart.AddMonths(1).AddDays(-1); + DateTime dritterTagFolgeMonat = monatEnde.AddDays(3); //Prüfe bis zum 3. des Folgemonats, ob es monatsübergreifende Abwesenheiten gibt, die länger als 3 Tage dauern. z.B. 31.01. bis 3.2. + + DateTime minAtDate = DateTime.MaxValue.Date; + + //Fülle Dictionary mit Abwesenheiten + foreach (var at in AbsenceTimeList) + { + if (IstWstAbwesenheit(at) && IstAusserHausAbwesenheit(at)) + { + //Prüfe für alle Abwesenheiten für Wohnstätten die außer Haus sind, ob diese im ausgewählten Monat liegen + if (at.Start.HasValue && at.Start.Value.Date <= monatEnde && + (!at.End.HasValue || at.End.Value.Date >= monatStart)) + { + if (at.Start.Value.Date < minAtDate) + { + minAtDate = at.Start.Value.Date; + } + DateTime dt = at.Start.Value; + DateTime ende = dritterTagFolgeMonat; + + if (at.End.HasValue && at.End.Value.Date < ende) + { + ende = at.End.Value.Date; + } + + while (dt <= ende) + { + String key = String.Format("{0:yyyyMMdd}", dt); + + if (!abwesenheitsDict.ContainsKey(key)) + { + abwesenheitsDict.Add(key, true); + } + + dt = dt.AddDays(1); + } + } + } + + } + + DateTime datum = minAtDate; + int tageAbwesendAmStueck = 0; + //int tageAbwesendAmStueckDiesenMonat = 0; + var tageAbwesendAmStueckDiesenMonat = new List(); + + while (datum <= dritterTagFolgeMonat) + { + String key = String.Format("{0:yyyyMMdd}", datum); + + if (abwesenheitsDict.ContainsKey(key)) + { + tageAbwesendAmStueck++; + + + if (datum >= monatStart && datum <= monatEnde) + { + TageAbwesendGesamt++; + //tageAbwesendAmStueckDiesenMonat++; + tageAbwesendAmStueckDiesenMonat.Add(datum); + } + } + else + { + if (tageAbwesendAmStueck > 3) + { + MehrAls3TageAbwesendAH += tageAbwesendAmStueckDiesenMonat.Count; + TageMehrAls3TageAbwesendAHList.AddRange(tageAbwesendAmStueckDiesenMonat); + } + + tageAbwesendAmStueck = 0; + tageAbwesendAmStueckDiesenMonat.Clear(); + + } + + datum = datum.AddDays(1); + } + + if (tageAbwesendAmStueck > 3) + { + MehrAls3TageAbwesendAH += tageAbwesendAmStueckDiesenMonat.Count; + TageMehrAls3TageAbwesendAHList.AddRange(tageAbwesendAmStueckDiesenMonat); + } + } + + private bool IstWstAbwesenheit(AbsenceTimeDC at) + { + if (at.Reason.Description.Contains("WST")) + { + return true; + } + + return false; + } + + private bool IstAusserHausAbwesenheit(AbsenceTimeDC at) + { + String name = at.Reason.Description.ToLower(); + + if (name.Contains("(ah)") || name.Contains("(ak)") || name.Contains("(kh)") || name.Contains("(au)") || name.Contains("(ac)")) + { + return true; + } + + return false; + } + } +} diff --git a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/WstInvoiceCreation.cs b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/WstInvoiceCreation.cs index 8a59ee73b..867f0f3ad 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/WstInvoiceCreation.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/WstInvoiceCreation.cs @@ -15,6 +15,7 @@ using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; using BS.Shared.Services; +using LebenshilfeFrankfurtOder.BesondereWohnform; namespace LebenshilfeFrankfurtOder.Invoicing { @@ -250,17 +251,19 @@ namespace LebenshilfeFrankfurtOder.Invoicing DateTime dt = invoicePeriod.StartDate; var bookings = DAOFactory.SearchDAO.GetAdditionalServiceBookingsForCustomer(sip.Customer.Oid.Value, invoicePeriod.StartDate, invoicePeriod.EndDate); + var absenceTimeDCs = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(sip.Customer.AbsenceTimes); + var cat = new CustomerAbsenceTimes(absenceTimeDCs, invoicePeriod.StartDate); while (dt <= invoicePeriod.EndDate) { - list.Add(CreateInvoiceItem(dt, scap, bookings, sip.Customer)); + list.Add(CreateInvoiceItem(dt, scap, bookings, sip.Customer, cat)); dt = dt.AddDays(1); } return list; } - private InvoiceItem CreateInvoiceItem(DateTime dt, SupportConceptApprovalPeriod scap, IEnumerable bookings, Customer c) + private InvoiceItem CreateInvoiceItem(DateTime dt, SupportConceptApprovalPeriod scap, IEnumerable bookings, Customer c, CustomerAbsenceTimes cat) { var invoiceItem = new InvoiceItem(); @@ -306,7 +309,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing invoiceItem.UnitDescription = "AC"; } - if (MussAbwesenheitAbrechnen(at, dt)) + if (cat.TagWirdAlsAbwesendBerechnet(dt)) { GetTagessatz(dt, scap, true, out ts, out serviceName); } @@ -338,18 +341,20 @@ namespace LebenshilfeFrankfurtOder.Invoicing return invoiceItem; } - private bool MussAbwesenheitAbrechnen(AbsenceTime at, DateTime dt) - { - if (IstAusserHausAbwesenheit(at) && IsAbsenceCountGreater3(at, dt)) + - { - return true; - } + //private bool MussAbwesenheitAbrechnen(AbsenceTime at, DateTime dt) + //{ + // if (IstAusserHausAbwesenheit(at) && IsAbsenceCountGreater3(at, dt)) - return false; - } + // { + // return true; + // } - private bool IsAbsenceCountGreater3(AbsenceTime at, DateTime monat) + // return false; + //} + + private bool IsAbsenceCountGreater3(AbsenceTime at, DateTime monat) { DateTime monatStart = new DateTime(monat.Year, monat.Month, 1); @@ -404,7 +409,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing { foreach (var at in absenceTimes) { - if (IstWstAbwesenheit(at) && at.Start.HasValue && at.Start.Value <= dt && (!at.End.HasValue || at.End.Value > dt)) // letzter Tag nicht mitzählen + if (IstWstAbwesenheit(at) && at.Start.HasValue && at.Start.Value.Date <= dt && (!at.End.HasValue || at.End.Value.Date >= dt)) { return at; } diff --git a/ReportImp/LebenshilfeFrankfurtOder/LebenshilfeFrankfurtOder.csproj b/ReportImp/LebenshilfeFrankfurtOder/LebenshilfeFrankfurtOder.csproj index 9bab27447..91a6ad736 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/LebenshilfeFrankfurtOder.csproj +++ b/ReportImp/LebenshilfeFrankfurtOder/LebenshilfeFrankfurtOder.csproj @@ -77,6 +77,7 @@ + Component diff --git a/ReportImp/LebenshilfeFrankfurtOder/RechnungWstAnhang.cs b/ReportImp/LebenshilfeFrankfurtOder/RechnungWstAnhang.cs index 3ac6bcf0c..85ebe1e43 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/RechnungWstAnhang.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/RechnungWstAnhang.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Text; using BeWo.Data.Access; using BeWo.Data.Entities; @@ -273,9 +274,9 @@ namespace LebenshilfeFrankfurtOder if (c.AbsenceTimes != null) { - foreach (var at in c.AbsenceTimes) + foreach (var at in c.AbsenceTimes.OrderBy(a => a.Start)) { - if ((!at.Start.HasValue || at.Start.Value <= end) && (!at.End.HasValue || at.End.Value >= start)) + if (IstWstAbwesenheit(at) && (!at.Start.HasValue || at.Start.Value.Date <= end) && (!at.End.HasValue || at.End.Value.Date >= start)) { if (sb.Length > 0) { @@ -302,5 +303,16 @@ namespace LebenshilfeFrankfurtOder return sb.ToString(); } + + private bool IstWstAbwesenheit(AbsenceTime at) + { + if (at.AbsenceReason.Description.Contains("WST")) + { + return true; + } + + return false; + } + } } \ No newline at end of file diff --git a/ReportImp/PaSMoenchengladbach/Mitarbeiterstundenkonto.designer.cs b/ReportImp/PaSMoenchengladbach/Mitarbeiterstundenkonto.designer.cs index fe49caaf2..4623bc7b7 100644 --- a/ReportImp/PaSMoenchengladbach/Mitarbeiterstundenkonto.designer.cs +++ b/ReportImp/PaSMoenchengladbach/Mitarbeiterstundenkonto.designer.cs @@ -38,6 +38,8 @@ namespace PaSMoenchengladbach this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell(); @@ -55,6 +57,8 @@ namespace PaSMoenchengladbach this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); @@ -81,6 +85,7 @@ namespace PaSMoenchengladbach this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.lblMonat = new DevExpress.XtraReports.UI.XRLabel(); @@ -94,11 +99,6 @@ namespace PaSMoenchengladbach this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField(); this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); - this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); @@ -190,6 +190,24 @@ namespace PaSMoenchengladbach this.xrTableCell20.Text = "xrTableCell20"; this.xrTableCell20.Weight = 0.04525405148264295D; // + // xrTableCell30 + // + this.xrTableCell30.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.TageUrlaub")}); + this.xrTableCell30.Multiline = true; + this.xrTableCell30.Name = "xrTableCell30"; + this.xrTableCell30.TextFormatString = "{0:0.00}"; + this.xrTableCell30.Weight = 0.0452540472495825D; + // + // xrTableCell31 + // + this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom1")}); + this.xrTableCell31.Multiline = true; + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.TextFormatString = "{0:0.00}"; + this.xrTableCell31.Weight = 0.04977945569436671D; + // // xrTableCell28 // this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { @@ -351,6 +369,20 @@ namespace PaSMoenchengladbach this.xrTableCell2.Text = "Krank"; this.xrTableCell2.Weight = 0.045254050083462963D; // + // xrTableCell29 + // + this.xrTableCell29.Multiline = true; + this.xrTableCell29.Name = "xrTableCell29"; + this.xrTableCell29.Text = "Urlaub"; + this.xrTableCell29.Weight = 0.045254050083462963D; + // + // xrTableCell18 + // + this.xrTableCell18.Multiline = true; + this.xrTableCell18.Name = "xrTableCell18"; + this.xrTableCell18.Text = "Sonstige\r\nAbw."; + this.xrTableCell18.Weight = 0.049779455509093157D; + // // xrTableCell9 // this.xrTableCell9.Multiline = true; @@ -475,12 +507,12 @@ namespace PaSMoenchengladbach // xrTableCell37 // this.xrTableCell37.Name = "xrTableCell37"; - this.xrTableCell37.Weight = 0.099188458070333649D; + this.xrTableCell37.Weight = 0.054102795311091079D; // // xrTableCell39 // this.xrTableCell39.Name = "xrTableCell39"; - this.xrTableCell39.Weight = 0.094679891794409374D; + this.xrTableCell39.Weight = 0.13976555455365194D; // // cellSollGesamt // @@ -551,6 +583,10 @@ namespace PaSMoenchengladbach this.xrTableCell17.Name = "xrTableCell17"; this.xrTableCell17.Weight = 0.062885253465960314D; // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); + // // ReportHeader // this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { @@ -671,42 +707,6 @@ namespace PaSMoenchengladbach this.bottomMarginBand1.HeightF = 30F; this.bottomMarginBand1.Name = "bottomMarginBand1"; // - // xrTableCell18 - // - this.xrTableCell18.Multiline = true; - this.xrTableCell18.Name = "xrTableCell18"; - this.xrTableCell18.Text = "Sonstige\r\nAbw."; - this.xrTableCell18.Weight = 0.049779455509093157D; - // - // xrTableCell29 - // - this.xrTableCell29.Multiline = true; - this.xrTableCell29.Name = "xrTableCell29"; - this.xrTableCell29.Text = "Urlaub"; - this.xrTableCell29.Weight = 0.045254050083462963D; - // - // xrTableCell30 - // - this.xrTableCell30.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.TageUrlaub")}); - this.xrTableCell30.Multiline = true; - this.xrTableCell30.Name = "xrTableCell30"; - this.xrTableCell30.TextFormatString = "{0:0.00}"; - this.xrTableCell30.Weight = 0.0452540472495825D; - // - // xrTableCell31 - // - this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom1")}); - this.xrTableCell31.Multiline = true; - this.xrTableCell31.Name = "xrTableCell31"; - this.xrTableCell31.TextFormatString = "{0:0.00}"; - this.xrTableCell31.Weight = 0.04977945569436671D; - // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); - // // Mitarbeiterstundenkonto // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { diff --git a/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.cs b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.cs new file mode 100644 index 000000000..e71b7151f --- /dev/null +++ b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.cs @@ -0,0 +1,52 @@ +using System; +using BeWo.Report.ReportObjects; +using BeWo.Service.Plugins; +using BS.Shared.Core; + + +namespace BeWo.Report.DefaultReports +{ + [IDSpecificClass(Identifier = "MitarbeiterstundenkontoJahr")] + public partial class MitarbeiterstundenkontoJahr : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + + + public MitarbeiterstundenkontoJahr() + { + InitializeComponent(); + } + + public void SetReportDataSource(MitarbeiterstundenkontoMonateRO pRO) + { + var msb = PluginLoader.FindClass(); + //var msb = new MitarbeiterstundenkontoBerechnungMonate(); + msb.CreateReport(pRO); + + foreach (var item in pRO.EmployeeInfoList) + { + foreach (var ed in item.EmployeeDetails) + { + decimal stundenDurchAbw = 0; + if (ed.EmployeeDetail.AbsenceTimeDays != null) + { + ed.EmployeeDetail.Custom1 = (ed.EmployeeDetail.AbsenceTimeDays.TageGesamt ?? 0) - (ed.EmployeeDetail.AbsenceTimeDays.TageUrlaub ?? 0) - (ed.EmployeeDetail.AbsenceTimeDays.TageKrankheit ?? 0); + stundenDurchAbw = (ed.EmployeeDetail.AbsenceTimeDays.StundenGesamt ?? 0); + + } + + ed.EmployeeDetail.StundenGesamtIst += stundenDurchAbw; + + if (ed.EmployeeDetail.StundenGesamtIst != 0) + { + ed.EmployeeDetail.RelationFlsZuMittelbar = 100 * (ed.EmployeeDetail.FlsIst / ed.EmployeeDetail.StundenGesamtIst); + } + + } + } + + + this.bindingSource1.DataSource = pRO; + } + + } +} diff --git a/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.designer.cs b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.designer.cs new file mode 100644 index 000000000..f71a083e4 --- /dev/null +++ b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.designer.cs @@ -0,0 +1,858 @@ +using BeWo.Report.ReportObjects; +namespace BeWo.Report.DefaultReports +{ + partial class MitarbeiterstundenkontoJahr + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRSummary xrSummary5 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellFLSSollGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellFLSIstGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellFLSPlusMinusGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellGesamtGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellRelationGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell(); + this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand(); + this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.Title = new DevExpress.XtraReports.UI.XRControlStyle(); + this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle(); + this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle(); + this.DataField = new DevExpress.XtraReports.UI.XRControlStyle(); + this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField(); + this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); + this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail2 = new DevExpress.XtraReports.UI.DetailBand(); + this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail3 = new DevExpress.XtraReports.UI.DetailBand(); + this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.GroupHeader3 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); + this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.fieldRelationGesamt = new DevExpress.XtraReports.UI.CalculatedField(); + this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); + ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // Detail + // + this.Detail.HeightF = 0F; + this.Detail.Name = "Detail"; + this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrTableDetail + // + this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableDetail.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTableDetail.Name = "xrTableDetail"; + this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRowDetail}); + this.xrTableDetail.SizeF = new System.Drawing.SizeF(1058F, 25F); + this.xrTableDetail.StylePriority.UseBorders = false; + this.xrTableDetail.StylePriority.UseFont = false; + this.xrTableDetail.StylePriority.UsePadding = false; + this.xrTableDetail.StylePriority.UseTextAlignment = false; + this.xrTableDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // xrTableRowDetail + // + this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell3, + this.xrTableCell19, + this.xrTableCell20, + this.xrTableCell30, + this.xrTableCell31, + this.xrTableCell28, + this.xrTableCell16, + this.xrTableCell27, + this.xrTableCell22, + this.xrTableCell23, + this.xrTableCell21, + this.xrTableCell25, + this.xrTableCell24, + this.xrTableCell26, + this.xrTableCell6}); + this.xrTableRowDetail.Name = "xrTableRowDetail"; + this.xrTableRowDetail.Weight = 1D; + // + // xrTableCell3 + // + this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.Monat", "{0:MMMM}")}); + this.xrTableCell3.Name = "xrTableCell3"; + this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell3.StylePriority.UseFont = false; + this.xrTableCell3.StylePriority.UsePadding = false; + this.xrTableCell3.StylePriority.UseTextAlignment = false; + this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell3.Weight = 0.13743030257874633D; + // + // xrTableCell19 + // + this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollMax", "{0:0.00}")}); + this.xrTableCell19.Name = "xrTableCell19"; + this.xrTableCell19.Text = "xrTableCell19"; + this.xrTableCell19.Weight = 0.054972122650593071D; + // + // xrTableCell20 + // + this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.TageKrankheit", "{0:0.00}")}); + this.xrTableCell20.Name = "xrTableCell20"; + this.xrTableCell20.Text = "xrTableCell20"; + this.xrTableCell20.Weight = 0.045810103047635567D; + // + // xrTableCell28 + // + this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit", "{0:0.00}")}); + this.xrTableCell28.Name = "xrTableCell28"; + this.xrTableCell28.Text = "xrTableCell28"; + this.xrTableCell28.Weight = 0.066848655500319015D; + // + // xrTableCell16 + // + this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsSoll", "{0:0.00}")}); + this.xrTableCell16.Name = "xrTableCell16"; + this.xrTableCell16.Text = "xrTableCell16"; + this.xrTableCell16.Weight = 0.063119927862939587D; + // + // xrTableCell27 + // + this.xrTableCell27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsIst", "{0:0.00}")}); + this.xrTableCell27.Name = "xrTableCell27"; + this.xrTableCell27.Text = "xrTableCell27"; + this.xrTableCell27.Weight = 0.063119927862939615D; + // + // xrTableCell22 + // + this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsDiff", "{0:0.00}")}); + this.xrTableCell22.Name = "xrTableCell22"; + this.xrTableCell22.Text = "xrTableCell22"; + this.xrTableCell22.Weight = 0.063119927862939587D; + // + // xrTableCell23 + // + this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenGesamtIst", "{0:0.00}")}); + this.xrTableCell23.Name = "xrTableCell23"; + this.xrTableCell23.Text = "xrTableCell23"; + this.xrTableCell23.Weight = 0.063119927862939559D; + // + // xrTableCell21 + // + this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.RelationFlsZuMittelbar", "{0:0.00}")}); + this.xrTableCell21.Name = "xrTableCell21"; + this.xrTableCell21.Text = "xrTableCell21"; + this.xrTableCell21.Weight = 0.063119927862939615D; + // + // xrTableCell25 + // + this.xrTableCell25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Ueberstunden", "{0:0.00}")}); + this.xrTableCell25.Name = "xrTableCell25"; + this.xrTableCell25.Text = "xrTableCell25"; + this.xrTableCell25.Weight = 0.063119927862939587D; + // + // xrTableCell24 + // + this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.LaufendeGesamtsumme", "{0:0.00}")}); + this.xrTableCell24.Name = "xrTableCell24"; + this.xrTableCell24.Text = "xrTableCell24"; + this.xrTableCell24.Weight = 0.0631199278629396D; + // + // xrTableCell26 + // + this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.UeberstundenGesamt", "{0:0.00}")}); + this.xrTableCell26.Name = "xrTableCell26"; + this.xrTableCell26.Text = "xrTableCell26"; + this.xrTableCell26.Weight = 0.063119927862939573D; + // + // xrTableCell6 + // + this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Resturlaub")}); + this.xrTableCell6.Multiline = true; + this.xrTableCell6.Name = "xrTableCell6"; + this.xrTableCell6.TextFormatString = "{0:0.00}"; + this.xrTableCell6.Weight = 0.063119927862939573D; + // + // xrTableHeader + // + this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableHeader.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTableHeader.Name = "xrTableHeader"; + this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRowHeader}); + this.xrTableHeader.SizeF = new System.Drawing.SizeF(1058F, 70F); + this.xrTableHeader.StylePriority.UseBorders = false; + this.xrTableHeader.StylePriority.UseFont = false; + this.xrTableHeader.StylePriority.UsePadding = false; + this.xrTableHeader.StylePriority.UseTextAlignment = false; + this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // xrTableRowHeader + // + this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell5, + this.xrTableCell4, + this.xrTableCell2, + this.xrTableCell18, + this.xrTableCell29, + this.xrTableCell9, + this.xrTableCell8, + this.xrTableCell10, + this.xrTableCell7, + this.xrTableCell11, + this.xrTableCell12, + this.xrTableCell13, + this.xrTableCell14, + this.xrTableCell15, + this.xrTableCell1}); + this.xrTableRowHeader.Name = "xrTableRowHeader"; + this.xrTableRowHeader.Weight = 2.8D; + // + // xrTableCell5 + // + this.xrTableCell5.Name = "xrTableCell5"; + this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell5.StylePriority.UsePadding = false; + this.xrTableCell5.StylePriority.UseTextAlignment = false; + this.xrTableCell5.Text = "Monat"; + this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell5.Weight = 0.13743029946781521D; + // + // xrTableCell4 + // + this.xrTableCell4.Name = "xrTableCell4"; + this.xrTableCell4.Text = "Reguläre SOLL Stunden"; + this.xrTableCell4.Weight = 0.054972121520033168D; + // + // xrTableCell2 + // + this.xrTableCell2.Name = "xrTableCell2"; + this.xrTableCell2.Text = "Krank"; + this.xrTableCell2.Weight = 0.045810098825477971D; + // + // xrTableCell9 + // + this.xrTableCell9.Multiline = true; + this.xrTableCell9.Name = "xrTableCell9"; + this.xrTableCell9.Text = "Tatsächliche SOLL Stunden"; + this.xrTableCell9.Weight = 0.066848672813583365D; + // + // xrTableCell8 + // + this.xrTableCell8.Name = "xrTableCell8"; + this.xrTableCell8.Text = "FLS Stunden SOLL"; + this.xrTableCell8.Weight = 0.063119927721024038D; + // + // xrTableCell10 + // + this.xrTableCell10.Name = "xrTableCell10"; + this.xrTableCell10.StylePriority.UseBackColor = false; + this.xrTableCell10.Text = "FLS IST lfd. Monat"; + this.xrTableCell10.Weight = 0.063119927721024D; + // + // xrTableCell7 + // + this.xrTableCell7.Name = "xrTableCell7"; + this.xrTableCell7.Text = "FLS Plus/Minus lfd. Monat"; + this.xrTableCell7.Weight = 0.06311992757910842D; + // + // xrTableCell11 + // + this.xrTableCell11.Multiline = true; + this.xrTableCell11.Name = "xrTableCell11"; + this.xrTableCell11.StylePriority.UseBackColor = false; + this.xrTableCell11.Text = "Gesamt-\r\nstunden lfd. Monat"; + this.xrTableCell11.Weight = 0.063119927721024011D; + // + // xrTableCell12 + // + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)"; + this.xrTableCell12.Weight = 0.063119929511863376D; + // + // xrTableCell13 + // + this.xrTableCell13.Name = "xrTableCell13"; + this.xrTableCell13.Text = "Überstd. neu"; + this.xrTableCell13.Weight = 0.063119928687401447D; + // + // xrTableCell14 + // + this.xrTableCell14.Multiline = true; + this.xrTableCell14.Name = "xrTableCell14"; + this.xrTableCell14.StylePriority.UseBackColor = false; + this.xrTableCell14.Text = "Überstd.\r\ndieses Jahr"; + this.xrTableCell14.Weight = 0.063119928275170531D; + // + // xrTableCell15 + // + this.xrTableCell15.Multiline = true; + this.xrTableCell15.Name = "xrTableCell15"; + this.xrTableCell15.Text = "Überstd. Gesamt"; + this.xrTableCell15.Weight = 0.0631199213956443D; + // + // xrTableCell1 + // + this.xrTableCell1.Multiline = true; + this.xrTableCell1.Name = "xrTableCell1"; + this.xrTableCell1.Text = "Resturlaub"; + this.xrTableCell1.Weight = 0.0631199213956443D; + // + // xrTable1 + // + this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable1.Name = "xrTable1"; + this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow1}); + this.xrTable1.SizeF = new System.Drawing.SizeF(1058F, 25F); + this.xrTable1.StylePriority.UseBorders = false; + this.xrTable1.StylePriority.UseFont = false; + this.xrTable1.StylePriority.UsePadding = false; + this.xrTable1.StylePriority.UseTextAlignment = false; + this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // xrTableRow1 + // + this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell35, + this.xrTableCell37, + this.xrTableCell39, + this.cellSollGesamt, + this.cellFLSSollGesamt, + this.cellFLSIstGesamt, + this.cellFLSPlusMinusGesamt, + this.cellGesamtGesamt, + this.cellRelationGesamt, + this.xrTableCell47, + this.xrTableCell48, + this.xrTableCell51, + this.xrTableCell17}); + this.xrTableRow1.Name = "xrTableRow1"; + this.xrTableRow1.Weight = 1D; + // + // xrTableCell35 + // + this.xrTableCell35.Name = "xrTableCell35"; + this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell35.StylePriority.UseFont = false; + this.xrTableCell35.StylePriority.UsePadding = false; + this.xrTableCell35.StylePriority.UseTextAlignment = false; + this.xrTableCell35.Text = "Gesamt"; + this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell35.Weight = 0.13743030235766518D; + // + // xrTableCell37 + // + this.xrTableCell37.Name = "xrTableCell37"; + this.xrTableCell37.Weight = 0.054972122650593078D; + // + // xrTableCell39 + // + this.xrTableCell39.Name = "xrTableCell39"; + this.xrTableCell39.Weight = 0.14201131804868156D; + // + // cellSollGesamt + // + this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit")}); + this.cellSollGesamt.Name = "cellSollGesamt"; + xrSummary1.FormatString = "{0:0.00}"; + xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.cellSollGesamt.Summary = xrSummary1; + this.cellSollGesamt.Weight = 0.066848655500319015D; + // + // cellFLSSollGesamt + // + this.cellFLSSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsSoll")}); + this.cellFLSSollGesamt.Name = "cellFLSSollGesamt"; + xrSummary2.FormatString = "{0:0.00}"; + xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.cellFLSSollGesamt.Summary = xrSummary2; + this.cellFLSSollGesamt.Weight = 0.063119927862939587D; + // + // cellFLSIstGesamt + // + this.cellFLSIstGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsIst")}); + this.cellFLSIstGesamt.Name = "cellFLSIstGesamt"; + xrSummary3.FormatString = "{0:0.00}"; + xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.cellFLSIstGesamt.Summary = xrSummary3; + this.cellFLSIstGesamt.Weight = 0.063119927862939615D; + // + // cellFLSPlusMinusGesamt + // + this.cellFLSPlusMinusGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsDiff")}); + this.cellFLSPlusMinusGesamt.Name = "cellFLSPlusMinusGesamt"; + xrSummary4.FormatString = "{0:0.00}"; + xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.cellFLSPlusMinusGesamt.Summary = xrSummary4; + this.cellFLSPlusMinusGesamt.Weight = 0.063119927862939587D; + // + // cellGesamtGesamt + // + this.cellGesamtGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenGesamtIst")}); + this.cellGesamtGesamt.Name = "cellGesamtGesamt"; + xrSummary5.FormatString = "{0:0.00}"; + xrSummary5.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; + this.cellGesamtGesamt.Summary = xrSummary5; + this.cellGesamtGesamt.Weight = 0.063119927862939573D; + // + // cellRelationGesamt + // + this.cellRelationGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.fieldRelationGesamt", "{0:0.00}")}); + this.cellRelationGesamt.Name = "cellRelationGesamt"; + this.cellRelationGesamt.Text = "cellRelationGesamt"; + this.cellRelationGesamt.Weight = 0.0631199278629396D; + // + // xrTableCell47 + // + this.xrTableCell47.Name = "xrTableCell47"; + this.xrTableCell47.Weight = 0.063119927862939587D; + // + // xrTableCell48 + // + this.xrTableCell48.Name = "xrTableCell48"; + this.xrTableCell48.Weight = 0.063119927862939587D; + // + // xrTableCell51 + // + this.xrTableCell51.Name = "xrTableCell51"; + this.xrTableCell51.Weight = 0.063119927862939573D; + // + // xrTableCell17 + // + this.xrTableCell17.Multiline = true; + this.xrTableCell17.Name = "xrTableCell17"; + this.xrTableCell17.Weight = 0.063119927862939573D; + // + // pageFooterBand1 + // + this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPageInfo2, + this.xrPageInfo1}); + this.pageFooterBand1.HeightF = 48F; + this.pageFooterBand1.Name = "pageFooterBand1"; + // + // xrPageInfo2 + // + this.xrPageInfo2.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(864.9999F, 25F); + this.xrPageInfo2.Name = "xrPageInfo2"; + this.xrPageInfo2.SizeF = new System.Drawing.SizeF(139.9999F, 23F); + this.xrPageInfo2.StyleName = "PageInfo"; + this.xrPageInfo2.StylePriority.UseFont = false; + this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrPageInfo2.TextFormatString = "Seite {0} von {1}"; + // + // xrPageInfo1 + // + this.xrPageInfo1.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F); + this.xrPageInfo1.Name = "xrPageInfo1"; + this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime; + this.xrPageInfo1.SizeF = new System.Drawing.SizeF(260.0001F, 23F); + this.xrPageInfo1.StyleName = "PageInfo"; + this.xrPageInfo1.StylePriority.UseFont = false; + // + // Title + // + this.Title.BackColor = System.Drawing.Color.White; + this.Title.BorderColor = System.Drawing.SystemColors.ControlText; + this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.Title.BorderWidth = 1F; + this.Title.Font = new DevExpress.Drawing.DXFont("Times New Roman", 24F); + this.Title.ForeColor = System.Drawing.Color.Black; + this.Title.Name = "Title"; + // + // FieldCaption + // + this.FieldCaption.BackColor = System.Drawing.Color.White; + this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText; + this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.FieldCaption.BorderWidth = 1F; + this.FieldCaption.Font = new DevExpress.Drawing.DXFont("Times New Roman", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.FieldCaption.ForeColor = System.Drawing.Color.Black; + this.FieldCaption.Name = "FieldCaption"; + // + // PageInfo + // + this.PageInfo.BackColor = System.Drawing.Color.White; + this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText; + this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.PageInfo.BorderWidth = 1F; + this.PageInfo.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F); + this.PageInfo.ForeColor = System.Drawing.Color.Black; + this.PageInfo.Name = "PageInfo"; + // + // DataField + // + this.DataField.BackColor = System.Drawing.Color.White; + this.DataField.BorderColor = System.Drawing.SystemColors.ControlText; + this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.DataField.BorderWidth = 1F; + this.DataField.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F); + this.DataField.ForeColor = System.Drawing.SystemColors.ControlText; + this.DataField.Name = "DataField"; + // + // fieldFLS + // + this.fieldFLS.DataMember = "FLSReportGroups"; + this.fieldFLS.Expression = "[TotalFLM] / 60"; + this.fieldFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; + this.fieldFLS.Name = "fieldFLS"; + // + // topMarginBand1 + // + this.topMarginBand1.HeightF = 50F; + this.topMarginBand1.Name = "topMarginBand1"; + // + // bottomMarginBand1 + // + this.bottomMarginBand1.HeightF = 30F; + this.bottomMarginBand1.Name = "bottomMarginBand1"; + // + // DetailReport1 + // + this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail2, + this.DetailReport2}); + this.DetailReport1.DataMember = "EmployeeInfoList"; + this.DetailReport1.DataSource = this.bindingSource1; + this.DetailReport1.Level = 0; + this.DetailReport1.Name = "DetailReport1"; + // + // Detail2 + // + this.Detail2.HeightF = 0F; + this.Detail2.Name = "Detail2"; + this.Detail2.PageBreak = DevExpress.XtraReports.UI.PageBreak.BeforeBandExceptFirstEntry; + // + // DetailReport2 + // + this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail3, + this.GroupHeader2, + this.GroupHeader3, + this.GroupFooter2}); + this.DetailReport2.DataMember = "EmployeeInfoList.EmployeeDetails"; + this.DetailReport2.DataSource = this.bindingSource1; + this.DetailReport2.Level = 0; + this.DetailReport2.Name = "DetailReport2"; + // + // Detail3 + // + this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableDetail}); + this.Detail3.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F); + this.Detail3.HeightF = 25F; + this.Detail3.Name = "Detail3"; + this.Detail3.StylePriority.UseFont = false; + // + // GroupHeader2 + // + this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableHeader}); + this.GroupHeader2.HeightF = 70F; + this.GroupHeader2.Name = "GroupHeader2"; + // + // GroupHeader3 + // + this.GroupHeader3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel2, + this.xrLabel1}); + this.GroupHeader3.HeightF = 79.79167F; + this.GroupHeader3.Level = 1; + this.GroupHeader3.Name = "GroupHeader3"; + // + // xrLabel2 + // + this.xrLabel2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.AbsenceString")}); + this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 10F); + this.xrLabel2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 42.29167F); + this.xrLabel2.Multiline = true; + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.SizeF = new System.Drawing.SizeF(1007F, 25F); + this.xrLabel2.StyleName = "Title"; + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.StylePriority.UseForeColor = false; + // + // xrLabel1 + // + this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrLabel1.Multiline = true; + this.xrLabel1.Name = "xrLabel1"; + this.xrLabel1.SizeF = new System.Drawing.SizeF(1005F, 25F); + this.xrLabel1.StyleName = "Title"; + this.xrLabel1.StylePriority.UseFont = false; + this.xrLabel1.Text = "Stundenkonto [EmployeeInfoList.LastName], [EmployeeInfoList.FirstName] [ReportSta" + + "rtDate!yyyy]"; + // + // GroupFooter2 + // + this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable1}); + this.GroupFooter2.HeightF = 25F; + this.GroupFooter2.Name = "GroupFooter2"; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoMonateRO); + // + // fieldRelationGesamt + // + this.fieldRelationGesamt.DataMember = "EmployeeInfoList.EmployeeDetails"; + this.fieldRelationGesamt.Expression = "(Sum([EmployeeDetail.FlsIst]) / Sum([EmployeeDetail.StundenGesamtIst])) * 100"; + this.fieldRelationGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; + this.fieldRelationGesamt.Name = "fieldRelationGesamt"; + // + // xrTableCell18 + // + this.xrTableCell18.Multiline = true; + this.xrTableCell18.Name = "xrTableCell18"; + this.xrTableCell18.Text = "Urlaub"; + this.xrTableCell18.Weight = 0.045810100047342477D; + // + // xrTableCell29 + // + this.xrTableCell29.Multiline = true; + this.xrTableCell29.Name = "xrTableCell29"; + this.xrTableCell29.Text = "Sonstige\r\nAbw."; + this.xrTableCell29.Weight = 0.050391110174263176D; + // + // xrTableCell30 + // + this.xrTableCell30.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.TageUrlaub")}); + this.xrTableCell30.Multiline = true; + this.xrTableCell30.Name = "xrTableCell30"; + this.xrTableCell30.TextFormatString = "{0:0.00}"; + this.xrTableCell30.Weight = 0.045810102311240164D; + // + // xrTableCell31 + // + this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Custom1")}); + this.xrTableCell31.Multiline = true; + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.TextFormatString = "{0:0.00}"; + this.xrTableCell31.Weight = 0.050391112468724644D; + // + // MitarbeiterstundenkontoJahr + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.pageFooterBand1, + this.topMarginBand1, + this.bottomMarginBand1, + this.DetailReport1}); + this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { + this.fieldFLS, + this.fieldRelationGesamt}); + this.DataSource = this.bindingSource1; + this.DisplayName = "Mitarbeiterstundenkonto"; + this.Landscape = true; + this.Margins = new DevExpress.Drawing.DXMargins(75F, 36F, 50F, 30F); + this.PageHeight = 827; + this.PageWidth = 1169; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] { + this.Title, + this.FieldCaption, + this.PageInfo, + this.DataField}); + this.Version = "23.2"; + xrWatermark1.Id = "Watermark1"; + this.Watermarks.Add(xrWatermark1); + ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); + + } + + #endregion + + private DevExpress.XtraReports.UI.DetailBand Detail; + private System.Windows.Forms.BindingSource bindingSource1; + private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1; + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2; + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; + private DevExpress.XtraReports.UI.XRControlStyle Title; + private DevExpress.XtraReports.UI.XRControlStyle FieldCaption; + private DevExpress.XtraReports.UI.XRControlStyle PageInfo; + private DevExpress.XtraReports.UI.XRControlStyle DataField; + private DevExpress.XtraReports.UI.XRTable xrTableHeader; + private DevExpress.XtraReports.UI.XRTableRow xrTableRowHeader; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell5; + private DevExpress.XtraReports.UI.XRTable xrTableDetail; + private DevExpress.XtraReports.UI.XRTableRow xrTableRowDetail; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; + private DevExpress.XtraReports.UI.CalculatedField fieldFLS; + private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1; + private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell19; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell20; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell28; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell27; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell22; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell23; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell21; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell25; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell24; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell26; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell15; + private DevExpress.XtraReports.UI.XRTable xrTable1; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell35; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell37; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell39; + private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt; + private DevExpress.XtraReports.UI.XRTableCell cellFLSSollGesamt; + private DevExpress.XtraReports.UI.XRTableCell cellFLSIstGesamt; + private DevExpress.XtraReports.UI.XRTableCell cellFLSPlusMinusGesamt; + private DevExpress.XtraReports.UI.XRTableCell cellGesamtGesamt; + private DevExpress.XtraReports.UI.XRTableCell cellRelationGesamt; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell47; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell48; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell51; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport1; + private DevExpress.XtraReports.UI.DetailBand Detail2; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport2; + private DevExpress.XtraReports.UI.DetailBand Detail3; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader3; + private DevExpress.XtraReports.UI.XRLabel xrLabel1; + private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2; + private DevExpress.XtraReports.UI.CalculatedField fieldRelationGesamt; + private DevExpress.XtraReports.UI.XRLabel xrLabel2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell17; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell30; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell31; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell29; + } +} diff --git a/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.resx b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.resx new file mode 100644 index 000000000..d58980a38 --- /dev/null +++ b/ReportImp/PaSMoenchengladbach/MitarbeiterstundenkontoJahr.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj b/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj index c68b2819f..88f9d8e13 100644 --- a/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj +++ b/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj @@ -73,6 +73,12 @@ Mitarbeiterstundenkonto.cs + + Component + + + MitarbeiterstundenkontoJahr.cs + @@ -109,6 +115,10 @@ Mitarbeiterstundenkonto.cs Designer + + MitarbeiterstundenkontoJahr.cs + Designer + ServicesOverviewReport.cs diff --git a/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs index e41f11cdb..64cb7ce0d 100644 --- a/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs @@ -318,6 +318,44 @@ namespace SHKServiceSBD return soll; } + + protected override decimal GetSollNachArbeitszeitenFuerTag(Employee emp, DateTime tag) + { + if (tag.Day == 24 && tag.Month == 12 && tag.Year == 2025) + { + + } + + decimal soll = 0; + var fak = GetFeiertagsFaktor(tag); + + if (BerechneFeiertageAlsArbeitszeit()) + { + if (fak == 1) + { + fak = 0; + } + } + + 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 std = GetArbeitszeitStundenFuerTag(az, tag); + soll += (std * (1 - fak)); + } + } + } + } + + return soll; + } + public virtual bool IstSchule(String name) { if (!String.IsNullOrEmpty(name)) diff --git a/ReportImp/SHKServiceSBD/Reports/KalkulationReport.cs b/ReportImp/SHKServiceSBD/Reports/KalkulationReport.cs index 5cb4751b9..3ca4c4911 100644 --- a/ReportImp/SHKServiceSBD/Reports/KalkulationReport.cs +++ b/ReportImp/SHKServiceSBD/Reports/KalkulationReport.cs @@ -28,9 +28,9 @@ namespace SHKServiceSBD.Reports { StringBuilder sbSchule = new StringBuilder(); - DateTime monat = DateTime.Now; + DateTime stichtag = GetStichtag(pRO); - decimal euroKm = GetPreis("Kilometerpauschale", DateTime.Now); + decimal euroKm = GetPreis("Kilometerpauschale", stichtag); CostBearer2SupportConcept c2s = GetC2S(pRO); if (c2s != null) @@ -57,7 +57,7 @@ namespace SHKServiceSBD.Reports decimal euroProStunde = 0; decimal wochen = GetWochen(pRO); - var stunden = CreateArbeitszeitenTableAndCalculateStunden(c.Arbeitszeiten); + var stunden = CreateArbeitszeitenTableAndCalculateStunden(c.Arbeitszeiten, stichtag); lblKlient.Text = String.Format("{0}, geb. {1:dd.MM.yyyy}", c.Person.FirstNameLastName, c.Person.DateOfBirth); lblStundenProWoche.Text = String.Format("{0:0.00}", stunden); lblDurchschnittStundenProTag.Text = String.Format("{0:0.00}", stunden / 5); @@ -68,7 +68,7 @@ namespace SHKServiceSBD.Reports var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(c2s.CostBearer.CostRatePeriods); - var crp = crlist.GetCostRatePeriodForDate(BS.Shared.CostRatePeriodType.HourlyRate, monat); + var crp = crlist.GetCostRatePeriodForDate(BS.Shared.CostRatePeriodType.HourlyRate, stichtag); if (crp != null && crp.CostRateValue.HasValue) { euroProStunde = crp.CostRateValue.Value; @@ -96,6 +96,27 @@ namespace SHKServiceSBD.Reports this.bindingSource1.DataSource = pRO; } + private DateTime GetStichtag(QueryRO ro) + { + + if (ro.Rows != null && ro.Rows.Count > 0) + { + if (ro.Rows[0].Field3 != null) + { + if (DateTime.TryParse(ro.Rows[0].Field3.ToString(), out var d)) + { + if (d.Year < 1000) + { + return DateTime.Now.Date; + } + return d; + } + } + } + + return DateTime.Now.Date; + } + public virtual decimal GetPreis(String preisBezeichnung, DateTime datum) { @@ -155,9 +176,9 @@ namespace SHKServiceSBD.Reports if (ro.Rows != null && ro.Rows.Count > 0) { - if (ro.Rows[0].Field3 != null) + if (ro.Rows[0].Field4 != null) { - if (Decimal.TryParse(ro.Rows[0].Field3.ToString(), out var d)) + if (Decimal.TryParse(ro.Rows[0].Field4.ToString(), out var d)) { return d; } @@ -184,7 +205,7 @@ namespace SHKServiceSBD.Reports return null; } - private decimal CreateArbeitszeitenTableAndCalculateStunden(IList zeiten) + private decimal CreateArbeitszeitenTableAndCalculateStunden(IList zeiten, DateTime stichtag) { decimal gesamtStunden = 0; @@ -193,10 +214,12 @@ namespace SHKServiceSBD.Reports int index = 0; foreach (var az in zeiten) { - if ((!az.GueltigVon.HasValue || az.GueltigVon <= DateTime.Now) && - (!az.GueltigBis.HasValue || az.GueltigBis >= DateTime.Now)) + if ((!az.GueltigVon.HasValue || az.GueltigVon <= stichtag) && + (!az.GueltigBis.HasValue || az.GueltigBis >= stichtag)) { - foreach (var e in az.ArbeitszeitEintraege) + var list = az.ArbeitszeitEintraege.ToList(); + SortiereArbeitszeiten(list); + foreach (var e in list) { gesamtStunden += e.BerechneStunden(); AddStundenplanZeile(e, index++); @@ -210,6 +233,17 @@ namespace SHKServiceSBD.Reports return gesamtStunden; } + private void SortiereArbeitszeiten(List zeiten) + { + zeiten.Sort( + (a, b) => + { + var at1 = DateTimeUtils.GetAssistanceTimeComparisonDateTime(a.UhrzeitVon, a.UhrzeitBis, DateTime.Now.Date.AddDays((int)a.Tag)); + var at2 = DateTimeUtils.GetAssistanceTimeComparisonDateTime(b.UhrzeitVon, b.UhrzeitBis, DateTime.Now.Date.AddDays((int)b.Tag)); + + return at1.Start.CompareTo(at2.Start); + }); + } private void AddStundenplanZeile(ArbeitszeitEintrag ae, int index) { XRTableRow newRow = null;