Example #1
0
 function cto_apps($id = '')
 {
     $c = CompensatoryTimeoff::find($id);
     $name = $this->Employee->get_employee_info($c->employee_id);
     $office_name = $this->Office->get_office_name($name['office_id']);
     $this->load->library('fpdf');
     define('FPDF_FONTPATH', $this->config->item('fonts_path'));
     $this->load->library('fpdi');
     $pdf = new FPDI('P', 'mm', 'Legal');
     // add a page
     $pdf->AddPage();
     // set the sourcefile
     $pdf->setSourceFile('dtr/template/app_for_offset.pdf');
     // select the first page
     $tplIdx = $pdf->importPage(1);
     // use the page we imported
     $pdf->useTemplate($tplIdx);
     // set font, font style, font size.
     $pdf->SetFont('Arial', 'B', 12);
     // set initial placement
     $pdf->SetXY(158, 10.5);
     $pdf->Write(0, 'Tracking no: ' . $id);
     $pdf->Ln(9);
     $pdf->SetX(158);
     $pdf->Ln(20);
     // go to 25 X (indent)
     $pdf->SetX(12);
     $this->Office->fields = array('office_code');
     $office = $this->Office->get_office_info($name['office_id']);
     // write office
     $pdf->SetFont('Arial', 'B', 10);
     $pdf->Write(0, $office['office_name']);
     $pdf->SetFont('Arial', 'B', 12);
     //lname
     $pdf->SetX(99);
     $pdf->Write(0, $name['lname']);
     //fname
     $pdf->SetX(145);
     $pdf->Write(0, $name['fname']);
     //mname
     $pdf->SetX(187);
     $pdf->Write(0, $name['mname'][0] . '.');
     $pdf->Ln(10);
     //date of file
     $pdf->SetX(20);
     $pdf->Write(0, $c->date_file);
     //position
     $pdf->SetFont('Arial', 'B', 10);
     $pdf->SetX(63);
     $pdf->Write(0, $name['position']);
     $pdf->SetFont('Arial', 'B', 12);
     // We need to check what salary grade the office use
     if ($office['salary_grade_type'] == 'hospital') {
         $this->Salary_grade->salary_grade_type = 'hospital';
     }
     //monthly salary
     $pdf->SetX(140);
     $pdf->Write(0, 'P ' . number_format($this->Salary_grade->get_monthly_salary($name['salary_grade'], $name['step']), 2));
     $days = 'day';
     if ($c->days > 1) {
         $days = 'days';
     }
     $pdf->Ln(13);
     $pdf->SetX(30);
     $pdf->Write(0, $c->days . ' ' . $days);
     $pdf->SetX(140);
     //$pdf->Write(0, 'daily rate here');
     $pdf->Ln(13);
     $pdf->SetX(50);
     $pdf->Write(0, $this->Helps->get_month_name($c->month) . ' ' . $c->dates . ', ' . $c->year);
     $cto_balances_as_of = date("F d, Y", strtotime($c->date_file . "-1 day"));
     $pdf->SetXY(30, 106);
     $pdf->Write(0, $cto_balances_as_of);
     // Compute balances
     // (balance + earn) - spent
     $cto = CompensatoryTimeoff::getBalance($c->employee_id);
     //$balance = $cto->days;
     $balance = $cto;
     $cto = CompensatoryTimeoff::getEarnedSpent($c->employee_id);
     //$earn = $cto->days;
     $earn = $cto;
     $cto = CompensatoryTimeoff::getEarnedSpent($c->employee_id, 'spent');
     //$spent = $cto->days;
     $spent = $cto;
     $total_balance = $balance + $earn - $spent;
     $pdf->SetXY(35, 116);
     $pdf->Write(0, $total_balance);
     $pdf->SetX(87);
     $pdf->Write(0, '');
     // hours here
     // Get office head
     $office = $this->Office->get_office_info($name['office_id']);
     // If detailed
     if ($name['detailed_office_id'] != 0) {
         $detailed_office = $this->Office->get_office_info($name['detailed_office_id']);
         $office['office_head'] = $detailed_office['office_head'];
         $office['position'] = $detailed_office['position'];
     }
     // If Employee is Department head
     $o = new Office_m();
     $o->get_by_employee_id($c->employee_id);
     if ($o->exists()) {
         $office['office_head'] = 'CARMENCITA O. REYES';
         $office['position'] = 'Governor';
     }
     // We need to work out for this as exception
     if ($c->employee_id == '61') {
         $office['office_head'] = 'ANTONIO L. UY, JR. M.D.';
         $office['position'] = 'Vice Governor';
     }
     $pdf->Ln(6);
     $pdf->SetX(120);
     $pdf->Cell(73, 4, strtoupper($office['office_head']), '0', 0, 'C', FALSE);
     $pdf->Ln(5);
     $pdf->SetFont('Arial', '', 10);
     $pdf->SetX(120);
     $pdf->Cell(73, 4, $office['position'], '0', 0, 'C', FALSE);
     $pdf->SetFont('Arial', 'B', 12);
     // Statement of CTO signatory
     $statement_certified = Setting::getField('cto_certification');
     $statement_certified_position = Setting::getField('cto_certification_position');
     $pdf->Ln(5);
     $pdf->SetX(22);
     $pdf->Cell(73, 4, strtoupper($statement_certified), '0', 0, 'C', FALSE);
     $pdf->Ln(5);
     $pdf->SetFont('Arial', '', 10);
     $pdf->SetX(22);
     $pdf->Cell(73, 4, $statement_certified_position, '0', 0, 'C', FALSE);
     $pdf->SetFont('Arial', 'B', 12);
     // ====================Second Form =============
     $pdf->Ln(44);
     $pdf->SetX(12);
     // write office
     $pdf->SetFont('Arial', 'B', 10);
     $pdf->Write(0, $office['office_name']);
     $pdf->SetFont('Arial', 'B', 12);
     //lname
     $pdf->SetX(99);
     $pdf->Write(0, $name['lname']);
     //fname
     $pdf->SetX(145);
     $pdf->Write(0, $name['fname']);
     //mname
     $pdf->SetX(187);
     $pdf->Write(0, $name['mname'][0] . '.');
     $pdf->Ln(10);
     //date of file
     $pdf->SetX(20);
     $pdf->Write(0, $c->date_file);
     //position
     $pdf->SetFont('Arial', 'B', 10);
     $pdf->SetX(63);
     $pdf->Write(0, $name['position']);
     $pdf->SetFont('Arial', 'B', 12);
     //monthly salary
     $pdf->SetX(140);
     $pdf->Write(0, 'P ' . number_format($this->Salary_grade->get_monthly_salary($name['salary_grade'], $name['step']), 2));
     $pdf->Ln(13);
     $pdf->SetX(30);
     $pdf->Write(0, $c->days . ' ' . $days);
     $pdf->SetX(140);
     //$pdf->Write(0, 'daily rate here');
     $pdf->Ln(13);
     $pdf->SetX(50);
     $pdf->Write(0, $this->Helps->get_month_name($c->month) . ' ' . $c->dates . ', ' . $c->year);
     $cto_balances_as_of = date("F d, Y", strtotime($c->date_file . "-1 day"));
     $pdf->Ln(30);
     $pdf->SetX(30);
     //$pdf->Write(0, $cto_balances_as_of);
     $pdf->Ln(10);
     $pdf->SetX(35);
     //$pdf->Write(0, $total_balance);
     $pdf->Ln(6);
     $pdf->SetX(120);
     $pdf->Cell(73, 4, strtoupper($office['office_head']), '0', 0, 'C', FALSE);
     $pdf->Ln(5);
     $pdf->SetFont('Arial', '', 10);
     $pdf->SetX(120);
     $pdf->Cell(73, 4, $office['position'], '0', 0, 'C', FALSE);
     $pdf->SetFont('Arial', 'B', 12);
     $pdf->Ln(5);
     $pdf->SetX(22);
     $pdf->Cell(73, 4, strtoupper($statement_certified), '0', 0, 'C', FALSE);
     $pdf->Ln(5);
     $pdf->SetFont('Arial', '', 10);
     $pdf->SetX(22);
     $pdf->Cell(73, 4, $statement_certified_position, '0', 0, 'C', FALSE);
     $pdf->SetFont('Arial', 'B', 12);
     header('Cache-Control: maxage=3600');
     //Adjust maxage appropriately
     header('Pragma: public');
     $pdf->Output('dtr/reports/cto-apps-' . intval($c->employee_id) . '.pdf', 'I');
     //return Redirect::to('dtr/reports/leave-apps-'.$rows['employee_id'].'.pdf', 'refresh');
 }