/trunk/scripts/modules/sptb/Sptb.php |
---|
14,8 → 14,6 |
case 'chargerTous' : |
$this->chargerStructureSql(); |
$this->chargerDonnees('especes'); |
$this->chargerDonnees('lois'); |
$this-> ajouterChamps(); |
$this->genererChampNumNomRetenu(); |
break; |
case 'chargerStructureSql' : |
23,12 → 21,9 |
break; |
case 'chargerDonnees' : |
$this->chargerDonnees('especes'); |
$this->chargerDonnees('lois'); |
$this-> ajouterChamps(); |
$this->genererChampNumNomRetenu(); |
break; |
case 'genererChampNumNomRetenu' : |
$this-> ajouterChamps(); |
$this->genererChampNumNomRetenu(); |
break; |
case 'supprimerTous' : |
72,21 → 67,13 |
$this->getBdd()->requeter($requete); |
} |
} |
private function ajouterChamps() { |
$table = Config::get('tables.especes'); |
$requete = 'ALTER TABLE '.$table.' ADD `num_nom` INT( 10 ) NOT NULL , |
ADD `num_nom_retenu` INT( 10 ) NOT NULL , |
ADD `nom_sci` VARCHAR( 70 ) NOT NULL '; |
$this->getBdd()->requeter($requete); |
} |
private function genererNumNomRetenu() { |
$table = Config::get('tables.especes'); |
$table_referentiel = Config::get('tables.referentielTaxo'); |
$requete = 'UPDATE '.$table.' s, '.$table_referentiel.' r '. |
'SET s.num_nom_retenu = r.num_nom_retenu, s.num_nom = r.num_nom, s.nom_sci = r.nom_sci '. |
'SET s.num_nom_retenu = r.num_nom '. |
' WHERE s.cd_nom = r.cd_nom '; |
$this->getBdd()->requeter($requete); |
/trunk/scripts/modules/sptb/sptb.ini |
---|
3,17 → 3,14 |
dossierSql = "{ref:dossierTsv}" |
[tables] |
especes = "sptb_especes_v2014" |
lois = "sptb_lois_v2014" |
referentielTaxo = "bdtfx_v3_00" |
especes = "sptb_v{ref:version}" |
referentielTaxo = "taxref_bdtfx_v2019" |
[fichiers] |
structureSql = "sptb_v2014.sql" |
especes = "sptb_especes_v2014.tsv" |
lois = "sptb_lois_v2014_1.tsv" |
structureSql = "sptb_v{ref:version}.sql" |
especes = "sptb_v{ref:version}.tsv" |
[chemins] |
structureSql = "{ref:dossierSql}{ref:fichiers.structureSql}" |
especes = "{ref:dossierTsv}{ref:fichiers.especes}" |
lois = "{ref:dossierTsv}{ref:fichiers.lois}" |
numNomRetenus = "{ref:dossierTsv}{ref:fichiers.numNomRetenus}" |
/trunk/scripts/modules/liste_rouge/ListeRouge.php |
---|
26,8 → 26,8 |
case 'genererChampNumNomRetenu' : |
$this->genererChampNumNomRetenu(); |
break; |
case 'ajouterChampNumNomRetenu' : |
$this->ajouterChampNumNomRetenu(); |
case 'genererChampLegende' : |
$this->genererChampLegende(); |
break; |
case 'supprimerTous' : |
$this->supprimerTous(); |
67,7 → 67,6 |
if ($resultat === false) { |
$requete = "ALTER TABLE $table ". |
' ADD `num_nom_retenu` VARCHAR( 10 ) NOT NULL ,'. |
' ADD `nom_sci` VARCHAR( 500 ) NOT NULL ,'. |
' ADD INDEX ( `num_nom_retenu` ) '; |
$this->getBdd()->requeter($requete); |
} |
76,35 → 75,35 |
private function genererNumNomRetenu() { |
$table = Config::get('tables.listeRouge'); |
$table_referentiel = Config::get('tables.referentielTaxo'); |
$requete = "SHOW COLUMNS FROM $table_referentiel"; |
$resultat = $this->getBdd()->recuperer($requete); |
if ($resultat === true) { |
$requete = 'UPDATE '.$table.' s, '.$table_referentiel.' r '. |
'SET s.num_nom_retenu = r.num_nom_retenu, s.nom_sci = r.nom_complet '. |
'WHERE s.nom_sci_orig = r.nom_complet '; |
'SET s.num_nom_retenu = r.num_nom '. |
'WHERE s.cd_nom = r.cd_nom '; |
$this->getBdd()->requeter($requete); |
} else { |
Debug::printr('Il manque la table de liaison entre taxref et bdtfx'); |
} |
} |
private function recupererNumNomNonTrouve() { |
private function genererCategories() { |
$table = Config::get('tables.listeRouge'); |
$requete = 'SELECT `id`, `nom_sci_orig`'. |
' FROM '.$table. |
' WHERE `num_nom_retenu` = ""'; |
$table_categories = Config::get('tables.categories'); |
$requete = "SHOW COLUMNS FROM $table_categories LIKE 'categorie' "; |
$resultat = $this->getBdd()->recuperer($requete); |
if ($resultat === true) { |
$requete = 'UPDATE '.$table.' s, '.$table_categories.' r '. |
'SET s.categorie = r.categorie '. |
'WHERE s.num_categorie = r.num_categorie '; |
$noms = $this->getBdd()->recupererTous($requete); |
$debug = "Noms sans correspondance avec bdtfx :\n"; |
foreach ($noms as $nom) { |
$debug .= $nom['id']." ".$nom['nom_sci_orig']."\n"; |
$this->getBdd()->requeter($requete); |
} else { |
Debug::printr('Il manque la table de liaison entre taxref et bdtfx'); |
} |
Debug::printr($debug); |
} |
private function ajouterChampNumNomRetenu() { |
$chemin = Config::get('chemins.listeRougeCorresp'); |
$table = Config::get('tables.listeRouge'); |
$requetes = $this->recupererContenu($chemin); |
$this->executerScripSql($requetes); |
} |
private function supprimerTous() { |
$requete = "DROP TABLE IF EXISTS liste_rouge_meta, liste_rouge_v2012"; |
$this->getBdd()->requeter($requete); |
/trunk/scripts/modules/liste_rouge/liste_rouge.ini |
---|
1,17 → 1,16 |
version="2012" |
version="2018" |
dossierTsv = "{ref:dossierDonneesEflore}liste_rouge/{ref:version}/" |
dossierSql = "{ref:dossierTsv}" |
[tables] |
listeRouge = "liste_rouge_v{ref:version}" |
referentielTaxo = "bdtfx_v2_00" |
referentielTaxo = "taxref_bdtfx_v2019" |
categories = "liste_rouge_categories_v{ref:version}" |
[fichiers] |
structureSql = "liste_rouge_v{ref:version}.sql" |
listeRouge = "liste_rouge_v{ref:version}.tsv" |
listeRougeCorresp = "liste_rouge_correspondance_v{ref:version}.sql" |
[chemins] |
structureSql = "{ref:dossierSql}{ref:fichiers.structureSql}" |
listeRouge = "{ref:dossierTsv}{ref:fichiers.listeRouge}" |
listeRougeCorresp = "{ref:dossierTsv}{ref:fichiers.listeRougeCorresp}" |
listeRouge = "{ref:dossierTsv}{ref:fichiers.listeRouge}" |