diff --git a/Report/DefaultReportCreator.cs b/Report/DefaultReportCreator.cs index e7d267caf..2c37bf380 100644 --- a/Report/DefaultReportCreator.cs +++ b/Report/DefaultReportCreator.cs @@ -802,17 +802,26 @@ namespace BeWo.Report if (report != null) { report.CreateDocument(); - - var anhang = CreateBudgetnachweisAnhang(lSettlementDC); - if (anhang != null) + if (reportId != null && reportId == "LWLDigga") { - anhang.CreateDocument(); - report.Pages.AddRange(anhang.Pages); + var anhang = CreateBudgetnachweisDiggiAnhang(lSettlementDC); + if (anhang != null) + { + anhang.CreateDocument(); + report.Pages.AddRange(anhang.Pages); + } + } + else + { + var anhang = CreateBudgetnachweisAnhang(lSettlementDC); + if (anhang != null) + { + anhang.CreateDocument(); + report.Pages.AddRange(anhang.Pages); + } } } } - - return report; } @@ -826,6 +835,16 @@ namespace BeWo.Report return anhang as XtraReport; } + protected virtual XtraReport CreateBudgetnachweisDiggiAnhang(Settlement2DC settlementDC) + { + var ro = PluginLoader.FindClass(); + ro.Create(settlementDC); + IBeWoReport anhang = FindReportImp(); + anhang.SetReportDataSource(ro); + + return anhang as XtraReport; + } + public override XtraReport CreateSupportConceptReport(IList c2sOids, long? employeeOid, long? teamOid, long? catOid, int? expiredMonths, bool archivedSupportConcepts, DateTime? startDate, DateTime? endDate) { var lSupportConceptReport = FindReportImp(); diff --git a/Report/DefaultReports/BudgetnachweisAnhangDigi.Designer.cs b/Report/DefaultReports/BudgetnachweisAnhangDigga.Designer.cs similarity index 99% rename from Report/DefaultReports/BudgetnachweisAnhangDigi.Designer.cs rename to Report/DefaultReports/BudgetnachweisAnhangDigga.Designer.cs index 8eab7f4d2..8b8016414 100644 --- a/Report/DefaultReports/BudgetnachweisAnhangDigi.Designer.cs +++ b/Report/DefaultReports/BudgetnachweisAnhangDigga.Designer.cs @@ -1,6 +1,6 @@ namespace BeWo.Report.DefaultReports { - partial class BudgetnachweisAnhangDigi + partial class BudgetnachweisAnhangDigga { /// /// Required designer variable. @@ -29,7 +29,7 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BudgetnachweisAnhangDigi)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BudgetnachweisAnhangDigga)); DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary(); @@ -1867,7 +1867,7 @@ // // bindingSource1 // - this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.BudgetnachweisAnhangDigiRO); + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.BudgetnachweisAnhangDiggaRO); // // xrLine1 // diff --git a/Report/DefaultReports/BudgetnachweisAnhangDigga.cs b/Report/DefaultReports/BudgetnachweisAnhangDigga.cs new file mode 100644 index 000000000..533bc4f09 --- /dev/null +++ b/Report/DefaultReports/BudgetnachweisAnhangDigga.cs @@ -0,0 +1,21 @@ +using System; +using System.Linq; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BS.Shared.Core; + +namespace BeWo.Report.DefaultReports +{ + public partial class BudgetnachweisAnhangDigga : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + public BudgetnachweisAnhangDigga() + { + InitializeComponent(); + } + + public void SetReportDataSource(BudgetnachweisAnhangDiggaRO pRO) + { + bindingSource1.DataSource = pRO; + } + } +} diff --git a/Report/DefaultReports/BudgetnachweisAnhangDigi.resx b/Report/DefaultReports/BudgetnachweisAnhangDigga.resx similarity index 100% rename from Report/DefaultReports/BudgetnachweisAnhangDigi.resx rename to Report/DefaultReports/BudgetnachweisAnhangDigga.resx diff --git a/Report/DefaultReports/BudgetnachweisAnhangDigi.cs b/Report/DefaultReports/BudgetnachweisAnhangDigi.cs deleted file mode 100644 index f418252df..000000000 --- a/Report/DefaultReports/BudgetnachweisAnhangDigi.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Linq; -using BeWo.Report; -using BeWo.Report.ReportObjects; - -namespace BeWo.Report.DefaultReports -{ - public partial class BudgetnachweisAnhangDigi : DevExpress.XtraReports.UI.XtraReport, IBeWoReport - { - public BudgetnachweisAnhangDigi() - { - InitializeComponent(); - } - - public void SetReportDataSource(BudgetnachweisAnhangDigiRO pRO) - { - bindingSource1.DataSource = pRO; - } - } -} diff --git a/Report/DefaultReports/BudgetnachweisDigga.Designer.cs b/Report/DefaultReports/BudgetnachweisDigga.Designer.cs new file mode 100644 index 000000000..56d6dc56f --- /dev/null +++ b/Report/DefaultReports/BudgetnachweisDigga.Designer.cs @@ -0,0 +1,515 @@ +namespace BeWo.Report.DefaultReports +{ + partial class BudgetnachweisDigga + { + /// + /// 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(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BudgetnachweisDigga)); + DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrPanel1 = new DevExpress.XtraReports.UI.XRPanel(); + this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel(); + this.lblAktenzeichen = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLine1 = new DevExpress.XtraReports.UI.XRLine(); + this.xrLabel35 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrCheckBox2 = new DevExpress.XtraReports.UI.XRCheckBox(); + this.xrCheckBox1 = new DevExpress.XtraReports.UI.XRCheckBox(); + this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); + this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); + this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel(); + this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.lblAdresseLori = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel1 = 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.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // Detail + // + this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel14, + this.xrLabel13, + this.xrPanel1, + this.xrLabel4, + this.xrLine1, + this.xrLabel35, + this.xrLabel12, + this.xrCheckBox2, + this.xrCheckBox1}); + this.Detail.Font = new DevExpress.Drawing.DXFont("Arial", 11F); + this.Detail.HeightF = 650.6457F; + this.Detail.Name = "Detail"; + this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); + this.Detail.StylePriority.UseFont = false; + this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; + // + // xrLabel14 + // + this.xrLabel14.BackColor = System.Drawing.Color.Transparent; + this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 409.3748F); + this.xrLabel14.Multiline = true; + this.xrLabel14.Name = "xrLabel14"; + this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel14.SizeF = new System.Drawing.SizeF(673.3193F, 38.95834F); + this.xrLabel14.StylePriority.UseBackColor = false; + this.xrLabel14.StylePriority.UseFont = false; + this.xrLabel14.StylePriority.UseTextAlignment = false; + this.xrLabel14.Text = "Diese Unterlagen sind 5 Jahre lang aufzubewahren und auf Verlangen des Sozialhilf" + + "eträgers bzw. des Trägers der Eingliederungshilfe vorzulegen (§ 2 Abs. 1 der Ver" + + "gütungsvereinbarung)."; + this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopJustify; + // + // xrLabel13 + // + this.xrLabel13.BackColor = System.Drawing.Color.Transparent; + this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 337.0832F); + this.xrLabel13.Multiline = true; + this.xrLabel13.Name = "xrLabel13"; + this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel13.SizeF = new System.Drawing.SizeF(673.3193F, 72.29169F); + this.xrLabel13.StylePriority.UseBackColor = false; + this.xrLabel13.StylePriority.UseFont = false; + this.xrLabel13.StylePriority.UseTextAlignment = false; + this.xrLabel13.Text = resources.GetString("xrLabel13.Text"); + this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopJustify; + // + // xrPanel1 + // + this.xrPanel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrPanel1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel15, + this.lblAktenzeichen, + this.xrLabel7, + this.xrLabel10, + this.xrLabel3, + this.xrLabel9}); + this.xrPanel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrPanel1.Name = "xrPanel1"; + this.xrPanel1.SizeF = new System.Drawing.SizeF(673.3192F, 179.1617F); + this.xrPanel1.StylePriority.UseBorders = false; + // + // xrLabel15 + // + this.xrLabel15.BackColor = System.Drawing.Color.Transparent; + this.xrLabel15.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel15.CanShrink = true; + this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Arial", 11F); + this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 29.99999F); + this.xrLabel15.Name = "xrLabel15"; + this.xrLabel15.SizeF = new System.Drawing.SizeF(650F, 20F); + this.xrLabel15.StylePriority.UseBackColor = false; + this.xrLabel15.StylePriority.UseBorders = false; + this.xrLabel15.StylePriority.UseFont = false; + this.xrLabel15.StylePriority.UsePadding = false; + this.xrLabel15.Text = "[CustomerName], [CustomerStreet], [CustomerPostalCode] [CustomerTown]"; + this.xrLabel15.WordWrap = false; + // + // lblAktenzeichen + // + this.lblAktenzeichen.BackColor = System.Drawing.Color.Transparent; + this.lblAktenzeichen.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.lblAktenzeichen.CanShrink = true; + this.lblAktenzeichen.Font = new DevExpress.Drawing.DXFont("Arial", 11F); + this.lblAktenzeichen.LocationFloat = new DevExpress.Utils.PointFloat(10F, 65F); + this.lblAktenzeichen.Multiline = true; + this.lblAktenzeichen.Name = "lblAktenzeichen"; + this.lblAktenzeichen.SizeF = new System.Drawing.SizeF(650F, 20F); + this.lblAktenzeichen.StylePriority.UseBackColor = false; + this.lblAktenzeichen.StylePriority.UseBorders = false; + this.lblAktenzeichen.StylePriority.UseFont = false; + this.lblAktenzeichen.StylePriority.UsePadding = false; + this.lblAktenzeichen.Text = "Aktenzeichen LWL: [CustomerReferenceNumber] Geburtsdatum: [CustomerBirthday!" + + "dd.MM.yyyy]"; + this.lblAktenzeichen.WordWrap = false; + // + // xrLabel7 + // + this.xrLabel7.BackColor = System.Drawing.Color.Transparent; + this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel7.CanShrink = true; + this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(10F, 100F); + this.xrLabel7.Multiline = true; + this.xrLabel7.Name = "xrLabel7"; + this.xrLabel7.SizeF = new System.Drawing.SizeF(650F, 20F); + this.xrLabel7.StylePriority.UseBackColor = false; + this.xrLabel7.StylePriority.UseBorders = false; + this.xrLabel7.StylePriority.UseFont = false; + this.xrLabel7.StylePriority.UsePadding = false; + this.xrLabel7.Text = "Bewilligungszeitraum von [AccountingPeriod]"; + this.xrLabel7.WordWrap = false; + // + // xrLabel10 + // + this.xrLabel10.BackColor = System.Drawing.Color.Transparent; + this.xrLabel10.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(10F, 135F); + this.xrLabel10.Multiline = true; + this.xrLabel10.Name = "xrLabel10"; + this.xrLabel10.SizeF = new System.Drawing.SizeF(551.3751F, 27.08333F); + this.xrLabel10.StylePriority.UseBackColor = false; + this.xrLabel10.StylePriority.UseBorders = false; + this.xrLabel10.StylePriority.UseFont = false; + this.xrLabel10.StylePriority.UsePadding = false; + this.xrLabel10.Text = "Tatsächlich geleistete Fachleistungsstunden im Bewilligungszeitraum lt. Anlage:"; + // + // xrLabel3 + // + this.xrLabel3.BackColor = System.Drawing.Color.Transparent; + this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrLabel3.BorderWidth = 2F; + this.xrLabel3.CanShrink = true; + this.xrLabel3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "RecordedFLS", "{0:0.00}")}); + this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(561.38F, 132F); + this.xrLabel3.Multiline = true; + this.xrLabel3.Name = "xrLabel3"; + this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel3.SizeF = new System.Drawing.SizeF(98.62469F, 27.08333F); + this.xrLabel3.StylePriority.UseBackColor = false; + this.xrLabel3.StylePriority.UseBorders = false; + this.xrLabel3.StylePriority.UseBorderWidth = false; + this.xrLabel3.StylePriority.UseFont = false; + this.xrLabel3.StylePriority.UseTextAlignment = false; + this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrLabel3.WordWrap = false; + // + // xrLabel9 + // + this.xrLabel9.BackColor = System.Drawing.Color.Transparent; + this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel9.CanShrink = true; + this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 11F, ((DevExpress.Drawing.DXFontStyle)((DevExpress.Drawing.DXFontStyle.Bold | DevExpress.Drawing.DXFontStyle.Underline)))); + this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 9.999974F); + this.xrLabel9.Name = "xrLabel9"; + this.xrLabel9.SizeF = new System.Drawing.SizeF(650F, 20F); + this.xrLabel9.StylePriority.UseBackColor = false; + this.xrLabel9.StylePriority.UseBorders = false; + this.xrLabel9.StylePriority.UseFont = false; + this.xrLabel9.StylePriority.UsePadding = false; + this.xrLabel9.Text = "Leistungsberechtigte/r:"; + this.xrLabel9.WordWrap = false; + // + // xrLabel4 + // + this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 462.9165F); + this.xrLabel4.Multiline = true; + this.xrLabel4.Name = "xrLabel4"; + this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel4.SizeF = new System.Drawing.SizeF(663.5623F, 81.58331F); + this.xrLabel4.StylePriority.UseFont = false; + this.xrLabel4.Text = resources.GetString("xrLabel4.Text"); + // + // xrLine1 + // + this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 612.0626F); + this.xrLine1.Name = "xrLine1"; + this.xrLine1.SizeF = new System.Drawing.SizeF(678.3188F, 10.79163F); + // + // xrLabel35 + // + this.xrLabel35.BackColor = System.Drawing.Color.Transparent; + this.xrLabel35.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel35.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(0.0006357829F, 622.8542F); + this.xrLabel35.Multiline = true; + this.xrLabel35.Name = "xrLabel35"; + this.xrLabel35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel35.SizeF = new System.Drawing.SizeF(657F, 24.29156F); + this.xrLabel35.StylePriority.UseBackColor = false; + this.xrLabel35.StylePriority.UseBorders = false; + this.xrLabel35.StylePriority.UseFont = false; + this.xrLabel35.Text = "Stempel / Funktion und Unterschrift der / des Verantwortlichen"; + this.xrLabel35.WordWrap = false; + // + // xrLabel12 + // + this.xrLabel12.BackColor = System.Drawing.Color.Transparent; + this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 267.0832F); + 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(673.32F, 70F); + this.xrLabel12.StylePriority.UseBackColor = false; + this.xrLabel12.StylePriority.UseFont = false; + this.xrLabel12.StylePriority.UseTextAlignment = false; + this.xrLabel12.Text = resources.GetString("xrLabel12.Text"); + this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopJustify; + // + // xrCheckBox2 + // + this.xrCheckBox2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 226.0367F); + this.xrCheckBox2.Name = "xrCheckBox2"; + this.xrCheckBox2.SizeF = new System.Drawing.SizeF(211.0832F, 21.875F); + this.xrCheckBox2.StylePriority.UseFont = false; + this.xrCheckBox2.Text = " Die Betreuung dauert an."; + // + // xrCheckBox1 + // + this.xrCheckBox1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 192.7034F); + this.xrCheckBox1.Name = "xrCheckBox1"; + this.xrCheckBox1.SizeF = new System.Drawing.SizeF(493.5575F, 21.875F); + this.xrCheckBox1.StylePriority.UseFont = false; + this.xrCheckBox1.Text = " Die Betreuung wurde beendet am"; + // + // ruleRateFactorNull + // + this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?"; + this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False; + this.ruleRateFactorNull.Name = "ruleRateFactorNull"; + // + // topMarginBand1 + // + this.topMarginBand1.HeightF = 51.0417F; + this.topMarginBand1.Name = "topMarginBand1"; + // + // bottomMarginBand1 + // + this.bottomMarginBand1.HeightF = 87.60433F; + this.bottomMarginBand1.Name = "bottomMarginBand1"; + // + // lblAdresse + // + this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 141.875F); + this.lblAdresse.Multiline = true; + this.lblAdresse.Name = "lblAdresse"; + this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblAdresse.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.lblAdresse.SizeF = new System.Drawing.SizeF(329.9999F, 93.04164F); + this.lblAdresse.StylePriority.UseFont = false; + this.lblAdresse.Text = "[RecipientContactPerson]\r\n[RecipientOrganisation]\r\n[RecipientDivision]\r\n[Recipien" + + "tStreet]\r\n[RecipientPostCodeAndTown]"; + // + // GroupHeader1 + // + this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblAdresseLori, + this.xrLabel19, + this.xrLabel1, + this.xrLabel6, + this.xrLabel5, + this.xrLabel2, + this.xrLabel11, + this.xrLabel8, + this.lblAdresse}); + this.GroupHeader1.Font = new DevExpress.Drawing.DXFont("Arial", 11F); + this.GroupHeader1.HeightF = 300.6667F; + this.GroupHeader1.Name = "GroupHeader1"; + this.GroupHeader1.StylePriority.UseFont = false; + // + // lblAdresseLori + // + this.lblAdresseLori.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.lblAdresseLori.Multiline = true; + this.lblAdresseLori.Name = "lblAdresseLori"; + this.lblAdresseLori.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblAdresseLori.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.lblAdresseLori.SizeF = new System.Drawing.SizeF(309.1667F, 108.25F); + this.lblAdresseLori.StylePriority.UseFont = false; + this.lblAdresseLori.Text = "[Mandator.Name]\r\n[Mandator.Street]\r\n[Mandator.PostalCode] [Mandator.Town]"; + // + // xrLabel19 + // + this.xrLabel19.CanGrow = false; + this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 20.00001F); + this.xrLabel19.Multiline = true; + this.xrLabel19.Name = "xrLabel19"; + this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel19.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel19.SizeF = new System.Drawing.SizeF(140.0208F, 72.20831F); + this.xrLabel19.StylePriority.UseBorders = false; + this.xrLabel19.StylePriority.UseFont = false; + this.xrLabel19.Text = "Ansprechpartner/in:\r\nTelefon:\r\nFax:\r\nE-Mail:"; + // + // xrLabel1 + // + this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrLabel1.CanGrow = false; + this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 20.00001F); + this.xrLabel1.Multiline = true; + this.xrLabel1.Name = "xrLabel1"; + this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel1.SizeF = new System.Drawing.SizeF(236.9816F, 72.20831F); + this.xrLabel1.StylePriority.UseBorders = false; + this.xrLabel1.StylePriority.UseFont = false; + this.xrLabel1.Text = "[SenderContactPerson]\r\n[SenderContactPersonPhone]\r\n[SenderContactPersonFax]\r\n[Sen" + + "derContactPersonMail]"; + // + // xrLabel6 + // + this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom; + this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 0F); + this.xrLabel6.Name = "xrLabel6"; + this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel6.SizeF = new System.Drawing.SizeF(193.3007F, 20.00001F); + this.xrLabel6.StylePriority.UseBorders = false; + this.xrLabel6.Text = "[Mandator.Town], [InvoiceDate!dd.MM.yyyy]"; + this.xrLabel6.TextFormatString = "Witten, {0:dd.MM.yyyy}"; + // + // xrLabel5 + // + this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Bottom; + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 0F); + this.xrLabel5.Multiline = true; + this.xrLabel5.Name = "xrLabel5"; + this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel5.SizeF = new System.Drawing.SizeF(140.0208F, 20F); + this.xrLabel5.StylePriority.UseBorders = false; + this.xrLabel5.StylePriority.UseFont = false; + this.xrLabel5.Text = "Ort, Datum"; + // + // xrLabel2 + // + this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Top; + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 92.20832F); + this.xrLabel2.Multiline = true; + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel2.SizeF = new System.Drawing.SizeF(140.0208F, 28.45828F); + this.xrLabel2.StylePriority.UseBorders = false; + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.Text = "ZAD-Nr. des LWL:"; + // + // xrLabel11 + // + this.xrLabel11.Borders = DevExpress.XtraPrinting.BorderSide.Top; + this.xrLabel11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "BusinessPartnerId")}); + this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 92.20832F); + this.xrLabel11.Multiline = true; + this.xrLabel11.Name = "xrLabel11"; + this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel11.SizeF = new System.Drawing.SizeF(193.3008F, 28.45828F); + this.xrLabel11.StylePriority.UseBorders = false; + this.xrLabel11.StylePriority.UseFont = false; + // + // xrLabel8 + // + this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 260.6667F); + this.xrLabel8.Multiline = true; + this.xrLabel8.Name = "xrLabel8"; + this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel8.SizeF = new System.Drawing.SizeF(673.319F, 40.00003F); + this.xrLabel8.StylePriority.UseFont = false; + this.xrLabel8.StylePriority.UseTextAlignment = false; + this.xrLabel8.Text = "Sonder-Budgetnachweismuster des LWL bei minutengenauer Zeiterfassung\r\nüber die Ab" + + "rechnung von Fachleistungsstunden im Rahmen der Eingliederungshilfe"; + this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO); + // + // BudgetnachweisDigga + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.topMarginBand1, + this.bottomMarginBand1, + this.GroupHeader1}); + this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] { + this.bindingSource1}); + this.DataSource = this.bindingSource1; + this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung"; + this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleRateFactorNull}); + this.Margins = new DevExpress.Drawing.DXMargins(80F, 30F, 51.0417F, 87.60433F); + this.PageHeight = 1169; + this.PageWidth = 827; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.Version = "23.2"; + xrWatermark1.Id = "Watermark1"; + xrWatermark1.PageRange = "1"; + this.Watermarks.Add(xrWatermark1); + ((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.FormattingRule ruleRateFactorNull; + private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1; + private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1; + private DevExpress.XtraReports.UI.XRLabel xrLabel12; + private DevExpress.XtraReports.UI.XRCheckBox xrCheckBox2; + private DevExpress.XtraReports.UI.XRCheckBox xrCheckBox1; + private DevExpress.XtraReports.UI.XRLabel xrLabel35; + private DevExpress.XtraReports.UI.XRLine xrLine1; + private DevExpress.XtraReports.UI.XRLabel lblAdresse; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1; + private DevExpress.XtraReports.UI.XRLabel xrLabel4; + private DevExpress.XtraReports.UI.XRPanel xrPanel1; + private DevExpress.XtraReports.UI.XRLabel xrLabel15; + private DevExpress.XtraReports.UI.XRLabel lblAktenzeichen; + private DevExpress.XtraReports.UI.XRLabel xrLabel7; + private DevExpress.XtraReports.UI.XRLabel xrLabel10; + private DevExpress.XtraReports.UI.XRLabel xrLabel3; + private DevExpress.XtraReports.UI.XRLabel xrLabel9; + private DevExpress.XtraReports.UI.XRLabel xrLabel8; + private DevExpress.XtraReports.UI.XRLabel xrLabel19; + private DevExpress.XtraReports.UI.XRLabel xrLabel1; + private DevExpress.XtraReports.UI.XRLabel xrLabel6; + private DevExpress.XtraReports.UI.XRLabel xrLabel5; + private DevExpress.XtraReports.UI.XRLabel xrLabel2; + private DevExpress.XtraReports.UI.XRLabel xrLabel11; + private DevExpress.XtraReports.UI.XRLabel xrLabel14; + private DevExpress.XtraReports.UI.XRLabel xrLabel13; + private DevExpress.XtraReports.UI.XRLabel lblAdresseLori; + } +} diff --git a/Report/DefaultReports/BudgetnachweisDigga.cs b/Report/DefaultReports/BudgetnachweisDigga.cs new file mode 100644 index 000000000..1dd29ba78 --- /dev/null +++ b/Report/DefaultReports/BudgetnachweisDigga.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Report.ReportObjects; +using BeWo.Report; +using BS.Shared.DataContracts; +using DevExpress.XtraReports.UI; +using BeWo.Service.DCEntityMapper; +using BS.Shared.Core; + +namespace BeWo.Report.DefaultReports +{ + [IDSpecificClass(Identifier = "LWLDigga")] + public partial class BudgetnachweisDigga : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + public BudgetnachweisDigga() + { + InitializeComponent(); + } + + public void SetReportDataSource(Settlement2RO pRO) + { + if (!String.IsNullOrEmpty(pRO.SenderContactPersonPhone)) + { + pRO.SenderContactPersonPhone = pRO.SenderContactPersonPhone.Replace("Tel.:", "").Trim(); + } + if (!String.IsNullOrEmpty(pRO.SenderContactPersonFax)) + { + pRO.SenderContactPersonFax = pRO.SenderContactPersonFax.Replace("Fax:", "").Trim(); + } + if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail)) + { + pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("E-Mail:", "").Trim(); + } + + xrCheckBox2.Checked = true; + if (pRO.TerminationDate.HasValue) + { + xrCheckBox1.Text = String.Format(" Die Betreuung wurde beendet am {0:dd.MM.yyyy}", pRO.TerminationDate.Value); + xrCheckBox2.Checked = false; + xrCheckBox1.Checked = true; + } + + bindingSource1.DataSource = pRO; + } + } +} diff --git a/Report/DefaultReports/BudgetnachweisDigga.resx b/Report/DefaultReports/BudgetnachweisDigga.resx new file mode 100644 index 000000000..83f6efc4f --- /dev/null +++ b/Report/DefaultReports/BudgetnachweisDigga.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Die Anwendung dieses Sonder-Budgetnachweismusters setzt voraus, dass die Zeitspanne je direkter Betreuung minutengenau auf den Quittierungsbelegen ausgewiesen, ohne Rundung berechnet und so den Leistungsberechtigten zeitnah zur Unterschrift vorgelegt wird. + + + Sollte sich bei der Abrechnung der FLS ein Auszahlungsbetrag zu unseren Gunsten ergeben, bitten wir um Erstattung auf folgendes Kreditinstitut + +Kreditinstitut: [Mandator.BankAccount.BankName] IBAN: [Mandator.BankAccount.IBAN] + + + + Hiermit wird erklärt, dass die Verpflichtungen aus den Vereinbarungen nach §§ 75 ff. SGB Xll bzw. §§ 125 ff. SGB IX eingehalten wurden und alle hier gemachten Angaben je Betreuungskontakt anhand der Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können. + + \ No newline at end of file diff --git a/Report/ReportObjects/BudgetnachweisAnhangUngerundetRO.cs b/Report/ReportObjects/BudgetnachweisAnhangDiggaRO.cs similarity index 91% rename from Report/ReportObjects/BudgetnachweisAnhangUngerundetRO.cs rename to Report/ReportObjects/BudgetnachweisAnhangDiggaRO.cs index add4370e2..50389f804 100644 --- a/Report/ReportObjects/BudgetnachweisAnhangUngerundetRO.cs +++ b/Report/ReportObjects/BudgetnachweisAnhangDiggaRO.cs @@ -12,7 +12,7 @@ using BS.Shared.Extensions; namespace BeWo.Report.ReportObjects { - public class BudgetnachweisAnhangDigiRO : AbstractBeWoReportObject + public class BudgetnachweisAnhangDiggaRO : AbstractBeWoReportObject { public LWLDiggaBerechnung LWLDiggaBerechnung { get; set; } public Settlement2DC SettlementDC { get; set; } @@ -38,6 +38,7 @@ namespace BeWo.Report.ReportObjects this.Costbearer2SupportConceptDC = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(cb2sc); this.CustomerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(customer); MonatsZeilen = LWLDiggaBerechnung.MonatsZeilen; + Entgeltzeitraeume = LWLDiggaBerechnung.Entgeltzeitraeume; } } } \ No newline at end of file diff --git a/Service/Invoicing/LWLDiggaBerechnung.cs b/Service/Invoicing/LWLDiggaBerechnung.cs index e82a98265..3c72cd0fb 100644 --- a/Service/Invoicing/LWLDiggaBerechnung.cs +++ b/Service/Invoicing/LWLDiggaBerechnung.cs @@ -15,19 +15,6 @@ namespace BeWo.Service.Invoicing { public class LWLDiggaBerechnung : AbstractIDSpecificDefaultClass { - public virtual DateTime? Umstellungsdatum() - { - // letzter Tag mit alter Rundung (Variante 1) in Zeitervassung - return null; - } - - public virtual bool EndRundung() - { - // ursprünglich ist vom LWL angedacht gewesen, dass nur Rundungsvariante 2 erlaubt ist, - // das heißt, dass die Rundung vom Zeiterfassungseintrag zum Monatsgesamtwert wechselt in dem Moment, wo die digitalen Belege genutzt werden - return true; - } - public DateTime BewilligtStart { get; set; } public DateTime BewilligtEnde { get; set; } public List Entgeltzeitraeume { get; set; } @@ -45,9 +32,7 @@ namespace BeWo.Service.Invoicing public virtual void CreateLWLDiggaBerechnung(Settlement2DC si, CostBearer2SupportConcept cb2sc, DateTime? BewilligtStart, DateTime? BewilligtEnde) { - var calc = PluginLoader.FindClass(_SpecificID) ?? Calculations.GetInstance(_SpecificID); var serviceRecords = GetBillableServiceRecords(cb2sc); - var relDC = cb2sc.MapToNewDC(); this.BewilligtStart = si.AccountingPeriodStart.Value; this.BewilligtEnde = si.AccountingPeriodEnd.Value; MonatsZeilen = new List(); @@ -61,7 +46,6 @@ namespace BeWo.Service.Invoicing DateTime monat = new DateTime(this.BewilligtStart.Year, this.BewilligtStart.Month, this.BewilligtStart.Day); CalculateMonatsbasisWerte(Entgeltzeitraeume, cb2sc, serviceRecords, span, monat2Zeile, monat); - CalculateMonatsMinutenWerteMitRundung(MonatsZeilen); foreach (var e in this.Entgeltzeitraeume) @@ -95,8 +79,9 @@ namespace BeWo.Service.Invoicing private void CalculateMonatsMinutenWerteMitRundung(List MonatsZeilen) { - DateTime? uDate = Umstellungsdatum(); - bool neueRundung = EndRundung(); + var lwlSIC = PluginLoader.FindClass("LWLDigga") ?? SettlementInvoiceCreation.GetInstance("LWLDigga"); + DateTime ? uDate = lwlSIC.Umstellungsdatum(); + //bool neueRundung = lwlSIC.EndRundung(); foreach (var mz in MonatsZeilen) { @@ -112,7 +97,7 @@ namespace BeWo.Service.Invoicing else { mz.SummeFaktorMinuten = Math.Round(mz.SummeFLMinuten * 0.2m, 2, MidpointRounding.AwayFromZero); - mz.SummeMinutenGerundet = mz.SummeFLMinuten + SummeFaktorMinuten; + mz.SummeMinutenGerundet = mz.SummeFLMinuten + mz.SummeFaktorMinuten; mz.SummeFLStunden = Math.Round(mz.SummeMinutenGerundet / 60, 2, MidpointRounding.AwayFromZero); mz.SummeFehlkontakteStunden = Math.Round(mz.SummeFehlkontakte / 60, 2, MidpointRounding.AwayFromZero); mz.SummeGesamtMinutenMitFKGerundet = mz.SummeMinutenGerundet + mz.SummeFehlkontakte; diff --git a/Service/Invoicing/LWLDiggaSettlementInvoiceCreation.cs b/Service/Invoicing/LWLDiggaSettlementInvoiceCreation.cs index 1fd8522dd..38270185c 100644 --- a/Service/Invoicing/LWLDiggaSettlementInvoiceCreation.cs +++ b/Service/Invoicing/LWLDiggaSettlementInvoiceCreation.cs @@ -16,6 +16,14 @@ namespace BeWo.Service.Invoicing [IDSpecificClass(Identifier = "LWLDigga")] public class LWLDiggaSettlementInvoiceCreation : SettlementInvoiceCreation { + // AB, 20.1.0.2025: wird in jedem Kundenprojekt einzeln überschrieben + //public override DateTime? Umstellungsdatum() + //{ + // // letzter Tag mit alter Rundung (Variante 1) in Zeitervassung + // return new DateTime(2025, 08, 31); + //} + + public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s) { return false; diff --git a/Service/Invoicing/SettlementInvoiceCreation.cs b/Service/Invoicing/SettlementInvoiceCreation.cs index cb5330c49..d4b33f5c6 100644 --- a/Service/Invoicing/SettlementInvoiceCreation.cs +++ b/Service/Invoicing/SettlementInvoiceCreation.cs @@ -1396,5 +1396,12 @@ namespace BeWo.Service.Invoicing { return false; } - } + + public virtual DateTime? Umstellungsdatum() + { + // AB, 20.10.2025: für LWLDigga + // letzter Tag mit alter Rundung (Variante 1) in Zeitervassung + return null; + } + } }