Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -389,8 +389,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Humanitas", "ReportImp\Huma
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiakonischesWerkHerne", "ReportImp\DiakonischesWerkHerne\DiakonischesWerkHerne.csproj", "{25AE0253-30AC-4E85-9FA4-2F8FADA62787}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabGmbH", "ReportImp\SabGmbH\SabGmbH.csproj", "{491FE69C-49BF-4003-85CE-755DE9C99E7C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoWalzPaiva", "ReportImp\BeWoWalzPaiva\BeWoWalzPaiva.csproj", "{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbwDziallasMuhrin", "ReportImp\AbwDziallasMuhrin\AbwDziallasMuhrin.csproj", "{4ACCB582-3B1C-42E8-B658-9D506B8620AD}"
|
||||
@@ -791,8 +789,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Alloheim", "ReportImp\Alloh
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZuhauseWohnenIrisThimm", "ReportImp\ZuhauseWohnenIrisThimm\ZuhauseWohnenIrisThimm.csproj", "{22E7F5F8-BB34-4243-896B-221F78837F83}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PetraWagnerMatthes", "ReportImp\PetraWagnerMatthes\PetraWagnerMatthes.csproj", "{644F73A6-7EA0-456D-B7BC-22F44B851812}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SKMAachen", "ReportImp\SKMAachen\SKMAachen.csproj", "{95342759-C161-4A44-8130-9740E57FE3A1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DieLebenslotsen", "ReportImp\DieLebenslotsen\DieLebenslotsen.csproj", "{1D72670D-FC74-4806-B6B8-847BB01718B9}"
|
||||
@@ -4964,30 +4960,6 @@ Global
|
||||
{25AE0253-30AC-4E85-9FA4-2F8FADA62787}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{25AE0253-30AC-4E85-9FA4-2F8FADA62787}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{25AE0253-30AC-4E85-9FA4-2F8FADA62787}.Release|x86.Build.0 = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
@@ -9788,30 +9760,6 @@ Global
|
||||
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{22E7F5F8-BB34-4243-896B-221F78837F83}.Release|x86.Build.0 = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812}.Release|x86.Build.0 = Release|Any CPU
|
||||
{95342759-C161-4A44-8130-9740E57FE3A1}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{95342759-C161-4A44-8130-9740E57FE3A1}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{95342759-C161-4A44-8130-9740E57FE3A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
@@ -11540,7 +11488,6 @@ Global
|
||||
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{25AE0253-30AC-4E85-9FA4-2F8FADA62787} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{491FE69C-49BF-4003-85CE-755DE9C99E7C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{4ACCB582-3B1C-42E8-B658-9D506B8620AD} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{FE14BABA-B6FD-47C8-BB38-DD4479EADA39} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
@@ -11741,7 +11688,6 @@ Global
|
||||
{8404C9FB-662A-4676-8454-64ED3CED2014} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{D2821E8E-76BE-4865-B5B3-381457BB5D71} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{22E7F5F8-BB34-4243-896B-221F78837F83} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{644F73A6-7EA0-456D-B7BC-22F44B851812} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{95342759-C161-4A44-8130-9740E57FE3A1} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{1D72670D-FC74-4806-B6B8-847BB01718B9} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{BEAE2DED-A98E-4EF9-8390-A2432CF88E8B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
|
||||
@@ -16,27 +16,19 @@ namespace BeWoPlanerMobil.Controllers
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!MobileSessionFacade.IsUserLoggedIn())
|
||||
if(false == MobileSessionFacade.IsUserLoggedIn())
|
||||
{
|
||||
Logout();
|
||||
return null;
|
||||
}
|
||||
|
||||
if (_Model == null)
|
||||
if(_Model != null)
|
||||
{
|
||||
_Model = new DevExpressSchedulerModel();
|
||||
InitModel(_Model);
|
||||
return _Model;
|
||||
}
|
||||
//if (((DevExpressSchedulerModel)Session["DevExpressSchedulerModel"])?.LoggedInEmployee is null)
|
||||
//{
|
||||
// _Model = new DevExpressSchedulerModel();
|
||||
// InitModel(_Model);
|
||||
// Session["DevExpressSchedulerModel"] = _Model;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// _Model = (DevExpressSchedulerModel)Session["DevExpressSchedulerModel"];
|
||||
//}
|
||||
|
||||
_Model = new DevExpressSchedulerModel();
|
||||
InitModel(_Model);
|
||||
|
||||
return _Model;
|
||||
}
|
||||
@@ -45,14 +37,14 @@ namespace BeWoPlanerMobil.Controllers
|
||||
[Authorize]
|
||||
public ActionResult DevExpressScheduler()
|
||||
{
|
||||
if (!MobileSessionFacade.IsUserLoggedIn() || Model == null)
|
||||
if(!MobileSessionFacade.IsUserLoggedIn() || Model == null)
|
||||
{
|
||||
return RedirectToActionPermanent("Index", "Login");
|
||||
}
|
||||
|
||||
var appointments = KalenderService.LoadFilteredAppointments(
|
||||
true,
|
||||
Model?.LoggedInEmployee?.EmployeeOid ?? 1,
|
||||
Model.LoggedInEmployee?.EmployeeOid ?? 1,
|
||||
DateTime.Today.AddDays(-60),
|
||||
DateTime.Today.AddDays(60),
|
||||
new List<long>(),
|
||||
@@ -66,6 +58,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
Model.Appointments = appointments;
|
||||
|
||||
Model.Resources = new List<object>();
|
||||
|
||||
return View(Model);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.Service.ServiceImplementations;
|
||||
using BeWo.View.Navigation.Filter;
|
||||
using BeWoPlanerMobil.Models;
|
||||
using BeWoPlanerMobil.Service;
|
||||
@@ -15,7 +14,6 @@ using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
using DevExpress.XtraScheduler;
|
||||
using DevExpress.XtraScheduler.Compatibility;
|
||||
using DevExpress.XtraScheduler.Native;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -95,28 +93,27 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.GroupsOfPeople = EmployeeService.GetAllGroups(LoggedInEmployee.EmployeeOid).OrderBy(gop => gop.Name).ToList();
|
||||
|
||||
Model.Dokutypes = ValueListService.GetAllValueListEntrysByType(ValueListEntryType.DocumentType);
|
||||
if (Model.Dokutypes != null)
|
||||
if(Model.Dokutypes != null)
|
||||
{
|
||||
Model.Dokutypes = Model.Dokutypes.OrderBy(s => s.ValueListEntryOid).ToArray();
|
||||
}
|
||||
|
||||
//Load Employees
|
||||
if (Model.AllEmployees is null)
|
||||
if(Model.AllEmployees is null)
|
||||
{
|
||||
//Model.AllEmployees = EmployeeService.GetAllActiveEmployeesCompact().OrderBy(e => e.LastName).ToList();
|
||||
Model.AllEmployees = EmployeeService.GetAllCompactEmployees().Where(e => e.ActivationType == ActivationTypeId.Active).OrderBy(e => e.LastName).ToList();
|
||||
}
|
||||
|
||||
if (Model.EmployeesForGroupAndMultiBooking is null)
|
||||
if(Model.EmployeesForGroupAndMultiBooking is null)
|
||||
{
|
||||
Model.EmployeesForGroupAndMultiBooking = Model.AllEmployees;
|
||||
}
|
||||
|
||||
if (LoggedInUser.HasRight(UserRightType.ServiceRecord_AllowCreationForOtherEmployees))
|
||||
if(LoggedInUser.HasRight(UserRightType.ServiceRecord_AllowCreationForOtherEmployees))
|
||||
{
|
||||
Model.Employees = Model.AllEmployees;
|
||||
}
|
||||
else if (LoggedInUser.HasRight(UserRightType.ServiceRecord_AllowCreationForOtherTeamMember) && Model.LoggedInEmployee.EmployeeOid != null)
|
||||
else if(LoggedInUser.HasRight(UserRightType.ServiceRecord_AllowCreationForOtherTeamMember) && Model.LoggedInEmployee.EmployeeOid != null)
|
||||
{
|
||||
Model.Employees = EmployeeService.GetAllTeamMember(LoggedInUser.Employee).Where(e => e.ActivationType == ActivationTypeId.Active).ToList();
|
||||
}
|
||||
@@ -138,9 +135,9 @@ namespace BeWoPlanerMobil.Controllers
|
||||
public void CreateModelSupportConceptListObjects(bool forceReload)
|
||||
{
|
||||
//Load SupportConcepts
|
||||
if (Model.SupportConceptListObjects == null || Model.SupportConceptListObjects.Count == 0 || forceReload || (Model.SelectedCostBearerSupportConceptOid.HasValue && Model.SelectedCostBearerSupportConceptOid.Value != -1))
|
||||
if(Model.SupportConceptListObjects is null || Model.SupportConceptListObjects.Count == 0 || forceReload || (Model.SelectedCostBearerSupportConceptOid.HasValue && Model.SelectedCostBearerSupportConceptOid.Value != -1))
|
||||
{
|
||||
if (Model.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
|
||||
if(Model.LoggedInEmployee?.EmployeeOid.HasValue ?? false)
|
||||
{
|
||||
//Model.SupportConcepts = new List<CompactSupportConceptDC>();
|
||||
|
||||
@@ -153,21 +150,16 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.SupportConcepts = new List<CompactSupportConceptDC>();
|
||||
}
|
||||
|
||||
if (Model.ShowExpiredSupportConcepts == false)
|
||||
if(Model.ShowExpiredSupportConcepts == false)
|
||||
{
|
||||
Model.SupportConcepts = Model.SupportConcepts.Where(sc =>
|
||||
{
|
||||
var endDate = sc.EndDate;
|
||||
|
||||
return endDate is null || endDate.Value >= DateTime.Now.Date;
|
||||
}).ToList();
|
||||
Model.SupportConcepts = Model.SupportConcepts.Where(sc => sc.EndDate is null || sc.EndDate.Value >= DateTime.Now.Date).ToList();
|
||||
}
|
||||
|
||||
foreach (var sc in Model.SupportConcepts)
|
||||
foreach(var supportConcept in Model.SupportConcepts)
|
||||
{
|
||||
if (sc.Goals == null)
|
||||
if(supportConcept.Goals is null)
|
||||
{
|
||||
sc.Goals = new List<ValueListEntryDC>();
|
||||
supportConcept.Goals = new List<ValueListEntryDC>();
|
||||
}
|
||||
}
|
||||
//Einfachbuchung
|
||||
@@ -190,8 +182,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
{
|
||||
foreach (var cb in sc.CostBearerList)
|
||||
{
|
||||
String customerName = $"{sc.Customer.SimpleDescription} {(sc.Customer.DateOfBirth.HasValue ? "*" + sc.Customer.DateOfBirth.Value.ToString("dd.MM.yyyy") : string.Empty)}";
|
||||
String scNameSingle = $"{cb.Bezeichnung} {sc.StartDate?.ToShortDateString().Remove(6, 2) ?? string.Empty}-{sc.EndDate?.ToShortDateString().Remove(6, 2) ?? string.Empty} {cb.OrganisationName}"; // {Model.GetIsNotApproved(sc)}";
|
||||
var customerName = $"{sc.Customer.SimpleDescription} {(sc.Customer.DateOfBirth.HasValue ? "*" + sc.Customer.DateOfBirth.Value.ToString("dd.MM.yyyy") : string.Empty)}";
|
||||
var scNameSingle = $"{cb.Bezeichnung} {sc.StartDate?.ToShortDateString().Remove(6, 2) ?? string.Empty}-{sc.EndDate?.ToShortDateString().Remove(6, 2) ?? string.Empty} {cb.OrganisationName}"; // {Model.GetIsNotApproved(sc)}";
|
||||
scNameSingle = sc.CostBearer;
|
||||
|
||||
allCostBearerRelationsMultiBooking.Add(new MokSupportConceptListObject(sc.SupportConceptOid, sc.CostBearerRelOids[0], sc.IsAboutToExpire, sc.ExpiresIn3MonthOrLess)
|
||||
@@ -217,8 +209,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
private void SetSelectedObjects()
|
||||
{
|
||||
|
||||
|
||||
Model.SelectedEmployee = Model.SelectedEmployeeOid.HasValue ?
|
||||
Model.AllEmployees.First(f => f.EmployeeOid.Equals(Model.SelectedEmployeeOid.Value)) :
|
||||
LoggedInUser.Employee;
|
||||
@@ -257,25 +247,24 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
Model.HasAnyRatingTypes = Model.HasRightToRateGoals && Model.GoalRatingTypes.Any();
|
||||
|
||||
if (Model.GroupBookingSelectedCostBearerSupportConceptOids.Count > 0)
|
||||
if(Model.GroupBookingSelectedCostBearerSupportConceptOids.Count > 0)
|
||||
{
|
||||
Model.GroupBookingSelectedCostBearerSupportConcepts = CustomerService.GetSupportConceptCostBearerRelationsById(Model.GroupBookingSelectedCostBearerSupportConceptOids);
|
||||
}
|
||||
|
||||
Model.GroupBookingSelectedEmployees = Model.AllEmployees.Where(employee => Model.GroupBookingSelectedEmployeeOids.Contains(employee.EmployeeOid)).ToList();
|
||||
//Model.Group = Model.SupportConceptListObjectsForGroupBooking.Where(s => Model.GroupBookingSelectedSupportConceptOids.Contains(s.SupportConceptOid.Value)).ToList();
|
||||
|
||||
if (Model.SelectedCostBearerSupportConceptOid.HasValue && Model.SelectedCostBearerSupportConceptOid != -1)
|
||||
if(Model.SelectedCostBearerSupportConceptOid.HasValue && Model.SelectedCostBearerSupportConceptOid != -1)
|
||||
{
|
||||
LoadSupportConceptThings(Model.SelectedCostBearerSupportConceptOid, true);
|
||||
LoadPaginatedServiceRecordsToModel(Model.CurrentPage);
|
||||
}
|
||||
else if (Model.IsInGroupBookingMode || Model.IsInMultiBookingMode)
|
||||
else if(Model.IsInGroupBookingMode || Model.IsInMultiBookingMode)
|
||||
{
|
||||
LoadSupportConceptThings(null, true);
|
||||
}
|
||||
|
||||
if (Model.AllGoals != null)
|
||||
if(Model.AllGoals != null)
|
||||
{
|
||||
if (Model.SelectedGoals.Count == 0 && Model.SelectedGoalOids.Count > 0) // Diese Abfrage muss bleiben, sonst werden vorher gewählte Bewertungen überschrieben
|
||||
{
|
||||
@@ -284,11 +273,10 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
}
|
||||
|
||||
if (Model.IsInEditingMode && Model.SelectedServiceRecordOid.HasValue)
|
||||
if(Model.IsInEditingMode && Model.SelectedServiceRecordOid.HasValue)
|
||||
{
|
||||
Model.SelectedServiceRecord = Model.ServiceRecords.FirstOrDefault(sr => sr.ServiceRecordOid.Equals(Model.SelectedServiceRecordOid.Value));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void InitSettings()
|
||||
@@ -2110,10 +2098,14 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
private void LoadServiceCategoriesToModel(List<SupportConceptTreeNodeDetailInfoDC> infos)
|
||||
{
|
||||
|
||||
Model.Categories2Descriptions = new Dictionary<ServiceCategoryDC, List<ServiceDescriptionDC>>();
|
||||
|
||||
if (infos != null && infos.Count > 0)
|
||||
|
||||
if(infos is null)
|
||||
{
|
||||
infos = new List<SupportConceptTreeNodeDetailInfoDC>();
|
||||
}
|
||||
|
||||
if(infos.Count > 0)
|
||||
{
|
||||
Model.Categories2Descriptions = CreateServiceCategory2ServiceDescription(infos);
|
||||
}
|
||||
@@ -2121,7 +2113,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
{
|
||||
//Sonst ohne Hilfeplan
|
||||
var allServiceDescriptions = OperationsService.GetAllServiceDescriptions();
|
||||
|
||||
|
||||
allServiceDescriptions.AsParallel().DoForEach(serviceDescription =>
|
||||
{
|
||||
@@ -2130,7 +2121,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.Categories2Descriptions.AddOrUpdateValueInDictionary(serviceDescription.Category, serviceDescription);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
SelectFirstServiceDescription();
|
||||
@@ -2138,21 +2128,21 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
private void SelectFirstServiceDescription()
|
||||
{
|
||||
if (Model?.Categories2Descriptions is null || Model.Categories2Descriptions.Count == 0)
|
||||
if(Model?.Categories2Descriptions is null || Model.Categories2Descriptions.Count == 0)
|
||||
{
|
||||
UpdateSelectedServiceCategorieAndDescription(null, null);
|
||||
return;
|
||||
}
|
||||
|
||||
//Nur, wenn Kategorie und Leistung null sind oder nicht in der Liste alle Kategorien enthalten sind, soll weiter unten die erste Leistung in der Liste gesetzt werden
|
||||
if (Model.SelectedServiceCategoryOid.HasValue && Model.SelectedServiceDescriptionOid.HasValue)
|
||||
if(Model.SelectedServiceCategoryOid.HasValue && Model.SelectedServiceDescriptionOid.HasValue)
|
||||
{
|
||||
var cat = Model.Categories2Descriptions.Keys.Where(c => c.ServiceCategoryOid == Model.SelectedServiceCategoryOid).FirstOrDefault();
|
||||
if (cat != null)
|
||||
var cat = Model.Categories2Descriptions.Keys.FirstOrDefault(c => c.ServiceCategoryOid == Model.SelectedServiceCategoryOid);
|
||||
if(cat != null)
|
||||
{
|
||||
var desc = Model.Categories2Descriptions[cat].Where(d => d.ServiceDescriptionOid == Model.SelectedServiceDescriptionOid).FirstOrDefault();
|
||||
var desc = Model.Categories2Descriptions[cat].FirstOrDefault(d => d.ServiceDescriptionOid == Model.SelectedServiceDescriptionOid);
|
||||
|
||||
if (desc != null)
|
||||
if(desc != null)
|
||||
{
|
||||
//Setzte Objekte im Model, sonst wird unten die erste Leistung gesetzt
|
||||
Model.SelectedServiceCategory = cat;
|
||||
@@ -2163,8 +2153,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var firstServiceCategory2ServiceDescriptions = Model.Categories2Descriptions.OrderBy(c2d => c2d.Key.Position).ThenBy(c2d => c2d.Key.ServiceCategoryOid).FirstOrDefault(c2d => c2d.Value.Any());
|
||||
|
||||
if(firstServiceCategory2ServiceDescriptions.Key is null)
|
||||
@@ -2187,7 +2175,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.SelectedServiceDescriptionOid = Model.SelectedServiceDescription?.ServiceDescriptionOid;
|
||||
}
|
||||
|
||||
|
||||
private Dictionary<ServiceCategoryDC, List<ServiceDescriptionDC>> CreateServiceCategory2ServiceDescription(List<SupportConceptTreeNodeDetailInfoDC> nodes)
|
||||
{
|
||||
var result = new Dictionary<ServiceCategoryDC, List<ServiceDescriptionDC>>();
|
||||
@@ -3274,10 +3261,10 @@ namespace BeWoPlanerMobil.Controllers
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult RedirectToDebuggingTools()
|
||||
public ActionResult RedirectToDevTools()
|
||||
{
|
||||
#if DEBUG
|
||||
return RedirectToActionPermanent("DebuggingTools", "DebuggingTools");
|
||||
return RedirectToActionPermanent("DevTools", "DevTools");
|
||||
#endif
|
||||
return RedirectToMain();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.View.Navigation.Filter;
|
||||
@@ -173,10 +174,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.AllTeamsForQueries = EmployeeService.GetAllActiveCompactTeamsForEmployee(null);
|
||||
|
||||
Model.AllServiceCategoriesForQueries = OperationsService.GetAllServiceCategories();
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (Model.HasRightToViewMitarbeiterstundenkonto)
|
||||
@@ -187,8 +185,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Value = "1"
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
#if !DEBUG
|
||||
Model.SelectedReportType = ReportType.Mitarbeiterstundenkonto;
|
||||
#endif
|
||||
@@ -585,6 +581,11 @@ namespace BeWoPlanerMobil.Controllers
|
||||
[Authorize]
|
||||
public ActionResult SelectQueryParameter(long? objectOid, int parameterType, long? parameterOid, string textValue)
|
||||
{
|
||||
if(Model?.SelectedQueryOid.HasValue ?? false)
|
||||
{
|
||||
Model.SelectedQuery = Model.Queries.FirstOrDefault(q => q.Oid.Equals(Model.SelectedQueryOid.Value));
|
||||
}
|
||||
|
||||
if(Model?.SelectedQuery is null)
|
||||
{
|
||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||
|
||||
@@ -731,9 +731,9 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
var durationString = formCollection["Duration"];
|
||||
var intervalStartDateString = formCollection["IntervalStart"].Substring(0, 10);
|
||||
var intervalStartTimeString = formCollection["IntervalStartTime"];
|
||||
var intervalStartTimeString = formCollection["IntervalStart"].Substring(11, 5);
|
||||
var intervalEndDateString = formCollection["IntervalEnd"].Substring(0, 10);
|
||||
var intervalEndTimeString = formCollection["IntervalEndTime"];
|
||||
var intervalEndTimeString = formCollection["IntervalEnd"].Substring(11, 5);
|
||||
|
||||
if(int.TryParse(durationString, out var intervalDuration) && DateTime.TryParse($"{intervalStartDateString} {intervalStartTimeString}", out var intervalStart) && DateTime.TryParse($"{intervalEndDateString} {intervalEndTimeString}", out var intervalEnd) && Model.LoggedInEmployee.EmployeeOid.HasValue)
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ namespace BeWoPlanerMobil.Models
|
||||
{
|
||||
public IEnumerable Appointments { get; set; }
|
||||
public IEnumerable Resources { get; set; }
|
||||
public string Type { get; set; }
|
||||
}
|
||||
|
||||
public class CustomAppointmentTemplateContainer : AppointmentFormTemplateContainer
|
||||
|
||||
@@ -268,6 +268,12 @@ namespace BeWoPlanerMobil.Models
|
||||
set => MainSessionModel.LastCreatedServiceRecordOid = value;
|
||||
}
|
||||
|
||||
public List<long> SupportConceptOids
|
||||
{
|
||||
get => MainSessionModel.SupportConceptOids;
|
||||
set => MainSessionModel.SupportConceptOids = value;
|
||||
}
|
||||
|
||||
public List<CompactSupportConceptDC> SupportConcepts { get; set; }
|
||||
|
||||
public List<TextModuleDC> Textbausteine { get; set; } = new List<TextModuleDC>();
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace BeWoPlanerMobil.Models
|
||||
public IList<MokSupportConceptListObject> SupportConceptListObjects { get; internal set; }
|
||||
public bool IsInTransferMode { get; internal set; }
|
||||
public IList<MokZiel> SelectedGoals { get; internal set; }
|
||||
public List<long> SupportConceptOids { get; set; }
|
||||
|
||||
public void ResetValues()
|
||||
{
|
||||
@@ -81,6 +82,8 @@ namespace BeWoPlanerMobil.Models
|
||||
TransferringAppointmentOid = null;
|
||||
SupportConceptListObjects = new List<MokSupportConceptListObject>();
|
||||
SelectedGoals = new List<MokZiel>();
|
||||
|
||||
SupportConceptOids = new List<long>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -167,7 +167,11 @@ namespace BeWoPlanerMobil.Models
|
||||
//public List<CompactEmployeeDC> SelectedEmployees { get; set; }
|
||||
//public List<CompactTeamDC> SelectedTeams { get; set; }
|
||||
|
||||
public long? SelectedQueryOid { get { return ReportViewerSessionModel.SelectedQueryOid; } set { ReportViewerSessionModel.SelectedQueryOid = value; } }
|
||||
public long? SelectedQueryOid
|
||||
{
|
||||
get => ReportViewerSessionModel.SelectedQueryOid;
|
||||
set => ReportViewerSessionModel.SelectedQueryOid = value;
|
||||
}
|
||||
public QueryDC SelectedQuery { get; set; }
|
||||
|
||||
|
||||
|
||||
@@ -405,13 +405,13 @@
|
||||
|
||||
var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €");
|
||||
|
||||
var startDate = DateTime.Today.GetFirstOfMonth().ToString("dd.MM.yyyy");
|
||||
var endDate = DateTime.Today.GetLastOfMonth().ToString("dd.MM.yyyy");
|
||||
var startDate = DateTime.Today.GetFirstOfMonth().ToString("yyyy-MM-dd");
|
||||
var endDate = DateTime.Today.GetLastOfMonth().ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="btn-group w-100" role="gorup">
|
||||
<div class="btn-group btn-group-sm w-100" role="gorup">
|
||||
<button class="btn btn-outline-primary" title="Transaktion hinzufügen" type="button" modal="#customer-bargeldtransaktions-form-popup" onclick="addNewBargeldtransaktion(@bargeldkasse.BargeldkassenOid)">
|
||||
<i class="fas fa-plus"></i>
|
||||
Transaktion
|
||||
@@ -430,73 +430,41 @@
|
||||
</div>
|
||||
|
||||
@*----- Startdatum, Enddatum und Stichtag -----*@
|
||||
<div class="form-row mt-2">
|
||||
<div class="col">
|
||||
<div class="form-group mb-0">
|
||||
<div class="input-group date ownSoft-date-picker" id="customer-bargeldkasse-start-date-picker-@bargeldkasse.BargeldkassenOid" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Startdatum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" value="@startDate"
|
||||
autocomplete="on"
|
||||
id="customer-bargeldkasse-start-date-@bargeldkasse.BargeldkassenOid"
|
||||
name="customer-bargeldkasse-start-date"
|
||||
class="form-control datetimepicker-input"
|
||||
data-target="#customer-bargeldkasse-start-date-picker-@bargeldkasse.BargeldkassenOid" data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#customer-bargeldkasse-start-date-picker-@bargeldkasse.BargeldkassenOid" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row mt-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Startdatum
|
||||
</span>
|
||||
</div>
|
||||
<input class="form-control" type="date" value="@startDate" name="customer-bargeldkasse-start-date" id="customer-bargeldkasse-start-date-@bargeldkasse.BargeldkassenOid"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row mt-1">
|
||||
<div class="col">
|
||||
<div class="form-group mb-0">
|
||||
<div class="input-group date ownSoft-date-picker" id="customer-bargeldkasse-end-date-picker-@bargeldkasse.BargeldkassenOid" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Enddatum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" value="@endDate"
|
||||
autocomplete="on"
|
||||
id="customer-bargeldkasse-end-date-@bargeldkasse.BargeldkassenOid"
|
||||
name="customer-bargeldkasse-end-date"
|
||||
class="form-control datetimepicker-input"
|
||||
data-target="#customer-bargeldkasse-end-date-picker-@bargeldkasse.BargeldkassenOid"
|
||||
data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#customer-bargeldkasse-end-date-picker-@bargeldkasse.BargeldkassenOid" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Enddatum
|
||||
</span>
|
||||
</div>
|
||||
<input class="form-control" type="date" value="@endDate" name="customer-bargeldkasse-end-date" id="customer-bargeldkasse-end-date-@bargeldkasse.BargeldkassenOid"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row mt-1">
|
||||
<div class="col">
|
||||
<div class="form-group mb-1">
|
||||
<div class="input-group date ownSoft-date-picker" id="customer-bargeldkasse-stichtag-date-picker-@bargeldkasse.BargeldkassenOid" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Stichtag
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" autocomplete="on" id="customer-bargeldkasse-stichtag-date-@bargeldkasse.BargeldkassenOid" name="customer-bargeldkasse-stichtag-date" class="form-control datetimepicker-input" data-target="#customer-bargeldkasse-stichtag-date-picker-@bargeldkasse.BargeldkassenOid" data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#customer-bargeldkasse-stichtag-date-picker-@bargeldkasse.BargeldkassenOid" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text customer-bargeldkassen-date-prepend">
|
||||
Stichtag
|
||||
</span>
|
||||
</div>
|
||||
<input class="form-control" type="date" name="customer-bargeldkasse-stichtag-date" id="customer-bargeldkasse-stichtag-date-@bargeldkasse.BargeldkassenOid"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-100">
|
||||
@*----- Kassenbestand und Anfangsbestand -----*@
|
||||
@@ -537,7 +505,7 @@
|
||||
</div>
|
||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, $"bgts-collapsible-{bargeldkasse.BargeldkassenOid}")" id="bgts-collapsible-@bargeldkasse.BargeldkassenOid">
|
||||
<div class="card-body p-1">
|
||||
<table class="table table-sm table-striped w-100 mx-0 px-0 service-record-table">
|
||||
<table class="bg-bewo-dev table table-sm table-striped w-100 mx-0 px-0 service-record-table">
|
||||
<tbody>
|
||||
@{
|
||||
var count = 0;
|
||||
@@ -551,7 +519,7 @@
|
||||
|
||||
<tr class="bg-white px-0">
|
||||
<td class="mx-0 px-0" colspan="2">
|
||||
<div class="btn-group w-100" role="gorup">
|
||||
<div class="btn-group btn-group-sm w-100" role="group">
|
||||
@if(transaktion.SignatureOid is null)
|
||||
{
|
||||
<button class="btn btn-outline-primary" title="Zahlungsbeleg unterschreiben" type="button" onclick="signZahlungsbeleg(@transaktion.BargeldtransaktionOid, '@zahlungsdatum', '@zahlungsart', '@betrag', '@transaktion.Belegnummer')">
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
|
||||
function validateBargeldkassenformular() {
|
||||
try {
|
||||
var kassenname = $("#bargeldkassennamensinput").val();
|
||||
const kassenname = $("#bargeldkassennamensinput").val();
|
||||
|
||||
if(kassenname === undefined || kassenname === null || kassenname.length === 0) {
|
||||
if(kassenname === undefined || kassenname === null || kassenname.length === 0) {
|
||||
$("#bargeldkassenform-validation-alert").html("Der Kassenname darf nicht leer sein.");
|
||||
$("#bargeldkassenform-validation-alert").removeClass("d-none");
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
});
|
||||
|
||||
function setAnfangsbestandsinputFilter() {
|
||||
$("#bargeldkassenanfangsbestand").inputFilter(function (value) {
|
||||
$("#bargeldkassenanfangsbestandsinput").inputFilter(function (value) {
|
||||
return /^-?\d*[.,]?\d*$/.test(value);
|
||||
});
|
||||
}
|
||||
@@ -112,7 +112,7 @@
|
||||
try {
|
||||
showSpinner();
|
||||
|
||||
var selectedAuszahlungsintervall = $("#auszahlungsintervall-select-input :selected").val();
|
||||
const selectedAuszahlungsintervall = $("#auszahlungsintervall-select-input :selected").val();
|
||||
|
||||
$.get("@Url.Action("SetSelectedAuszahlungsintervall")", {auszahlungsintervall: selectedAuszahlungsintervall}).done(function() {
|
||||
hideSpinner();
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
@model CustomerModel
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$(".ownSoft-date-picker").datetimepicker({
|
||||
locale: "de",
|
||||
format: "L"
|
||||
});
|
||||
});
|
||||
|
||||
(function ($) {
|
||||
$.fn.inputFilter = function (inputFilter) {
|
||||
return this.on("input keydown keyup mouseup select mousedown contextmenu drop", function () {
|
||||
@@ -81,11 +74,11 @@
|
||||
try {
|
||||
showSpinner();
|
||||
|
||||
var rawDate = $("#customer-bargeldtransaktionsdatum-input").val();
|
||||
var rawArt = $("#bargeldtransaktionsarten-select-input").find(":selected").val();
|
||||
var rawBetrag = $("#bargeldtransaktionsbetragsinput").val().replace(",", ".");
|
||||
var belegnummer = $("#bargeldtransaktionsbelegnummerinput").val();
|
||||
var notice = $("#bargeldtransaktionsnotizinput").val();
|
||||
const rawDate = $("#customer-bargeldtransaktionsdatum-input").val();
|
||||
const rawArt = $("#bargeldtransaktionsarten-select-input").find(":selected").val();
|
||||
const rawBetrag = $("#bargeldtransaktionsbetragsinput").val().replace(",", ".");
|
||||
const belegnummer = $("#bargeldtransaktionsbelegnummerinput").val();
|
||||
const notice = $("#bargeldtransaktionsnotizinput").val();
|
||||
|
||||
$("#customer-bargeldtransaktions-form-popup").modal("hide");
|
||||
|
||||
@@ -106,23 +99,21 @@
|
||||
|
||||
function validateTransaktionsForm() {
|
||||
try {
|
||||
var formattedDate = ddMMyyyyToyyyyMMdd($("#customer-bargeldtransaktionsdatum-input").val());
|
||||
const datum = moment($("#customer-bargeldtransaktionsdatum-input").val());
|
||||
|
||||
var datum = moment(formattedDate);
|
||||
const betrag = $("#bargeldtransaktionsbetragsinput").val().replace(",", ".");
|
||||
|
||||
var betrag = $("#bargeldtransaktionsbetragsinput").val().replace(",", ".");
|
||||
|
||||
var validationMessage = "";
|
||||
let validationMessage = "";
|
||||
|
||||
if(datum.isValid() === false) {
|
||||
validationMessage += "Das gewählte Datum ist ungültig.<br />";
|
||||
}
|
||||
|
||||
if ($.isNumeric(betrag) === false || betrag <= 0) {
|
||||
if($.isNumeric(betrag) === false || betrag <= 0) {
|
||||
validationMessage += "Der Betrag muss größer als 0,00 € sein.<br />";
|
||||
}
|
||||
|
||||
if (validationMessage.length > 0) {
|
||||
if(validationMessage.length > 0) {
|
||||
$("#transaktionsform-validation-alert").html(validationMessage);
|
||||
$("#transaktionsform-validation-alert").removeClass("d-none");
|
||||
|
||||
@@ -167,31 +158,16 @@
|
||||
|
||||
@* ----- Datum ----- *@
|
||||
<div class="form-row mt-2">
|
||||
<div class="col">
|
||||
<div class="form-group mb-1">
|
||||
<div class="input-group date ownSoft-date-picker" id="customer-bargeldtransaktionsdatum-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text customer-bargeldtransaktion-prepend">
|
||||
Datum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" value="@transaktionsdatum"
|
||||
autocomplete="on"
|
||||
id="customer-bargeldtransaktionsdatum-input"
|
||||
name="customer-bargeldtransaktionsdatum"
|
||||
class="form-control datetimepicker-input"
|
||||
onchange="validateTransaktionsForm()"
|
||||
data-target="#customer-bargeldtransaktionsdatum-picker"
|
||||
data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#customer-bargeldtransaktionsdatum-picker"
|
||||
data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="input-group mb-1">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text customer-bargeldtransaktion-prepend">
|
||||
Datum
|
||||
</span>
|
||||
</div>
|
||||
<input class="form-control" type="date" value="@transaktionsdatum" name="customer-bargeldtransaktionsdatum" id="customer-bargeldtransaktionsdatum-input" onchange="validateTransaktionsForm()"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@*----- Art -----*@
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@using BeWoPlanerMobil.Views.DevExpressScheduler
|
||||
@using DevExpress.XtraScheduler
|
||||
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
|
||||
|
||||
@{
|
||||
|
||||
@@ -545,13 +545,13 @@
|
||||
{
|
||||
if(Model.SelectedSupportConcept != null || Model.SelectedCostBearerSupportConceptOid == -2)
|
||||
{
|
||||
var defaultStartDate = DateTime.Now.GetFirstOfMonth().ToShortDateString();
|
||||
var defaultEndDate = DateTime.Today.ToShortDateString();
|
||||
var defaultStartDate = DateTime.Now.GetFirstOfMonth().ToString("yyyy-MM-dd");
|
||||
var defaultEndDate = DateTime.Today.ToString("yyyy-MM-dd");
|
||||
|
||||
if (Model.SelectedZeitraum != null && Model.SelectedZeitraum.StartDate.HasValue && Model.SelectedZeitraum.EndDate.HasValue)
|
||||
{
|
||||
defaultStartDate = Model.SelectedZeitraum.StartDate.Value.ToShortDateString();
|
||||
defaultEndDate = Model.SelectedZeitraum.EndDate.Value.ToShortDateString();
|
||||
defaultStartDate = Model.SelectedZeitraum.StartDate.Value.ToString("yyyy-MM-dd");
|
||||
defaultEndDate = Model.SelectedZeitraum.EndDate.Value.ToString("yyyy-MM-dd");
|
||||
}
|
||||
<div class="container-fluid w-100 mt-3 p-0">
|
||||
<div class="form-row">
|
||||
@@ -615,34 +615,22 @@
|
||||
<div class="form-row" id="custom-interval-container">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-1">
|
||||
<div class="input-group date" id="time-frame-start-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Von</span>
|
||||
</div>
|
||||
<input type="text" id="time-frame-start-date" name="von" onfocusout="loadServiceRecords()" class="form-control datetimepicker-input" data-target="#time-frame-start-date-picker" value="@defaultStartDate" />
|
||||
<div class="input-group-append" data-target="#time-frame-start-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text"><i class="fas fa-calendar-alt"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-1">
|
||||
<div class="input-group date" id="time-frame-end-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Bis</span>
|
||||
</div>
|
||||
<input type="text" id="time-frame-end-date" name="bis" onfocusout="loadServiceRecords()" class="form-control datetimepicker-input" data-target="#time-frame-end-date-picker" value="@defaultEndDate" />
|
||||
<div class="input-group-append" data-target="#time-frame-end-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text"><i class="fas fa-calendar-alt"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col mt-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
Von
|
||||
</span>
|
||||
</div>
|
||||
<input class="form-control" type="date" name="von" id="time-frame-start-date" onfocusout="loadServiceRecords()" value="@defaultStartDate"/>
|
||||
<span class="input-group-text rounded-0 border-left-0 border-right-0">
|
||||
Bis
|
||||
</span>
|
||||
<input class="form-control" type="date" name="bis" onfocusout="loadServiceRecords()" value="@defaultEndDate"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -16,23 +16,6 @@
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#query-date-picker").datetimepicker({
|
||||
locale: "de",
|
||||
format: "L"
|
||||
});
|
||||
|
||||
$("#query-date-range-start-picker").datetimepicker({
|
||||
locale: "de",
|
||||
format: "L"
|
||||
});
|
||||
|
||||
$("#query-date-range-end-picker").datetimepicker({
|
||||
locale: "de",
|
||||
format: "L"
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
window.calcPrependWidth();
|
||||
});
|
||||
@@ -354,26 +337,21 @@
|
||||
var dateValue = string.Empty;
|
||||
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is DateTime queryDate)
|
||||
{
|
||||
dateValue = queryDate.ToString("dd.MM.yyyy");
|
||||
dateValue = queryDate.ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group">
|
||||
<div class="input-group date" id="query-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Datum
|
||||
</div>
|
||||
</div>
|
||||
<input onfocusout="selectQueryDate(this, @parameterType, @parameterOid)" type="text" id="query-date" value="@dateValue" name="query-date" class="form-control datetimepicker-input" data-target="#query-date-picker" data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#query-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Datum
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" type="date" id="query-date" name="query-date" value="@dateValue" onfocusout="selectQueryDate(this, @parameterType, @parameterOid)"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
break;
|
||||
@@ -383,38 +361,25 @@
|
||||
|
||||
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is BS.Shared.Core.DateTimeSpan dateTimeSpan)
|
||||
{
|
||||
startValue = dateTimeSpan.StartDate.ToString("dd.MM.yyyy");
|
||||
endValue = dateTimeSpan.EndDate.ToString("dd.MM.yyyy");
|
||||
startValue = dateTimeSpan.StartDate.ToString("yyyy-MM-dd");
|
||||
endValue = dateTimeSpan.EndDate.ToString("yyyy-MM-dd");
|
||||
}
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group">
|
||||
<div class="input-group date" id="query-date-range-start-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Zeitraum
|
||||
</div>
|
||||
</div>
|
||||
<input onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" value="@startValue" type="text" id="query-date-range-start" name="query-date-range-start" class="form-control datetimepicker-input" data-target="#query-date-range-start-picker" data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#query-date-range-start-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="form-group">
|
||||
<div class="input-group date" id="query-date-range-end-picker" data-target-input="nearest">
|
||||
<input onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" value="@endValue" type="text" id="query-date-range-end" name="query-date-range-end" class="form-control datetimepicker-input" data-target="#query-date-range-end-picker" data-toggle="datetimepicker" />
|
||||
<div class="input-group-append" data-target="#query-date-range-end-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Zeitraum
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" type="date" value="@startValue" onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" id="query-date-range-start" name="query-date-range-start" />
|
||||
<span class="input-group-text rounded-0 border-left-0 border-right-0">
|
||||
bis
|
||||
</span>
|
||||
<input class="form-control" type="date" onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" value="@endValue" id="query-date-range-end" name="query-date-range-end" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
break;
|
||||
|
||||
@@ -66,6 +66,8 @@
|
||||
const isStartValid = startStr !== null && false === isNaN(start.getTime());
|
||||
const isEndValid = endStr !== null && false === isNaN(end.getTime());
|
||||
|
||||
logInfo2(`${start.toString()} - ${end.toString()}`);
|
||||
|
||||
isValid = isStartValid && isEndValid && duration > 0 && end > start;
|
||||
|
||||
if(isValid === false) {
|
||||
|
||||
@@ -17,24 +17,13 @@
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#scheduler-date-picker").datetimepicker({
|
||||
locale: "de",
|
||||
format: "L"
|
||||
});
|
||||
|
||||
$("#scheduler-date-picker").on("change.datetimepicker", () => {
|
||||
submitSchedulerDateForm();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
@if(Model != null)
|
||||
{
|
||||
if (Model.SelectedAppointment != null && !Model.IsInIntervalFinderMode)
|
||||
{
|
||||
<text>
|
||||
showAppointmentForm();
|
||||
showAppointmentForm();
|
||||
</text>
|
||||
}
|
||||
}
|
||||
@@ -141,12 +130,7 @@
|
||||
<div class="col col-md-auto justify-content-center mx-1 px-0">
|
||||
@using(Html.BeginForm("SelectSchedulerDate", "Scheduler", FormMethod.Post, new { id = "scheduler-date-form" }))
|
||||
{
|
||||
<div class="input-group date" id="scheduler-date-picker" data-target-input="nearest">
|
||||
<input type="text" autocomplete="on" id="start-date" name="SchedulerDate" class="form-control datetimepicker-input" data-target="#start-date-picker" data-toggle="datetimepicker" value="@Model.SelectedDate.ToShortDateString()" />
|
||||
<div class="input-group-append" data-target="#scheduler-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text"><i class="fas fa-calendar-alt"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" type="date" id="start-date" name="SchedulerDate" value="@Model.SelectedDate.ToString("yyyy-MM-dd")" />
|
||||
}
|
||||
</div>
|
||||
<div class="col-auto justify-content-center mx-1 px-0">
|
||||
|
||||
@@ -256,8 +256,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$.each($("canvas"), function(index, canvasElement) {
|
||||
updateCanvasSize($(canvasElement));
|
||||
@@ -433,9 +431,6 @@
|
||||
"#mb-textbausteine-button, #mb-hours-minutes-dropdown-btn, #mb-marker-cb").prop("disabled", shouldDisable);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@* Eingabenwiederherstellung *@
|
||||
|
||||
function getLocalStorageKey() {
|
||||
@@ -531,20 +526,18 @@
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
@*
|
||||
@if(Html.IsInDebugMode())
|
||||
@if(Html.IsInDebugMode())
|
||||
{
|
||||
using(Html.BeginForm("RedirectToDevExpressScheduler", "Main", FormMethod.Post))
|
||||
{
|
||||
using(Html.BeginForm("RedirectToDevExpressScheduler", "Main", FormMethod.Post))
|
||||
{
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||
<i class="fas fa-hand-middle-finger"></i>
|
||||
Scheduler
|
||||
</button>
|
||||
</li>
|
||||
}
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||
<i class="fas fa-hand-middle-finger" style="color: #FFD9C2;"></i>
|
||||
DX Kalender
|
||||
</button>
|
||||
</li>
|
||||
}
|
||||
*@
|
||||
}
|
||||
|
||||
@if(Html.IsInDebugMode())
|
||||
{
|
||||
@@ -555,12 +548,12 @@
|
||||
</button>
|
||||
</li>
|
||||
|
||||
using(Html.BeginForm("RedirectToDebuggingTools", "Main", FormMethod.Post))
|
||||
using(Html.BeginForm("RedirectToDevTools", "Main", FormMethod.Post))
|
||||
{
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||
<i class="fas fa-bug text-success"></i>
|
||||
Debugging Tools
|
||||
DevTools
|
||||
</button>
|
||||
</li>
|
||||
}
|
||||
|
||||
@@ -299,7 +299,7 @@ namespace CaritasverbandDuerenJuelichEV.Export
|
||||
{
|
||||
konto = "84291";
|
||||
}
|
||||
else if (item.ToString().ToLower().Contains("aok")) //derzeit nur ein Einzelfall
|
||||
else if (item.ToString().ToLower().Contains("aok") || item.ToString().ToLower().Contains("dak")) //derzeit nur ein Einzelfall
|
||||
{
|
||||
konto = "84281";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using Utils = BS.Shared.Core.Utils;
|
||||
|
||||
namespace LebenshilfeBadKreuznachFUD.Export
|
||||
{
|
||||
public class CustomDataExporter : DataExporter
|
||||
{
|
||||
public override QueryDC CreateQuery(QueryDC query)
|
||||
{
|
||||
return SageExporter.CreateQuery(query);
|
||||
}
|
||||
}
|
||||
}
|
||||
166
ReportImp/LebenshilfeBadKreuznachFUD/Export/SageExporter.cs
Normal file
166
ReportImp/LebenshilfeBadKreuznachFUD/Export/SageExporter.cs
Normal file
@@ -0,0 +1,166 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace LebenshilfeBadKreuznachFUD.Export
|
||||
{
|
||||
public class SageExporter
|
||||
{
|
||||
private String teamname = "Integration";
|
||||
|
||||
public static QueryDC CreateQuery(QueryDC query)
|
||||
{
|
||||
DateTime dt = DateTime.Now;
|
||||
DateTime.TryParse(query.Parameter[0].Value.ToString(), out dt);
|
||||
if (query.Oid == 100)
|
||||
{
|
||||
query.FileName = String.Format("SageExportIntegration{0:yyyyMM}.csv", dt);
|
||||
query.QueryResult = GetAbrechnungenString(dt, "Integration");
|
||||
}
|
||||
else if (query.Oid == 101)
|
||||
{
|
||||
query.FileName = String.Format("SageExportEntlastung{0:yyyyMM}.csv", dt);
|
||||
query.QueryResult = GetAbrechnungenString(dt, "Entlastung");
|
||||
}
|
||||
else if (query.Oid == 102)
|
||||
{
|
||||
query.FileName = String.Format("SageExportAutismus{0:yyyyMM}.csv", dt);
|
||||
query.QueryResult = GetAbrechnungenString(dt, "Autismus");
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
public static String GetAbrechnungenString(DateTime date, String teamname)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("Buchungsdatum; Belegdatum; Belegnummer; Buchungstext; Sollkonto; Habenkonto; Umsatz; Währung; Steuerart; Steuercode; " +
|
||||
"Kostenstelle Soll; Kostenstelle Haben; Kostenträger Soll; Kostenträger Haben; Kostenart; Buchungskreis");
|
||||
|
||||
var s = GetMonatlicheRechnungenString(date, teamname);
|
||||
if (!String.IsNullOrWhiteSpace(s))
|
||||
{
|
||||
sb.Append(s);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static String GetMonatlicheRechnungenString(DateTime date, String teamname)
|
||||
{
|
||||
var sql = GetMonatlicheRechnungenSql(date);
|
||||
|
||||
/*
|
||||
cb2sc.Oid,
|
||||
ib.InvoiceNumber,
|
||||
c.DebitorNumber,
|
||||
Round(ii.AmountTotal, 2) AS 'Betrag',
|
||||
ib.InvoiceDate,
|
||||
org.Name AS 'VerwendungOrg'
|
||||
CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'VerwendungPerson',
|
||||
org.DebitorNumber,
|
||||
ii.ItemDescription,
|
||||
c.CostCenter,
|
||||
ib.Oid,
|
||||
ib.AccountingPeriodEnd,
|
||||
*/
|
||||
|
||||
//sb.AppendLine("Belegdatum;Belegnummer;Debitorennummer;Kontonummer;Betrag;Buchungstext;Kostenstelle");
|
||||
//sb.AppendLine("Buchungsdatum; Belegdatum; Belegnummer; Buchungstext; Sollkonto; Habenkonto; Umsatz; Währung; Steuerart; Steuercode; " +
|
||||
// "Kostenstelle Soll; Kostenstelle Haben; Kostenträger Soll; Kostenträger Haben; Kostenart; Buchungskreis");
|
||||
var dt = ExecuteQuery(sql, date, teamname);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.Append(String.Format("{0:dd.MM.yyyy}", row[4]));
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0:dd.MM.yyyy}", row[4]));
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[1]));
|
||||
sb.Append(";");
|
||||
String buchungstext = String.Format("AR-SI {0:MM}/{0:yyyy} {1} - {2}", row[11], row[5], row[6]);
|
||||
sb.Append(buchungstext);
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[7])); // Sollkonto - Kundennr. Kostenträger
|
||||
sb.Append(";");
|
||||
String hbnKto = "S82035"; // Habenkonto für Q1 + Q2
|
||||
if (row[8].ToString() != null && (row[8].ToString().ToLower().Contains("q3") || row[8].ToString().ToLower().Contains("q4")))
|
||||
{
|
||||
hbnKto = "S82025";
|
||||
}
|
||||
sb.Append(String.Format("{0}", hbnKto)); // Habenkonto
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0:0.00}", row[3]));
|
||||
sb.Append(";EUR;;;");
|
||||
sb.Append("T70400"); // Kostenstelle (String.Format("{0}", row[9]));
|
||||
sb.Append(";;;;;12"); // Buchungskreis
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private static String GetMonatlicheRechnungenSql(DateTime date)
|
||||
{
|
||||
|
||||
String sql = @"
|
||||
SELECT * FROM
|
||||
(SELECT
|
||||
cb2sc.Oid AS cb2scOid,
|
||||
ib.InvoiceNumber,
|
||||
c.DebitorNumber,
|
||||
Round(ii.GrossAmountTotal, 2) AS 'Betrag',
|
||||
ib.InvoiceDate,
|
||||
org.Name AS 'VerwendungOrg',
|
||||
CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'VerwendungPerson',
|
||||
org.DebitorNumber AS OrgDebitorNumber,
|
||||
ii.ItemDescription,
|
||||
c.CostCenter,
|
||||
ib.Oid AS ibOid,
|
||||
ib.AccountingPeriodEnd,
|
||||
(select t.name from team t inner join team2customer t2c on t2c.teamoid = t.oid where t2c.customeroid = c.Oid limit 1) AS Team
|
||||
FROM `supportconcept` sc
|
||||
INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid`
|
||||
INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid`
|
||||
INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid`
|
||||
INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid`
|
||||
INNER JOIN `person` p on c.`PersonOid` = p.`Oid`
|
||||
INNER JOIN invoicebase ib on ib.costbearer2supportconceptoid = cb2sc.oid
|
||||
inner join serviceinvoice si on si.invoicebaseoid = ib.oid
|
||||
inner join serviceinvoiceperiod sip on sip.serviceinvoiceoid = si.oid
|
||||
inner join invoiceitem ii on ii.serviceinvoiceperiodoid = sip.oid
|
||||
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
|
||||
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`) AS sqry
|
||||
WHERE Team = ':teamname'
|
||||
";
|
||||
|
||||
return sql;
|
||||
}
|
||||
|
||||
public static DataTable ExecuteQuery(String sql, DateTime dt, String teamname)
|
||||
{
|
||||
var newsql = sql;
|
||||
newsql = newsql.Replace(":Abrechnungsmonat", String.Format("{0:dd.MM.yyyy}", dt));
|
||||
newsql = newsql.Replace(":Belegnr", String.Format("{0:yyMM}", dt));
|
||||
newsql = newsql.Replace(":Monat_MM", String.Format("{0:MM}", dt));
|
||||
newsql = newsql.Replace(":Monat_Start", String.Format("{0:yyyy-MM}-01", dt));
|
||||
dt = dt.AddMonths(1);
|
||||
newsql = newsql.Replace(":Monat_End", String.Format("{0:yyyy-MM}-01", dt));
|
||||
newsql = newsql.Replace(":teamname", String.Format("{0}", teamname));
|
||||
|
||||
return DAOFactory.AdoDAO.ExecuteQuery(newsql).Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,6 +58,8 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Calculations\DefaultCalculations.cs" />
|
||||
<Compile Include="Calculations\CustomGroupDurationCalculator.cs" />
|
||||
<Compile Include="Export\CustomDataExporter.cs" />
|
||||
<Compile Include="Export\SageExporter.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
@@ -110,7 +112,6 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Export\" />
|
||||
<Folder Include="Import\" />
|
||||
<Folder Include="Validation\" />
|
||||
</ItemGroup>
|
||||
|
||||
44
ReportImp/SBBMainzReports/Invoicing/CustomInvoiceCreation.cs
Normal file
44
ReportImp/SBBMainzReports/Invoicing/CustomInvoiceCreation.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Services;
|
||||
|
||||
namespace SbbMainzReports.Invoicing
|
||||
{
|
||||
public class CustomInvoiceCreation : InvoiceCreation
|
||||
{
|
||||
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
|
||||
{
|
||||
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
|
||||
ii.ItemDescription = iServiceRecord.ServiceDescription.CategoryName;
|
||||
|
||||
return ii;
|
||||
}
|
||||
|
||||
public override void CreateFixedAmounts(ServiceInvoicePeriod serviceInvoicePeriod, SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc)
|
||||
{
|
||||
base.CreateFixedAmounts(serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc);
|
||||
if (supportConceptApprovalPeriod.ServiceCategory != null
|
||||
&& serviceInvoicePeriod.InvoiceItemList != null && serviceInvoicePeriod.InvoiceItemList.Count > 0)
|
||||
{
|
||||
foreach (var ii in serviceInvoicePeriod.InvoiceItemList)
|
||||
{
|
||||
ii.ItemDescription = supportConceptApprovalPeriod.ServiceCategory.Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void CheckMaxApprovedAmount(ServiceInvoice invoice, ServiceInvoicePeriod sip, SupportConceptApprovalPeriodDC scap, CostBearer2SupportConcept costBearer2SupportConcept, DateTimeSpan invoicePeriod, List<ServiceRecordDC> serviceRecords)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
18
ReportImp/SBBMainzReports/Invoicing/CustomInvoiceFactory.cs
Normal file
18
ReportImp/SBBMainzReports/Invoicing/CustomInvoiceFactory.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace SbbMainzReports.Invoicing
|
||||
{
|
||||
public class CustomInvoiceFactory : InvoiceFactory
|
||||
{
|
||||
|
||||
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
|
||||
{
|
||||
return new CustomInvoiceCreation();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,6 +76,8 @@
|
||||
<Compile Include="CustomerDataReport.designer.cs">
|
||||
<DependentUpon>CustomerDataReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="LeistungsbestaetigungRlpTs.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblUeberschrift = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
@@ -87,16 +87,15 @@ namespace SBBMainzReports
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
@@ -106,7 +105,7 @@ namespace SBBMainzReports
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 1.124954F;
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
@@ -163,7 +162,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel4,
|
||||
this.xrLabel16,
|
||||
this.xrLabel17,
|
||||
this.xrLabel13,
|
||||
this.lblUeberschrift,
|
||||
this.xrLabel12,
|
||||
this.lblAbrechnungszeitraum,
|
||||
this.xrLabel10,
|
||||
@@ -176,7 +175,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel2,
|
||||
this.xrTable2});
|
||||
this.Page1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||
this.Page1.HeightF = 404.7083F;
|
||||
this.Page1.HeightF = 428.4583F;
|
||||
this.Page1.Name = "Page1";
|
||||
this.Page1.StylePriority.UseFont = false;
|
||||
//
|
||||
@@ -185,7 +184,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel3.CanShrink = true;
|
||||
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(10.00016F, 356.0416F);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(10.00016F, 378.9583F);
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(112.5F, 20F);
|
||||
@@ -199,7 +198,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel4.CanShrink = true;
|
||||
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(264.5416F, 356.0416F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(264.5416F, 378.9583F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(433.8333F, 20F);
|
||||
@@ -213,7 +212,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel16.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel16.CanShrink = true;
|
||||
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(264.5416F, 376.0415F);
|
||||
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(264.5416F, 398.9581F);
|
||||
this.xrLabel16.Name = "xrLabel16";
|
||||
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel16.SizeF = new System.Drawing.SizeF(433.8334F, 20.00003F);
|
||||
@@ -227,7 +226,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel17.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel17.CanShrink = true;
|
||||
this.xrLabel17.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(10.00016F, 376.0415F);
|
||||
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(10.00016F, 398.9581F);
|
||||
this.xrLabel17.Name = "xrLabel17";
|
||||
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel17.SizeF = new System.Drawing.SizeF(112.5F, 20F);
|
||||
@@ -236,22 +235,22 @@ namespace SBBMainzReports
|
||||
this.xrLabel17.Text = "wohnhaft:";
|
||||
this.xrLabel17.WordWrap = false;
|
||||
//
|
||||
// xrLabel13
|
||||
// lblUeberschrift
|
||||
//
|
||||
this.xrLabel13.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.lblUeberschrift.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 320.1665F);
|
||||
this.xrLabel13.Multiline = true;
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(688.3749F, 20.87509F);
|
||||
this.xrLabel13.StylePriority.UseBorders = false;
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel13.Text = "Hilfen zur Erziehung - Sozialpädagogische Familienhilfe gem. § 31 SGB VIII";
|
||||
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.lblUeberschrift.Font = new DevExpress.Drawing.DXFont("arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.lblUeberschrift.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 320.1665F);
|
||||
this.lblUeberschrift.Multiline = true;
|
||||
this.lblUeberschrift.Name = "lblUeberschrift";
|
||||
this.lblUeberschrift.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblUeberschrift.SizeF = new System.Drawing.SizeF(688.3749F, 42.75009F);
|
||||
this.lblUeberschrift.StylePriority.UseBorders = false;
|
||||
this.lblUeberschrift.StylePriority.UseFont = false;
|
||||
this.lblUeberschrift.StylePriority.UseTextAlignment = false;
|
||||
this.lblUeberschrift.Text = "Hilfen zur Erziehung - Sozialpädagogische Familienhilfe gem. § 31 SGB VIII ";
|
||||
this.lblUeberschrift.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
@@ -491,7 +490,7 @@ namespace SBBMainzReports
|
||||
this.xrLabel6.Multiline = true;
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 39.99999F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(357.625F, 39.99999F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Sozialtherapeutische Beratungsstelle / \r\nBetreuungsverein e.V. Rheinallee 17 55" +
|
||||
"118 Mainz";
|
||||
@@ -503,7 +502,7 @@ namespace SBBMainzReports
|
||||
this.lblAdresse.Multiline = true;
|
||||
this.lblAdresse.Name = "lblAdresse";
|
||||
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111F);
|
||||
this.lblAdresse.SizeF = new System.Drawing.SizeF(357.625F, 111F);
|
||||
this.lblAdresse.StylePriority.UseFont = false;
|
||||
this.lblAdresse.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientStreet]\r\n[RecipientPostCo" +
|
||||
"deAndTown]";
|
||||
@@ -667,7 +666,8 @@ namespace SBBMainzReports
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport2});
|
||||
this.DetailReport2,
|
||||
this.ReportFooter});
|
||||
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
@@ -681,13 +681,11 @@ namespace SBBMainzReports
|
||||
// DetailReport2
|
||||
//
|
||||
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail3,
|
||||
this.GroupFooter1});
|
||||
this.Detail3});
|
||||
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
|
||||
this.DetailReport2.DataSource = this.bindingSource1;
|
||||
this.DetailReport2.Level = 0;
|
||||
this.DetailReport2.Name = "DetailReport2";
|
||||
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
|
||||
//
|
||||
// Detail3
|
||||
//
|
||||
@@ -704,7 +702,7 @@ namespace SBBMainzReports
|
||||
this.xrTable6.Name = "xrTable6";
|
||||
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow25});
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(688.3747F, 25F);
|
||||
this.xrTable6.SizeF = new System.Drawing.SizeF(688.3748F, 25F);
|
||||
this.xrTable6.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow25
|
||||
@@ -712,7 +710,6 @@ namespace SBBMainzReports
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell44,
|
||||
this.xrTableCell45,
|
||||
this.xrTableCell9,
|
||||
this.xrTableCell47});
|
||||
this.xrTableRow25.Name = "xrTableRow25";
|
||||
@@ -722,6 +719,8 @@ namespace SBBMainzReports
|
||||
//
|
||||
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell40.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||
this.xrTableCell40.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrTableCell40.Name = "xrTableCell40";
|
||||
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
@@ -739,7 +738,7 @@ namespace SBBMainzReports
|
||||
this.xrTableCell44.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell44.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:0.##}")});
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours")});
|
||||
this.xrTableCell44.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrTableCell44.Name = "xrTableCell44";
|
||||
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
@@ -750,24 +749,9 @@ namespace SBBMainzReports
|
||||
this.xrTableCell44.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell44.Text = "xrTableCell44";
|
||||
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell44.TextFormatString = "{0:0.00}";
|
||||
this.xrTableCell44.Weight = 0.14933396933294971D;
|
||||
//
|
||||
// xrTableCell45
|
||||
//
|
||||
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
|
||||
this.xrTableCell45.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||
this.xrTableCell45.StylePriority.UseFont = false;
|
||||
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell45.Text = "zu";
|
||||
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell45.Weight = 0.10254101486409843D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
this.xrTableCell9.BorderColor = System.Drawing.Color.DarkGray;
|
||||
@@ -781,9 +765,9 @@ namespace SBBMainzReports
|
||||
this.xrTableCell9.StylePriority.UseFont = false;
|
||||
this.xrTableCell9.StylePriority.UsePadding = false;
|
||||
this.xrTableCell9.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell9.Text = "[HourlyRate!0.00 €]";
|
||||
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell9.Weight = 0.21029226665145875D;
|
||||
this.xrTableCell9.Text = "[HourlyRateString]";
|
||||
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell9.Weight = 0.31283277136800258D;
|
||||
//
|
||||
// xrTableCell47
|
||||
//
|
||||
@@ -801,62 +785,7 @@ namespace SBBMainzReports
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell47.TextFormatString = "{0} Euro";
|
||||
this.xrTableCell47.Weight = 0.53063955118854178D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel14,
|
||||
this.xrLabel9,
|
||||
this.xrLabel1});
|
||||
this.GroupFooter1.HeightF = 238.3333F;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrLabel14
|
||||
//
|
||||
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(186.7086F, 0F);
|
||||
this.xrLabel14.Name = "xrLabel14";
|
||||
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
|
||||
this.xrLabel14.SizeF = new System.Drawing.SizeF(263.9997F, 25F);
|
||||
this.xrLabel14.StylePriority.UseFont = false;
|
||||
this.xrLabel14.StylePriority.UsePadding = false;
|
||||
this.xrLabel14.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel14.Text = "Rechnungsbetrag Gesamt:";
|
||||
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel9.CanShrink = true;
|
||||
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(10.00016F, 75.20834F);
|
||||
this.xrLabel9.Multiline = true;
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(688.375F, 163.125F);
|
||||
this.xrLabel9.StylePriority.UseBackColor = false;
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = resources.GetString("xrLabel9.Text");
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
|
||||
this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
|
||||
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(450.7083F, 0F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(247.6669F, 25F);
|
||||
this.xrLabel1.StylePriority.UseBorderDashStyle = false;
|
||||
this.xrLabel1.StylePriority.UseBorders = false;
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.StylePriority.UsePadding = false;
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrLabel1.TextFormatString = "{0} Euro";
|
||||
this.xrTableCell47.Weight = 0.53064018869841689D;
|
||||
//
|
||||
// PageFooter
|
||||
//
|
||||
@@ -887,6 +816,61 @@ namespace SBBMainzReports
|
||||
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(159.7919F, 111F);
|
||||
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel13,
|
||||
this.xrLabel18,
|
||||
this.xrLabel19});
|
||||
this.ReportFooter.HeightF = 238.3333F;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
//
|
||||
// xrLabel13
|
||||
//
|
||||
this.xrLabel13.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
|
||||
this.xrLabel13.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
|
||||
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("arial", 11F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(450.7081F, 0F);
|
||||
this.xrLabel13.Name = "xrLabel13";
|
||||
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel13.SizeF = new System.Drawing.SizeF(247.6669F, 25F);
|
||||
this.xrLabel13.StylePriority.UseBorderDashStyle = false;
|
||||
this.xrLabel13.StylePriority.UseBorders = false;
|
||||
this.xrLabel13.StylePriority.UseFont = false;
|
||||
this.xrLabel13.StylePriority.UsePadding = false;
|
||||
this.xrLabel13.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrLabel13.TextFormatString = "{0} Euro";
|
||||
//
|
||||
// xrLabel18
|
||||
//
|
||||
this.xrLabel18.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel18.CanShrink = true;
|
||||
this.xrLabel18.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(9.999939F, 75.20834F);
|
||||
this.xrLabel18.Multiline = true;
|
||||
this.xrLabel18.Name = "xrLabel18";
|
||||
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel18.SizeF = new System.Drawing.SizeF(688.375F, 163.125F);
|
||||
this.xrLabel18.StylePriority.UseBackColor = false;
|
||||
this.xrLabel18.StylePriority.UseFont = false;
|
||||
this.xrLabel18.Text = resources.GetString("xrLabel18.Text");
|
||||
//
|
||||
// xrLabel19
|
||||
//
|
||||
this.xrLabel19.Font = new DevExpress.Drawing.DXFont("arial", 11F);
|
||||
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(186.7084F, 0F);
|
||||
this.xrLabel19.Name = "xrLabel19";
|
||||
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
|
||||
this.xrLabel19.SizeF = new System.Drawing.SizeF(263.9997F, 25F);
|
||||
this.xrLabel19.StylePriority.UseFont = false;
|
||||
this.xrLabel19.StylePriority.UsePadding = false;
|
||||
this.xrLabel19.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel19.Text = "Rechnungsbetrag Gesamt:";
|
||||
this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
@@ -947,11 +931,8 @@ namespace SBBMainzReports
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
@@ -982,12 +963,14 @@ namespace SBBMainzReports
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblUeberschrift;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
|
||||
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2;
|
||||
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
@@ -47,8 +48,21 @@ namespace SBBMainzReports
|
||||
{
|
||||
if (sip.ServiceInvoiceItems != null && sip.ServiceInvoiceItems.Count > 0)
|
||||
{
|
||||
if (sip.ServiceInvoiceItems.Any(i => i.ServiceDescription != null && i.ServiceDescription.ToLower().Contains("erziehungsbeistand")))
|
||||
{
|
||||
lblUeberschrift.Text = "Hilfe zur Erziehung gemäß § 27 ff SGB VIII i.V. m. § 30 SGB VIII - \nErziehungsbeistandschaft";
|
||||
}
|
||||
foreach (var ii in sip.ServiceInvoiceItems)
|
||||
{
|
||||
if (!ii.ServiceDescription.ToLower().Contains("handgeld"))
|
||||
{
|
||||
ii.ServiceDescription = "Fachleistungstunden / Monat";
|
||||
ii.HourlyRateString = String.Format("zu {0:0.00} €", ii.HourlyRate);
|
||||
}
|
||||
else
|
||||
{
|
||||
ii.HourlyRateString = "";
|
||||
}
|
||||
ii.GrossAmount = ii.GrossAmount.Replace("€", "").Trim();
|
||||
}
|
||||
}
|
||||
@@ -67,14 +81,6 @@ namespace SBBMainzReports
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientOrganisation);
|
||||
}
|
||||
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
|
||||
//{
|
||||
// sb.AppendLine(pRO.RecipientAddressLine1);
|
||||
//}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientContactPerson);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||
{
|
||||
sb.AppendLine(pRO.RecipientDivision);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -213,6 +213,14 @@ namespace VereinBeratungTherapie.Invoicing
|
||||
{
|
||||
LG = lgMin;
|
||||
}
|
||||
if (supportConceptApprovalPeriod.Notice != null && supportConceptApprovalPeriod.Notice.ToLower().Contains("kombiniert"))
|
||||
{
|
||||
LG = lgMin;
|
||||
if (!cat.Abbreviation.Contains("TS"))
|
||||
{
|
||||
LG = GetKombinierteLG(serviceInvoicePeriod, supportConceptApprovalPeriod, cat, cb2sc, lgMin, preisLG);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LG = GetLeistungsgruppe(lgMin, cat);
|
||||
@@ -282,23 +290,23 @@ namespace VereinBeratungTherapie.Invoicing
|
||||
if (ap.Notice == null || !ap.Notice.ToLower().Contains("alt"))
|
||||
{
|
||||
lgGes = GetLeistungsgruppe(lgMin + lgBw, cat);
|
||||
lgBw = GetLeistungsgruppe(lgBw, cat);
|
||||
var dif = lgGes - lgMin - lgBw;
|
||||
if (dif != 0)
|
||||
{
|
||||
dif /= 2;
|
||||
}
|
||||
lgMin += dif;
|
||||
lgBw += dif;
|
||||
ii.Notice = Math.Round((lgGes - Math.Round(lgBw, 0, MidpointRounding.AwayFromZero)),0, MidpointRounding.ToEven).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
lgGes = lgMin + lgBw;
|
||||
preisGes = Math.Round(minPreis * lgGes, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
lgBw = Math.Round(lgBw / 60, 2, MidpointRounding.AwayFromZero);
|
||||
preisBw = Math.Round(preis.Value * lgBw, 2, MidpointRounding.AwayFromZero);
|
||||
|
||||
if (new List<decimal> { 60, 120, 180, 240, 330, 450, 630, 900 }.Contains(lgBw))
|
||||
{
|
||||
preisBw = Math.Round(preis.Value * lgBw / 60, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
else // Altfälle
|
||||
{
|
||||
preisBw = Math.Round(minPreis * lgBw, 2, MidpointRounding.AwayFromZero);
|
||||
|
||||
}
|
||||
if (new List<decimal> { 60, 120, 180, 240, 330, 450, 630, 900 }.Contains(lgGes))
|
||||
{
|
||||
preisGes = Math.Round(preis.Value * lgGes / 60, 2, MidpointRounding.AwayFromZero);
|
||||
@@ -324,6 +332,54 @@ namespace VereinBeratungTherapie.Invoicing
|
||||
}
|
||||
}
|
||||
|
||||
private decimal GetKombinierteLG(ServiceInvoicePeriod period, SupportConceptApprovalPeriodDC scapBW, ServiceCategoryDC cat, CostBearer2SupportConcept cb2sc, decimal lgMin, decimal? preis)
|
||||
{
|
||||
// BeckerA, 26.05.2025: Anpassung in Umrechnung der LG, ABER das war nur für QA nötig, allerdings scheint es noch Altfälle zu gebenm die ohnehin Minutenweise umgerechnet wurden
|
||||
// z.B. Babadagi
|
||||
// BeckerA, 26.05.2025: Programmierung soweit angepasst, GetKombiniertenPreis fehlt noch, warte da auf ihre Rückmeldung
|
||||
// Errechnung des summierten Preises und Einzelpreise TS und BW
|
||||
var scapTSs = cb2sc.ApprovalPeriodList.Where(a => a.ServiceCategory != null && a.ServiceCategory.Abbreviation.Contains(cat.Abbreviation.Substring(0, 2))
|
||||
&& a.ServiceCategory.Abbreviation.Substring(2, 2) == "TS").ToList();
|
||||
if (scapTSs != null)
|
||||
{
|
||||
foreach (var ap in scapTSs)
|
||||
{
|
||||
if (scapBW.StartDate == ap.StartDate && scapBW.EndDate == ap.EndDate || ap.StartDate < period.End && ap.EndDate > period.Start)
|
||||
{
|
||||
var catTs = MapperFactory.ServiceCategoryDC_ServiceCategory.MapToNewDC(ap.ServiceCategory);
|
||||
decimal minPreis = Math.Round(preis.Value / 60, 4, MidpointRounding.AwayFromZero);
|
||||
decimal lgTs = 0;
|
||||
decimal lgGes = 0;
|
||||
if (ap.ApprovedBEPerInterval != null)
|
||||
{
|
||||
lgTs = ap.ApprovedBEPerInterval.Value;
|
||||
}
|
||||
// LWV rundet den Prei bei KA und alten Bewilligungen QA auf Minutenwert und bei neuer QA auf Stunden :-P
|
||||
if (cat.Abbreviation.Contains("QA") || cat.Name.Contains("Qualifizierte"))
|
||||
{
|
||||
if (ap.Notice == null || !ap.Notice.ToLower().Contains("alt"))
|
||||
{
|
||||
lgGes = GetLeistungsgruppe(lgMin + lgTs, cat);
|
||||
var dif = lgGes - lgMin - lgTs;
|
||||
if (dif != 0)
|
||||
{
|
||||
dif /= 2;
|
||||
}
|
||||
lgMin += dif;
|
||||
lgTs += dif;
|
||||
}
|
||||
else
|
||||
{
|
||||
lgGes = lgMin + lgTs;
|
||||
}
|
||||
}
|
||||
return lgMin;
|
||||
}
|
||||
}
|
||||
}
|
||||
return lgMin;
|
||||
}
|
||||
|
||||
private decimal GetLeistungsgruppe(decimal? approvedBEPerInterval, ServiceCategoryDC cat)
|
||||
{
|
||||
// Qualifizierte Assistenz wird in Stufen - sogenannten Leistungsgruppen abgerechnet -
|
||||
|
||||
Reference in New Issue
Block a user