function release_post() { $temp = parent::runquery("SELECT s.staff_id, s.post_id\r\n \t\tFROM position p INNER JOIN staff s ON(s.staff_id = p.staff_id)\r\n \t\tWHERE p.post_id = ? AND s.staff_id=?", array($this->post_id, $this->staff_id)); if (count($temp) == 0) { return true; } if ($temp[0]["post_id"] == $this->post_id) { ExceptionHandler::PushException(CANNT_RELEASE_WRIT_POST); return false; } parent::runquery("update position set staff_id=null where post_id=" . $this->post_id); $daObj = new DataAudit(); $daObj->ActionType = DataAudit::Action_update; $daObj->RelatedPersonType = DataAudit::PersonType_staff; $daObj->RelatedPersonID = $this->staff_id; $daObj->MainObjectID = $this->post_id; $daObj->TableName = "position"; $daObj->description = "آزاد کردن پست اجرایی هیئت علمی"; $daObj->execute(); //------------------ baseinfo update --------------------------- $staffObj = new manage_staff("", "", $this->staff_id); require_once inc_manage_post; manage_posts::baseinfoRelease($staffObj->PersonID, $this->post_id, "آزاد کردن پست اجرایی هیئت علمی"); //-------------------------------------------------------------- return true; }
/** حق شاغل */ private function compute_salary_item2_36($writ_rec) { //param1 : امتیاز //param2 : سنوات خدمت مربوط و مشابه //param3 : دوره های آموزشی //param4 : ضريب امتياز سرپرستي و مديريت //param5 : امتياز کامل //param6 : سنوات خدمت //param7 : تفاوت مبلغ $educQry = " select education_level , doc_date from person_educations where personid =" . $writ_rec['PersonID'] . " and doc_date <= '" . $writ_rec['execute_date'] . "' "; $resEduc = parent::runquery($educQry); $score = 0; $prev_onduty_year = 0; $prev_onduty_month = 0; $prev_onduty_day = 0; $prev_related_onduty_year = 0; $prev_related_onduty_month = 0; $prev_related_onduty_day = 0; $Sum_duty_year = 0; $Sum_related_duty_year = 0; $qry = " SELECT param1 FROM Basic_Info where typeid = 6 and InfoID = " . $writ_rec['education_level']; $res = parent::runquery($qry); $education_level['max_education_level'] = $res[0]['param1']; $person_devotions = manage_person_devotion::get_person_devotions($writ_rec['PersonID'], '(' . DEVOTION_TYPE_WOUNDED . ')'); $devFlag = 0; if ($writ_rec['execute_date'] >= '2010-03-21') { $person_family_shohada = manage_person_devotion::get_person_devotions($writ_rec['PersonID'], '(' . BEHOLDER_FAMILY_DEVOTION . ')', BOY . ',' . DAUGHTER); if (count($person_family_shohada) > 0) { if ($person_family_shohada[0]['devotion_type'] > 0) $devFlag = 1; } } if (count($person_devotions) > 0) { if ($person_devotions[0]['amount'] > 0) $devFlag = 1; } if ($devFlag == 1) { if ($education_level['max_education_level'] < 122) $education_level['max_education_level'] = 122; else if ($education_level['max_education_level'] < 200) $education_level['max_education_level'] = 200; else if ($education_level['max_education_level'] < 300) $education_level['max_education_level'] = 300; else $education_level['max_education_level'] += 100; } //کسانی که دارای مدرک تحصیلی زیر دیپلم هستند. if ($education_level['max_education_level'] < 200) { $score = 1100; //امتیاز مهارت وتوانایی $score += 200; } //کسانی که دارای مدرک تحصیلی دیپلم هستند else if ($education_level['max_education_level'] < 300) { $score = 1200; //امتیاز مهارت وتوانایی $score += 250; } //کسانی که دارای مدرک تحصیلی کاردانی هستند. else if ($education_level['max_education_level'] == 300 || $education_level['max_education_level'] == 301) { $score = 1400; //امتیاز مهارت وتوانایی $score += 300; } //کسانی که دارای مدرک تحصیلی کارشناسی هستند. else if ($education_level['max_education_level'] == 400 || $education_level['max_education_level'] == 401) { $score = 1700; //امتیاز مهارت وتوانایی $score += 400; } //کسانی که دارای مدرک تحصیلی کارشناسی ارشد می باشند. else if ($education_level['max_education_level'] == 500 || $education_level['max_education_level'] == 501) { $score = 2000; //امتیاز مهارت وتوانایی $score += 600; } //کسانی که دارای مدرک تحصیلی دکتری می باشند. else if ($education_level['max_education_level'] > 501) { $score = 2300; //امتیاز مهارت وتوانایی $score += 800; } for ($i = 0; $i < count($resEduc); $i++) { if (isset($resEduc[$i + 1])) { $date = $resEduc[$i + 1]['doc_date']; } else $date = $writ_rec['execute_date']; $last_writ_rec = manage_writ::get_last_writ_by_date($writ_rec['staff_id'], $date); $education_level['max_education_level'] = $resEduc[$i]['education_level']; $myqry = " SELECT param1 FROM Basic_Info where typeid = 6 and InfoID = " . $resEduc[$i]['education_level']; $myres = parent::runquery($myqry); $education_level['max_education_level'] = $myres[0]['param1']; $person_devotions = manage_person_devotion::get_person_devotions($writ_rec['PersonID'], '(' . DEVOTION_TYPE_WOUNDED . ')'); $devFlag = 0; if ($writ_rec['execute_date'] >= '2010-03-21') { $person_family_shohada = manage_person_devotion::get_person_devotions($writ_rec['PersonID'], '(' . BEHOLDER_FAMILY_DEVOTION . ')', BOY . ',' . DAUGHTER); if (count($person_family_shohada) > 0) { if ($person_family_shohada[0]['devotion_type'] > 0) $devFlag = 1; } } /* if($person_devotions[0]['amount']>0 || $person_family_shohada ){ if($education_level['max_education_level']< 122) $education_level['max_education_level'] = 122 ; else if($education_level['max_education_level']< 200) $education_level['max_education_level'] = 200 ; else if($education_level['max_education_level']< 300) $education_level['max_education_level'] = 300 ; else $education_level['max_education_level'] += 100 ; } */ if (count($person_devotions) > 0) { if ($person_devotions[0]['amount'] > 0) $devFlag = 1; } if ($devFlag == 1) { if ($education_level['max_education_level'] < 122) $education_level['max_education_level'] = 122; else if ($education_level['max_education_level'] < 200) $education_level['max_education_level'] = 200; else if ($education_level['max_education_level'] < 300) $education_level['max_education_level'] = 300; else $education_level['max_education_level'] += 100; } $first_duty_day = $prev_onduty_year * 365.25 + $prev_onduty_month * 30.4375 + $prev_onduty_day; $last_duty_day = $last_writ_rec->onduty_year * 365.25 + $last_writ_rec->onduty_month * 30.4375 + $last_writ_rec->onduty_day; $onduty_year = ($last_duty_day - $first_duty_day ) / 365.25; if ($onduty_year >= 30) { $onduty_year = 30; } if (($Sum_duty_year + $onduty_year ) >= 30) { $onduty_year = 30 - $Sum_duty_year; } $Sum_duty_year += $onduty_year; $first_related_duty_day = $prev_related_onduty_year * 365.25 + $prev_related_onduty_month * 30.4375 + $prev_related_onduty_day; $last_related_duty_day = $last_writ_rec->related_onduty_year * 365.25 + $last_writ_rec->related_onduty_month * 30.4375 + $last_writ_rec->related_onduty_day; $related_onduty_year = ($last_related_duty_day - $first_related_duty_day ) / 365.25; if ($related_onduty_year >= 30) { $related_onduty_year = 30; } if (($Sum_related_duty_year + $related_onduty_year ) >= 30) { $related_onduty_year = 30 - $Sum_related_duty_year; } $Sum_related_duty_year += $related_onduty_year; $dev_coef = 1; $related_onduty_year *= $dev_coef; $onduty_year *= $dev_coef; $prev_onduty_year = $last_writ_rec->onduty_year; $prev_onduty_month = $last_writ_rec->onduty_month; $prev_onduty_day = $last_writ_rec->onduty_day; $prev_related_onduty_year = $last_writ_rec->related_onduty_year; $prev_related_onduty_month = $last_writ_rec->related_onduty_month; $prev_related_onduty_day = $last_writ_rec->related_onduty_day; //کسانی که دارای مدرک تحصیلی زیر دیپلم هستند. if ($education_level['max_education_level'] < 200) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 10; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 8; } //کسانی که دارای مدرک تحصیلی دیپلم هستند else if ($education_level['max_education_level'] < 300) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 15; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 10; } //کسانی که دارای مدرک تحصیلی کاردانی هستند. else if ($education_level['max_education_level'] == 300 || $education_level['max_education_level'] == 301) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 20; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 12; } //کسانی که دارای مدرک تحصیلی کارشناسی هستند. else if ($education_level['max_education_level'] == 400 || $education_level['max_education_level'] == 401) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 25; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 14; } //کسانی که دارای مدرک تحصیلی کارشناسی ارشد می باشند. else if ($education_level['max_education_level'] == 500 || $education_level['max_education_level'] == 501) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 30; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 16; } //کسانی که دارای مدرک تحصیلی دکتری می باشند. else if ($education_level['max_education_level'] > 501) { //امتیاز سنوات خدمت در هر سال $score += $onduty_year * 35; //امتیاز تجربه مربوط و مشابه در هر سال $score += $related_onduty_year * 18; } } if ($writ_rec['onduty_year'] >= 30) { $writ_rec['onduty_year'] = 30; $writ_rec['onduty_month'] = 0; $writ_rec['onduty_day'] = 0; } $onduty_year = ($writ_rec['onduty_year'] + ($writ_rec['onduty_month'] / 12) + ($writ_rec['onduty_day'] / 365.25)); if ($writ_rec['related_onduty_year'] >= 30) { $writ_rec['related_onduty_year'] = 30; $writ_rec['related_onduty_month'] = 0; $writ_rec['related_onduty_day'] = 0; } $related_onduty_year = ($writ_rec['related_onduty_year'] + ($writ_rec['related_onduty_month'] / 12) + ($writ_rec['related_onduty_day'] / 365.25)); $this->param2 = round($related_onduty_year, 2); $this->param6 = round($onduty_year, 2); $cqry = " SELECT SUM(total_hours) c_hours FROM staff s INNER JOIN person_courses pc ON (s.PersonID = pc.PersonID) WHERE s.staff_id = " . $writ_rec['staff_id'] . " AND pc.to_date<= '" . $writ_rec['execute_date'] . "'"; $cres = parent::runquery($cqry); $hours = $cres[0]['c_hours']; if ($hours > 1000) { $hours = 1000; } $this->param3 = $hours; $score += ($this->param3 * 0.5); $mng_coef = manage_posts::compute_manager_score_percent($writ_rec["staff_id"],$writ_rec["execute_date"]) / 100; $score = $score + $score * $mng_coef; $this->param4 = $mng_coef; $this->param5 = $score; $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; } $value = $score * $rial_coef; if (!($value > 0)) { return false; } $this->param1 = round($score, 2); //حق شاغل باید حداکثر 75 درصد حق شغل باشد. $hagh_shoghl_value = manage_writ_item::get_writSalaryItem_value($writ_rec['writ_id'], $writ_rec['writ_ver'], $writ_rec["staff_id"], 34); if (($hagh_shoghl_value * 0.75) < $value) { $this->param7 = $value - $hagh_shoghl_value; $value = $hagh_shoghl_value * 0.75; } return $value; }
<?php //--------------------------- // programmer: Jafarkhani // create Date: 89.03 //--------------------------- require_once "../../header.inc.php"; require_once inc_dataGrid; require_once inc_manage_post; $unitsArr = manage_domains::DRP_Units("search", "ouid", "", "همه واحدها", "210", "(parent_ouid='' or parent_ouid is null)"); $drp_post_type = manage_posts::dropdown_post_type("post_type", "", "همه"); ?> <html> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <link rel="stylesheet" type="text/css" href="/generalUI/ext4/resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="/generalUI/ext4/resources/css/ext-rtl.css" /> <link rel="stylesheet" type="text/css" href="/generalUI/ext4/resources/css/icons.css" /> <body dir="rtl" onLoad="document.getElementById('post_no').focus();"> <script type="text/javascript" src="/generalUI/ext4/resources/ext-all.js"></script> <script type="text/javascript" src="/generalUI/ext4/resources/ext-extend.js"></script> <script type="text/javascript" src="/generalUI/ext4/ux/component.js"></script> <script type="text/javascript" src="/generalUI/ext4/ux/message.js"></script> <script type="text/javascript"> Ext.onReady(function(){ new Ext.Button({renderTo : "btn_search", text: "جستجو", iconCls: 'search', handler: searching}); new Ext.panel.Panel({ id : "searchPost", renderTo: "searchPostDIV", contentEl : "searchPostPNL", title: "جستجوی شخص",
public static function RemoveWrit($writ_id, $writ_ver, $staff_id) { $obj = new manage_writ($writ_id, $writ_ver, $staff_id); if (!$obj->onBeforeDelete()) { return false; } $DB = PdoDataAccess::getPdoObject(); /*@var $DB PDO*/ $DB->beginTransaction(); $return = PdoDataAccess::delete("writ_salary_items", "writ_id=:wid AND writ_ver=:wver AND staff_id=:stid", array(":wid" => $obj->writ_id, ":wver" => $obj->writ_ver, ":stid" => $obj->staff_id)); if ($return === false) { $DB->rollBack(); return false; } $return = PdoDataAccess::delete("writs", "writ_id=:wid AND writ_ver=:wver AND staff_id=:stid", array(":wid" => $obj->writ_id, ":wver" => $obj->writ_ver, ":stid" => $obj->staff_id)); if ($return === false) { $DB->rollBack(); return false; } $daObj = new DataAudit(); $daObj->ActionType = DataAudit::Action_delete; $daObj->MainObjectID = $obj->staff_id; $daObj->TableName = "writs"; $daObj->execute(); $last_writ_obj = manage_staff::GetLastWrit($obj->staff_id); if ($last_writ_obj) { //__________________________________________________ // دادن پست حكم قبلي به فرد در صورت خالي بودن اين پست if ($obj->is_last($obj->staff_id, $obj->execute_date) && $last_writ_obj->post_id != $obj->post_id) { if (!manage_posts::change_user_post($obj->staff_id, $obj->post_id, $last_writ_obj->post_id, $obj->execute_date)) { $DB->rollBack(); return false; } } } if ($obj->history_only != HISTORY_ONLY) { if (!manage_writ::change_writ_state(WRIT_PERSONAL, WRIT_PERSONAL, $obj->writ_id, $obj->writ_ver, $obj->staff_id, $obj->execute_date, $DB)) { $DB->rollBack(); return false; } } //__________________________________________________ //در صورت حذف يک حکم نسخه قبلي آن را در صورتي که به حقوق منتقل نشده است فعال مي کند if (!manage_staff::SetStaffLastWrit($obj->staff_id)) { $DB->rollBack(); return false; } $DB->commit(); return true; }
function selectAllPosts() { require_once inc_manage_post; $where = "1=1"; $whereParam = array(); //----------------------- if (!empty($_POST["post_no"])) { $where .= " AND p.post_no=:pno"; $whereParam[":pno"] = $_POST["post_no"]; } if (!empty($_POST["post_type"]) && $_POST["post_type"] != -1) { $where .= " AND p.post_type=:ptype"; $whereParam[":ptype"] = $_POST["post_type"]; } if (!empty($_POST["title"])) { $where .= " AND p.title like :title"; $whereParam[":title"] = "%" . $_POST["title"] . "%"; } if (!empty($_POST["ouid"]) && $_POST["ouid"] != -1) { $result = QueryHelper::MK_org_units($_POST["ouid"], isset($_POST["sub_units"]) ? true : false); $where .= " AND " . $result["where"]; $whereParam = array_merge($whereParam, $result["param"]); } $where .= dataReader::makeOrder(); $temp = manage_posts::GetAllPosts($where, $whereParam); $no = count($temp); $temp = array_slice($temp, $_GET["start"], $_GET["limit"]); for ($i = 0; $i < count($temp); $i++) { if ($temp[$i]["ouid"] != "") { $temp[$i]["full_unit_title"] = manage_units::get_full_title($temp[$i]["ouid"]); } else { $temp[$i]["full_unit_title"] = ""; } } echo dataReader::getJsonData($temp, $no, $_GET["callback"]); die; }
function MovePost() { $obj = new manage_posts(); $obj->parent_post_id = $_POST["desc_post_id"]; $obj->parent_path = $_POST["parent_path"] == "" ? $obj->parent_ouid : $_POST["parent_path"] . "," . $obj->parent_ouid; $obj->post_id = $_POST["source_post_id"]; $obj->EditPost(); echo "true"; die; }
//--------------------------- // programmer: Jafarkhani // create Date: 88.12 //--------------------------- require_once '../header.inc.php'; require_once 'post.data.php'; require_once '../org_units/unit.class.php'; require_once inc_dataReader; $post_id = !empty($_GET["post_id"]) ? $_GET["post_id"] : ""; $obj = new manage_posts($post_id); $drp_job_field = manage_domains::DRP_JobFields("jfid", $obj->jfid, "---", "428"); //$drp_units = manage_units::DRP_Units("ouid", $obj->ouid, "---", "428"); $drp_person_type = manage_domains::DRP_PersonType("person_type", $obj->person_type, "", " "); $event = "onchange='postChange();'"; $drp_post_type = manage_posts::dropdown_post_type("post_type", $obj->post_type, "", "", $event); $drp_kind_super = manage_posts::dropdown_sup_type("SupervisionKind", $obj->SupervisionKind, "-"); $DRP_jcid_jfid = manage_domains::DRP_jcid_jfid("newPostForm", $jcid, $jfid, "jcid", "jfid", $obj->_jcid, $obj->jfid); ?> <script type="text/javascript" src="/HumanResources/global/LOV/LOV.js"></script> <script> new Ext.form.SHDateField({id: 'validity_start',applyTo: 'validity_start',format: 'Y/m/d'}); new Ext.form.SHDateField({id: 'validity_end',applyTo: 'validity_end',format: 'Y/m/d'}); if(document.getElementById('post_type').value == 5) document.getElementById("kind_super").style.display=""; else document.getElementById("kind_super").style.display="none"; var personStore = <?php echo dataReader::MakeStoreObject($js_prefix_address . "personal/persons/data/person.data.php?task=searchPerson&newPersons=true", "'PersonID','pfname','plname','unit_name','person_type','staff_id','personTypeName'"); ?>