batch/1.1/old/surveillanceScoreSite.php
2013-06-19 08:24:49 +00:00

518 lines
26 KiB
PHP

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
/*echo "http://extranet.scores-decisions.com/?page=indiscore&action=logon&login=testsd19&siret=552144503&hach=".md5("testsd19|verdoso");
die();
*/
define('DATE_HEURE_SCRIPT', date('Ymd_His'));
/** @todo
**/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
$repProduction='/mnt/samba/partage/production/';
$modeTest=$envoiGroupe=$envoiGroupePre=false;
$ignoreDateDerExec=$retroActivite=false;
$tableSurveillance='surveillances_site';
//$modeTest=true;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Envoi des messages de surveillance SCORE par email (site et WS uniquement).
Options :
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution et envoi des mails à lenaoury@gmail.com...)
-d Mode debug (mode -i avec interruptions pas à pas)
";
$argv=$_SERVER['argv'];
if ($_SERVER['argc']>1)
{
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'i':
//$envoiGroupe=true;
$modeTest=true;
$tableSurveillance='surveillances_site_old';
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
}
}
}
$iDb=new WDB('jo');
$iDb2=new WDB('sdv1');
$nbUtilisateurs=$iDb2->select('utilisateurs u, clients c', 'u.id, u.idClient, LOWER(u.login) AS login, u.password, u.email, u.formatMail, u.lienExtranetMail, u.listeEven, c.typeScore', "u.idClient=c.id AND u.actif=1 AND u.deleted=0 AND c.actif='Oui'", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbUtilisateurs utilisateurs habilités à recevoir des surveillances...".EOL;
$tabFormat=$tabLienEx=$tabLstEve=$tabHash=$tabTypInd=array();
while ($uti=$iDb2->fetch(MYSQL_ASSOC)) {
switch ($uti['formatMail']) {
case 'txt2': // MAIL au format texte, 1 mail par envoi
case 'csv': // MAIL au format CSV, 1 mail par envoi
case 'txt1': // MAIL au format texte, 1 mail par annonce (format par défaut)
case 'pdf1': // MAIL au format PDF, 1 mail par envoi
$tabFormat['_'.$uti['login']]=$uti['formatMail'];
break;
default:
$tabFormat['_'.$uti['login']]='txt1';
break;
}
$tabLienEx['_'.$uti['login']]=$uti['lienExtranetMail'];
$tabClient['_'.$uti['login']]=$uti['idClient'];
$tabTypInd['_'.$uti['login']]=$uti['typeScore'];
$tabLstEve['_'.$uti['login']]=explode(';',trim($uti['listeEven']));
sort($tabLstEve['_'.$uti['login']]);
if (count($tabLstEve['_'.$uti['login']])==1 && $tabLstEve['_'.$uti['login']][0]=='')
$tabLstEve['_'.$uti['login']]=array();
$tabHash['_'.$uti['login']]=md5($uti['login'].'|'.$uti['password']);
}
//sort($tabFormat);
//print_r($tabFormat);die();
//print_r($tabTypInd);die();
$iBodacc=new MBodacc();
$iInsee=new MInsee();
echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances Scores.\n";
$fields="CONCAT(s.siren,'-',s.login,'-',s.ref) AS id, s.siren, LOWER(TRIM(s.login)) AS login, LOWER(TRIM(s.email)) AS email, s.ref, s.dateAjout, s.dateDerEnvoi, i.actif, i.procol, i.indiScore, i.encours, i.indiScoreDate, i.dateBilan, i.indiScorePre, i.indiScore20, i.indiScore20Pre, i.encoursPre, i.indiScoreDatePre, i.sourceModif, i.scoreDir, i.scoreDirPre, i.scoreConf, i.scoreConfPre, i.scoreZ, i.scoreCH, i.scoreAfdcc2, i.situFi, i.infoNote, i.noteStruct, i.noteStructPre, i.noteFin, i.tendance, i.dateUpdate";
$where ="1 AND s.source='score' AND s.siren>1000 AND s.siren=i.siren AND i.sourceModif<>'ajout' AND i.dateUpdate>s.dateAjout AND i.dateUpdate>s.dateDerEnvoi AND i.indiScoreDate>s.dateDerEnvoi AND i.indiScoreDate<=CURDATE() AND indiScoreDatePre<>'0000-00-00' AND s.dateSuppr='0000-00-00'
AND ABS(i.encours-i.encoursPre)>(i.encoursPre/10) AND (ABS(i.indiScore-i.indiScorePre)>9 || (i.indiScore<40 AND i.indiScorePre>=40) || ABS(i.indiScore20-i.indiScore20Pre)>9 )
AND i.indiScoreDate>'2012-11-12' ";
//AND i.sourceModif IN ('bilans1','bilans2','bodacc','collecte','insee','jour','privileges','rncs') ";
//'ancien','dirigeants',
//$where.=" AND d.dateInsert < '2009-03-19 00:00:00' ";
$where.=' ORDER BY s.login ASC, s.email ASC';
$tables="$tableSurveillance s, scores_surveillance i";
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$iDb->query("SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';", false);
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances Scores à traiter...".EOL;
$emailPre=$loginPre=false;
echo trim(mysql_errno().' '.mysql_error()).EOL;
require_once('/var/www/html/tests/pdf/html2pdf.class.php');
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$tabIdentite=$iInsee->getIdentiteLight($annonce['siren']);
$fp2=fopen("/var/www/html/factures/pdf/surv_scores_".date('Y-m-d').'.csv', 'a');
fwrite($fp2, implode("\"\t\"", $annonce));
fclose($fp2);
$email=$annonce['email'];
$loginLu=$annonce['login'];
if (!isset($tabFormat['_'.$loginLu])) {
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." non traitée pour cause de format indéfini pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
/** Avant de faire un continue, on initialise les variables précédentes obligatoires **/
/*$emailPre=$email;
$loginPre=$loginLu;
$envoiGroupePre=$envoiGroupe;
$conversionPdfPre=$conversionPdf;
$conversionCsvPre=$conversionCsv;*/
continue;
}
$conversionPdf=$conversionCsv=false;
if ($tabFormat['_'.$loginLu]=='txt2') $envoiGroupe=true;
elseif ($tabFormat['_'.$loginLu]=='csv') { $envoiGroupe=true; $conversionCsv=true; }
elseif ($tabFormat['_'.$loginLu]=='txt1') $envoiGroupe=false;
elseif ($tabFormat['_'.$loginLu]=='pdf1') { $envoiGroupe=true; $conversionPdf=true; }
else die(date('Y/m/d H:i:s')." - Erreur impossible : Format '".$tabFormat['_'.$loginLu]."' non géré pour $loginLu !");
// $conversionCsv=true;
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." à traiter pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
/*
if (count($tabLstEve['_'.$loginLu])>0) { // L'utilisateur filtre ses évènements
$even=$annonce['insEVE'];
switch ($even) {
case 'M0C': $even2=0130; break;
case 'M0F': $even2=0430; break;
case 'M0R': $even2=0145; break;
case 'M00': $even2=0780; break;
case 'MAS': $even2=0661; break;
case 'MAC': $even2=0661; break;
case 'MSA': $even2=0780; break;
case 'MPF': $even2=0999; break;
default: $even2=$even*1; break;
}
$evenTrouve=false;
if (in_array($even2, $tabLstEve['_'.$loginLu]))
$evenTrouve=true;
if (!$evenTrouve) {
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id'].' - Evènements hors périmètre client : '.$even.'/'.$even2."\n";
if (!$modeTest) {
$where="login='$loginLu' AND source='score' AND siren='".$annonce['siren']."'";
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('Ymd').'235959'), $where, true))
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$loginLu, mail=$email, siren=".$annonce['siren'].', rsoc='.$tabIdentite['Nom']." ($where) !\n";
}
continue; // Aucun evènement souhaité par l'utilisateur n'est présent dans cette annonce
} else echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." - Evenements '$even/$even2' OK pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
} else */echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." - Pas de filtre evenements pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
echo "Test $envoiGroupe vs $envoiGroupePre / Login $loginLu vs $loginPre / Email $email vs $emailPre\n";
//$saisie = trim(strtoupper(fgets(STDIN)));
if ( ($envoiGroupe||$envoiGroupePre) && // Envoi groupé demandé ET
( ($loginPre!=false && $loginLu!=$loginPre) || // Login différent OU
($emailPre!=false && $email!=$emailPre) ) // Email différent
) { /** Login souhaitant un seul email pour toutes les annonces **/
$emailEnvoi=$emailPre;
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
if ($conversionPdfPre) {
$html2pdf = new HTML2PDF('P','A4', 'fr');
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
$html2pdf->WriteHTML($messagePdf);
$content=$html2pdf->Output('annonces.pdf', true);
$fichierPdf="/var/www/html/factures/pdf/scores_$loginPre".'_'.date('Y-m-d').".pdf";
$fp=fopen($fichierPdf, 'w');
fwrite($fp, $content);
fclose($fp);
$tabAttached=array($fichierPdf);
} elseif ($conversionCsvPre) {
$tabAttached=array($fichierCsvPre);
} else
$tabAttached=array();
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance IndiScore", $message, '', $tabAttached)) {
if ($envoiGroupePre) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='score' AND siren='$siren'";
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL;
//if (!$modeTest) { // A
if ($envoiGroupePre) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='score' AND siren='$siren'";
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$loginPre, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
//} //A
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $emailPre.";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.\n";
} else {
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore - Echec Envoi !", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
}
//$saisie = trim(strtoupper(fgets(STDIN)));
// Remise à banc du message
$message=$strIdAnn='';
$tabSiren=array();
}
// GESTION DE L'ANNONCE COURANTE
$siren=$annonce['siren'];
$sirenAff=implode(' ', str_split($siren,3));
//$nicAff=$annonce['nicEven'];
$rs=substr($tabIdentite['Nom'],0,30).'...';
//$even=$annonce['insEVE'];
$login=$annonce['login'];
$idAnn=$tabIdentite['id'];
if ($envoiGroupe==false)
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
else {
if ($emailPre==false && $loginPre==false) {
// Première annonce du mail
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
$strIdAnn="$idAnn ";
$tabSiren=array($siren);
} else {
// Nième annonce du mail
$message.= "Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
$strIdAnn.="$idAnn ";
$tabSiren[]=$siren;
}
}
if (trim($annonce['ref'])<>'') {
$message.='Votre référence : '.trim($annonce['ref'])."\r\n";
$message."\r\n";
$rs=substr($tabIdentite['Nom'],0,30).'... ('.trim($annonce['ref']).')';
}
$message.='Source : Scores & Décisions en date du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['indiScoreDate']).'. ';
if (WDate::dateT('Y-m-d','Ymd',$annonce['dateUpdate'])*1>0) {
$message.='Dernier calcul le '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateUpdate'])."\r\n";
$dateDernierCalcul=WDate::dateT('Y-m-d','d/m/Y',$annonce['dateUpdate']);
} else {
$message.='Dernier calcul le '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
$dateDernierCalcul=WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert']);
}
if (WDate::dateT('Y-m-d','Ymd',$annonce['indiScoreDatePre'])*1>0)
$message.='Précédente cotation : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['indiScoreDatePre'])."\r\n";
/*if (WDate::dateT('Y-m-d','Ymd',$annonce['dateBilan'])*1>0)
$message.='Eléments financiers : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateBilan'])."\r\n";*/
$message.="\r\n";
$typeIndiScore=$tabTypInd['_'.$login]*1;
$clientId=$tabClient['_'.$login];
if ($typeIndiScore==20) {
$indiScore=$annonce['indiScore20']*1;
$indiScorePre=$annonce['indiScore20Pre']*1;
$maxIndiScore='20';
} else {
$indiScore=$annonce['indiScore']*1;
$indiScorePre=$annonce['indiScorePre']*1;
$maxIndiScore='100';
}
echo "########## $loginLu/$login ($clientId)\t$typeIndiScore\t$indiScore/$maxIndiScore => $indiScorePre/$maxIndiScore ##########".EOL;
$encours=round($annonce['encours']/1000);
$encoursPre=round($annonce['encoursPre']/1000);
if ($indiScore>$indiScorePre)
$message.="AUGMENTATION DE L'INDISCORE DE $indiScorePre À $indiScore/$maxIndiScore\r\n";
if ($indiScore<$indiScorePre)
$message.="DIMINUTION DE L'INDISCORE DE $indiScorePre À $indiScore/$maxIndiScore\r\n";
if ($encours>$encoursPre)
$message.="AUGMENTATION DE L'ENCOURS CONSEILLÉ DE $encoursPre À $encours K€\r\n";
elseif ($encours<$encoursPre)
$message.="DIMINUTION DE L'ENCOURS CONSEILLÉ DE $encoursPre À $encours K€\r\n";
else
$message.="ENCOURS CONSEILLÉ INCHANGÉ À $encours K€\r\n";
if ($annonce['scoreDir']>$annonce['scoreDirPre'] && $annonce['scoreDirPre']>0)
$message.="AUGMENTATION DE LA NOTE DE DIRIGEANCE DE L'ENTREPRISE\r\n";
elseif ($annonce['scoreDir']<$annonce['scoreDirPre'])
$message.="DIMINUTION DE LA NOTE DE DIRIGEANCE DE L'ENTREPRISE\r\n";
if ($annonce['scoreConf']>$annonce['scoreConfPre'] && $annonce['scoreConfPre']>0)
$message.="AUGMENTATION DE LA NOTE DE CONFORMITÉ DE L'ENTREPRISE\r\n";
elseif ($annonce['scoreConf']<$annonce['scoreConfPre'])
$message.="DIMINUTION DE LA NOTE DE CONFORMITÉ DE L'ENTREPRISE\r\n";
$strSrc='Statistique';
switch ($annonce['sourceModif']) {
case 'bodacc': $message.="SUITE A PUBLICATION BODACC\r\n";
$strSrc='Bodacc';
break;
case 'bilansasso':
case 'collecte': $message.="SUITE A PUBLICATION LEGALE\r\n";
$strSrc='Annonce';
break;
case 'bilans1':
case 'bilans2': $message.="SUITE A PUBLICATION BILAN\r\n";
$strSrc='Bilan';
break;
case 'liens': $message.="SUITE A MISE A JOUR RELATIVE AU GROUPE\r\n";
$strSrc='Groupe';
break;
case 'dirigeants': $message.="SUITE A MISE A JOUR DE L'ADMINISTRATION\r\n";
$strSrc='Dirigeants';
break;
case 'privileges': $message.="SUITE A MISE A JOUR DES INSCRIPTIONS DE PRIVILEGES\r\n";
$strSrc='Privilèges';
break;
case 'rncs': $message.="SUITE A UNE MISE A JOUR AU RNCS\r\n";
$strSrc='RNCS';
break;
case 'insee': $message.="SUITE A UNE MISE A JOUR AU REPERTOIRE SIRENE\r\n";
$strSrc='Identité';
break;
case 'ancien': $message.="SUITE A DES MODIFICATIONS IDENTITAIRES\r\n";
$strSrc='Identité';
break;
case 'privileges2': $message.="SUITE A MISE A JOUR DES INSCRIPTIONS DE PRIVILEGES AU COURS DES 24 DERNIERS MOIS\r\n";
$strSrc='Privilèges24';
break;
case 'impayes': $message.="SUITE A MISE A JOUR DES INFORMATIONS DE PAIEMENTS AU COURS DES 12 DERNIERS MOIS\r\n";
$strSrc='Paiements';
break;
case 'defaut': $message.="SUITE A DES INFORMATIONS TERRAIN RECENTES\r\n";
$strSrc='Terrain';
break;
case 'regulier':
if ($indiScore>=$indiScorePre && $encours>=$encoursPre)
$message.="SUITE A DES INFORMATIONS FAVORABLES DE NOS SOURCES PRIVEES\r\n";
else
$message.="SUITE A DES INFORMATIONS RECENTES DE NOS SOURCES PRIVEES\r\n";
$strSrc='Sources';
break;
default:
//ajout
if ($annonce['noteStruct']>$annonce['noteStructPre'] && $annonce['noteStructPre']>0)
$message.="SUITE À LA PROGRESSION DE LA NOTE STATISTIQUE DE L'ENTREPRISE\r\n";
elseif ($annonce['noteStruct']<$annonce['noteStructPre'])
$message.="SUITE À LA REGRESSION DE LA NOTE STATISTIQUE DE L'ENTREPRISE\r\n";
else
$message.="SUITE A DES MODIFICATIONS IDENTITAIRES\r\n";//SUITE A UNE INVESTIGATION S&D\r\n";
break;
/** @todo
INFORMATION RECENTE DE NOS SOURCES PRIVEES
FIN DE VALIDITE DES INFORMATIONS ISSUES DES INVESTIGATIONS S&D
Informations de paiements
Modification survenue sur le capital
Modification de la forme juridique
Modification de l'activité
Publication d'une annonce de procédure collective
Publication d'une annonce de vente
Publication d'une annonce de mise en location gérance.
Arrêt de la cotation ???
Renouvellement du suivi indiscore ?
Changement de profil
**/
}
if ($indiScore>$indiScorePre && $encours<$encoursPre) // AUGMENTATION DE L'INDISCORE et DIMINUTION DE L'ENCOURS
$message.="ATTENTION : Une amélioration de l'IndiScore n'est pas mathématiquement lié à une augmentation de l'encours !\r\n";
elseif ($indiScore<$indiScorePre && $encours>$encoursPre) // DIMINUTION DE L'INDISCORE et AUGMENTATION DE L'ENCOURS
//$message.="AUGMENTATION DE L'ENCOURS CONSEILLÉ DE $encoursPre À $encours K€\r\n";
$message.="ATTENTION : L'amélioration de l'encours (financier) est à surveiller étant donné la dégradation de l'IndiScore !\r\n";
$message.="\r\n";
//$message.="Siret du siège : $sirenAff ". $tabIdentite['Nic']."\r\n";
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
if ($annonce['actif']==1) $strActif='Oui';
else $strActif='Non';
$message.="Etablissement actif : $strActif\r\n";
if ($annonce['procol']=='P') {
$message.="Situation juridique : En procédure collective\r\n";
$strProcol='P';
} else
$strProcol='';
$message.="\r\n";
if ($tabLienEx["_$login"]==1) {
if (WS_VERSION==2)
$url="http://extranet.scores-decisions.com/evaluation/indiscore/siret/$siren";
else
$url="http://extranet.scores-decisions.com/?page=indiscore&action=logon&login=$login&siret=$siren&hach=".$tabHash["_$login"];
$message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'évènement sur le site de Scores & Décisions :\r\n<div style=\"font-size: 6pt\"><a href=\"$url\">$url</a></div>\r\n";//d6c3f28eda29a2072b36872476a1d37a
}
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
if ($conversionCsv) {
$mel=substr(md5(preg_replace('/[^a-z0-9]/i','',$annonce['email'])),0,8);
$fichierCsv='/var/www/html/factures/pdf/scores_'.$login.'_'.$mel.'_'.DATE_HEURE_SCRIPT.'.csv';
if (!file_exists($fichierCsv)) {
$fp=fopen($fichierCsv, 'a');
fwrite($fp, "Siren;Référence;IndiScore;Encours Demandé;Encours Conseillé;Date Indiscore;Date Bilan;IndiScore Précédent;Encours Conseillé Précédent;Date IndiScore Précédent;Date Dernier Calcul;Source Modification;Actif;Procédure;Raison Sociale;CP;Ville;Capital;Forme Juridique;NAF\r\n");//; Date création Entreprise Date création Établissement Date Immatriculation CJ Libellé catégorie juridique Naf Entreprise Libellé Naf Entreprise Effectif entreprise Insee Date clôture Bilan Durée Bilan FJ-CA net france FK-CA net export FL-CA net total HN-Bénéfice ou Perte GV-Résultat financier GG-Résultat exploitation VA-Clients douteux litigieux Devise YP-Effectif
fclose($fp);
}
$fp=fopen($fichierCsv, 'a');
// Ecriture de la ligne CSV
$encoursDem='-';
fwrite($fp, "$siren;".$annonce['ref'].";$indiScore;$encoursDem;$encours;".WDate::dateT('Y-m-d','d/m/Y',$annonce['indiScoreDate']).
";".WDate::dateT('Y-m-d','d/m/Y',$annonce['dateBilan']).";$indiScorePre;$encoursPre;".
WDate::dateT('Y-m-d','d/m/Y',$annonce['indiScoreDatePre']).";$dateDernierCalcul;$strSrc;$strActif;$strProcol;".$tabIdentite['Nom'].
";".$tabIdentite['CP'].";".$tabIdentite['Ville'].";".trim($tabIdentite['Capital'].' '.$tabIdentite['CapitalDev']).
";".$tabIdentite['FJ'].";".$tabIdentite['NafEnt']."\r\n");
fclose($fp);
}
if ($envoiGroupe==false) {
/** Profil souhaitant un email par annonce **/
$emailEnvoi=$email;
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
//$emailEnvoi='lenaoury@gmail.com';
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance IndiScore $sirenAff $nicAff : $rs", $message)) {
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$email' AND source='score' AND siren='$siren'";
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL;
//if (!$modeTest) { // B
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$email' AND source='score' AND siren='$siren'";
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre/$email, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
//} // B
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore $sirenAff $nicAff : $rs", $messageInfo);
echo date('Y/m/d H:i:s')." - L'annonce $idAnn a été envoyé à $email.\n";
} else {
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email !!!";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore $sirenAff $nicAff : $rs - Echec Envoi !", $messageInfo);
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email.\n";
}
//$saisie = trim(strtoupper(fgets(STDIN)));
}
$emailPre=$email;
$loginPre=$login;
$envoiGroupePre=$envoiGroupe;
$conversionPdfPre=$conversionPdf;
$conversionCsvPre=$conversionCsv;
$fichierCsvPre=$fichierCsv;
}
/** Envoi du dernier email pour les envois groupés **/
if (($envoiGroupe||$envoiGroupePre) && $emailPre<>false && $loginPre<>false) {
$emailEnvoi=$emailPre;
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
if ($conversionPdf) {
$html2pdf = new HTML2PDF('P','A4', 'fr');
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
$html2pdf->WriteHTML($messagePdf);
$content=$html2pdf->Output('annonces.pdf', true);
$fichierPdf="/var/www/html/factures/pdf/scores_$login".'_'.date('Y-m-d').".pdf";
$fp=fopen($fichierPdf, 'w');
fwrite($fp, $content);
fclose($fp);
$tabAttached=array($fichierPdf);
} elseif ($conversionCsv) {
$tabAttached=array($fichierCsv);
} else $tabAttached=array();
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance IndiScore", $message, '', $tabAttached)) {
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' /*AND email='$emailPre'*/ AND source='score' AND siren='$siren'";
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL;
//if (!$modeTest) { // C
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='score' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' /*AND email='$emailPre'*/ AND source='score' AND siren='$siren'";
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
//} // C
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - Les annonces $strIdAnn ont été envoyées à $emailPre.";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces $strIdAnn ont été envoyées à $emailPre.\n";
} else {
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance IndiScore - Echec Envoi !", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces $strIdAnn n'ont pas été envoyées à $emailPre.\n";
}
//$saisie = trim(strtoupper(fgets(STDIN)));
}
echo date ('Y/m/d - H:i:s')." - Fin du traitement d'envoi des surveillances IndiScore.\n";
die();
?>