public function addAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $businessunit_id = $auth->getStorage()->read()->businessunit_id; $department_id = $auth->getStorage()->read()->department_id; } $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $errorMsg = ''; $empSummaryModel = new Default_Model_Employee(); $empData = $empSummaryModel->getEmp_from_summary($loginUserId); $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessunit_id, $department_id); //echo "<pre>";print_r($appImpleData);echo "</pre>"; $appInitModel = new Default_Model_Appraisalinit(); $appraisalInitForm = new Default_Form_Appraisalinit(); if (count($appImpleData) > 0) { $this->view->imple_data = $appImpleData; $checkActiveApp = $appInitModel->checkAppraisalExists($businessunit_id, $department_id); if (count($checkActiveApp) == 0) { $appraisalInitForm->businessunit_name->setValue($empData['businessunit_name']); if ($appImpleData['performance_app_flag'] == 0) { $appraisalInitForm->department_name->setValue($empData['department_name']); } else { $appraisalInitForm->removeElement("department_name"); } $appraisalInitForm->businessunit_id->setValue($empData['businessunit_id']); $appraisalInitForm->department_id->setValue($empData['department_id']); $appraisalInitForm->appraisal_mode->setValue($appImpleData['appraisal_mode']); $employmentstatusModel = new Default_Model_Employmentstatus(); $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $appraisalInitForm->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } else { $msgarray['eligibility'] = 'Employment status is not configured yet.'; } } else { $errorMsg = 'Appraisal process is already initialized.'; } } else { $errorMsg = 'Appraisal process is not yet configured.'; } $msgarray = array(); $appraisalInitForm->setAttrib('action', DOMAIN . 'appraisalinit/add'); $this->view->form = $appraisalInitForm; $this->view->msgarray = $msgarray; $this->view->ermsg = $errorMsg; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalInitForm); $this->view->msgarray = $result; } $this->render('form'); }
public function addAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $businessUnit = $auth->getStorage()->read()->businessunit_id; $department = $auth->getStorage()->read()->department_id; } $callval = $this->getRequest()->getParam('call'); $errorMsg = ''; $msgarray = array(); $buOptions = ''; $deptOptions = ''; $performanceappflag = ''; $appraisalratingsform = new Default_Form_Appraisalratings(); $appInitModel = new Default_Model_Appraisalinit(); if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnit, $department); if (count($appImpleData) > 0) { $this->view->imple_data = $appImpleData; $checkActiveApp = $appInitModel->checkAppraisalExists($businessUnit, $department, $appImpleData['performance_app_flag']); if (count($checkActiveApp) > 0) { $checkActiveApp = $checkActiveApp[0]; $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisal_rating = $appImpleData['appraisal_ratings']; $id = $appImpleData['id']; $initializationid = $checkActiveApp['id']; $appraisal_rating = $appraisal_rating == 1 ? 5 : 10; $data = $appraisalratingsmodel->getAppraisalRatingsbyInitId($initializationid); if (!empty($data)) { //$edit = self::editAction($initializationid); $appInitdata = $appInitModel->getConfigData($data[0]['pa_initialization_id']); $appraisalratingsform->setAttrib('action', DOMAIN . 'appraisalratings/edit/id/' . $id); $this->view->data = $data; $this->view->checkActiveApp = $appInitdata[0]; } else { $appraisalratingsform->setAttrib('action', DOMAIN . 'appraisalratings/add'); $this->view->appraisal_rating = $appraisal_rating; $this->view->checkActiveApp = $checkActiveApp; } if ($this->getRequest()->getPost()) { $result = $this->save($appraisalratingsform); $this->view->msgarray = $result; } /* Fetch business unit and department name*/ $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnit, $department); $performanceappflag = $appImpleData['performance_app_flag']; $optionsArray = $this->buildoptions($businessUnit, $department, $performanceappflag); $buOptions = $optionsArray['buoptions']; $deptOptions = isset($optionsArray['deptoptions']) ? $optionsArray['deptoptions'] : ''; /* End */ $this->view->performanceappflag = $performanceappflag; $this->view->buOptions = $buOptions; $this->view->deptOptions = $deptOptions; $this->view->form = $appraisalratingsform; $this->view->msgarray = $msgarray; $this->view->appraisal_rating = $appraisal_rating; } else { $errorMsg = 'Active Appraisal process is not there.'; } } else { $errorMsg = 'Appraisal process is not yet configured.'; } $this->view->ermsg = $errorMsg; $this->render('form'); } else { $bunitModel = new Default_Model_Businessunits(); $flag = 1; //$bunitdataArr = $bunitModel->fetchAll('isactive=1','unitname')->toArray(); $bunitdataArr = $appInitModel->getbusinnessunits_initialized(''); $this->view->bunitdataarr = $bunitdataArr; $this->view->flag = $flag; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalratingsform); $this->view->msgarray = $result; } $this->render('managementform'); } }
public function employeestatusAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('employeestatus', 'html')->initContext(); $flag = $this->_request->getParam('flag'); $appraisalid = $this->_request->getParam('appraisalid'); $department_id = $this->_request->getParam('deptid'); $businessunit_id = $this->_request->getParam('bunitid'); $performanceappflag = $this->_request->getParam('perf_app_flag'); $app_status = $this->_request->getParam('app_status'); $appqsprivilegesModel = new Default_Model_Appraisalqsmain(); $appempModel = new Default_Model_Appraisalgroupemployees(); $appInitModel = new Default_Model_Appraisalinit(); $empratingsModel = new Default_Model_Appraisalemployeeratings(); $employeeIds = ''; $msgarray = array(); $employeeArr = array(); $getEmployeeRatingsArr = array(); $errorMsg = ''; $budeptArr = array(); if ($flag == 1) { if ($appraisalid) { $getEmployeeRatingsArr = $empratingsModel->getEmployeeIds($appraisalid, '', $app_status); if (!empty($getEmployeeRatingsArr)) { foreach ($getEmployeeRatingsArr as $ids) { $employeeIds .= $ids['employee_id'] . ','; } $employeeIds = rtrim($employeeIds, ','); } if ($employeeIds != '') { $employeedetailsArr = $appempModel->getEmployeeList(array(), $employeeIds, 2); } if (!empty($employeedetailsArr)) { foreach ($employeedetailsArr as $key => $val) { $employeeArr[$val['user_id']] = $val; } } //$budeptArr = $this->getbudeptname($appraisalid); $budeptArr = sapp_Global::getbudeptname($appraisalid); } } else { $checkActiveApp = $appInitModel->checkAppraisalExists($businessunit_id, $department_id, $performanceappflag); if (count($checkActiveApp) > 0) { $checkActiveApp = $checkActiveApp[0]; if ($checkActiveApp['enable_step'] == 2 && $checkActiveApp['status'] == 1) { $appraisalid = $checkActiveApp['id']; $getEmployeeRatingsArr = $empratingsModel->getEmployeeIds($checkActiveApp['id'], '', $app_status); if (!empty($getEmployeeRatingsArr)) { foreach ($getEmployeeRatingsArr as $ids) { $employeeIds .= $ids['employee_id'] . ','; } $employeeIds = rtrim($employeeIds, ','); } if ($employeeIds != '') { $employeedetailsArr = $appempModel->getEmployeeList(array(), $employeeIds, 2); } if (!empty($employeedetailsArr)) { foreach ($employeedetailsArr as $key => $val) { $employeeArr[$val['user_id']] = $val; } } } else { if ($checkActiveApp['enable_step'] == 1) { $errorMsg = 'Appraisal process is enabled to managers.'; } if ($checkActiveApp['status'] == 2) { $errorMsg = 'Appraisal process is closed.'; } } //$budeptArr = $this->getbudeptname($checkActiveApp['id']); $budeptArr = sapp_Global::getbudeptname($checkActiveApp['id']); } else { $errorMsg = 'Appraisal process is not yet configured.'; } } $this->view->flag = $flag; $this->view->msgarray = $msgarray; $this->view->ermsg = $errorMsg; $this->view->employeeArr = $employeeArr; $this->view->employeeratingsArr = $getEmployeeRatingsArr; $this->view->appraisalid = $appraisalid; $this->view->budeptArr = $budeptArr; }
public function addAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $businessunit_id = $auth->getStorage()->read()->businessunit_id; $department_id = $auth->getStorage()->read()->department_id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $this->view->loginuserRole = $loginuserRole; $this->view->loginuserGroup = $loginuserGroup; $ratings = ''; $eligibilityvalue = ''; $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $errorMsg = ''; $appraisalInitForm = new Default_Form_Appraisalinit(); $appInitModel = new Default_Model_Appraisalinit(); if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { $empSummaryModel = new Default_Model_Employee(); $empData = $empSummaryModel->getEmp_from_summary($loginUserId); $this->view->businessunit_id = $businessunit_id; $checkActiveApp = $appInitModel->checkAppraisalExists($businessunit_id, $department_id); if (count($checkActiveApp) == 0) { $appraisalInitForm->businessunit_name->setValue($empData['businessunit_name']); $appraisalInitForm->department_name->setValue($empData['department_name']); $appraisalInitForm->department_id->setValue($empData['department_id']); $appraisalInitForm->businessunit_id->setValue($empData['businessunit_id']); } else { $errorMsg = 'Appraisal process is already initialized.'; } } else { $businessunits = $appInitModel->getbusinnessunits_admin(''); $this->view->businessunits = $businessunits; $this->view->businessunit_id = $businessunit_id; } $employmentstatusModel = new Default_Model_Employmentstatus(); $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $appraisalInitForm->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); $appraisalInitForm->eligibility_hidden->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); $eligibilityvalue .= $employmentStatusres['workcodename'] . ','; } $eligibilityvalue = rtrim($eligibilityvalue, ','); } else { $msgarray['eligibility'] = 'Employment status is not configured yet.'; } if ($eligibilityvalue != '') { $appraisalInitForm->eligibility_value->setValue($eligibilityvalue); } $appraisalInitForm->eligibilityflag->setValue('1'); $appraisalInitForm->eligibility_hidden->setAttrib("disabled", "disabled"); $category_model = new Default_Model_Appraisalcategory(); $category_data = $category_model->getAppraisalCategorysData(); foreach ($category_data as $cdata) { $appraisalInitForm->category_id->addMultiOption($cdata['id'], $cdata['category_name']); } $msgarray = array(); $appraisalInitForm->setAttrib('action', BASE_URL . 'appraisalinit/add'); $this->view->form = $appraisalInitForm; $this->view->msgarray = $msgarray; $this->view->ermsg = $errorMsg; $this->view->ratingsflag = 'true'; $this->view->employmentStatusData = $employmentStatusData; $this->view->eligibilityvalue = $eligibilityvalue; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalInitForm); $this->view->msgarray = $result; } $this->render('form'); }
public function save($appraisalratingsform) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginRole = $auth->getStorage()->read()->emprole; $loginGroup = $auth->getStorage()->read()->group_id; $businessUnit = $auth->getStorage()->read()->businessunit_id; $department = $auth->getStorage()->read()->department_id; $loginUserfullname = $auth->getStorage()->read()->userfullname; $loginUserEmpId = $auth->getStorage()->read()->employeeId; } $appraisalratingsmodel = new Default_Model_Appraisalratings(); $app_init_model = new Default_Model_Appraisalinit(); if ($loginRole != SUPERADMINROLE && $loginGroup != MANAGEMENT_GROUP) { $businessUnit = $businessUnit; $department = $department; } else { $businessUnit = $this->_request->getParam('businessunit'); $department = $this->_request->getParam('departmentid'); } $res = $app_init_model->checkAppraisalExists($businessUnit, $department); $implementation = isset($res[0]['performance_app_flag']) ? $res[0]['performance_app_flag'] : NULL; $rating_type = !empty($res[0]['appraisal_ratings']) ? $res[0]['appraisal_ratings'] : NULL; $configured_id = 0; $msgarray = array(); $resultArr = array(); $errorflag = "true"; $id = $this->_request->getParam('id'); $dept_id = $this->_request->getParam('departmentid'); $implementation = is_numeric($dept_id) && $dept_id > 0 ? 0 : 1; $appraisal_ratings = $this->_request->getParam('appraisal_rating'); $appraisalid = $this->_request->getParam('appraisalid'); $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); $actionflag = ''; try { if ($id != '') { for ($i = 0; $i < $appraisal_ratings; $i++) { $rating_text = $this->_request->getParam('rating_text_' . ($i + 1)); $update_id = $this->_request->getParam('update_id_' . ($i + 1)); /* for Update record */ $where = array('id=?' => $update_id); $actionflag = 2; $tableid = ''; $data = array('rating_text' => $rating_text, 'modifiedby_role' => $loginRole, 'modifiedby_group' => $loginGroup, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $Id = $appraisalratingsmodel->SaveorUpdateAppraisalRatingsData($data, $where); } } else { for ($i = 0; $i < $appraisal_ratings; $i++) { $rating_text = $this->_request->getParam('rating_text_' . $i); $tableid = ''; $data = array('pa_configured_id' => $configured_id, 'pa_initialization_id' => $appraisalid, 'rating_type' => $rating_type, 'rating_value' => $i + 1, 'rating_text' => $rating_text, 'createdby_role' => $loginRole, 'createdby_group' => $loginGroup, 'modifiedby_role' => $loginRole, 'modifiedby_group' => $loginGroup, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $where = ''; $actionflag = 1; $Id = $appraisalratingsmodel->SaveorUpdateAppraisalRatingsData($data, $where); } } if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Ratings updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Ratings added successfully.")); } /* * Logs Storing */ $menuID = APPRAISALRATINGS; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisal_details = $appraisalratingsmodel->getappdata($appraisalid); if (!empty($appraisal_details)) { $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; } /** Start * Sending Mails to employees */ $appraisalconfigmodel = new Default_Model_Appraisalconfig(); if ($implementation == 0) { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, $department); } else { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, ''); } $msg_add_update = $Id == 'update' ? "updated" : "configured"; $dept_str = $dept == '' ? " " : "and department <b>{$dept}</b> "; $emp_id_str = $loginRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; //Preparing Employee array for Bcc $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } //echo "<pre>";print_r($empArr);die(); $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Ratings ' . ucfirst($msg_add_update); $options['header'] = 'Performance Appraisal : Ratings'; $options['bcc'] = $empArr; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['message'] = "<div style='padding: 0; text-align: left; font-size:14px; font-family:Arial, Helvetica, sans-serif;'>\t\t\t\t\n\t\t\t<span style='color:#3b3b3b;'>Hi,</span><br />\n\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Performance appraisal ratings have been {$msg_add_update} for the year <b>{$to_year}</b> for business unit <b>{$bunit}</b> {$dept_str} by " . $loginUserfullname . $emp_id_str . " </div>\n\t\t\t<div style='padding:20px 0 10px 0;'>Please <a href=" . BASE_URL . " target='_blank' style='color:#b3512f;'>click here</a> to login to your <b>" . APPLICATION_NAME . "</b> account.</div>\n\t\t\t</div> "; $mail_id = sapp_Global::_sendEmail($options); /** * End mails sending */ $db->commit(); $this->_redirect('appraisalratings'); } catch (Exception $e) { $db->rollBack(); echo $e->getMessage(); echo $e->getTraceAsString(); return $msgarray; } }
/** * This method will support getgrid method to get details. * @param string $sort = type of sort like asc,desc * @param string $by = column name to be sort * @param type $pageNo = page number * @param type $perPage = records per page * @param string $searchQuery = query generated by using search values. * @return Resultset Resultset of appraisal manager data. */ public function getAppraisalManagerData($sort, $by, $pageNo, $perPage, $searchQuery) { $appraisalinit_model = new Default_Model_Appraisalinit(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $businessunit_id = $auth->getStorage()->read()->businessunit_id; $department_id = $auth->getStorage()->read()->department_id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $where = " ai.isactive = 1 "; if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { $init_data = $appraisalinit_model->checkAppraisalExists($businessunit_id, $department_id); $where .= " and ai.businessunit_id = '" . $businessunit_id . "' "; $flag = isset($init_data[0]['performance_app_flag']) ? $init_data[0]['performance_app_flag'] : ''; if ($flag == 0) { $where .= " and ai.department_id = '" . $department_id . "' "; } } if ($searchQuery) { $where .= " AND " . $searchQuery; } $db = Zend_Db_Table::getDefaultAdapter(); $appInitData = $this->select()->setIntegrityCheck(false)->from(array('ai' => 'main_pa_initialization'), array('ai.id', 'ai.enable_step', 'org_status' => 'ai.status', 'managerid_status' => 'find_in_set(' . $loginUserId . ',manager_ids)', new Zend_Db_Expr("concat(from_year,'-',to_year) as fin_year"), 'ai.appraisal_mode', new Zend_Db_Expr("CASE WHEN ai.status=1 THEN 'Open' WHEN ai.status=2 THEN 'Closed' ELSE 'Force Closed' END as status"), new Zend_Db_Expr("case when initialize_status = 1 then case when ai.enable_step = 1 then 'Enabled to Managers' when ai.enable_step = 2 then 'Enabled to Employees' end when initialize_status = 2 then 'Initialize later' when initialize_status is null then 'In progress' end as appraisal_process_status"), new Zend_Db_Expr("case when ai.appraisal_mode = 'Quarterly' then concat('Q',ai.appraisal_period) when ai.appraisal_mode = 'Half-yearly' then concat('H',ai.appraisal_period) when ai.appraisal_mode = 'Yearly' then 'Yearly' end as app_period")))->joinInner(array('p' => 'main_pa_questions_privileges'), "p.isactive = 1 and p.pa_initialization_id = ai.id and p.line_manager_1 = " . $loginUserId, array())->joinLeft(array('b' => 'main_businessunits'), "b.id = ai.businessunit_id and b.isactive=1", array('unitname'))->joinLeft(array('d' => 'main_departments'), "d.id = ai.department_id and d.isactive=1", array('deptname'))->where($where)->group('ai.id')->order("{$by} {$sort}")->limitPage($pageNo, $perPage); return $appInitData; }