- Rechte "Klient Betreuung ansehen" und "Klient Abwesenheiten ansehen"

MoK:
- Zeitraumauswahl wird wieder aus den Benutzereinstellungen geladen
- NHibernate Lazy-Loading von Contract->EmploymentType auf false gesetzt, um Probleme mit geschlossener Session im MoK-Mitarbeiterstundenkonto-Bericht zu umgehen
- Eigene Scripte in Verzeichnis "ownsoft-Scripts" verschoben
This commit is contained in:
2023-09-04 16:57:20 +02:00
parent 09bcf7fa87
commit 11f9b1c8e8
40 changed files with 1380 additions and 1214 deletions

View File

@@ -2138,7 +2138,7 @@ namespace BeWo.Scheduler.View
if(oid != null)
{
appointmentToOpen = apps.Find(app =>
appointmentToOpen = apps.FirstOrDefault(app =>
{
var oidValue = app.CF_SchedulerAppointmentOid();
@@ -2153,7 +2153,7 @@ namespace BeWo.Scheduler.View
}
else if(_SelectedAppointmentFromHomePanelView.RecurrenceId != null && _SelectedAppointmentFromHomePanelView.RecurrenceIndex > 0)
{
appointmentToOpen = apps.Find(appointment => appointment.RecurrenceInfo.Id.ToString().Equals(_SelectedAppointmentFromHomePanelView.RecurrenceId));
appointmentToOpen = apps.FirstOrDefault(appointment => appointment.RecurrenceInfo.Id.ToString().Equals(_SelectedAppointmentFromHomePanelView.RecurrenceId));
if(appointmentToOpen != null)
{

View File

@@ -897,7 +897,7 @@
</ScrollViewer>
</GroupBox>
</TabItem>
<TabItem Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewBetreuung" Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid x:Name="grid_emplyeeRel">
<Grid.RowDefinitions>
@@ -1111,7 +1111,7 @@
</Grid>
</ScrollViewer>
</TabItem>
<TabItem Header="Abwesenheiten">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewAbsenceTimes" Header="Abwesenheiten">
<Grid>
<detail:AbsenceTimesView x:Name="AbsenceTimesView" AbsenceTimes="{Binding ViewModel.AbsenceTimes, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, ElementName=CustomerBeWoView}" />
</Grid>

View File

@@ -4476,7 +4476,7 @@
<Content Include="Scripts\dx.viz.js" />
<Content Include="Scripts\dx.web.debug.js" />
<Content Include="Scripts\dx.web.js" />
<Content Include="Scripts\group-booking.js" />
<Content Include="Scripts\ownSoft-Scripts\group-booking.js" />
<Content Include="Content\style.css.map" />
<Content Include="Content\style.scss" />
<Content Include="Content\fonts\signika-negative.regular.ttf" />
@@ -4652,21 +4652,21 @@
<Content Include="Scripts\localization\dx.messages.tr.js" />
<Content Include="Scripts\localization\dx.messages.vi.js" />
<Content Include="Scripts\localization\dx.messages.zh.js" />
<Content Include="Scripts\mobileUtils.js" />
<Content Include="Scripts\ownSoft-Scripts\mobileUtils.js" />
<Content Include="Scripts\moment-with-locales.js" />
<Content Include="Scripts\moment-with-locales.min.js" />
<Content Include="Scripts\moment.js" />
<Content Include="Scripts\moment.min.js" />
<Content Include="Scripts\signature.js" />
<Content Include="Scripts\ownSoft-Scripts\signature.js" />
<Content Include="Scripts\tempusdominus-boostrap-4.min.js" />
<Content Include="Scripts\utils\js-helper.js" />
<Content Include="Scripts\utils\list-utils.js" />
<Content Include="Scripts\utils\logging.js" />
<Content Include="Scripts\utils\password-security.js" />
<Content Include="Scripts\utils\resources-list-utils.js" />
<Content Include="Scripts\utils\service-record-time-calc.js" />
<Content Include="Scripts\utils\trimCanvas.js" />
<Content Include="Scripts\utils\dateUtils.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\js-helper.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\list-utils.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\logging.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\password-security.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\resources-list-utils.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\service-record-time-calc.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\trimCanvas.js" />
<Content Include="Scripts\ownSoft-Scripts\utils\dateUtils.js" />
<Content Include="Scripts\vectormap-data\africa.js" />
<Content Include="Scripts\vectormap-data\canada.js" />
<Content Include="Scripts\vectormap-data\eurasia.js" />
@@ -4676,10 +4676,10 @@
<Content Include="Scripts\vectormap-utils\dx.vectormaputils.debug.js" />
<Content Include="Scripts\vectormap-utils\dx.vectormaputils.js" />
<Content Include="Scripts\vectormap-utils\dx.vectormaputils.node.js" />
<Content Include="Scripts\view-scripts\report.js" />
<Content Include="Scripts\view-scripts\scheduler.js" />
<Content Include="Scripts\view-scripts\customer.js" />
<Content Include="Scripts\view-scripts\main.js" />
<Content Include="Scripts\ownSoft-Scripts\view-scripts\report.js" />
<Content Include="Scripts\ownSoft-Scripts\view-scripts\scheduler.js" />
<Content Include="Scripts\ownSoft-Scripts\view-scripts\customer.js" />
<Content Include="Scripts\ownSoft-Scripts\view-scripts\main.js" />
<Content Include="TestWebService.asmx" />
<Content Include="Web.config">
<SubType>Designer</SubType>
@@ -4699,7 +4699,7 @@
<Content Include="Views\Login\Index.cshtml" />
<Content Include="Views\Main\Main.cshtml" />
<Content Include="Scripts\README.md" />
<Content Include="Scripts\support-concept-statistics.js" />
<Content Include="Scripts\ownSoft-Scripts\support-concept-statistics.js" />
<Content Include="Views\Report\Report.cshtml" />
<Content Include="Views\DevExpressScheduler\DevExpressScheduler.cshtml" />
<Content Include="Views\DevExpressScheduler\SchedulerPagePartial.cshtml" />
@@ -5084,6 +5084,10 @@
<Content Include="node_modules\bootstrap4-fullscreen-modal\README.md" />
<Content Include="node_modules\bootstrap4-fullscreen-modal\src\bootstrap4-modal-fullscreen.scss" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\Customer\CustomerAbsenceTimePartial.cshtml" />
</ItemGroup>
<ItemGroup />
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

View File

@@ -8,7 +8,7 @@
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>

View File

@@ -113,7 +113,10 @@ namespace BeWoPlanerMobil.Controllers
Model.FolderTree = OperationsService.GetFolderTree(TableID.Customer, customerOid.Value);
var customer = CustomerService.LoadCustomer(customerOid.Value);
Model.ICD10Diagnosen = OperationsService.GetDiagiosisStringsForICD10Codes(customer.ICD10DiagnosisCodes);
Model.SelectedCustomer = customer;
Model.SelectedCustomer = customer;
var bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, customerOid.Value);
Model.Bargeldkassen = bargeldkassen;
}
return RedirectToActionPermanent("Customer");
@@ -147,6 +150,9 @@ namespace BeWoPlanerMobil.Controllers
}
Model.SelectedCustomer = customer;
var bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, selectedCustomerOid);
Model.Bargeldkassen = bargeldkassen;
}
}

View File

@@ -141,7 +141,8 @@ namespace BeWoPlanerMobil.Controllers
Model.SetStartTimeToEndTimeAfterSave = UserSettingsUtils.GetSettingValueAsBool(mandatorSettings, SettingsKeys.SetStartTimeToEndTimeAfterSave);
var userSettings = AbstractModel.UserSettings;
var user = GetUser();
var userSettings = user?.Settings.FirstOrDefault(f => f.Type.Equals(SettingsType.ApplicationSettings))?.Value;
Model.ShowExpiredSupportConcepts = UserSettingsUtils.GetSettingValueAsBool(userSettings, SettingsKeys.ShowExpiredSupportConcepts);
Model.ShowOnlyOwnSupportConcepts = UserSettingsUtils.GetSettingValueAsBool(userSettings, SettingsKeys.ShowOnlyMySupportConcepts);
@@ -305,7 +306,37 @@ namespace BeWoPlanerMobil.Controllers
{
Model.LastSelectedServiceRecordMonth = UserSettingsUtils.GetSettingValueAsDateTime(userSettings, SettingsKeys.LastSelectedServiceRecordMonth) ?? DateTime.Today;
var serviceRecordTimeInterval = LoadServiceRecordTimeIntervalFromSession();
//int zeitraum;
var serviceRecordTimeInterval = UserSettingsUtils.GetSettingValueAsEnum(userSettings, SettingsKeys.LastSelectedServiceRecordTimeInterval, ServiceRecordTimeInterval.LastWeek);
Model.ServiceRecordTimeInterval = serviceRecordTimeInterval;
//switch(serviceRecordTimeInterval)
//{
// case ServiceRecordTimeInterval.LastWeek:
// zeitraum = 7;
// break;
// case ServiceRecordTimeInterval.LastMonth:
// zeitraum = 30;
// break;
// case ServiceRecordTimeInterval.Last3Month:
// zeitraum = 90;
// break;
// case ServiceRecordTimeInterval.All:
// zeitraum = 0;
// break;
// case ServiceRecordTimeInterval.ZeitraumWaehlen:
// zeitraum = -1;
// break;
// case ServiceRecordTimeInterval.XTage:
// zeitraum =
// break;
// default:
// zeitraum = 7;
// break;
//}
//Model.Zeitraum = zeitraum;
if(serviceRecordTimeInterval == ServiceRecordTimeInterval.ZeitraumWaehlen && (Model.SelectedZeitraum?.StartDate is null || Model.SelectedZeitraum.EndDate is null))
{
@@ -315,14 +346,36 @@ namespace BeWoPlanerMobil.Controllers
Model.LastSelectedServiceRecordTimeIntervalDays = UserSettingsUtils.GetSettingValueAsInteger(userSettings, SettingsKeys.LastSelectedServiceRecordTimeIntervalDays);
Model.ServiceRecordTimeInterval = LoadServiceRecordTimeIntervalFromSession();
//Model.ServiceRecordTimeInterval = LoadServiceRecordTimeIntervalFromSession();
if(Model.ServiceRecordTimeInterval == ServiceRecordTimeInterval.Monatsauswahl)
{
Model.SelectedZeitraum = new NullableDateTimeSpan(Model.LastSelectedServiceRecordMonth.Date.GetFirstOfMonth(), Model.LastSelectedServiceRecordMonth.Date.GetLastOfMonth());
}
CalculateSelectedDayCount(Model.LastSelectedServiceRecordTimeIntervalDays, Model.LastSelectedServiceRecordMonth, Model.SelectedZeitraum?.StartDate, Model.SelectedZeitraum?.EndDate);
CalculateSelectedDayCount(Model.LastSelectedServiceRecordTimeIntervalDays, Model.LastSelectedServiceRecordMonth, Model.SelectedZeitraum?.StartDate, Model.SelectedZeitraum?.EndDate, null);
}
[Authorize]
private void UpdateSettings(string key, string value)
{
if(Model is null)
{
return;
}
var loggedInUser = GetUser();
if(loggedInUser?.UserOid is null)
{
return;
}
var userSettings = loggedInUser.Settings;
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, key, value, userSettings);
UserService.UpdateUserSettings(loggedInUser.UserOid.Value, userSettings);
}
[Authorize]
@@ -1857,16 +1910,12 @@ namespace BeWoPlanerMobil.Controllers
Model.ServiceRecordTimeInterval = serviceRecordTimeInterval;
CalculateSelectedDayCount(dayCountNumber, lastSelectedServiceRecordMonth, parsedVon, parsedBis);
SaveServiceRecordTimeIntervalToSession(serviceRecordTimeInterval);
//LoadRecordsToModel();
CalculateSelectedDayCount(dayCountNumber, lastSelectedServiceRecordMonth, parsedVon, parsedBis, serviceRecordTimeInterval);
return RedirectToActionPermanent("Main");
}
private void CalculateSelectedDayCount(int? dayCountNumber, DateTime? lastSelectedServiceRecordMonth, DateTime? von, DateTime? bis)
private void CalculateSelectedDayCount(int? dayCountNumber, DateTime? lastSelectedServiceRecordMonth, DateTime? von, DateTime? bis, ServiceRecordTimeInterval? serviceRecordTimeInterval)
{
if(dayCountNumber is null)
{
@@ -1911,6 +1960,13 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedZeitraum = new NullableDateTimeSpan(von.Value, bis.Value);
break;
}
if(serviceRecordTimeInterval is null)
{
return;
}
UpdateSettings(SettingsKeys.LastSelectedServiceRecordTimeInterval, ((int) serviceRecordTimeInterval.Value).ToString());
}
private void LoadRecordsToModel()

View File

@@ -58,7 +58,7 @@ namespace BeWoPlanerMobil.Controllers
Model.SelectedMonth = Model.SelectedMonth ?? first.Month;
Model.AllEmployees = AbstractModel.HasRightMitarbeiterstundenkontoViewAll
? EmployeeService.GetActiveCompactEmployeesForEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid)
? EmployeeService.GetAllActiveEmployeesCompact()
: new List<CompactEmployeeDC> { MobileSessionFacade.LoggedInCompactEmployee };
// Alle Teams darf man nur sehen, wenn man das Recht "HasRightMitarbeiterstundenkontoViewAll" hat.
@@ -217,6 +217,7 @@ namespace BeWoPlanerMobil.Controllers
long? employeeOid = null;
List<long> teamOids = null;
long? oid = null;
if(long.TryParse(splitParameters[4], out var oOid))
{
oid = oOid;
@@ -224,10 +225,6 @@ namespace BeWoPlanerMobil.Controllers
var ansicht = int.Parse(splitParameters[5]);
var siteOfOrigin = GetSiteOfOrigin();
//var url = $"{siteOfOrigin}/ReportView.aspx?type={Utils.EnumName(ReportTypes.EmployeeHourReport)}";
if(isEmployee)
{
employeeOid = oid;
@@ -246,11 +243,6 @@ namespace BeWoPlanerMobil.Controllers
{
employeeOid = Model.Employee.EmployeeOid;
}
if(employeeOid > 0)
{
//url += $"&eoid={employeeOid}";
}
}
else
{
@@ -268,41 +260,16 @@ namespace BeWoPlanerMobil.Controllers
teamOid = oid;
}
//url += "&toid=";
if(teamOid > 0 && !all)
{
//url += $"{teamOid}";
teamOids.Add(teamOid.Value);
}
else if(all)
{
// url += string.Join(",", Model.AllTeams.Select(team => team.TeamOid));
teamOids.AddRange(Model.AllTeams.Select(team => team.TeamOid));
}
}
//url += $"&m={month}&y={year}";
//if(ansicht != 0)
//{
// url += $"&ansicht={ansicht}";
//}
//var tempToken = DownloadService.CreateTemporaryToken(url, true);
//url += $"&token={tempToken}";
//var webClient = new WebClient();
//var data = webClient.DownloadData(url);
//var report = new XtraReport();
//using(var memoryStream = new MemoryStream(data))
//{
// report.PrintingSystem.LoadDocument(memoryStream);
//}
var start = new DateTime(year, month, 1);
var end = start.AddMonths(1);
var report = Model.ReportCreator.CreateEmployeeHourReport(employeeOid, teamOids, start, end, ansicht);

View File

@@ -189,5 +189,17 @@ namespace BeWoPlanerMobil.Models
public static bool HasRightToViewDiagnosen => CheckRight(UserRightType.Customer_ViewDiagnosis);
public static bool HasRightToProvideSingleSignature => CheckRight(UserRightType.Signature_ProvideSingleSignature);
public static bool HasRightToViewOwnCustomersBargeldkassen => CheckRight(UserRightType.BargeldverwaltungNurEigeneAnsehen);
public static bool HasRightToViewAllCustomersBargeldkassen => CheckRight(UserRightType.BargeldverwaltungAnsehen);
public static bool HasRightToDeleteCustomerBargeldkassen => CheckRight(UserRightType.BargeldverwaltungLoeschen);
public static bool HasRightToCreateCustomerBargeldkassen => CheckRight(UserRightType.BargeldverwaltungAnlegen);
public static bool HasRightToEditCustomerBargeldkassen => CheckRight(UserRightType.BargeldverwaltungBearbeiten);
public static bool HasRightToViewCustomerAbsenceTimes => CheckRight(UserRightType.Customer_ViewAbsenceTimes);
}
}

View File

@@ -132,43 +132,6 @@ namespace BeWoPlanerMobil.Models
public string ReportName { get; set; }
public double ReportRatio
{
get
{
if(Report is null)
{
return 0d;
}
var width = 1f;
var height = 1f;
foreach(PSPage page in Report.Pages)
{
var size = page.Size;
if(size.Width > width)
{
width = size.Width;
}
if(size.Height > height)
{
height = size.Height;
}
}
// US Letter: 0,77 bzw. 1,29
// DIN A4: 0,71 bzw. 1,33
var ratio = width < height ? width / height : height / width;
#if DEBUG
var landscape = width > height;
ratio = landscape ? 210f / 279f : 297f / 210f;
#endif
return Math.Round(ratio, 2);
}
}
public List<BargeldkassenDC> Bargeldkassen { get; set; }
}
}

View File

@@ -259,16 +259,22 @@ function cardHeaderButtonClick(cardBodyId) {
}
}
// ToDo: Hier am 21.08.2023 weitermachen!
function toggleChevron(chevronId, cardBodyId) {
try {
var isDown = $(cardBodyId).css("display") !== "none";
logInfo3("toggleChevron: is chevron down. " + isDown);
var chevron = $(chevronId);
logInfo3("toggleChevron: chevron exists: " + (chevron.length > 0));
var iconToRemove = isDown ? "fa-chevron-down" : "fa-chevron-up";
logInfo3("toggleChevron: icon to remove: " + iconToRemove);
var iconToAdd = isDown ? "fa-chevron-up" : "fa-chevron-down";
logInfo3("toggleChevron: icon to add: " + iconToAdd);
chevron.removeClass(iconToRemove);
chevron.addClass(iconToAdd);
logInfo3(`toggleChevron: removed ${iconToRemove} and added ${iconToAdd}`);
} catch (error) {
showErrorPopup(error);
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.ServiceModel;
@@ -35,6 +36,8 @@ namespace BeWoPlanerMobil.Service
{
try
{
Debug.WriteLine(">>>>Retrieving Session!");
Monitor.Enter(_Lock);
if(!SessionFactories.ContainsKey(MobileSessionFacade.Tenant))
@@ -57,7 +60,9 @@ namespace BeWoPlanerMobil.Service
return null;
}
SessionFactories[MobileSessionFacade.Tenant] = new Configuration().Configure(serverPath).SetInterceptor(new MobileUpdInsInterceptor()).BuildSessionFactory();
var config = new Configuration().Configure(serverPath).SetInterceptor(new MobileUpdInsInterceptor()).BuildSessionFactory();
SessionFactories[MobileSessionFacade.Tenant] = config;
}
return SessionFactories[MobileSessionFacade.Tenant];
@@ -84,7 +89,7 @@ namespace BeWoPlanerMobil.Service
if(ShouldConfigureHibernateSession(context))
{
// TEST FOR DEVEXPRESS. PROBLEMS WITH THIS MODULE WHEN USING AJAX!
if(HttpContext.Current.Session == null)
if(HttpContext.Current.Session is null)
{
return;
}
@@ -105,13 +110,18 @@ namespace BeWoPlanerMobil.Service
};
context.EndRequest += (s, e) =>
{
if(HttpContext.Current.Items["hibernateSession"] is null)
{
if(HttpContext.Current.Items["hibernateSession"] != null)
{
((ISession)HttpContext.Current.Items["hibernateSession"]).Close();
HttpContext.Current.Items.Remove("hibernateSession");
}
};
Debug.WriteLine("+++>Ending Request; Session is null!");
return;
}
((ISession)HttpContext.Current.Items["hibernateSession"]).Close();
HttpContext.Current.Items.Remove("hibernateSession");
Debug.WriteLine("####Ending Request; Closing and removing Session!");
};
}
private static bool ShouldConfigureHibernateSession(HttpApplication context)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
<p>Hier wird f&uuml;r Sie gebaut!</p>

View File

@@ -1,7 +1,6 @@
@using BeWoPlanerMobil.Controllers
@using BeWoPlanerMobil.Models
@using BeWoPlanerMobil.Service
@using BeWoPlanerMobil.Util
<!DOCTYPE html>
<html>
<head>
@@ -45,34 +44,34 @@
<link rel="stylesheet" href="@Url.Content("~/Content/style.css")" />
<link rel="stylesheet" href="@Url.Content("~/Content/tempusdominus-bootstrap-4.min.css")" />
<script src="@Url.Content("~/Scripts/utils/dateUtils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/dateUtils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/moment.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/locale/de.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/tempusdominus-boostrap-4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/mobileUtils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/mobileUtils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/group-booking.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/view-scripts/main.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/signature.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/group-booking.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/view-scripts/main.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/signature.js")" type="text/javascript"></script>
<link rel="stylesheet" href="@Url.Content("~/node_modules/bootstrap4-fullscreen-modal/dist/bootstrap4-modal-fullscreen.min.css")" />
<script src="@Url.Content("~/Scripts/support-concept-statistics.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/view-scripts/customer.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/view-scripts/scheduler.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/support-concept-statistics.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/view-scripts/customer.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/view-scripts/scheduler.js")" type="text/javascript"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/view-scripts/report.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/ownSoft-Scripts/view-scripts/report.js")"></script>
<script src="@Url.Content("~/node_modules/signature_pad/dist/signature_pad.umd.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/trimCanvas.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/resources-list-utils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/list-utils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/service-record-time-calc.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/js-helper.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/logging.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/utils/password-security.js")"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/trimCanvas.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/resources-list-utils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/list-utils.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/service-record-time-calc.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/js-helper.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/logging.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/ownSoft-Scripts/utils/password-security.js")"></script>
<script>
window.addEventListener("error", (event) => {
@@ -472,7 +471,7 @@
</div>
<div class="modal-footer">
<div class="clearfix w-100">
<button class="btn btn-primary float-left" type="button" onclick="copyErrorToClipboard()">In die Zwischenablage kopieren</button>
<button class="btn btn-primary float-left" type="button" onclick="copyErrorToClipboard()">Text kopieren</button>
<button class="btn btn-primary float-right" type="button" data-dismiss="modal">OK</button>
</div>
</div>

View File

@@ -25,7 +25,7 @@
<property column="ProbationPeriod" type="Int32" name="ProbationPeriod" />
<property column="ProbationPeriod2" type="Decimal" name="ProbationPeriod2" />
<property column="WeeklyDays" type="Int32" name="WeeklyDays" />
<many-to-one name="EmploymentType" column="EmploymentTypeOid" class="BeWo.Data.Entities.EmploymentType,BeWo.Data" cascade="none" />
<many-to-one name="EmploymentType" lazy="false" column="EmploymentTypeOid" class="BeWo.Data.Entities.EmploymentType,BeWo.Data" cascade="none" />
<many-to-one name="HourlyRateCostRateValue" column="HourlyRateCostRateValueOid" class="BeWo.Data.Entities.CostRatePeriod,BeWo.Data" cascade="none" />
<many-to-one name="ContractTypeValueListEntry" column="ContractTypeValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry,BeWo.Data" cascade="none" />
<many-to-one name="QualifikationsBedarfValueListEntry" column="QualifikationsBedarfValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry,BeWo.Data" cascade="none" />

View File

@@ -50,7 +50,7 @@ namespace BeWo.Report
}
}
Type[] lAllReportTypes = null;
var fullPath = Path.GetFullPath(ReportPath);
if (Tenant != null && File.Exists(ReportPath))
{
lAllReportTypes = Assembly.LoadFrom(ReportPath).GetTypes();
@@ -817,9 +817,8 @@ namespace BeWo.Report
}
}
var x =
MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
report.SetReportDataSource(x);
var reportObject = MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
report.SetReportDataSource(reportObject);
return report as XtraReport;
}

View File

@@ -61,7 +61,7 @@ namespace BeWo.Report.ReportObjects
if (employeeOid.HasValue)
{
var emp = DAOFactory.GenericDAO.GetByID<Employee>(employeeOid.Value);
employees = new List<Employee> {emp};
employees = new List<Employee> {emp};
}
else if (teamOids != null)
{

View File

@@ -4,7 +4,6 @@ using System.Linq;
using AWOMuensterlandRecklinghausen.Service;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Service.Plugins;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
@@ -230,10 +229,12 @@ namespace AWOMuensterlandRecklinghausen
protected override AbsenceTimeHours GetAbwesenheitenDurchServiceRecords(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, Contract c, IList<ServiceRecord> groupFilteredRecords,
DateTime berichtsAnfang, DateTime berichtsEnde)
{
var test = empDetail.EmploymentType?.Name;
AbsenceTimeHours ath = new AbsenceTimeHours();
if (c != null)
{
if (c.EmploymentType.Name.StartsWith("MA ohne"))
if (c.EmploymentType?.Name.StartsWith("MA ohne") ?? false)
{
foreach (var item in groupFilteredRecords)
{
@@ -253,7 +254,7 @@ namespace AWOMuensterlandRecklinghausen
}
}
}
}
}
return ath;
}

View File

@@ -1,15 +1,14 @@
using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace AWOMuensterlandRecklinghausen
{
[IDSpecificClass(Identifier = "Mitarbeiterstundenkonto")]
public partial class Mitarbeiterstundenkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
public partial class Mitarbeiterstundenkonto : XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
{
public Mitarbeiterstundenkonto()
{
InitializeComponent();
@@ -20,8 +19,25 @@ namespace AWOMuensterlandRecklinghausen
var msb = new CustomMitarbeiterstundenkontoBerechnung();
msb.CreateReport(pRO);
this.bindingSource1.DataSource = pRO;
bindingSource1.DataSource = pRO;
}
private void BeforePrintTest(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if(!(DetailReport.GetCurrentRow() is MitarbeiterstundenkontoRO.EmployeeDetail employeeDetail))
{
e.Cancel = true;
}
else
{
if(GetCurrentRow() is MitarbeiterstundenkontoRO reportObject)
{
var contract = employeeDetail.Employee.GetValidContractForDate(reportObject.ReportStartDate);
var contractEmploymentTypeName = contract.EmploymentType?.Name;
}
var employmentTypeName = employeeDetail.EmploymentType?.Name;
}
}
}
}

View File

@@ -32,18 +32,52 @@ namespace AWOMuensterlandRecklinghausen
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSIstGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSPlusMinusGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamtGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellRelationGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
@@ -56,44 +90,10 @@ namespace AWOMuensterlandRecklinghausen
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -110,8 +110,145 @@ namespace AWOMuensterlandRecklinghausen
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.Scripts.OnBeforePrint = "Detail1_BeforePrint";
this.Detail1.StylePriority.UseFont = false;
//
// xrTableDetail
//
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableDetail.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableDetail.Name = "xrTableDetail";
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowDetail});
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1005F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
this.xrTableDetail.StylePriority.UseTextAlignment = false;
this.xrTableDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRowDetail
//
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell19,
this.xrTableCell20,
this.xrTableCell28,
this.xrTableCell16,
this.xrTableCell27,
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell21,
this.xrTableCell25,
this.xrTableCell24,
this.xrTableCell26});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.15329125338142471D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollMax", "{0:0.00}")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.Weight = 0.081154151689479551D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UrlaubUndKrankheit", "{0:0.00}")});
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Text = "xrTableCell20";
this.xrTableCell20.Weight = 0.094679933071566441D;
//
// xrTableCell28
//
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollOhneUrlaubKrankheit", "{0:0.00}")});
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.Weight = 0.0721370604147881D;
//
// xrTableCell16
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsSoll", "{0:0.00}")});
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Text = "xrTableCell16";
this.xrTableCell16.Weight = 0.063119927862939587D;
//
// xrTableCell27
//
this.xrTableCell27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsIst", "{0:0.00}")});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Text = "xrTableCell27";
this.xrTableCell27.Weight = 0.063119927862939615D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsDiff", "{0:0.00}")});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.Weight = 0.063119927862939587D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenGesamtIst", "{0:0.00}")});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Text = "xrTableCell23";
this.xrTableCell23.Weight = 0.063119927862939559D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.RelationFlsZuMittelbar", "{0:0.00}")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.Text = "xrTableCell21";
this.xrTableCell21.Weight = 0.063119927862939615D;
//
// xrTableCell25
//
this.xrTableCell25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Ueberstunden", "{0:0.00}")});
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.Text = "xrTableCell25";
this.xrTableCell25.Weight = 0.063119927862939587D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UeberstundenVormonat", "{0:0.00}")});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.Weight = 0.0631199278629396D;
//
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UeberstundenGesamt", "{0:0.00}")});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.Weight = 0.063119927862939573D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -131,6 +268,123 @@ namespace AWOMuensterlandRecklinghausen
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTableHeader
//
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableHeader.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowHeader});
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1005F, 70F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
this.xrTableHeader.StylePriority.UseTextAlignment = false;
this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRowHeader
//
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell4,
this.xrTableCell2,
this.xrTableCell9,
this.xrTableCell8,
this.xrTableCell10,
this.xrTableCell7,
this.xrTableCell11,
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 2.8D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Name";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.15329125016467182D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Text = "Reguläre SOLL Stunden";
this.xrTableCell4.Weight = 0.081154192324637608D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "Fehlzeiten Urlaub Krankheit(Tage)";
this.xrTableCell2.Weight = 0.094679896646570338D;
//
// xrTableCell9
//
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Text = "Tatsächliche SOLL Stunden";
this.xrTableCell9.Weight = 0.072137063712635591D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Text = "FLS Stunden SOLL";
this.xrTableCell8.Weight = 0.063119927721024038D;
//
// xrTableCell10
//
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBackColor = false;
this.xrTableCell10.Text = "FLS IST lfd. Monat";
this.xrTableCell10.Weight = 0.063119927721024D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "FLS Plus/Minus lfd. Monat";
this.xrTableCell7.Weight = 0.06311992757910842D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBackColor = false;
this.xrTableCell11.Text = "Gesamt-\r\nstunden lfd. Monat";
this.xrTableCell11.Weight = 0.063119927721024011D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)";
this.xrTableCell12.Weight = 0.063119929511863376D;
//
// xrTableCell13
//
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Text = "Überstd. neu";
this.xrTableCell13.Weight = 0.063119928687401447D;
//
// xrTableCell14
//
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBackColor = false;
this.xrTableCell14.Text = "Überstd. Vormonat";
this.xrTableCell14.Weight = 0.063119928275170531D;
//
// xrTableCell15
//
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Text = "Überstd. Gesamt";
this.xrTableCell15.Weight = 0.0631199213956443D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -139,6 +393,8 @@ namespace AWOMuensterlandRecklinghausen
this.GroupFooter1.HeightF = 48.95833F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
// ToDo: Wieder entfernen!
this.GroupFooter1.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.BeforePrintTest);
//
// xrTable1
//
@@ -184,6 +440,16 @@ namespace AWOMuensterlandRecklinghausen
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell35.Weight = 0.15329126714047708D;
//
// xrTableCell37
//
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Weight = 0.081154151689479551D;
//
// xrTableCell39
//
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.Weight = 0.094679919312514085D;
//
// cellSollGesamt
//
this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -232,6 +498,25 @@ namespace AWOMuensterlandRecklinghausen
this.cellRelationGesamt.Text = "cellRelationGesamt";
this.cellRelationGesamt.Weight = 0.0631199278629396D;
//
// xrTableCell47
//
this.xrTableCell47.Name = "xrTableCell47";
this.xrTableCell47.Weight = 0.063119927862939587D;
//
// xrTableCell48
//
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.Weight = 0.063119927862939587D;
//
// xrTableCell51
//
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -337,288 +622,6 @@ namespace AWOMuensterlandRecklinghausen
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// xrTableCell37
//
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Weight = 0.081154151689479551D;
//
// xrTableCell39
//
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.Weight = 0.094679919312514085D;
//
// xrTableCell48
//
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.Weight = 0.063119927862939587D;
//
// xrTableCell51
//
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
//
// xrTableCell47
//
this.xrTableCell47.Name = "xrTableCell47";
this.xrTableCell47.Weight = 0.063119927862939587D;
//
// xrTableCell15
//
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Text = "Überstd. Gesamt";
this.xrTableCell15.Weight = 0.0631199213956443D;
//
// xrTableCell14
//
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBackColor = false;
this.xrTableCell14.Text = "Überstd. Vormonat";
this.xrTableCell14.Weight = 0.063119928275170531D;
//
// xrTableCell13
//
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Text = "Überstd. neu";
this.xrTableCell13.Weight = 0.063119928687401447D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)";
this.xrTableCell12.Weight = 0.063119929511863376D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBackColor = false;
this.xrTableCell11.Text = "Gesamt-\r\nstunden lfd. Monat";
this.xrTableCell11.Weight = 0.063119927721024011D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "FLS Plus/Minus lfd. Monat";
this.xrTableCell7.Weight = 0.06311992757910842D;
//
// xrTableCell10
//
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBackColor = false;
this.xrTableCell10.Text = "FLS IST lfd. Monat";
this.xrTableCell10.Weight = 0.063119927721024D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Text = "FLS Stunden SOLL";
this.xrTableCell8.Weight = 0.063119927721024038D;
//
// xrTableCell9
//
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Text = "Tatsächliche SOLL Stunden";
this.xrTableCell9.Weight = 0.072137063712635591D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "Fehlzeiten Urlaub Krankheit(Tage)";
this.xrTableCell2.Weight = 0.094679896646570338D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Text = "Reguläre SOLL Stunden";
this.xrTableCell4.Weight = 0.081154192324637608D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Name";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.15329125016467182D;
//
// xrTableRowHeader
//
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell4,
this.xrTableCell2,
this.xrTableCell9,
this.xrTableCell8,
this.xrTableCell10,
this.xrTableCell7,
this.xrTableCell11,
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 2.8D;
//
// xrTableHeader
//
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableHeader.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowHeader});
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1005F, 70F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
this.xrTableHeader.StylePriority.UseTextAlignment = false;
this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UeberstundenGesamt", "{0:0.00}")});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.Weight = 0.063119927862939573D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UeberstundenVormonat", "{0:0.00}")});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.Weight = 0.0631199278629396D;
//
// xrTableCell25
//
this.xrTableCell25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Ueberstunden", "{0:0.00}")});
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.Text = "xrTableCell25";
this.xrTableCell25.Weight = 0.063119927862939587D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.RelationFlsZuMittelbar", "{0:0.00}")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.Text = "xrTableCell21";
this.xrTableCell21.Weight = 0.063119927862939615D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenGesamtIst", "{0:0.00}")});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Text = "xrTableCell23";
this.xrTableCell23.Weight = 0.063119927862939559D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsDiff", "{0:0.00}")});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.Weight = 0.063119927862939587D;
//
// xrTableCell27
//
this.xrTableCell27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsIst", "{0:0.00}")});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Text = "xrTableCell27";
this.xrTableCell27.Weight = 0.063119927862939615D;
//
// xrTableCell16
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FlsSoll", "{0:0.00}")});
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Text = "xrTableCell16";
this.xrTableCell16.Weight = 0.063119927862939587D;
//
// xrTableCell28
//
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollOhneUrlaubKrankheit", "{0:0.00}")});
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.Weight = 0.0721370604147881D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.UrlaubUndKrankheit", "{0:0.00}")});
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Text = "xrTableCell20";
this.xrTableCell20.Weight = 0.094679933071566441D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.StundenSollMax", "{0:0.00}")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.Weight = 0.081154151689479551D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.15329125338142471D;
//
// xrTableRowDetail
//
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell19,
this.xrTableCell20,
this.xrTableCell28,
this.xrTableCell16,
this.xrTableCell27,
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell21,
this.xrTableCell25,
this.xrTableCell24,
this.xrTableCell26});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
// xrTableDetail
//
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableDetail.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableDetail.Name = "xrTableDetail";
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowDetail});
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1005F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
this.xrTableDetail.StylePriority.UseTextAlignment = false;
this.xrTableDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// Mitarbeiterstundenkonto
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -642,10 +645,10 @@ namespace AWOMuensterlandRecklinghausen
this.PageInfo,
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
@@ -12,10 +10,8 @@ using DevExpress.XtraReports.UI;
namespace BetreuWoReports
{
[IDSpecificClass(Identifier = "Mitarbeiterstundenkonto")]
public partial class Mitarbeiterstundenkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
public partial class Mitarbeiterstundenkonto : XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
{
public Mitarbeiterstundenkonto()
{
InitializeComponent();
@@ -23,13 +19,9 @@ namespace BetreuWoReports
public void SetReportDataSource(MitarbeiterstundenkontoRO pRO)
{
//cellMonat.Text = String.Format("{0:MM} / {0:yyyy}", pRO.ReportStartDate);
var msb = new CustomMitarbeiterstundenkontoBerechnung();
msb.CreateReport(pRO);
foreach (var ed in pRO.EmployeeDetailList)
{
if (ed.Days != null)
@@ -42,35 +34,31 @@ namespace BetreuWoReports
if (sr.Customer != null)
{
dayDetail.Custom1 = String.Format("{0}, {1}", sr.Customer.Person.LastName,
sr.Customer.Person.FirstName);
dayDetail.Custom1 = $"{sr.Customer.Person.LastName}, {sr.Customer.Person.FirstName}";
}
if (String.IsNullOrEmpty(dayDetail.Custom2) && sr.ServiceDescription != null)
if (string.IsNullOrEmpty(dayDetail.Custom2) && sr.ServiceDescription != null)
{
dayDetail.Custom2 = sr.ServiceDescription.Name;
}
}
if (dayDetail.StartDateTime1.HasValue || dayDetail.EndDateTime1.HasValue)
{
dayDetail.Custom3 = String.Format("{0:HH:mm}-{1:HH:mm}", dayDetail.StartDateTime1, dayDetail.EndDateTime1);
dayDetail.Custom3 = $"{dayDetail.StartDateTime1:HH:mm}-{dayDetail.EndDateTime1:HH:mm}";
}
}
}
}
this.bindingSource1.DataSource = pRO;
bindingSource1.DataSource = pRO;
}
private void xrLabel1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
var emp = DetailReport.GetCurrentRow() as MitarbeiterstundenkontoRO.EmployeeDetail;
XRLabel lbl = sender as XRLabel;
if (lbl != null)
if (sender is XRLabel lbl)
{
StringBuilder sb = new StringBuilder();
if (emp != null)
@@ -93,54 +81,56 @@ namespace BetreuWoReports
private void FooterGfb_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
var ro = this.GetCurrentRow() as MitarbeiterstundenkontoRO;
var emp = DetailReport.GetCurrentRow() as MitarbeiterstundenkontoRO.EmployeeDetail;
var footer = sender as GroupFooterBand;
if (ro != null && emp != null && footer != null)
if(GetCurrentRow() is MitarbeiterstundenkontoRO reportObject && DetailReport.GetCurrentRow() is MitarbeiterstundenkontoRO.EmployeeDetail employeeDetail)
{
if (!IstGfb(ro, emp))
if(IstGfb(reportObject, employeeDetail))
{
e.Cancel = true;
}
//footer.Visible = IstGfb(ro, emp);
//footer.BackColor = IstGfb(ro, emp) ? Color.Aqua : Color.IndianRed;
}
}
//var ro = this.GetCurrentRow() as MitarbeiterstundenkontoRO;
// var emp = DetailReport.GetCurrentRow() as MitarbeiterstundenkontoRO.EmployeeDetail;
// var footer = sender as GroupFooterBand;
// if (ro != null && emp != null && footer != null)
// {
// if (!IstGfb(ro, emp))
// {
// e.Cancel = true;
// }
// }
}
private void FooterVzTz_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
var ro = this.GetCurrentRow() as MitarbeiterstundenkontoRO;
var emp = DetailReport.GetCurrentRow() as MitarbeiterstundenkontoRO.EmployeeDetail;
var footer = sender as GroupFooterBand;
if (ro != null && emp != null && footer != null)
{
if (IstGfb(ro, emp))
{
e.Cancel = true;
}
//footer.Visible = !IstGfb(ro, emp);
//footer.BackColor = IstGfb(ro, emp) ? Color.IndianRed : Color.Aqua;
if(GetCurrentRow() is MitarbeiterstundenkontoRO reportObject && DetailReport.GetCurrentRow() is MitarbeiterstundenkontoRO.EmployeeDetail employeeDetail)
{
if(IstGfb(reportObject, employeeDetail))
{
e.Cancel = true;
}
}
//var ro = this.GetCurrentRow() as MitarbeiterstundenkontoRO;
//var emp = DetailReport.GetCurrentRow() as MitarbeiterstundenkontoRO.EmployeeDetail;
//var footer = sender as GroupFooterBand;
//if (ro != null && emp != null && footer != null)
//{
// if (IstGfb(ro, emp))
// {
// e.Cancel = true;
// }
// }
}
private bool IstGfb(MitarbeiterstundenkontoRO ro, MitarbeiterstundenkontoRO.EmployeeDetail emp)
private static bool IstGfb(MitarbeiterstundenkontoRO reportObject, MitarbeiterstundenkontoRO.EmployeeDetail employeeDetail)
{
var c = emp.Employee.GetValidContractForDate(ro.ReportStartDate);
var contract = employeeDetail.Employee.GetValidContractForDate(reportObject.ReportStartDate);
if (c != null)
{
if (c.EmploymentType != null && c.EmploymentType.Name.ToLower().Contains("gfb"))
{
return true;
}
}
return false;
}
return contract?.EmploymentType != null && contract.EmploymentType.Name.ToLower().Contains("gfb");
}
}
}

View File

@@ -82,7 +82,7 @@ namespace BeWo.Service.Plugins
//t = "4867997795"; // ADiK Kleve
//t = "3184859776"; // Sergej Becker
//t = "7752610643"; // BWK Gbr
//t = "3785623125"; // Betreuwo
t = "3785623125"; // Betreuwo
//t = "7130228334"; // LH Borken
//t = "4209820830"; // VKM Hamm
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
@@ -344,7 +344,7 @@ namespace BeWo.Service.Plugins
//t = "6971328056"; // SKM Krefeld
//t = "4199238586"; // MeZ Menden;
//t = "3226307161"; // Roman Roger Puth
//t = "3522103738"; // AWO Münsterland-Recklinghausen
//todo t = "3522103738"; // AWO Münsterland-Recklinghausen
//t = "5592509446"; // Kontakt Verein für psychosoziale Hilfen e.V
//t = "5344902949"; // SHK Service GmbH SBD
//t = "1422963536"; // Malteser-Johanniter-Johanneshaus gGmbH
@@ -371,15 +371,27 @@ namespace BeWo.Service.Plugins
public static String CustomerPluginPath()
{
var path = ConfigurationManager.AppSettings.Get("PluginPath");
if (path != null)
var pluginPath = ConfigurationManager.AppSettings.Get("PluginPath");
#if DEBUG
if(!(pluginPath is null))
{
var alt = Path.Combine(pluginPath, Tenant + "_Reports.dll");
pluginPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, alt);
return pluginPath;
}
#endif
if (pluginPath != null)
{
return Path.Combine(path, Tenant + "_reports.dll");
return Path.Combine(pluginPath, Tenant + "_Reports.dll");
}
#if DEBUG
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + Tenant + "_reports.dll");
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\" + Tenant + "_Reports.dll");
#else
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + Tenant + "_reports.dll");
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Customer\" + Tenant + "_Reports.dll");
#endif
}

View File

@@ -570,7 +570,10 @@ namespace BS.Shared
Signature_ProvideSingleSignature = 60000,
Signature_ProvideMonthlySignature = 60001,
Signature_ProvideMonthlySignatureByProxy = 60002
Signature_ProvideMonthlySignatureByProxy = 60002,
Customer_ViewAbsenceTimes = 22222,
Customer_ViewBetreuung = 22223
}
public enum PersonType

View File

@@ -718,6 +718,12 @@ namespace BS.Shared.Core
},
{
UserRightType.Signature_ProvideMonthlySignatureByProxy, Translator.Translate($"{Translator.Translate("MitarbeiterPlural")}unterschriften für den Quittierungsbeleg stellvertretend leisten (monatlich)")
},
{
UserRightType.Customer_ViewAbsenceTimes, Translator.Translate("Klienten") + " Abwesenheiten ansehen"
},
{
UserRightType.Customer_ViewBetreuung, Translator.Translate("Klienten") + " Betreuung ansehen"
}
};
#endregion

View File

@@ -129,5 +129,24 @@ namespace BS.Shared.Core
return null;
}
/// <summary>
/// Konvertiert einen Settingswert in einen Enum. Der Settings-Value ist ein String, der einen Integer-Wert darstellt.
/// </summary>
/// <typeparam name="T">Enum in den konvertiert werden soll</typeparam>
/// <param name="settings">User- oder MandatorSettings</param>
/// <param name="key">Key des Wertes</param>
/// <param name="defaultResult">Standardwert, falls die Konversion fehlschlägt</param>
/// <returns></returns>
public static T GetSettingValueAsEnum<T>(string settings, string key, T defaultResult) where T : struct, Enum
{
var stringValue = GetSettingValue(settings, key);
var didParse = Enum.TryParse(stringValue, out T result);
var isDefined = Enum.IsDefined(typeof(T), result);
return didParse && isDefined ? result : defaultResult;
}
}
}