| 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; | 
|   *] | 
| } |