Example #1
0
 /**
  ** get individual 
  **/
 public function getselectedappraisaldataAction()
 {
     try {
         $appId = $this->_request->getParam('appId');
         $empId = $this->_request->getParam('empId');
         $empAppraisalData = "";
         $questionsData = "";
         $categoriesData = "";
         $empData = "";
         $ratingsData = "";
         if ($appId && $empId) {
             $empAppraisalModel = new Default_Model_Appraisalemployeeratings();
             $empAppraisals = $empAppraisalModel->getSelectedAppraisalData($appId, $empId);
             $configId = isset($empAppraisals[0]['pa_configured_id']) ? $empAppraisals[0]['pa_configured_id'] : 0;
             // get rating details using configuration id
             $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings();
             $ratingsData = $appEmpRatingsModel->getAppRatingsDataByConfgId($configId, $appId);
             $ratingType = "";
             if (!empty($ratingsData)) {
                 $ratingType = $ratingsData[0]['rating_type'];
             }
             $ratingText = array();
             $ratingTextDisplay = array();
             $ratingValues = array();
             foreach ($ratingsData as $rd) {
                 $ratingText[] = $rd['rating_text'];
                 $ratingTextDisplay[$rd['id']] = $rd['rating_text'];
                 $ratingValues[$rd['id']] = $rd['rating_value'];
             }
             //$empAppraisalData = $empAppraisalModel->getEmpQuestionsData($appId,$empId);
             if (!empty($empAppraisals)) {
                 if (!empty($empAppraisals[0]['employee_response'])) {
                     $empResponse = json_decode($empAppraisals[0]['employee_response']);
                     $empResponseArray = get_object_vars($empResponse);
                     $strQuestionIds = implode(",", array_keys($empResponseArray));
                     $questionsData = $empAppraisalModel->getQuestionsData($strQuestionIds);
                     $tmpRatingIdsObject = array_values($empResponseArray);
                     $tmpRatingIdsArr = array();
                     foreach ($tmpRatingIdsObject as $ratingArr) {
                         $tmpRatings = get_object_vars($ratingArr);
                         $tmpRatingIdsArr[] = $tmpRatings['rating_id'];
                     }
                     if (!empty($empAppraisals[0]['manager_response'])) {
                         $managerResponse = json_decode($empAppraisals[0]['manager_response']);
                         $managerResponseArray = get_object_vars($managerResponse);
                         $managerRatingIdsObject = array_values($managerResponseArray);
                         foreach ($managerRatingIdsObject as $ratingArr) {
                             $tmpRatings = get_object_vars($ratingArr);
                             $tmpRatingIdsArr[] = $tmpRatings['rating'];
                         }
                     }
                     $tmpRatingIdsStr = !empty($tmpRatingIdsArr) ? implode(",", $tmpRatingIdsArr) : "";
                     if (!empty($tmpRatingIdsStr)) {
                         $ratingsData = $empAppraisalModel->getRatingsData($tmpRatingIdsStr);
                     }
                     if (!empty($ratingsData)) {
                         $r = 0;
                         foreach ($ratingsData as $rdata) {
                             $ratingsData[$rdata['id']] = $rdata;
                             unset($ratingsData[$r]);
                             $r++;
                         }
                     }
                 }
                 $strCategories = $empAppraisals[0]['category_id'];
                 $categoriesData = $empAppraisalModel->getCategories($strCategories);
                 /** for getting line managers name, business unit, department details
                 					**
                 					$strEmpId = $empId.',';
                 
                 					if(!empty($empAppraisals[0]['line_manager_1']))
                 					{
                 							$strEmpId .= $empAppraisals[0]['line_manager_1'];
                 							$strEmpId .= ',';
                 					}
                 					if(!empty($empAppraisals[0]['line_manager_2']))
                 					{
                 						$strEmpId .= $empAppraisals[0]['line_manager_2'];
                 						$strEmpId .= ',';
                 					}
                 					if(!empty($empAppraisals[0]['line_manager_3']))
                 					{
                 						$strEmpId .= $empAppraisals[0]['line_manager_3'];
                 						$strEmpId .= ',';
                 					}
                 					if(!empty($empAppraisals[0]['line_manager_4']))
                 					{
                 						$strEmpId .= $empAppraisals[0]['line_manager_4'];
                 						$strEmpId .= ',';
                 					}
                 					if(!empty($empAppraisals[0]['line_manager_5']))
                 					{
                 						$strEmpId .= $empAppraisals[0]['line_manager_5'];
                 						$strEmpId .= ',';
                 					}
                 					
                 					$strEmpId = trim($strEmpId,",");
                 					$empData = $empAppraisalModel->getEmployeeData($strEmpId);
                 					**/
             }
         }
         $this->view->selectedAppraisals = $empAppraisals;
         $this->view->categoriesData = $categoriesData;
         $this->view->empData = $empData;
         $this->view->questionsData = $questionsData;
         $this->view->ratingsData = $ratingsData;
         $this->view->ratingType = $ratingType;
         $this->view->ratingTextDisplay = $ratingTextDisplay;
         $this->view->ratingText = json_encode($ratingText);
         $this->view->ratingValues = $ratingValues;
     } catch (Exception $e) {
         print_r($e);
     }
 }
 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));
 }
 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));
 }
 /**
  ** get individual 
  **/
 public function getselectedappraisaldataAction()
 {
     try {
         $appId = $this->_request->getParam('appId');
         $empId = $this->_request->getParam('empId');
         $period = $this->_request->getParam('period');
         $empAppraisalData = "";
         $questionsData = "";
         $categoriesData = "";
         $empData = "";
         $ratingsData = "";
         $empAppraisals = array();
         $ratingType = "";
         $ratingText = array();
         $ratingTextDisplay = array();
         $ratingValues = array();
         if ($appId && $empId && $period) {
             $empAppraisalModel = new Default_Model_Appraisalemployeeratings();
             $empAppraisals = $empAppraisalModel->getSelectedAppraisalData($appId, $empId, $period);
             $configId = isset($empAppraisals[0]['pa_configured_id']) ? $empAppraisals[0]['pa_configured_id'] : 0;
             // get rating details using configuration id
             $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings();
             $ratingsData = $appEmpRatingsModel->getAppRatingsDataByConfgId($configId, $appId);
             if (!empty($ratingsData)) {
                 $ratingType = $ratingsData[0]['rating_type'];
             }
             foreach ($ratingsData as $rd) {
                 $ratingText[] = $rd['rating_text'];
                 $ratingTextDisplay[$rd['id']] = $rd['rating_text'];
                 $ratingValues[$rd['id']] = $rd['rating_value'];
             }
             if (!empty($empAppraisals)) {
                 if (!empty($empAppraisals[0]['employee_response'])) {
                     $empResponse = json_decode($empAppraisals[0]['employee_response']);
                     $empResponseArray = get_object_vars($empResponse);
                     $strQuestionIds = implode(",", array_keys($empResponseArray));
                     $questionsData = $empAppraisalModel->getQuestionsData($strQuestionIds);
                     $tmpRatingIdsObject = array_values($empResponseArray);
                     $tmpRatingIdsArr = array();
                     foreach ($tmpRatingIdsObject as $ratingArr) {
                         $tmpRatings = get_object_vars($ratingArr);
                         $tmpRatingIdsArr[] = $tmpRatings['rating_id'];
                     }
                     if (!empty($empAppraisals[0]['manager_response'])) {
                         $managerResponse = json_decode($empAppraisals[0]['manager_response']);
                         $managerResponseArray = get_object_vars($managerResponse);
                         $managerRatingIdsObject = array_values($managerResponseArray);
                         foreach ($managerRatingIdsObject as $ratingArr) {
                             $tmpRatings = get_object_vars($ratingArr);
                             $tmpRatingIdsArr[] = $tmpRatings['rating'];
                         }
                     }
                     $tmpRatingIdsStr = !empty($tmpRatingIdsArr) ? implode(",", $tmpRatingIdsArr) : "";
                     if (!empty($tmpRatingIdsStr)) {
                         $ratingsData = $empAppraisalModel->getRatingsData($tmpRatingIdsStr);
                     }
                     if (!empty($ratingsData)) {
                         $r = 0;
                         foreach ($ratingsData as $rdata) {
                             $ratingsData[$rdata['id']] = $rdata;
                             unset($ratingsData[$r]);
                             $r++;
                         }
                     }
                 }
                 $strCategories = $empAppraisals[0]['category_id'];
                 $categoriesData = $empAppraisalModel->getCategories($strCategories);
             }
         }
         $appSkillsModel = new Default_Model_Appraisalskills();
         $skills = array();
         $skills = $appSkillsModel->getAppraisalSkillsData();
         $skills_arr = array();
         foreach ($skills as $skill) {
             $skills_arr[$skill['id']] = $skill;
         }
         $this->view->skills_arr = $skills_arr;
         $this->view->selectedAppraisals = $empAppraisals;
         $this->view->categoriesData = $categoriesData;
         $this->view->empData = $empData;
         $this->view->questionsData = $questionsData;
         $this->view->ratingsData = $ratingsData;
         $this->view->ratingType = $ratingType;
         $this->view->ratingTextDisplay = $ratingTextDisplay;
         $this->view->ratingText = json_encode($ratingText);
         $this->view->ratingValues = $ratingValues;
         $this->view->appraisalId = $appId;
     } catch (Exception $e) {
         print_r($e);
     }
 }