Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 335 → Rev 336

/trunk/scripts/modules/bdtfx/Bdtfx.php
142,14 → 142,34
private function genererChpFamille() {
$this->initialiserGenerationChamps();
$this->preparerTablePrChpFamille();
$generateur = new GenerateurNomSciHtml();
$resultats = $this->recupererTuples();
$classif = array();
$resultats = $this->recupererTuplesPrChpFamille();
$famille = array();
$noms = array();
$introuvables = array();
foreach ($resultats as $nom) {
if ($nom['rang'])
$this->afficherAvancement("Insertion des noms de famille dans la base par paquet de {$this->pasInsertion} en cours");
$nn = $nom['num_nom'];
$nts = $nom['num_tax_sup'];
$rg = $nom['rang'];
if ($rg == '180') {
$famille[$nn] = $nom['nom_sci'];
} else {
if (isset($noms[$nts])) {
$noms[$nn] = $noms[$nts];
} else if (isset($famille[$nts])) {
$noms[$nn] = $famille[$nts];
} else {
$introuvables[] = $nn;
}
}
$this->afficherAvancement("Attribution de leur famille aux noms en cours");
if ($this->stopperLaBoucle($this->getParametre('t'))) break;
}
echo "\n";
if ($introuvables != 0) {
$introuvables = implode(', ', $introuvables);
echo "Parent introuvable pour les noms : $introuvables\n";
}
$this->lancerRequeteModificationPrChpFamille($noms);
}
private function preparerTablePrChpFamille() {
167,10 → 187,26
$requete = 'SELECT num_nom, num_tax_sup, rang, nom_sci '.
"FROM {$this->table} ".
"WHERE rang >= 180 ".
" AND num_tax_sup != '' ".
"ORDER BY rang ASC,num_tax_sup ASC ";
$resultat = $this->getBdd()->recupererTous($requete);
return $resultat;
}
private function lancerRequeteModificationPrChpFamille($noms) {
foreach ($noms as $id => $famille) {
$famille = $this->getBdd()->proteger($famille);
$requete = "UPDATE {$this->table} ".
"SET famille = $famille ".
"WHERE num_nom = $id ";
$resultat = $this->getBdd()->requeter($requete);
if ($resultat === false) {
throw new Exception("Erreur d'insertion pour le tuple $id");
}
$this->afficherAvancement("Insertion des noms de famille dans la base en cours");
}
echo "\n";
}
 
private function genererDonneesTestMultiVersion() {
$contenuSql = $this->recupererContenu(Config::get('chemins.structureSqlTest'));