Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2025-11-07 12:58:02 +01:00
22 changed files with 3861 additions and 3629 deletions

View File

@@ -17,6 +17,7 @@ using DevExpress.XtraScheduler.Compatibility;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Net;
@@ -344,6 +345,8 @@ namespace BeWoPlanerMobil.Controllers
Model.IsServiceRecordNoticeMandatory = settingsValue is null || !settingsValue.Equals("0");
Model.IsServiceRecordGoalMandatory = UserSettingsUtils.GetSettingValueAsBool(Model.Mandator.Settings, SettingsKeys.IsServiceRecordGoalMandatory);
//User Settings
var user = LoggedInUser;
var userSettings = user?.Settings.FirstOrDefault(f => f.Type.Equals(SettingsType.ApplicationSettings))?.Value;
@@ -2985,6 +2988,8 @@ namespace BeWoPlanerMobil.Controllers
break;
}
Debug.WriteLine($"---->ValidationResult: {vr.ResultType}");
switch(vr.ResultType)
{
case ServiceRecordOverlapping:
@@ -3093,6 +3098,9 @@ namespace BeWoPlanerMobil.Controllers
exitLoop = false;
newResult.KannTrotzdemGespeichertWerden = true;
break;
default:
Debug.WriteLine($"---->ValidationResult: {vr.ResultType}");
break;
}
}
}

View File

@@ -268,6 +268,6 @@ namespace BeWoPlanerMobil.Models
public bool ShowBetrag { get; set; }
public bool IsServiceRecordGoalMandatory { get; set; }
}
}

View File

@@ -32,12 +32,19 @@
let start = new Date(startDateValue);
let end = hasEndDate ? new Date(endDateValue) : start;
// Von und Bis haben gültige Werte und es wurde nicht durch den Dauereinheitsbutton ausgelöst
if(true === isStartTimeValid && true === isEndTimeValid && false === isFormatChange) {
start = combineDateAndTime(start, startTimeValue);
end = combineDateAndTime(end, endTimeValue);
let dauer = (end.getTime() - start.getTime()) / 60000;
// Trägt man einen Termin ein, der
if(dauer < 0) {
end.setDate(end.getDate() + 1);
dauer = (end.getTime() - start.getTime()) / 60000;
}
if(duration > 0 && start >= end) {
dauer = (false === isInMin ? duration * 60 : duration);
@@ -130,6 +137,8 @@ function formatDuration(isInMin, durationAsNumber) {
function calcTimeWithDuration(timeAsString, timeElement, start, duration, isFormatChange, isInMin) {
start = combineDateAndTime(start, timeAsString);
logInfo3(`calcTimeWithDuration(timeAsString: ${timeAsString}, timeElement: ${timeElement}, start: ${start}, duration: ${duration}, isFormatChange: ${isFormatChange}, isInMin: ${isInMin})`);
const x = new Date(start.getTime() + duration * 60000);
const timeString = `${x.getHours().toString().padStart(2, "0")}:${x.getMinutes().toString().padStart(2, "0")}`;
timeElement.val(timeString);
@@ -137,7 +146,6 @@ function calcTimeWithDuration(timeAsString, timeElement, start, duration, isForm
}
function beiDaueraenderung(idPrefix) {
logInfo2(`${idPrefix}-Dauer geändert`);
const hoursMinutesDropdown = $(`#${idPrefix}-hours-minutes-dropdown-btn`);
const startTimeInput = $(`#${idPrefix}-start-time-input`);
@@ -151,8 +159,8 @@ function beiDaueraenderung(idPrefix) {
const isInMin = (false === hasMinutesHoursDropdown && false === durationLabel.text().includes("(h)")) ||
hasMinutesHoursDropdown === true && hoursMinutesBtn.text().replaceAll(/\s/g, "") === "Minuten";
const startTimeCondition = startTimeInput.val().length > 0;
const endTimeCondition = endTimeInput.val().length > 0;
const isStartTimeValid = startTimeInput.val().length > 0;
const isEndTimeValid = endTimeInput.val().length > 0;
var dauerString = durationInput.val();
@@ -163,9 +171,9 @@ function beiDaueraenderung(idPrefix) {
let duration = parseFloat(dauerString.replace(",", "."));
const durationCondition = false === isNaN(duration);
const isDurationValid = false === isNaN(duration);
if((false === startTimeCondition && false === endTimeCondition) || false === durationCondition) {
if((false === isStartTimeValid && false === isEndTimeValid) || false === isDurationValid) {
return;
}
@@ -185,7 +193,7 @@ function beiDaueraenderung(idPrefix) {
end = new Date(endDateInput.val());
}
if(true === startTimeCondition) {
if(true === isStartTimeValid) {
const startDateAndTimeCombined = combineDateAndTime(start, startTimeInput.val());
end = new Date(startDateAndTimeCombined.getTime() + duration * 60000);

View File

@@ -196,12 +196,29 @@ function validateForm(form, prefix) {
prefix = "";
}
var errorMessage = "";
var isNoticeMandatory = window.getIsDocumentationMandatory();
var numberOfNoticeTextareas = window.getNumberOfDokutypes();
let errorMessage = "";
const isNoticeMandatory = window.getIsDocumentationMandatory();
const isServiceRecordGoalMandatory = window.getIsServiceRecordGoalMandatory();
const numberOfNoticeTextareas = window.getNumberOfDokutypes();
var isValid = true;
if(isServiceRecordGoalMandatory) {
const selectedGoalOids = window.getCheckedGoalsAsArray();
if(selectedGoalOids.length === 0) {
hideSpinner();
showAlertMessageBox("Fehler",
"Sie müssen mindestens ein Ziel auswählen, bevor Sie speichern können.",
function() {
$("#messagePopup .modal-body").html();
},
true);
return;
}
}
if(isNoticeMandatory) {
if(numberOfNoticeTextareas === 0) {
var doku = $(`#${prefix}-doku-textarea-5`).val();
@@ -255,10 +272,8 @@ function validateForm(form, prefix) {
if(startAndEndDates !== null && isValid) {
var [start, end] = startAndEndDates;
if(end.getTime() < start.getTime()) {
showAlertMessageBox("Fehler", "Der Start muss vor dem Ende liegen!", null, false);
hideSpinner();
return;
if(end.getTime() < start.getTime() || end.getTime() === start.getTime()) {
end.setDate(end.getDate() + 1);
}
var [doku1, doku2, doku3, doku4, doku5] = getDokuTexte(prefix);
@@ -384,16 +399,12 @@ function getStartAndEndDate(prefix) {
const endDateInput = $(`#${prefix}-end-date-input`);
const startTimeInput = $(`#${prefix}-start-time-input`);
const endTimeInput = $(`#${prefix}-end-time-input`);
logInfo(`Prefix: ${prefix}`);
return validateStartAndEndInputs(startDateInput, startTimeInput, endDateInput, endTimeInput, true);
}
function validateStartAndEndInputs(startDateInput, startTimeInput, endDateInput, endTimeInput, isServiceRecord) {
if(isServiceRecord === undefined || isServiceRecord === null) {
isServiceRecord = false;
}
logInfo2(`Startdatum: ${startDateInput.prop("id")}`);
isServiceRecord = isServiceRecord ?? false;
const startDate = new Date(startDateInput.val());
const startTime = startTimeInput.val();

View File

@@ -72,7 +72,7 @@
try {
const rootElement = $("#goals-tree");
const checkboxes = rootElement.find("input");
var selectedGoals = "";
$.each(checkboxes, function(index, checkbox) {
@@ -93,6 +93,28 @@
}
}
function getCheckedGoalsAsArray() {
try {
const rootElement = $("#goals-tree");
const checkboxes = rootElement.find("input");
const oids = [];
$.each(checkboxes, function(index, checkbox) {
const box = $(checkbox);
const id = box.attr("id").split("-")[2];
if(box.prop("checked") === true && !id.includes("goal")) {
oids.push(id);
}
});
return oids;
} catch(error) {
showErrorPopup(error);
return null;
}
}
function updateSelectedGoals() {
try {
const selectedGoals = getCheckedGoals();

View File

@@ -281,7 +281,11 @@
}
function getIsDocumentationMandatory() {
return @(Model != null && Model.IsServiceRecordNoticeMandatory ? "true" : "false");
return @(Model is { IsServiceRecordNoticeMandatory: true } ? "true" : "false");
}
function getIsServiceRecordGoalMandatory() {
return @(Model is { IsServiceRecordGoalMandatory: true } ? "true" : "false");
}
function getSelectedGoalOids() {

View File

@@ -20,7 +20,7 @@
const categoryOid = $("#sb-category-select option:selected").val();
const descriptionOid = $("#sb-leistung-select option:selected").val();
updateCbScRelOids("sb", cb2ScRelOid);
updateCbScRelOids("sb", cb2ScRelOid);
updateEmployeeOids("sb", eOid);
updateCategory("sb", categoryOid);
updateServiceDescription("sb", descriptionOid);
@@ -150,7 +150,7 @@
function updateCbScRelOids(prefix, csv) {
if(csv === null || csv === undefined || csv.length === 0) {
logInfo2(`csv ist leer: ${csv}; Entferne @MobileSessionFacade.LocalStorageKey-${firstCharToUpperCase(prefix)}Cb2ScRelOid${(prefix === "sb" ? "" : "s")}`);
logInfo2(`csv ist leer: ${csv}; Entferne @MobileSessionFacade.LocalStorageKey-${firstCharToUpperCase(prefix)}Cb2ScRelOid${(prefix === "sb" ? "" : "s")}`);
localStorage.removeItem(`@MobileSessionFacade.LocalStorageKey-${firstCharToUpperCase(prefix)}Cb2ScRelOid${(prefix === "sb" ? "" : "s")}`);
return;
}
@@ -233,12 +233,12 @@
function clearLocalBeWoStorage(prefix) {
const keyArray = [];
const keyArray = [];
for(let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
if(key.startsWith(`@MobileSessionFacade.LocalStorageKey-${firstCharToUpperCase(prefix)}`)) {
if(key.startsWith(`@MobileSessionFacade.LocalStorageKey-${firstCharToUpperCase(prefix)}`)) {
keyArray.push(key);
}
}
@@ -391,16 +391,14 @@
function readWholeLocalStorage() {
logInfo3(`Es wurden ${localStorage.length} lokale gespeicherte Werte gefunden:`);
for(let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
for(let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
logInfo3(`${key}: ${localStorage.getItem(key)}`);
}
}
}
}
</script>
@* ToDo: Sofern die Option gewählt wurde, muss der Von-Wert nach dem Speichern auf den gespeicherten Bis-Wert gesetzt werden! *@
@using(Html.BeginForm("RestoreServiceRecordForm", "Main", FormMethod.Post, new { id = "restore-service-record-form" }))
{
<input type="hidden" id="srr-goals-ratings" name="@FormCollectionConstants.SelectedGoalOids" />
@@ -447,12 +445,27 @@
if(Html.IsInDebugMode())
{
<button type="button" class="btn btn-danger" onclick="deleteBwpLocalStorage()">
<i class="fas fa-trash"></i>
</button>
<button type="button" class="btn btn-info" onclick="readWholeLocalStorage()">
<i class="far fa-eye"></i>
</button>
<div class="btn-group">
<button type="button" class="btn btn-outline-danger" onclick="deleteBwpLocalStorage()">
<i class="fas fa-trash"></i>
</button>
<button type="button" class="btn btn-outline-info" onclick="readWholeLocalStorage()">
<i class="far fa-eye"></i>
</button>
<script type="text/javascript">
function devTest() {
try {
} catch(error) {
console.error(error);
}
}
</script>
<button class="btn btn-outline-primary" type="button" onclick="devTest()">
<i class="fas fa-bug"></i>
</button>
</div>
}
}

View File

@@ -55,7 +55,7 @@
<script type="text/javascript" src="@Scripts.Url("~/Scripts/moment/locale/de.js")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/mobileUtils.js?v=1.7")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.0")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.2")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/signature.js?v=1.5")"></script>
<link type="text/css" rel="stylesheet" href="@Url.Content("~/Scripts/bootstrap/bootstrap4-modal-fullscreen.min.css")" />

View File

@@ -92,6 +92,14 @@ namespace BeWoRichter
return sum;
}
public override decimal GetFeiertagsFaktor(DateTime start)
{
if (start.Month == 12 && (start.Day == 24 || start.Day == 31))
return 0.5m;
return base.GetFeiertagsFaktor(start);
}
}
}
}

View File

@@ -2,7 +2,8 @@
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BeWoRichter.Service
{
public class CustomVacationService : VacationService
@@ -15,6 +16,14 @@ namespace BeWoRichter.Service
DateTime osterSonntag = GetOsterSonntag(year);
feiertage.Add(new FeiertagDC { Datum = osterSonntag.AddDays(-48), Name = "Rosenmontag" });
}
if (year >= 2025)
{
var weihnachten = feiertage.FirstOrDefault(f => f.Name == "Heilig Abend");
if (weihnachten != null)
feiertage.Remove(weihnachten);
}
return feiertage;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -12,8 +12,6 @@ namespace Mittelpunkt
{
public partial class Bereitschaftsliste : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
{
private decimal maxWochenstunden = 39;
public Bereitschaftsliste()
{
InitializeComponent();

View File

@@ -9,8 +9,6 @@ namespace Mittelpunkt
{
public partial class Lohnliste : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
{
private decimal maxWochenstunden = 39;
public Lohnliste()
{
InitializeComponent();
@@ -73,13 +71,12 @@ namespace Mittelpunkt
row.Field14 = String.Format("{0:0.00}", c.HourlyRate);
}
/*
string entgeldStufe = LeseEntgeldstufenVarfield(emp);
if (!String.IsNullOrEmpty(entgeldStufe))
{
row.Field15 = entgeldStufe;
}
*/
row.Field16 = emp.Notice2;
}
}

View File

@@ -17,24 +17,68 @@ namespace Mittelpunkt.Service
Contract currentContract = employee.GetValidContractForDate(DateTime.Now);
if (currentContract != null)
{
// Falls Stundensatz noch leer aus Bruttogehalt und Wochenstunden berechnen (durchschn. 4,33 Wochen pro Monat)
// falls Stundensatz noch leer aus Bruttogehalt und Wochenstunden berechnen (durchschn. 4,33 Wochen pro Monat)
if (!currentContract.HourlyRate.HasValue)
{
if (currentContract.GrossSalary.HasValue && currentContract.WeeklyTotalHours.HasValue)
{
decimal? stundensatz = currentContract.GrossSalary / currentContract.WeeklyTotalHours / (decimal) 4.33;
currentContract.HourlyRate = Math.Round((decimal) stundensatz, 2, MidpointRounding.AwayFromZero);
decimal? stundensatz = currentContract.GrossSalary / currentContract.WeeklyTotalHours / (decimal)4.33;
currentContract.HourlyRate = Math.Round((decimal)stundensatz, 2, MidpointRounding.AwayFromZero);
DAOFactory.GenericDAO.Update(employee);
// erst nach Serverlieferung
//SettingsLogic.AddToUsersHistory<Employee>(eOid);
SettingsLogic.AddToUsersHistory<Employee>(eOid);
}
}
}
// das gleiche fuer den Zuschlaege-Arbeit-Stundensatz, aus Zuschlaege-Arbeit-Bruttogehalt
decimal? bruttogehaltFuerArbeitszuschlaege = null;
decimal? stundensatzFuerArbeitszuschlaege = null;
foreach (var vv in employee.VarFieldValueList)
{
if (vv.VarFieldDefOid == 3)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
decimal dec = 0;
if (varFieldValue != null && Decimal.TryParse(varFieldValue.ToString(), out dec))
{
if (dec > 0)
{
bruttogehaltFuerArbeitszuschlaege = dec;
}
}
}
else if (vv.VarFieldDefOid == 4)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
decimal dec = 0;
if (varFieldValue != null && Decimal.TryParse(varFieldValue.ToString(), out dec))
{
if (dec > 0)
{
stundensatzFuerArbeitszuschlaege = dec;
}
}
}
}
if (bruttogehaltFuerArbeitszuschlaege != null && stundensatzFuerArbeitszuschlaege is null)
{
stundensatzFuerArbeitszuschlaege = bruttogehaltFuerArbeitszuschlaege / currentContract.WeeklyTotalHours / (decimal)4.33;
stundensatzFuerArbeitszuschlaege = Math.Round((decimal)stundensatzFuerArbeitszuschlaege, 2, MidpointRounding.AwayFromZero);
var serializedValue = BS.Shared.Core.Utils.XMLSerializeToString(stundensatzFuerArbeitszuschlaege);
VarFieldValue varFieldValue =
new VarFieldValue { SerializedValue = serializedValue, TypeName = "System.Decimal", VarFieldDefOid = 4, ObjectOid = employee.Oid, ObjectTid = BS.Shared.TableID.Employee };
employee.VarFieldValueList.Add(varFieldValue);
DAOFactory.GenericDAO.Update(employee);
}
}
var employeeDc = MapperFactory.EmployeeDC_Employee.MapToNewDC(employee);
return employeeDc;
}
}
}
}

View File

@@ -1,15 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Extensions;
namespace Mittelpunkt
{
public partial class ZuschlaegeArbeit : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
{
private decimal wechselschichtZulageMtl = 0;
private decimal wechselschichtZulageStdl = 0;
private decimal schichtarbeitZulageMtl = 0;
private decimal schichtarbeitZulageStdl = 0;
public ZuschlaegeArbeit()
{
InitializeComponent();
@@ -28,39 +36,26 @@ namespace Mittelpunkt
}
DateTime monatsAnfang = pRO.ReportStartDate;
LesePreise(monatsAnfang);
foreach (var empDetail in pRO.EmployeeDetailList)
{
long empOid = (long)empDetail.Employee.Oid;
// Custom1: Stundensatz
if (empDict.ContainsKey(empOid))
{
Employee emp = empDict[empOid];
Contract c = emp.GetValidContractForDate(pRO.ReportStartDate);
// Custom1 Stundensatz
decimal stundensatz = ErmittleStundensatz(empDetail.Employee, monatsAnfang);
if (stundensatz > 0)
empDetail.Custom1 = stundensatz;
if (c is null) // Kein Vertrag vom 1. gefunden, gucken, ob es einen gibt, der mitten im Monat beginnt.
{
var c2 = GetNextValidContractForDate(monatsAnfang, emp);
if (c2 != null && c2.EntryDate.HasValue && c2.EntryDate.Value < pRO.ReportEndDate)
c = c2;
}
bool isLMHD = LeseLmhdVarfield(empDetail.Employee);
if (c != null)
{
decimal? bruttoGehalt = c.GrossSalary;
if (c.WeeklyTotalHours.HasValue)
{
decimal wochenstunden = (decimal)c.WeeklyTotalHours.Value;
// Stundensatz aus Bruttogehalt und Wochenstunden berechnen (durchschn. 4,33 Wochen pro Monat)
if (bruttoGehalt != null)
empDetail.Custom1 = (decimal) bruttoGehalt / wochenstunden / 4.33m;
}
}
}
int anzahlNachtschichten = 0;
int anzahlFruehschichten = 0;
int anzahlSpaetschichten = 0;
decimal fruehschichtMinuten = 0;
decimal spaetschichtMinuten = 0;
foreach (var day in empDetail.Days)
{
// Custom2+3 Samstagsarbeit 13-21 Uhr (20 Prozent)
// Custom2+3 Samstagsarbeit 13-21 Uhr
if (day.ServiceRecords != null && day.ServiceRecords.Count > 0)
{
foreach (var sr in day.ServiceRecords)
@@ -78,48 +73,157 @@ namespace Mittelpunkt
}
}
// Custom4+5 Sonntagsarbeit (25 Prozent)
// Custom4+5 Sonntagsarbeit
empDetail.Custom4 += day.HoursSunday;
// Custom6+7 Feiertagsarbeit (35 Prozent)
// Custom6+7 Feiertagsarbeit
empDetail.Custom6 += day.HoursHoliday;
// Custom8+9 Nachtarbeit 21-05:59 Uhr (20 Prozent)
empDetail.Custom8 += day.SpecialHours;
// Custom8+9 Nachtarbeit 21-05:59 Uhr
if (day.SpecialHours > 0)
{
anzahlNachtschichten++;
empDetail.Custom8 += day.SpecialHours;
}
if (day.MinutesTotal >= 420 && day.StartDateTime1 != null && day.EndDateTime1 != null)
{
if (((DateTime)day.StartDateTime1).Hour < 8 && ((DateTime)day.EndDateTime1).Hour < 15)
{
anzahlFruehschichten++;
fruehschichtMinuten += day.MinutesTotal;
}
else if (((DateTime)day.StartDateTime1).Hour > 13 && ((DateTime)day.EndDateTime1).Hour > 20)
{
anzahlSpaetschichten++;
spaetschichtMinuten += day.MinutesTotal;
}
}
}
// Summe Samstag (plus 20 Prozent)
empDetail.Custom3 = empDetail.Custom2 * empDetail.Custom1 * 0.2m;
// Summe Sonntag (plus 25 Prozent)
empDetail.Custom5 = empDetail.Custom4 * empDetail.Custom1 * 0.25m;
// Summe Feiertag (plus 35 Prozent)
empDetail.Custom7 = empDetail.Custom6 * empDetail.Custom1 * 0.35m;
// Summe Nacht (plus 20 Prozent)
empDetail.Custom9 = empDetail.Custom8 * empDetail.Custom1 * 0.2m;
// Custom10 Summe der Zulagen
empDetail.Custom10 = empDetail.Custom3 + empDetail.Custom5 + empDetail.Custom7 + empDetail.Custom9;
// Wechselschicht- und Schichtzulagen nur für LMHD-Mitarbeiter
if (isLMHD)
{
// Wechselschichtzulagen wenn es Nachtschichten gab und zusaetzlich auch Frueh- oder Spaetschichten
if (anzahlNachtschichten > 0 && (anzahlFruehschichten > 0 || anzahlSpaetschichten > 0))
{
// Wechselschichtzulage mtl. ab 3 Nachtschichten wenn es auch andere Schichten gab
if (anzahlNachtschichten > 2)
empDetail.Custom12 = wechselschichtZulageMtl;
else
{
// sonst Wechselschichtzulage stdl.
empDetail.Custom10 = empDetail.Custom8;
empDetail.Custom11 = empDetail.Custom8 * wechselschichtZulageStdl;
}
}
// Schichtarbeitzulagen wenn es Frueh- und Spaetschichten gab
if (anzahlFruehschichten > 2 && anzahlSpaetschichten > 2)
{
// Schichtarbeitzulage mtl. bei mind. dreimal Frueh- und dreimal Spaetschicht
empDetail.Custom15 = schichtarbeitZulageMtl;
}
else if (anzahlFruehschichten > 0 && anzahlSpaetschichten > 0)
{
// sonst Schichtarbeitzulage stdl. wenn es Frueh- und Spaetschichten gab
empDetail.Custom13 = (fruehschichtMinuten + spaetschichtMinuten) / 60;
empDetail.Custom14 = empDetail.Custom13 * schichtarbeitZulageStdl;
}
}
// Summe aller Zulagen
empDetail.Bu = empDetail.Custom3 + empDetail.Custom5 + empDetail.Custom7 + empDetail.Custom9
+ empDetail.Custom11 + empDetail.Custom12 + empDetail.Custom14 + empDetail.Custom15;
}
this.bindingSource1.DataSource = pRO;
}
public Contract GetNextValidContractForDate(DateTime dt, Employee emp)
private void LesePreise(DateTime datum)
{
Contract contractNextToStartDate = emp.GetValidContractForDate(dt);
var preise = DAOFactory.GenericDAO.GetAllActive<Preis>();
if (contractNextToStartDate == null)
wechselschichtZulageMtl = lesePreis(preise, "Wechselschichtzulage mtl.", datum);
wechselschichtZulageStdl = lesePreis(preise, "Wechselschichtzulage stdl.", datum);
schichtarbeitZulageMtl = lesePreis(preise, "Schichtarbeitzulage mtl.", datum);
schichtarbeitZulageStdl = lesePreis(preise, "Schichtarbeitzulage stdl.", datum);
}
private decimal lesePreis(IList<Preis> preise, String preisName, DateTime datum)
{
decimal result = 0;
var preis = preise.Where(p => p.Name.Contains(preisName)).FirstOrDefault();
if (preis != null)
{
DateTime minDate = DateTime.MinValue;
DateTime maxDate = DateTime.MaxValue;
foreach (var item in emp.Contracts)
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(preis.CostRatePeriods);
var cr = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, datum);
if (cr != null && cr.CostRateValue.HasValue)
{
if (item.EntryDate.HasValue && item.EntryDate.Value >= dt)
{
if (contractNextToStartDate == null || item.EntryDate.Value < contractNextToStartDate.EntryDate.Value)
{
contractNextToStartDate = item;
}
}
result = cr.CostRateValue.Value;
}
}
return contractNextToStartDate;
return result;
}
private decimal ErmittleStundensatz(Employee employee, DateTime dt)
{
// Varfield verwenden falls gesetzt
decimal stundensatz = LeseStundensatzVarfield(employee);
if (!(stundensatz > 0))
{
// sonst im aktuellen Vetrag schauen
Contract c = employee.GetValidContractForDate(dt);
if (c != null && c.HourlyRate != null)
stundensatz = (decimal) c.HourlyRate;
}
return stundensatz;
}
private decimal LeseStundensatzVarfield(Employee employee)
{
decimal stundensatzFuerZuschlaege = 0;
foreach (var vv in employee.VarFieldValueList)
{
if (vv.VarFieldDefOid == 4)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
Decimal.TryParse(varFieldValue.ToString(), out stundensatzFuerZuschlaege);
}
}
}
return stundensatzFuerZuschlaege;
}
private bool LeseLmhdVarfield(Employee employee)
{
bool lmhd = false;
foreach (var vv in employee.VarFieldValueList)
{
if (vv.VarFieldDefOid == 1)
{
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
if (varFieldValue != null)
{
Boolean.TryParse(varFieldValue.ToString(), out lmhd);
}
}
}
return lmhd;
}
}
}

View File

@@ -38,14 +38,14 @@ namespace Mittelpunkt
DevExpress.XtraReports.UI.XRSummary xrSummary6 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary7 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary8 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary15 = new DevExpress.XtraReports.UI.XRSummary();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ZuschlaegeArbeit));
DevExpress.XtraReports.UI.XRSummary xrSummary9 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary10 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary11 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary12 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary13 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary14 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary15 = new DevExpress.XtraReports.UI.XRSummary();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ZuschlaegeArbeit));
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
@@ -63,6 +63,12 @@ namespace Mittelpunkt
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
@@ -76,6 +82,8 @@ namespace Mittelpunkt
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
@@ -90,8 +98,13 @@ namespace Mittelpunkt
this.cellGesamtGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellRelationGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
@@ -105,20 +118,7 @@ namespace Mittelpunkt
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
@@ -153,7 +153,7 @@ namespace Mittelpunkt
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(1019F, 24F);
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1025F, 24F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
@@ -299,6 +299,66 @@ namespace Mittelpunkt
this.xrTableCell9.TextFormatString = "{0:#.##}";
this.xrTableCell9.Weight = 0.063899404803841833D;
//
// xrTableCell15
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom10")});
this.xrTableCell15.Multiline = true;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Text = "xrTableCell15";
this.xrTableCell15.TextFormatString = "{0:#.##}";
this.xrTableCell15.Weight = 0.046859222259037117D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom11")});
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.TextFormatString = "{0:#.##}";
this.xrTableCell19.Weight = 0.055379080609896922D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom12")});
this.xrTableCell20.Multiline = true;
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Text = "xrTableCell20";
this.xrTableCell20.TextFormatString = "{0:#.##}";
this.xrTableCell20.Weight = 0.051119151434467068D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom13")});
this.xrTableCell22.Multiline = true;
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.TextFormatString = "{0:#.##}";
this.xrTableCell22.Weight = 0.046859222259037131D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom14")});
this.xrTableCell24.Multiline = true;
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.TextFormatString = "{0:#.##}";
this.xrTableCell24.Weight = 0.055379080609896936D;
//
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom15")});
this.xrTableCell26.Multiline = true;
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.TextFormatString = "{0:#.##}";
this.xrTableCell26.Weight = 0.05111915143446704D;
//
// xrTableCell11
//
this.xrTableCell11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
@@ -307,7 +367,7 @@ namespace Mittelpunkt
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Text = "xrTableCell9";
this.xrTableCell11.TextFormatString = "{0:#.##}";
this.xrTableCell11.Weight = 0.1405782005309249D;
this.xrTableCell11.Weight = 0.12353800715256005D;
//
// DetailReport
//
@@ -339,7 +399,7 @@ namespace Mittelpunkt
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(1019F, 40.83335F);
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1025F, 40.83335F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
@@ -438,6 +498,24 @@ namespace Mittelpunkt
this.xrTableCell2.Text = "Nachtarbeit\r\nh / Betrag";
this.xrTableCell2.Weight = 0.10617882288581945D;
//
// xrTableCell13
//
this.xrTableCell13.BackColor = System.Drawing.SystemColors.Control;
this.xrTableCell13.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBackColor = false;
this.xrTableCell13.Text = "Wechselschicht\r\nh / Betrag / mtl.";
this.xrTableCell13.Weight = 0.1274148756106164D;
//
// xrTableCell14
//
this.xrTableCell14.BackColor = System.Drawing.SystemColors.Control;
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBackColor = false;
this.xrTableCell14.Text = "Schichtzulage\r\nh / Betrag / mtl.";
this.xrTableCell14.Weight = 0.1274145875821239D;
//
// xrTableCell18
//
this.xrTableCell18.BackColor = System.Drawing.SystemColors.Control;
@@ -445,7 +523,7 @@ namespace Mittelpunkt
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBackColor = false;
this.xrTableCell18.Text = "Summe Zulagen";
this.xrTableCell18.Weight = 0.11679697450958408D;
this.xrTableCell18.Weight = 0.10263951001688859D;
//
// GroupFooter1
//
@@ -465,7 +543,7 @@ namespace Mittelpunkt
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(1019F, 25F);
this.xrTable1.SizeF = new System.Drawing.SizeF(1025F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
@@ -643,6 +721,114 @@ namespace Mittelpunkt
this.cellRelationGesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.cellRelationGesamt.Weight = 0.0672991019763754D;
//
// xrTableCell28
//
this.xrTableCell28.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell28.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom10")});
this.xrTableCell28.Multiline = true;
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.StylePriority.UseBorderDashStyle = false;
this.xrTableCell28.StylePriority.UseBorders = false;
this.xrTableCell28.StylePriority.UseTextAlignment = false;
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell28.Summary = xrSummary9;
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell28.TextFormatString = "{0:0,#}";
this.xrTableCell28.Weight = 0.049352633343331981D;
//
// xrTableCell34
//
this.xrTableCell34.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell34.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell34.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom11")});
this.xrTableCell34.Multiline = true;
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseBorderDashStyle = false;
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell34.Summary = xrSummary10;
this.xrTableCell34.Text = "xrTableCell34";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell34.TextFormatString = "{0:0.00}";
this.xrTableCell34.Weight = 0.058325725034860741D;
//
// xrTableCell36
//
this.xrTableCell36.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell36.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom12")});
this.xrTableCell36.Multiline = true;
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.StylePriority.UseBorderDashStyle = false;
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
xrSummary11.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell36.Summary = xrSummary11;
this.xrTableCell36.Text = "xrTableCell36";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell36.TextFormatString = "{0:0,#}";
this.xrTableCell36.Weight = 0.053839130696598764D;
//
// xrTableCell38
//
this.xrTableCell38.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell38.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom13")});
this.xrTableCell38.Multiline = true;
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseBorderDashStyle = false;
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
xrSummary12.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell38.Summary = xrSummary12;
this.xrTableCell38.Text = "xrTableCell38";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell38.TextFormatString = "{0:0,#}";
this.xrTableCell38.Weight = 0.049352536358336779D;
//
// xrTableCell40
//
this.xrTableCell40.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell40.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom14")});
this.xrTableCell40.Multiline = true;
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.StylePriority.UseBorderDashStyle = false;
this.xrTableCell40.StylePriority.UseBorders = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
xrSummary13.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell40.Summary = xrSummary13;
this.xrTableCell40.Text = "xrTableCell40";
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell40.TextFormatString = "{0:0.00}";
this.xrTableCell40.Weight = 0.058325907594851678D;
//
// xrTableCell41
//
this.xrTableCell41.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell41.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom15")});
this.xrTableCell41.Multiline = true;
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.StylePriority.UseBorderDashStyle = false;
this.xrTableCell41.StylePriority.UseBorders = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
xrSummary14.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell41.Summary = xrSummary14;
this.xrTableCell41.Text = "xrTableCell41";
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell41.TextFormatString = "{0:0,#}";
this.xrTableCell41.Weight = 0.053838948136607785D;
//
// xrTableCell47
//
this.xrTableCell47.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
@@ -657,11 +843,7 @@ namespace Mittelpunkt
this.xrTableCell47.Summary = xrSummary15;
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell47.TextFormatString = "{0:0.00}";
this.xrTableCell47.Weight = 0.14805789856486412D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
this.xrTableCell47.Weight = 0.13011136717682381D;
//
// ReportHeader
//
@@ -674,7 +856,7 @@ namespace Mittelpunkt
// xrPictureBox1
//
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(949.2086F, 0F);
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(954.2086F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(69.79144F, 95.52075F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
@@ -697,13 +879,13 @@ namespace Mittelpunkt
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.pageFooterBand1.HeightF = 48F;
this.pageFooterBand1.HeightF = 50.56193F;
this.pageFooterBand1.Name = "pageFooterBand1";
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(879.0001F, 25F);
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(884.0001F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(139.9999F, 23F);
this.xrPageInfo2.StyleName = "PageInfo";
@@ -778,185 +960,9 @@ namespace Mittelpunkt
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTableCell13
// bindingSource1
//
this.xrTableCell13.BackColor = System.Drawing.SystemColors.Control;
this.xrTableCell13.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBackColor = false;
this.xrTableCell13.Text = "Wechselschicht\r\nh / Betrag / mtl.";
this.xrTableCell13.Weight = 0.11679670523397168D;
//
// xrTableCell14
//
this.xrTableCell14.BackColor = System.Drawing.SystemColors.Control;
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBackColor = false;
this.xrTableCell14.Text = "Schichtzulage\r\nh / Betrag / mtl.";
this.xrTableCell14.Weight = 0.11679670523397166D;
//
// xrTableCell15
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom10")});
this.xrTableCell15.Multiline = true;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Text = "xrTableCell15";
this.xrTableCell15.Weight = 0.046859222259037117D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom11")});
this.xrTableCell19.Multiline = true;
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.Weight = 0.0468592222590371D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom12")});
this.xrTableCell20.Multiline = true;
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Text = "xrTableCell20";
this.xrTableCell20.Weight = 0.046858875585113369D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom13")});
this.xrTableCell22.Multiline = true;
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.Weight = 0.046859222259037131D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom14")});
this.xrTableCell24.Multiline = true;
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.Weight = 0.046859222259037117D;
//
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom15")});
this.xrTableCell26.Multiline = true;
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.Weight = 0.04685909225631571D;
//
// xrTableCell28
//
this.xrTableCell28.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell28.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom10")});
this.xrTableCell28.Multiline = true;
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.StylePriority.UseBorderDashStyle = false;
this.xrTableCell28.StylePriority.UseBorders = false;
this.xrTableCell28.StylePriority.UseTextAlignment = false;
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell28.Summary = xrSummary9;
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell28.TextFormatString = "{0:0,#}";
this.xrTableCell28.Weight = 0.049352633343331981D;
//
// xrTableCell34
//
this.xrTableCell34.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell34.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell34.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom11")});
this.xrTableCell34.Multiline = true;
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseBorderDashStyle = false;
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell34.Summary = xrSummary10;
this.xrTableCell34.Text = "xrTableCell34";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell34.TextFormatString = "{0:0.00}";
this.xrTableCell34.Weight = 0.0493525420633365D;
//
// xrTableCell36
//
this.xrTableCell36.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell36.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom12")});
this.xrTableCell36.Multiline = true;
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.StylePriority.UseBorderDashStyle = false;
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
xrSummary11.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell36.Summary = xrSummary11;
this.xrTableCell36.Text = "xrTableCell36";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell36.TextFormatString = "{0:0.00}";
this.xrTableCell36.Weight = 0.049352268223350038D;
//
// xrTableCell38
//
this.xrTableCell38.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell38.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom13")});
this.xrTableCell38.Multiline = true;
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseBorderDashStyle = false;
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
xrSummary12.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell38.Summary = xrSummary12;
this.xrTableCell38.Text = "xrTableCell38";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell38.TextFormatString = "{0:0,#}";
this.xrTableCell38.Weight = 0.049352450783341009D;
//
// xrTableCell40
//
this.xrTableCell40.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell40.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom14")});
this.xrTableCell40.Multiline = true;
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.StylePriority.UseBorderDashStyle = false;
this.xrTableCell40.StylePriority.UseBorders = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
xrSummary13.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell40.Summary = xrSummary13;
this.xrTableCell40.Text = "xrTableCell40";
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell40.TextFormatString = "{0:0.00}";
this.xrTableCell40.Weight = 0.049352359503345489D;
//
// xrTableCell41
//
this.xrTableCell41.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Double;
this.xrTableCell41.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Custom15")});
this.xrTableCell41.Multiline = true;
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.StylePriority.UseBorderDashStyle = false;
this.xrTableCell41.StylePriority.UseBorders = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
xrSummary14.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell41.Summary = xrSummary14;
this.xrTableCell41.Text = "xrTableCell41";
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
this.xrTableCell41.TextFormatString = "{0:0.00}";
this.xrTableCell41.Weight = 0.049352907183318459D;
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// ZuschlaegeArbeit
//
@@ -971,7 +977,7 @@ namespace Mittelpunkt
this.fieldFLS});
this.DataSource = this.bindingSource1;
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 50F, 30F);
this.Margins = new DevExpress.Drawing.DXMargins(75F, 69F, 50F, 30F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;

View File

@@ -407,7 +407,7 @@ namespace BeWo.Service.Plugins
//t = "6203102637"; // BeWo Neuss-Lauth u. Lauth GbR
//t = "7060431533"; // Arche Tecklenburg e.V.
//t = "1159580198"; // Wendepunkt Velbert gGmbH
t = "5094575560"; // Christopherus Haus MID
//t = "5094575560"; // Christopherus Haus MID
//t = "5261046426"; // SelbstWerk EN / Bettina Heckrodt
//t = "6652893693"; // Claudia Heizmann
//t = "5850903700"; // Alzey (Verein für Integration und Teilhabe am Leben e.V.)