Mode reprise

This commit is contained in:
Michael RICOIS 2012-04-30 11:47:22 +00:00
parent afde6c739c
commit ba761881d0

View File

@ -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
$row = 0;
//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;
//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;