Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 344 → Rev 406

/branches/v2.0-betulales/scripts/modules/famille/Famille.php
22,16 → 22,16
private $referentielDao = null;
public $parametres = array(
'-r' => array(true, true, 'referentiel'));
private $noms = array();
private $resultats = array();
public function executer() {
$this->referentielDao = new ReferentielDao();
// Récupération du dernier traitement demandé
$referentiel = $this->getParam('r');
$resultats = $this->referentielDao->preparerTablePrChpFamille($referentiel);
$this->resultats = $this->referentielDao->preparerTablePrChpFamille($referentiel);
$noms = array();
//$noms = array();
$introuvables = array();
$introuvablesSyno = array();
$i = 1;
38,13 → 38,13
 
while(true) {
printf("passe n°%d:\n", $i);
$this->traiterResultatsFamille($resultats, $noms, $introuvables, $introuvablesSyno);
echo "\n\n";
$this->traiterResultatsFamille( $introuvables, $introuvablesSyno);
//echo "\n\n"; print_r(count($this->noms));
// printf("noms: %d, introuvables: %d, introuvablesSyno: %d\n", count($noms), count($introuvables), count($introuvablesSyno));
// XXX, au 22/07/2013, 3 passes sont suffisantes
// TODO: MySQL procédure stockée !
if($i++ == 3) break;
$resultats = array_merge($resultats, $introuvables, $introuvablesSyno);
if($i++ == 4) break;
$this->resultats = array_merge($this->resultats, $introuvables, $introuvablesSyno);
$introuvables = $introuvablesSyno = array();
}
 
51,8 → 51,8
foreach ($introuvablesSyno as $id => $nom) {
$nn = $nom['num_nom'];
$nnr = $nom['num_nom_retenu'];
if (isset($noms[$nnr])) {
$noms[$nn] = $noms[$nnr];
if (isset($this->noms[$nnr])) {
$this->noms[$nn] = $this->noms[$nnr];
} else {
$introuvables[] = $nn;
}
65,36 → 65,38
/*$msg = 'Plusieurs familles sont introuvables';
$this->creerFichierLog($msg, $introuvables, 'famille_introuvable');*/
 
$this->referentielDao->remplirChpFamille($referentiel, $noms);
print_r(count($this->noms));echo "wtf:";
print_r($this->referentielDao->remplirChpFamille($referentiel, $this->noms));
}
 
 
private function traiterResultatsFamille(&$resultats, &$noms, &$introuvables, &$introuvablesSyno) {
foreach ($resultats as $id => $nom) {
$nn = $nom['num_nom'];
private function traiterResultatsFamille(&$introuvables, &$introuvablesSyno) {
foreach ($this->resultats as $id => $nom) {
$nn = $nom['num_nom'];
$nnr = $nom['num_nom_retenu'];
$nts = $nom['num_tax_sup'];
$rg = $nom['rang'];
if ($nnr != '') {
if ($rg == '180') {
$noms[$nn] = $nom['nom_sci'];
$this->noms[$nn] = $nom['nom_sci'];
} else {
if ($nn == $nnr) {
// nom retenu
if (isset($noms[$nts])) {
if (isset($this->noms[$nts])) {
// signifie que recupererTuplesPrChpFamille() devrait
// récupérer ce record *avant*
$noms[$nn] = $noms[$nts];
$this->noms[$nn] = $this->noms[$nts];
} else {
$introuvables[] = $nn;
}
} else {// nom synonyme
if (isset($noms[$nnr])) {
if (isset($this->noms[$nnr])) {
// signifie que recupererTuplesPrChpFamille() devrait
// récupérer ce record *avant*
$noms[$nn] = $noms[$nnr];
$this->noms[$nn] = $this->noms[$nnr];
} else {
$introuvablesSyno[] = $nom;
}
101,9 → 103,9
}
}
}
unset($resultats[$id]);
unset($this->resultats[$id]);
}
}
 
}
?>
?>