Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 1276 | Rev 1278 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1276 Rev 1277
Línea 17... Línea 17...
17
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
17
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
18
use LeadersLinked\Mapper\JobDescriptionMapper;
18
use LeadersLinked\Mapper\JobDescriptionMapper;
19
use LeadersLinked\Mapper\CompanyPerformanceEvaluationTestMapper;
19
use LeadersLinked\Mapper\CompanyPerformanceEvaluationTestMapper;
20
use LeadersLinked\Mapper\JobDescriptionCompetencyMapper;
20
use LeadersLinked\Mapper\JobDescriptionCompetencyMapper;
21
use LeadersLinked\Mapper\CompetencyMapper;
21
use LeadersLinked\Mapper\CompetencyMapper;
-
 
22
use LeadersLinked\Library\PerformanceEvaluationPdf;
22
use LeadersLinked\Mapper\CompetencyTypeMapper;
23
use LeadersLinked\Mapper\CompetencyTypeMapper;
23
use LeadersLinked\Mapper\BehaviorCompetencyMapper;
24
use LeadersLinked\Mapper\BehaviorCompetencyMapper;
24
use LeadersLinked\Mapper\BehaviorsMapper;
25
use LeadersLinked\Mapper\BehaviorsMapper;
25
use LeadersLinked\Mapper\JobDescriptionBehaviorCompetencyMapper;
26
use LeadersLinked\Mapper\JobDescriptionBehaviorCompetencyMapper;
26
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormUserMapper;
27
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormUserMapper;
Línea 463... Línea 464...
463
        }
464
        }
Línea 464... Línea 465...
464
 
465
 
465
        return new JsonModel($data);
466
        return new JsonModel($data);
Línea 466... Línea -...
466
    }
-
 
467
 
467
    }
468
 
468
 
469
    public function reportAction() {
469
    public function reportAction() {
-
 
470
        $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 470... Línea 471...
470
        $currentUserPlugin = $this->plugin('currentUserPlugin');
471
        $currentUser = $currentUserPlugin->getUser();
Línea 471... Línea 472...
471
        $currentUser = $currentUserPlugin->getUser();
472
        $currentCompany = $currentUserPlugin->getCompany();
472
 
473
 
Línea 519... Línea 520...
519
 
520
 
520
            $content = $companyPerformanceEvaluationTest && $companyPerformanceEvaluationTest->status == CompanyPerformanceEvaluationTest::STATUS_DRAFT ?
521
            $content = $companyPerformanceEvaluationTest && $companyPerformanceEvaluationTest->status == CompanyPerformanceEvaluationTest::STATUS_DRAFT ?
521
                    json_decode($companyPerformanceEvaluationTest->content, true) :
522
                    json_decode($companyPerformanceEvaluationTest->content, true) :
Línea 522... Línea 523...
522
                    json_decode($companyPerformanceEvaluationForm->content, true);
523
                    json_decode($companyPerformanceEvaluationForm->content, true);
523
 
524
 
Línea 524... Línea 525...
524
            
525
 
525
            //Competencies
526
            //Competencies
526
 
527
 
Línea 535... Línea 536...
535
 
536
 
Línea 536... Línea 537...
536
            $jobDescriptionCompetency = $jobDescriptionCompetencyMapper->fetchByJobDescriptionId($companyPerformanceEvaluationForm->job_description_id);
537
            $jobDescriptionCompetency = $jobDescriptionCompetencyMapper->fetchByJobDescriptionId($companyPerformanceEvaluationForm->job_description_id);
Línea 537... Línea -...
537
 
-
 
538
            foreach ($jobDescriptionCompetency as $record) {
538
 
539
 
539
            foreach ($jobDescriptionCompetency as $record) {
Línea 540... Línea 540...
540
 
540
 
Línea 541... Línea 541...
541
                $competency = $competencyMapper->fetchOne($record->competency_id);
541
                $competency = $competencyMapper->fetchOne($record->competency_id);
542
                $competenceType = $competenceTypeMapper->fetchOne($competency->competency_type_id);
542
                $competenceType = $competenceTypeMapper->fetchOne($competency->competency_type_id);
543
 
543
 
544
                if($competency && $competenceType){
544
                if ($competency && $competenceType) {
545
 
545
 
546
                    $behaviorCompetencies = $behaviorCompetencyMapper->fetchByCompetencyId($competency->id);
546
                    $behaviorCompetencies = $behaviorCompetencyMapper->fetchByCompetencyId($competency->id);
547
                    $behaviors = [];
547
                    $behaviors = [];
548
    
548
 
549
                    foreach ($behaviorCompetencies as $rows) {
549
                    foreach ($behaviorCompetencies as $rows) {
550
    
550
 
551
                        $behavior = $behaviorMapper->fetchOne($rows->behavior_id);
551
                        $behavior = $behaviorMapper->fetchOne($rows->behavior_id);
552
                        $jobDescriptionBehaviorCompetency = $jobDescriptionBehaviorCompetencyMapper->fetchOneByBehavior($companyPerformanceEvaluationForm->job_description_id, $record->competency_id, $rows->behavior_id);
552
                        $jobDescriptionBehaviorCompetency = $jobDescriptionBehaviorCompetencyMapper->fetchOneByBehavior($companyPerformanceEvaluationForm->job_description_id, $record->competency_id, $rows->behavior_id);
553
    
553
 
554
                        if ($behavior && $jobDescriptionBehaviorCompetency) {
554
                        if ($behavior && $jobDescriptionBehaviorCompetency) {
555
    
555
 
556
                            array_push($behaviors, [
556
                            array_push($behaviors, [
557
                                'id_section' => $competency->uuid,
557
                                'id_section' => $competency->uuid,
558
                                'id_option' => $behavior->uuid,
558
                                'id_option' => $behavior->uuid,
559
                                'title' => $behavior->description,
559
                                'title' => $behavior->description,
560
                                'level' => $jobDescriptionBehaviorCompetency->level,
560
                                'level' => $jobDescriptionBehaviorCompetency->level,
561
                                'answer' => ''
561
                                'answer' => ''
562
                            ]);
562
                            ]);
563
                        }
563
                        }
564
                    }
564
                    }
565
    
565
 
566
                    array_push($competencies, [
566
                    array_push($competencies, [
567
                        'id_section' => $competency->uuid,
567
                        'id_section' => $competency->uuid,
568
                        'title' => $competenceType->name. '  '.$competency->name,
-
 
569
                        'text' => $competency->description,
568
                        'title' => $competenceType->name . '  ' . $competency->name,
570
                        'type'=>'competency',
-
 
571
                        'options' => $behaviors
569
                        'text' => $competency->description,
572
                    ]);
570
                        'type' => 'competency',
573
 
-
 
574
                }
-
 
575
 
-
 
576
            }
-
 
577
 
571
                        'options' => $behaviors
578
            return new JsonModel([
-
 
579
                'success' => true,
-
 
580
                'data' => [
-
 
581
                    'name' => $companyPerformanceEvaluationForm->name,
-
 
582
                    'description' => $companyPerformanceEvaluationForm->description,
-
 
583
                    'text' => $companyPerformanceEvaluationForm->text,
572
                    ]);
Línea 584... Línea 573...
584
                    'competencies'=>$competencies,
573
                }
585
                    'content' => $content,
574
            }
586
                ]
575
            
Línea 648... Línea 637...
648
        return new JsonModel([
637
        return new JsonModel([
649
            'success' => false,
638
            'success' => false,
650
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
639
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
651
        ]);
640
        ]);
652
    }
641
    }
-
 
642
    
-
 
643
    
-
 
644
    /**
-
 
645
     * Render PDF
-
 
646
     * @param type $currentCompany
-
 
647
     * @param type $performanceEvaluation
-
 
648
     * @return type
-
 
649
     */
-
 
650
    public function renderPDF($currentCompany, $performanceEvaluation) {
-
 
651
 
-
 
652
        //Generate New PDF
-
 
653
        $pdf = new PerformanceEvaluationPdf();
-
 
654
 
-
 
655
        $pdf->header = '';
-
 
656
        $pdf->footer = '';
-
 
657
 
-
 
658
 
-
 
659
        if ($currentCompany) {
-
 
660
            //get company Data
-
 
661
            $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
662
            $company = $companyMapper->fetchOne($currentCompany->id);
-
 
663
 
-
 
664
            $target_path = $this->config['leaderslinked.fullpath.company'] . DIRECTORY_SEPARATOR . $company->uuid;
-
 
665
 
-
 
666
            $pdf->header = $company->header ? $target_path . DIRECTORY_SEPARATOR . $company->header : '';
-
 
667
            $pdf->footer = $company->footer ? $target_path . DIRECTORY_SEPARATOR . $company->footer : '';
-
 
668
        }
-
 
669
 
-
 
670
        $pdf->SetMargins(10, 0, 10);
-
 
671
 
-
 
672
        $pdf->AliasNbPages();
-
 
673
        $pdf->AddPage();
-
 
674
 
-
 
675
 
-
 
676
        
-
 
677
        // add section signature
-
 
678
        $pdf->sectionSignature();
-
 
679
        
-
 
680
        
-
 
681
        $rows = [
-
 
682
            array(
-
 
683
                'title' => 'Nombre Evaluado: ',
-
 
684
                'content' => ''
-
 
685
            ),
-
 
686
            array(
-
 
687
                'title' => 'Cargo: ',
-
 
688
                'content' => ''
-
 
689
            ),
-
 
690
            array(
-
 
691
                'title' => 'Firma Evaluado: ',
-
 
692
                'content' => ''
-
 
693
            ),
-
 
694
            array(
-
 
695
                'title' => 'Firma Evaluador: ',
-
 
696
                'content' => ''
-
 
697
            ),
-
 
698
            array(
-
 
699
                'title' => 'Firma Gerente: ',
-
 
700
                'content' => ''
-
 
701
            ),
-
 
702
            array(
-
 
703
                'title' => 'Fecha: ',
-
 
704
                'content' => date("d/m/Y")
-
 
705
            )
-
 
706
        ];
-
 
707
 
-
 
708
        $pdf->borderTable('EVALUACIÓN DE DESEMPEÑO', $rows);
-
 
709
 
-
 
710
 
-
 
711
 
-
 
712
        return $pdf->Output();
-
 
713
    }
-
 
714
    
-
 
715
    
Línea 653... Línea 716...
653
 
716