diff --git a/config/services.yaml b/config/services.yaml index 7d38a09f..28955e33 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -196,6 +196,14 @@ services: parent: App\Report\AbstractReport tags: ['barometre.report'] + App\Report\LeaveJobReport: + parent: App\Report\AbstractReport + tags: ['barometre.report'] + + App\Report\ExperienceInCurrentJobReport: + parent: App\Report\AbstractReport + tags: ['barometre.report'] + App\Report\RetrainingReport: parent: App\Report\AbstractReport tags: ['barometre.report'] diff --git a/src/Enums/LeaveJobEnums.php b/src/Enums/LeaveJobEnums.php index 7c06d6b4..4fb6c481 100644 --- a/src/Enums/LeaveJobEnums.php +++ b/src/Enums/LeaveJobEnums.php @@ -10,6 +10,7 @@ class LeaveJobEnums extends AbstractEnums public const J_AI_PERDU_MON_PRECEDENT_POSTE = 4; protected array $choices = [ + self::AUTRE => 'Je n\'ai pas cherché à changer de poste', self::REUSSI => 'Réussi', self::REMIS_A_L_ANNEE_PROCHAINE => 'Remis à l\'année prochaine', self::ABANDONNE => 'Abandonné', diff --git a/src/Report/ExperienceInCurrentJobReport.php b/src/Report/ExperienceInCurrentJobReport.php new file mode 100644 index 00000000..3267df50 --- /dev/null +++ b/src/Report/ExperienceInCurrentJobReport.php @@ -0,0 +1,30 @@ +queryBuilder + ->select('response.experienceInCurrentJob') + ->addSelect('COUNT(response.id) as nbResponse') + ->having('nbResponse >= :minResult') + ->setParameter('minResult', $this->minResult) + ->groupBy('response.experienceInCurrentJob') + ->orderBy('experienceInCurrentJob', 'asc'); + + $this->data = $this->queryBuilder->fetchAllAssociative(); + } +} diff --git a/src/Report/LeaveJobReport.php b/src/Report/LeaveJobReport.php new file mode 100644 index 00000000..242af011 --- /dev/null +++ b/src/Report/LeaveJobReport.php @@ -0,0 +1,30 @@ +queryBuilder + ->select('response.leaveJob') + ->addSelect('COUNT(response.id) as nbResponse') + ->having('nbResponse >= :minResult') + ->setParameter('minResult', $this->minResult) + ->groupBy('response.leaveJob') + ->orderBy('nbResponse', 'desc'); + + $this->data = $this->queryBuilder->fetchAllAssociative(); + } +} diff --git a/templates/Report/experience_in_current_job.html.twig b/templates/Report/experience_in_current_job.html.twig new file mode 100644 index 00000000..2f49e397 --- /dev/null +++ b/templates/Report/experience_in_current_job.html.twig @@ -0,0 +1,19 @@ + + + + + + + + + {% for row in results %} + + + + + {% endfor %} + +
{{ 'report.view.experience_in_current_job' | trans }}{{ "report.view.response_number" | trans }}
{{ row.experienceInCurrentJob }}{{ row.nbResponse }}
diff --git a/templates/Report/leave_job.html.twig b/templates/Report/leave_job.html.twig new file mode 100644 index 00000000..ad974ecd --- /dev/null +++ b/templates/Report/leave_job.html.twig @@ -0,0 +1,23 @@ + + + + + + + + + {% for row in results %} + + + + + {% endfor %} + +
{{ 'report.view.leave_job' | trans }}{{ "report.view.response_number" | trans }}
{{ row.leaveJob|enum_label('App\\Enums\\LeaveJobEnums') }}{{ row.nbResponse }}
diff --git a/translations/messages.fr.xliff b/translations/messages.fr.xliff index 5eb5ad42..7da6884f 100644 --- a/translations/messages.fr.xliff +++ b/translations/messages.fr.xliff @@ -178,6 +178,14 @@ report.age.label Distribution de l'âge des répondants + + report.leave_job.label + Avez-vous cherché à changer de poste en cette année ? + + + report.experience_in_current_job.label + Ancienneté dans l'entreprise + report.retraining.label Venez-vous d'une reconversion ? @@ -298,6 +306,16 @@ Le salaire indiqué est le salaire brut fixe et variable + + report.view.leave_job + Changement poste de cette année + + + + report.view.experience_in_current_job + Ancienneté dans l'entreprise + + report.view.speciality Spécialité