From 9b1839c018fec71ab04728dc713cd76b41257596 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Mon, 4 Sep 2023 14:36:06 +0200 Subject: [PATCH] MH: SHK Service Mitarbeiterauslastung --- ReportImp/SHKService/Mitarbeiterauslastung.cs | 67 +++ .../Mitarbeiterauslastung.designer.cs | 546 ++++++++++++++++++ .../SHKService/Mitarbeiterauslastung.resx | 123 ++++ ReportImp/SHKService/SHKService.csproj | 9 + .../CustomSupportConceptAnalysisCreator.cs | 4 + 5 files changed, 749 insertions(+) create mode 100644 ReportImp/SHKService/Mitarbeiterauslastung.cs create mode 100644 ReportImp/SHKService/Mitarbeiterauslastung.designer.cs create mode 100644 ReportImp/SHKService/Mitarbeiterauslastung.resx diff --git a/ReportImp/SHKService/Mitarbeiterauslastung.cs b/ReportImp/SHKService/Mitarbeiterauslastung.cs new file mode 100644 index 000000000..9c6aeb383 --- /dev/null +++ b/ReportImp/SHKService/Mitarbeiterauslastung.cs @@ -0,0 +1,67 @@ +using System; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BS.Shared.Core; + + +namespace SHKService +{ + [IDSpecificClass(Identifier = "Mitarbeiterauslastung")] + public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + + + public Mitarbeiterauslastung() + { + InitializeComponent(); + } + + public void SetReportDataSource(MitarbeiterauslastungRO pRO) + { + AuslastungBerechnung b = new AuslastungBerechnung(); + b.CreateReport(pRO); + + // Bei manchen Kostenträgern tragen die bei "Minuten/Betreuungseinheit" 1 Minute ein, weil die Bewilligungen mittlerweile in Minuten gemacht wird. + // Im Programm ist es für die damit dann einfacher. Nur in der Hilfeplanübersicht und in der Mitarbeiterauslastung wollen sie nach wie vor allen in Stunden haben. + // Daher werden die Werte hier, sollte das ein solcher Kostenträger sein, wieder auf den Stundenwert gesetzt. + + foreach (var emp in pRO.EmployeeDetailList) + { + foreach (var supp in emp.SupportConceptDetailList) + { + if (supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods != null) + { + foreach (var crp in supp.CostBearer2SupportConcept.CostBearer.CostRatePeriods) + { + if (crp.CostRateType == BS.Shared.CostRatePeriodType.MinutesPerServiceUnit && crp.CostRateValue == 1) + { + crp.CostRateValue = 60; + + // Erst Ursprungswerte vom Gesamten des Mitarbeiters abziehen + emp.ApprovedHoursPerWeek -= supp.ApprovedHoursPerWeek; + emp.ApprovedHoursPerWeekTotal -= supp.ApprovedHoursPerWeekTotal; + emp.ApprovedHoursPerWeekWithRateFactor -= supp.ApprovedHoursPerWeekWithRateFactor; + emp.ApprovedHoursPerWeekWithRateFactorTotal -= supp.ApprovedHoursPerWeekWithRateFactorTotal; + + // Stundenwert draus machen + supp.ApprovedHoursPerWeek *= 60; + supp.ApprovedHoursPerWeekTotal *= 60; + supp.ApprovedHoursPerWeekWithRateFactor *= 60; + supp.ApprovedHoursPerWeekWithRateFactorTotal *= 60; + + // Stundenwert wieder aufs Gesamt addieren + emp.ApprovedHoursPerWeek += supp.ApprovedHoursPerWeek; + emp.ApprovedHoursPerWeekTotal += supp.ApprovedHoursPerWeekTotal; + emp.ApprovedHoursPerWeekWithRateFactor += supp.ApprovedHoursPerWeekWithRateFactor; + emp.ApprovedHoursPerWeekWithRateFactorTotal += supp.ApprovedHoursPerWeekWithRateFactorTotal; + } + } + } + } + } + + this.bindingSource1.DataSource = pRO; + } + + } +} diff --git a/ReportImp/SHKService/Mitarbeiterauslastung.designer.cs b/ReportImp/SHKService/Mitarbeiterauslastung.designer.cs new file mode 100644 index 000000000..709234c34 --- /dev/null +++ b/ReportImp/SHKService/Mitarbeiterauslastung.designer.cs @@ -0,0 +1,546 @@ +using BeWo.Report.ReportObjects; +namespace SHKService +{ + partial class Mitarbeiterauslastung + { + /// + /// 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(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.Detail1 = new DevExpress.XtraReports.UI.DetailBand(); + this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); + 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.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell(); + this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); + this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail2 = new DevExpress.XtraReports.UI.DetailBand(); + this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + 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.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); + this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.lblMonat = new DevExpress.XtraReports.UI.XRLabel(); + 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.fieldTotalSC = new DevExpress.XtraReports.UI.CalculatedField(); + this.fieldTotalEmp = new DevExpress.XtraReports.UI.CalculatedField(); + 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(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // Detail + // + this.Detail.Expanded = false; + 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; + // + // Detail1 + // + this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel2, + this.xrLabel1}); + this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Detail1.HeightF = 50F; + this.Detail1.KeepTogether = true; + this.Detail1.KeepTogetherWithDetailReports = true; + this.Detail1.Name = "Detail1"; + this.Detail1.StylePriority.UseFont = false; + // + // xrLabel2 + // + this.xrLabel2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F); + this.xrLabel2.Multiline = true; + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.SizeF = new System.Drawing.SizeF(676.9999F, 25F); + this.xrLabel2.StyleName = "Title"; + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.Text = "Wochenstunden: [WeeklyTotalHoursByContract!0.00], FLS/Woche: [FLSTotalHoursByCont" + + "ract!0.00]"; + // + // xrLabel1 + // + this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")}); + this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.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(676.9999F, 25F); + this.xrLabel1.StyleName = "Title"; + this.xrLabel1.StylePriority.UseFont = false; + this.xrLabel1.Text = "xrLabel1"; + // + // xrTableDetail + // + this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableDetail.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((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(640F, 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.xrTableCell2, + this.xrTableCell28}); + 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, "EmployeeDetailList.SupportConceptDetailList.CustomerFullName")}); + 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.Text = "xrTableCell3"; + this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell3.Weight = 0.18034265103697025D; + // + // xrTableCell19 + // + this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.TimeRangeString", "{0:0.00}")}); + this.xrTableCell19.Name = "xrTableCell19"; + this.xrTableCell19.Text = "xrTableCell19"; + this.xrTableCell19.Weight = 0.15329125338142471D; + // + // xrTableCell2 + // + this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.OrganisationName")}); + this.xrTableCell2.Name = "xrTableCell2"; + this.xrTableCell2.Text = "xrTableCell2"; + this.xrTableCell2.Weight = 0.15329125338142469D; + // + // xrTableCell28 + // + this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerWeek", "{0:0.00}")}); + this.xrTableCell28.Name = "xrTableCell28"; + this.xrTableCell28.Text = "xrTableCell28"; + this.xrTableCell28.Weight = 0.090171325518485085D; + // + // DetailReport + // + this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail1, + this.DetailReport1}); + this.DetailReport.DataMember = "EmployeeDetailList"; + this.DetailReport.DataSource = this.bindingSource1; + this.DetailReport.Level = 0; + this.DetailReport.Name = "DetailReport"; + // + // DetailReport1 + // + this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail2, + this.GroupHeader2, + this.GroupFooter1}); + this.DetailReport1.DataMember = "EmployeeDetailList.SupportConceptDetailList"; + this.DetailReport1.DataSource = this.bindingSource1; + this.DetailReport1.Level = 0; + this.DetailReport1.Name = "DetailReport1"; + // + // Detail2 + // + this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableDetail}); + this.Detail2.HeightF = 25F; + this.Detail2.Name = "Detail2"; + // + // GroupHeader2 + // + this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableHeader}); + this.GroupHeader2.HeightF = 40F; + this.GroupHeader2.Name = "GroupHeader2"; + this.GroupHeader2.RepeatEveryPage = true; + // + // 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 System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.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(640F, 40F); + 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.xrTableCell1, + this.xrTableCell9}); + this.xrTableRowHeader.Name = "xrTableRowHeader"; + this.xrTableRowHeader.Weight = 1.5999999999999996D; + // + // 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 = "Klient/in"; + this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell5.Weight = 0.18034264782021736D; + // + // xrTableCell4 + // + this.xrTableCell4.Name = "xrTableCell4"; + this.xrTableCell4.Text = "Zeitraum"; + this.xrTableCell4.Weight = 0.15329125478030675D; + // + // xrTableCell1 + // + this.xrTableCell1.Name = "xrTableCell1"; + this.xrTableCell1.Text = "Kostenträger"; + this.xrTableCell1.Weight = 0.15329125478030678D; + // + // xrTableCell9 + // + this.xrTableCell9.Multiline = true; + this.xrTableCell9.Name = "xrTableCell9"; + this.xrTableCell9.Text = "Bewilligt/Woche"; + this.xrTableCell9.Weight = 0.090171325937473845D; + // + // GroupFooter1 + // + this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable1}); + this.GroupFooter1.HeightF = 60F; + this.GroupFooter1.Level = 1; + this.GroupFooter1.Name = "GroupFooter1"; + // + // xrTable1 + // + this.xrTable1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((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(639.9999F, 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.xrTableCell38, + this.xrTableCell6, + this.cellSollGesamt}); + 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.18034254096455143D; + // + // xrTableCell38 + // + this.xrTableCell38.Name = "xrTableCell38"; + this.xrTableCell38.Weight = 0.15329111579090118D; + // + // xrTableCell6 + // + this.xrTableCell6.Name = "xrTableCell6"; + this.xrTableCell6.Weight = 0.15329140580312939D; + // + // cellSollGesamt + // + this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")}); + this.cellSollGesamt.Name = "cellSollGesamt"; + this.cellSollGesamt.Text = "cellSollGesamt"; + this.cellSollGesamt.Weight = 0.090171342851318267D; + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblMonat}); + this.ReportHeader.HeightF = 60F; + this.ReportHeader.Name = "ReportHeader"; + // + // lblMonat + // + this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Auslastung {0:MMMM yy}")}); + this.lblMonat.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); + this.lblMonat.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.lblMonat.Multiline = true; + this.lblMonat.Name = "lblMonat"; + this.lblMonat.SizeF = new System.Drawing.SizeF(676.9999F, 25F); + this.lblMonat.StyleName = "Title"; + this.lblMonat.StylePriority.UseFont = false; + this.lblMonat.Text = "lblMonat"; + // + // 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 System.Drawing.Font("Arial", 8F); + this.xrPageInfo2.Format = "Seite {0} von {1}"; + this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(342.4169F, 25F); + this.xrPageInfo2.Name = "xrPageInfo2"; + this.xrPageInfo2.SizeF = new System.Drawing.SizeF(297.5831F, 23F); + this.xrPageInfo2.StyleName = "PageInfo"; + this.xrPageInfo2.StylePriority.UseFont = false; + this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // xrPageInfo1 + // + this.xrPageInfo1.Font = new System.Drawing.Font("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(287F, 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 = 1; + this.Title.Font = new System.Drawing.Font("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 = 1; + this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.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 = 1; + this.PageInfo.Font = new System.Drawing.Font("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 = 1; + this.DataField.Font = new System.Drawing.Font("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"; + // + // fieldTotalSC + // + this.fieldTotalSC.DataMember = "EmployeeDetailList.SupportConceptDetailList"; + this.fieldTotalSC.Expression = "[DirectIst]+[MittelbarIst]"; + this.fieldTotalSC.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; + this.fieldTotalSC.Name = "fieldTotalSC"; + // + // fieldTotalEmp + // + this.fieldTotalEmp.DataMember = "EmployeeDetailList"; + this.fieldTotalEmp.Expression = "[DirectIst]+[MittelbarIst]"; + this.fieldTotalEmp.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; + this.fieldTotalEmp.Name = "fieldTotalEmp"; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO); + // + // Mitarbeiterauslastung + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.DetailReport, + this.ReportHeader, + this.pageFooterBand1, + this.topMarginBand1, + this.bottomMarginBand1}); + this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { + this.fieldFLS, + this.fieldTotalSC, + this.fieldTotalEmp}); + this.DataSource = this.bindingSource1; + this.Margins = new System.Drawing.Printing.Margins(100, 30, 50, 30); + this.PageHeight = 1169; + this.PageWidth = 827; + this.PaperKind = System.Drawing.Printing.PaperKind.A4; + this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] { + this.Title, + this.FieldCaption, + this.PageInfo, + this.DataField}); + this.Version = "13.1"; + ((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.DetailBand Detail1; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.XRLabel lblMonat; + 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 xrTableCell9; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell19; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell28; + private DevExpress.XtraReports.UI.XRTable xrTable1; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell35; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell38; + private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport1; + private DevExpress.XtraReports.UI.DetailBand Detail2; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2; + private DevExpress.XtraReports.UI.XRLabel xrLabel1; + private DevExpress.XtraReports.UI.CalculatedField fieldTotalSC; + private DevExpress.XtraReports.UI.CalculatedField fieldTotalEmp; + private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1; + private DevExpress.XtraReports.UI.XRLabel xrLabel2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; + } +} diff --git a/ReportImp/SHKService/Mitarbeiterauslastung.resx b/ReportImp/SHKService/Mitarbeiterauslastung.resx new file mode 100644 index 000000000..d25f3eba2 --- /dev/null +++ b/ReportImp/SHKService/Mitarbeiterauslastung.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/ReportImp/SHKService/SHKService.csproj b/ReportImp/SHKService/SHKService.csproj index 4493034dc..dbc1da31c 100644 --- a/ReportImp/SHKService/SHKService.csproj +++ b/ReportImp/SHKService/SHKService.csproj @@ -99,6 +99,12 @@ Mitarbeiterarbeitszeitkonto.cs + + Component + + + Mitarbeiterauslastung.cs + Component @@ -174,6 +180,9 @@ Mitarbeiterarbeitszeitkonto.cs + + Mitarbeiterauslastung.cs + Mitarbeiterstundenkonto.cs diff --git a/ReportImp/SHKService/Service/CustomSupportConceptAnalysisCreator.cs b/ReportImp/SHKService/Service/CustomSupportConceptAnalysisCreator.cs index 174fa4b9b..0ab7706bd 100644 --- a/ReportImp/SHKService/Service/CustomSupportConceptAnalysisCreator.cs +++ b/ReportImp/SHKService/Service/CustomSupportConceptAnalysisCreator.cs @@ -16,6 +16,10 @@ namespace SHKService.Service { public class CustomSupportConceptAnalysisCreator : SupportConceptAnalysisCreator { + // Bei manchen Kostenträgern tragen die bei "Minuten/Betreuungseinheit" 1 Minute ein, weil die Bewilligungen mittlerweile in Minuten gemacht wird. + // Im Programm ist es für die damit dann einfacher. Nur in der Hilfeplanübersicht und in der Mitarbeiterauslastung wollen sie nach wie vor allen in Stunden haben. + // Daher werden die Werte hier, sollte das ein solcher Kostenträger sein, wieder auf den Stundenwert gesetzt. + public override List GetSupportConceptAnalysis2(IList c2sOids, long? employeeOid, long? teamOid, long? catOid, DateTime? startDate, DateTime? endDate, int? expiredMonths, bool showArchivedScs) { var result = base.GetSupportConceptAnalysis2(c2sOids, employeeOid, teamOid, catOid, startDate, endDate, expiredMonths, showArchivedScs);