FRANSBONHOMME : Modification du traitement et integration dans la gestion des flux
This commit is contained in:
parent
fbb76687d2
commit
d84449a53e
@ -55,7 +55,6 @@ $pathClientSend = '/home/data/clients/fransbonhomme/send';
|
||||
|
||||
// Stockage SD => Client
|
||||
$pathClientRecv = '/home/data/clients/fransbonhomme/recv';
|
||||
$pathFtpRecv = '/home/data/ftp/fransbonhomme/recv';
|
||||
|
||||
//Options
|
||||
try {
|
||||
@ -129,9 +128,9 @@ $tdate = new WDate();
|
||||
// Génération du fichier de demande depuis les logs de consultation indiscore2, indiscore3
|
||||
if ($opts->site)
|
||||
{
|
||||
if (empty($opts->site) || $opts->site<20110101)
|
||||
if ($opts->site===true)
|
||||
{
|
||||
$dateDemandes = date('Ymd');
|
||||
$dateDemandes = date('Ymd');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -164,19 +163,35 @@ if ($opts->site)
|
||||
// Fichier de demande par FTP
|
||||
if ($opts->ftp)
|
||||
{
|
||||
$dh = opendir($pathClientSend);
|
||||
while (false !== ($filename = readdir($dh)))
|
||||
{
|
||||
if ($filename!='.' && $filename!='..' && strtolower(substr($filename,-4))=='.txt')
|
||||
{
|
||||
$tailleOctets = filesize($pathClientSend.'/'.$filename);
|
||||
if ($tailleOctets>9)
|
||||
{
|
||||
$tabFichLigneCmd[] = $filename;
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s') . " - Attention, la taille du fichier '$filename' est incohérente ($tailleOctets octets)!\n";
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Detecter si la date n'est pas trop ancienne
|
||||
*/
|
||||
$dateNow = new Zend_Date();
|
||||
$dateIn1 = $dateNow->toString('yyyy-MM-dd HH:mm:ss');
|
||||
|
||||
$diff = $dateNow->sub(28, Zend_Date::HOUR);
|
||||
$dateIn2 = $diff->toString('yyyy-MM-dd HH:mm:ss');
|
||||
|
||||
//client, name, depotType, depotDate, depotFile, nbLines, dateInsert, dateExecute
|
||||
$fluxinM = new Application_Model_Sdv1FluxFileIn();
|
||||
$sql = $fluxinM->select()
|
||||
->where('client=?','fransbonhomme')
|
||||
->where('name=?', 'RAPPORT')
|
||||
->where('depotType=?','FTP')
|
||||
->where('dateExecute=?','0000-00-00 00:00:00')
|
||||
->where("dateInsert BETWEEN '".$dateIn2."' AND '".$dateIn1."' ")
|
||||
->order('dateInsert DESC');
|
||||
|
||||
$pitems = $fluxinM->fetchAll($sql);
|
||||
|
||||
if ( $pitems->count()==0 ) {
|
||||
echo date('Y-m-d H:i:s')." : Aucun traitement à réaliser.".PHP_EOL;
|
||||
exit;
|
||||
}
|
||||
|
||||
foreach ($pitems as $p) {
|
||||
$tabFichLigneCmd[] = $p->depotFile;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -191,6 +206,8 @@ if (count($tabFichLigneCmd) > 0)
|
||||
{
|
||||
foreach ($tabFichLigneCmd as $fichierIn)
|
||||
{
|
||||
$dateBegin = date('YmdHis');
|
||||
|
||||
if ( !file_exists($pathClientSend.'/'.$fichierIn) ) {
|
||||
die("Erreur fichier '$fichierIn' inexistant !\n");
|
||||
}
|
||||
@ -548,14 +565,27 @@ if (count($tabFichLigneCmd) > 0)
|
||||
'dateHeure' => date('YmdHis'))
|
||||
);
|
||||
}
|
||||
}
|
||||
} // Fin de lecture des lignes du fichier
|
||||
|
||||
//Copie des fichiers de rapport dans le FTP
|
||||
if ( !copy($pathClientRecv.'/'.$fichierOut, $pathFtpRecv.'/'.$fichierOut) ) {
|
||||
echo date ('Y/m/d - H:i:s')." - Erreur de copie du fichier $fichierOut dans le FTP !\n";
|
||||
//Ecriture dans la table des prestations
|
||||
$fluxoutM = new Application_Model_Sdv1FluxFileOut();
|
||||
$dateEnd = date('YmdHis');
|
||||
$fluxoutM->insert(array(
|
||||
'client' => 'fransbonhomme',
|
||||
'name' => 'RAPPORT',
|
||||
'nbLines' => $iLigne+1,
|
||||
'dateBegin' => $dateBegin,
|
||||
'dateEnd' => $dateEnd,
|
||||
'fileOut' => $fichierOut,
|
||||
'depotType' => 'FTP',
|
||||
'depotDate' => '0000-00-00 00:00:00',
|
||||
));
|
||||
if ($opts->ftp) {
|
||||
//Ecrire la date d'execution dans flux_filein
|
||||
$fluxinM->update(array('dateExecute' => $dateEnd), 'id='.$p->id);
|
||||
}
|
||||
}
|
||||
} // Fin de lecture des fichier de demande
|
||||
} // Fin de lecture des fichiers de demande
|
||||
else
|
||||
{
|
||||
echo date ('Y/m/d - H:i:s') . "Aucun fichier à traiter !\n";
|
||||
|
Loading…
x
Reference in New Issue
Block a user