/** * @param manage_writ $cur_writ */ function compute_automatic_writ_salary_items($cur_writ,$t="") { $query = " select * from HRM_salary_item_types WHERE person_type in ( 3 ) AND compute_place = " . SALARY_ITEM_COMPUTE_PLACE_WRIT . " AND salary_compute_type = " . SALARY_COMPUTE_TYPE_FUNCTION . " AND user_data_entry = " . AUTOMATIC . " AND validity_start_date <= '" . $cur_writ->execute_date . "' AND (validity_end_date >= '" . $cur_writ->execute_date . "' OR validity_end_date IS NULL OR validity_end_date ='0000-00-00' ) ORDER BY ComputeOrder "; $salary_items_DT = parent::runquery_fetchMode($query); for ($i = 0; $i < $salary_items_DT->rowCount(); $i++) { $salary_items_row = $salary_items_DT->fetch(); $query = "SELECT w.writ_id, w.writ_ver, w.execute_date, w.staff_id, s.personID, w.person_type, w.cur_group, w.education_level, w.onduty_year, w.onduty_month, w.onduty_day, w.family_responsible, w.included_children_count, w.post_id, w.emp_mode, w.emp_state, w.job_id, j.job_group, w.marital_status, p.PersonID,p.sex , p.military_duration_day, p.military_duration, s.last_retired_pay, sit.salary_item_type_id, wsi.param1, wsi.param2, wsi.param3, wsi.param4, wsi.param5, wsi.param6, wsi.param7, wsi.value, wsi.automatic, wsi.remember_date, wsi.remember_message, wsi.remembered, sit.salary_compute_type, sit.multiplicand, sit.function_name, sit.user_data_entry, sit.editable_value, s.work_start_date, bf.param1 master_education_level, sit.person_type as sp_person_type FROM HRM_writs as w inner join HRM_staff as s on(w.staff_id = s.staff_id) left join HRM_jobs j on(j.job_id=w.job_id) inner join HRM_persons as p on(s.PersonID = p.PersonID) join BaseInfo bf on(bf.TypeID=56 AND bf.InfoID=w.education_level) join HRM_salary_item_types sit left join HRM_writ_salary_items wsi on(sit.salary_item_type_id=wsi.salary_item_type_id AND wsi.writ_id=w.writ_id AND wsi.writ_ver=w.writ_ver AND wsi.staff_id=w.staff_id) WHERE w.writ_id= " . $cur_writ->writ_id . " and w.writ_ver=" . $cur_writ->writ_ver . " and w.staff_id =" . $cur_writ->staff_id . " and sit.salary_item_type_id = " . $salary_items_row["salary_item_type_id"]; $dt = parent::runquery_fetchMode($query); if ($dt->rowCount() > 0) $wsi_record = $dt->fetch(); else continue; $this->writ_id = $cur_writ->writ_id; $this->writ_ver = $cur_writ->writ_ver; $this->staff_id = $cur_writ->staff_id; $this->salary_item_type_id = $salary_items_row["salary_item_type_id"]; $this->automatic = 1; $this->remember_date = '0000-00-00'; $this->remember_message = $salary_items_row['remember_message']; $function_name = $salary_items_row['function_name']; $this->value = manage_writ_item::$function_name($wsi_record); if ($this->value === false){ return false; } $this->param1 = $wsi_record["param1"]; $this->param2 = $wsi_record["param2"]; $this->param3 = $wsi_record["param3"]; $this->param4 = $wsi_record["param4"]; $this->param5 = $wsi_record["param5"]; $this->param6 = $wsi_record["param6"]; $this->param7 = $wsi_record["param7"]; if ($this->value > 0) { $this->replaceWritItem(); } else manage_writ_item::RemoveWritItem(" writ_id = " . $this->writ_id . " AND writ_ver = " . $this->writ_ver . " AND staff_id = " . $this->staff_id . " AND salary_item_type_id = " . $this->salary_item_type_id); } return true; }
function DeleteItem() { $ret = manage_writ_item::RemoveWritItem("writ_id=:wid and writ_ver=:wver and staff_id=:stid and salary_item_type_id=:sid", array(":wid" => $_POST["writ_id"], ":wver" => $_POST["writ_ver"], ":stid" => $_POST["staff_id"], ":sid" => $_POST["salary_item_type_id"])); echo $ret ? "true" : "false"; die; }