Loading CHANGELOG.md +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ * L'interface d'administration des motifs de modification de service est de nouveau pleinement fonctionelle. ## Nouveautés * Formule de calcul de Lyon2 # OSE 10-zf2 et 10-zf3 Loading INSTALL.md +0 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,6 @@ Dépendances requises : * ldap * bcmath * mbstring * mcrypt * opcache * xml * zip Loading code/Contrôle des séquences.phpdeleted 100755 → 0 +0 −132 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $viewFile string */ $bdd = new \Application\Connecteur\Bdd\BddConnecteur(); $bdd->setEntityManager($container->get(\Application\Constants::BDD)); $tables = getData($bdd); $tableToModif = isset($_REQUEST['table-to-modif']) ? $_REQUEST['table-to-modif'] : null; if ($tableToModif && isset($tables[$tableToModif]) && !empty($tables[$tableToModif]['sql'])) { foreach ($tables[$tableToModif]['sql'] as $query) { $bdd->exec($query); } die('OK'); } ?> <h1>Contrôle des valeurs des séquences</h1> <table class="table table-bordered table-condensed table-hover"> <thead> <tr> <th>Table</th> <th>Séquence</th> <th>Séq. val</th> <th>Dernier ID</th> <th>SQL</th> </tr> </thead> <tbody> <?php foreach ($tables as $table => $d): extract($d); ?> <tr<?= $probleme ? ' class="bg-danger"' : '' ?>> <td><?= $table ?></td> <td><?= $sequence ?></td> <td><?= $seqVal ?></td> <td><?= $maxId ?></td> <td> <?php if (!empty($sql)): ?> <button class="btn btn-default btn-maj-seq" data-table="<?= $table ?>">MAJ séquence</button> <?php endif; ?> </td> </tr> <?php endforeach; ?> </tbody> </table> <script> $(function () { $('.btn-maj-seq').click(function () { majSeq($(this).data('table')) }); }); function majSeq(table) { var url = '<?= $_SERVER['REQUEST_URI'] ?>'; $.post(url, {"table-to-modif": table}, function (data) { alertFlash('Réussi', 'success', 1000); window.location.reload(); }).fail(function (jqXHR) { alertFlash(jqXHR.responseText, 'danger', 5000); console.log(jqXHR); }); } </script> <?php function getData(Application\Connecteur\Bdd\BddConnecteur $bdd) { $sql = " SELECT utc.table_name, us.sequence_name, us.last_number FROM USER_TAB_COLUMNS utc JOIN USER_SEQUENCES us ON us.sequence_name = SUBSTR(utc.table_name,1,23) || '_ID_SEQ' WHERE utc.column_name = 'ID' "; $dt = $bdd->fetch($sql, [], 'TABLE_NAME'); $sqls = []; foreach ($dt as $tableName => $d) { $sqls[$tableName] = "SELECT '$tableName' table_name, max(id) max_id FROM $tableName"; } $ids = $bdd->fetch(implode(' UNION ', $sqls), [], 'TABLE_NAME'); $tables = []; foreach ($dt as $tableName => $d) { $sequence = $d['SEQUENCE_NAME']; $seqVal = (int)$d['LAST_NUMBER']; $maxId = (int)$ids[$tableName]['MAX_ID']; $probleme = $seqVal <= $maxId; $modifSqls = []; if ($maxId - $seqVal >= 0) { $modifSqls[] = "ALTER SEQUENCE $sequence INCREMENT BY " . ($maxId - $seqVal + 1); $modifSqls[] = "SELECT $sequence.NEXTVAL FROM dual"; $modifSqls[] = "ALTER SEQUENCE $sequence INCREMENT BY 1"; } $tables[$tableName] = [ 'sequence' => $sequence, 'seqVal' => $seqVal, 'maxId' => $maxId, 'probleme' => $probleme, 'sql' => $modifSqls, ]; } return $tables; } No newline at end of file code/FormuleTestColleurLyon2.php 0 → 100644 +223 −0 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $viewFile string */ $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' => 2, 'serviceStatutaire' => null, 'typeInterventionCode' => 2, 'tauxFi' => 3, 'tauxFa' => 4, 'tauxFc' => 5, 'ponderationServiceDu' => null, 'ponderationServiceCompl' => null, 'param1' => 0, 'param2' => 1, 'param3' => null, 'param4' => null, 'param5' => null, 'heures' => 6, 'aServiceFi' => 40, 'aServiceFa' => 41, 'aServiceFc' => 42, 'aServiceReferentiel' => 43, 'aHeuresComplFi' => 44, 'aHeuresComplFa' => 45, 'aHeuresComplFc' => 46, 'aHeuresComplFcMajorees' => 47, 'aHeuresComplReferentiel' => 48, ]; function transfo(array $c) { if ($c['typeInterventionCode'] == 'Référentiel') { $c['typeInterventionCode'] = null; $c['referentiel'] = true; } else { $c['referentiel'] = false; } return $c; } $debug = false; //$debug = true; $defaults = [ 'referentiel' => false, 'serviceStatutaire' => true, 'tauxFi' => 100, 'tauxFa' => 0, 'tauxFc' => 0, 'ponderationServiceDu' => 1, 'ponderationServiceCompl' => 1, ]; /** @var \Doctrine\ORM\EntityManager $bdd */ $bdd = $container->get(\Application\Constants::BDD); $data = explode("\n", $data); $vhHead = []; $vhData = []; foreach ($data as $l) { if (trim($l)) { $cOri = explode("\t", trim($l)); $values = []; foreach ($correspChamps as $col => $index) { if ($index !== null) { $vhHead[$col] = $col; $values[$col] = $cOri[$index]; if ('' === $values[$col] && isset($defaults[$col])) { $values[$col] = $defaults[$col]; } } } $values = transfo($values); foreach ($correspChamps as $col => $index) { if ($index !== null) { if ((null === $values[$col] || '' === $values[$col]) && isset($defaults[$col])) { $values[$col] = $defaults[$col]; } } } 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 = $container->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 code/test1.php +11 −19 Original line number Diff line number Diff line Loading @@ -3,26 +3,12 @@ /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface * @var $viewFile string */ spl_autoload_register(function ($class) { if (0 === strpos($class, 'BddAdmin')) { $dir = dirname(__DIR__) . '/admin/src/'; $class = $dir . str_replace('\\', '/', $class) . '.php'; require_once $class; } }); $bdd = new \BddAdmin\Bdd([ 'host' => AppConfig::get('bdd', 'host'), 'port' => AppConfig::get('bdd', 'port'), 'dbname' => AppConfig::get('bdd', 'dbname'), 'username' => AppConfig::get('bdd', 'username'), 'password' => AppConfig::get('bdd', 'password'), ]); $bdd = adminBdd(); $schema = new \BddAdmin\Schema($bdd); /*$tables = [ Loading @@ -49,7 +35,7 @@ $schema = new \BddAdmin\Schema($bdd); $list = [ 'ANNEE', 'INTERVENANT', 'CORPS', 'GRADE', 'GROUPE_TYPE_FORMATION', 'TYPE_FORMATION', 'ETAPE', 'ELEMENT_PEDAGOGIQUE', 'CHEMIN_PEDAGOGIQUE', 'VOLUME_HORAIRE_ENS', 'TYPE_INTERVENTION' 'CHEMIN_PEDAGOGIQUE', 'VOLUME_HORAIRE_ENS', 'TYPE_INTERVENTION', ]; $tables = []; Loading Loading @@ -144,7 +130,13 @@ foreach ($cls as $cl) { }, new go.Binding("text", "name")), $(go.TextBlock, {margin: new go.Margin(0, 5), column: 2,stroke: "#ef9b0b",font: "normal 9px sans-serif", alignment: go.Spot.Left}, { margin: new go.Margin(0, 5), column: 2, stroke: "#ef9b0b", font: "normal 9px sans-serif", alignment: go.Spot.Left }, new go.Binding("text", "type")) ); Loading Loading
CHANGELOG.md +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ * L'interface d'administration des motifs de modification de service est de nouveau pleinement fonctionelle. ## Nouveautés * Formule de calcul de Lyon2 # OSE 10-zf2 et 10-zf3 Loading
INSTALL.md +0 −1 Original line number Diff line number Diff line Loading @@ -89,7 +89,6 @@ Dépendances requises : * ldap * bcmath * mbstring * mcrypt * opcache * xml * zip Loading
code/Contrôle des séquences.phpdeleted 100755 → 0 +0 −132 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $viewFile string */ $bdd = new \Application\Connecteur\Bdd\BddConnecteur(); $bdd->setEntityManager($container->get(\Application\Constants::BDD)); $tables = getData($bdd); $tableToModif = isset($_REQUEST['table-to-modif']) ? $_REQUEST['table-to-modif'] : null; if ($tableToModif && isset($tables[$tableToModif]) && !empty($tables[$tableToModif]['sql'])) { foreach ($tables[$tableToModif]['sql'] as $query) { $bdd->exec($query); } die('OK'); } ?> <h1>Contrôle des valeurs des séquences</h1> <table class="table table-bordered table-condensed table-hover"> <thead> <tr> <th>Table</th> <th>Séquence</th> <th>Séq. val</th> <th>Dernier ID</th> <th>SQL</th> </tr> </thead> <tbody> <?php foreach ($tables as $table => $d): extract($d); ?> <tr<?= $probleme ? ' class="bg-danger"' : '' ?>> <td><?= $table ?></td> <td><?= $sequence ?></td> <td><?= $seqVal ?></td> <td><?= $maxId ?></td> <td> <?php if (!empty($sql)): ?> <button class="btn btn-default btn-maj-seq" data-table="<?= $table ?>">MAJ séquence</button> <?php endif; ?> </td> </tr> <?php endforeach; ?> </tbody> </table> <script> $(function () { $('.btn-maj-seq').click(function () { majSeq($(this).data('table')) }); }); function majSeq(table) { var url = '<?= $_SERVER['REQUEST_URI'] ?>'; $.post(url, {"table-to-modif": table}, function (data) { alertFlash('Réussi', 'success', 1000); window.location.reload(); }).fail(function (jqXHR) { alertFlash(jqXHR.responseText, 'danger', 5000); console.log(jqXHR); }); } </script> <?php function getData(Application\Connecteur\Bdd\BddConnecteur $bdd) { $sql = " SELECT utc.table_name, us.sequence_name, us.last_number FROM USER_TAB_COLUMNS utc JOIN USER_SEQUENCES us ON us.sequence_name = SUBSTR(utc.table_name,1,23) || '_ID_SEQ' WHERE utc.column_name = 'ID' "; $dt = $bdd->fetch($sql, [], 'TABLE_NAME'); $sqls = []; foreach ($dt as $tableName => $d) { $sqls[$tableName] = "SELECT '$tableName' table_name, max(id) max_id FROM $tableName"; } $ids = $bdd->fetch(implode(' UNION ', $sqls), [], 'TABLE_NAME'); $tables = []; foreach ($dt as $tableName => $d) { $sequence = $d['SEQUENCE_NAME']; $seqVal = (int)$d['LAST_NUMBER']; $maxId = (int)$ids[$tableName]['MAX_ID']; $probleme = $seqVal <= $maxId; $modifSqls = []; if ($maxId - $seqVal >= 0) { $modifSqls[] = "ALTER SEQUENCE $sequence INCREMENT BY " . ($maxId - $seqVal + 1); $modifSqls[] = "SELECT $sequence.NEXTVAL FROM dual"; $modifSqls[] = "ALTER SEQUENCE $sequence INCREMENT BY 1"; } $tables[$tableName] = [ 'sequence' => $sequence, 'seqVal' => $seqVal, 'maxId' => $maxId, 'probleme' => $probleme, 'sql' => $modifSqls, ]; } return $tables; } No newline at end of file
code/FormuleTestColleurLyon2.php 0 → 100644 +223 −0 Original line number Diff line number Diff line <?php /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $viewFile string */ $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' => 2, 'serviceStatutaire' => null, 'typeInterventionCode' => 2, 'tauxFi' => 3, 'tauxFa' => 4, 'tauxFc' => 5, 'ponderationServiceDu' => null, 'ponderationServiceCompl' => null, 'param1' => 0, 'param2' => 1, 'param3' => null, 'param4' => null, 'param5' => null, 'heures' => 6, 'aServiceFi' => 40, 'aServiceFa' => 41, 'aServiceFc' => 42, 'aServiceReferentiel' => 43, 'aHeuresComplFi' => 44, 'aHeuresComplFa' => 45, 'aHeuresComplFc' => 46, 'aHeuresComplFcMajorees' => 47, 'aHeuresComplReferentiel' => 48, ]; function transfo(array $c) { if ($c['typeInterventionCode'] == 'Référentiel') { $c['typeInterventionCode'] = null; $c['referentiel'] = true; } else { $c['referentiel'] = false; } return $c; } $debug = false; //$debug = true; $defaults = [ 'referentiel' => false, 'serviceStatutaire' => true, 'tauxFi' => 100, 'tauxFa' => 0, 'tauxFc' => 0, 'ponderationServiceDu' => 1, 'ponderationServiceCompl' => 1, ]; /** @var \Doctrine\ORM\EntityManager $bdd */ $bdd = $container->get(\Application\Constants::BDD); $data = explode("\n", $data); $vhHead = []; $vhData = []; foreach ($data as $l) { if (trim($l)) { $cOri = explode("\t", trim($l)); $values = []; foreach ($correspChamps as $col => $index) { if ($index !== null) { $vhHead[$col] = $col; $values[$col] = $cOri[$index]; if ('' === $values[$col] && isset($defaults[$col])) { $values[$col] = $defaults[$col]; } } } $values = transfo($values); foreach ($correspChamps as $col => $index) { if ($index !== null) { if ((null === $values[$col] || '' === $values[$col]) && isset($defaults[$col])) { $values[$col] = $defaults[$col]; } } } 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 = $container->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
code/test1.php +11 −19 Original line number Diff line number Diff line Loading @@ -3,26 +3,12 @@ /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Zend\Mvc\Controller\AbstractController * @var $container \Interop\Container\ContainerInterface * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface * @var $viewFile string */ spl_autoload_register(function ($class) { if (0 === strpos($class, 'BddAdmin')) { $dir = dirname(__DIR__) . '/admin/src/'; $class = $dir . str_replace('\\', '/', $class) . '.php'; require_once $class; } }); $bdd = new \BddAdmin\Bdd([ 'host' => AppConfig::get('bdd', 'host'), 'port' => AppConfig::get('bdd', 'port'), 'dbname' => AppConfig::get('bdd', 'dbname'), 'username' => AppConfig::get('bdd', 'username'), 'password' => AppConfig::get('bdd', 'password'), ]); $bdd = adminBdd(); $schema = new \BddAdmin\Schema($bdd); /*$tables = [ Loading @@ -49,7 +35,7 @@ $schema = new \BddAdmin\Schema($bdd); $list = [ 'ANNEE', 'INTERVENANT', 'CORPS', 'GRADE', 'GROUPE_TYPE_FORMATION', 'TYPE_FORMATION', 'ETAPE', 'ELEMENT_PEDAGOGIQUE', 'CHEMIN_PEDAGOGIQUE', 'VOLUME_HORAIRE_ENS', 'TYPE_INTERVENTION' 'CHEMIN_PEDAGOGIQUE', 'VOLUME_HORAIRE_ENS', 'TYPE_INTERVENTION', ]; $tables = []; Loading Loading @@ -144,7 +130,13 @@ foreach ($cls as $cl) { }, new go.Binding("text", "name")), $(go.TextBlock, {margin: new go.Margin(0, 5), column: 2,stroke: "#ef9b0b",font: "normal 9px sans-serif", alignment: go.Spot.Left}, { margin: new go.Margin(0, 5), column: 2, stroke: "#ef9b0b", font: "normal 9px sans-serif", alignment: go.Spot.Left }, new go.Binding("text", "type")) ); Loading