Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 8220 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 8220 Rev 8230
Línea 1252... Línea 1252...
1252
                        'behaviors' => $behaviors
1252
                        'behaviors' => $behaviors
1253
                    ]);
1253
                    ]);
1254
                }
1254
                }
1255
            }
1255
            }
Línea 1256... Línea 1256...
1256
 
1256
 
1257
            return $this->renderPDF($currentCompany, $testSelf, $competencies);
1257
            return $this->renderSelfPDF($currentCompany, $testSelf, $competencies);
Línea 1258... Línea 1258...
1258
        }
1258
        }
1259
 
1259
 
1260
        return new JsonModel([
1260
        return new JsonModel([
Línea 1268... Línea 1268...
1268
     * @param Company $currentCompany
1268
     * @param Company $currentCompany
1269
     * @param recruitmentSelectionInterview $interviewEvaluation
1269
     * @param recruitmentSelectionInterview $interviewEvaluation
1270
     * @param array $competencies
1270
     * @param array $competencies
1271
     * @return mixed
1271
     * @return mixed
1272
     */
1272
     */
1273
    public function renderPDF($currentCompany, $testSelf, $competencies) {
1273
    public function renderSelfPDF($currentCompany, $testSelf, $competencies) {
Línea 1274... Línea 1274...
1274
 
1274
 
1275
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1275
        $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 1276... Línea 1276...
1276
        $currentUser = $currentUserPlugin->getUser();
1276
        $currentUser = $currentUserPlugin->getUser();
Línea 1401... Línea 1401...
1401
 
1401
 
Línea 1402... Línea 1402...
1402
        return $pdf->Output();
1402
        return $pdf->Output();
Línea -... Línea 1403...
-
 
1403
           
-
 
1404
    }
-
 
1405
 
-
 
1406
    public function reportBothAction() {
-
 
1407
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1408
        $currentUser = $currentUserPlugin->getUser();
-
 
1409
        $currentCompany = $currentUserPlugin->getCompany();
-
 
1410
 
-
 
1411
        $uuid = $this->params()->fromRoute('id');
-
 
1412
 
-
 
1413
        $testMapper = CompanyPerformanceEvaluationTestMapper::getInstance($this->adapter);
-
 
1414
        $test = $testMapper->fetchOneByUuid($uuid);
-
 
1415
       
-
 
1416
        $testBothMapper = CompanyPerformanceEvaluationTestBothMapper::getInstance($this->adapter);
-
 
1417
        $testBoth = $testBothMapper->fetchOneByTestId($test->id);
-
 
1418
       
-
 
1419
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
-
 
1420
        $form = $formMapper->fetchOne($test->form_id);
-
 
1421
    
-
 
1422
        if (!$form) {
-
 
1423
            return new JsonModel([
-
 
1424
                'success' => false,
-
 
1425
                'data' => 'ERROR_FORM_EVALUATION_NOT_FOUND'
-
 
1426
            ]);
-
 
1427
        }
-
 
1428
 
-
 
1429
        $request = $this->getRequest();
-
 
1430
        if ($request->isGet()) {
-
 
1431
            //Competencies
-
 
1432
 
-
 
1433
            $jobDescriptionCompetencyMapper = JobDescriptionCompetencyMapper::getInstance($this->adapter);
-
 
1434
            $competencyMapper = CompetencyMapper::getInstance($this->adapter);
-
 
1435
            $competenceTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
-
 
1436
            $behaviorCompetencyMapper = BehaviorCompetencyMapper::getInstance($this->adapter);
-
 
1437
            $jobDescriptionBehaviorCompetencyMapper = JobDescriptionBehaviorCompetencyMapper::getInstance($this->adapter);
-
 
1438
            $behaviorMapper = BehaviorMapper::getInstance($this->adapter);
-
 
1439
 
-
 
1440
            $competencies = [];
-
 
1441
 
-
 
1442
            $jobDescriptionCompetency = $jobDescriptionCompetencyMapper->fetchByJobDescriptionId($form->job_description_id);
-
 
1443
 
-
 
1444
            $content = json_decode($testBoth->content, true);
-
 
1445
 
-
 
1446
            foreach ($jobDescriptionCompetency as $record) {
-
 
1447
 
-
 
1448
                $competency = $competencyMapper->fetchOne($record->competency_id);
-
 
1449
                $competenceType = $competenceTypeMapper->fetchOne($competency->competency_type_id);
-
 
1450
 
-
 
1451
                if ($competency && $competenceType) {
-
 
1452
 
-
 
1453
                    $behaviorCompetencies = $behaviorCompetencyMapper->fetchByCompetencyId($competency->id);
-
 
1454
                    $behaviors = [];
-
 
1455
 
-
 
1456
                    foreach ($behaviorCompetencies as $rows) {
-
 
1457
 
-
 
1458
                        $behavior = $behaviorMapper->fetchOne($rows->behavior_id);
-
 
1459
                        $jobDescriptionBehaviorCompetency = $jobDescriptionBehaviorCompetencyMapper->fetchOneByBehavior($form->job_description_id, $record->competency_id, $rows->behavior_id);
-
 
1460
 
-
 
1461
                        if ($behavior && $jobDescriptionBehaviorCompetency) {
-
 
1462
                            $rowData = [
-
 
1463
                                'description' => $behavior->description,
-
 
1464
                                'level' => $jobDescriptionBehaviorCompetency->level,
-
 
1465
                                'comment' => '',
-
 
1466
                                'evaluation' => '',
-
 
1467
                               
-
 
1468
                            ];
-
 
1469
 
-
 
1470
                            foreach($content as $eval) {
-
 
1471
                                if ($eval['competencyUuid'] == $competency->uuid &&
-
 
1472
                                    $eval['behaviorUuid'] == $behavior->uuid) {
-
 
1473
 
-
 
1474
                                    $rowData['comment'] = $eval['comment'];
-
 
1475
                                    $rowData['evaluation'] = $eval['evaluation'];
-
 
1476
                                    
-
 
1477
 
-
 
1478
                                    break;
-
 
1479
                                }
-
 
1480
                            }
-
 
1481
 
-
 
1482
                            $behaviors []= $rowData;
-
 
1483
                        }
-
 
1484
                    }
-
 
1485
 
-
 
1486
                    array_push($competencies, [
-
 
1487
                        'name' => $competency->name,
-
 
1488
                        'description' => $competency->description,
-
 
1489
                        'type' => $competenceType->name,
-
 
1490
                        'behaviors' => $behaviors
-
 
1491
                    ]);
-
 
1492
                }
-
 
1493
            }
-
 
1494
 
-
 
1495
            return $this->renderBothPDF($currentCompany, $testBoth, $competencies);
-
 
1496
        }
-
 
1497
 
-
 
1498
        return new JsonModel([
-
 
1499
            'success' => false,
-
 
1500
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
1501
        ]);
-
 
1502
    }
-
 
1503
 
-
 
1504
    public function renderBothPDF($currentCompany, $testBoth, $competencies) {
-
 
1505
 
-
 
1506
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1507
        $currentUser = $currentUserPlugin->getUser();
-
 
1508
 
-
 
1509
        //Generate New PDF
-
 
1510
        $pdf = new InterviewPDF();
-
 
1511
 
-
 
1512
        $pdf->header = '';
-
 
1513
        $pdf->footer = '';
-
 
1514
 
-
 
1515
        if ($currentCompany) {
-
 
1516
            //get company Data
-
 
1517
            $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
1518
            $company = $companyMapper->fetchOne($currentCompany->id);
-
 
1519
 
-
 
1520
            $target_path = $this->config['leaderslinked.fullpath.company'] . DIRECTORY_SEPARATOR . $company->uuid;
-
 
1521
 
-
 
1522
            $pdf->header = $company->header ? $target_path . DIRECTORY_SEPARATOR . $company->header : '';
-
 
1523
            $pdf->footer = $company->footer ? $target_path . DIRECTORY_SEPARATOR . $company->footer : '';
-
 
1524
        }
-
 
1525
 
-
 
1526
        $pdf->SetMargins(10, 0, 10);
-
 
1527
 
-
 
1528
        $pdf->AliasNbPages();
-
 
1529
        $pdf->AddPage();
-
 
1530
        
-
 
1531
        $testMapper = CompanyPerformanceEvaluationTestMapper::getInstance($this->adapter);
-
 
1532
        $test = $testMapper->fetchOne($testBoth->test_id);
-
 
1533
 
-
 
1534
        $userMapper = UserMapper::getInstance($this->adapter);
-
 
1535
        $supervisor = $userMapper->fetchOne($testBoth->supervisor_id);
-
 
1536
 
-
 
1537
        switch ($testBoth->points) {
-
 
1538
            case "0":
-
 
1539
                $points = "Sugerir otro cargo";
-
 
1540
                break;
-
 
1541
            case "1":
-
 
1542
                $points = "25%";
-
 
1543
                break;
-
 
1544
            case "2":
-
 
1545
                $points = "50%";
-
 
1546
                break;
-
 
1547
            case "3":
-
 
1548
                $points = "75%";
-
 
1549
                break;
-
 
1550
            case "4":
-
 
1551
                $points = "100%";
-
 
1552
                break;
-
 
1553
            default :
-
 
1554
                $points = "ERROR";
-
 
1555
                break;
-
 
1556
        }
-
 
1557
 
-
 
1558
        $rows = [
-
 
1559
            array(
-
 
1560
                'title' => 'Nombre Evaluado: ',
-
 
1561
                'content' => $testBoth ? ' ' . $testBoth->first_name . ' ' . $testBoth->last_name : 'No Aplica'
-
 
1562
            ),
-
 
1563
            array(
-
 
1564
                'title' => 'Supervisado por: ',
-
 
1565
                'content' => $supervisor ? ' ' . $supervisor->first_name . ' ' . $supervisor->last_name : ' No Aplica '
-
 
1566
            ),
-
 
1567
            array(
-
 
1568
                'title' => 'Comentarios del supervisor: ',
-
 
1569
                'content' => $testBoth ? ' ' . $testBoth->comment : 'No Aplica'
-
 
1570
            ),
-
 
1571
            array(
-
 
1572
                'title' => 'Porcentage de adaptibilidad ',
-
 
1573
                'content' => $points
-
 
1574
            )
-
 
1575
        ];
-
 
1576
 
-
 
1577
        $pdf->borderTable('DATOS DE LA ENTREVISTA', $rows);
-
 
1578
          
-
 
1579
        $sections = json_decode($testBoth->content, true);
-
 
1580
        /*
-
 
1581
                for ($s = 0; $s < count($sections); $s++) {
-
 
1582
        
-
 
1583
                    $pdf->singleTable($sections[$s]['title'], [
-
 
1584
                        array(
-
 
1585
                            'content' => $sections[$s]['type'] != 'multiple' ? $sections[$s]['text'] : ''
-
 
1586
                    )]);
-
 
1587
        
-
 
1588
                    if ($sections[$s]['type'] == 'multiple') {
-
 
1589
                        
-
 
1590
                        $pdf->titleOptionTable($sections[$s]['text']);
-
 
1591
        
-
 
1592
                        for ($o = 0; $o < count($sections[$s]['options']); $o++) {
-
 
1593
        
-
 
1594
                            $pdf->optionTable($sections[$s]['options'][$o]['title']);
-
 
1595
                        }
-
 
1596
                        $pdf->Ln();
-
 
1597
                    }
-
 
1598
                    if ($s % 2 == 0 && $s > 1) {
-
 
1599
                        $pdf->AddPage();
-
 
1600
                    }
-
 
1601
                }*/
-
 
1602
        
-
 
1603
        // Competencies
-
 
1604
        if (count($competencies) != 0) {
-
 
1605
 
-
 
1606
            // add new page
-
 
1607
 
-
 
1608
            $pdf->AddPage();
-
 
1609
 
-
 
1610
            $competencies_header[] = array('content' => 'Indique el nivel de desempeño del evaluado en relación a sus conductas y actitudes frente a cada valor, según la clasificación siguiente:');
-
 
1611
 
-
 
1612
            $pdf->singleTable('Anexo de valores:', $competencies_header);
-
 
1613
 
-
 
1614
 
-
 
1615
            // Add scale section
-
 
1616
            $pdf->sectionScale();
-
 
1617
 
-
 
1618
            $i = 0;
-
 
1619
 
-
 
1620
            foreach ($competencies as $record) {
-
 
1621
 
-
 
1622
                $i = $i + 1;
-
 
1623
 
-
 
1624
                $pdf->competencyTable($i, $record);
-
 
1625
 
-
 
1626
                if ($i % 3 == 0 && $i < count($competencies)) {
-
 
1627
                    $pdf->AddPage();
-
 
1628
                }
-
 
1629
            }
-
 
1630
            
-
 
1631
        }
-
 
1632
 
-
 
1633
        return $pdf->Output();
-
 
1634
           
-
 
1635
    }
-
 
1636
 
-
 
1637
    public function reportSupervisorAction() {
-
 
1638
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1639
        $currentUser = $currentUserPlugin->getUser();
-
 
1640
        $currentCompany = $currentUserPlugin->getCompany();
-
 
1641
 
-
 
1642
        $uuid = $this->params()->fromRoute('id');
-
 
1643
 
-
 
1644
        $testMapper = CompanyPerformanceEvaluationTestMapper::getInstance($this->adapter);
-
 
1645
        $test = $testMapper->fetchOneByUuid($uuid);
-
 
1646
       
-
 
1647
        $testSupervisorMapper = CompanyPerformanceEvaluationTestSupervisorMapper::getInstance($this->adapter);
-
 
1648
        $testSupervisor = $testSupervisorMapper->fetchOneByTestId($test->id);
-
 
1649
       
-
 
1650
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
-
 
1651
        $form = $formMapper->fetchOne($test->form_id);
-
 
1652
    
-
 
1653
        if (!$form) {
-
 
1654
            return new JsonModel([
-
 
1655
                'success' => false,
-
 
1656
                'data' => 'ERROR_FORM_EVALUATION_NOT_FOUND'
-
 
1657
            ]);
-
 
1658
        }
-
 
1659
 
-
 
1660
        $request = $this->getRequest();
-
 
1661
        if ($request->isGet()) {
-
 
1662
            //Competencies
-
 
1663
 
-
 
1664
            $jobDescriptionCompetencyMapper = JobDescriptionCompetencyMapper::getInstance($this->adapter);
-
 
1665
            $competencyMapper = CompetencyMapper::getInstance($this->adapter);
-
 
1666
            $competenceTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
-
 
1667
            $behaviorCompetencyMapper = BehaviorCompetencyMapper::getInstance($this->adapter);
-
 
1668
            $jobDescriptionBehaviorCompetencyMapper = JobDescriptionBehaviorCompetencyMapper::getInstance($this->adapter);
-
 
1669
            $behaviorMapper = BehaviorMapper::getInstance($this->adapter);
-
 
1670
 
-
 
1671
            $competencies = [];
-
 
1672
 
-
 
1673
            $jobDescriptionCompetency = $jobDescriptionCompetencyMapper->fetchByJobDescriptionId($form->job_description_id);
-
 
1674
 
-
 
1675
            $content = json_decode($testSupervisor->content, true);
-
 
1676
 
-
 
1677
            foreach ($jobDescriptionCompetency as $record) {
-
 
1678
 
-
 
1679
                $competency = $competencyMapper->fetchOne($record->competency_id);
-
 
1680
                $competenceType = $competenceTypeMapper->fetchOne($competency->competency_type_id);
-
 
1681
 
-
 
1682
                if ($competency && $competenceType) {
-
 
1683
 
-
 
1684
                    $behaviorCompetencies = $behaviorCompetencyMapper->fetchByCompetencyId($competency->id);
-
 
1685
                    $behaviors = [];
-
 
1686
 
-
 
1687
                    foreach ($behaviorCompetencies as $rows) {
-
 
1688
 
-
 
1689
                        $behavior = $behaviorMapper->fetchOne($rows->behavior_id);
-
 
1690
                        $jobDescriptionBehaviorCompetency = $jobDescriptionBehaviorCompetencyMapper->fetchOneByBehavior($form->job_description_id, $record->competency_id, $rows->behavior_id);
-
 
1691
 
-
 
1692
                        if ($behavior && $jobDescriptionBehaviorCompetency) {
-
 
1693
                            $rowData = [
-
 
1694
                                'description' => $behavior->description,
-
 
1695
                                'level' => $jobDescriptionBehaviorCompetency->level,
-
 
1696
                                'comment' => '',
-
 
1697
                                'evaluation' => '',
-
 
1698
                               
-
 
1699
                            ];
-
 
1700
 
-
 
1701
                            foreach($content as $eval) {
-
 
1702
                                if ($eval['competencyUuid'] == $competency->uuid &&
-
 
1703
                                    $eval['behaviorUuid'] == $behavior->uuid) {
-
 
1704
 
-
 
1705
                                    $rowData['comment'] = $eval['comment'];
-
 
1706
                                    $rowData['evaluation'] = $eval['evaluation'];
-
 
1707
                                    
-
 
1708
 
-
 
1709
                                    break;
-
 
1710
                                }
-
 
1711
                            }
-
 
1712
 
-
 
1713
                            $behaviors []= $rowData;
-
 
1714
                        }
-
 
1715
                    }
-
 
1716
 
-
 
1717
                    array_push($competencies, [
-
 
1718
                        'name' => $competency->name,
-
 
1719
                        'description' => $competency->description,
-
 
1720
                        'type' => $competenceType->name,
-
 
1721
                        'behaviors' => $behaviors
-
 
1722
                    ]);
-
 
1723
                }
-
 
1724
            }
-
 
1725
 
-
 
1726
            return $this->renderSupervisorPDF($currentCompany, $testSupervisor, $competencies);
-
 
1727
        }
-
 
1728
 
-
 
1729
        return new JsonModel([
-
 
1730
            'success' => false,
-
 
1731
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
1732
        ]);
-
 
1733
    }
-
 
1734
 
-
 
1735
      /**
-
 
1736
     * Render PDF
-
 
1737
     * @param Company $currentCompany
-
 
1738
     * @param recruitmentSelectionInterview $interviewEvaluation
-
 
1739
     * @param array $competencies
-
 
1740
     * @return mixed
-
 
1741
     */
-
 
1742
    public function renderSupervisorPDF($currentCompany, $testSupervisor, $competencies) {
-
 
1743
 
-
 
1744
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1745
        $currentUser = $currentUserPlugin->getUser();
-
 
1746
 
-
 
1747
        //Generate New PDF
-
 
1748
        $pdf = new InterviewPDF();
-
 
1749
 
-
 
1750
        $pdf->header = '';
-
 
1751
        $pdf->footer = '';
-
 
1752
 
-
 
1753
        if ($currentCompany) {
-
 
1754
            //get company Data
-
 
1755
            $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
1756
            $company = $companyMapper->fetchOne($currentCompany->id);
-
 
1757
 
-
 
1758
            $target_path = $this->config['leaderslinked.fullpath.company'] . DIRECTORY_SEPARATOR . $company->uuid;
-
 
1759
 
-
 
1760
            $pdf->header = $company->header ? $target_path . DIRECTORY_SEPARATOR . $company->header : '';
-
 
1761
            $pdf->footer = $company->footer ? $target_path . DIRECTORY_SEPARATOR . $company->footer : '';
-
 
1762
        }
-
 
1763
 
-
 
1764
        $pdf->SetMargins(10, 0, 10);
-
 
1765
 
-
 
1766
        $pdf->AliasNbPages();
-
 
1767
        $pdf->AddPage();
-
 
1768
        
-
 
1769
        $testMapper = CompanyPerformanceEvaluationTestMapper::getInstance($this->adapter);
-
 
1770
        $test = $testMapper->fetchOne($testSupervisor->test_id);
-
 
1771
 
-
 
1772
        $userMapper = UserMapper::getInstance($this->adapter);
-
 
1773
        $supervisor = $userMapper->fetchOne($testSupervisor->supervisor_id);
-
 
1774
 
-
 
1775
        switch ($testSupervisor->points) {
-
 
1776
            case "0":
-
 
1777
                $points = "Sugerir otro cargo";
-
 
1778
                break;
-
 
1779
            case "1":
-
 
1780
                $points = "25%";
-
 
1781
                break;
-
 
1782
            case "2":
-
 
1783
                $points = "50%";
-
 
1784
                break;
-
 
1785
            case "3":
-
 
1786
                $points = "75%";
-
 
1787
                break;
-
 
1788
            case "4":
-
 
1789
                $points = "100%";
-
 
1790
                break;
-
 
1791
            default :
-
 
1792
                $points = "ERROR";
-
 
1793
                break;
-
 
1794
        }
-
 
1795
 
-
 
1796
        $rows = [
-
 
1797
            array(
-
 
1798
                'title' => 'Nombre Evaluado: ',
-
 
1799
                'content' => $testSupervisor ? ' ' . $testSupervisor->first_name . ' ' . $testSupervisor->last_name : 'No Aplica'
-
 
1800
            ),
-
 
1801
            array(
-
 
1802
                'title' => 'Supervisado por: ',
-
 
1803
                'content' => $supervisor ? ' ' . $supervisor->first_name . ' ' . $supervisor->last_name : ' No Aplica '
-
 
1804
            ),
-
 
1805
            array(
-
 
1806
                'title' => 'Comentarios del supervisor: ',
-
 
1807
                'content' => $testSupervisor ? ' ' . $testSupervisor->comment : 'No Aplica'
-
 
1808
            ),
-
 
1809
            array(
-
 
1810
                'title' => 'Porcentage de adaptibilidad ',
-
 
1811
                'content' => $points
-
 
1812
            )
-
 
1813
        ];
-
 
1814
 
-
 
1815
        $pdf->borderTable('DATOS DE LA ENTREVISTA', $rows);
-
 
1816
          
-
 
1817
        $sections = json_decode($testSupervisor->content, true);
-
 
1818
        /*
-
 
1819
                for ($s = 0; $s < count($sections); $s++) {
-
 
1820
        
-
 
1821
                    $pdf->singleTable($sections[$s]['title'], [
-
 
1822
                        array(
-
 
1823
                            'content' => $sections[$s]['type'] != 'multiple' ? $sections[$s]['text'] : ''
-
 
1824
                    )]);
-
 
1825
        
-
 
1826
                    if ($sections[$s]['type'] == 'multiple') {
-
 
1827
                        
-
 
1828
                        $pdf->titleOptionTable($sections[$s]['text']);
-
 
1829
        
-
 
1830
                        for ($o = 0; $o < count($sections[$s]['options']); $o++) {
-
 
1831
        
-
 
1832
                            $pdf->optionTable($sections[$s]['options'][$o]['title']);
-
 
1833
                        }
-
 
1834
                        $pdf->Ln();
-
 
1835
                    }
-
 
1836
                    if ($s % 2 == 0 && $s > 1) {
-
 
1837
                        $pdf->AddPage();
-
 
1838
                    }
-
 
1839
                }*/
-
 
1840
        
-
 
1841
        // Competencies
-
 
1842
        if (count($competencies) != 0) {
-
 
1843
 
-
 
1844
            // add new page
-
 
1845
 
-
 
1846
            $pdf->AddPage();
-
 
1847
 
-
 
1848
            $competencies_header[] = array('content' => 'Indique el nivel de desempeño del evaluado en relación a sus conductas y actitudes frente a cada valor, según la clasificación siguiente:');
-
 
1849
 
-
 
1850
            $pdf->singleTable('Anexo de valores:', $competencies_header);
-
 
1851
 
-
 
1852
 
-
 
1853
            // Add scale section
-
 
1854
            $pdf->sectionScale();
-
 
1855
 
-
 
1856
            $i = 0;
-
 
1857
 
-
 
1858
            foreach ($competencies as $record) {
-
 
1859
 
-
 
1860
                $i = $i + 1;
-
 
1861
 
-
 
1862
                $pdf->competencyTable($i, $record);
-
 
1863
 
-
 
1864
                if ($i % 3 == 0 && $i < count($competencies)) {
-
 
1865
                    $pdf->AddPage();
-
 
1866
                }
-
 
1867
            }
-
 
1868
            
-
 
1869
        }
-
 
1870
 
1403
           
1871
        return $pdf->Output();