Fls Soll/Ist Report verbessert

This commit is contained in:
2025-12-10 14:42:00 +01:00
parent c36060814b
commit 86ae882334
5 changed files with 25 additions and 5 deletions

View File

@@ -45,7 +45,7 @@ namespace BeWo.Report.DefaultReports
AddSpalten(i, false);
}
xrTableRowHeader1.Cells[xrTableRowHeader1.Cells.Count - 1].Text = String.Format("KW {0}", wochen[i].KalenderWoche);
xrTableRowHeader1.Cells[xrTableRowHeader1.Cells.Count - 1].Text = String.Format("KW {0}, {1:dd.MM.yy} - {2:dd.MM.yy}", wochen[i].KalenderWoche, wochen[i].WocheStart, wochen[i].WocheEnde);
}
//Add Gesamtsummen

View File

@@ -123,7 +123,7 @@ namespace BeWo.Report.ReportObjects
{
var grpRo = new FLSSollIstReportGroupRO();
grpRo.Name = item.DisplayName;
grpRo.WochenSummen = ErstelleWochensummen(config.StartDate, config.EndDate, root.SollFLSPerWeek);
grpRo.WochenSummen = ErstelleWochensummen(config.StartDate, config.EndDate, null);
foreach (var sc in item.SupportConcepts)
{
@@ -138,6 +138,11 @@ namespace BeWo.Report.ReportObjects
ws.IstStunden = 0;
}
ws.IstStunden += sr.RoundedDuration / 60;
if (!ws.SollStunden.HasValue)
{
ws.SollStunden = sr.SollFLSPerWeek;
}
}
grpRo.IstGesamt += sr.RoundedDuration;

View File

@@ -37,7 +37,7 @@ namespace LebenshilfeBadKreuznachFUD.Reporting
start = new DateTime(start.Year, start.Month, 1);
DateTime dt = DateTime.Now;
if (DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt))
if (DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt) && dt > DateTime.MinValue)
{
start = dt;
@@ -45,13 +45,19 @@ namespace LebenshilfeBadKreuznachFUD.Reporting
DateTime ende = start.AddMonths(1).AddTicks(-1);
if (DateTime.TryParse(qro.Rows[0].Field2.ToString(), out dt) && dt < DateTime.MaxValue.Date)
{
ende = dt.AddTicks(-1);
}
var config = new FLSAnalysisConfigDC();
config.StartDate = start;
config.EndDate = ende;
config.FetchApprovedFLS = true;
config.ReportType = FLSReportType.Customer;
if (qro.Rows[0].Field2 != null && Int64.TryParse(qro.Rows[0].Field2.ToString(), out var catOid))
if (qro.Rows[0].Field3 != null && Int64.TryParse(qro.Rows[0].Field3.ToString(), out var catOid))
{
if (catOid > 0)
{

View File

@@ -203,6 +203,12 @@ namespace BeWo.Service.Plugins
groupDC.SupportConcepts.Add(scDC);
}
if (config.FetchApprovedFLS)
{
var calc = PluginLoader.FindClass<Calculations>(scDC.CostbearerID) ?? Calculations.GetInstance(scDC.CostbearerID);
srDC.SollFLSPerWeek = calc.GetApprovedHoursPerWeek(scDC.SupportConcept2CostBearer, sr.Start.Value) ?? 0;
}
scDC.ServiceRecords.Add(srDC);
}
}
@@ -224,7 +230,7 @@ namespace BeWo.Service.Plugins
if (config.EmployeeOid != null)
{
allow = false;
foreach (ServiceRecord sr in serviceRecords)
foreach (var sr in serviceRecords)
{
if (sr.Employee != null && sr.Employee.Oid.Value == config.EmployeeOid.Value)
{

View File

@@ -77,5 +77,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public string DateTimeRange { get; set; }
[DataMember]
public decimal SollFLSPerWeek { get; set; }
}
}