Skip to content
Snippets Groups Projects
Select Git revision
  • 14911a3863e020477f9022fd47a91d5c24bb95e2
  • master default protected
  • ll-workflow
  • alc-scindage-donnees-pj
  • b24
  • FJ_LL_Tbl_Contrat
  • alc-docker-node
  • ll-apiplatform
  • php84
  • ll-rgpd
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • 24.8
  • 24.7
  • 24.6
  • 24.5
  • 24.4
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
41 results

FormuleTestColleurEnsicaen.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FormuleTestColleurEnsicaen.php 9.61 KiB
    <?php
    
    /**
     * @var $this       \Application\View\Renderer\PhpRenderer
     * @var $controller \Zend\Mvc\Controller\AbstractController
     * @var $viewName   string
     * @var $sl         \Zend\ServiceManager\ServiceLocatorInterface
     */
    
    $formuleTestIntervenantId = 121;
    
    $data = "901	CM	100,00%	0,00 %	0,00 %		Oui	12 h	1,5 HETD	1,5 HETD	18 HETD		6,02 %	11,56 HETD	64,21 %	35,79 %	6,44 HETD		11,56 HETD	0 HETD	0 HETD	0 HETD	6,44 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    909	CM	100,00%	0,00 %	0,00 %		Oui	20 h	1,5 HETD	1,5 HETD	30 HETD		10,03 %	19,26 HETD	64,21 %	35,79 %	10,74 HETD		19,26 HETD	0 HETD	0 HETD	0 HETD	10,74 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    901	TD	0,00%	100,00 %	0,00 %		Oui	20 h	1 HETD	1 HETD	20 HETD		6,69 %	12,84 HETD	64,21 %	35,79 %	7,16 HETD		0 HETD	12,84 HETD	0 HETD	0 HETD	0 HETD	7,16 HETD	0 HETD	0 HETD	0 HETD
    901	CM	100,00%	0,00 %	0,00 %		Oui	15 h	1,5 HETD	1,5 HETD	22,5 HETD		7,53 %	14,45 HETD	64,21 %	35,79 %	8,05 HETD		14,45 HETD	0 HETD	0 HETD	0 HETD	8,05 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    ENSI	Référentiel	100,00%	0,00 %			Oui	10 h	1 HETD	1 HETD	10 HETD		3,34 %	6,42 HETD	64,21 %	35,79 %	3,58 HETD		0 HETD	0 HETD	0 HETD	3,58 HETD	0 HETD	0 HETD	0 HETD	0 HETD	3,58 HETD
    ENSI	Référentiel	100,00%	0,00 %			Oui	5 h	1 HETD	1 HETD	5 HETD		1,67 %	3,21 HETD	64,21 %	35,79 %	1,79 HETD		0 HETD	0 HETD	0 HETD	1,79 HETD	0 HETD	0 HETD	0 HETD	0 HETD	1,79 HETD
    901	Référentiel	100,00%	0,00 %			Oui	3 h	1 HETD	1 HETD	3 HETD		1,00 %	1,93 HETD	64,21 %	35,79 %	1,07 HETD		0 HETD	0 HETD	0 HETD	1,07 HETD	0 HETD	0 HETD	0 HETD	0 HETD	1,07 HETD
    902	CM	0,00%	100,00 %	0,00 %		Oui	15 h	1,5 HETD	1,5 HETD	22,5 HETD		7,53 %	14,45 HETD	64,21 %	35,79 %	8,05 HETD		0 HETD	14,45 HETD	0 HETD	0 HETD	0 HETD	8,05 HETD	0 HETD	0 HETD	0 HETD
    902	FC	0,00%	0,00 %	100,00 %		Oui	20 h	2,25 HETD	2,25 HETD	45 HETD		15,05 %	28,9 HETD	64,21 %	35,79 %	16,1 HETD		0 HETD	0 HETD	28,9 HETD	0 HETD	0 HETD	0 HETD	16,1 HETD	0 HETD	0 HETD
    902	TD	0,00%	0,00 %	100,00 %		Oui	20 h	1 HETD	1 HETD	20 HETD		6,69 %	12,84 HETD	64,21 %	35,79 %	7,16 HETD		0 HETD	0 HETD	12,84 HETD	0 HETD	0 HETD	0 HETD	7,16 HETD	0 HETD	0 HETD
    902	CM	0,00%	0,00 %	100,00 %		Oui	10 h	1,5 HETD	1,5 HETD	15 HETD		5,02 %	9,63 HETD	64,21 %	35,79 %	5,37 HETD		0 HETD	0 HETD	9,63 HETD	0 HETD	0 HETD	0 HETD	5,37 HETD	0 HETD	0 HETD
    902	FC	0,00%	0,00 %	100,00 %		Oui	12 h	2,25 HETD	2,25 HETD	27 HETD		9,03 %	17,34 HETD	64,21 %	35,79 %	9,66 HETD		0 HETD	0 HETD	17,34 HETD	0 HETD	0 HETD	0 HETD	9,66 HETD	0 HETD	0 HETD
    901	TP	0,00%	0,00 %	100,00 %		Oui	5 h	1 HETD	0,67 HETD	5 HETD		1,67 %	3,21 HETD	64,21 %	35,79 %	1,19 HETD		0 HETD	0 HETD	3,21 HETD	0 HETD	0 HETD	0 HETD	1,19 HETD	0 HETD	0 HETD
    901	CM	0,00%	100,00 %	0,00 %		Oui	2 h	1,5 HETD	1,5 HETD	3 HETD		1,00 %	1,93 HETD	64,21 %	35,79 %	1,07 HETD		0 HETD	1,93 HETD	0 HETD	0 HETD	0 HETD	1,07 HETD	0 HETD	0 HETD	0 HETD
    901	CM	0,00%	0,00 %	100,00 %		Oui	2 h	1,5 HETD	1,5 HETD	3 HETD		1,00 %	1,93 HETD	64,21 %	35,79 %	1,07 HETD		0 HETD	0 HETD	1,93 HETD	0 HETD	0 HETD	0 HETD	1,07 HETD	0 HETD	0 HETD
    901	TP	100,00%	0,00 %	0,00 %		Oui	3 h	1 HETD	0,67 HETD	3 HETD		1,00 %	1,93 HETD	64,21 %	35,79 %	0,72 HETD		1,93 HETD	0 HETD	0 HETD	0 HETD	0,72 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    901	FC	0,00%	0,00 %	100,00 %		Oui	10 h	2,25 HETD	2,25 HETD	22,5 HETD		7,53 %	14,45 HETD	64,21 %	35,79 %	8,05 HETD		0 HETD	0 HETD	14,45 HETD	0 HETD	0 HETD	0 HETD	8,05 HETD	0 HETD	0 HETD
    901	TP	0,00%	0,00 %	100,00 %		Oui	12 h	1 HETD	0,67 HETD	12 HETD		4,01 %	7,71 HETD	64,21 %	35,79 %	2,86 HETD		0 HETD	0 HETD	7,71 HETD	0 HETD	0 HETD	0 HETD	2,86 HETD	0 HETD	0 HETD
    901	CM	100,00%	0,00 %	0,00 %		Oui	5 h	1,5 HETD	1,5 HETD	7,5 HETD		2,51 %	4,82 HETD	64,21 %	35,79 %	2,68 HETD		4,82 HETD	0 HETD	0 HETD	0 HETD	2,68 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    901	TD	100,00%	0,00 %	0,00 %		Oui	5 h	1 HETD	1 HETD	5 HETD		1,67 %	3,21 HETD	64,21 %	35,79 %	1,79 HETD		3,21 HETD	0 HETD	0 HETD	0 HETD	1,79 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    ";
    
    /*
    Structures :
    1	Droit
    2	Histoire
    3	IAE
    4	IUT
    5	Lettres
    6	Santé
    7	Sciences
    8	SUAPS
    9	Université
    */
    $data = explode("\n", $data);
    ?>
    <style>
        table {
            font-size: 8pt;
        }
    </style>
    <table class="table table-bordered table-condensed table-extra-condensed table-hover">
        <tr>
            <th>Composante</th>
            <th>Service statutaire</th>
            <th>Référentiel</th>
            <th>Type d'intervention</th>
            <th>Taux FI</th>
            <th>Taux FA</th>
            <th>Taux FC</th>
            <th>Modulateur HC</th>
            <th>Heures</th>
            <th>SFi</th>
            <th>SFa</th>
            <th>SFc</th>
            <th>SRef</th>
            <th>HCFi</th>
            <th>HCFa</th>
            <th>HCFc</th>
            <th>HCFcM</th>
            <th>HCRef</th>
            <th>Tableau</th>
        </tr>
        <?php
    
        /** @var \Doctrine\ORM\EntityManager $bdd */
        $bdd = $sl->get(\Application\Constants::BDD);
        /** @var \Application\Service\FormuleTestIntervenantService $ftiService */
        $ftiService = $sl->get(\Application\Service\FormuleTestIntervenantService::class);
        $fti        = $ftiService->get($formuleTestIntervenantId);
    
        $bdd->getConnection()->exec('DELETE FROM formule_test_volume_horaire WHERE intervenant_test_id = ' . $formuleTestIntervenantId);
        foreach ($data as $l) {
            if (trim($l)) {
                $c = explode("\t", trim($l));
    
                $correspStructs = [
                    'P1'   => 1,
                    '901'  => 1,
                    'FDS'  => 1,
                    'C1'   => 2,
                    '909'  => 2,
                    'C2'   => 3,
                    '920'  => 3,
                    'C3'   => 4,
                    '902'  => 4,
                    'UNIV' => 9,
                    'ENSI' => 9,
                ];
    
                $composante             = $correspStructs[$c[0]];
                $serviceStatutaire      = strtolower($c[6]) == 'oui';
                $typeIntervention       = $c[1];
                $referentiel            = false;
                $tauxFi                 = $c[2];
                $tauxFa                 = $c[3];
                $tauxFc                 = $c[4];
                $modulateurHC           = $c[5];
                $heures                 = $c[7];
                $serviceFi              = stringToFloat(substr($c[18], 0, -5));
                $serviceFa              = stringToFloat(substr($c[19], 0, -5));
                $serviceFc              = stringToFloat(substr($c[20], 0, -5));
                $serviceReferentiel     = stringToFloat(substr($c[21], 0, -5));
                $heuresComplFi          = stringToFloat(substr($c[22], 0, -5));
                $heuresComplFa          = stringToFloat(substr($c[23], 0, -5));
                $heuresComplFc          = stringToFloat(substr($c[24], 0, -5));
                $heuresComplFcMaj       = stringToFloat(substr($c[25], 0, -5));
                $heuresComplReferentiel = stringToFloat(substr($c[26], 0, -5));
    
                // Transformations
                if ($typeIntervention == 'Référentiel') $typeIntervention = 'REFERENTIEL';
    
                $referentiel = $typeIntervention == 'REFERENTIEL';
                $tauxFi = (float)str_replace(',','.',substr($tauxFi,0,-1)) / 100;
                $tauxFa = (float)str_replace(',','.',substr($tauxFa,0,-1)) / 100;
                $tauxFc = (float)str_replace(',','.',substr($tauxFc,0,-1)) / 100;
    
                if ('' == $modulateurHC) $modulateurHC = 1;
    
                $heures = substr($heures, 0, -2);
                $heures = stringToFloat($heures);
    
    
    
                $debug = false;
                //$debug = true;
    
                // Traitement et affichage
                $composante = $sl->get(\Application\Constants::BDD)->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find($composante);
                if ($debug) {
                    $c = '<pre>' . var_export($c, true) . '</pre>';
                } else {
                    $c  = '';
                    $vh = new \Application\Entity\Db\FormuleTestVolumeHoraire();
                    $vh->setIntervenantTest($fti);
                    $vh->setStructureTest($composante);
                    $vh->setServiceStatutaire($serviceStatutaire);
                    $vh->setReferentiel($referentiel);
                    $vh->setTypeInterventionCode($typeIntervention);
                    $vh->setTauxFi($tauxFi);
                    $vh->setTauxFa($tauxFa);
                    $vh->setTauxFc($tauxFc);
                    $vh->setPonderationServiceCompl($modulateurHC);
                    $vh->setHeures($heures);
                    $vh->setAServiceFi($serviceFi);
                    $vh->setAServiceFa($serviceFa);
                    $vh->setAServiceFc($serviceFc);
                    $vh->setAServiceReferentiel($serviceReferentiel);
                    $vh->setAHeuresComplFi($heuresComplFi);
                    $vh->setAHeuresComplFa($heuresComplFa);
                    $vh->setAHeuresComplFc($heuresComplFc);
                    $vh->setAHeuresComplFcMajorees($heuresComplFcMaj);
                    $vh->setAHeuresComplReferentiel($heuresComplReferentiel);
                    $bdd->persist($vh);
                    $bdd->flush($vh);
                }
    
                ?>
                <tr>
                    <td><?= $composante ?></td>
                    <td><?= $serviceStatutaire ? 'Oui' : 'Non' ?></td>
                    <td><?= $referentiel ? 'Oui' : 'Non' ?></td>
                    <td><?= $typeIntervention ?></td>
                    <td><?= $tauxFi ?></td>
                    <td><?= $tauxFa ?></td>
                    <td><?= $tauxFc ?></td>
                    <td><?= $modulateurHC ?></td>
                    <td><?= $heures ?></td>
                    <td><?= $serviceFi ?></td>
                    <td><?= $serviceFa ?></td>
                    <td><?= $serviceFc ?></td>
                    <td><?= $serviceReferentiel ?></td>
                    <td><?= $heuresComplFi ?></td>
                    <td><?= $heuresComplFa ?></td>
                    <td><?= $heuresComplFc ?></td>
                    <td><?= $heuresComplFcMaj ?></td>
                    <td><?= $heuresComplReferentiel ?></td>
    
                    <td><?= $c ?></td>
                </tr>
    
                <?php
            }
        }
        ?>
    </table>