function compute_professors_salary_params($from_base, $to_base, $from_science_level, $to_science_level, $work_state_id, $work_city_id, $execute_date, $emp_state = EMP_STATE_APPROVED_CEREMONIOUS, $compute_heiat_omana_absorb_extra = true) { $query = 'SELECT validity_start_date, validity_end_date, salary_item_type_id FROM salary_item_types WHERE salary_item_type_id IN ( ' . SIT_PROFESSOR_BASE_SALARY . ', ' . SIT_PROFESSOR_BAD_WEATHER_EXTRA . ', ' . SIT_PROFESSOR_ABSOPPTION_EXTRA . ', ' . SIT_PROFESSOR_SPECIAL_EXTRA . ', ' . SIT_PROFESSOR_PARTICULAR_EXTRA . ', ' . SIT_PROFESSOR_HEIAT_OMANA_SPECIAL_EXTRA . ' )'; $resultSet = PdoDataAccess::runquery($query); foreach ($resultSet as $result) { switch ($result['salary_item_type_id']) { case SIT_PROFESSOR_BASE_SALARY: $is_valid_base_salary = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); break; case SIT_PROFESSOR_BAD_WEATHER_EXTRA: $is_valid_bad_weather_extra = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); break; case SIT_PROFESSOR_ABSOPPTION_EXTRA: $is_valid_absopption_extra = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); break; case SIT_PROFESSOR_SPECIAL_EXTRA: $is_valid_special_extra = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); break; case SIT_PROFESSOR_PARTICULAR_EXTRA: $is_valid_particular_extra = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); break; case SIT_PROFESSOR_HEIAT_OMANA_SPECIAL_EXTRA: $is_valid_heiat_omana_absorb_extera = manage_salary_item_type::validate_salary_item_type_id($result['validity_start_date'], $result['validity_end_date'], $execute_date); } } $counter = 0; for ($science_level = $to_science_level; $science_level >= $from_science_level; $science_level--) { for ($base = $from_base; $base <= $to_base; $base++) { $writ_rec['base'] = $base; $writ_rec['science_level'] = $science_level; $writ_rec['work_city_id'] = $work_city_id; $writ_rec['work_state_id'] = $work_state_id; $writ_rec['execute_date'] = $execute_date; $writ_rec['emp_state'] = $emp_state; /* if($compute_heiat_omana_absorb_extra && $is_valid_heiat_omana_absorb_extera){ //آخرين حكم سال قبل $base_writ_rec['base'] = $base; $base_writ_rec['science_level'] = $science_level; $base_writ_rec['work_city_id'] = $work_city_id; $base_writ_rec['work_state_id'] = $work_state_id; $base_writ_rec['emp_state'] = $emp_state ; $this_writ_year = substr(DateModules::miladi_to_shamsi($execute_date),0,4); $one_year_ago = $this_writ_year - 1; $one_year_ago_last_day_writ = '29/12/'.$one_year_ago; $Gone_year_ago_last_day = DateModules::shamsi_to_miladi($one_year_ago_last_day_writ); $base_writ_rec['execute_date'] = $Gone_year_ago_last_day ; if($base_writ_rec) $rec = compute_professors_salary_params( $base_writ_rec['base'], $base_writ_rec['base'], $base_writ_rec['science_level'], $base_writ_rec['science_level'], $base_writ_rec['work_state_id'], $base_writ_rec['work_city_id'], $base_writ_rec['execute_date'] , $base_writ_rec['emp_state'], false); $devotion_extra = 0 ; $param1 = $rec[0]['base_salary'] + $rec[0]['absorb_extra'] + $rec[0]['vijeh_extra'] + $rec[0]['special_extra'] + $devotion_extra ; $heiat_omana_absorb_extra = $param1 * 0.02 ; } else $heiat_omana_absorb_extra = 0 ;*/ if ($is_valid_base_salary == true) { $base_salary = compute_salary_item1_01($writ_rec); } else { $base_salary = 0; } if ($is_valid_absopption_extra == true) { $absorb_extra = round($base_salary * manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, SPT_PROFESSOR_ABSORB_COEF, $writ_rec['execute_date'], $writ_rec['science_level'], $writ_rec['work_city_id'], $writ_rec['work_state_id'])); } else { $absorb_extra = 0; } if ($is_valid_bad_weather_extra == true) { $weather_bad_extra = round($base_salary * manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, SPT_PROFESSOR_WHEATHER_COEF, $writ_rec['execute_date'], $writ_rec['work_city_id'], $writ_rec['work_state_id'])); } else { $weather_bad_extra = 0; } if ($is_valid_special_extra == true) { $special_extra = round($base_salary * manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, SPT_SPECIAL_EXTRA_COEF, $writ_rec['execute_date'], $writ_rec['science_level'])); } else { $special_extra = 0; } if ($is_valid_particular_extra == true) { $vijeh_extra_old = $base_salary * manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, SPT_PARTICULAR_EXTRA, $writ_rec['execute_date'], $writ_rec['science_level']); if ($writ_rec['execute_date'] > '2010-03-20') { $vijeh_extra_new = $base_salary * manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, SPT_PARTICULAR_EXTRA_NEW, $writ_rec['execute_date'], $writ_rec['science_level']); $Mvalue = manage_salary_params::get_salaryParam_value("", HR_PROFESSOR, MAX_SPT_PARTICULAR_EXTRA_NEW, $writ_rec['execute_date'], $writ_rec['science_level']); if ($vijeh_extra_new > $Mvalue) { $vijeh_extra_new = $Mvalue; } $vijeh_extra = $vijeh_extra_new + $vijeh_extra_old; } else { $vijeh_extra = $vijeh_extra_old; } } else { $vijeh_extra = 0; } $salary_params[$counter]['base_salary'] = $base_salary; $salary_params[$counter]['absorb_extra'] = $absorb_extra; $salary_params[$counter]['weather_bad_extra'] = $weather_bad_extra; $salary_params[$counter]['special_extra'] = $special_extra; // $salary_params[$counter]['heiat_omana_absorb_extra']= $heiat_omana_absorb_extra ; $salary_params[$counter]['vijeh_extra'] = $vijeh_extra; $salary_params[$counter]['total_sum'] = $base_salary + $absorb_extra + $weather_bad_extra + $special_extra + $vijeh_extra; // + $heiat_omana_absorb_extra; $salary_params[$counter]['base'] = $base; switch ($science_level) { case INSTRUCTOR_EDUCATOR: $salary_params[$counter]['science_level'] = 'مربي آموزشيار'; break; case EDUCATOR: $salary_params[$counter]['science_level'] = 'مربي'; break; case MASTERSTROKE: $salary_params[$counter]['science_level'] = 'استاديار'; break; case LECTURESHIP: $salary_params[$counter]['science_level'] = 'دانشيار'; break; case MASTERSHIP: $salary_params[$counter]['science_level'] = 'استاد'; break; } $counter++; } } return $salary_params; }
function GetCostCode() { $where = 'where cc.globality ="GLOBAL" AND cc.IsActive="YES" '; if (isset($_REQUEST['CostID']) && $_REQUEST['CostID'] != NULL) { $where .= ' AND CostID=' . $_REQUEST['CostID']; } $whereParam = array(); if (isset($_REQUEST["query"]) && $_REQUEST["query"] != "") { $where .= " AND (cc.CostCode LIKE :qry )"; $whereParam = array(":qry" => $_REQUEST["query"] . "%"); } $temp = manage_salary_item_type::GetAllCostCode($where, $whereParam); $no = count($temp); $temp = array_slice($temp, $_GET["start"], $_GET["limit"]); echo dataReader::getJsonData($temp, $no, $_GET["callback"]); die; }