This commit is contained in:
2026-02-22 17:23:48 +01:00
parent 13d0798c1b
commit ff0644f4c3
5 changed files with 229 additions and 31 deletions

View File

@@ -964,6 +964,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AICore", "Server\Components\AICore\AICore.csproj", "{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AICore", "Server\Components\AICore\AICore.csproj", "{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerUtils", "Server\Components\ServerUtils\ServerUtils.csproj", "{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerUtils", "Server\Components\ServerUtils\ServerUtils.csproj", "{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BWSBetreuenWohnenSoziales", "ReportImp\BWSBetreuenWohnenSoziales\BWSBetreuenWohnenSoziales.csproj", "{5604BF7F-B462-45CF-B6F6-920142605B11}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11776,6 +11777,30 @@ Global
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|Mixed Platforms.Build.0 = Release|Any CPU {FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.ActiveCfg = Release|Any CPU {FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.ActiveCfg = Release|Any CPU
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.Build.0 = Release|Any CPU {FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.Build.0 = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|.NET.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|.NET.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|x86.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|x86.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|x86.Build.0 = Debug|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|.NET.ActiveCfg = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|.NET.Build.0 = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Any CPU.Build.0 = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|x86.ActiveCfg = Release|Any CPU
{5604BF7F-B462-45CF-B6F6-920142605B11}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -12253,6 +12278,7 @@ Global
{C9BAF7C5-797E-4693-8B31-544F90EC0B1C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A} {C9BAF7C5-797E-4693-8B31-544F90EC0B1C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C} {69D70CA9-0DF9-419E-BFAF-F4539F129BD9} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C}
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C} {EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C}
{5604BF7F-B462-45CF-B6F6-920142605B11} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9} SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5604BF7F-B462-45CF-B6F6-920142605B11}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BWSBetreuenWohnenSoziales</RootNamespace>
<AssemblyName>1111702940_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\CustomerDlls\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.RichEdit.v23.2.Export, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Translation\TranslationDictionary.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("KundeXyz")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KundeXyz")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BWSBetreuenWohnenSoziales.Translation
{
public class CustomTranslationDictionary : TranslationDictionary
{
public override Dictionary<String, String> GetTranslationDictionary()
{
var dict = base.GetTranslationDictionary();
AddOrReplaceTranslation(dict, "Zeiterfassung", "Dokumentation");
AddOrReplaceTranslation(dict, "ZeiterfassungMenuItem", "Dokumentation");
return dict;
}
}
}

View File

@@ -19,8 +19,9 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
{ {
//Berechnet anhand der Daten der ergänzenden Dienste die Abwesenheiten und die anzurechnenden Staffelpreise für die Früh- und Spätbetreuung //Berechnet anhand der Daten der ergänzenden Dienste die Abwesenheiten und die anzurechnenden Staffelpreise für die Früh- und Spätbetreuung
public class AnwesenheitFruehUndSpaetbetreuung public class AnwesenheitAusserschulischesBetreuungsangebot
{ {
public bool IstFerienbetreuung { get; set; } // Wenn false, dann ist es Hort Früh-/Spätbetreuung
public List<CustomerAnwesenheit> CustomerAnwesenheiten { get; set; } = new List<CustomerAnwesenheit>(); public List<CustomerAnwesenheit> CustomerAnwesenheiten { get; set; } = new List<CustomerAnwesenheit>();
public DateTime Monat { get; set; } public DateTime Monat { get; set; }
@@ -32,38 +33,62 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
public StaffelpreisProTag Staffel4 { get; set; } = new StaffelpreisProTag(); public StaffelpreisProTag Staffel4 { get; set; } = new StaffelpreisProTag();
public StaffelpreisProTag Staffel5 { get; set; } = new StaffelpreisProTag(); public StaffelpreisProTag Staffel5 { get; set; } = new StaffelpreisProTag();
internal void BerechneGesamtAnwesenheit(AdditionalServiceBookingRO roFrueh, AdditionalServiceBookingRO roSpaet) internal void BerechneGesamtAnwesenheit(AdditionalServiceBookingRO roFrueh, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien)
{ {
if (roFrueh != null && roSpaet != null)
{
IstFerienbetreuung = false;
Monat = new DateTime(roFrueh.Year, roFrueh.MonthInt, 1);
foreach (var sRow in roFrueh.Rows)
{
//Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
if (row == null)
{
CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
}
else
{
AddAnwesenheit(row, sRow);
}
}
foreach (var sRow in roSpaet.Rows)
{
//Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
if (row == null)
{
CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
}
else
{
AddAnwesenheit(row, sRow);
}
}
}
Monat = new DateTime(roFrueh.Year, roFrueh.MonthInt, 1); if (roFerien != null)
foreach (var sRow in roFrueh.Rows)
{ {
//Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu IstFerienbetreuung = true;
var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid); Monat = new DateTime(roFerien.Year, roFerien.MonthInt, 1);
if (row == null)
foreach (var sRow in roFerien.Rows)
{ {
CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat)); //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
} var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
else if (row == null)
{ {
AddAnwesenheit(row, sRow); CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
}
else
{
AddAnwesenheit(row, sRow);
}
} }
} }
foreach (var sRow in roSpaet.Rows)
{
//Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
if (row == null)
{
CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
}
else
{
AddAnwesenheit(row, sRow);
}
}
BerechneSummenUndStaffelpreise(); BerechneSummenUndStaffelpreise();
} }
@@ -223,15 +248,15 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
DateTime end = dt.AddMonths(1); DateTime end = dt.AddMonths(1);
Staffel1.Staffel = 1; Staffel1.Staffel = 1;
Staffel1.Preis = FrankfurtOderHelper.GetStaffelPreis(1, dt) ?? 0; Staffel1.Preis = FrankfurtOderHelper.GetStaffelPreis(1, dt, IstFerienbetreuung) ?? 0;
Staffel2.Staffel = 2; Staffel2.Staffel = 2;
Staffel2.Preis = FrankfurtOderHelper.GetStaffelPreis(2, dt) ?? 0; Staffel2.Preis = FrankfurtOderHelper.GetStaffelPreis(2, dt, IstFerienbetreuung) ?? 0;
Staffel3.Staffel = 3; Staffel3.Staffel = 3;
Staffel3.Preis = FrankfurtOderHelper.GetStaffelPreis(3, dt) ?? 0; Staffel3.Preis = FrankfurtOderHelper.GetStaffelPreis(3, dt, IstFerienbetreuung) ?? 0;
Staffel4.Staffel = 4; Staffel4.Staffel = 4;
Staffel4.Preis = FrankfurtOderHelper.GetStaffelPreis(4, dt) ?? 0; Staffel4.Preis = FrankfurtOderHelper.GetStaffelPreis(4, dt, IstFerienbetreuung) ?? 0;
Staffel5.Staffel = 5; Staffel5.Staffel = 5;
Staffel5.Preis = FrankfurtOderHelper.GetStaffelPreis(5, dt) ?? 0; Staffel5.Preis = FrankfurtOderHelper.GetStaffelPreis(5, dt, IstFerienbetreuung) ?? 0;
while (dt < end) while (dt < end)
{ {