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
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) {