MH: in der Basis Resturlaub im Stundenkonto in allen Ansichten eingebaut

This commit is contained in:
2025-04-09 15:45:07 +02:00
parent 0a6d799697
commit 9f3db06492
9 changed files with 173 additions and 38 deletions

View File

@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using BS.Shared;
namespace BeWo.Data.Entities
{
[DebuggerDisplay("{GueltigVon}-{GueltigBis}")]
public class Arbeitszeit : BeWoEntityBase
{
public static string PropertyName_GueltigVon = "GueltigVon";

View File

@@ -1,8 +1,10 @@
using BS.Shared;
using System;
using System.Diagnostics;
namespace BeWo.Data.Entities
{
[DebuggerDisplay("{Tag} {UhrzeitVon}-{UhrzeitBis}")]
public class ArbeitszeitEintrag : BeWoEntityBase
{
public static string PropertyName_UhrzeitVon = "UhrzeitVon";

View File

@@ -103,6 +103,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
@@ -121,7 +122,9 @@ namespace BeWo.Report.DefaultReports
this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTatsSoll = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -377,7 +380,7 @@ namespace BeWo.Report.DefaultReports
this.lblMonat,
this.xrTable2});
this.GroupHeader3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.GroupHeader3.HeightF = 143.9583F;
this.GroupHeader3.HeightF = 167.9166F;
this.GroupHeader3.Level = 1;
this.GroupHeader3.Name = "GroupHeader3";
this.GroupHeader3.PageBreak = DevExpress.XtraReports.UI.PageBreak.BeforeBand;
@@ -389,7 +392,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.AbsenceString")});
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 108.9583F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 132.9166F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(702F, 25F);
@@ -419,8 +422,9 @@ namespace BeWo.Report.DefaultReports
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1,
this.xrTableRow8,
this.xrTableRow10});
this.xrTable2.SizeF = new System.Drawing.SizeF(552.2002F, 54F);
this.xrTableRow10,
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(552.2002F, 72F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.StylePriority.UsePadding = false;
@@ -907,6 +911,10 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell26.Weight = 0.11143081848591821D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
@@ -1043,9 +1051,37 @@ namespace BeWo.Report.DefaultReports
this.fieldTatsSoll.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTatsSoll.Name = "fieldTatsSoll";
//
// bindingSource1
// xrTableRow3
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell14,
this.xrTableCell22});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.75540991165010141D;
//
// xrTableCell14
//
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Resturlaub:";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 0.138246012405208D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Resturlaub")});
this.xrTableCell22.Multiline = true;
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseTextAlignment = false;
this.xrTableCell22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell22.TextFormatString = "{0:0.00}";
this.xrTableCell22.Weight = 0.49791629021026573D;
//
// Mitarbeiterarbeitszeitkonto
//
@@ -1182,5 +1218,8 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
}
}

View File

@@ -91,6 +91,9 @@ namespace BeWo.Report.DefaultReports
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = 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();
@@ -126,7 +129,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 25F);
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1071F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
@@ -147,7 +150,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell21,
this.xrTableCell25,
this.xrTableCell24,
this.xrTableCell26});
this.xrTableCell26,
this.xrTableCell6});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
@@ -282,7 +286,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 70F);
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1071F, 70F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
@@ -303,7 +307,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15});
this.xrTableCell15,
this.xrTableCell1});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 2.8D;
//
@@ -406,7 +411,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 25F);
this.xrTable1.SizeF = new System.Drawing.SizeF(1071F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
@@ -427,7 +432,8 @@ namespace BeWo.Report.DefaultReports
this.cellRelationGesamt,
this.xrTableCell47,
this.xrTableCell48,
this.xrTableCell51});
this.xrTableCell51,
this.xrTableCell17});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
@@ -440,17 +446,17 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Gesamt";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell35.Weight = 0.15329126714047708D;
this.xrTableCell35.Weight = 0.1527208718660181D;
//
// xrTableCell37
//
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Weight = 0.081154151689479551D;
this.xrTableCell37.Weight = 0.08085216800837608D;
//
// xrTableCell39
//
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.Weight = 0.094679919312514085D;
this.xrTableCell39.Weight = 0.0943276875722075D;
//
// cellSollGesamt
//
@@ -458,7 +464,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "SollGesamt", "{0:0.00}")});
this.cellSollGesamt.Name = "cellSollGesamt";
this.cellSollGesamt.Text = "cellSollGesamt";
this.cellSollGesamt.Weight = 0.0721370604147881D;
this.cellSollGesamt.Weight = 0.071868593785223173D;
//
// cellFLSSollGesamt
//
@@ -466,7 +472,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FlsSollGesamt", "{0:0.00}")});
this.cellFLSSollGesamt.Name = "cellFLSSollGesamt";
this.cellFLSSollGesamt.Text = "cellFLSSollGesamt";
this.cellFLSSollGesamt.Weight = 0.063119927862939587D;
this.cellFLSSollGesamt.Weight = 0.062885088357332058D;
//
// cellFLSIstGesamt
//
@@ -474,7 +480,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FlsIstGesamt", "{0:0.00}")});
this.cellFLSIstGesamt.Name = "cellFLSIstGesamt";
this.cellFLSIstGesamt.Text = "cellFLSIstGesamt";
this.cellFLSIstGesamt.Weight = 0.063119927862939615D;
this.cellFLSIstGesamt.Weight = 0.062885033321122663D;
//
// cellFLSPlusMinusGesamt
//
@@ -482,7 +488,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "FlsDiffGesamt", "{0:0.00}")});
this.cellFLSPlusMinusGesamt.Name = "cellFLSPlusMinusGesamt";
this.cellFLSPlusMinusGesamt.Text = "cellFLSPlusMinusGesamt";
this.cellFLSPlusMinusGesamt.Weight = 0.063119927862939587D;
this.cellFLSPlusMinusGesamt.Weight = 0.062885088357332058D;
//
// cellGesamtGesamt
//
@@ -490,7 +496,7 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "StundenGesamt", "{0:0.00}")});
this.cellGesamtGesamt.Name = "cellGesamtGesamt";
this.cellGesamtGesamt.Text = "cellGesamtGesamt";
this.cellGesamtGesamt.Weight = 0.063119927862939573D;
this.cellGesamtGesamt.Weight = 0.0628849782849132D;
//
// cellRelationGesamt
//
@@ -498,22 +504,22 @@ namespace BeWo.Report.DefaultReports
new DevExpress.XtraReports.UI.XRBinding("Text", null, "RelationFlsZuMittelbar", "{0:0.00}")});
this.cellRelationGesamt.Name = "cellRelationGesamt";
this.cellRelationGesamt.Text = "cellRelationGesamt";
this.cellRelationGesamt.Weight = 0.0631199278629396D;
this.cellRelationGesamt.Weight = 0.062884978284913226D;
//
// xrTableCell47
//
this.xrTableCell47.Name = "xrTableCell47";
this.xrTableCell47.Weight = 0.063119927862939587D;
this.xrTableCell47.Weight = 0.062885088357332058D;
//
// xrTableCell48
//
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.Weight = 0.063119927862939587D;
this.xrTableCell48.Weight = 0.062884978284913212D;
//
// xrTableCell51
//
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
this.xrTableCell51.Weight = 0.062885088357332045D;
//
// ReportHeader
//
@@ -635,6 +641,28 @@ namespace BeWo.Report.DefaultReports
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTableCell1
//
this.xrTableCell1.Multiline = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Resturlaub";
this.xrTableCell1.Weight = 0.0631199213956443D;
//
// xrTableCell6
//
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Resturlaub")});
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.TextFormatString = "{0:0.00}";
this.xrTableCell6.Weight = 0.063119927862939573D;
//
// xrTableCell17
//
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.062885253465960314D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
@@ -652,7 +680,7 @@ namespace BeWo.Report.DefaultReports
this.fieldFLS});
this.DataSource = this.bindingSource1;
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 50F, 30F);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 23F, 50F, 30F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
@@ -735,5 +763,8 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell48;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell51;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
}
}

View File

@@ -98,8 +98,11 @@ namespace BeWo.Report.DefaultReports
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.fieldRelationGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.fieldRelationGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -124,7 +127,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 25F);
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1058F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
@@ -145,7 +148,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell21,
this.xrTableCell25,
this.xrTableCell24,
this.xrTableCell26});
this.xrTableCell26,
this.xrTableCell6});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
@@ -260,7 +264,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 70F);
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1058F, 70F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
@@ -281,7 +285,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15});
this.xrTableCell15,
this.xrTableCell1});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 2.8D;
//
@@ -377,7 +382,7 @@ namespace BeWo.Report.DefaultReports
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(1005F, 25F);
this.xrTable1.SizeF = new System.Drawing.SizeF(1058F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
@@ -398,7 +403,8 @@ namespace BeWo.Report.DefaultReports
this.cellRelationGesamt,
this.xrTableCell47,
this.xrTableCell48,
this.xrTableCell51});
this.xrTableCell51,
this.xrTableCell17});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
@@ -668,6 +674,10 @@ namespace BeWo.Report.DefaultReports
this.GroupFooter2.HeightF = 25F;
this.GroupFooter2.Name = "GroupFooter2";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoMonateRO);
//
// fieldRelationGesamt
//
this.fieldRelationGesamt.DataMember = "EmployeeInfoList.EmployeeDetails";
@@ -675,9 +685,27 @@ namespace BeWo.Report.DefaultReports
this.fieldRelationGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldRelationGesamt.Name = "fieldRelationGesamt";
//
// bindingSource1
// xrTableCell1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoMonateRO);
this.xrTableCell1.Multiline = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Resturlaub";
this.xrTableCell1.Weight = 0.0631199213956443D;
//
// 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;
//
// xrTableCell17
//
this.xrTableCell17.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.063119927862939573D;
//
// MitarbeiterstundenkontoJahr
//
@@ -693,7 +721,7 @@ namespace BeWo.Report.DefaultReports
this.DataSource = this.bindingSource1;
this.DisplayName = "Mitarbeiterstundenkonto";
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 50F, 30F);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 36F, 50F, 30F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
@@ -779,5 +807,8 @@ namespace BeWo.Report.DefaultReports
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;
}
}

View File

@@ -13,6 +13,7 @@ using BS.Shared.Extensions;
using DevExpress.XtraCharts.Native;
using BS.Shared.DataContracts;
using BeWo.Service.Plugins;
using BeWo.Service.DCEntityMapper;
namespace BeWo.Report.ReportObjects
{
@@ -470,7 +471,29 @@ namespace BeWo.Report.ReportObjects
//Urlaubskonto (todo)
empDetail.UrlaubGesamtImAktuellenJahr =
GetAbsenceTimeDaysWithWorkWeeks(emp, new DateTime(monatsAnfang.Year, 1, 1), monatsEnde, empDetail.ArbeitstageProWoche).TageUrlaub;
// Aktuellen Resturlaub berechnen
var vs = PluginLoader.FindClass<VacationService>();
// Darstellungsvariante, da das normale Urlaubskonto nur den Resturlaubsstand vom Ende des Jahres anzeigt.
var konto = vs.BerechneUrlaubskontoZurDarstellung(MapperFactory.EmployeeDC_Employee.MapToNewDC(emp), ro.ReportStartDate.Year, berichtsEnde.AddTicks(-1));
if (konto != null && konto.Count > 0)
{
empDetail.Resturlaub = Convert.ToDecimal(konto[0].AnzahlTage);
// Jeder Entry enthält den Zeitraum und die abzuziehenden Tage vom Gesamtbudget.
foreach (var entry in konto)
{
// Hat entry kein Datum, dann ist es nur eine Überschrift in der Darstellung und hat hier keinen Nutzen
if (entry.DatumZurSortierung != null || entry.Erlaeuterung.Contains("Resturlaub aus"))
{
// Ist das Datum nach dem Enddatum des Stundenkontos braucht nicht weitergerechnet werden
if (entry.DatumZurSortierung > ro.ReportEndDate.AddTicks(-1))
break;
empDetail.Resturlaub += Convert.ToDecimal(entry.AnzahlTage); // += weil Tage immer als Minus dargestellt sind
}
}
}
CalculateEmployeeSalary(empDetail, berichtsAnfang, berichtsEnde);
}

View File

@@ -387,6 +387,7 @@ namespace BeWo.Report.ReportObjects
public EmploymentType EmploymentType { get; set; }
public decimal DienstplanIst { get; set; }
public string AbsenceString { get; set; }
public decimal Resturlaub{ get; set; }
}
[DebuggerDisplay("{Date}: {MinutesTotal}")]

View File

@@ -388,7 +388,7 @@ namespace BeWo.Service.Plugins
// 6. Anzahl der aus 1.-5. resultierenden Resturlaubstage fürs Jahr, also Resturlaub vom Urlaubskonto
// 7. Liste der DCs nach Datum sortieren, um eine zeitliche Hierarchie zu schaffen
public virtual List<UrlaubskontoDarstellungDC> BerechneUrlaubskontoZurDarstellung(EmployeeDC emp, int year)
public virtual List<UrlaubskontoDarstellungDC> BerechneUrlaubskontoZurDarstellung(EmployeeDC emp, int year, DateTime? endeDerBerechnung = null)
{
List<UrlaubskontoDarstellungDC> dcs = new List<UrlaubskontoDarstellungDC>();
EmployeeServiceImp es = new EmployeeServiceImp();
@@ -595,6 +595,10 @@ namespace BeWo.Service.Plugins
// Urlaube durchgehen und die Tage zählen
foreach (var spanne in absences)
{
// Im Stundenkonto wird auch Resturlaub angezeigt. Geht eine Abwesenheit über das Ende des Stundenkontomonats hinaus,
// Abwesenheit auf endeDerBerechnung setzen, damit Urlaubstage vom nachfolgenden Monat nicht zu früh abgezogen werden
if (endeDerBerechnung.HasValue && spanne.End.HasValue && spanne.End.Value > endeDerBerechnung.Value)
spanne.End = endeDerBerechnung;
if (spanne.End.HasValue && spanne.End.Value.Year > year)
spanne.End = new DateTime(year, 12, 31);
if (spanne.Start.HasValue && spanne.Start.Value.Year < year)

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
@@ -7,6 +8,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
[DebuggerDisplay("{DatumZurSortierung} {Erlaeuterung}: {AnzahlTage}")]
public class UrlaubskontoDarstellungDC : IDataContract
{
[DataMember]