From be0fde74391fdda0aa3eb36f2df56b068148e0f2 Mon Sep 17 00:00:00 2001 From: tibo Date: Sun, 1 Mar 2020 10:43:47 +0000 Subject: [PATCH] add two new import --- bin/import_08_enveloppes.php | 139 +++++++++++++++++++++++++++++++++++ bin/import_10_ncmp.php | 1 - 2 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 bin/import_08_enveloppes.php diff --git a/bin/import_08_enveloppes.php b/bin/import_08_enveloppes.php new file mode 100644 index 0000000..e40912a --- /dev/null +++ b/bin/import_08_enveloppes.php @@ -0,0 +1,139 @@ +prepare("SELECT code, item, libelle FROM v_items WHERE plugin = ( SELECT id FROM plugins WHERE libelle = 'Collectivités' )"); +$sql->execute(); +$coll = $sql->fetchAll(PDO::FETCH_NUM); +echo 'OK'.PHP_EOL; + +$libelle = 'Enveloppes'; + +echo 'VACUUM '; +SMETI_db::removePlugin($libelle); +echo 'OK'.PHP_EOL; + +echo "Ajout du plugin '$libelle' "; +SMETI_db::addPlugin($libelle); +echo 'OK'.PHP_EOL; + +echo "Plugin courant : '$libelle' "; +SMETI_db::setCurPlugin($libelle); +echo 'OK'.PHP_EOL; + +echo "Ajout d'une racine: '$libelle' "; +// Ajouter un item +SMETI_db::$libelle = $libelle; +SMETI_db::$code = 'ENVE'; +SMETI_db::$req1->execute(); +SMETI_db::$item = SMETI_db::$pdo->lastInsertId(); +// Ajouter un lien sur cet item +SMETI_db::$link = 0; +SMETI_db::$req2->execute(); +SMETI_db::$item = SMETI_db::$pdo->lastInsertId(); +// Positionner ce lien comme parent +SMETI_db::$parent = SMETI_db::$item; +echo 'OK'.PHP_EOL; + +$pile_index = 0; +$pile_code[$pile_index] = SMETI_db::$code; +$pile_item[$pile_index] = SMETI_db::$item; + +$pile_index += 1; +$pile_code[$pile_index] = ''; +$pile_item[$pile_index] = 0; + +$pile_index += 1; +$pile_code[$pile_index] = ''; +$pile_item[$pile_index] = 0; + +echo 'Chargement des données'.PHP_EOL; +$counter = 0; +$shipments = json_decode(file_get_contents("../data/json/BMO/08_ENVELOPPES.json"), true); +$nb_shipments = count($shipments); +foreach($shipments as $element) +{ + // Gestion d'une barre de progression + progressBar($counter, $nb_shipments); + // Gestion d'une barre de progression + + // A-t-on changé de collectivité ? + if ($element['collcod'] != $pile_code[$pile_index-1]) + { + // chercher la collectivité + $n = count($coll); + for($i=0;$i<$n;$i++) + if ($element['collcod'] == $coll[$i][0]) + break; + if ($i == $n) continue; + // Revenir au niveau 'plugin' de la pile + $pile_index -= 2; + + // Ajout d'un lien (symbolique) + SMETI_db::$link = 1; + SMETI_db::$item = $coll[$i][1]; + SMETI_db::$req2->execute(); + // Ajout d'un noeud + SMETI_db::$child = SMETI_db::$pdo->lastInsertId(); + SMETI_db::$parent = $pile_item[$pile_index]; + SMETI_db::$req3->execute(); + + // Conserver ce noeud dans la pile + $pile_index += 1; + $pile_code[$pile_index] = $element['collcod']; + $pile_item[$pile_index] = SMETI_db::$child; + + // Rajouter un élément vide dans la pile + $pile_index += 1; + $pile_code[$pile_index] = ''; + $pile_item[$pile_index] = 0; + } + + // A-t-on changé de Catégorie de famille ? + if ($element['enveann'] != $pile_code[$pile_index]) + { + // Dépiler + $pile_index -= 1; + // Rajouter un item + SMETI_db::$code = 'ENVEAN'.$pile_code[$pile_index].$element['enveann']; + SMETI_db::$libelle = 'Millésime '. $element['enveann']; + SMETI_db::$req1->execute(); + // Rajouter un lien + SMETI_db::$item = SMETI_db::$pdo->lastInsertId(); + SMETI_db::$link = 0; + SMETI_db::$req2->execute(); + // Rajouter un noeud + SMETI_db::$child = SMETI_db::$pdo->lastInsertId(); + SMETI_db::$parent = $pile_item[$pile_index]; + SMETI_db::$req3->execute(); + // Empiler + $pile_index += 1; + $pile_code[$pile_index] = $element['enveann']; + $pile_item[$pile_index] = SMETI_db::$child; + } + + // Rajouter la famille + // Rajouter un item + SMETI_db::$code = $element['envecod']; + SMETI_db::$libelle = $element['envelib']; + SMETI_db::$req1->execute(); + // Rajouter un lien + SMETI_db::$item = SMETI_db::$pdo->lastInsertId(); + SMETI_db::$link = 0; + SMETI_db::$req2->execute(); + // Rajouter un noeud + SMETI_db::$child = SMETI_db::$pdo->lastInsertId(); + SMETI_db::$parent = $pile_item[$pile_index]; + SMETI_db::$req3->execute(); +} + +// Enlever la barre de progression +clearLine(); +// Enlever la barre de progression + +echo 'OK'.PHP_EOL; + +?> diff --git a/bin/import_10_ncmp.php b/bin/import_10_ncmp.php index d5de8b3..7406ca8 100644 --- a/bin/import_10_ncmp.php +++ b/bin/import_10_ncmp.php @@ -58,7 +58,6 @@ foreach($shipments as $element) { // Gestion d'une barre de progression progressBar($counter, $nb_shipments); - if (5000 == $counter++) break; // Gestion d'une barre de progression // A-t-on changé de collectivité ?