示例#1
0
function saveStaffData()
{
    $obj = new manage_staff();
    PdoDataAccess::FillObjectByArray($obj, $_POST);
    if (isset($_POST["work_start_date"])) {
        $obj->work_start_date = DateModules::Shamsi_to_Miladi($_POST["work_start_date"]);
    }
    if (isset($_POST["ProfWorkStart"])) {
        $obj->ProfWorkStart = DateModules::Shamsi_to_Miladi($_POST["ProfWorkStart"]);
    }
    if (isset($_POST["retired_date"])) {
        $obj->retired_date = DateModules::Shamsi_to_Miladi($_POST["retired_date"]);
    }
    if (isset($_POST["last_retired_pay"])) {
        $obj->last_retired_pay = DateModules::Shamsi_to_Miladi($_POST["last_retired_pay"]);
    }
    if (!isset($_POST['Over25'])) {
        $obj->Over25 = 0;
    }
    $obj->sum_paied_pension = $obj->sum_paied_pension > 0 ? $obj->sum_paied_pension : "0";
    $return = $obj->EditStaff();
    $key = $obj->staff_id . "," . $obj->PersonID . "," . $obj->person_type;
    echo $return ? Response::createObjectiveResponse("true", $key) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#2
0
function saveEducData()
{
    //........ Fill object ..............
    $obj = new manage_person_education();
    PdoDataAccess::FillObjectByArray($obj, $_POST);
    $obj->PersonID = $_POST['PersonID'];
    $obj->doc_date = DateModules::Shamsi_to_Miladi($obj->doc_date);
    $obj->certificated = empty($obj->certificated) ? "0" : $obj->certificated;
    //....................................
    if ($_POST['sfid'] == "-1") {
        $obj->sfid = PDONULL;
    }
    if (!isset($_POST['sbid'])) {
        $obj->sbid = PDONULL;
    }
    if ($_POST['university_id'] == "-1") {
        $obj->university_id = PDONULL;
    }
    if ($_POST['country_id'] == "-1") {
        $obj->country_id = PDONULL;
    }
    if (empty($_POST["row_no"])) {
        $return = $obj->AddEducation();
    } else {
        $return = $obj->EditEducation();
    }
    echo $return ? Response::createObjectiveResponse(true, $obj->row_no) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#3
0
function saveTaxHis()
{
    $obj = new manage_staff_tax();
    PdoDataAccess::FillObjectByArray($obj, $_POST);
    $obj->start_date = DateModules::Shamsi_to_Miladi($_POST['start_date']);
    $obj->end_date = DateModules::Shamsi_to_Miladi($_POST['end_date']);
    if (!empty($_POST['tax_history_id'])) {
        $return = $obj->EditStaffTaxHistory($_POST['PersonID']);
    } else {
        $return = $obj->SaveStaffTaxHistory($_POST['PersonID']);
    }
    echo $return ? Response::createObjectiveResponse(true, $_POST['PersonID']) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#4
0
function SaveJob()
{
    $obj = new manage_person_job();
    PdoDataAccess::FillObjectByJsonData($obj, $_POST["record"]);
    $obj->FromDate = DateModules::Shamsi_to_Miladi($obj->FromDate);
    $obj->ToDate = DateModules::Shamsi_to_Miladi($obj->ToDate);
    if (empty($obj->RowNO)) {
        $return = $obj->AddJobHistory();
    } else {
        $return = $obj->EditJobHistory();
    }
    echo $return ? Response::createObjectiveResponse(true, $obj->RowNO) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#5
0
 static function get_rial_coefs($from_j_year, $to_j_year, $person_type)
 {
     $query = " SELECT *\r\n                          FROM salary_params\r\n\t\t\t\t\t\t\t WHERE param_type='" . SPT_RIAL_COEF . "' AND person_type = " . $person_type . "\r\n\t\t\t\t\t\t\t\tORDER BY from_date ";
     $res = parent::runquery($query);
     $rial_coefs = array();
     for ($i = 0; $i < count($res); $i++) {
         $cur_j_date = '01/01/' . $from_j_year;
         $cur_g_date = DateModules::Shamsi_to_Miladi($cur_j_date);
         while ($res[$i]['from_date'] <= $cur_g_date && $res[$i]['to_date'] >= $cur_g_date && $from_j_year <= $to_j_year) {
             $rial_coefs[$from_j_year] = $res[$i]['value'];
             $from_j_year++;
             $cur_j_date = '01/01/' . $from_j_year;
             $cur_g_date = DateModules::Shamsi_to_Miladi($cur_j_date);
         }
     }
     return $rial_coefs;
 }
示例#6
0
function saveDevData()
{
    $obj = new manage_person_devotion();
    PdoDataAccess::FillObjectByArray($obj, $_POST);
    $obj->PersonID = $_POST['PersonID'];
    $obj->from_date = DateModules::Shamsi_to_Miladi($_POST["from_date"]);
    $obj->to_date = DateModules::Shamsi_to_Miladi($_POST["to_date"]);
    $obj->letter_date = DateModules::Shamsi_to_Miladi($_POST["letter_date"]);
    $obj->amount = empty($obj->amount) ? "0" : $obj->amount;
    $obj->continous = !empty($obj->continous) ? $obj->continous : 0;
    $obj->enlisted = !empty($obj->enlisted) ? $obj->enlisted : 0;
    if (empty($_POST["devotion_row"])) {
        $return = $obj->AddDevotion();
    } else {
        $return = $obj->EditDevotion();
    }
    echo $return ? Response::createObjectiveResponse(true, $obj->devotion_row) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#7
0
function saveMiscDoc()
{
    //........ Fill object ..............
    $obj = new manage_person_misc_doc();
    $arr = get_object_vars($obj);
    $KeyArr = array_keys($arr);
    for ($i = 0; $i < count($arr); $i++) {
        eval("\$obj->" . $KeyArr[$i] . " = (isset(\$_POST) && isset(\$_POST['" . $KeyArr[$i] . "'])) \r\n\t\t\t? \$_POST['" . $KeyArr[$i] . "'] : '';");
    }
    $obj->PersonID = $_POST['PersonID'];
    $obj->doc_date = DateModules::Shamsi_to_Miladi($obj->doc_date);
    //....................................
    if (empty($_POST["row_no"])) {
        $return = $obj->AddMiscDoc();
    } else {
        $return = $obj->EditMiscDoc();
    }
    echo $return ? Response::createObjectiveResponse(true, $obj->row_no) : Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString("\n"));
    die;
}
示例#8
0
function GroupCancelWrit()
{
    ini_set('max_execution_time', 1000);
    //300 seconds = 5 minutes
    ini_set("memory_limit", '500M');
    $where = "s.person_type=" . $_POST["person_type"];
    $whereParams = array();
    //------------------------ Make Where Clause ----------------------
    if (!empty($_REQUEST["ouid"])) {
        $where .= " AND ( o.ouid = :ouid OR o.parent_path LIKE '%,:ouid,%' OR  o.parent_path LIKE '%:ouid,%' OR o.parent_path LIKE '%,:ouid%' ) ";
        $whereParams[":ouid"] = $_REQUEST["ouid"];
    }
    if (!empty($_POST["from_PersonID"])) {
        $where .= " AND p.PersonID >= :f_personid";
        $whereParams[":f_personid"] = $_POST["from_PersonID"];
    }
    if (!empty($_POST["to_PersonID"])) {
        $where .= " AND p.PersonID <= :t_personid";
        $whereParams[":t_personid"] = $_POST["to_PersonID"];
    }
    if (!empty($_POST["from_issue_date"])) {
        $where .= " AND issue_date <= :f_issue_date";
        $whereParams[":f_issue_date"] = $_POST["from_issue_date"];
    }
    if (!empty($_POST["to_issue_date"])) {
        $where .= " AND issue_date >= :t_issue_date";
        $whereParams[":t_issue_date"] = $_POST["to_issue_date"];
    }
    if (!empty($_POST["execute_date"])) {
        $execute_date = DateModules::Shamsi_to_Miladi($_POST["execute_date"]);
        $where .= " AND execute_date = :exe_date";
        $whereParams[":exe_date"] = $execute_date;
    }
    if (!empty($_POST["writ_type_id"])) {
        $where .= " AND w.writ_type_id = :writ_type_id";
        $whereParams[":writ_type_id"] = $_POST["writ_type_id"];
    }
    if (!empty($_POST["writ_subtype_id"])) {
        $where .= " AND w.writ_subtype_id = :writ_subtype_id";
        $whereParams[":writ_subtype_id"] = $_POST["writ_subtype_id"];
    }
    //-----------------------------------------------------------------
    /*$where .= " AND bf.MasterID in (1,2) AND 
      if( tbl1.personid is not null , bf.MasterID in (1) , ( bf.MasterID in (1,2) and  tbl1.personid is null  ) )" ; */
    $query = "SELECT s.staff_id,\n\t\t    \t   w.writ_id,\n\t\t           w.writ_ver,\n\t\t           w.writ_type_id,\n\t\t           w.writ_subtype_id,\n\t\t           w.issue_date,\n\t\t           w.execute_date,\n\t\t           p.pfname,\n\t\t\t   p.plname\n\t\t\t  \n\t\n\t\t    FROM writs w\n\t\t    \tJOIN org_new_units o ON(w.ouid=o.ouid)\n\t\t\t\tJOIN staff s ON (s.staff_id=w.staff_id)\n\t\t\t\t\n                JOIN persons p ON(s.PersonID = p.PersonID and s.person_type=p.person_type)\t\t\t\t\n                \n\t\t    WHERE " . $where;
    /*inner join Basic_Info bf on(bf.TypeID=6 AND bf.InfoID=w.education_level)
    		left join (select personid
    			    from bases
    			    where BaseType in(4) AND
    
    				BaseStatus = 'NORMAL')  tbl1 
    				
    			on tbl1.personid = s.personid*/
    $staff_dt = PdoDataAccess::runquery($query, $whereParams);
    //echo PdoDataAccess::GetLatestQueryString() ; die() ;
    if (count($staff_dt) == 0) {
        echo "موارد انتخابی شما هیچ حکمی را برای ابطال شامل نمی شود.";
        die;
    }
    $log_obj = new manage_writ_group_cancel_log();
    $success_count = 0;
    $unsuccess_count = 0;
    for ($index = 0; $index < count($staff_dt); $index++) {
        /*if(manage_writ::IsUsed($staff_dt[$index]["writ_id"], $staff_dt[$index]["writ_ver"], $staff_dt[$index]["staff_id"]))
        		{
        			ExceptionHandler::PushException("از حکم در جای دیگری استفاده شده است.");
        			$log_obj->make_unsuccess_rows($staff_dt[$index], ExceptionHandler::GetExceptionsToString("<br>"));
        			$unsuccess_count++;
        		}*/
        if (manage_writ::get_writ_state($staff_dt[$index]["writ_id"], $staff_dt[$index]["writ_ver"], $staff_dt[$index]["staff_id"]) != WRIT_PERSONAL) {
            ExceptionHandler::PushException("این حکم منتقل شده است.");
            $log_obj->make_unsuccess_rows($staff_dt[$index]);
            $unsuccess_count++;
        } else {
            if (!manage_writ::RemoveWrit($staff_dt[$index]["writ_id"], $staff_dt[$index]["writ_ver"], $staff_dt[$index]["staff_id"])) {
                $log_obj->make_unsuccess_rows($staff_dt[$index]);
                $unsuccess_count++;
            } else {
                $log_obj->make_success_row($staff_dt[$index]);
                $success_count++;
            }
        }
        /*if($index == 0)
        		{
        			$log_obj->finalize();
        			echo $log_obj->make_result();
        			die();
        		}*/
    }
    $log_obj->finalize();
    echo $log_obj->make_result();
    die;
}
示例#9
0
	private function compute_salary_other_premium($writ_rec) {

		//$param1 گروه معادل استخدام كشوري افراد
		//$param2 افزايش سنواتي سال جاري
		//$param3 افزايش سنواتي سال قبل
		//$param4 ضريب فوق العاده شغل .
		//$param5 ضريب فوق العاده جذب

		$worker_salary = $this->compute_writ_items_sum($writ_rec["writ_id"], $writ_rec["writ_ver"], $writ_rec["staff_id"]
				, '( ' . SIT_WORKER_BASE_SALARY . ' , ' . SIT_WORKER_ANNUAL_INC . ')');

		// ________________________________________
		//compute_other_premium_base_salary
		$rial_coef = manage_salary_params::get_salaryParam_value("", $writ_rec["person_type"].",101", SPT_RIAL_COEF, $writ_rec['execute_date']);
		if (!$rial_coef) {
			parent::PushException(RIAL_COEF_NOT_FOUND);
			return false;
		}

		$worker_emp_base_salary = $rial_coef * manage_writ_item::Get_employee_base_number($this->param1);
		//_________________________________________

		$worker_emp_annual_inc = $this->param2;
		$worker_emp_job_extra = $this->param4 * $worker_emp_base_salary;

		//_________________________________________
		//compute_other_premium_min_salary

		$min_sal_value = manage_salary_params::get_salaryParam_value("", $writ_rec["person_type"].",101", SPT_MIN_SALARY, $writ_rec['execute_date']);
		$worker_emp_min_salary = max($min_sal_value - ($worker_emp_base_salary + $worker_emp_annual_inc + $worker_emp_job_extra), 0);
		//_________________________________________
		//compute_other_premium_absorb_extra
		$worker_emp_absorb_extra = $this->param5 *
				($worker_emp_base_salary + $worker_emp_annual_inc + $worker_emp_job_extra + $worker_emp_min_salary);
		//_________________________________________
		//compute_other_premium_bad_weather_extra
		$worker_emp_bad_wheader = 0;

		if ($writ_rec['emp_mode'] == EMP_MODE_ENGAGEMENT || $writ_rec['emp_mode'] == EMP_MODE_EDUCATIONAL_MISSION)
			$worker_emp_bad_wheader = 0;

		$this->param1 = manage_salary_params::get_salaryParam_value("", $writ_rec["person_type"].",101", SPT_WHEATHER_COEF, $writ_rec['execute_date']);
		if (!$this->param1) {
			parent::PushException('WHEATHER_COEF_NOT_FOUND');
			$worker_emp_bad_wheader = 0;
		}
		$value = $this->param1 * $worker_emp_base_salary;
		if (!($value > 0)) {
			parent::PushException('WHEATHER_ITEM_CALC_ERR');
			$worker_emp_bad_wheader = 0;
		}
		//_________________________________________
		//compute_other_premium_8_9_absorb
		//// محاسبه فوق العاده جذب بندهاي 8 و 9
		// به دست آوردن اولين روز سال قبل
		$this_writ_year = substr(DateModules::Miladi_to_Shamsi($writ_rec['execute_date']), 0, 4);
		$one_year_ago = $this_writ_year - 1;
		$one_year_ago_first_day = $one_year_ago . "/01/01";
		$Gone_year_ago_first_day = DateModules::Shamsi_to_Miladi($one_year_ago_first_day);

		// ضريب ريالي سال قبل
		$rial_coef = manage_salary_params::get_salaryParam_value("", $writ_rec["person_type"].",101", SPT_RIAL_COEF, $Gone_year_ago_first_day);
		if (!$rial_coef) {
			parent::PushException('RIAL_COEF_NOT_FOUND');
			return false;
		}

		// حقوق پايه سال قبل
		$prior_base_salary = $rial_coef * manage_writ_item::Get_employee_base_number($this->param1);

		// افزايش سنواتي سال قبل
		$prior_annual_inc = $this->param3;

		//فوق العاده شغل سال قبل
		$prior_job_extra = $prior_base_salary * $this->param4;

		// حداقل دريافتي سال قبل
		$min_sal_value = manage_salary_params::get_salaryParam_value("", $writ_rec["person_type"].",101", SPT_MIN_SALARY, $Gone_year_ago_first_day);
		$prior_min_salary = max($min_sal_value - ($prior_base_salary + $prior_annual_inc + $prior_job_extra), 0);

		// جمع اقلام مرتبط با فوق العاده تعديل
		$adjust_sal_items_sum = $prior_base_salary + $prior_annual_inc + $prior_job_extra + $prior_min_salary;

		// محاسبه فوق العاده تعديل سال قبل
		$max_value = manage_writ_item::Get_employee_base_number(1) * $rial_coef * 1.5;
		if ($adjust_sal_items_sum <= 3000000)
			$value = $max_value;
		elseif ($adjust_sal_items_sum >= 5700000)
			$value = 0;
		else
			$value = (1 - (intval(($adjust_sal_items_sum - 3000000) / 300000) + 1) * 0.1) * $max_value;

		$worker_emp_8_9_absorb = $value * 1.5;
		//_________________________________________

		$worker_emp_salary =
				$worker_emp_base_salary +
				$worker_emp_annual_inc +
				$worker_emp_job_extra +
				$worker_emp_min_salary +
				$worker_emp_absorb_extra +
				$worker_emp_bad_wheader +
				$worker_emp_8_9_absorb;

		$this->param6 = $worker_salary;

		$this->param7 = 'حقوق پايه:' . intval($worker_emp_base_salary) . '<br>' .
				'سنوات:' . intval($worker_emp_annual_inc) . '<br>' .
				'ف شغل:' . intval($worker_emp_job_extra) . '<br>' .
				'حداقل:' . intval($worker_emp_min_salary) . '<br>' .
				'ف جذب:' . intval($worker_emp_absorb_extra) . '<br>' .
				'ف بدي آب و هوا:' . intval($worker_emp_bad_wheader) . '<br>' .
				'جذب 8 و 9 ر:' . intval($worker_emp_8_9_absorb) . '<br>' .
				'جمع:' . intval($worker_emp_salary);

		$this->param2 = CurrencyModulesclass::toCurrency($this->param2);
		$value = max((11 / 12) * $worker_emp_salary - $worker_salary, 0);

		if (!($value > 0))
			return false;
		return $value;
	}
示例#10
0
     }
     break;
 case "TEXT":
     if (!empty($_POST["TEXT:" . $column_id])) {
         $QUERY_WHERE .= " AND " . $field_name . " LIKE :t" . $column_id;
         $whereParam[":t" . $column_id] = $_POST["TEXT:" . $column_id];
     }
     break;
 case "DATE":
     if (!empty($_POST["FDATE:" . $column_id])) {
         $QUERY_WHERE .= " AND " . $field_name . ">= :f" . $column_id;
         $whereParam[":f" . $column_id] = DateModules::Shamsi_to_Miladi($_POST["FDATE:" . $column_id]);
     }
     if (!empty($_POST["TDATE:" . $column_id])) {
         $QUERY_WHERE .= " AND " . $field_name . "<= :t" . $column_id;
         $whereParam[":t" . $column_id] = DateModules::Shamsi_to_Miladi($_POST["TDATE:" . $column_id]);
     }
     break;
 case "SELECT":
     if (isset($_POST["SELECT:" . $column_id]) && $_POST["SELECT:" . $column_id] != -1) {
         if (strpos($base_field, "ouid") !== false) {
             preg_match_all('/tbl[0-9]*/', $columns[$i]["field"], $prefix);
             $prefix = $prefix[0][count($prefix[0]) - 1];
             $org = QueryHelper::MK_org_units($_POST["SELECT:" . $columns[$i]["column_id"]], true, $prefix);
             if ($org["where"] != "") {
                 $QUERY_WHERE .= " AND " . $org["where"];
                 $whereParam = array_merge($whereParam, $org["param"]);
             }
         } else {
             $QUERY_WHERE .= " AND " . $base_field . " = :f" . $i;
             $whereParam[":f" . $i] = $_POST["SELECT:" . $column_id];
示例#11
0
function FillPersonItems($src)
{
    $obj = new manage_person();
    $obj->birth_date = DateModules::Shamsi_to_Miladi($src["birth_date"]);
    $obj->issue_date = DateModules::Shamsi_to_Miladi($src["issue_date"]);
    $obj->military_from_date = DateModules::Shamsi_to_Miladi($src["military_from_date"]);
    $obj->military_to_date = DateModules::Shamsi_to_Miladi($src["military_to_date"]);
    $arr = get_object_vars($obj);
    $KeyArr = array_keys($arr);
    for ($i = 0; $i < count($arr); $i++) {
        eval("\$obj->" . $KeyArr[$i] . " = (isset(\$src) && isset(\$src['" . $KeyArr[$i] . "'])) \n\t\t\t? \$src ['" . $KeyArr[$i] . "'] : '';");
    }
    return $obj;
}
示例#12
0
 /**
  *  آخرين حکم سال قبل فرد را نسبت به تاريخ فرستاده شده برمي گرداند
  *
  *  @return manage_writ object
  */
 static function get_last_writ_of_prior_year($staff_id, $current_execute_date)
 {
     $this_writ_year = substr(DateModules::Miladi_to_Shamsi($current_execute_date), 0, 4);
     $one_year_ago = $this_writ_year - 1;
     $prior_writ = manage_writ::get_last_writ_by_date($staff_id, DateModules::Shamsi_to_Miladi($one_year_ago . "-12-30"));
     return $prior_writ;
 }
示例#13
0
 static function get_devotions_coefs($staff_id, $from_j_year, $to_j_year)
 {
     $query = "SELECT pd.*\n                             FROM staff s\n                             INNER JOIN persons p\n                                ON p.personID = s.personID\n                             INNER JOIN person_devotions pd\n                                ON pd.personID = p.personID\n                             WHERE s.staff_id = {$staff_id}\n                             ORDER BY letter_date ";
     $res = parent::runquery($query);
     $dv_types = array(DEVOTION_TYPE_FIGHTER, DEVOTION_TYPE_PRISONER, DEVOTION_TYPE_WOUNDED);
     $devotions = array();
     for ($j = $from_j_year; $j <= $to_j_year; $j++) {
         $devotions[$j][DEVOTION_TYPE_FIGHTER] = 0;
         $devotions[$j][DEVOTION_TYPE_PRISONER] = 0;
         $devotions[$j][DEVOTION_TYPE_WOUNDED] = 0;
     }
     foreach ($dv_types as $dv_type) {
         $is_first = true;
         for ($i = 0; $i < count($res); $i++) {
             if ($res[$i]['devotion_type'] == $dv_type) {
                 $cur_j_date = '01/01/' . $from_j_year;
                 $cur_g_date = DateModules::Shamsi_to_Miladi($cur_j_date);
                 //اولين سابقه از پارامتر ورودي تاريخ شروع محاسبه مي شود نه از تاريخ نامه
                 if ($is_first || $dv_type != DEVOTION_TYPE_WOUNDED) {
                     $res[$i]['letter_date'] = $cur_g_date;
                     $is_first = false;
                 }
                 $tmp_from_j_year = $from_j_year;
                 while (str_replace("-", "/", $res[$i]['letter_date']) > $cur_g_date && $from_j_year <= $to_j_year) {
                     $from_j_year++;
                     $cur_j_date = '01/01/' . $from_j_year;
                     $cur_g_date = DateModules::Shamsi_to_Miladi($cur_j_date);
                 }
                 while ($from_j_year <= $to_j_year) {
                     // محاسبه ضرايب ايثارگري
                     if ($dv_type == DEVOTION_TYPE_FIGHTER) {
                         if ($res[$i]['enlisted']) {
                             $coef = 0.06 / 356;
                         } else {
                             $coef = 0.03 / 365;
                         }
                         $devotions[$from_j_year][$dv_type] += $coef * $res[$i]['amount'];
                     } else {
                         if ($dv_type == DEVOTION_TYPE_PRISONER) {
                             $devotions[$from_j_year][$dv_type] = $res[$i]['amount'] * 0.06 / 365;
                         } else {
                             if ($dv_type == DEVOTION_TYPE_WOUNDED) {
                                 $devotions[$from_j_year][$dv_type] = $res[$i]['amount'] * 0.1 * 0.06;
                             }
                         }
                     }
                     $from_j_year++;
                     $cur_j_date = '01/01/' . $from_j_year;
                     $cur_g_date = DateModules::Shamsi_to_Miladi($cur_j_date);
                 }
                 $from_j_year = $tmp_from_j_year;
             }
         }
     }
     return $devotions;
 }
if (!empty($_POST['TINT:78']) && $_POST['TINT:78'] > 0 && $_POST['TINT:78'] < 41) {
    $to_base = $_POST['TINT:78'];
} else {
    $to_base = 40;
}
if (empty($_POST['SELECT:77']) || $_POST['SELECT:77'] == -1) {
    $from_science_level = 1;
    $to_science_level = 5;
} else {
    $from_science_level = $_POST['SELECT:77'];
    $to_science_level = $_POST['SELECT:77'];
}
$work_state_id = !empty($_POST['SELECT:93']) && $_POST['SELECT:93'] != '-1' ? $_POST['SELECT:93'] : '19';
$work_city_id = !empty($_POST['SELECT:94']) && $_POST['SELECT:94'] != '-1' ? $_POST['SELECT:94'] : '11';
$emp_state = 4;
$execute_date = !empty($_POST['FDATE:72']) ? DateModules::Shamsi_to_Miladi($_POST['FDATE:72']) : DateModules::Now();
$recordSet = compute_professors_salary_params($from_base, $to_base, $from_science_level, $to_science_level, $work_state_id, $work_city_id, $execute_date, $emp_state);
$content = "";
for ($i = 0; $i < count($recordSet); $i++) {
    $content .= "<tr><td>" . ($i + 1) . "</td>" . "<td>" . number_format(round($recordSet[$i]['total_sum'])) . "</td>" . "<td>" . number_format(round($recordSet[$i]['vijeh_extra'])) . "</td>" . "<td>" . number_format(round($recordSet[$i]['special_extra'])) . "</td>" . "<td>" . number_format(round($recordSet[$i]['absorb_extra'])) . "</td>" . "<td>" . number_format(round($recordSet[$i]['weather_bad_extra'])) . "</td>" . "<td>" . number_format(round($recordSet[$i]['base_salary'])) . "</td>" . "<td>" . $recordSet[$i]['base'] . "</td>" . "<td>" . $recordSet[$i]['science_level'] . "</td></tr>";
}
$tags = array('<!--data-->' => $content, '<!--now-->' => DateModules::shNow());
$content = file_get_contents("../../reports/proffesor_salary_param.html");
$content = str_replace(array_keys($tags), array_values($tags), $content);
echo $content;
die;
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