public function getdepartmentsAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('getdepartments', 'html')->initContext(); $businessunit_id = $this->_request->getParam('business_id'); $con = $this->_request->getParam('con'); $employeeform = new Default_Form_employee(); $leavemanagementform = new Default_Form_leavemanagement(); $flag = ''; $departmentsmodel = new Default_Model_Departments(); $appraisalconfigmodel = new Default_Model_Appraisalconfig(); if ($con == 'leavemanagement') { $leavemanagementmodel = new Default_Model_Leavemanagement(); $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds(); $depatrmentidstr = ''; $newarr = array(); if (!empty($departmentidsArr)) { $where = ''; for ($i = 0; $i < sizeof($departmentidsArr); $i++) { $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']); } $depatrmentidstr = implode(",", $newarr); foreach ($newarr as $deparr) { $where .= " id!= {$deparr} AND "; } $where = trim($where, " AND"); $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where} "; $querystring .= " order by d.deptname"; $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring); if (empty($uniquedepartmentids)) { $flag = 'true'; } $this->view->uniquedepartmentids = $uniquedepartmentids; } else { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } } else { if ($con == 'appraisal_config') { $departmentlistArr = $appraisalconfigmodel->getExistDepartments($businessunit_id); $dept_arr = array(); foreach ($departmentlistArr as $dept) { $deptid = $dept['department_id']; array_push($dept_arr, $deptid); } $dept_arr = array_filter($dept_arr); $dept_arr = array_unique($dept_arr); $dept_list = implode(',', $dept_arr); $departmentlistArr = $appraisalconfigmodel->getDepartments($businessunit_id, $dept_list); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } else { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } } $this->view->employeeform = $employeeform; $this->view->leavemanagementform = $leavemanagementform; $this->view->flag = $flag; if ($con != '') { $this->view->con = $con; } }
public function submitmanagerAction() { $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; $loginuserEmail = $auth->getStorage()->read()->emailaddress; $loginUserEmpId = $auth->getStorage()->read()->employeeId; } $post_values = $this->getRequest()->getPost(); $result = array('status' => 'fail', 'msg' => 'Something went wrong, please try again.'); $questions = ''; if (count($post_values) > 0) { $appraisal_id = $post_values['appraisal_id']; $manager_id = $post_values['manager_id']; if ($appraisal_id != '' && $manager_id != '') { $appraisal_id = sapp_Global::_decrypt($appraisal_id); $manager_id = sapp_Global::_decrypt($manager_id); $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { $app_init_model = new Default_Model_Appraisalinit(); $appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $qsdataArr = $appraisalPrivMainModel->getAppraisalQuestionsMain($appraisal_id); if (!empty($qsdataArr)) { foreach ($qsdataArr as $qs) { if (!empty($qs['manager_qs'])) { $questions .= $qs['manager_qs'] . ','; } } $questions = rtrim($questions, ','); } $questions = implode(',', array_keys(array_flip(explode(',', $questions)))); $submit_manager = $app_init_model->submitmanager($appraisal_id, $manager_id); sapp_PerformanceHelper::update_QsParmas_Allemps($questions, ''); /* * Logs Storing */ $actionflag = ''; $tableid = ''; $menuID = APPRAISAL_MANAGER; $actionflag = 1; sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisal_details = $appraisalratingsmodel->getappdata($appraisal_id); 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(); $app_manager_model = new Default_Model_Appraisalmanager(); $getBunit_dept = $app_manager_model->getBunitDept($appraisal_id); if (!empty($getBunit_dept)) { $unitID = $getBunit_dept['businessunit_id']; $deptID = $getBunit_dept['department_id']; } $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($unitID, $deptID); $dept_str = $dept == '' ? " " : "and <b>{$dept}</b> department"; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } // Sending mail to HR $options['subject'] = APPLICATION_NAME . ': Manager Appraisal Submitted.'; $options['header'] = 'Performance Appraisal : Manager Appraisal ' . $to_year; $options['toEmail'] = $loginuserEmail; $options['bcc'] = $empArr; $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;'>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;'> " . $loginuserFullname . $emp_id_str . " has submitted the Manager appraisal form for the year <b>{$to_year}</b> for <b>{$bunit}</b> business unit {$dept_str} </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 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 */ $trDb->commit(); $result['status'] = 'success'; $result['msg'] = "Submitted successfully"; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Initialization Submitted successfully. ")); } catch (Exception $e) { $trDb->rollBack(); $result['status'] = 'error'; $result['msg'] = $e->getMessage(); } } } $this->_helper->json($result); }
public function deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $messages['msgtype'] = ''; $count = 0; $actionflag = 3; if ($id) { $model = new Default_Model_Appraisalconfig(); $init_cnt = $model->check_delete($id); if ($init_cnt == 0) { $data = array('isactive' => 0, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId); $where = array('id=?' => $id); $Id = $model->SaveorUpdateAppraisalConfigData($data, $where); if ($Id == 'update') { $result = sapp_Global::logManager(APPRAISAL_SETTINGS, $actionflag, $loginUserId, $id); $messages['message'] = 'Appraisal setting deleted successfully.'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Appraisal setting cannot be deleted.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'An active appraisal process exists for the selected appraisal setting. Appraisal Setting cannot be deleted.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Appraisal setting cannot be deleted.'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function getbunitimplementationAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('getbunitimplementation', 'json')->initContext(); $businessunitsmodel = new Default_Model_Businessunits(); $appraisalconfigmodel = new Default_Model_Appraisalconfig(); $bunitid = $this->_request->getParam('bunitid'); $result = array(); if ($bunitid != '') { $pendingRequestdata = $appraisalconfigmodel->getPendingAppraisalConfigData($bunitid); if (!empty($pendingRequestdata)) { $result['count'] = $pendingRequestdata[0]['count']; } $implementationdata = $businessunitsmodel->getSingleUnitData($bunitid); if (!empty($implementationdata)) { $result['result'] = $implementationdata['service_desk_flag']; } } $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 ffinitialize($appInitId, $tableid, $enable_to, $check) { if ($tableid) { $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; } $ffEmpRatingsModel = new Default_Model_Feedforwardemployeeratings(); $feedforwardInitModel = new Default_Model_Feedforwardinit(); $appraisalEmpsData = $feedforwardInitModel->getEmpsFromAppEmpRat($appInitId); $appEmpIDs = array(); if (sizeof($appraisalEmpsData) > 0) { foreach ($appraisalEmpsData as $appE) { $appEmpIDs[] = $appE['employee_id']; $where = ''; $data = array('ff_initialization_id' => $tableid, 'question_ids' => $check != '' ? implode(',', $check) : NULL, 'manager_id' => $appE['line_manager_1'], 'employee_id' => $appE['employee_id'], 'ff_status' => 1, 'createdby' => $loginUserId, 'createdby_role' => $loginuserRole, 'createdby_group' => $loginuserGroup, 'createddate' => gmdate("Y-m-d H:i:s")); $ffEmpRatingsModel->SaveorUpdateFFEmpRatingsData($data, $where); } } if (sizeof($appEmpIDs) > 0 && $enable_to == 1) { $appEmpIDsCsv = implode(',', $appEmpIDs); $allEmpsData = $feedforwardInitModel->getEmpsFromSummary($appEmpIDsCsv); if (sizeof($allEmpsData) > 0) { foreach ($allEmpsData as $allE) { $where1 = ''; $data1 = array('ff_initialization_id' => $tableid, 'question_ids' => $check != '' ? implode(',', $check) : NULL, 'manager_id' => $allE['reporting_manager'], 'employee_id' => $allE['user_id'], 'ff_status' => 1, 'createdby' => $loginUserId, 'createdby_role' => $loginuserRole, 'createdby_group' => $loginuserGroup, 'createddate' => gmdate("Y-m-d H:i:s")); $ffEmpRatingsModel->SaveorUpdateFFEmpRatingsData($data1, $where1); } } } $actionflag = 1; $tableid = ''; $menuID = INITIALIZE_FEEDFORWARD; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /** Start * Sending Mails to Super Admin,Management,HR */ $appraisalratingsmodel = new Default_Model_Appraisalratings(); $appraisalconfigmodel = new Default_Model_Appraisalconfig(); //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisal_details = $appraisalratingsmodel->getappdata($appInitId); if (!empty($appraisal_details)) { $businessUnit = $appraisal_details['businessunit_id']; $department = $appraisal_details['deptid']; $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, $department); if ($enable_to == 1) { $empforFF = $feedforwardInitModel->getEmpIdforFF($businessUnit, $department); } else { $empforFF = $feedforwardInitModel->getAppemployeeIDs($appInitId); } $ffEmpArr = array(); $ffEmpList = ''; if (!empty($empforFF)) { foreach ($empforFF as $emp) { array_push($ffEmpArr, $emp['employeeId']); } $ffEmpList = implode(',', $ffEmpArr); } $ffEmpEmailArr = array(); $ffemployeeDetailsArr = $feedforwardInitModel->getUserDetailsByIds($ffEmpList); if (!empty($ffemployeeDetailsArr)) { foreach ($ffemployeeDetailsArr as $empFF) { array_push($ffEmpEmailArr, $empFF['emailaddress']); } } $dept_str = $dept == '' ? " " : "and department <b>{$dept}</b> "; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; //Preparing Employee array for Bcc $empArr = array(); $total_emp_arr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } $total_emp_arr = array_merge($empArr, $ffEmpEmailArr); //Sending mail to Super admin,HR,Management $options['subject'] = APPLICATION_NAME . ': Feedforward Initialization'; $options['header'] = 'Feedforward Initialization : ' . $to_year; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['bcc'] = $total_emp_arr; $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<span style='color:#3b3b3b;'>Hi,</span><br />\n\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Feedforward process have been initialized 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\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</div> "; //'Dear Super Admin, performance appraisal Initialized '.$mail_str; $mail_id = sapp_Global::_sendEmail($options); } } }
public function initializeemployeeratings($appraisalid, $initialize_Arr) { $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); $loginUserEmpId = $auth->getStorage()->read()->employeeId; $loginUserfullname = $auth->getStorage()->read()->userfullname; } $appraisalinitmodel = new Default_Model_Appraisalinit(); $appraisalqsmodel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); //$appraisalPrivMainModel = new Default_Model_Appraisalqsmain(); $app_manager_model = new Default_Model_Appraisalmanager(); $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(); $id = ''; if ($appraisalid) { $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { /** Start * Updating initialization table */ //$data = $appraisalinitmodel->getConfigData($appraisalid); //$appraisaldata = $data[0]; if (!empty($initialize_Arr)) { $init_Arr = array('enable_step' => $initialize_Arr['enable_step'], 'managers_due_date' => sapp_Global::change_date($initialize_Arr['managers_due_date'], 'database'), 'employees_due_date' => sapp_Global::change_date($initialize_Arr['employees_due_date'], 'database'), '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); } if ($initialize_Arr['enable_step'] == 2) { /** * Start * Inserting or Updating employee ratings table when enabled to employees * If record exists then updating else inserting */ $employeeidArr = $appraisalqsmodel->getemployeeIDs($appraisalid); if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { $emprating_Arr = array('pa_initialization_id' => $appraisalid, 'employee_id' => $emp['employee_id'], 'line_manager_1' => $emp['line_manager_1'] != '' ? $emp['line_manager_1'] : NULL, 'line_manager_2' => $emp['line_manager_2'] != '' ? $emp['line_manager_2'] : NULL, 'line_manager_3' => $emp['line_manager_3'] != '' ? $emp['line_manager_3'] : NULL, 'line_manager_4' => $emp['line_manager_4'] != '' ? $emp['line_manager_4'] : NULL, 'line_manager_5' => $emp['line_manager_5'] != '' ? $emp['line_manager_5'] : NULL, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $employeeexistArr = $appraisalempratingsmodel->checkEmployeeExists($appraisalid, $emp['employee_id']); if ($employeeexistArr[0]['empcount'] > 0) { $qwhere = " employee_id = '" . $emp['employee_id'] . "' and pa_initialization_id='" . $appraisalid . "' and isactive=1"; } else { $emprating_Arr['createdby'] = $loginUserId; $emprating_Arr['createdby_role'] = $loginuserRole; $emprating_Arr['createdby_group'] = $loginuserGroup; $emprating_Arr['createddate'] = gmdate("Y-m-d H:i:s"); $qwhere = ''; } $appraisalempratingsmodel->SaveorUpdateAppraisalSkillsData($emprating_Arr, $qwhere); /** * End */ } } } //enable_step=2 scenario /** End */ //Logs storing $actionflag = 1; $tableid = ''; $menuID = INITIALIZE_APPRAISAL; sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /** * Sending mails to managers OR employees based on enable step. */ $app_manager_model = new Default_Model_Appraisalmanager(); $appraisalratingsmodel = new Default_Model_Appraisalratings(); //to get initialization details using appraisal Id for Business Unit,Department,To Year $appraisal_details = $appraisalratingsmodel->getappdata($appraisalid); if (!empty($appraisal_details)) { $businessUnit = $appraisal_details['businessunit_id']; $department = $appraisal_details['deptid']; $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; $to_year = $appraisal_details['to_year']; $appraisalconfigmodel = new Default_Model_Appraisalconfig(); if ($department != '') { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, $department); } else { $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessUnit, ''); } $dept_str = $dept == '' ? " " : "and department <b>{$dept}</b> "; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; //Preparing Employee array for Bcc $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } $mail_str = $initialize_Arr['enable_step'] == 1 ? 'to managers' : 'to employees'; $empmgrArr = array(); if ($initialize_Arr['enable_step'] == 1) { $getLine1ManagerId = $appraisalqsmodel->getLine1ManagerIdMain($appraisalid); foreach ($getLine1ManagerId as $mgr) { array_push($empmgrArr, $mgr['emailaddress']); } } else { $empIdArr = array(); $empIdList = ''; $employeeidArr = $appraisalqsmodel->getemployeeIDs($appraisalid); //fetching Employee Ids if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { array_push($empIdArr, $emp['employee_id']); array_push($empIdArr, $emp['line_manager_1']); } $empIdList = implode(',', $empIdArr); //Preparing Employee Id List $empDetailsArr = $app_manager_model->getUserDetailsByEmpID($empIdList); //Fetching employee details if (!empty($empDetailsArr)) { foreach ($empDetailsArr as $emp) { array_push($empmgrArr, $emp['emailaddress']); //preparing Bcc array } } } } $totalArr = array_merge($empArr, $empmgrArr); //Sending mail to Super admin,HR,Management $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Initialization'; $options['header'] = 'Performance Appraisal Initialization : ' . $to_year; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['bcc'] = $totalArr; $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;'>Performance appraisal has been initialized {$mail_str} 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\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> "; $mail_id = sapp_Global::_sendEmail($options); } $trDb->commit(); $result['msg'] = 'Appraisal process updated successfully'; $result['result'] = 'success'; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal process updated successfully")); } catch (Exception $e) { $trDb->rollBack(); $result['msg'] = $e->getMessage(); $result['result'] = 'error'; } } return $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; $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; } }