Commit dc0a2ab7 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Début d'intégration formule Lyon2

parent 36f04e33
<?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
......@@ -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' => [
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment