From 1268d534beefc11f5cb450198b1b7e8fc72e16c1 Mon Sep 17 00:00:00 2001 From: Michael RICOIS Date: Mon, 30 Apr 2012 12:16:49 +0000 Subject: [PATCH] Suppression du continue qui ne semble pas fonctionner --- batch/enrichissement.php | 229 ++++++++++++++++++++------------------- 1 file changed, 117 insertions(+), 112 deletions(-) diff --git a/batch/enrichissement.php b/batch/enrichissement.php index 200819a4..4b13835e 100644 --- a/batch/enrichissement.php +++ b/batch/enrichissement.php @@ -458,138 +458,143 @@ $row = 0; //Vérification et création des données foreach($tabIdentifiant as $item) { - echo "Ligne ".($row+1)."\n"; + echo "Ligne ".($row+1)." - "; if ( $opts->reprise && $row < $rowReprise ) { + //Reprise $row++; - continue; - } - - $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 + echo "Reprise"; } else { - //Vérifier les nic, ou sélectionner le nic du siege actif - $nicV = $nic; //Surcharge pour le nic - $strNic = ''; - $sqlNic = 'SELECT nic as nicTmp, cj as cjTmp FROM jo.etablissements WHERE siren='.$siren; - if (strlen($item)==14 && intval($nic)>0){ - $stmt = $dbMetier->query($sqlNic.' AND nic='.$nic); - $result = $stmt->fetchAll(); - if (count($result)==0){ - $nicV = 0; - $fJur = '0000'; + $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 { - //nic : On considère qu'il est vrai si on a un résultat - $fJur = $result[0]['cjTmp']; - } + $sirenValide = true; + } + } + + if ($posKeySiren!==false && $posKeyNic!==false) { + $sirenValide = sirenValide($siren); } - 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 ){ + //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; } - //Récupération des données - foreach($tabDico as $element => $select) - { - //Traitement par requete SQL - if (isset(${$element.'Fields'})){ - $where = $select['where']; - eval( "\$where = \"$where\";" ); - ${$element.'SQL'} = 'SELECT '.${$element.'Fields'}.' FROM '.$select['db'].$where; - - try { - $stmt = $dbMetier->query(${$element.'SQL'}); - $result = $stmt->fetchAll(); - 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; + $tabData[$row]['SiretValide'] = ($siretValide===true) ? 1 : 0; + + if ( $sirenValide===false || intval($siren)==0 ){ + //Siren faux + } else { + + //Vérifier les nic, ou sélectionner le nic du siege actif + $nicV = $nic; //Surcharge pour le nic + $strNic = ''; + $sqlNic = 'SELECT nic as nicTmp, cj as cjTmp FROM jo.etablissements WHERE siren='.$siren; + if (strlen($item)==14 && intval($nic)>0){ + $stmt = $dbMetier->query($sqlNic.' AND nic='.$nic); + $result = $stmt->fetchAll(); + if (count($result)==0){ + $nicV = 0; + $fJur = '0000'; + } else { + //nic : On considère qu'il est vrai si on a un résultat + $fJur = $result[0]['cjTmp']; } - } - //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) - { - 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; + //Traitement par requete SQL + if (isset(${$element.'Fields'})){ + $where = $select['where']; + eval( "\$where = \"$where\";" ); + ${$element.'SQL'} = 'SELECT '.${$element.'Fields'}.' FROM '.$select['db'].$where; + + try { + $stmt = $dbMetier->query(${$element.'SQL'}); + $result = $stmt->fetchAll(); + 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 - $tabSortie = array(); - foreach($tabEntete as $key){ - $tabSortie[] = isset($tabData[$row][$key]) ? $tabData[$row][$key] : ''; - } - fputcsv($fp, $tabSortie, ',', '"'); - - $row++; + echo "\n"; //Mise à jour des lignes traitées dans la base if ($opts->id) {