Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 1275 → Rev 1276

/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/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,14 → 67,6
$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');
86,8 → 73,8
$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 '.
' WHERE s.cd_nom = r.cd_nom ';
'SET s.num_nom_retenu = r.num_nom '.
'WHERE s.cd_nom = r.cd_nom ';
$this->getBdd()->requeter($requete);
}
/trunk/scripts/modules/liste_rouge/ListeRouge.php
26,9 → 26,9
case 'genererChampNumNomRetenu' :
$this->genererChampNumNomRetenu();
break;
case 'ajouterChampNumNomRetenu' :
$this->ajouterChampNumNomRetenu();
break;
case 'genererChampLegende' :
$this->genererChampLegende();
break;
case 'supprimerTous' :
$this->supprimerTous();
break;
66,8 → 66,7
$resultat = $this->getBdd()->recuperer($requete);
if ($resultat === false) {
$requete = "ALTER TABLE $table ".
' ADD `num_nom_retenu` VARCHAR( 10 ) NOT NULL ,'.
' ADD `nom_sci` VARCHAR( 500 ) NOT NULL ,'.
' ADD `num_nom_retenu` VARCHAR( 10 ) NOT NULL, '.
' ADD INDEX ( `num_nom_retenu` ) ';
$this->getBdd()->requeter($requete);
}
76,34 → 75,34
private function genererNumNomRetenu() {
$table = Config::get('tables.listeRouge');
$table_referentiel = Config::get('tables.referentielTaxo');
$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 ';
$this->getBdd()->requeter($requete);
$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 '.
'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() {
$table = Config::get('tables.listeRouge');
$requete = 'SELECT `id`, `nom_sci_orig`'.
' FROM '.$table.
' WHERE `num_nom_retenu` = ""';
$noms = $this->getBdd()->recupererTous($requete);
$debug = "Noms sans correspondance avec bdtfx :\n";
foreach ($noms as $nom) {
$debug .= $nom['id']." ".$nom['nom_sci_orig']."\n";
}
Debug::printr($debug);
private function genererCategories() {
$table = Config::get('tables.listeRouge');
$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 ';
$this->getBdd()->requeter($requete);
} else {
Debug::printr('Il manque la table de liaison entre taxref et bdtfx');
}
}
 
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";
/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}"