You need to sign in or sign up before continuing.
Select Git revision
VolumeHoraireList tests.php
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>