From 2634a5eaa02eca1d189d7676ba326580bb8dfa70 Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 31 Mar 2026 17:10:23 +0200 Subject: [PATCH 1/9] =?UTF-8?q?LH=20Frankfurt=20Oder:=20Abrechnung=20Ferie?= =?UTF-8?q?nbetreuung=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...itslisteFruehUndSpaetbetreuung.Designer.cs | 62 +++++++------- ...nheitAusserschulischesBetreuungsangebot.cs | 82 +++++++++++++------ ...lischesBetreuungsangebotInvoiceCreation.cs | 43 ++++++---- .../LeistungsnachweisSGBIX.Designer.cs | 22 ++--- .../LeistungsnachweisSGBIX.cs | 5 +- .../Reporting/LeistungsnachweisSGBIXRO.cs | 7 +- 6 files changed, 132 insertions(+), 89 deletions(-) diff --git a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs index 9cbf450ca..d82859bd1 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs @@ -38,7 +38,6 @@ this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); - this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable(); this.rowHeader = new DevExpress.XtraReports.UI.XRTableRow(); this.xrTableCell69 = new DevExpress.XtraReports.UI.XRTableCell(); @@ -121,7 +120,6 @@ this.xrTableCell62 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell63 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell64 = new DevExpress.XtraReports.UI.XRTableCell(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); @@ -332,16 +330,17 @@ this.xrTableCell274 = new DevExpress.XtraReports.UI.XRTableCell(); this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); - this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand(); this.fieldIstFFO = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldIstAndererKT = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldIstSgb8 = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldIstSgb9 = new DevExpress.XtraReports.UI.CalculatedField(); + this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableStaffelpreise)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // // Detail @@ -354,9 +353,12 @@ // TopMargin // this.TopMargin.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel5, + this.lblTitel, this.xrPictureBox1, this.xrLabel3, this.xrLabel10}); + this.TopMargin.HeightF = 155F; this.TopMargin.Name = "TopMargin"; this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; @@ -401,18 +403,11 @@ // // BottomMargin // - this.BottomMargin.HeightF = 20F; + this.BottomMargin.HeightF = 40F; this.BottomMargin.Name = "BottomMargin"; this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F); this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; // - // PageHeader - // - this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrTableHeader}); - this.PageHeader.HeightF = 50F; - this.PageHeader.Name = "PageHeader"; - // // xrTableHeader // this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) @@ -727,7 +722,8 @@ // DetailReport // this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { - this.Detail1}); + this.Detail1, + this.GroupHeader1}); this.DetailReport.DataMember = "CustomerAnwesenheiten"; this.DetailReport.DataSource = this.bindingSource1; this.DetailReport.Level = 0; @@ -1188,10 +1184,6 @@ this.xrTableCell64.Text = "xrTableCell64"; this.xrTableCell64.Weight = 0.016054418850405955D; // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot.AnwesenheitAusserschulischesBetreuungsangebot); - // // xrLabel8 // this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(741.0002F, 53.33333F); @@ -3068,7 +3060,7 @@ // lblTitel // this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold); - this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F); + this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 110.8333F); this.lblTitel.Name = "lblTitel"; this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.lblTitel.SizeF = new System.Drawing.SizeF(361.1501F, 23F); @@ -3078,27 +3070,20 @@ // xrLabel5 // this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 12F, DevExpress.Drawing.DXFontStyle.Bold); - this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(361.1501F, 10F); + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(361.1501F, 110.8333F); this.xrLabel5.Name = "xrLabel5"; this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel5.SizeF = new System.Drawing.SizeF(207.1503F, 23F); + this.xrLabel5.SizeF = new System.Drawing.SizeF(375.1499F, 23.00001F); this.xrLabel5.StylePriority.UseFont = false; this.xrLabel5.Text = "[Monat!MMMM yyyy]"; // - // ReportHeader - // - this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrLabel5, - this.lblTitel}); - this.ReportHeader.HeightF = 55.83333F; - this.ReportHeader.Name = "ReportHeader"; - // // GroupFooter2 // this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.xrLabel8, this.xrLabel9}); this.GroupFooter2.HeightF = 73.33335F; + this.GroupFooter2.KeepTogether = true; this.GroupFooter2.Level = 1; this.GroupFooter2.Name = "GroupFooter2"; // @@ -3129,14 +3114,24 @@ this.fieldIstSgb9.Expression = "Iif([IstSgb9], \'x\', \'\')\n"; this.fieldIstSgb9.Name = "fieldIstSgb9"; // + // GroupHeader1 + // + this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTableHeader}); + this.GroupHeader1.HeightF = 50F; + this.GroupHeader1.Name = "GroupHeader1"; + this.GroupHeader1.RepeatEveryPage = true; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot.AnwesenheitAusserschulischesBetreuungsangebot); + // // AnwesenheitslisteFruehUndSpaetbetreuung // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { this.Detail, this.TopMargin, this.BottomMargin, - this.ReportHeader, - this.PageHeader, this.DetailReport, this.GroupFooter1, this.GroupFooter2}); @@ -3149,7 +3144,7 @@ this.DisplayName = "Anwesenheitsliste"; this.Font = new DevExpress.Drawing.DXFont("Arial", 10F); this.Landscape = true; - this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 100F, 20F); + this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 155F, 40F); this.PageHeight = 827; this.PageWidth = 1169; this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; @@ -3158,8 +3153,8 @@ this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableStaffelpreise)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); } @@ -3169,7 +3164,6 @@ private DevExpress.XtraReports.UI.DetailBand Detail; private DevExpress.XtraReports.UI.TopMarginBand TopMargin; private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; - private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; private DevExpress.XtraReports.UI.DetailReportBand DetailReport; private DevExpress.XtraReports.UI.DetailBand Detail1; private System.Windows.Forms.BindingSource bindingSource1; @@ -3248,7 +3242,6 @@ private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1; private DevExpress.XtraReports.UI.XRLabel lblTitel; private DevExpress.XtraReports.UI.XRLabel xrLabel5; - private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1; private DevExpress.XtraReports.UI.XRLabel xrLabel3; private DevExpress.XtraReports.UI.XRLabel xrLabel10; @@ -3472,5 +3465,6 @@ private DevExpress.XtraReports.UI.CalculatedField fieldIstAndererKT; private DevExpress.XtraReports.UI.CalculatedField fieldIstSgb8; private DevExpress.XtraReports.UI.CalculatedField fieldIstSgb9; + private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1; } } diff --git a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs index 4881317b8..f0c8677bd 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs @@ -257,9 +257,9 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot if (ca.CostBearer2SupportConcept?.CostBearer.Organisation != null) { - if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) + if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)")) { - if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) + if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) { ca.IstFFO_JA = true; } @@ -331,36 +331,66 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot public StaffelpreisProTag GetStaffelForAnzahl(int anzahl) { - //Staffelpreise - //Staffelpreis 1 bis zu 2 Leistungsberechtigte - //Staffelpreis 2 bis zu 4 Leistungsberechtigte - //Staffelpreis 3 bis zu 6 Leistungsberechtigte - //Staffelpreis 4 bis zu 8 Leistungsberechtigte - //Staffelpreis 5 bis zu 10 Leistungsberechtigte - if (anzahl > 0) + if (!IstFerienbetreuung) { - if (anzahl <= 2) + //Staffelpreise Früh/Spätbetreuung: + //Staffelpreis 1 bis zu 2 Leistungsberechtigte + //Staffelpreis 2 bis zu 4 Leistungsberechtigte + //Staffelpreis 3 bis zu 6 Leistungsberechtigte + //Staffelpreis 4 bis zu 8 Leistungsberechtigte + //Staffelpreis 5 bis zu 10 Leistungsberechtigte + if (anzahl > 0) { - return Staffel1; + if (anzahl <= 2) + { + return Staffel1; + } + else if (anzahl <= 4) + { + return Staffel2; + } + else if (anzahl <= 6) + { + return Staffel3; + } + else if (anzahl <= 8) + { + return Staffel4; + } + else + { + return Staffel5; + } } - else if (anzahl <= 4) + + } + else + { + //Staffelpreise Ferienbetreuung + //Staffelpreis 1 bis zu 10 Leistungsberechtigte + //Staffelpreis 11 bis zu 15 Leistungsberechtigte + //Staffelpreis 16 bis zu 20 Leistungsberechtigte + //Staffelpreis 21 bis zu 25 Leistungsberechtigt + if (anzahl > 0) { - return Staffel2; - } - else if (anzahl <= 6) - { - return Staffel3; - } - else if (anzahl <= 8) - { - return Staffel4; - } - else - { - return Staffel5; + if (anzahl <= 10) + { + return Staffel1; + } + else if (anzahl <= 15) + { + return Staffel2; + } + else if (anzahl <= 20) + { + return Staffel3; + } + else + { + return Staffel4; + } } } - return null; } private int GetGesamtAnzahl(StaffelpreisProTag preis, DateTime dt) diff --git a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs index e1fb823f6..9b3d6668d 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs @@ -57,29 +57,44 @@ namespace LebenshilfeFrankfurtOder.Invoicing foreach (var ca in afs.CustomerAnwesenheiten) { + //if (!ca.IstFFO_JA && ca.CostBearer2SupportConcept != null) + //{ + // List abwList = null; + // if (!abwesenheitenNachKT.ContainsKey(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name)) + // { + // abwesenheitenNachKT.Add(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name, new List()); + // } + // abwesenheitenNachKT[ca.CostBearer2SupportConcept.CostBearer.Organisation.Name].Add(ca); + //} if (!ca.IstFFO_JA && ca.CostBearer2SupportConcept != null) { - List abwList = null; - if (!abwesenheitenNachKT.ContainsKey(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name)) + var caList = new List(); + caList.Add(ca); + + var i = CreateInvoice(invoiceCounter, invoicePeriod, afs, caList); + + var c = i.GetTotalClaim(); + + if (c.HasValue && c.Value > 0) { - abwesenheitenNachKT.Add(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name, new List()); + invoiceList.Add(i); + invoiceCounter++; } - abwesenheitenNachKT[ca.CostBearer2SupportConcept.CostBearer.Organisation.Name].Add(ca); } } - foreach (var item in abwesenheitenNachKT) - { - var i = CreateInvoice(invoiceCounter, invoicePeriod, afs, item.Value); + //foreach (var item in abwesenheitenNachKT) + //{ + // var i = CreateInvoice(invoiceCounter, invoicePeriod, afs, item.Value); - var c = i.GetTotalClaim(); + // var c = i.GetTotalClaim(); - if (c.HasValue && c.Value > 0) - { - invoiceList.Add(i); - invoiceCounter++; - } - } + // if (c.HasValue && c.Value > 0) + // { + // invoiceList.Add(i); + // invoiceCounter++; + // } + //} return invoiceList; } diff --git a/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.Designer.cs b/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.Designer.cs index f5898b518..9c92e6e9e 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.Designer.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.Designer.cs @@ -63,7 +63,7 @@ namespace LebenshilfeFrankfurtOder this.fieldStunden = new DevExpress.XtraReports.UI.CalculatedField(); this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand(); this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable(); this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); @@ -369,7 +369,7 @@ namespace LebenshilfeFrankfurtOder // this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.xrLabel4, - this.xrLabel3, + this.lblTitel, this.xrLabel1, this.xrTableServiceRecords1, this.xrLabel2}); @@ -394,15 +394,15 @@ namespace LebenshilfeFrankfurtOder this.xrLabel4.Text = "Name Kind: [CustomerDC.LastNameFirstName]"; this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; // - // xrLabel3 + // lblTitel // - this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 12F); - this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F); - this.xrLabel3.Name = "xrLabel3"; - this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel3.SizeF = new System.Drawing.SizeF(400F, 29.50002F); - this.xrLabel3.StylePriority.UseFont = false; - this.xrLabel3.Text = "Außerschulisches Betreuungsangebot Früh-/Spät"; + this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 12F); + this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F); + this.lblTitel.Name = "lblTitel"; + this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblTitel.SizeF = new System.Drawing.SizeF(400F, 29.50002F); + this.lblTitel.StylePriority.UseFont = false; + this.lblTitel.Text = "Außerschulisches Betreuungsangebot Früh-/Spät"; // // xrLabel1 // @@ -570,7 +570,7 @@ namespace LebenshilfeFrankfurtOder private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; private DevExpress.XtraReports.UI.XRTableCell xrTableCell17; private DevExpress.XtraReports.UI.FormattingRule rule31; - private DevExpress.XtraReports.UI.XRLabel xrLabel3; + private DevExpress.XtraReports.UI.XRLabel lblTitel; private DevExpress.XtraReports.UI.XRLabel xrLabel1; private DevExpress.XtraReports.UI.XRLabel xrLabel4; private DevExpress.XtraReports.UI.XRTable xrTable1; diff --git a/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.cs b/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.cs index ad80b5e01..166245c58 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisSGBIX.cs @@ -29,7 +29,10 @@ namespace LebenshilfeFrankfurtOder double betragGesamt = 0; - + if (pRO.IstFerienbetreuung) + { + lblTitel.Text = "aBA Ferienbetreuung"; + } bindingSource1.DataSource = pRO; } diff --git a/ReportImp/LebenshilfeFrankfurtOder/Reporting/LeistungsnachweisSGBIXRO.cs b/ReportImp/LebenshilfeFrankfurtOder/Reporting/LeistungsnachweisSGBIXRO.cs index bf62b9f6c..bbe5b3e65 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/Reporting/LeistungsnachweisSGBIXRO.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/Reporting/LeistungsnachweisSGBIXRO.cs @@ -17,7 +17,7 @@ namespace LebenshilfeFrankfurtOder.Reporting public class LeistungsnachweisSGBIXRO { public DateTime Month { get; set; } - + public bool IstFerienbetreuung { get; set; } public CompactCustomerDC CustomerDC { get; set; } @@ -26,11 +26,12 @@ namespace LebenshilfeFrankfurtOder.Reporting public static LeistungsnachweisSGBIXRO Create(AnwesenheitAusserschulischesBetreuungsangebot afs, CustomerAnwesenheit can) { - + var result = new LeistungsnachweisSGBIXRO { Month = can.Monat, - CustomerDC = can.CustomerDC + CustomerDC = can.CustomerDC, + IstFerienbetreuung = afs.IstFerienbetreuung }; From 9a63b9e5136c55f90d1a69ed67d33e6da0361813 Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 31 Mar 2026 17:11:51 +0200 Subject: [PATCH 2/9] Kleine Bugfixes an den KI Rechten --- BeWo/AI/View/AiTranskriptionView.xaml.cs | 1 + .../Controls/AI/AiConversationButton.xaml.cs | 2 +- .../AI/AiPromptbausteinButton.xaml.cs | 2 +- .../ListViewModel/ServiceRecordListVM.cs | 2 +- BeWo/ViewModel/UserGroupVM.cs | 2 +- Model/Changes_alle_fuer_neue_db.txt | 21 ++++++++++++++++++- 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/BeWo/AI/View/AiTranskriptionView.xaml.cs b/BeWo/AI/View/AiTranskriptionView.xaml.cs index 8108ca190..9cd82b623 100644 --- a/BeWo/AI/View/AiTranskriptionView.xaml.cs +++ b/BeWo/AI/View/AiTranskriptionView.xaml.cs @@ -220,6 +220,7 @@ namespace BeWo.AI.View PanelAnimation.Visibility = Visibility.Hidden; ButtonText.Text = "Neue Aufnahme starten"; + lblStatus.Content = ""; } }, this.Dispatcher).Start(); diff --git a/BeWo/View/Controls/AI/AiConversationButton.xaml.cs b/BeWo/View/Controls/AI/AiConversationButton.xaml.cs index 6f0fd16bb..897933012 100644 --- a/BeWo/View/Controls/AI/AiConversationButton.xaml.cs +++ b/BeWo/View/Controls/AI/AiConversationButton.xaml.cs @@ -148,7 +148,7 @@ namespace BeWo.View.Controls.AI { var control = (AiConversationButton)d; var actionType = (AiActionType)e.NewValue; - if (BeWoApp.AppSettings.ShowAI) + if (BeWoApp.AppSettings.ShowAI && BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineView)) { ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetAiPromptbausteinFolder(actionType), folders => control.InitPromptbausteine(actionType, folders)); } diff --git a/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs b/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs index 7aba4148f..c91d88dd4 100644 --- a/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs +++ b/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs @@ -167,7 +167,7 @@ namespace BeWo.View.Controls.AI { ActionType = actionType; - if (!BeWoApp.AppSettings.ShowAI) + if (!BeWoApp.AppSettings.ShowAI || !BeWoApp.HasLoggedOnUserRight(UserRightType.AiModulePromptbausteineView)) { State = AiPromptbausteinButtonState.Hidden; return; diff --git a/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs b/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs index 06767825e..90065052d 100644 --- a/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs +++ b/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs @@ -227,7 +227,7 @@ namespace BeWo.ViewModel.ListViewModel private void InitAiTranscriptionStuff() { - if (!BeWoApp.AppSettings.ShowAIVoice) + if (!BeWoApp.AppSettings.ShowAIVoice || !BeWoApp.HasLoggedOnUserRight(UserRightType.AiVoiceView)) return; ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetUserSetting(), diff --git a/BeWo/ViewModel/UserGroupVM.cs b/BeWo/ViewModel/UserGroupVM.cs index ad05c8feb..a73a205e0 100644 --- a/BeWo/ViewModel/UserGroupVM.cs +++ b/BeWo/ViewModel/UserGroupVM.cs @@ -289,7 +289,7 @@ namespace BeWo.ViewModel } private static bool IsAiModuleRight(UserRightType right) => ContainsRight(right, UserRightType.AiModuleServiceRecordChat, UserRightType.AiModuleServiceRecordDocu, UserRightType.AiModulePromptbausteineEdit, - UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare, UserRightType.AiVoiceView); + UserRightType.AiModulePromptbausteineView, UserRightType.AiModulePromptbausteinShare); //private static bool IsAiModuleSettingRight(UserRightType right) => // ContainsRight(right); diff --git a/Model/Changes_alle_fuer_neue_db.txt b/Model/Changes_alle_fuer_neue_db.txt index 4f6041510..636a8d88d 100644 --- a/Model/Changes_alle_fuer_neue_db.txt +++ b/Model/Changes_alle_fuer_neue_db.txt @@ -2018,4 +2018,23 @@ ALTER TABLE `servicerecordhistory` ADD INDEX `ChangeTypeIdx` (`ChangeType` ASC); ALTER TABLE `servicerecordhistory` -ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC); \ No newline at end of file +ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC); + +INSERT INTO `.executedscripts` +VALUES ('Changes_2026-03-24 AiUserSettings', CURDATE()); + +CREATE TABLE `aiusersetting` ( + `Oid` bigint NOT NULL, + `InsTs` datetime DEFAULT NULL, + `InsUser` varchar(256) DEFAULT NULL, + `Notice` varchar(1024) DEFAULT NULL, + `Tid` int DEFAULT NULL, + `UdpUser` varchar(256) DEFAULT NULL, + `Version` bigint DEFAULT NULL, + `IsActive` tinyint DEFAULT NULL, + `SystemEntryID` int DEFAULT NULL, + `ApplicationUserOid` bigint NOT NULL, + `AutoStartRecording` tinyint DEFAULT NULL, + PRIMARY KEY (`Oid`), + CONSTRAINT `FK_AIUSERSETTINGUSEROID_APPLICATIONUSER` FOREIGN KEY (`ApplicationUserOid`) REFERENCES `applicationuser` (`Oid`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 \ No newline at end of file From f680d0815469654c17cfa02c28cc1e1d89ecb242 Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 31 Mar 2026 17:12:25 +0200 Subject: [PATCH 3/9] Versionsnummer im Mok eingebaut --- BeWoPlanerMobil/Views/Shared/_Layout.cshtml | 47 +++++++++++---------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml index da3499b27..49fe8f13c 100644 --- a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml +++ b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml @@ -361,7 +361,6 @@  

- Version 3.30 - - } + using (Html.BeginForm("RedirectToPersons", "Main", FormMethod.Post)) + { + + } } - @if(Model.HasRightToViewOwnEmployee) + @if (Model.HasRightToViewOwnEmployee) { - using(Html.BeginForm("RedirectToEmployees", "Main", FormMethod.Post)) - { - - } + using (Html.BeginForm("RedirectToEmployees", "Main", FormMethod.Post)) + { + + } } @if (Model.IsAllowedToSeeCustomers) @@ -514,6 +513,10 @@ } + + From c8f3cb8246d0c12f78b070c5316e47e8c5798e54 Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 1 Apr 2026 00:42:44 +0200 Subject: [PATCH 4/9] Neue Client Version --- BeWo/BeWoApp.xaml.cs | 6 +++--- BeWo/BeWoAppInfo.cs | 5 +++++ BeWo/View/HomeView.xaml.cs | 3 +++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index dcdcf5497..302a615e5 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -56,7 +56,7 @@ namespace BeWo public static LoginControl LoginControl; public static MainControl MainControl; - public static string ShortVersion = "3.30"; + public static string ShortVersion = "3.30.2"; public static string Version => BeWoAppInfo.BeWoAppVersion.ToString(); public static int RenderTier = 0; @@ -658,8 +658,8 @@ namespace BeWo AppSettings.AllowStorno = true; AppSettings.AllowXRechnung = true; - //AppSettings.ShowAI = false; - //AppSettings.ShowAIVoice = false; + AppSettings.ShowAI = true; + AppSettings.ShowAIVoice = true; AppSettings.ShowWorktime = true; AppSettings.ShowPersehImport = true; diff --git a/BeWo/BeWoAppInfo.cs b/BeWo/BeWoAppInfo.cs index 16e961ad8..f67e545ca 100644 --- a/BeWo/BeWoAppInfo.cs +++ b/BeWo/BeWoAppInfo.cs @@ -18,6 +18,11 @@ namespace BeWo var stageVersion = new Version("4.5"); var feature = BeWoClientFeature.AI; +#if !DEBUG + stage = BeWoClientReleaseStage.Release; + feature = BeWoClientFeature.None; +#endif + BeWoAppVersion = new BeWoAppVersion(baseVersion, stage, stageVersion, feature); } diff --git a/BeWo/View/HomeView.xaml.cs b/BeWo/View/HomeView.xaml.cs index 05ce63a97..9664bb995 100644 --- a/BeWo/View/HomeView.xaml.cs +++ b/BeWo/View/HomeView.xaml.cs @@ -140,6 +140,9 @@ namespace BeWo.View } } +#if DEBUG + BeWoApp.LoggedOnEmployeeOwnChatCode = "TEST"; +#endif BewoChat.Visibility = !String.IsNullOrEmpty(BeWoApp.LoggedOnEmployeeOwnChatCode) ? Visibility.Visible : Visibility.Hidden; From 5ae4e1a81359b2068997a2f46ba498c0e3fdaefd Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 1 Apr 2026 00:44:44 +0200 Subject: [PATCH 5/9] =?UTF-8?q?1.=20KI=20Spracherkennung=20eingebaut=202.?= =?UTF-8?q?=20MessageBox=20wird=20angezeigt,=20wenn=20Frist=20f=C3=BCr=20U?= =?UTF-8?q?nterschriften=20abgelaufen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWoPlanerMobil/BeWoPlanerMobil.csproj | 2 ++ .../Content/images/Icon_Mikro_Schw.png | Bin 0 -> 10010 bytes .../Content/images/Icon_Mikro_Weiss.png | Bin 0 -> 10030 bytes .../Views/Main/SingleBookingPartial.cshtml | 17 +++++++++++++---- .../QuittierungsbelegsResultPartial.cshtml | 4 ++-- 5 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 BeWoPlanerMobil/Content/images/Icon_Mikro_Schw.png create mode 100644 BeWoPlanerMobil/Content/images/Icon_Mikro_Weiss.png diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj b/BeWoPlanerMobil/BeWoPlanerMobil.csproj index 3d7cc6c33..5cd9c2026 100644 --- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj +++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj @@ -412,6 +412,8 @@ + + diff --git a/BeWoPlanerMobil/Content/images/Icon_Mikro_Schw.png b/BeWoPlanerMobil/Content/images/Icon_Mikro_Schw.png new file mode 100644 index 0000000000000000000000000000000000000000..3eac5e809c0fb303b5854d1f1d34fecaef944c7a GIT binary patch literal 10010 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 literal 0 HcmV?d00001 diff --git a/BeWoPlanerMobil/Content/images/Icon_Mikro_Weiss.png b/BeWoPlanerMobil/Content/images/Icon_Mikro_Weiss.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab172f0b2ced938e282699bc79ab73587ed4504 GIT binary patch literal 10030 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 ff1Qr+j;O54bUU8u)%sfUPemI`2a7zjja&Z 0) { + $target.val(data); + window.updateDokuText('sb', data, targetIndex); + } } @@ -692,7 +701,7 @@ @if (Model.HasRightToUseAiVoice) { - + } diff --git a/BeWoPlanerMobil/Views/Report/QuittierungsbelegsResultPartial.cshtml b/BeWoPlanerMobil/Views/Report/QuittierungsbelegsResultPartial.cshtml index 3d76c9315..878bb6ef9 100644 --- a/BeWoPlanerMobil/Views/Report/QuittierungsbelegsResultPartial.cshtml +++ b/BeWoPlanerMobil/Views/Report/QuittierungsbelegsResultPartial.cshtml @@ -267,7 +267,7 @@ var hasNoOwnEntries = !Model.HasRightToProvideEmployeeSignatureForOthers && result.Items.All(item => !item.EmployeeOid.Equals(Model.LoggedInEmployee.EmployeeOid)); var disabledString = hasNoOwnEntries ? "disabled" : string.Empty; - var customerDisabledString = result.FristAbgelaufen ? "disabled" : string.Empty; + var fristAbgelaufen = result.FristAbgelaufen ? "true" : "false"; }
@@ -299,7 +299,7 @@ } -