/** * This action is used to save/edit group details created by manager. * @return json Array of status and message. */ public function savemanagergroupAction() { $post_values = $this->getRequest()->getPost(); //echo "<pre>";print_r($post_values);echo "</pre>";exit; $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); } $finalarray = $deleted_emp_arr = $result = array(); $mgrIndex = 'MC'; $mgrratIndex = 'MR'; $empIndex = 'EC'; $empratIndex = 'ER'; $questionArr = $post_values['check']; $managercmntsArr = isset($post_values['mgrcmnt']) ? $post_values['mgrcmnt'] : array(); $managerratingsArr = isset($post_values['mgrrating']) ? $post_values['mgrrating'] : array(); $empratingsArr = isset($post_values['empratings']) ? $post_values['empratings'] : array(); $empcmntsArr = isset($post_values['empcmnt']) ? $post_values['empcmnt'] : array(); $empids = $post_values['existetd_mem_str']; $groupid = $post_values['groupid']; $group_name = $post_values['group_name']; $appraisal_id = $post_values['appraisal_id']; $manager_id = $post_values['manager_id']; $original_mem_str = $post_values['original_mem_str']; $action_flag = $post_values['action_flag']; $selected_emp_arr = explode(',', $empids); $result['flag'] = 'appraisalmanager'; $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { if ($group_name != '' && !empty($questionArr) && $empids != '') { $appraisalGroupModel = new Default_Model_Appraisalgroups(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $CheckDuplicateName = $appraisalGroupModel->getDuplicateGroupName($appraisal_id, $group_name, $groupid != '' ? $groupid : ''); if (!empty($CheckDuplicateName)) { $duplicateGroupName = $CheckDuplicateName[0]['grpcnt']; } if ($duplicateGroupName > 0) { $result['result'] = 'error'; $result['msg'] = 'Group name already exists.'; } else { if (!empty($original_mem_str)) { $privilegesdata = array('manager_group_id' => null, 'manager_qs' => null, 'manager_qs_privileges' => null, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $privielgeswhere = " pa_initialization_id = '" . $appraisal_id . "' and line_manager_1 = '" . $manager_id . "' and employee_id IN ({$original_mem_str}) and module_flag=1 and isactive= 1 "; $updateprivileges = $appraisalPrivMainModel->SaveorUpdatePrivilegeData($privilegesdata, $privielgeswhere); } if (!empty($questionArr)) { for ($i = 0; $i < sizeof($questionArr); $i++) { $managercomments = isset($managercmntsArr[$questionArr[$i]]) ? 1 : 0; $managerratings = isset($managerratingsArr[$questionArr[$i]]) ? 1 : 0; $empratings = isset($empratingsArr[$questionArr[$i]]) ? 1 : 0; $empcomments = isset($empcmntsArr[$questionArr[$i]]) ? 1 : 0; $commntsarry = array($mgrratIndex => $managerratings, $mgrIndex => $managercomments, $empratIndex => $empratings, $empIndex => $empcomments); $finalarray[$questionArr[$i]] = $commntsarry; } $questions = implode(',', $questionArr); $qsprivileges = json_encode($finalarray, true); $groupdata = array('pa_initialization_id' => $appraisal_id, 'group_name' => trim($group_name), 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($groupid != '') { $where = array('id=?' => $groupid); $actionflag = 2; } else { $groupdata['createdby_role'] = $loginuserRole; $groupdata['createdby_group'] = $loginuserGroup; $groupdata['createdby'] = $loginUserId; $groupdata['createddate'] = gmdate("Y-m-d H:i:s"); $groupdata['isactive'] = 1; $where = ''; $actionflag = 1; } $Id = $appraisalGroupModel->SaveorUpdateAppraisalGroupsData($groupdata, $where); if ($Id != 'update') { $groupid = $Id; } $privilegesdata = array('manager_group_id' => $groupid, 'manager_qs' => $questions, 'manager_qs_privileges' => $qsprivileges, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $privielgeswhere = " pa_initialization_id = '" . $appraisal_id . "' and line_manager_1 = '" . $manager_id . "' and employee_id IN ({$empids}) and module_flag=1 and isactive= 1 "; $updateprivileges = $appraisalPrivMainModel->SaveorUpdatePrivilegeData($privilegesdata, $privielgeswhere); //echo '<pre>';print_r($finalarray);echo "</pre>"; $trDb->commit(); $result['result'] = 'success'; $result['msg'] = "Group " . ($action_flag == 'edit' ? "updated" : "created") . " successfully"; } else { $result['result'] = 'error'; $result['msg'] = 'No questions to add'; } } } else { $result['result'] = 'error'; $result['msg'] = 'Something went wrong.'; } } catch (Exception $e) { $trDb->rollBack(); $result['result'] = 'error'; $result['msg'] = $e->getMessage(); } $this->_helper->json($result); }
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); } } } } } }
public function updatelinemanagerAction() { $this->_helper->layout->disableLayout(); $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('updatelinemanager', 'json')->initContext(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); $result['result'] = 'success'; $result['msg'] = ''; $appraisalid = $this->_request->getParam('appraisalid'); $employeeid = $this->_request->getParam('employeeid'); $line_1_mgr = $this->_request->getParam('line_1_mgr'); $line_2_mgr = $this->_request->getParam('line_2_mgr'); $line_3_mgr = $this->_request->getParam('line_3_mgr'); $line_4_mgr = $this->_request->getParam('line_4_mgr'); $line_5_mgr = $this->_request->getParam('line_5_mgr'); $levels = $this->_request->getParam('levels'); if ($appraisalid && $employeeid) { $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $data = array('line_manager_1' => $line_1_mgr != '' ? $line_1_mgr : NULL, 'line_manager_2' => $line_2_mgr != '' ? $line_2_mgr : NULL, 'line_manager_3' => $line_3_mgr != '' ? $line_3_mgr : NULL, 'line_manager_4' => $line_4_mgr != '' ? $line_4_mgr : NULL, 'line_manager_5' => $line_5_mgr != '' ? $line_5_mgr : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $privilegeswhere = " employee_id = '" . $employeeid . "' and pa_initialization_id='" . $appraisalid . "' and module_flag=1 and isactive=1 "; $empratingswhere = " employee_id = '" . $employeeid . "' and pa_initialization_id='" . $appraisalid . "' and isactive=1 "; $appraisalPrivMainModel->SaveorUpdatePrivilegeData($data, $privilegeswhere); $appraisalempratingsmodel->SaveorUpdateAppraisalSkillsData($data, $empratingswhere); $trDb->commit(); } catch (Exception $e) { $trDb->rollBack(); $result['result'] = 'error'; $result['msg'] = $e->getMessage(); } } $this->_helper->json($result); }
public function updatelinemanagerAction() { $this->_helper->layout->disableLayout(); $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('updatelinemanager', 'json')->initContext(); $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; $loginUserEmail = $auth->getStorage()->read()->emailaddress; $loginUsername = $auth->getStorage()->read()->userfullname; $loginUserprofileimg = $auth->getStorage()->read()->profileimg; } $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); $result['result'] = 'success'; $result['msg'] = ''; $send_mails = false; $appraisalid = $this->_request->getParam('appraisalid'); $employeeid = $this->_request->getParam('employeeid'); $line_1_mgr = $this->_request->getParam('line_1_mgr'); $line_2_mgr = $this->_request->getParam('line_2_mgr'); $line_3_mgr = $this->_request->getParam('line_3_mgr'); $line_4_mgr = $this->_request->getParam('line_4_mgr'); $line_5_mgr = $this->_request->getParam('line_5_mgr'); $levels = $this->_request->getParam('levels'); //checking equality of manager levels for sending mails if ($appraisalid && $employeeid) { $appraisal_level_arr = $appraisalPrivMainModel->getAllManagerIds($appraisalid, $employeeid); $appraisal_level_arr = $appraisal_level_arr[0]; $levels_pre = $appraisal_level_arr['manager_levels']; if ($levels_pre == $levels) { $preLine_1_mgr = $appraisal_level_arr['line_manager_1']; $preLine_2_mgr = $appraisal_level_arr['line_manager_2']; $preLine_3_mgr = $appraisal_level_arr['line_manager_3']; $preLine_4_mgr = $appraisal_level_arr['line_manager_4']; $preLine_5_mgr = $appraisal_level_arr['line_manager_5']; for ($i = 1; $i <= $levels_pre; $i++) { $preLine_mgr = "preLine_" . $i . "_mgr"; $line_mgr = "line_" . $i . "_mgr"; if (${$line_mgr} != ${$preLine_mgr}) { $send_mails = true; } } } else { $send_mails = true; } } //end checking send mails to employees if ($appraisalid && $employeeid) { $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $data = array('line_manager_1' => $line_1_mgr != '' ? $line_1_mgr : NULL, 'line_manager_2' => $line_2_mgr != '' ? $line_2_mgr : NULL, 'line_manager_3' => $line_3_mgr != '' ? $line_3_mgr : NULL, 'line_manager_4' => $line_4_mgr != '' ? $line_4_mgr : NULL, 'line_manager_5' => $line_5_mgr != '' ? $line_5_mgr : NULL, 'manager_levels' => is_numeric($levels) ? $levels : 1, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $privilegeswhere = " employee_id = '" . $employeeid . "' and pa_initialization_id='" . $appraisalid . "' and module_flag=1 and isactive=1 "; $empratingswhere = " employee_id = '" . $employeeid . "' and pa_initialization_id='" . $appraisalid . "' and isactive=1 "; $appraisalPrivMainModel->SaveorUpdatePrivilegeData($data, $privilegeswhere); //remove the manager_levels as this column is not there in main_pa_employee_ratings table unset($data['manager_levels']); $appraisalempratingsmodel->SaveorUpdateAppraisalSkillsData($data, $empratingswhere); if ($send_mails == true) { /** Start * Sending Mails to employees */ $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; //Preparing string with line manager ids $mgrStr = ''; for ($i = 1; $i <= $levels; $i++) { $mgr_str = 'line_' . $i . '_mgr'; //$line_1_mgr if (is_numeric(${$mgr_str})) { $mgrStr .= ${$mgr_str} . ','; } } $mgrStr = rtrim($mgrStr, ","); $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisal_details = $appraisalratingsmodel->getappdata($appraisalid); if (!empty($appraisal_details)) { $to_year = $appraisal_details['to_year']; } $employeeDetailsArr = $appraisalPrivMainModel->getManagerDetailsByIds($employeeid, $mgrStr); $mgr_array = array(); $mgr_array = explode(",", $mgrStr); //Preparing Employee array for Bcc $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; $empUserIdArr = array(); $toEmailId = ''; $toEmailName = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); //preparing Bcc array array_push($empUserIdArr, $emp['user_id']); if ($emp['user_id'] == $employeeid) { $toEmailId = $emp['emailaddress']; $toEmailName = $emp['userfullname']; $toEmpId = $emp['employeeId']; array_pop($empArr); } } $index = array_search($employeeid, $empUserIdArr); unset($employeeDetailsArr[$index]); $mail_str = ''; for ($j = 0; $j < sizeof($mgr_array); $j++) { foreach ($employeeDetailsArr as $employee) { if ($mgr_array[$j] == $employee['user_id']) { $profile_pic = $employee['profileimg']; $cnt = $j + 1; if ($profile_pic != '') { $src = DOMAIN . "public/uploads/profile/" . $profile_pic; } else { $src = MEDIA_PATH . "images/default-profile-pic.jpg"; } $mail_str .= "<div style='padding:20px 0 0 0;color:#3b3b3b;'>Line {$cnt} Manager : " . $employee['userfullname'] . " <img src=" . $src . " onError=this.src=" . MEDIA_PATH . "images/default-profile-pic.jpg width='30px' height='30px' /></div>"; } } } } //pushing loginUserEmail to Bcc array array_push($empArr, $loginUserEmail); $options['subject'] = APPLICATION_NAME . ': Change in Line Managers'; $options['header'] = 'Performance Appraisal : ' . $to_year; $options['bcc'] = $empArr; $options['toEmail'] = $toEmailId; $options['toName'] = $toEmailName; $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;'>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;'>Line Managers for " . $toEmailName . "(" . $toEmpId . ") have been modified by " . $loginUsername . $emp_id_str . "</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{$mail_str}\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 and check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> "; $mail_id = sapp_Global::_sendEmail($options); /** * End mails sending */ } $trDb->commit(); } catch (Exception $e) { $trDb->rollBack(); $result['result'] = 'error'; $result['msg'] = $e->getMessage(); } } $this->_helper->json($result); }
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 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 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; }