Skip to content
Snippets Groups Projects
Select Git revision
  • 71f65e737f59bed09f654e756a871d94359f96d0
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
34 results

Module.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FormuleTestColleurMontpellier.php 9.78 KiB
    <?php
    
    /**
     * @var $this       \Application\View\Renderer\PhpRenderer
     * @var $controller \Zend\Mvc\Controller\AbstractController
     * @var $viewName   string
     * @var $sl         \Zend\ServiceManager\ServiceLocatorInterface
     */
    
    $formuleTestIntervenantId = 123;
    
    $data = "C1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C2	CM	66,67 %	33,33 %	0,00 %		Oui	3 h	1,5 HETD	4,5 HETD	0 HETD	3 h	1,5 HETD	4,5 HETD		1,5 HETD	4,5 HETD	4,47 HETD		3 HETD	1,5 HETD	0 HETD	0 HETD	4,47 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C2	CM	66,67 %	33,33 %	0,00 %		Oui	-3 h	1 HETD	3 HETD	0 HETD	3 h	1 HETD	3 HETD		1 HETD	3 HETD	2,98 HETD		2 HETD	1 HETD	0 HETD	0 HETD	2,98 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C2	TD	66,67 %	33,33 %	0,00 %		Oui	3 h	1,5 HETD	4,5 HETD	0 HETD	3 h	1,5 HETD	4,5 HETD		1,5 HETD	4,5 HETD	4,47 HETD		3 HETD	1,5 HETD	0 HETD	0 HETD	4,47 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	CM	66,67 %	33,33 %	0,00 %		Oui	3 h	1,5 HETD	-4,5 HETD	-4,5 HETD	0 h	1,5 HETD	0 HETD		1,5 HETD	-4,5 HETD	-4,47 HETD		-3 HETD	-1,5 HETD	0 HETD	0 HETD	-4,47 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C3	CM	66,67 %	33,33 %	0,00 %		Oui	-3 h	1 HETD	3 HETD	-1,5 HETD	0 h	1 HETD	0 HETD		1 HETD	3 HETD	2,98 HETD		2 HETD	1 HETD	0 HETD	0 HETD	2,98 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C3	TD	66,67 %	33,33 %	0,00 %		Oui	3 h	1,5 HETD	0 HETD	-1,5 HETD	0 h	1,5 HETD	2,25 HETD		0 HETD	0 HETD	2,25 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,25 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C3	CM	100,00 %	0,00 %	0,00 %		Non	1,5 h	1 HETD	3 HETD	0 HETD	1,5 h	0,67 HETD	1 HETD		1 HETD	3 HETD	2,98 HETD		0,9 HETD	3,21 HETD	0,06 HETD	0 HETD	2,98 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C3	TP	36,11 %	58,33 %	5,56 %		Oui	3 h	1 HETD	3 HETD	0 HETD	3 h	0,67 HETD	2 HETD		1 HETD	3 HETD	2,98 HETD		0,72 HETD	1,17 HETD	0,11 HETD	0 HETD	2,98 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	TP	36,11 %	58,33 %	5,56 %		Oui	3 h	1,5 HETD	3 HETD	0 HETD	2 h	1,5 HETD	3 HETD		1,5 HETD	3 HETD	2,98 HETD		1,08 HETD	1,75 HETD	0,17 HETD	0 HETD	2,98 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C1	CM	36,11 %	58,33 %	5,56 %		Oui	2 h	1 HETD	2 HETD	0 HETD	2 h	1 HETD	2 HETD		1 HETD	2 HETD	1,99 HETD		0,72 HETD	1,17 HETD	0,11 HETD	0 HETD	1,99 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    C3	TD	36,11 %	58,33 %	5,56 %		Oui	2 h	1 HETD	2 HETD	0 HETD	2 h	1 HETD	2 HETD		1 HETD	2 HETD	1,99 HETD		0,72 HETD	1,17 HETD	0,11 HETD	0 HETD	1,99 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	CM	100,00 %	0,00 %	0,00 %		Oui	1,5 h	1,5 HETD	2,25 HETD	0 HETD	1,5 h	1,5 HETD	2,25 HETD		1,5 HETD	2,25 HETD	2,24 HETD		2,25 HETD	0 HETD	0 HETD	0 HETD	2,24 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	TD	36,11 %	58,33 %	5,56 %		Oui	2 h	1 HETD	2 HETD	0 HETD	2 h	1 HETD	2 HETD		1 HETD	2 HETD	1,99 HETD		0,72 HETD	1,17 HETD	0,11 HETD	0 HETD	1,99 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	TD	100,00 %	0,00 %	0,00 %		Oui	1 h	1 HETD	1 HETD	0 HETD	1 h	1 HETD	1 HETD		1 HETD	1 HETD	0,99 HETD		1 HETD	0 HETD	0 HETD	0 HETD	0,99 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	TD	100,00 %	0,00 %	0,00 %		Oui	1 h	1 HETD	1 HETD	0 HETD	1 h	1 HETD	1 HETD		1 HETD	1 HETD	0,99 HETD		1 HETD	0 HETD	0 HETD	0 HETD	0,99 HETD	0 HETD	0 HETD	0 HETD	0 HETD
    P1	TD	100,00 %	0,00 %	0,00 %		Oui	1 h	1 HETD	1 HETD	0 HETD	1 h	1 HETD	1 HETD		1 HETD	1 HETD	0,99 HETD		1 HETD	0 HETD	0 HETD	0 HETD	0,99 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,
                    'UNIV' => 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[19], 0, -5));
                $serviceFa              = stringToFloat(substr($c[20], 0, -5));
                $serviceFc              = stringToFloat(substr($c[21], 0, -5));
                $serviceReferentiel     = stringToFloat(substr($c[22], 0, -5));
                $heuresComplFi          = stringToFloat(substr($c[23], 0, -5));
                $heuresComplFa          = stringToFloat(substr($c[24], 0, -5));
                $heuresComplFc          = stringToFloat(substr($c[25], 0, -5));
                $heuresComplFcMaj       = stringToFloat(substr($c[26], 0, -5));
                $heuresComplReferentiel = stringToFloat(substr($c[27], 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>