diff --git a/batch/enrichissement.php b/batch/enrichissement.php index 3a23dd75..9e27da7c 100644 --- a/batch/enrichissement.php +++ b/batch/enrichissement.php @@ -32,6 +32,7 @@ try { 'help|?' => "Aide.", 'id=s' => "Identifiant du traitement", 'file=s' => "Traitement manuel avec spécification du fichier", + 'reprise' => "Reprendre un fichier à la ligne n-1", 'ask' => "Interaction avec l'utilisateur lors d'une reprise manuelle", ) ); @@ -256,8 +257,6 @@ $file = str_replace($extension, '', $file); $path = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'path'); if (!file_exists($path->data.'/export')) mkdir($path->data.'/export'); -$outFile = $path->data.'/export/'.$file.'-'.date('YmdHis').'.csv'; -$inFile = $path->data.'/clients/'.$file.'.csv'; if ($opts->id) { $profilM = new Application_Model_Profil($db); @@ -293,6 +292,9 @@ $tabData = array(); $posKeySiren = $posKeySiret = $posKeyNic = false; +//Fichier de définition +$inFile = $path->data.'/clients/'.$file.'.csv'; + //Lire le fichier csv $row = 0; if (($handle = fopen($inFile, 'r')) !== FALSE) { @@ -422,20 +424,44 @@ if (count($tabEntete)>0){ } } -//Vérification et création des données +//Définition du fichier de sortie +if ( $opts->reprise ) { + $outFile = $path->data.'/export/'.$commandesM->fichierOut; + + $rowReprise = 0; + $handleR = fopen($inFile, 'r'); + while (($data = fgetcsv($handleR, 0, ',', '"')) !== FALSE) { + $rowReprise++; + } + +} else { + $outFile = $path->data.'/export/'.$file.'-'.date('YmdHis').'.csv'; + + //Ecriture de l'entete du fichier + $fp = fopen($outFile, 'w'); + if (count($tabEnteteF)>0){ + fputcsv($fp, $tabEnteteF, ',', '"'); + } + + //Mise à jour des éléments + if ($opts->id) { + $commandesM->update(array( + 'dateStart'=>date('Y-m-d H:i:s'), + 'fichierOut' => basename($outFile)), + "id = ".$commande->id); + } + +} + $row = 0; -$fp = fopen($outFile, 'w'); -if (count($tabEnteteF)>0){ - fputcsv($fp, $tabEnteteF, ',', '"'); -} -if ($opts->id) { - $commandesM->update(array( - 'dateStart'=>date('Y-m-d H:i:s'), - 'fichierOut' => basename($outFile)), - "id = ".$commande->id); -} + +//Vérification et création des données foreach($tabIdentifiant as $item) { + if ( $opts->reprise && $row <= $rowReprise ) { + continue; + } + echo "Ligne ".($row+1)."\n"; $siretValide = false;