Files
2026-06-18 11:05:29 +02:00

66 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
namespace BeWo.Service.Reporting.Straffaelligenhilfe
{
public class TgvStatistic : StatisticBase
{
public TgvStatistic() : base(VgaTypeEnum.Tgv)
{
}
public decimal Betrag2 { get; set; } // Höhe der Geldstrafe in € (gem. Zeile 0.2)
public int Anzahl3 { get; set; } // Anzahl aller erledigten Aufträge
public int Anzahl3_1 { get; set; } // davon Anzahl der gescheiterten Fälle
public int Anzahl3_2 { get; set; } // davon Anzahl der positiv erledigten Aufträge
public decimal Betrag4_1 { get; set; } // Summe der nachgewiesenen (Raten) oder Einmalzahlungen in €
public decimal Anzahl4_2 { get; set; } // Anzahl der geleisteten Arbeitsstunden (in TGV)
public decimal Anzahl5 { get; set; } // Anzahl der vermiedenen Hafttage (nur durch TGV)
public int Anzahl6 { get; set; } // Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2)
public override void ProcessCustomerVermittlungArbeit(Customer customer, CustomerVermittlungArbeit cva)
{
base.ProcessCustomerVermittlungArbeit(customer, cva);
Betrag2 += cva.HoheDerGeldstrafe ?? 0;
if (cva.CustomerVermittlungBearbeitungsstatus != CustomerVermittlungBearbeitungsstatus.InProgress)
{
Anzahl3++;
if (cva.Verlauf == CustomerVgaVerlauf.Abbruch || cva.CustomerVermittlungBearbeitungsstatus == CustomerVermittlungBearbeitungsstatus.Negativ)
{
Anzahl3_1++;
}
else
{
Anzahl3_2++;
}
}
Betrag4_1 += cva.GeleisteteRatenzahlung ?? 0;
Anzahl4_2 += cva.ZuLeistendeArbeitsstunden ?? 0;
Anzahl5 += cva.ErsparteHafttage ?? 0;
if (cva.BesonderheitDurchBGBWAufgesucht)
{
Anzahl6++;
}
}
}
}