public static function check_per_implmentation($businessunit_id, $department_id) { $output = array(); if ($businessunit_id != '') { $model = new Default_Model_Appraisalinit(); $output = $model->check_per_implmentation($businessunit_id, $department_id); } return $output; }
public function editAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->getRequest()->getParam('id'); $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $appraisalinitform = new Default_Form_Appraisalinit(); $appraisalinitform->submit->setLabel('Update'); try { if ($id) { if (is_numeric($id) && $id > 0) { $appraisalinitmodel = new Default_Model_Appraisalinit(); $data = $appraisalinitmodel->getConfigData($id); if (!empty($data)) { $empSummaryModel = new Default_Model_Employee(); $empData = $empSummaryModel->getEmp_from_summary($loginUserId); $appraisalinitform->businessunit_name->setValue($empData['businessunit_name']); $appraisalinitform->department_name->setValue($empData['department_name']); $employmentstatusModel = new Default_Model_Employmentstatus(); $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $appraisalinitform->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } $data = $data[0]; $appraisalinitform->populate($data); $appraisalinitform->setAttrib('action', DOMAIN . 'appraisalinit/edit/id/' . $id); $this->view->data = $data; } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = ''; } } catch (Exception $e) { $this->view->ermsg = 'nodata'; } $this->view->eligibility_value = $data['eligibility']; $this->view->form = $appraisalinitform; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalinitform); $this->view->msgarray = $result; } $this->render('form'); }
public function checkperformanceduedate() { $app_init_model = new Default_Model_Appraisalinit(); $app_ratings_model = new Default_Model_Appraisalemployeeratings(); $active_appraisal_Arr = $app_init_model->getActiveAppraisals(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $app_manager_model = new Default_Model_Appraisalmanager(); $usersmodel = new Default_Model_Users(); $current_day = new DateTime('now'); $current_day->sub(new DateInterval('P1D')); if (!empty($active_appraisal_Arr)) { foreach ($active_appraisal_Arr as $appval) { if ($appval['managers_due_date']) { $manager_due_date = new DateTime($appval['managers_due_date']); } else { $manager_due_date = ''; } if ($appval['employees_due_date']) { $emp_due_date = new DateTime($appval['employees_due_date']); } else { $emp_due_date = ''; } $due_date = $appval['enable_step'] == 2 ? $emp_due_date : $manager_due_date; $interval = $current_day->diff($due_date); $interval->format('%d'); $interval = $interval->days; $appIdArr = array(); $appIdList = ''; if ($interval <= 2) { if ($appval['enable_step'] == 2) { $employeeidArr = $app_ratings_model->getEmployeeIds($appval['id'], 'cron'); if (!empty($employeeidArr)) { $empIdArr = array(); $empIdList = ''; foreach ($employeeidArr as $empval) { array_push($empIdArr, $empval['employee_id']); } if (!empty($empIdArr)) { $empIdList = implode(',', $empIdArr); $employeeDetailsArr = $app_manager_model->getUserDetailsByEmpID($empIdList); //Fetching employee details if (!empty($employeeDetailsArr)) { $empArr = array(); foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); //preparing Bcc array } $optionArr = array('subject' => 'Self Appraisal Submission Pending', 'header' => 'Performance Appraisal', 'toemail' => SUPERADMIN_EMAIL, 'toname' => 'Super Admin', 'bcc' => $empArr, '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\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Hi, </span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Self appraisal submission is pending.</div>\n\t\t\t\t\t\t\t\t\t\t\t\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 to check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> ", 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } } } else { $getLine1ManagerId = $appraisalPrivMainModel->getLine1ManagerIdMain($appval['id']); if (!empty($getLine1ManagerId)) { $empArr = array(); foreach ($getLine1ManagerId as $val) { array_push($empArr, $val['emailaddress']); //preparing Bcc array } $optionArr = array('subject' => 'Manager Appraisal Submission Pending', 'header' => 'Performance Appraisal', 'toemail' => SUPERADMIN_EMAIL, 'toname' => 'Super Admin', 'bcc' => $empArr, '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\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Hi, </span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Manager appraisal submission is pending.</div>\n\t\t\t\t\t\t\t\t\t\t\t\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 to check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> ", 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } } } } }
/** * This action is used to edit the current available appraisal,where manager will manager his/her * employees as groups. */ public function editAction() { $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; } $id = $this->getRequest()->getParam('id'); try { if ($id != '') { //$id = sapp_Global::_decrypt($id); if (is_numeric($id) && $id > 0) { $app_manager_model = new Default_Model_Appraisalmanager(); $appraisal_init_model = new Default_Model_Appraisalinit(); $appraisalQsModel = new Default_Model_Appraisalquestions(); $tablename = 'main_pa_questions_privileges'; $appraisal_data = $appraisal_init_model->getappdata_forview($id); if ($appraisal_data['status'] == 1 && $appraisal_data['enable_step'] == 1) { $appraisal_data['process_status'] = ''; if (!empty($appraisal_data)) { if ($appraisal_data['initialize_status'] == 1) { if ($appraisal_data['enable_step'] == 1) { $appraisal_data['process_status'] = 'Enabled to Managers'; } if ($appraisal_data['enable_step'] == 2) { $appraisal_data['process_status'] = 'Enabled to Employees'; } } else { if ($appraisal_data['initialize_status'] == 2) { $appraisal_data['process_status'] = 'Initialize Later'; } else { $appraisal_data['process_status'] = 'In progress'; } } } $EmpCountArr = $app_manager_model->getManagerGroupCount($id, $loginUserId); if (!empty($EmpCountArr)) { $appraisal_data['empcount'] = $EmpCountArr[0]['empcount']; } $manager_groups = $app_manager_model->getManagergroups($id, $loginUserId); $questionsArr = $appraisalQsModel->getQuestionsByCategory($appraisal_data['category_id'], ''); $view = $this->getHelper('ViewRenderer')->view; $view->previ_data = 'no'; $view->data = $appraisal_data; $text = $view->render('appraisalinit/view.phtml'); $this->view->appraisal_id = $id; $this->view->manager_id = $loginUserId; $this->view->manager_groups = $manager_groups; $this->view->appraisal_data = $appraisal_data; $this->view->app_text = $text; $this->view->questionsArr = $questionsArr; } else { $this->view->ermsg = 'nodata'; } } else { $this->view->ermsg = 'nodata'; } } else { $this->view->ermsg = 'nodata'; } } catch (Exception $ex) { $this->view->ermsg = 'nodata'; } }
public function getappraisalcategoryAction() { $this->_helper->layout->disableLayout(); $appraisalCategoryModel = new Default_Model_Appraisalcategory(); $appraisalinitmodel = new Default_Model_Appraisalinit(); $result['result'] = 'success'; $result['data'] = "<option value=''>Select Parameter</option>"; $categoryids = ''; $appraisalid = $this->_request->getParam('appraisalid'); $data = $appraisalinitmodel->getConfigData($appraisalid); if (!empty($data)) { $categoryids = $data[0]['category_id']; } if ($categoryids) { $appraisalCategoriesData = $appraisalCategoryModel->getCategoryNameByIds($categoryids); if (!empty($appraisalCategoriesData)) { foreach ($appraisalCategoriesData as $data) { $result['data'] .= "<option value='" . $data['id'] . "'>" . utf8_encode($data['category_name']) . "</option>"; } } else { $result['result'] = 'error'; $result['data'] = "Category names are not configured yet."; } } else { $result['result'] = 'error'; $result['data'] = "Category names are not configured yet."; } $this->_helper->json($result); }
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; } $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 = $appraisalratingsmodel->checkAccessAddratings($businessUnit,$department); $res = $app_init_model->check_per_implmentation($businessUnit, $department); $implementation = $res['performance_app_flag']; $rating_type = $res['appraisal_ratings']; $configured_id = $res['id']; $msgarray = array(); $resultArr = array(); $errorflag = "true"; $id = $this->_request->getParam('id'); $appraisalid = $this->_request->getParam('appraisalid'); // $update_id = $this->_request->getParam('update_id'); $appraisal_ratings = $rating_type == 1 ? 5 : 10; $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; $menumodel = new Default_Model_Menu(); $tableid = ''; $data = array('rating_text' => $rating_text, 'modifiedby_role' => $loginRole, 'modifiedby_group' => $loginGroup, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); //$where = 'isactive=1'; $Id = $appraisalratingsmodel->SaveorUpdateAppraisalRatingsData($data, $where); } } else { for ($i = 0; $i < $appraisal_ratings; $i++) { $rating_text = $this->_request->getParam('rating_text_' . $i); $menumodel = new Default_Model_Menu(); $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.")); } $menuidArr = $menumodel->getMenuObjID('/appraisalratings'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /** 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" : "added"; //Sending mail to Super admin $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Ratings ' . ucfirst($msg_add_update); $options['header'] = 'Performance Appraisal Configuration'; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['message'] = 'Dear Super Admin, performance appraisal configuration ' . $msg_add_update; // $mail_id = sapp_Global::_sendEmail($options); // Sending mail to others if (!empty($employeeDetailsArr)) { foreach ($employeeDetailsArr as $emp) { $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Settings Added.'; $options['header'] = 'Performance Appraisal Configuration'; $options['toEmail'] = $emp['emailaddress']; $options['toName'] = $emp['userfullname']; $options['message'] = 'Dear ' . $emp['userfullname'] . ', performance appraisal configuration ' . $msg_add_update; // $mail_id = sapp_Global::_sendEmail($options); } } /** * End */ $db->commit(); $this->_redirect('appraisalratings'); //throw new Exception("Some error message"); } catch (Exception $e) { $db->rollBack(); echo $e->getMessage(); echo $e->getTraceAsString(); return $msgarray; } }
public function saveAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserFullName = $auth->getStorage()->read()->userfullname; $loginuserProfileImg = $auth->getStorage()->read()->profileimg; } try { $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings(); $app_init_model = new Default_Model_Appraisalinit(); $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; $id = $this->_request->getParam('id'); $employee_id = $this->_request->getParam('employee_id'); $initialization_id = $this->_request->getParam('initialization_id'); $config_id = $this->_request->getParam('config_id'); $flag = $this->_request->getParam('flag'); $app_status = $this->_request->getParam('app_status'); $mgr_levels = $this->_request->getParam('mgr_levels'); $ratingsData = $appEmpRatingsModel->getAppRatingsDataByConfgId($config_id, $initialization_id); $ratingValues = array(); foreach ($ratingsData as $rd) { $ratingValues[$rd['id']] = $rd['rating_value']; } $appData = array('modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $emp_rating_arr = $this->_request->getParam('emp_rating'); $emp_comment_arr = $this->_request->getParam('emp_comment'); $emp_response = array(); if (sizeof($emp_rating_arr) > 0 || sizeof($emp_comment_arr) > 0) { foreach ($emp_rating_arr as $qid => $val) { if (isset($emp_rating_arr[$qid])) { $rating_id = array_search($emp_rating_arr[$qid], $ratingValues); } else { $rating_id = ''; } $emp_response[$qid] = array('comment' => $emp_comment_arr[$qid], 'rating_id' => $rating_id); } } $appData['employee_response'] = json_encode($emp_response, true); $curent_level = array_search($app_status, $this->app_status_array); if ($flag == 'submit') { $appData['appraisal_status'] = $curent_level + 1; $history_desc = $this->app_history_disc_array[$curent_level]; $appHistoryData = array('employee_id' => $employee_id, 'pa_initialization_id' => $initialization_id, 'description' => $history_desc, 'desc_emp_id' => $loginUserId, 'desc_emp_name' => $loginuserFullName, 'desc_emp_profileimg' => $loginuserProfileImg, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $appHistoryModel = new Default_Model_Appraisalhistory(); $result2 = $appHistoryModel->SaveorUpdateAppraisalHistoryData($appHistoryData); /* Update employee response column */ $appraisaldata = $app_init_model->getConfigData($initialization_id); if ($appraisaldata[0]['employee_response'] == 1) { $initdata = array('employee_response' => 2, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $initwhere = array('id=?' => $initialization_id); $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); } } $menuidArr = $menumodel->getMenuObjID('/appraisalconfig'); $menuID = $menuidArr[0]['id']; //$result = sapp_Global::logManager($menuID,$actionflag,$loginUserId,$tableid); $appWhere = array('id=?' => $id); $result1 = $appEmpRatingsModel->SaveorUpdateAppraisalSkillsData($appData, $appWhere); if ($result1) { $msg = 'saved'; } else { $msg = 'err'; } } catch (Exception $e) { // echo $e->getMessage(); //echo $e->getTrace(); //echo $e->getTraceAsString(); $msg = "Something went wrong, please try again."; } $this->_helper->json(array('msg' => $msg)); }
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; } }
public function saveAction() { $auth = Zend_Auth::getInstance(); $loginuserFullName = ''; if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserProfileImg = $auth->getStorage()->read()->profileimg; $loginuserEmail = $auth->getStorage()->read()->emailaddress; $loginuserFullName = $auth->getStorage()->read()->userfullname; $loginUserEmpId = $auth->getStorage()->read()->employeeId; } try { $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings(); $app_init_model = new Default_Model_Appraisalinit(); $id = $this->_request->getParam('id'); $employee_id = $this->_request->getParam('employee_id'); $initialization_id = $this->_request->getParam('initialization_id'); $config_id = $this->_request->getParam('config_id'); $flag = $this->_request->getParam('flag'); $app_status = $this->_request->getParam('app_status'); $mgr_levels = $this->_request->getParam('mgr_levels'); $ratingsData = $appEmpRatingsModel->getAppRatingsDataByConfgId($config_id, $initialization_id); $ratingValues = array(); foreach ($ratingsData as $rd) { $ratingValues[$rd['id']] = $rd['rating_value']; } $appData = array('modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $emp_rating_arr = $this->_request->getParam('emp_rating'); $emp_comment_arr = $this->_request->getParam('emp_comment'); $emp_response = array(); if (sizeof($emp_rating_arr) > 0 || sizeof($emp_comment_arr) > 0) { foreach ($emp_rating_arr as $qid => $val) { if (isset($emp_rating_arr[$qid])) { $rating_id = array_search($emp_rating_arr[$qid], $ratingValues); } else { $rating_id = ''; } $emp_response[$qid] = array('comment' => $emp_comment_arr[$qid], 'rating_id' => $rating_id); } } $appData['employee_response'] = json_encode($emp_response, true); $curent_level = array_search($app_status, $this->app_status_array); if ($flag == 'submit') { $appData['appraisal_status'] = $curent_level + 1; $history_desc = $this->app_history_disc_array[$curent_level]; $appHistoryData = array('employee_id' => $employee_id, 'pa_initialization_id' => $initialization_id, 'description' => $history_desc, 'desc_emp_id' => $loginUserId, 'desc_emp_name' => $loginuserFullName, 'desc_emp_profileimg' => $loginuserProfileImg, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $appHistoryModel = new Default_Model_Appraisalhistory(); $result2 = $appHistoryModel->SaveorUpdateAppraisalHistoryData($appHistoryData); /* Update employee response column */ $appraisaldata = $app_init_model->getConfigData($initialization_id); if ($appraisaldata[0]['employee_response'] == 1) { $initdata = array('employee_response' => 2, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $initwhere = array('id=?' => $initialization_id); $app_init_model->SaveorUpdateAppraisalInitData($initdata, $initwhere); } /* * Logs Storing */ $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; $actionflag = 1; $menuidArr = $menumodel->getMenuObjID('/appraisalself'); $menuID = $menuidArr[0]['id']; sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ /** Start * Sending Mails to employees */ //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisal_details = $appraisalratingsmodel->getappdata($initialization_id); if (!empty($appraisal_details)) { $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; } $dept_str = $dept == '' ? " " : "and <b>{$dept}</b> department"; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; $app_manager_model = new Default_Model_Appraisalmanager(); $getLineManager = $app_manager_model->getLineMgr($initialization_id, $loginUserId); if (!empty($getLineManager)) { $line_mgr = $getLineManager['line_manager_1']; $employeeDetailsArr = $app_manager_model->getUserDetailsByEmpID($line_mgr); $employeeDetailsArr = $employeeDetailsArr[0]; // Sending mail to Manager if (!empty($employeeDetailsArr)) { $options['subject'] = APPLICATION_NAME . ': Self Appraisal Submitted'; $options['header'] = "Performance Appraisal : {$to_year}"; $options['toEmail'] = $employeeDetailsArr['emailaddress']; $options['toName'] = $employeeDetailsArr['userfullname']; $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\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Dear " . $employeeDetailsArr['userfullname'] . ",</span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'> " . $loginuserFullName . $emp_id_str . " has submitted appraisal form.</div>\n\t\t\t\t\t\t\t\t\t\t\t\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 <b>" . APPLICATION_NAME . "</b> and check the appraisal ratings and comments.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> "; $mail_id = sapp_Global::_sendEmail($options); } } //Sending mail to Employee $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Submitted to Line1 manager'; $options['header'] = "Performance Appraisal : {$to_year}"; $options['toEmail'] = $loginuserEmail; $options['toName'] = $loginuserFullName; $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\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Dear {$loginuserFullName},</span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Your appraisal form is submitted successfully to your Line1 Manager," . $employeeDetailsArr['userfullname'] . "(" . $employeeDetailsArr['employeeId'] . ") </div>\n\t\t\t\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\t\t\t</div> "; $mail_id = sapp_Global::_sendEmail($options); } /** * End */ $appWhere = array('id=?' => $id); $result1 = $appEmpRatingsModel->SaveorUpdateAppraisalSkillsData($appData, $appWhere); if ($result1) { $msg = 'saved'; } else { $msg = 'err'; } } catch (Exception $e) { //echo $e->getMessage(); //echo $e->getTrace(); //echo $e->getTraceAsString(); $msg = "Something went wrong, please try again."; } $this->_helper->json(array('msg' => $msg)); }
/** * 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->check_per_implmentation($businessunit_id, $department_id); $where .= " and ai.businessunit_id = '" . $businessunit_id . "' "; if ($init_data['performance_app_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; }
public function save($feedforwardInitForm) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginUserEmpId = $auth->getStorage()->read()->employeeId; $loginUserfullname = $auth->getStorage()->read()->userfullname; } $feedforwardInitModel = new Default_Model_Feedforwardinit(); $msgarray = array(); $check_array = array(); $appraisal_id = ''; $id = $this->_request->getParam('id'); $appraisal_mode = $this->_request->getParam('appraisal_mode'); $ff_due_date = sapp_Global::change_date($this->_request->getParam('ff_due_date'), 'database'); $employee_name_view = $this->_request->getParam('employee_name_view'); $enable_to = $this->_request->getParam('enable_to'); $initialize_status = $this->_request->getParam('initialize_status'); $status = $this->_request->getParam('status'); $x_init_status = $this->_request->getParam('x_init_status'); $check = $this->_request->getParam('check'); $empcmnt = $this->_request->getParam('empcmnt'); if ($empcmnt) { $empcmnt_keys = array_keys($empcmnt); } else { $empcmnt_keys = array(); } if (sizeof($check) > 0) { foreach ($check as $qid) { if (in_array($qid, $empcmnt_keys)) { $check_array[$qid] = array('EC' => 1, 'ER' => 1); } else { $check_array[$qid] = array('EC' => 0, 'ER' => 1); } } } if (!empty($enable_to)) { if (in_array(1, $enable_to)) { $enable_to = 1; } else { $enable_to = 0; } } if ($x_init_status != 1) { if ($feedforwardInitForm->isValid($this->_request->getPost())) { try { $data = array('ff_due_date' => $ff_due_date, 'employee_name_view' => $employee_name_view, 'enable_to' => $enable_to, 'status' => $status, 'initialize_status' => $initialize_status, 'questions' => $check != '' ? implode(',', $check) : NULL, 'qs_privileges' => count($check_array) > 0 ? json_encode($check_array, true) : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { $where = array('id=?' => $id); $actionflag = 2; $appraisal_id = $this->_request->getParam('appraisal_id'); } else { $appraisalinitmodel = new Default_Model_Appraisalinit(); $appData = $appraisalinitmodel->getappdata_forview($appraisal_mode); $data['pa_configured_id'] = $appData['id']; $data['businessunit_id'] = $appData['businessunit_id']; $data['department_id'] = $appData['department_id']; $data['ff_mode'] = $appData['appraisal_mode']; $data['ff_period'] = $appData['appraisal_period']; $data['ff_from_year'] = $appData['from_year']; $data['ff_to_year'] = $appData['to_year']; $data['appraisal_id'] = $appraisal_mode; $data['createdby_role'] = $loginuserRole; $data['createdby_group'] = $loginuserGroup; $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; $appraisal_id = $appraisal_mode; } $Id = $feedforwardInitModel->SaveorUpdateFeedforwardInitData($data, $where); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization added successfully.")); } if ($initialize_status == 1) { sapp_PerformanceHelper::update_QsParmas_Allemps($data['questions'], ''); $this->ffinitialize($appraisal_id, $tableid, $enable_to, $check); } $this->_redirect('feedforwardinit'); } catch (Exception $e) { $msgarray['appraisal_mode'] = "Something went wrong, please try again."; return $msgarray; } } else { $messages = $feedforwardInitForm->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } $msgarray['check_array'] = $check_array; return $msgarray; } } else { $data = array('status' => $status, 'ff_due_date' => $ff_due_date); $where = array('id=?' => $id); $Id = $feedforwardInitModel->SaveorUpdateFeedforwardInitData($data, $where); if ($status == 2) { if ($Id == 'update') { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization closed successfully.")); $this->_redirect('feedforwardinit'); } } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization updated successfully.")); $this->_redirect('feedforwardinit'); } } }
public function checkperformanceduedate() { $app_init_model = new Default_Model_Appraisalinit(); $app_ratings_model = new Default_Model_Appraisalemployeeratings(); $active_appraisal_Arr = $app_init_model->getActiveAppraisals(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $usersmodel = new Default_Model_Users(); //echo'<pre>';print_r($active_appraisal_Arr);exit; $current_day = new DateTime('now'); $current_day->sub(new DateInterval('P1D')); if (!empty($active_appraisal_Arr)) { foreach ($active_appraisal_Arr as $appval) { if ($appval['enable_step'] == 2) { if ($appval['managers_due_date']) { $manager_due_date = new DateTime($appval['managers_due_date']); } else { $manager_due_date = ''; } if ($appval['employees_due_date']) { $emp_due_date = new DateTime($appval['employees_due_date']); } else { $emp_due_date = ''; } $employeeidArr = $app_ratings_model->getEmployeeIds($appval['id'], 'cron'); if (!empty($employeeidArr)) { foreach ($employeeidArr as $empval) { if ($empval['appraisal_status'] != 7) { $interval = $current_day->diff($emp_due_date); $interval->format('%d'); $interval = $interval->days; if ($interval <= 1) { $employeeDetailsArr = $usersmodel->getUserDetailsByID($empval['employee_id'], ''); $optionArr = array('subject' => 'Performance Appraisal Pending', 'header' => 'Performance Appraisal', 'toemail' => $employeeDetailsArr[0]['userfullname'], 'toname' => $employeeDetailsArr[0]['emailaddress'], 'message' => 'Dear ' . $employeeDetailsArr[0]['userfullname'] . ', performance appraisal is pending.', 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } } } } else { if ($appval['managers_due_date']) { $manager_due_date = new DateTime($appval['managers_due_date']); } else { $manager_due_date = ''; } if ($appval['manager_ids']) { $manager_comp_array = explode(',', $appval['manager_ids']); } else { $manager_comp_array = array(); } $getLine1ManagerId = $appraisalPrivMainModel->getLine1ManagerIdMain($appval['id']); if (!empty($getLine1ManagerId)) { foreach ($getLine1ManagerId as $val) { if (!in_array($val['line_manager_1'], $manager_comp_array)) { $interval = $current_day->diff($manager_due_date); $interval->format('%d'); $interval = $interval->days; if ($interval <= 1) { $optionArr = array('subject' => 'Performance Appraisal Pending', 'header' => 'Performance Appraisal', 'toemail' => $val['emailaddress'], 'toname' => $val['userfullname'], 'message' => 'Dear ' . $val['userfullname'] . ', performance appraisal is pending.', 'cron' => 'yes'); sapp_PerformanceHelper::saveCronMail($optionArr); } } } } } } } }
public function validateconfigAction($from_year = 0, $to_year = 0, $bunit = 0, $dept_id = 0, $dept_flag = 0, $mode = 0, $call_flag = 0, $is_edit = 0, $appraisal_id = 0, $existing_period = '') { //if ajax call(to year on change) if ($call_flag == 0) { $from_year = $this->_getParam('from_year', null); $to_year = $this->_getParam('to_year', null); $bunit = $this->_getParam('bunit', null); $dept_id = $this->_getParam('dept_id', null); $dept_flag = $this->_getParam('flag', null); $mode = $this->_getParam('mode', null); $is_edit = $this->_getParam('is_edit', null); $appraisal_id = $this->_getParam('appraisal_id', null); $existing_period = $this->_getParam('existing_period', null); } $dept = isset($dept_flag) && $dept_flag == 0 ? $dept_id : 0; $app_init_model = new Default_Model_Appraisalinit(); $exist_appraisal = $app_init_model->checkappadmin($bunit, $dept_id); $json_status = 'fail'; $json_msg_str = ''; $json_app_mode = ''; $json_app_period = 0; $json_app_disp_period = ''; $json_is_exist = 0; $json_rating_type = ''; $existing_app_flag = $app_init_model->getexistingperformanceappflag($bunit, $from_year, $to_year); $app_flag_diff = 0; if (isset($existing_app_flag) && $existing_app_flag != $dept_flag) { $app_flag_diff++; } if ($is_edit == 1) { //get the data for the appraisal based on id to compare from year, to year and period $appraisal_data = $app_init_model->getConfigData($appraisal_id); $appr_from_year = isset($appraisal_data[0]['from_year']) ? $appraisal_data[0]['from_year'] : 0; $appr_to_year = isset($appraisal_data[0]['to_year']) ? $appraisal_data[0]['to_year'] : 0; $appr_mode = isset($appraisal_data[0]['appraisal_mode']) ? $appraisal_data[0]['appraisal_mode'] : ''; $appr_period = isset($appraisal_data[0]['appraisal_period']) ? $appraisal_data[0]['appraisal_period'] : 0; $appraisal_ratings = isset($appraisal_data[0]['appraisal_ratings']) ? $appraisal_data[0]['appraisal_ratings'] : 0; $actual_appr_period = $this->period_helper($appr_mode, $appr_period); if ($from_year == $appr_from_year && $to_year == $appr_to_year && $existing_period == $actual_appr_period) { if ($call_flag == 0) { $this->_helper->json(array('status' => 'success', 'msg_str' => $json_msg_str, 'app_mode' => $appr_mode, 'app_period' => $appr_period, 'app_disp_period' => $actual_appr_period, 'is_exist' => 1, 'rating_type' => $appraisal_ratings)); return; } else { return 'success'; } } } if ((!$exist_appraisal || $is_edit == 1) && $app_flag_diff == 0) { //get the existing appraisal data using business unit $appraisal_data = array(); $json_status = 'success'; // $json_mode = ''; $appraisal_data = $app_init_model->getAppraisalPeriodOnBuDept($bunit, $dept, $from_year, $to_year, 'AND'); $year_diff_exist = 0; if (empty($appraisal_data)) { $appraisal_data_diff = array(); //calculate the difference between toyear and from year // if(is_numeric($from_year) && is_numeric($to_year)) // { $year_diff = $to_year - $from_year; // } //if year difference is 0 if ($year_diff == 0) { //check with from year or to year $appraisal_data_diff = $app_init_model->getAppraisalPeriodOnBuDept($bunit, $dept, $from_year, $to_year, 'OR'); if (!empty($appraisal_data_diff)) { $year_diff_exist++; } } else { if ($year_diff == 1) { //check with from year or (to year - 1) $to_in_year = $to_year - 1; $appraisal_data_diff = $app_init_model->getAppraisalPeriodOnBuDept($bunit, $dept, $from_year, $to_in_year, 'AND'); if (!empty($appraisal_data_diff)) { $year_diff_exist++; } } } // if($year_diff_exist == 0 && $dept_flag == 0) // { // $appraisal_data = $app_init_model->getAppraisalPeriodOnBuDept($bunit,$dept,$from_year,$to_year,'AND',1); // } } $exist_flag = 0; $exist_str = ''; if (!$year_diff_exist) { if (!empty($appraisal_data)) { foreach ($appraisal_data as $app_data) { $appraisal_mode = !empty($app_data['appraisal_mode']) ? $app_data['appraisal_mode'] : ''; $appraisal_period = !empty($app_data['appraisal_period']) ? $app_data['appraisal_period'] : 0; // $appraisal_id = !empty($app_data['id'])?$app_data['id']:0; switch ($appraisal_mode) { case 'Quarterly': if ($appraisal_period <= 4) { $exist_flag++; // $exist_str .= $appraisal_id.','; } break; case 'Half-yearly': if ($appraisal_period <= 2) { $exist_flag++; // $exist_str .= $appraisal_id.','; } break; case 'Yearly': if ($appraisal_period <= 1) { $exist_flag++; // $exist_str .= $appraisal_id.','; } break; } } if ($exist_flag > 0) { // $json_status = 'fail'; $exist_dept_flag = isset($appraisal_data[0]['performance_app_flag']) ? $appraisal_data[0]['performance_app_flag'] : ''; //if existing // $json_app_mode = ''; // $json_app_period = 0; if ($dept_flag == $exist_dept_flag) { $appraisal_mode = isset($appraisal_data[0]['appraisal_mode']) ? $appraisal_data[0]['appraisal_mode'] : ''; $appraisal_period = isset($appraisal_data[0]['appraisal_period']) ? $appraisal_data[0]['appraisal_period'] : 0; $appraisal_rating_type = isset($appraisal_data[0]['appraisal_ratings']) ? $appraisal_data[0]['appraisal_ratings'] : ''; $json_status = 'success'; switch ($appraisal_mode) { case 'Quarterly': if ($appraisal_period <= 4) { $appraisal_period++; if ($appraisal_period > 4) { $json_status = 'fail'; } } break; case 'Half-yearly': if ($appraisal_period <= 2) { $appraisal_period++; if ($appraisal_period > 2) { $json_status = 'fail'; } } break; case 'Yearly': if ($appraisal_period <= 1) { $appraisal_period++; if ($appraisal_period > 1) { $json_status = 'fail'; } } break; } if ($json_status == 'fail') { $json_msg_str = 'Appraisal is completed for the selected years.'; } else { $json_app_period = $appraisal_period; $json_app_mode = $appraisal_mode; $json_app_disp_period = $this->period_helper($json_app_mode, $json_app_period); $json_rating_type = $appraisal_rating_type; } $json_is_exist = 1; } else { $json_status = 'fail'; $json_msg_str = 'Appraisal is already configured ' . ($exist_dept_flag == 1 ? 'business unit' : 'department') . ' wise.'; $json_app_mode = ''; $json_app_period = 1; } } else { $json_status = 'success'; $json_msg_str = ''; $json_app_mode = ''; $json_app_period = 1; } } else { $json_status = 'success'; $json_msg_str = ''; $json_app_mode = ''; $json_app_period = 1; } } else { $json_status = 'fail'; $json_msg_str = 'Please select valid year range.'; $json_app_mode = ''; $json_app_period = 0; } } else { $json_msg_str = 'Appraisal already exist.'; } // echo 'status '.$json_status.' msg_str '.$json_msg_str.' app_mode '.$json_app_mode.' app_period '.$json_app_period.' is_exist '.$json_is_exist; // die(); if ($call_flag == 0) { $this->_helper->json(array('status' => $json_status, 'msg_str' => $json_msg_str, 'app_mode' => $json_app_mode, 'app_period' => $json_app_period, 'app_disp_period' => $json_app_disp_period, 'is_exist' => $json_is_exist, 'rating_type' => $json_rating_type)); } else { return $json_status; } }
public function savemngrorghierarchyAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $app_init_model = new Default_Model_Appraisalinit(); $ques_temp_model = new Default_Model_Appraisalqstemp(); $ques_org_model = new Default_Model_Appraisalqsmain(); $app_rating_model = new Default_Model_Appraisalratings(); // $init_id = $this->_getParam('init_id',null); $init_param = $this->_getParam('i', null); $init_id = sapp_Global::_decrypt($init_param); $init_data = $app_init_model->getConfigData($init_id); if (count($init_data) > 0) { $init_data = $init_data[0]; } $this->view->init_id = $init_id; $this->view->init_data = $init_data; $this->view->msg_arr = array(); $ratingsflag = 'false'; $checkRatingsExists = $app_rating_model->getAppraisalRatingsbyInitId($init_id); if (!empty($checkRatingsExists)) { $ratingsflag = 'true'; } $red_result = ""; $type_arr = array('line' => 1, 'report' => 2); $trDb = Zend_Db_Table::getDefaultAdapter(); //get manager ids as comma seperated string $manager_ids = $this->_getParam('mid', null); //break the manager ids into array $mngr_ids_array = explode(',', $manager_ids); $get_managers_data = array(); $get_managers_data = $app_init_model->getManagers_report($init_id); $final_managers_data = array(); //get the managers data and build an array with manager id as key if (isset($get_managers_data) && count($get_managers_data) > 0) { foreach ($get_managers_data as $data) { $mngr_id = isset($data['user_id']) ? $data['user_id'] : 0; $final_managers_data[$mngr_id] = $data; } } if (isset($mngr_ids_array) && count($mngr_ids_array) > 0) { $choose_option = 'report'; foreach ($mngr_ids_array as $mngr) { $tot_ids = array(); $context = 'add'; $content = array(); $content = $app_init_model->getdisplayacontentreportacc($init_id, $mngr); if ($context == 'add') { $init_sdata = array('manager_level_type' => $type_arr[$choose_option]); $app_result = array(); $app_result = $app_init_model->SaveorUpdateAppraisalInitData($init_sdata, " id = " . $init_id); $qresult = ''; if ($app_result === 'update') { if (count($content) > 0) { foreach ($content as $cont) { if (is_numeric($cont['user_id'])) { array_push($tot_ids, $cont['user_id']); } } } $line_str_arr = array(); $line_str_arr['line_manager_1'] = $mngr; if (count($tot_ids) > 0) { foreach ($tot_ids as $emp_id) { $qdata = array('pa_initialization_id' => $init_id, 'manager_levels' => 1, 'employee_id' => $emp_id, 'module_flag' => 1, 'createdby' => $loginUserId, 'createdby_role' => $loginuserRole, 'createdby_group' => $loginuserGroup, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $qdata = array_merge($qdata, $line_str_arr); if ($init_data['initialize_status'] == 1) { $qresult = $ques_org_model->SaveorUpdatePrivilegeData($qdata, ''); } else { $qresult = $ques_temp_model->SaveorUpdateData($qdata, ''); } } } } if ($qresult !== '' && $app_result !== '') { $red_result = 'saved'; } $message = "Appraisal process updated successfully"; } } if ($red_result === 'saved') { $message = "Appraisal process updated successfully"; $this->_helper->FlashMessenger()->setNamespace('conf_success')->addMessage($message); $this->_redirect('appraisalinit/confmanagers/i/' . sapp_Global::_encrypt($init_id)); } } $this->view->ratingsflag = $ratingsflag; $this->render('configuremanagers'); }
public static function getbudeptname($appraisalid) { $appInitModel = new Default_Model_Appraisalinit(); $businessunitmodel = new Default_Model_Businessunits(); $deptmodel = new Default_Model_Departments(); $buname = ''; $deptname = ''; $perf_impl_flag = ''; $appraisaldataArr = array(); if ($appraisalid) { $appraisaldataArr = $appInitModel->getAppDataById($appraisalid); if (!empty($appraisaldataArr)) { if ($appraisaldataArr['businessunit_id'] != '') { $buDataArr = $businessunitmodel->getSingleUnitData($appraisaldataArr['businessunit_id']); // $perfimplementation = $appInitModel->check_performance_implmentation($appraisaldataArr['businessunit_id']); if (!empty($buDataArr)) { $buname = $buDataArr['unitname']; } /*if(!empty($perfimplementation)) { $perf_impl_flag = $perfimplementation['performance_app_flag']; }*/ $perf_impl_flag = isset($appraisaldataArr['performance_app_flag']) ? $appraisaldataArr['performance_app_flag'] : 1; } if ($perf_impl_flag == 0) { if ($appraisaldataArr['department_id'] != '') { $deptArr = $deptmodel->getSingleDepartmentData($appraisaldataArr['department_id']); } if (!empty($deptArr)) { $deptname = $deptArr['deptname']; } } } } return array('buname' => $buname, 'deptname' => $deptname, 'perf_app_flag' => $perf_impl_flag, 'appdata' => $appraisaldataArr); }
public function displaymanagersAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('displaymanagers', 'html')->initContext(); $line1_data = array(); $line_managers = array(); $type = $this->_getParam('type', null); $levels = $this->_getParam('levels', null); $init_id = $this->_getParam('init_id', null); $line1_id = $this->_getParam('line1_id', null); $context = $this->_getParam('context', 'add'); $employeeid = $this->_getParam('employeeid'); $app_levels = 1; $app_init_model = new Default_Model_Appraisalinit(); $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings(); $init_data = $app_init_model->getConfigData($init_id); if (count($init_data) > 0) { $init_data = $init_data[0]; } $managers = $app_init_model->getRepManagers_new($type, $init_id, $init_data); if ($context == 'edit') { $emp_model = new Default_Model_Employee(); $line1_data = $emp_model->getEmp_from_summary($line1_id); $line_managers = $app_init_model->getLineManagers_new($init_id, $employeeid); $line_managers = array_filter($line_managers); } $appEmpRatingsData = $appEmpRatingsModel->getSelectedAppraisalData_notused($init_id, $employeeid); if (!empty($appEmpRatingsData)) { if ($appEmpRatingsData['appstatus'] != 1) { $app_levels = $appEmpRatingsData['appstatus'] - 1; } } $this->view->levels = $levels; $this->view->managers = $managers; $this->view->init_id = $init_id; $this->view->context = $context; $this->view->line1_data = $line1_data; $this->view->line_managers = $line_managers; $this->view->line1_id = $line1_id; $this->view->app_levels = $app_levels; $this->render('displaymanagers'); }
public function closeappraisal($appraisalid, $status, $enablestepflag, $buid, $perfflag, $deptid) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserArr = array('loginuserid' => $loginUserId, 'loginuserrole' => $loginuserRole, 'loginusergroup' => $loginuserGroup); } $appraisalinitmodel = new Default_Model_Appraisalinit(); $appraisalqsmodel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); $usersmodel = new Default_Model_Users(); $departmentsmodel = new Default_Model_Departments(); $announcementsModel = new Default_Model_Announcements(); $deptids = ''; $title = 'Performance Appraisal'; $description = 'Performance appraisal initialized'; $result = array(); $employeeidArr = array(); if ($status == 2) { $statustext = 'Closed'; } else { $statustext = 'Forcefully Closed'; } if ($appraisalid) { $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { /** Start * Updating initialization table */ $init_Arr = array('status' => $status, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('id=?' => $appraisalid); $Id = $appraisalinitmodel->SaveorUpdateAppraisalInitData($init_Arr, $where); /** End */ /** Start * Sending Mails to employees */ if ($enablestepflag == 1) { $employeeidArr = $appraisalqsmodel->getemployeeIDs($appraisalid); } else { $employeeidArr = $appraisalempratingsmodel->getEmployeeIds($appraisalid); } if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { $employeeDetailsArr = $usersmodel->getUserDetailsByID($emp['employee_id'], ''); if (!empty($employeeDetailsArr)) { $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext; $options['header'] = 'Performance Appraisal ' . $statustext; $options['toEmail'] = $employeeDetailsArr[0]['emailaddress']; $options['toName'] = $employeeDetailsArr[0]['userfullname']; $options['message'] = 'Dear ' . $employeeDetailsArr[0]['userfullname'] . ', performance appraisal ' . $statustext; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } } } /** * End */ /** * Mail to performance Appraisal Group */ if (defined('PER_APPRAISAL_' . $buid) && $buid != '') { $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = constant('PER_APPRAISAL_' . $buid); $options['toName'] = 'Performance Appraisal'; $options['message'] = 'Performance appraisal initiated ' . $statustext; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } /** * End */ /** Start * Announecements */ if ($perfflag == 1) { $deptArr = $departmentsmodel->getAllDeptsForUnit($buid); if (!empty($deptArr)) { foreach ($deptArr as $dept) { $deptids .= $dept['id'] . ','; } $deptids = rtrim($deptids, ','); } } else { $deptids = $deptid; } /* $announcement_arr = array( 'businessunit_id' => $buid!=''?$buid:NULL, 'department_id' => $deptids!=''?$deptids:NULL, 'title' => $title, 'description' => $description, 'attachments' => NULL, 'status' => 2, 'isactive' => 1, 'createdby' => $loginUserId, 'createdby_role'=>$loginuserRole, 'createdby_group'=>$loginuserGroup, 'modifiedby' => $loginUserId, 'modifiedby_role'=>$loginuserRole, 'modifiedby_group'=>$loginuserGroup, 'createddate'=>gmdate("Y-m-d H:i:s"), 'modifieddate'=>gmdate("Y-m-d H:i:s") ); $Id = $announcementsModel->SaveorUpdateAnnouncementsData($announcement_arr, ''); */ /** * End */ $trDb->commit(); $result['msg'] = 'Performance Appraisal ' . $statustext; $result['result'] = 'success'; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Performance Appraisal " . $statustext)); } catch (Exception $e) { $trDb->rollBack(); $result['msg'] = $e->getMessage(); $result['result'] = 'error'; } } return $result; }