Mittelpunkt: Stundenlohn für ZuschlägeArbeit-Bereicht aus Bruttogehalt berechnen (to be tested)
This commit is contained in:
@@ -73,13 +73,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,24 +17,96 @@ 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);
|
||||
}
|
||||
|
||||
DAOFactory.GenericDAO.Update(employee);
|
||||
|
||||
}
|
||||
|
||||
var employeeDc = MapperFactory.EmployeeDC_Employee.MapToNewDC(employee);
|
||||
return employeeDc;
|
||||
}
|
||||
|
||||
|
||||
private string LeseEntgeldstufenVarfield(Employee employee)
|
||||
{
|
||||
string entgeldstufe = null;
|
||||
foreach (var vv in employee.VarFieldValueList)
|
||||
{
|
||||
if (vv.VarFieldDefOid == 2)
|
||||
{
|
||||
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
|
||||
if (varFieldValue != null)
|
||||
{
|
||||
entgeldstufe = varFieldValue.ToString();
|
||||
}
|
||||
|
||||
/*
|
||||
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)
|
||||
{
|
||||
return dec / 5;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
return entgeldstufe;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user