Traitement des actes : simplification et envoi mail correct

This commit is contained in:
Michael RICOIS 2017-03-28 12:40:01 +02:00
parent f8261fb887
commit b91a480dc6

View File

@ -40,13 +40,12 @@ if (isset($opts->list)){
$types = array('bi', 'ac'); $types = array('bi', 'ac');
//Configuration FTP // Configuration FTP
define ('ACTES_IGNUM_FTP_URL', 'ftp.scores-decisions.com'); define ('ACTES_IGNUM_FTP_URL', 'ftp.scores-decisions.com');
define ('ACTES_IGNUM_FTP_USER', 'mpc2500'); define ('ACTES_IGNUM_FTP_USER', 'mpc2500');
define ('ACTES_IGNUM_FTP_PASS', 'passmpc78'); define ('ACTES_IGNUM_FTP_PASS', 'passmpc78');
define ('ACTES_IGNUM_LOCAL_DIR', $c->profil->path->shared.'/files/');
define ('PATH_DATA', $c->profil->infogreffe->storage->path); $pathIn = $c->profil->path->shared.'/files';
$report_email = $c->profil->mail->email->support; $report_email = $c->profil->mail->email->support;
$report_subject = 'Traitement des actes '.date('Y-m-d H:i:s'); $report_subject = 'Traitement des actes '.date('Y-m-d H:i:s');
@ -174,7 +173,12 @@ if (!$login_result) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (".ACTES_IGNUM_FTP_URL.")!\n"; echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (".ACTES_IGNUM_FTP_URL.")!\n";
exit; exit;
} }
ftp_pasv($conn_id, true);
$contents = ftp_nlist($conn_id, "*.pdf"); $contents = ftp_nlist($conn_id, "*.pdf");
if ($contents === false) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP (".ACTES_IGNUM_FTP_URL.") !\n";
exit;
}
/** /**
* Liste de tout les fichiers disponible dans le repertoire * Liste de tout les fichiers disponible dans le repertoire
@ -185,8 +189,7 @@ foreach ($contents as $filename){
$indice = 0; $indice = 0;
$f = strtolower($filename); $f = strtolower($filename);
if (preg_match('/g-(ac|bi)-[0-9]+\.pdf/', $f) if (preg_match('/g-(ac|bi)-[0-9]+\.pdf/', $f)
|| preg_match('/g-(ac|bi)-[0-9]+-[0-9]{1,2}\.pdf/', $f)){ || preg_match('/g-(ac|bi)-[0-9]+-[0-9]{1,2}\.pdf/', $f)) {
$part = substr(str_replace('.pdf', '', $f), 5); $part = substr(str_replace('.pdf', '', $f), 5);
$p = strpos($part, '-'); $p = strpos($part, '-');
if ( $p === false ) { if ( $p === false ) {
@ -200,7 +203,7 @@ foreach ($contents as $filename){
} }
// Fichiers en anomalies // Fichiers en anomalies
else { else {
if ($test){ if ($test) {
echo "Erreur : Anomalie fichier numérisé $filename\n"; echo "Erreur : Anomalie fichier numérisé $filename\n";
} else { } else {
$subject = "Erreur : Anomalie fichier numérisé"; $subject = "Erreur : Anomalie fichier numérisé";
@ -226,12 +229,10 @@ krsort($tabFichiersFtp);
*/ */
$lastRef = ''; $lastRef = '';
$tabFichiersTemp = array(); $tabFichiersTemp = array();
foreach($tabFichiersFtp as $k => $val) foreach($tabFichiersFtp as $k => $val) {
{
$part = substr($k, 5); $part = substr($k, 5);
$p = strpos($part, '-'); $p = strpos($part, '-');
if ( $p === false ) { if ($p === false) {
$ref = substr($k, 0, 5) . $part; $ref = substr($k, 0, 5) . $part;
} else { } else {
$ref = substr($k, 0, 5) . substr($part, 0, $p); $ref = substr($k, 0, 5) . substr($part, 0, $p);
@ -250,32 +251,25 @@ unset($tabFichiersTemp);
* Pour chaque commande, test de la présence d'un fichier associé * Pour chaque commande, test de la présence d'un fichier associé
* Si le fichier correspond téléchargement du fichier * Si le fichier correspond téléchargement du fichier
*/ */
foreach ( $tabCommandes as $ref => $commande ) { foreach ($tabCommandes as $ref => $commande) {
foreach ( $tabFichiers as $refAssocie => $fichier ) { foreach ($tabFichiers as $refAssocie => $fichier) {
if ( $ref == $refAssocie ) {
if ($ref == $refAssocie) {
echo date ('Y/m/d - H:i:s')." - Traitement de la commande $ref\n"; echo date ('Y/m/d - H:i:s')." - Traitement de la commande $ref\n";
if ($test) {
if ( $test ) {
echo date ('Y/m/d - H:i:s')." - Fichier $fichier \n"; echo date ('Y/m/d - H:i:s')." - Fichier $fichier \n";
} else { } else {
// Récupération du fichier depuis le FTP (s'il n'existe pas déjà) // Récupération du fichier depuis le FTP (s'il n'existe pas déjà)
if ( !file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier) ) { if (!file_exists($pathIn.'/'.$fichier)) {
if (ftp_get($conn_id, ACTES_IGNUM_LOCAL_DIR.$fichier, $fichier, FTP_BINARY, 0)) { if (ftp_get($conn_id, $pathIn.'/'.$fichier, $fichier, FTP_BINARY, 0)) {
echo date ('Y/m/d - H:i:s')." - Fichier $fichier téléchargé depuis le serveur FTP.\n"; echo date ('Y/m/d - H:i:s')." - Fichier $fichier téléchargé depuis le serveur FTP.\n";
} else { } else {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de télécharger le fichier $fichier !\n"; echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de télécharger le fichier $fichier !\n";
} }
} }
switch ( substr($ref,2,2) ) { switch (substr($ref,2,2)) {
case 'BI': case 'BI':
$infogreffe = new Metier_Infogreffe_DocBI(); $infogreffe = new Metier_Infogreffe_DocBI();
$infogreffe->setSiren($commande->siren); $infogreffe->setSiren($commande->siren);
//Format date cloture //Format date cloture
@ -284,20 +278,18 @@ foreach ( $tabCommandes as $ref => $commande ) {
substr($commande->bilanCloture,8,2); substr($commande->bilanCloture,8,2);
$path = $infogreffe->getFilePath($commande->bilanType, $dateCloture); $path = $infogreffe->getFilePath($commande->bilanType, $dateCloture);
$nomCible = $infogreffe->getFileName($commande->bilanType, $dateCloture); $nomCible = $infogreffe->getFileName($commande->bilanType, $dateCloture);
$fileOut = $c->profil->infogreffe->storage->path.'/'.$path.'/'.$nomCible;
$fileOut = PATH_DATA.'/'.$path.'/'.$nomCible;
$isFileOnStorage = false; $isFileOnStorage = false;
if (file_exists($fileOut)) { if (file_exists($fileOut)) {
$isFileOnStorage = true; $isFileOnStorage = true;
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déjà présent en ".$fileOut.".\n"; echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déjà présent en ".$fileOut.".\n";
} else { } else {
if (copy(ACTES_IGNUM_LOCAL_DIR.$fichier, $fileOut)) { if (copy($pathIn.'/'.$fichier, $fileOut)) {
$isFileOnStorage = true; $isFileOnStorage = true;
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".$fileOut.".\n"; echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déplacé en ".$fileOut.".\n";
} else { } else {
echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".$fileOut." !\n"; echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".$pathIn.'/'.$fichier." en ".$fileOut." !\n";
} }
} }
@ -359,19 +351,19 @@ foreach ( $tabCommandes as $ref => $commande ) {
$options = $item->numGreffe . '-' . substr($item->numRC,0,2) . '-' . substr($item->numRC,2,1) . '-' . substr($item->numRC,3) . '-' . $item->num_depot; $options = $item->numGreffe . '-' . substr($item->numRC,0,2) . '-' . substr($item->numRC,2,1) . '-' . substr($item->numRC,3) . '-' . $item->num_depot;
$nomCible = $infogreffe->getFileName($date, $commande->acteNum, $commande->acteType, $options); $nomCible = $infogreffe->getFileName($date, $commande->acteNum, $commande->acteType, $options);
$fileOut = PATH_DATA.'/'.$path.'/'.$nomCible; $fileOut = $c->profil->infogreffe->storage->path.'/'.$path.'/'.$nomCible;
$isFileOnStorage = false; $isFileOnStorage = false;
if (file_exists($fileOut)) { if (file_exists($fileOut)) {
$isFileOnStorage = true; $isFileOnStorage = true;
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déjà présent en ".$fileOut.".\n"; echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déjà présent en ".$fileOut.".\n";
} else { } else {
if (copy(ACTES_IGNUM_LOCAL_DIR.$fichier, $fileOut)) { if (copy($pathIn.'/'.$fichier, $fileOut)) {
$isFileOnStorage = true; $isFileOnStorage = true;
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".$fileOut.".\n"; echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déplacé en ".$fileOut.".\n";
} else { } else {
echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".$fileOut." !\n"; echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".$pathIn.'/'.$fichier." en ".$fileOut." !\n";
} }
} }
@ -397,8 +389,8 @@ foreach ( $tabCommandes as $ref => $commande ) {
break; break;
} }
//Envoi du mail et Mise à jour de la commande // Envoi du mail et Mise à jour de la commande
if ( file_exists($fileOut) ) { if (file_exists($fileOut)) {
if ( $testMail ) { if ( $testMail ) {
echo "Envoi fichier $nomCible ($ref) à ".$commande->email; echo "Envoi fichier $nomCible ($ref) à ".$commande->email;
} else { } else {
@ -440,6 +432,7 @@ if (empty($report_txt)) {
//Envoi du mail de rapport //Envoi du mail de rapport
if (!$test && !$testMail){ if (!$test && !$testMail){
$headers = 'From: supportdev@scores-decisions.com';
if (mail($report_email, $report_subject, utf8_decode($report_txt))){ if (mail($report_email, $report_subject, utf8_decode($report_txt))){
echo date ('Y/m/d - H:i:s')." - Rapport envoyé.\n"; echo date ('Y/m/d - H:i:s')." - Rapport envoyé.\n";
} else { } else {