Commit 4ec52ef4 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

[EMC2] Nouveau jalon dans l'affichage de l'avancement des campagnes et...

[EMC2] Nouveau jalon dans l'affichage de l'avancement des campagnes et utilisation de l'affichage sur le recap de la campagne
parent 0e918161
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ Version 4.2.2 (XX/12/2023)
---
- [EMC2] Correction de titres de modal
- [EMC2] Correction de l'ajout de fiche de métier qui échouait si vide
- [EMC2] Nouveau jalon dans l'affichage de l'avancement des campagnes et utilisation de l'affichage sur le recap de la campagne

Modification en BD
---
+17 −7
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ use EntretienProfessionnel\Provider\Etat\EntretienProfessionnelEtats;
$mode = 'div';
if (isset($options['mode'])) $mode = $options['mode'];

$validerSuperieur = []; $validerAutorite = []; $validerAgent = []; $encours = []; $sans = [];
$validerSuperieur = []; $validerObservation = []; $validerAutorite = []; $validerAgent = []; $encours = []; $sans = [];
foreach ($entretiens as $entretien) {
    if ($entretien->getEtatActif() === null) {
        $encours[] = $entretien;
@@ -22,8 +22,9 @@ foreach ($entretiens as $entretien) {
    } else {
        switch ($entretien->getEtatActif()->getType()->getCode()) {
            case EntretienProfessionnelEtats::ENTRETIEN_VALIDATION_RESPONSABLE :
                $validerObservation[] = $entretien;
                break;
            case EntretienProfessionnelEtats::ENTRETIEN_VALIDATION_OBSERVATION :

                $validerSuperieur[] = $entretien;
                break;
            case EntretienProfessionnelEtats::ENTRETIEN_VALIDATION_HIERARCHIE :
@@ -44,18 +45,20 @@ foreach ($agents as $agent) {

$nbValiderAgent = count($validerAgent);
$nbValiderAutorite = count($validerAutorite);
$nbValiderObservation = count($validerObservation);
$nbValiderSuperieur = count($validerSuperieur);
$nbEncours = count($encours);
$nbSans = count($sans);
$nbTotal =  $nbValiderAgent + $nbValiderAutorite +  $nbValiderSuperieur + $nbEncours + $nbSans;
$nbTotal =  $nbValiderAgent +  $nbValiderObservation + $nbValiderAutorite +  $nbValiderSuperieur + $nbEncours + $nbSans;

$ratioAgent = "NC"; $ratioAutorite = "NC"; $ratioSuperieur = "NC"; $ratioPlanifie = "NC"; $ratioSans = "NC";
$ratioAgent = "NC"; $ratioObservation = "NC"; $ratioAutorite = "NC"; $ratioSuperieur = "NC"; $ratioPlanifie = "NC"; $ratioSans = "NC";
if ($nbTotal !== 0) {
    $ratioAgent = $nbValiderAgent / $nbTotal * 100;
    $ratioAutorite = $nbValiderAutorite / $nbTotal * 100;
    $ratioSuperieur = $nbValiderSuperieur / $nbTotal * 100;
    $ratioObservation = $nbValiderObservation / $nbTotal * 100;
    $ratioPlanifie = count($encours) / $nbTotal * 100;
    $ratioSans = 100 - ($ratioAgent + $ratioAutorite + $ratioSuperieur + $ratioPlanifie);
    $ratioSans = 100 - ($ratioAgent + $ratioAutorite + $ratioSuperieur + $ratioPlanifie + $ratioObservation);
}

?>
@@ -69,6 +72,9 @@ if ($nbTotal !== 0) {
            <div class="progress-bar entretien-autorite" role="progressbar" style="width: <?php echo $ratioAutorite; ?>%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"
                 title="Entretiens en attente de validation de l'agent <?php echo $nbValiderAutorite; ?>/<?php echo $nbTotal; ?>">
                <?php echo round($ratioAutorite); ?>%</div>
            <div class="progress-bar entretien-observation" role="progressbar" style="width: <?php echo $ratioObservation; ?>%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"
                 title="Entretiens en attente de validation de l'agent <?php echo $nbValiderObservation; ?>/<?php echo $nbTotal; ?>">
                <?php echo round($ratioObservation); ?>%</div>
            <div class="progress-bar entretien-superieur" role="progressbar" style="width: <?php echo $ratioSuperieur; ?>%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"
                 title="Entretiens en attente de validation de l'autorité hiérarchique <?php echo $nbValiderSuperieur; ?>/<?php echo $nbTotal; ?>">
                <?php echo round($ratioSuperieur); ?>%</div>
@@ -107,6 +113,7 @@ if ($nbTotal !== 0) {
<div style="margin:0.25rem;">
    <span class="legende entretien-agent">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien complétés <br/>
    <span class="legende entretien-autorite">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien en attente de validation de l'agent <br/>
    <span class="legende entretien-observation">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien en attente des observation <br/>
    <span class="legende entretien-superieur">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien en attente de validation de l'autorité hiérarchique <br/>
    <span class="legende planifie">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien planifié <br/>
    <span class="legende sans">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Entretien non planifié <br/>
@@ -122,11 +129,14 @@ if ($nbTotal !== 0) {
    .entretien-superieur {
        background-color: #ffcc01;
    }
    .entretien-observation {
        background-color: rgb(183,182,12);
    }
    .entretien-autorite {
        background-color: #9dc500;
        background-color: rgb(110,161,23);
    }
    .entretien-agent {
        background-color: #009600;
        background-color: rgb(34,139,34);
    }

    span.legende {
+37 −32
Original line number Diff line number Diff line
@@ -43,8 +43,8 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
    </div>
</div>

<div class="card card-info">
    <div class="card-header">
<div class="card">
    <div class="card-header card-info">
        Informations générales à propos de la campagne
    </div>
    <div class="card-body">
@@ -83,16 +83,13 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
    </div>
</div>

<div class="card card-info">
    <div class="card-header">
<div class="card">
    <div class="card-header card-info">
        Complétion de la campagne
    </div>
    <div class="card-body">
        <h2>Agents éligibles pour un entretien </h2>

        <div class="alert alert-warning">
            Attention le comptage des agents est qu'une estimation et le calcul est long. <span class="todo">REWORK</span>
        </div>
        <div class="row">
            <div class="col-md-8">
                <dl class="row">
@@ -103,6 +100,13 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
                </dl>
            </div>
            <div class="col-md-4">
                <?php /** @see \EntretienProfessionnel\Controller\CampagneController::extraireAction() */ ?>
                <a href="<?php echo $this->url('entretien-professionnel/campagne/extraire', ['campagne' => $campagne->getId()], [], true); ?>"
                   class="btn btn-secondary"
                >
                    <span class="icon icon-csv"></span>
                    Extraction de la campagne
                </a>
<!--                <a href=""-->
<!--                   class="btn btn-primary disabled"-->
<!--               >-->
@@ -121,27 +125,30 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven

        <h2> Entretiens de la campagne </h2>

        <div class="row">
            <div class="col-md-8">
                <dl class="row">
                    <dt class="col-md-5"> Attente validation responsable : </dt>
                    <dd class="col-md-7"> <?php echo count($entretiensResponsable); ?></dd>
                    <dt class="col-md-5"> Attente validation autorité : </dt>
                    <dd class="col-md-7"> <?php echo count($entretiensAutorite); ?></dd>
                    <dt class="col-md-5"> Attente validation agent : </dt>
                    <dd class="col-md-7"> <?php echo count($entretiensAgent); ?></dd>
                    <dt class="col-md-5"> Entretiens complets : </dt>
                    <dd class="col-md-7"> <?php echo count($entretiensCompletes); ?></dd>
                </dl>
            </div>
            <div class="col-md-4">
                <?php /** @see \EntretienProfessionnel\Controller\CampagneController::extraireAction() */ ?>
                <a href="<?php echo $this->url('entretien-professionnel/campagne/extraire', ['campagne' => $campagne->getId()], [], true); ?>"
                   class="btn btn-secondary"
                >
                    <span class="icon icon-csv"></span>
                    Extraction de la campagne
                </a>
        <?php $listes = []; ?>
        <?php foreach ($entretiens as $agent => $array): ?>
            <?php
                $nb = count($array);
                if ($nb === 1) $listes[] = current($array);
            ?>
        <?php endforeach; ?>
        <?php echo $this->campagneAvancement($listes,$agents); ?>

<!--        <div class="row">-->
<!--            <div class="col-md-8">-->
<!--                <dl class="row">-->
<!--                    <dt class="col-md-5"> Attente validation responsable : </dt>-->
<!--                    <dd class="col-md-7"> --><?php //echo count($entretiensResponsable); ?><!--</dd>-->
<!--                    <dt class="col-md-5"> Attente validation autorité : </dt>-->
<!--                    <dd class="col-md-7"> --><?php //echo count($entretiensAutorite); ?><!--</dd>-->
<!--                    <dt class="col-md-5"> Attente validation agent : </dt>-->
<!--                    <dd class="col-md-7"> --><?php //echo count($entretiensAgent); ?><!--</dd>-->
<!--                    <dt class="col-md-5"> Entretiens complets : </dt>-->
<!--                    <dd class="col-md-7"> --><?php //echo count($entretiensCompletes); ?><!--</dd>-->
<!--                </dl>-->
<!--            </div>-->
<!--            <div class="col-md-4">-->

                <?php /** @see \EntretienProfessionnel\Controller\CampagneController::demanderValidationSuperieurAction();  */ ?>
                <a href="<?php echo $this->url('entretien-professionnel/campagne/demander-validation-superieur', ['campagne' => $campagne->getId()], [], true); ?>"
                   class="btn btn-primary ajax-modal <?php if (!$campagne->estEnCours()) echo " disabled "; ?>"
@@ -150,7 +157,6 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
                    <span class="icon icon-notifier"></span>
                    Notifier les responsables
                </a>
                <br/>
                <?php /** @see \EntretienProfessionnel\Controller\CampagneController::demanderValidationAutoriteAction();  */ ?>
                <a href="<?php echo $this->url('entretien-professionnel/campagne/demander-validation-autorite', ['campagne' => $campagne->getId()], [], true); ?>"
                   class="btn btn-primary ajax-modal <?php if (!$campagne->estEnCours()) echo " disabled "; ?>"
@@ -159,7 +165,6 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
                    <span class="icon icon-notifier"></span>
                    Notifier les autorités
                </a>
                <br/>
                <?php /** @see \EntretienProfessionnel\Controller\CampagneController::demanderValidationAgentAction();  */ ?>
                <a href="<?php echo $this->url('entretien-professionnel/campagne/demander-validation-agent', ['campagne' => $campagne->getId()], [], true); ?>"
                   class="btn btn-primary ajax-modal <?php if (!$campagne->estEnCours()) echo " disabled "; ?>"
@@ -169,6 +174,6 @@ $condition = "Les agents titulaires ou contratuel en poste depuis XX mois doiven
                    Notifier les agents
                </a>
            </div>
        </div>
    </div>
<!--        </div>-->
<!--    </div>-->
</div>
+1 −1
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ class FicheMetierController extends AbstractActionController {
                    if ($csvInfos['metier'] !== null and empty($csvInfos['competences']['Manquantes'])) {
                        $fiche = $this->getFicheMetierService()->importFromCsvArray($csvInfos);

                        /** @see \Application\Controller\FicheMetierController::afficherAction() */
                        /** @see FicheMetierController::afficherAction() */
                        return $this->redirect()->toRoute('fiche-metier/afficher', ['fiche-metier' => $fiche->getId()], [], true);
                    }
                }