Loading code/FormuleTestColleurLyon2.php 0 → 100644 +195 −0 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface */ $formuleTestIntervenantId = 132; $data = "901 Oui CM 50,00 % 0,00 % 50,00 % 20 h 1,5 HETD 30 HETD 30 HETD 66,67 % 30 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 909 Oui TD 50,00 % 25,00 % 25,00 % 50 h 1 HETD 50 HETD 0 HETD 0,00 % 0 HETD 0 HETD 50 HETD 40,00 % 50 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 25 HETD 12,5 HETD 12,5 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 902 Oui CM 0,00 % 0,00 % 100,00 % 50 h 1,5 HETD 75 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 75 HETD 65,22 % 14,35 HETD 60,65 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 14,35 HETD 0 HETD 0 HETD 0 HETD 60,65 HETD 0 HETD 0 HETD D4DAC10000 Oui Référentiel 20 h 1 HETD 20 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 20 HETD 16,00 % 0 HETD 20 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 20 HETD D4DAC10000 Oui CM 0,00 % 0,00 % 100,00 % 10 h 1,5 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 31,58 % 0 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD 0 HETD 0 HETD 901 Oui TD 0,00 % 0,00 % 100,00 % 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 34,78 % 7,65 HETD 32,35 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 7,65 HETD 0 HETD 0 HETD 0 HETD 32,35 HETD 0 HETD 0 HETD 901 Oui Référentiel 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 32,00 % 0 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 40 HETD 909 Oui CM 80,00 % 0,00 % 20,00 % 50 h 1,5 HETD 75 HETD 0 HETD 0,00 % 0 HETD 0 HETD 75 HETD 60,00 % 75 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 60 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 901 Oui Référentiel 15 h 1 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 12,00 % 0 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD ETAB-X Non TD 100,00 % 0,00 % 0,00 % 30 h 1 HETD 30 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 30 HETD 66,67 % 0 HETD 30 HETD 0 HETD 0 HETD 0 HETD 0 HETD 30 HETD 0 HETD 0 HETD 0 HETD 0 HETD ETAB-X Non Référentiel 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 32,00 % 0 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 40 HETD ETAB-Y Non CM 100,00 % 0,00 % 0,00 % 10 h 1,5 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 33,33 % 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 909 Oui Référentiel 10 h 1 HETD 10 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 10 HETD 8,00 % 0 HETD 10 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 10 HETD 901 Oui TD 40,00 % 20,00 % 40,00 % 15 h 1 HETD 15 HETD 15 HETD 33,33 % 15 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 6 HETD 3 HETD 6 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD D4DAC10000 Oui CM 0,00 % 0,00 % 100,00 % 5 h 1,5 HETD 7,5 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 7,5 HETD 15,79 % 0 HETD 7,5 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 7,5 HETD 0 HETD 0 HETD D4DAC10000 Oui TD 100,00 % 0,00 % 0,00 % 25 h 1 HETD 25 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 25 HETD 52,63 % 0 HETD 25 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 25 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é */ $correspStructs = [ '901' => 1, '909' => 2, '902' => 3, 'U1LY200000' => 4, 'D4DAC10000' => 5, 'ETAB-X' => 6, 'ETAB-Y' => 7, ]; $correspChamps = [ 'structureTest' => 0, 'referentiel' => null, 'serviceStatutaire' => null, 'typeInterventionCode' => null, 'tauxFi' => null, 'tauxFa' => null, 'tauxFc' => null, 'ponderationServiceDu' => null, 'ponderationServiceCompl' => null, 'param1' => null, 'param2' => null, 'param3' => null, 'param4' => null, 'param5' => null, 'heures' => null, 'aServiceFi' => null, 'aServiceFa' => null, 'aServiceFc' => null, 'aServiceReferentiel' => null, 'aHeuresComplFi' => null, 'aHeuresComplFa' => null, 'aHeuresComplFc' => null, 'aHeuresComplFcMajorees' => null, 'aHeuresComplReferentiel' => null, ]; function transfo(array $c) { return $c; } $debug = false; $debug = true; /** @var \Doctrine\ORM\EntityManager $bdd */ $bdd = $sl->get(\Application\Constants::BDD); $data = explode("\n", $data); $vhHead = []; $vhData = []; foreach ($data as $l) { if (trim($l)) { $cOri = explode("\t", trim($l)); $cTranf = transfo($cOri); $values = []; foreach ($correspChamps as $col => $index) { if ($index !== null) { $vhHead[$col] = $col; $values[$col] = $cTranf[$index]; } } if (isset($values['structureTest']) && !empty($values['structureTest']) && !$values['structureTest'] instanceof \Application\Entity\Db\FormuleTestStructure) { try { $values['structureTest'] = $bdd->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find($correspStructs[$values['structureTest']]); } catch (\Exception $e) { throw new \Exception("Composante " . $values['structureTest'] . " non mappée", 0, $e); } } $lfloat = [ 'tauxFi', 'tauxFa', 'tauxFc', 'heures', 'ponderationServiceDu', 'ponderationServiceCompl', 'aServiceFi', 'aServiceFa', 'aServiceFc', 'aServiceReferentiel', 'aHeuresComplFi', 'aHeuresComplFa', 'aHeuresComplFc', 'aHeuresComplFcMajorees', 'aHeuresComplReferentiel', ]; foreach ($lfloat as $col) { if (isset($values[$col])) { $values[$col] = stringToFloat($values[$col]); } } $ltaux = ['tauxFi', 'tauxFa', 'tauxFc']; foreach ($ltaux as $col) { if (isset($values[$col])) { $values[$col] = $values[$col] / 100; } } $lbool = ['referentiel', 'serviceStatutaire']; foreach ($lbool as $col) { if (isset($values[$col])) { $values[$col] = (bool)$values[$col]; } } $values['debugInfo'] = $cOri; $vhData[] = $values; } } if (!$debug) { /** @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 = ' . $fti->getId()); foreach ($vhData as $i => $values) { $vh = new \Application\Entity\Db\FormuleTestVolumeHoraire(); $vh->setIntervenantTest($fti); foreach ($vhHead as $col) { $vh->{'set' . ucfirst($col)}($values[$col]); } try { $bdd->persist($vh); $bdd->flush($vh); $vhData[$i]['debugInfo'] = 'OK'; } catch (\Exception $e) { $vhData[$i]['debugInfo'] = $e->getMessage(); } } } ?> <style> table { font-size: 8pt; } </style> <table class="table table-bordered table-condensed table-extra-condensed table-hover"> <tr> <?php foreach ($vhHead as $col): ?> <th><?= $col; ?></th> <?php endforeach; ?> <th>Infos Débug</th> </tr> <?php foreach ($vhData as $values) { echo '<tr>'; foreach ($values as $col => $value) { if (is_array($value)) { $value = '<pre style="font-size:8pt">' . var_export($value, true) . '</pre>'; } echo "<td>$value</td>"; } echo '</tr>'; } ?> </table> No newline at end of file data/nomenclatures.php +6 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,12 @@ return [ 'LIBELLE' => 'Ensicaen', 'PACKAGE_NAME' => 'FORMULE_ENSICAEN', ], 7 => [ 'LIBELLE' => 'Université Lumière Lyon 2', 'PACKAGE_NAME' => 'FORMULE_LYON2', 'VH_PARAM_1_LIBELLE' => 'Code composante', 'VH_PARAM_2_LIBELLE' => 'Structure interne', ], ], 'MODELE_CONTRAT' => [ Loading Loading
code/FormuleTestColleurLyon2.php 0 → 100644 +195 −0 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface */ $formuleTestIntervenantId = 132; $data = "901 Oui CM 50,00 % 0,00 % 50,00 % 20 h 1,5 HETD 30 HETD 30 HETD 66,67 % 30 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 909 Oui TD 50,00 % 25,00 % 25,00 % 50 h 1 HETD 50 HETD 0 HETD 0,00 % 0 HETD 0 HETD 50 HETD 40,00 % 50 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 25 HETD 12,5 HETD 12,5 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 902 Oui CM 0,00 % 0,00 % 100,00 % 50 h 1,5 HETD 75 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 75 HETD 65,22 % 14,35 HETD 60,65 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 14,35 HETD 0 HETD 0 HETD 0 HETD 60,65 HETD 0 HETD 0 HETD D4DAC10000 Oui Référentiel 20 h 1 HETD 20 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 20 HETD 16,00 % 0 HETD 20 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 20 HETD D4DAC10000 Oui CM 0,00 % 0,00 % 100,00 % 10 h 1,5 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 31,58 % 0 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD 0 HETD 0 HETD 901 Oui TD 0,00 % 0,00 % 100,00 % 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 34,78 % 7,65 HETD 32,35 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 7,65 HETD 0 HETD 0 HETD 0 HETD 32,35 HETD 0 HETD 0 HETD 901 Oui Référentiel 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 32,00 % 0 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 40 HETD 909 Oui CM 80,00 % 0,00 % 20,00 % 50 h 1,5 HETD 75 HETD 0 HETD 0,00 % 0 HETD 0 HETD 75 HETD 60,00 % 75 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 60 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 901 Oui Référentiel 15 h 1 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 12,00 % 0 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD ETAB-X Non TD 100,00 % 0,00 % 0,00 % 30 h 1 HETD 30 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 30 HETD 66,67 % 0 HETD 30 HETD 0 HETD 0 HETD 0 HETD 0 HETD 30 HETD 0 HETD 0 HETD 0 HETD 0 HETD ETAB-X Non Référentiel 40 h 1 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 40 HETD 32,00 % 0 HETD 40 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 40 HETD ETAB-Y Non CM 100,00 % 0,00 % 0,00 % 10 h 1,5 HETD 15 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 15 HETD 33,33 % 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 15 HETD 0 HETD 0 HETD 0 HETD 0 HETD 909 Oui Référentiel 10 h 1 HETD 10 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 10 HETD 8,00 % 0 HETD 10 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 10 HETD 901 Oui TD 40,00 % 20,00 % 40,00 % 15 h 1 HETD 15 HETD 15 HETD 33,33 % 15 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 6 HETD 3 HETD 6 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD D4DAC10000 Oui CM 0,00 % 0,00 % 100,00 % 5 h 1,5 HETD 7,5 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 7,5 HETD 15,79 % 0 HETD 7,5 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 7,5 HETD 0 HETD 0 HETD D4DAC10000 Oui TD 100,00 % 0,00 % 0,00 % 25 h 1 HETD 25 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 25 HETD 52,63 % 0 HETD 25 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0,00 % 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 0 HETD 25 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é */ $correspStructs = [ '901' => 1, '909' => 2, '902' => 3, 'U1LY200000' => 4, 'D4DAC10000' => 5, 'ETAB-X' => 6, 'ETAB-Y' => 7, ]; $correspChamps = [ 'structureTest' => 0, 'referentiel' => null, 'serviceStatutaire' => null, 'typeInterventionCode' => null, 'tauxFi' => null, 'tauxFa' => null, 'tauxFc' => null, 'ponderationServiceDu' => null, 'ponderationServiceCompl' => null, 'param1' => null, 'param2' => null, 'param3' => null, 'param4' => null, 'param5' => null, 'heures' => null, 'aServiceFi' => null, 'aServiceFa' => null, 'aServiceFc' => null, 'aServiceReferentiel' => null, 'aHeuresComplFi' => null, 'aHeuresComplFa' => null, 'aHeuresComplFc' => null, 'aHeuresComplFcMajorees' => null, 'aHeuresComplReferentiel' => null, ]; function transfo(array $c) { return $c; } $debug = false; $debug = true; /** @var \Doctrine\ORM\EntityManager $bdd */ $bdd = $sl->get(\Application\Constants::BDD); $data = explode("\n", $data); $vhHead = []; $vhData = []; foreach ($data as $l) { if (trim($l)) { $cOri = explode("\t", trim($l)); $cTranf = transfo($cOri); $values = []; foreach ($correspChamps as $col => $index) { if ($index !== null) { $vhHead[$col] = $col; $values[$col] = $cTranf[$index]; } } if (isset($values['structureTest']) && !empty($values['structureTest']) && !$values['structureTest'] instanceof \Application\Entity\Db\FormuleTestStructure) { try { $values['structureTest'] = $bdd->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find($correspStructs[$values['structureTest']]); } catch (\Exception $e) { throw new \Exception("Composante " . $values['structureTest'] . " non mappée", 0, $e); } } $lfloat = [ 'tauxFi', 'tauxFa', 'tauxFc', 'heures', 'ponderationServiceDu', 'ponderationServiceCompl', 'aServiceFi', 'aServiceFa', 'aServiceFc', 'aServiceReferentiel', 'aHeuresComplFi', 'aHeuresComplFa', 'aHeuresComplFc', 'aHeuresComplFcMajorees', 'aHeuresComplReferentiel', ]; foreach ($lfloat as $col) { if (isset($values[$col])) { $values[$col] = stringToFloat($values[$col]); } } $ltaux = ['tauxFi', 'tauxFa', 'tauxFc']; foreach ($ltaux as $col) { if (isset($values[$col])) { $values[$col] = $values[$col] / 100; } } $lbool = ['referentiel', 'serviceStatutaire']; foreach ($lbool as $col) { if (isset($values[$col])) { $values[$col] = (bool)$values[$col]; } } $values['debugInfo'] = $cOri; $vhData[] = $values; } } if (!$debug) { /** @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 = ' . $fti->getId()); foreach ($vhData as $i => $values) { $vh = new \Application\Entity\Db\FormuleTestVolumeHoraire(); $vh->setIntervenantTest($fti); foreach ($vhHead as $col) { $vh->{'set' . ucfirst($col)}($values[$col]); } try { $bdd->persist($vh); $bdd->flush($vh); $vhData[$i]['debugInfo'] = 'OK'; } catch (\Exception $e) { $vhData[$i]['debugInfo'] = $e->getMessage(); } } } ?> <style> table { font-size: 8pt; } </style> <table class="table table-bordered table-condensed table-extra-condensed table-hover"> <tr> <?php foreach ($vhHead as $col): ?> <th><?= $col; ?></th> <?php endforeach; ?> <th>Infos Débug</th> </tr> <?php foreach ($vhData as $values) { echo '<tr>'; foreach ($values as $col => $value) { if (is_array($value)) { $value = '<pre style="font-size:8pt">' . var_export($value, true) . '</pre>'; } echo "<td>$value</td>"; } echo '</tr>'; } ?> </table> No newline at end of file
data/nomenclatures.php +6 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,12 @@ return [ 'LIBELLE' => 'Ensicaen', 'PACKAGE_NAME' => 'FORMULE_ENSICAEN', ], 7 => [ 'LIBELLE' => 'Université Lumière Lyon 2', 'PACKAGE_NAME' => 'FORMULE_LYON2', 'VH_PARAM_1_LIBELLE' => 'Code composante', 'VH_PARAM_2_LIBELLE' => 'Structure interne', ], ], 'MODELE_CONTRAT' => [ Loading