Suppression du continue qui ne semble pas fonctionner

This commit is contained in:
Michael RICOIS 2012-04-30 12:16:49 +00:00
parent ce65a3718c
commit 1268d534be

View File

@ -458,138 +458,143 @@ $row = 0;
//Vérification et création des données //Vérification et création des données
foreach($tabIdentifiant as $item) foreach($tabIdentifiant as $item)
{ {
echo "Ligne ".($row+1)."\n"; echo "Ligne ".($row+1)." - ";
if ( $opts->reprise && $row < $rowReprise ) { if ( $opts->reprise && $row < $rowReprise ) {
//Reprise
$row++; $row++;
continue; echo "Reprise";
}
$siretValide = false;
$sirenValide = false;
$siren = substr($item, 0, 9);
$nic = substr($item, 9);
//Vérification par algorithme
$siretValide = siretValide($item);
if ($posKeySiret!==false){
if ($siretValide===false){
$sirenValide = sirenValide($siren);
} else {
$sirenValide = true;
}
}
if ($posKeySiren!==false && $posKeyNic!==false) {
$sirenValide = sirenValide($siren);
}
//On définit le tableau de retour
if ( $posKeySiret!==false ){
$tabData[$row]['siret'] = $item;
} elseif ( $posKeySiren!==false && $posKeyNic!==false ){
$tabData[$row]['siren'] = $siren;
$tabData[$row]['nic'] = $nic;
} elseif ( $posKeySiren !==false ){
$tabData[$row]['siren'] = $siren;
}
$tabData[$row]['SiretValide'] = ($siretValide===true) ? 1 : 0;
if ( $sirenValide===false || intval($siren)==0 ){
//Siren faux
} else { } else {
//Vérifier les nic, ou sélectionner le nic du siege actif $siretValide = false;
$nicV = $nic; //Surcharge pour le nic $sirenValide = false;
$strNic = '';
$sqlNic = 'SELECT nic as nicTmp, cj as cjTmp FROM jo.etablissements WHERE siren='.$siren; $siren = substr($item, 0, 9);
if (strlen($item)==14 && intval($nic)>0){ $nic = substr($item, 9);
$stmt = $dbMetier->query($sqlNic.' AND nic='.$nic);
$result = $stmt->fetchAll(); //Vérification par algorithme
if (count($result)==0){ $siretValide = siretValide($item);
$nicV = 0; if ($posKeySiret!==false){
$fJur = '0000'; if ($siretValide===false){
$sirenValide = sirenValide($siren);
} else { } else {
//nic : On considère qu'il est vrai si on a un résultat $sirenValide = true;
$fJur = $result[0]['cjTmp']; }
} }
if ($posKeySiren!==false && $posKeyNic!==false) {
$sirenValide = sirenValide($siren);
} }
if (intval($nicV)==0){ //On définit le tableau de retour
$strNic = ' AND nic>-1 AND actif>-1 ORDER BY siege DESC, actif DESC, nicTmp DESC LIMIT 0,1'; if ( $posKeySiret!==false ){
$stmt = $dbMetier->query($sqlNic.$strNic); $tabData[$row]['siret'] = $item;
$result = $stmt->fetchAll(); } elseif ( $posKeySiren!==false && $posKeyNic!==false ){
if (count($result)>0){
$nicV = $result[0]['nicTmp'];
$fJur = $result[0]['cjTmp'];
} else {
$nicV = '00000';
$fJur = '0000';
}
}
if ( $posKeySiren!==false && $posKeyNic!==false ){
$tabData[$row]['siren'] = $siren; $tabData[$row]['siren'] = $siren;
$tabData[$row]['nic'] = $nic; $tabData[$row]['nic'] = $nic;
} elseif ( $posKeySiren !==false ){
$tabData[$row]['siren'] = $siren;
} }
//Récupération des données $tabData[$row]['SiretValide'] = ($siretValide===true) ? 1 : 0;
foreach($tabDico as $element => $select)
{ if ( $sirenValide===false || intval($siren)==0 ){
//Traitement par requete SQL //Siren faux
if (isset(${$element.'Fields'})){ } else {
$where = $select['where'];
eval( "\$where = \"$where\";" ); //Vérifier les nic, ou sélectionner le nic du siege actif
${$element.'SQL'} = 'SELECT '.${$element.'Fields'}.' FROM '.$select['db'].$where; $nicV = $nic; //Surcharge pour le nic
$strNic = '';
try { $sqlNic = 'SELECT nic as nicTmp, cj as cjTmp FROM jo.etablissements WHERE siren='.$siren;
$stmt = $dbMetier->query(${$element.'SQL'}); if (strlen($item)==14 && intval($nic)>0){
$result = $stmt->fetchAll(); $stmt = $dbMetier->query($sqlNic.' AND nic='.$nic);
if ( count($result)>0 ) { $result = $stmt->fetchAll();
$tabData[$row] = array_merge( $tabData[$row] , $result[0]); if (count($result)==0){
} $nicV = 0;
} catch (Zend_Db_Exception $e) { $fJur = '0000';
} else {
//Enregistrement du message d'erreur //nic : On considère qu'il est vrai si on a un résultat
if ($opts->id) { $fJur = $result[0]['cjTmp'];
$commandesM->update(array('error'=>$e->getMessage()), "id = ".$commande->id);
}
//Arret du script
exit;
} }
} }
//Traitement par fonction
if( $element == 'data' ) if (intval($nicV)==0){
$strNic = ' AND nic>-1 AND actif>-1 ORDER BY siege DESC, actif DESC, nicTmp DESC LIMIT 0,1';
$stmt = $dbMetier->query($sqlNic.$strNic);
$result = $stmt->fetchAll();
if (count($result)>0){
$nicV = $result[0]['nicTmp'];
$fJur = $result[0]['cjTmp'];
} else {
$nicV = '00000';
$fJur = '0000';
}
}
if ( $posKeySiren!==false && $posKeyNic!==false ){
$tabData[$row]['siren'] = $siren;
$tabData[$row]['nic'] = $nic;
}
//Récupération des données
foreach($tabDico as $element => $select)
{ {
foreach($select as $item) //Traitement par requete SQL
{ if (isset(${$element.'Fields'})){
if (isset(${$item.'Data'})) $where = $select['where'];
{ eval( "\$where = \"$where\";" );
$values = false; ${$element.'SQL'} = 'SELECT '.${$element.'Fields'}.' FROM '.$select['db'].$where;
if( ${$item.'Data'}!=false ){
$values = ${$item.'Data'}; try {
} $stmt = $dbMetier->query(${$element.'SQL'});
$retour = call_user_func($item.'Data', $siren, $nicV, $values); $result = $stmt->fetchAll();
$tabData[$row] = $tabData[$row] + $retour; if ( count($result)>0 ) {
$tabData[$row] = array_merge( $tabData[$row] , $result[0]);
}
} catch (Zend_Db_Exception $e) {
//Enregistrement du message d'erreur
if ($opts->id) {
$commandesM->update(array('error'=>$e->getMessage()), "id = ".$commande->id);
}
//Arret du script
exit;
} }
}
} }
//Traitement par fonction
if( $element == 'data' )
{
foreach($select as $item)
{
if (isset(${$item.'Data'}))
{
$values = false;
if( ${$item.'Data'}!=false ){
$values = ${$item.'Data'};
}
$retour = call_user_func($item.'Data', $siren, $nicV, $values);
$tabData[$row] = $tabData[$row] + $retour;
}
}
}
}
} }
//Trier pour la sortie
$tabSortie = array();
foreach($tabEntete as $key){
$tabSortie[] = isset($tabData[$row][$key]) ? $tabData[$row][$key] : '';
}
fputcsv($fp, $tabSortie, ',', '"');
$row++;
echo "OK";
} }
//Trier pour la sortie echo "\n";
$tabSortie = array();
foreach($tabEntete as $key){
$tabSortie[] = isset($tabData[$row][$key]) ? $tabData[$row][$key] : '';
}
fputcsv($fp, $tabSortie, ',', '"');
$row++;
//Mise à jour des lignes traitées dans la base //Mise à jour des lignes traitées dans la base
if ($opts->id) { if ($opts->id) {