Mode reprise
This commit is contained in:
parent
afde6c739c
commit
ba761881d0
@ -32,6 +32,7 @@ try {
|
|||||||
'help|?' => "Aide.",
|
'help|?' => "Aide.",
|
||||||
'id=s' => "Identifiant du traitement",
|
'id=s' => "Identifiant du traitement",
|
||||||
'file=s' => "Traitement manuel avec spécification du fichier",
|
'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",
|
'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');
|
$path = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'path');
|
||||||
if (!file_exists($path->data.'/export')) mkdir($path->data.'/export');
|
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) {
|
if ($opts->id) {
|
||||||
$profilM = new Application_Model_Profil($db);
|
$profilM = new Application_Model_Profil($db);
|
||||||
@ -293,6 +292,9 @@ $tabData = array();
|
|||||||
|
|
||||||
$posKeySiren = $posKeySiret = $posKeyNic = false;
|
$posKeySiren = $posKeySiret = $posKeyNic = false;
|
||||||
|
|
||||||
|
//Fichier de définition
|
||||||
|
$inFile = $path->data.'/clients/'.$file.'.csv';
|
||||||
|
|
||||||
//Lire le fichier csv
|
//Lire le fichier csv
|
||||||
$row = 0;
|
$row = 0;
|
||||||
if (($handle = fopen($inFile, 'r')) !== FALSE) {
|
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;
|
$row = 0;
|
||||||
$fp = fopen($outFile, 'w');
|
|
||||||
if (count($tabEnteteF)>0){
|
//Vérification et création des données
|
||||||
fputcsv($fp, $tabEnteteF, ',', '"');
|
|
||||||
}
|
|
||||||
if ($opts->id) {
|
|
||||||
$commandesM->update(array(
|
|
||||||
'dateStart'=>date('Y-m-d H:i:s'),
|
|
||||||
'fichierOut' => basename($outFile)),
|
|
||||||
"id = ".$commande->id);
|
|
||||||
}
|
|
||||||
foreach($tabIdentifiant as $item)
|
foreach($tabIdentifiant as $item)
|
||||||
{
|
{
|
||||||
|
if ( $opts->reprise && $row <= $rowReprise ) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
echo "Ligne ".($row+1)."\n";
|
echo "Ligne ".($row+1)."\n";
|
||||||
|
|
||||||
$siretValide = false;
|
$siretValide = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user