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 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); } } } } } } } }