Invoiving LWLDigga mit BudgetnachweisDigga & BudgetnachweisAnhangDigga

This commit is contained in:
2025-10-20 10:40:24 +02:00
parent d43fea5ae6
commit ced330fdf4
12 changed files with 769 additions and 51 deletions

View File

@@ -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<BudgetnachweisAnhangDiggaRO>();
ro.Create(settlementDC);
IBeWoReport<BudgetnachweisAnhangDiggaRO> anhang = FindReportImp<BudgetnachweisAnhangDiggaRO>();
anhang.SetReportDataSource(ro);
return anhang as XtraReport;
}
public override XtraReport CreateSupportConceptReport(IList<long> c2sOids, long? employeeOid, long? teamOid, long? catOid, int? expiredMonths, bool archivedSupportConcepts, DateTime? startDate, DateTime? endDate)
{
var lSupportConceptReport = FindReportImp<SupportConceptListRO>();

View File

@@ -1,6 +1,6 @@
namespace BeWo.Report.DefaultReports
{
partial class BudgetnachweisAnhangDigi
partial class BudgetnachweisAnhangDigga
{
/// <summary>
/// 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
//

View File

@@ -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<BudgetnachweisAnhangDiggaRO>
{
public BudgetnachweisAnhangDigga()
{
InitializeComponent();
}
public void SetReportDataSource(BudgetnachweisAnhangDiggaRO pRO)
{
bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -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<BudgetnachweisAnhangDigiRO>
{
public BudgetnachweisAnhangDigi()
{
InitializeComponent();
}
public void SetReportDataSource(BudgetnachweisAnhangDigiRO pRO)
{
bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,515 @@
namespace BeWo.Report.DefaultReports
{
partial class BudgetnachweisDigga
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

View File

@@ -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<Settlement2RO>
{
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;
}
}
}

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrLabel13.Text" xml:space="preserve">
<value>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.</value>
</data>
<data name="xrLabel4.Text" xml:space="preserve">
<value>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]
</value>
</data>
<data name="xrLabel12.Text" xml:space="preserve">
<value>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. </value>
</data>
</root>

View File

@@ -12,7 +12,7 @@ using BS.Shared.Extensions;
namespace BeWo.Report.ReportObjects
{
public class BudgetnachweisAnhangDigiRO : AbstractBeWoReportObject<BudgetnachweisAnhangDigiRO>
public class BudgetnachweisAnhangDiggaRO : AbstractBeWoReportObject<BudgetnachweisAnhangDiggaRO>
{
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;
}
}
}

View File

@@ -15,19 +15,6 @@ namespace BeWo.Service.Invoicing
{
public class LWLDiggaBerechnung : AbstractIDSpecificDefaultClass<LWLDiggaBerechnung>
{
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<EntgeltzeitraumDigga> 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<Calculations>(_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<BudgetnachweisDiggaMonatsZeile>();
@@ -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<BudgetnachweisDiggaMonatsZeile> MonatsZeilen)
{
DateTime? uDate = Umstellungsdatum();
bool neueRundung = EndRundung();
var lwlSIC = PluginLoader.FindClass<SettlementInvoiceCreation>("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;

View File

@@ -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;

View File

@@ -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;
}
}
}