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]); |
} |
} |
|
} |
?> |
?> |