Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetSalary (
|
const Unit owner,
|
const OvertimeMultiplier overtimeMutiplier,
|
Real overtime
|
) const as Real
|
{
|
TextBody:
|
[*
|
// rislai Jul-10-2024 (created)
|
value := 0.0;
|
salaryByEmployeeTypeTree := NamedValueTree::Create();
|
traverse( owner,EmployeeCost,cost ){
|
salaryByEmployeeTypeHandle := salaryByEmployeeTypeTree.GetHandle( cost.EmployeeType().Name() );
|
salary := guard( salaryByEmployeeTypeTree.Root().Child( salaryByEmployeeTypeHandle ),null( NamedValue ));
|
// 产线人员类别1*人数*基本工资1/21.75/8*工作日加班时长*倍率1
|
temp_salary := cost.EmployeeNumber() * cost.BaseSalary() / owner.MacroPlan().StandardWorkingDay() / 8 * overtime * overtimeMutiplier.Multiplier();
|
if( not isnull( salary )){
|
salary.SetValue( salary.GetValueAsReal() + temp_salary );
|
}else{
|
salaryByEmployeeTypeTree.Root().AddChild( salaryByEmployeeTypeHandle,temp_salary );
|
}
|
value := value + temp_salary;
|
}
|
return value;
|
*]
|
}
|