32,7 → 32,8 |
case 'chargerTous' : |
$this->chargerStructureSql(); |
$this->chargerBdtfx(); |
$this->genererNomSciHtml(); |
$this->genererChpNomSciHtml(); |
$this->genererChpFamille(); |
$this->genererDonneesTestMultiVersion(); |
break; |
case 'chargerStructureSql' : |
42,7 → 43,7 |
$this->chargerBdtfx(); |
break; |
case 'genererNomSciHtml' : |
$this->genererNomSciHtml(); |
$this->genererChpNomSciHtml(); |
break; |
case 'genererChpFamille' : |
$this->genererChpFamille(); |
78,7 → 79,7 |
$this->getBdd()->requeter($requete); |
} |
|
private function genererNomSciHtml() { |
private function genererChpNomSciHtml() { |
$this->initialiserGenerationChamps(); |
$this->preparerTablePrChpNomSciHtml(); |
$generateur = new GenerateurNomSciHtml(); |
85,9 → 86,9 |
$nbreTotal = $this->recupererNbTotalTuples(); |
$this->departInsertion = 0; |
while ($this->departInsertion < $nbreTotal) { |
$resultat = $this->recupererTuples(); |
$resultat = $this->recupererTuplesPrChpNomSciHtml(); |
$nomsSciEnHtml = $generateur->generer($resultat); |
$this->lancerRequeteModification($nomsSciEnHtml); |
$this->remplirChpNomSciHtm($nomsSciEnHtml); |
$this->departInsertion += $this->pasInsertion; |
$this->afficherAvancement("Insertion des noms scientifique au format HTML dans la base par paquet de {$this->pasInsertion} en cours"); |
if ($this->stopperLaBoucle($this->getParametre('t'))) break; |
116,7 → 117,7 |
return $resultat['nb']; |
} |
|
private function recupererTuples() { |
private function recupererTuplesPrChpNomSciHtml() { |
$requete = 'SELECT num_nom, rang, nom_supra_generique, genre, epithete_infra_generique, '. |
' epithete_sp, type_epithete, epithete_infra_sp,cultivar_groupe, '. |
' nom_commercial, cultivar '. |
126,12 → 127,10 |
return $resultat; |
} |
|
private function lancerRequeteModification($nomsSciHtm) { |
private function remplirChpNomSciHtm($nomsSciHtm) { |
foreach ($nomsSciHtm as $id => $html) { |
$html = $this->getBdd()->proteger($html); |
$requete = "UPDATE {$this->table} ". |
"SET nom_sci_html = $html ". |
"WHERE num_nom = $id "; |
$requete = "UPDATE {$this->table} SET nom_sci_html = $html WHERE num_nom = $id "; |
$resultat = $this->getBdd()->requeter($requete); |
if ($resultat === false) { |
throw new Exception("Erreur d'insertion pour le tuple $id"); |
143,7 → 142,6 |
$this->initialiserGenerationChamps(); |
$this->preparerTablePrChpFamille(); |
$resultats = $this->recupererTuplesPrChpFamille(); |
$famille = array(); |
$noms = array(); |
$introuvables = array(); |
$introuvablesSyno = array(); |
154,13 → 152,11 |
$rg = $nom['rang']; |
if ($nnr != '') { |
if ($rg == '180') { |
$famille[$nn] = $nom['nom_sci']; |
$noms[$nn] = $nom['nom_sci']; |
} else { |
if ($nn == $nnr) {// nom retenu |
if (isset($noms[$nts])) { |
$noms[$nn] = $noms[$nts]; |
} else if (isset($famille[$nts])) { |
$noms[$nn] = $famille[$nts]; |
} else { |
$introuvables[] = $nn; |
} |
201,12 → 197,7 |
echo $logFichier."\n"; |
file_put_contents($logFichier, $logContenu); |
} |
if (count($introuvablesSyno) != 0) { |
//$introuvablesSyno = implode(', ', $introuvablesSyno); |
$introuvablesSyno = count($introuvablesSyno); |
echo "Synonyme avec nom retenu introuvable : $introuvablesSyno\n"; |
} |
$this->lancerRequeteModificationPrChpFamille($noms); |
$this->remplirChpFamille($noms); |
} |
|
private function preparerTablePrChpFamille() { |
224,18 → 215,15 |
$requete = 'SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci '. |
"FROM {$this->table} ". |
"WHERE rang >= 180 ". |
"ORDER BY rang ASC, num_tax_sup ASC , num_nom_retenu DESC "; |
//echo $requete."\n"; |
"ORDER BY rang ASC, num_tax_sup ASC, num_nom_retenu DESC "; |
$resultat = $this->getBdd()->recupererTous($requete); |
return $resultat; |
} |
|
private function lancerRequeteModificationPrChpFamille($noms) { |
private function remplirChpFamille($noms) { |
foreach ($noms as $id => $famille) { |
$famille = $this->getBdd()->proteger($famille); |
$requete = "UPDATE {$this->table} ". |
"SET famille = $famille ". |
"WHERE num_nom = $id "; |
$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"); |