From f667f8a4d120a2cc206eeef479c384ee750e2456 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 8 Nov 2022 15:50:03 +0100 Subject: [PATCH] AKGG, ABWElsebrock und ApiBerlin --- .../ServicesOverviewReport.Designer.cs | 72 +-- ReportImp/AKGG/Akgg.csproj | 9 + ReportImp/AKGG/CustomReportCreator.cs | 63 ++ .../AKGG/KilometerAuswertung.Designer.cs | 608 ++++++++++++++++++ ReportImp/AKGG/KilometerAuswertung.cs | 44 ++ ReportImp/AKGG/KilometerAuswertung.resx | 303 +++++++++ .../Validation/ServiceRecordValidator.cs | 75 +++ 7 files changed, 1137 insertions(+), 37 deletions(-) create mode 100644 ReportImp/AKGG/KilometerAuswertung.Designer.cs create mode 100644 ReportImp/AKGG/KilometerAuswertung.cs create mode 100644 ReportImp/AKGG/KilometerAuswertung.resx diff --git a/ReportImp/ABWElsebrock/ServicesOverviewReport.Designer.cs b/ReportImp/ABWElsebrock/ServicesOverviewReport.Designer.cs index 590fb4184..20e6a4951 100644 --- a/ReportImp/ABWElsebrock/ServicesOverviewReport.Designer.cs +++ b/ReportImp/ABWElsebrock/ServicesOverviewReport.Designer.cs @@ -90,9 +90,9 @@ namespace ABWElsebrock this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); - this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel(); this.fieldGroup = new DevExpress.XtraReports.UI.CalculatedField(); + this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel(); ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); @@ -432,11 +432,11 @@ namespace ABWElsebrock // xrLabel12 // this.xrLabel12.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(400.4167F, 25F); + this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(431.42F, 25F); this.xrLabel12.Multiline = true; this.xrLabel12.Name = "xrLabel12"; this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel12.SizeF = new System.Drawing.SizeF(281.5833F, 24F); + this.xrLabel12.SizeF = new System.Drawing.SizeF(250.58F, 24F); this.xrLabel12.StylePriority.UseBorders = false; this.xrLabel12.StylePriority.UseFont = false; this.xrLabel12.StylePriority.UseTextAlignment = false; @@ -446,10 +446,10 @@ namespace ABWElsebrock // xrLabel2 // this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Bottom; - this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(400.4167F, 0F); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(431.42F, 0F); this.xrLabel2.Name = "xrLabel2"; this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel2.SizeF = new System.Drawing.SizeF(281.5833F, 25F); + this.xrLabel2.SizeF = new System.Drawing.SizeF(250.58F, 25F); this.xrLabel2.StylePriority.UseBorderDashStyle = false; this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; // @@ -588,6 +588,8 @@ namespace ABWElsebrock // GroupFooter1 // this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel23, + this.xrLabel22, this.xrLabel5, this.xrLabel2, this.xrLabel12, @@ -620,9 +622,7 @@ namespace ABWElsebrock this.mitarbeiterName, this.xrLabel9, this.xrLabel13, - this.xrLabel8, - this.xrPageInfo1, - this.xrLabel21}); + this.xrLabel8}); this.GroupHeader2.Font = new System.Drawing.Font("Calibri", 11F); this.GroupHeader2.HeightF = 296.0417F; this.GroupHeader2.Name = "GroupHeader2"; @@ -792,32 +792,6 @@ namespace ABWElsebrock this.xrLabel11.StylePriority.UseTextAlignment = false; this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; // - // xrPageInfo1 - // - this.xrPageInfo1.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold); - this.xrPageInfo1.Format = "{0:dd.MM.yyyy}"; - this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(603.875F, 252.9585F); - this.xrPageInfo1.Name = "xrPageInfo1"; - this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F); - this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime; - this.xrPageInfo1.SizeF = new System.Drawing.SizeF(73.95844F, 23F); - this.xrPageInfo1.StylePriority.UseFont = false; - this.xrPageInfo1.StylePriority.UsePadding = false; - // - // xrLabel21 - // - this.xrLabel21.Font = new System.Drawing.Font("Calibri", 11F, System.Drawing.FontStyle.Bold); - this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(501.8749F, 252.9585F); - this.xrLabel21.Name = "xrLabel21"; - this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F); - this.xrLabel21.SizeF = new System.Drawing.SizeF(100F, 23F); - this.xrLabel21.StylePriority.UseFont = false; - this.xrLabel21.StylePriority.UsePadding = false; - this.xrLabel21.StylePriority.UseTextAlignment = false; - this.xrLabel21.Text = "Wesel, "; - this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; - this.xrLabel21.TextTrimming = System.Drawing.StringTrimming.None; - // // fieldGroup // this.fieldGroup.DataMember = "Services"; @@ -825,6 +799,30 @@ namespace ABWElsebrock this.fieldGroup.FieldType = DevExpress.XtraReports.UI.FieldType.String; this.fieldGroup.Name = "fieldGroup"; // + // xrLabel22 + // + this.xrLabel22.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(274.094F, 25F); + this.xrLabel22.Multiline = true; + this.xrLabel22.Name = "xrLabel22"; + this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel22.SizeF = new System.Drawing.SizeF(138.4001F, 24F); + this.xrLabel22.StylePriority.UseBorders = false; + this.xrLabel22.StylePriority.UseFont = false; + this.xrLabel22.StylePriority.UseTextAlignment = false; + this.xrLabel22.Text = "Datum"; + this.xrLabel22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter; + // + // xrLabel23 + // + this.xrLabel23.Borders = DevExpress.XtraPrinting.BorderSide.Bottom; + this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(274.094F, 0F); + this.xrLabel23.Name = "xrLabel23"; + this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel23.SizeF = new System.Drawing.SizeF(138.4001F, 25F); + this.xrLabel23.StylePriority.UseBorderDashStyle = false; + this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // // Stundenzettel // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -922,7 +920,7 @@ namespace ABWElsebrock private DevExpress.XtraReports.UI.XRLabel xrLabel10; private DevExpress.XtraReports.UI.XRLabel xrLabel11; private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1; - private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; - private DevExpress.XtraReports.UI.XRLabel xrLabel21; + private DevExpress.XtraReports.UI.XRLabel xrLabel23; + private DevExpress.XtraReports.UI.XRLabel xrLabel22; } } diff --git a/ReportImp/AKGG/Akgg.csproj b/ReportImp/AKGG/Akgg.csproj index 2e4ac87e7..2d8b4f247 100644 --- a/ReportImp/AKGG/Akgg.csproj +++ b/ReportImp/AKGG/Akgg.csproj @@ -87,6 +87,12 @@ MitarbeiterstundenkontoJahr.cs + + Component + + + KilometerAuswertung.cs + Component @@ -158,6 +164,9 @@ Designer + + KilometerAuswertung.cs + QuittierungsbelegPK.cs diff --git a/ReportImp/AKGG/CustomReportCreator.cs b/ReportImp/AKGG/CustomReportCreator.cs index d9f6a3d45..71b2ac33e 100644 --- a/ReportImp/AKGG/CustomReportCreator.cs +++ b/ReportImp/AKGG/CustomReportCreator.cs @@ -1,13 +1,76 @@ using System; using System.Collections.Generic; +using System.Data; +using System.IO; +using BeWo.Data.Access; +using BeWo.Data.Entities; using BeWo.Report; using BeWo.Report.ReportObjects; +using BeWo.Service.DCEntityMapper; +using BS.Shared.Core; using DevExpress.XtraReports.UI; namespace Akgg { public class CustomReportCreator : DefaultReportCreator { + public override XtraReport CreateQueryReport(long queryOid, string queryReportId) + { + if (queryOid == 200) + return CreateKilometerbeleg(queryOid, queryReportId); + + return base.CreateQueryReport(queryOid, queryReportId); + } + + private XtraReport CreateKilometerbeleg(long queryOid, string queryReportId) + { + var query = DAOFactory.GenericDAO.LoadByID(queryOid); + + if (query == null) + return new XtraReport(); + + var path = Path.Combine(TempPath, queryReportId + ".xml"); + var table = Utils.XMLDeserialize(path); + var qro = QueryRO.Create(query, table); + + + if (qro.Rows.Count > 0) + { + DateTime dt = DateTime.Now; + DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt); + dt = dt.AddMonths(1).AddDays(-1); + DateTime dtStart = new DateTime(dt.Year, dt.Month, 1); + + long? customerOid = null; + if (qro.Rows[0].Field2 != null && qro.Rows[0].Field2.ToString() != "0") + { + customerOid = Int64.Parse(qro.Rows[0].Field2.ToString()); + //var customer = DAOFactory.GenericDAO.LoadByID(customerOid.Value); + var ro = ServicesOverviewRO.Create(customerOid.Value, dt.Month, dt.Year, false, 0, 0, 1, dt.Day, null); + var druck = new Akgg.Kilometerbeleg(); + druck.SetReportDataSource(ro); + return druck; + } + if (customerOid == null) + { + XtraReport masterReport = new XtraReport(); + masterReport.CreateDocument(); + + var customerList = DAOFactory.GenericDAO.GetAllActive(); + foreach (var c in customerList) + { + var cRo = ServicesOverviewRO.Create(c.Oid.Value, dt.Month, dt.Year, false, 0, 0, 1, dt.Day, null); + var seite1 = new Akgg.Kilometerbeleg(); + seite1.SetReportDataSource(cRo); + seite1.CreateDocument(); + masterReport.Pages.AddRange(seite1.Pages); + } + return masterReport; + } + } + return new XtraReport(); + } + public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay) { List lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid); diff --git a/ReportImp/AKGG/KilometerAuswertung.Designer.cs b/ReportImp/AKGG/KilometerAuswertung.Designer.cs new file mode 100644 index 000000000..abe6f1e1e --- /dev/null +++ b/ReportImp/AKGG/KilometerAuswertung.Designer.cs @@ -0,0 +1,608 @@ +using BeWo.Report.ReportObjects; +namespace Akgg +{ + partial class Kilometerbeleg + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// 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(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Kilometerbeleg)); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail1 = new DevExpress.XtraReports.UI.DetailBand(); + this.xrTable3 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell(); + this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); + this.lblKategorie = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); + this.lblBewilligteStunden = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule(); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.formattingRuleServiceDesc = new DevExpress.XtraReports.UI.FormattingRule(); + this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule(); + this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule(); + this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); + this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox(); + this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField(); + this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand(); + this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).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; + // + // DetailReport + // + this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail1, + this.GroupHeader1}); + this.DetailReport.DataMember = "Services"; + this.DetailReport.DataSource = this.bindingSource1; + this.DetailReport.Level = 0; + this.DetailReport.Name = "DetailReport"; + this.DetailReport.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.DetailReport.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // Detail1 + // + this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable3}); + this.Detail1.HeightF = 20F; + this.Detail1.Name = "Detail1"; + this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.Detail1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrTable3 + // + this.xrTable3.BorderColor = System.Drawing.Color.Black; + this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTable3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 0F); + this.xrTable3.Name = "xrTable3"; + this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow6}); + this.xrTable3.SizeF = new System.Drawing.SizeF(697.6389F, 20F); + this.xrTable3.StylePriority.UseFont = false; + this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrTableRow6 + // + this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell13, + this.xrTableCell8, + this.xrTableCell7, + this.xrTableCell12, + this.xrTableCell50}); + this.xrTableRow6.Name = "xrTableRow6"; + this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + this.xrTableRow6.Weight = 1D; + // + // xrTableCell13 + // + this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd/MM/yyyy}")}); + this.xrTableCell13.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell13.Name = "xrTableCell13"; + this.xrTableCell13.StylePriority.UseBorders = false; + this.xrTableCell13.StylePriority.UseFont = false; + this.xrTableCell13.StylePriority.UsePadding = false; + this.xrTableCell13.StylePriority.UseTextAlignment = false; + this.xrTableCell13.Text = "xrTableCell13"; + this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell13.Weight = 0.1151080713251782D; + // + // xrTableCell8 + // + this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.TimeRangeString")}); + this.xrTableCell8.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell8.Name = "xrTableCell8"; + this.xrTableCell8.StylePriority.UseFont = false; + this.xrTableCell8.StylePriority.UseTextAlignment = false; + this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell8.Weight = 0.1151080713251782D; + // + // xrTableCell7 + // + this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.GefahreneKilometer")}); + this.xrTableCell7.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell7.Name = "xrTableCell7"; + this.xrTableCell7.StylePriority.UseFont = false; + this.xrTableCell7.StylePriority.UseTextAlignment = false; + this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell7.Weight = 0.1151080713251782D; + // + // xrTableCell12 + // + this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceCategory", "{0:0.00}")}); + this.xrTableCell12.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.StylePriority.UseBorders = false; + this.xrTableCell12.StylePriority.UseFont = false; + this.xrTableCell12.StylePriority.UsePadding = false; + this.xrTableCell12.StylePriority.UseTextAlignment = false; + this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell12.Weight = 0.24839044938524055D; + // + // xrTableCell50 + // + this.xrTableCell50.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeFullname")}); + this.xrTableCell50.Font = new System.Drawing.Font("Calibri", 11.25F); + this.xrTableCell50.Name = "xrTableCell50"; + this.xrTableCell50.StylePriority.UseBorders = false; + this.xrTableCell50.StylePriority.UseFont = false; + this.xrTableCell50.StylePriority.UsePadding = false; + this.xrTableCell50.StylePriority.UseTextAlignment = false; + this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell50.Weight = 0.25158803505397809D; + // + // GroupHeader1 + // + this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableServiceRecords1}); + this.GroupHeader1.HeightF = 45F; + this.GroupHeader1.Name = "GroupHeader1"; + this.GroupHeader1.RepeatEveryPage = true; + // + // xrTableServiceRecords1 + // + this.xrTableServiceRecords1.BackColor = System.Drawing.Color.Gainsboro; + this.xrTableServiceRecords1.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 0F); + this.xrTableServiceRecords1.Name = "xrTableServiceRecords1"; + this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow2, + this.xrTableRow1}); + this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(697.6388F, 45F); + this.xrTableServiceRecords1.StylePriority.UseBackColor = false; + this.xrTableServiceRecords1.StylePriority.UseBorders = false; + this.xrTableServiceRecords1.StylePriority.UseFont = false; + this.xrTableServiceRecords1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrTableRow2 + // + this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell3, + this.xrTableCell2, + this.xrTableCell5, + this.lblKategorie, + this.xrTableCell48}); + this.xrTableRow2.Name = "xrTableRow2"; + this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + this.xrTableRow2.Weight = 0.48945783132530124D; + // + // xrTableCell3 + // + this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right))); + this.xrTableCell3.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell3.Name = "xrTableCell3"; + this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrTableCell3.StylePriority.UseBorders = false; + this.xrTableCell3.StylePriority.UseFont = false; + this.xrTableCell3.StylePriority.UsePadding = false; + this.xrTableCell3.StylePriority.UseTextAlignment = false; + this.xrTableCell3.Text = "Datum"; + this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter; + this.xrTableCell3.Weight = 0.26536310905417793D; + // + // xrTableCell2 + // + this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right))); + this.xrTableCell2.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell2.Name = "xrTableCell2"; + this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrTableCell2.StylePriority.UseBorders = false; + this.xrTableCell2.StylePriority.UseFont = false; + this.xrTableCell2.StylePriority.UsePadding = false; + this.xrTableCell2.StylePriority.UseTextAlignment = false; + this.xrTableCell2.Text = "Uhrzeit"; + this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter; + this.xrTableCell2.Weight = 0.26536310905417793D; + // + // xrTableCell5 + // + this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right))); + this.xrTableCell5.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell5.Name = "xrTableCell5"; + this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrTableCell5.StylePriority.UseBorders = false; + this.xrTableCell5.StylePriority.UseFont = false; + this.xrTableCell5.StylePriority.UsePadding = false; + this.xrTableCell5.StylePriority.UseTextAlignment = false; + this.xrTableCell5.Text = "gefahrene"; + this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter; + this.xrTableCell5.Weight = 0.26536310905417793D; + // + // lblKategorie + // + this.lblKategorie.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right))); + this.lblKategorie.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblKategorie.Multiline = true; + this.lblKategorie.Name = "lblKategorie"; + this.lblKategorie.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.lblKategorie.StylePriority.UseBorders = false; + this.lblKategorie.StylePriority.UseFont = false; + this.lblKategorie.StylePriority.UsePadding = false; + this.lblKategorie.StylePriority.UseTextAlignment = false; + this.lblKategorie.Text = "Leistungskategorie"; + this.lblKategorie.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter; + this.lblKategorie.Weight = 0.57262562345803214D; + // + // xrTableCell48 + // + this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right))); + this.xrTableCell48.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell48.Multiline = true; + this.xrTableCell48.Name = "xrTableCell48"; + this.xrTableCell48.StylePriority.UseBorders = false; + this.xrTableCell48.StylePriority.UseFont = false; + this.xrTableCell48.StylePriority.UseTextAlignment = false; + this.xrTableCell48.Text = "Mitarbeiter"; + this.xrTableCell48.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter; + this.xrTableCell48.Weight = 0.57999653282362529D; + // + // xrTableRow1 + // + this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell1, + this.xrTableCell4, + this.xrTableCell6, + this.lblBewilligteStunden, + this.xrTableCell49}); + this.xrTableRow1.Name = "xrTableRow1"; + this.xrTableRow1.Weight = 0.6118222424782902D; + // + // xrTableCell1 + // + this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell1.Name = "xrTableCell1"; + this.xrTableCell1.StylePriority.UseBorders = false; + this.xrTableCell1.Weight = 0.26536308774302592D; + // + // xrTableCell4 + // + this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell4.Name = "xrTableCell4"; + this.xrTableCell4.StylePriority.UseBorders = false; + this.xrTableCell4.Weight = 0.26536308774302592D; + // + // xrTableCell6 + // + this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell6.Font = new System.Drawing.Font("Calibri", 11.25F); + this.xrTableCell6.Name = "xrTableCell6"; + this.xrTableCell6.StylePriority.UseBorders = false; + this.xrTableCell6.StylePriority.UseFont = false; + this.xrTableCell6.StylePriority.UseTextAlignment = false; + this.xrTableCell6.Text = "Kilometer"; + this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter; + this.xrTableCell6.Weight = 0.26536308774302592D; + // + // lblBewilligteStunden + // + this.lblBewilligteStunden.BackColor = System.Drawing.Color.Gainsboro; + this.lblBewilligteStunden.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.lblBewilligteStunden.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblBewilligteStunden.Multiline = true; + this.lblBewilligteStunden.Name = "lblBewilligteStunden"; + this.lblBewilligteStunden.StylePriority.UseBackColor = false; + this.lblBewilligteStunden.StylePriority.UseBorders = false; + this.lblBewilligteStunden.StylePriority.UseFont = false; + this.lblBewilligteStunden.StylePriority.UseTextAlignment = false; + this.lblBewilligteStunden.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter; + this.lblBewilligteStunden.Weight = 0.57262560560464493D; + // + // xrTableCell49 + // + this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell49.Font = new System.Drawing.Font("Calibri", 8F); + this.xrTableCell49.Multiline = true; + this.xrTableCell49.Name = "xrTableCell49"; + this.xrTableCell49.StylePriority.UseBorders = false; + this.xrTableCell49.StylePriority.UseFont = false; + this.xrTableCell49.StylePriority.UseTextAlignment = false; + this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter; + this.xrTableCell49.Weight = 0.5799965778597268D; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO); + // + // formattingRuleStartDate + // + this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]"; + this.formattingRuleStartDate.DataMember = "ServicesDouble"; + this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.formattingRuleStartDate.Name = "formattingRuleStartDate"; + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel7, + this.xrLabel6, + this.xrLabel5, + this.xrLabel2}); + this.ReportHeader.HeightF = 118.5417F; + this.ReportHeader.Name = "ReportHeader"; + // + // xrLabel7 + // + this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalGefahreneKilometerString", "Kilometer gesamt: {0:}")}); + this.xrLabel7.Font = new System.Drawing.Font("Calibri", 11.25F); + this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(23.3194F, 74.77779F); + this.xrLabel7.Name = "xrLabel7"; + this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel7.SizeF = new System.Drawing.SizeF(365.6404F, 25F); + this.xrLabel7.StylePriority.UseFont = false; + // + // xrLabel6 + // + this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel6.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 50.77779F); + this.xrLabel6.Name = "xrLabel6"; + this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel6.SizeF = new System.Drawing.SizeF(365.64F, 24F); + this.xrLabel6.StylePriority.UseBackColor = false; + this.xrLabel6.StylePriority.UseBorders = false; + this.xrLabel6.StylePriority.UseFont = false; + this.xrLabel6.StylePriority.UsePadding = false; + this.xrLabel6.StylePriority.UseTextAlignment = false; + this.xrLabel6.Text = "[CustomerName]"; + this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + // + // xrLabel5 + // + this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel5.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(388.9597F, 0F); + this.xrLabel5.Name = "xrLabel5"; + this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel5.SizeF = new System.Drawing.SizeF(159.9986F, 25F); + this.xrLabel5.StylePriority.UseBackColor = false; + this.xrLabel5.StylePriority.UseBorders = false; + this.xrLabel5.StylePriority.UseFont = false; + this.xrLabel5.StylePriority.UsePadding = false; + this.xrLabel5.StylePriority.UseTextAlignment = false; + this.xrLabel5.Text = "[Month] [Year]"; + this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + // + // xrLabel2 + // + this.xrLabel2.Font = new System.Drawing.Font("Calibri", 14F, System.Drawing.FontStyle.Bold); + this.xrLabel2.ForeColor = System.Drawing.Color.Black; + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 0F); + this.xrLabel2.Multiline = true; + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel2.SizeF = new System.Drawing.SizeF(365.64F, 25F); + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.StylePriority.UseForeColor = false; + this.xrLabel2.StylePriority.UseTextAlignment = false; + this.xrLabel2.Text = "Auswertung über gefahrene Kilometer"; + this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // formattingRuleServiceDesc + // + this.formattingRuleServiceDesc.Condition = "[StartDate2] < [StartDate]"; + this.formattingRuleServiceDesc.DataMember = "ServicesDouble"; + this.formattingRuleServiceDesc.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.formattingRuleServiceDesc.Name = "formattingRuleServiceDesc"; + // + // formattingRuleCostBearer + // + this.formattingRuleCostBearer.Condition = "[StartDate2] < [StartDate]"; + this.formattingRuleCostBearer.DataMember = "ServicesDouble"; + this.formattingRuleCostBearer.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.formattingRuleCostBearer.Name = "formattingRuleCostBearer"; + // + // formattingRuleEmployeeName + // + this.formattingRuleEmployeeName.Condition = "[StartDate2] < [StartDate]"; + this.formattingRuleEmployeeName.DataMember = "ServicesDouble"; + this.formattingRuleEmployeeName.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.formattingRuleEmployeeName.Name = "formattingRuleEmployeeName"; + // + // topMarginBand1 + // + this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPictureBox1}); + this.topMarginBand1.HeightF = 121F; + this.topMarginBand1.Name = "topMarginBand1"; + // + // xrPictureBox1 + // + this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image"))); + this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(548.5628F, 0F); + this.xrPictureBox1.Name = "xrPictureBox1"; + this.xrPictureBox1.SizeF = new System.Drawing.SizeF(198.4372F, 120.625F); + this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; + // + // bottomMarginBand1 + // + this.bottomMarginBand1.HeightF = 30F; + this.bottomMarginBand1.Name = "bottomMarginBand1"; + // + // fieldKontaktArt + // + this.fieldKontaktArt.DataMember = "Services"; + this.fieldKontaktArt.Expression = "Iif([IsGroup], \'GR\', \'E\')"; + this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String; + this.fieldKontaktArt.Name = "fieldKontaktArt"; + // + // PageFooter + // + this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPageInfo1, + this.xrPageInfo2}); + this.PageFooter.HeightF = 47.95836F; + this.PageFooter.Name = "PageFooter"; + // + // xrPageInfo1 + // + this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F); + this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(23.31975F, 24.95836F); + this.xrPageInfo1.Name = "xrPageInfo1"; + this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime; + this.xrPageInfo1.SizeF = new System.Drawing.SizeF(231.2502F, 23F); + this.xrPageInfo1.StylePriority.UseFont = false; + // + // xrPageInfo2 + // + this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F); + this.xrPageInfo2.Format = "Seite {0} von {1}"; + this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(477.6284F, 24.95836F); + this.xrPageInfo2.Name = "xrPageInfo2"; + this.xrPageInfo2.SizeF = new System.Drawing.SizeF(243.33F, 23F); + this.xrPageInfo2.StylePriority.UseFont = false; + this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // Kilometerbeleg + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.DetailReport, + this.ReportHeader, + this.topMarginBand1, + this.bottomMarginBand1, + this.PageFooter}); + this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { + this.fieldKontaktArt}); + this.DataSource = this.bindingSource1; + this.Font = new System.Drawing.Font("Arial", 10F); + this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.formattingRuleStartDate, + this.formattingRuleServiceDesc, + this.formattingRuleCostBearer, + this.formattingRuleEmployeeName}); + this.Margins = new System.Drawing.Printing.Margins(50, 30, 121, 30); + this.PageHeight = 1169; + this.PageWidth = 827; + this.PaperKind = System.Drawing.Printing.PaperKind.A4; + this.Version = "17.1"; + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).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.DetailReportBand DetailReport; + private DevExpress.XtraReports.UI.DetailBand Detail1; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.FormattingRule formattingRuleStartDate; + private DevExpress.XtraReports.UI.FormattingRule formattingRuleServiceDesc; + private DevExpress.XtraReports.UI.FormattingRule formattingRuleCostBearer; + private DevExpress.XtraReports.UI.FormattingRule formattingRuleEmployeeName; + private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1; + private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1; + private DevExpress.XtraReports.UI.XRLabel xrLabel2; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1; + private DevExpress.XtraReports.UI.XRTable xrTableServiceRecords1; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; + private DevExpress.XtraReports.UI.XRTableCell lblKategorie; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell48; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; + private DevExpress.XtraReports.UI.XRTableCell lblBewilligteStunden; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell49; + private DevExpress.XtraReports.UI.XRLabel xrLabel6; + private DevExpress.XtraReports.UI.XRLabel xrLabel5; + private DevExpress.XtraReports.UI.XRTable xrTable3; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow6; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell50; + private DevExpress.XtraReports.UI.CalculatedField fieldKontaktArt; + private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell5; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; + private DevExpress.XtraReports.UI.PageFooterBand PageFooter; + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2; + private DevExpress.XtraReports.UI.XRLabel xrLabel7; + } +} diff --git a/ReportImp/AKGG/KilometerAuswertung.cs b/ReportImp/AKGG/KilometerAuswertung.cs new file mode 100644 index 000000000..60859de77 --- /dev/null +++ b/ReportImp/AKGG/KilometerAuswertung.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Text.RegularExpressions; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BeWo.Service.ServiceImplementations; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using DevExpress.XtraReports.UI; + +namespace Akgg +{ + public partial class Kilometerbeleg : XtraReport, IBeWoReport + { + public Kilometerbeleg() + { + InitializeComponent(); + } + + public void SetReportDataSource(ServicesOverviewRO pRO) + { + + if (pRO.Services != null) + { + List servicesBillable = new List(); + + foreach (var sd in pRO.Services) + { + if (sd.IsBillable) + { + sd.Minutes = sd.Minutes / 60; + servicesBillable.Add(sd); + } + } + + pRO.Services = servicesBillable; + } + + bindingSource1.DataSource = pRO; + } + } +} diff --git a/ReportImp/AKGG/KilometerAuswertung.resx b/ReportImp/AKGG/KilometerAuswertung.resx new file mode 100644 index 000000000..ef4d34edb --- /dev/null +++ b/ReportImp/AKGG/KilometerAuswertung.resx @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 21, 17 + + + + + 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 + + + \ No newline at end of file diff --git a/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs b/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs index 7d2f69bb6..4346178e6 100644 --- a/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs +++ b/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs @@ -39,6 +39,81 @@ namespace ApiBerlin.Validation } } + bool isGroupRecord = (cb2scOids != null && cb2scOids.Count > 1) || + (employeeOids != null && employeeOids.Count > 1); + + + DateTime start = newServiceRecord.Start.Value; + bool noTime = (start.Hour == 0 && start.Minute == 0 && start.Second == 1); //Keine Zeit angegeben + var duration = (decimal)newServiceRecord.End.Value.Subtract(newServiceRecord.Start.Value).TotalMinutes; + if (!noTime && duration == 0) + { + noTime = true; + } + newServiceRecord.RoundedDuration = duration; + decimal roundedDuration = duration; + + var srdc = PluginLoader.FindClass(); + if (srdc != null) + { + srdc.CalculateRoundedDuration(newServiceRecord); + + roundedDuration = newServiceRecord.RoundedDuration; + } + + decimal? grd = newServiceRecord.GroupRoundedDuration; + + if (isGroupRecord) + { + var groupcalc = PluginLoader.FindClass(); + + if (groupcalc != null) + { + var gd = groupcalc.CalculateGroupDuration(cb2scOids.Count, employeeOids.Count, duration, cb2scOids.ToArray()); + if (gd == null) + { + grd = roundedDuration; + roundedDuration = Math.Round(roundedDuration / cb2scOids.Count, 0, MidpointRounding.AwayFromZero); + } + else + { + grd = gd.TotalDuration; + roundedDuration = gd.SingleDuration; + } + + } + } + + + //var minuteInterval = cbDC.ActualMinuteIntervall; + //if (minuteInterval > 0) + newServiceRecord.RoundedDuration = roundedDuration; + + + decimal rd = newServiceRecord.RoundedDuration; + + if (!isGroupRecord) + { + ServiceRecordValidationResultDC resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, newServiceRecord.Employee.EmployeeOid, rd); + if (resultdc != null) + result.Add(resultdc); + } + else if (employeeOids != null) + { + foreach (long employeeOid in employeeOids) + { + ServiceRecordValidationResultDC resultdc = null; + if (resultdc == null) + { + resultdc = CheckOverlappingEmployeeServiceRecords(newServiceRecord, start, employeeOid, grd ?? rd); + if (resultdc != null) + result.Add(resultdc); + + } + } + } + + return result; } }