MH: VKM bezahlte MA-Auslastung
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
@@ -26,6 +27,11 @@ namespace VkmHamm
|
||||
// Dann für jede Bewilligung gucken, wie viele Tage in dem ausgewerteten Monat bewilligt sind und Tage * bew. Tagesstunden ausrechnen
|
||||
foreach (var ed in pRO.EmployeeDetailList)
|
||||
{
|
||||
Dictionary<string, decimal> customer2gesamtstunden = new Dictionary<string, decimal>();
|
||||
|
||||
var tageInMonat = DateTime.DaysInMonth(pRO.ReportStartDate.Year, pRO.ReportStartDate.Month);
|
||||
ed.FLSTotalMonthlyHoursByContract = tageInMonat * (ed.FLSTotalHoursByContract / 7);
|
||||
|
||||
foreach (var scDetail in ed.SupportConceptDetailList)
|
||||
{
|
||||
decimal stundenTagessoll = 0;
|
||||
@@ -44,24 +50,42 @@ namespace VkmHamm
|
||||
/// Tagessoll berechnen (Monatsbewilligung)
|
||||
else if (scDetail.SupportConceptApprovalPeriod.ApprovedBEInterval == BS.Shared.SupportConceptApprovalInterval.Monthly)
|
||||
{
|
||||
var tageInMonat = DateTime.DaysInMonth(pRO.ReportStartDate.Year, pRO.ReportStartDate.Month);
|
||||
stundenTagessoll = scDetail.ApprovedHoursPerMonth / tageInMonat;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Bewilligte Tage im Monat berechnen
|
||||
// Wenn Bewilligung über Auswertungszeitraum hinaus
|
||||
int bewilligteTage = tageInMonat;
|
||||
var bewStart = scDetail.SupportConceptApprovalPeriod.StartDate.HasValue ? scDetail.SupportConceptApprovalPeriod.StartDate.Value : pRO.ReportStartDate;
|
||||
var bewEnde = scDetail.SupportConceptApprovalPeriod.EndDate.HasValue ? scDetail.SupportConceptApprovalPeriod.EndDate.Value : pRO.ReportEndDate;
|
||||
// Wenn Bewilligung über Auswertungszeitraum hinaus nichts machen, weil der volle Monat bewilligt ist
|
||||
|
||||
// Wenn Bewilligung in Monat beginnt/endet
|
||||
if (bewStart > pRO.ReportStartDate && bewStart <= pRO.ReportEndDate)
|
||||
{
|
||||
bewilligteTage -= (bewStart - pRO.ReportStartDate).Days;
|
||||
}
|
||||
if (bewEnde < pRO.ReportEndDate && bewEnde >= pRO.ReportStartDate)
|
||||
{
|
||||
bewilligteTage -= (pRO.ReportEndDate.AddDays(-1) - bewEnde).Days;
|
||||
}
|
||||
|
||||
/// Stunden für Monat berechnen
|
||||
scDetail.ApprovedHoursPerMonthTotal = bewilligteTage * stundenTagessoll;
|
||||
|
||||
/// Für 2. Tabelle zum Dictionary hinzufügen
|
||||
if (!customer2gesamtstunden.ContainsKey(scDetail.CustomerFullName))
|
||||
customer2gesamtstunden.Add(scDetail.CustomerFullName, 0);
|
||||
customer2gesamtstunden[scDetail.CustomerFullName] += scDetail.ApprovedHoursPerMonthTotal;
|
||||
|
||||
/// Monatsstunden berechnen
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Unter die Tabelle eine zweite machen, wo Name Klient*in mit den Gesamtstunden Monat drin steht, da in der oberen Tabelle ja bei
|
||||
// mehreren Bewilligungen mehrere Einträge pro Klient*in sind.
|
||||
|
||||
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
|
||||
101
ReportImp/VkmHamm/Mitarbeiterauslastung.designer.cs
generated
101
ReportImp/VkmHamm/Mitarbeiterauslastung.designer.cs
generated
@@ -30,20 +30,21 @@ namespace VkmHamm
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
|
||||
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.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail2 = 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.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();
|
||||
@@ -58,7 +59,6 @@ namespace VkmHamm
|
||||
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
@@ -73,6 +73,7 @@ namespace VkmHamm
|
||||
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();
|
||||
@@ -110,7 +111,7 @@ namespace VkmHamm
|
||||
this.xrLabel2.StyleName = "Title";
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "Wochenstunden: [WeeklyTotalHoursByContract!0.00], FLS/Woche: [FLSTotalHoursByCont" +
|
||||
"ract!0.00]";
|
||||
"ract!0.00]. FLS/Monat: [FLSTotalMonthlyHoursByContract!0.00]";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
@@ -125,6 +126,34 @@ namespace VkmHamm
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
//
|
||||
// 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";
|
||||
//
|
||||
// xrTableDetail
|
||||
//
|
||||
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
@@ -185,39 +214,11 @@ namespace VkmHamm
|
||||
// xrTableCell28
|
||||
//
|
||||
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerMonthTotal", "{0:0.00}")});
|
||||
this.xrTableCell28.Name = "xrTableCell28";
|
||||
this.xrTableCell28.Text = "xrTableCell28";
|
||||
this.xrTableCell28.Weight = 0.21225409617909008D;
|
||||
//
|
||||
// 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[] {
|
||||
@@ -280,14 +281,14 @@ namespace VkmHamm
|
||||
//
|
||||
this.xrTableCell9.Multiline = true;
|
||||
this.xrTableCell9.Name = "xrTableCell9";
|
||||
this.xrTableCell9.Text = "Bewilligt/Woche";
|
||||
this.xrTableCell9.Text = "Bewilligt/Monat";
|
||||
this.xrTableCell9.Weight = 0.21225409703710532D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable1});
|
||||
this.GroupFooter1.HeightF = 61.04164F;
|
||||
this.GroupFooter1.HeightF = 43.33331F;
|
||||
this.GroupFooter1.Level = 1;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
@@ -341,15 +342,13 @@ namespace VkmHamm
|
||||
// cellSollGesamt
|
||||
//
|
||||
this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerMonthTotal")});
|
||||
this.cellSollGesamt.Name = "cellSollGesamt";
|
||||
this.cellSollGesamt.Text = "cellSollGesamt";
|
||||
xrSummary1.FormatString = "{0:0.00}";
|
||||
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.cellSollGesamt.Summary = xrSummary1;
|
||||
this.cellSollGesamt.Weight = 0.19992044692740521D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO);
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
@@ -470,6 +469,10 @@ namespace VkmHamm
|
||||
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[] {
|
||||
@@ -484,7 +487,7 @@ namespace VkmHamm
|
||||
this.fieldTotalSC,
|
||||
this.fieldTotalEmp});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.Margins = new DevExpress.Drawing.DXMargins(100F, 30F, 50F, 30F);
|
||||
this.Margins = new DevExpress.Drawing.DXMargins(98F, 30F, 50F, 30F);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
|
||||
@@ -522,16 +525,11 @@ namespace VkmHamm
|
||||
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;
|
||||
@@ -546,7 +544,12 @@ namespace VkmHamm
|
||||
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;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTableDetail;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRowDetail;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user