518 lines
26 KiB
PHP
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 n°$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 n°$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 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)));
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin du traitement d'envoi des surveillances IndiScore.\n";
|
|
die();
|
|
?>
|