Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2026-07-27 12:29:57 +02:00
4 changed files with 102 additions and 32 deletions

View File

@@ -43,6 +43,8 @@ namespace BeratungStadtwald
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -51,6 +53,7 @@ namespace BeratungStadtwald
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -58,6 +61,7 @@ namespace BeratungStadtwald
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
@@ -171,7 +175,7 @@ namespace BeratungStadtwald
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(734.9999F, 20F);
this.xrTable3.SizeF = new System.Drawing.SizeF(735F, 20F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -184,7 +188,8 @@ namespace BeratungStadtwald
this.xrTableCell2,
this.xrTableCell15,
this.xrTableCell12,
this.xrTableCell44});
this.xrTableCell44,
this.xrTableCell50});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -285,7 +290,31 @@ namespace BeratungStadtwald
this.xrTableCell44.StylePriority.UsePadding = false;
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell44.Weight = 0.40404020053311529D;
this.xrTableCell44.Weight = 0.20202019104791347D;
//
// xrTableCell50
//
this.xrTableCell50.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.picSignature});
this.xrTableCell50.Name = "xrTableCell50";
this.xrTableCell50.StylePriority.UseBorders = false;
this.xrTableCell50.StylePriority.UseFont = false;
this.xrTableCell50.StylePriority.UsePadding = false;
this.xrTableCell50.StylePriority.UseTextAlignment = false;
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell50.Weight = 0.20202019042968572D;
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(160F, 20F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new DevExpress.XtraReports.UI.BeforePrintEventHandler(this.picSignature_BeforePrint);
//
// GroupHeader1
//
@@ -307,7 +336,7 @@ namespace BeratungStadtwald
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow1});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(734.9999F, 70F);
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(735F, 70F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
@@ -320,7 +349,8 @@ namespace BeratungStadtwald
this.xrTableCell4,
this.xrTableCell11,
this.xrTableCell9,
this.xrTableCell28});
this.xrTableCell28,
this.xrTableCell48});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
@@ -403,7 +433,21 @@ namespace BeratungStadtwald
this.xrTableCell28.StylePriority.UseTextAlignment = false;
this.xrTableCell28.Text = "Betreuerin / Betreuer";
this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell28.Weight = 0.8938543223801938D;
this.xrTableCell28.Weight = 0.44692737430167595D;
//
// xrTableCell48
//
this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell48.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell48.Multiline = true;
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.StylePriority.UseBorders = false;
this.xrTableCell48.StylePriority.UseFont = false;
this.xrTableCell48.StylePriority.UseTextAlignment = false;
this.xrTableCell48.Text = "Unterschrift";
this.xrTableCell48.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell48.Weight = 0.44692737430167606D;
//
// xrTableRow1
//
@@ -413,7 +457,8 @@ namespace BeratungStadtwald
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell43});
this.xrTableCell43,
this.xrTableCell49});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.223644578313253D;
//
@@ -496,7 +541,21 @@ namespace BeratungStadtwald
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.StylePriority.UseBorders = false;
this.xrTableCell43.StylePriority.UseFont = false;
this.xrTableCell43.Weight = 0.8938543223801938D;
this.xrTableCell43.Weight = 0.44692737430167595D;
//
// xrTableCell49
//
this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell49.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell49.Multiline = true;
this.xrTableCell49.Name = "xrTableCell49";
this.xrTableCell49.StylePriority.UseBorders = false;
this.xrTableCell49.StylePriority.UseFont = false;
this.xrTableCell49.StylePriority.UseTextAlignment = false;
this.xrTableCell49.Text = "Klientin / Klient";
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell49.Weight = 0.44692737430167606D;
//
// bindingSource1
//
@@ -703,7 +762,7 @@ namespace BeratungStadtwald
this.xrLabel1,
this.xrPictureBox1,
this.xrLabel17});
this.GroupFooter1.HeightF = 346.125F;
this.GroupFooter1.HeightF = 429.375F;
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
@@ -869,7 +928,7 @@ namespace BeratungStadtwald
//
this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftMitarbeiter.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(384.375F, 301.125F);
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(380.2083F, 301.125F);
this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter";
this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6944F, 19.99998F);
@@ -1277,7 +1336,7 @@ namespace BeratungStadtwald
//
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "EmployeeSignature")});
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(521.704F, 265.625F);
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(517.5374F, 265.625F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(199.3611F, 35.50002F);
@@ -1288,7 +1347,7 @@ namespace BeratungStadtwald
this.xrLabel17.BackColor = System.Drawing.Color.Transparent;
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy}")});
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(384.375F, 265.625F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(380.2083F, 265.625F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(136.8289F, 35.50002F);
@@ -1358,6 +1417,7 @@ namespace BeratungStadtwald
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell48;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
@@ -1365,6 +1425,7 @@ namespace BeratungStadtwald
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell49;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
@@ -1376,6 +1437,7 @@ namespace BeratungStadtwald
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell50;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.CalculatedField fieldKontaktArt;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
@@ -1412,6 +1474,7 @@ namespace BeratungStadtwald
private DevExpress.XtraReports.UI.XRTableCell xrTableCell29;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell30;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell31;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRLabel xrLabel18;

File diff suppressed because one or more lines are too long

View File

@@ -56,29 +56,44 @@ namespace Inkomm.Invoicing
public override void CalculateInvoiceItemAmounts(Settlement2DC si)
{
decimal maxApprovedFls = si.ApprovedFLS ?? 0;
decimal flsAufgebraucht = 0;
decimal flsBudgetGesamt = si.ApprovedFLS ?? 0;
foreach (var ii in si.InvoiceItems)
{
if (ii.UnitCount.HasValue)
{
var uc = Math.Round(ii.UnitCount ?? 0, 2, MidpointRounding.AwayFromZero);
if (maxApprovedFls < uc)
uc = maxApprovedFls;
maxApprovedFls -= uc;
ii.UnitCount = uc;
if (ii.UnitCount > 0)
{
// dieser Abschnitt prueft und kappt ggf. Stunden bei Ueberschreitung Budget - unter Beruecksichtigung ProzentBudget in Leistung(skategorien)
var unitCountBudget = Math.Round(ii.UnitCountBudget ?? ii.UnitCount ?? 0, 2, MidpointRounding.AwayFromZero);
ii.UnitCount = Math.Round(ii.UnitCount.Value, 2, MidpointRounding.AwayFromZero);
var relation = unitCountBudget / ii.UnitCount.Value;
var gewichteteStunden = ii.UnitCount * relation;
if (gewichteteStunden > flsBudgetGesamt - flsAufgebraucht)
{
gewichteteStunden = flsBudgetGesamt - flsAufgebraucht;
ii.UnitCount = gewichteteStunden / relation;
}
flsAufgebraucht += ii.UnitCount.Value * relation;
}
if (ii.AmountPerUnit.HasValue)
{
if (!String.IsNullOrEmpty(ii.ItemDescription) && ii.ItemDescription.ToLower().Contains("fehlkontakt") && ii.ProzentAbrechenbar.HasValue)
{
ii.AmountPerUnit = ii.AmountPerUnit * ii.ProzentAbrechenbar / 100;
}
ii.AmountTotal = ii.UnitCount.Value * ii.AmountPerUnit.Value;
if (ii.RateFactor.HasValue && ii.RateFactor.Value != 0 && ii.ItemDescription != null && !ii.ItemDescription.Contains("Assistenz"))
{
ii.GrossAmountTotal = Math.Round(ii.AmountTotal.Value * ((100m + ii.RateFactor.Value) / 100m), 2,
MidpointRounding.AwayFromZero);
}
else
{
ii.GrossAmountTotal = ii.AmountTotal;
}
}
if (ii.MaxApprovedUnitCount < ii.UnitCount)
{
@@ -95,15 +110,5 @@ namespace Inkomm.Invoicing
item.RateFactor = 0;
return item;
}
//public override bool IsServiceRecordBillable(ServiceRecord iRecord)
// {
// if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Fachleistung") || iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz"))
// {
// return true;
// }
// return false;
// }
}
}

View File

@@ -524,6 +524,8 @@ namespace PerspektivenEV.Export
return "350";
else if (itemDesc.Contains("ieH HTK") || itemDesc.Contains("BW HTK"))
return "150";
else if (itemDesc.Contains("ieH Trauma"))
return "150";
else if (itemDesc.Contains("ieH KB") || itemDesc.Contains("BW KB"))
return "150";
else if (itemDesc.Contains("ieH FFM") || itemDesc.Contains("BW FFM"))