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

645 lines
28 KiB
PHP

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
define('DATE_HEURE_SCRIPT', date('Ymd_His'));
/**
* @todo
* 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 3.
* 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/
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=$ignoreInfosRS=false;
$mailAnomalie=false;
$tableSurveillance='surveillances_site';
//$modeTest=true;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Envoi des annonces de surveillance Bodacc par email (site et WS uniquement).
Options :
-e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution et envoi des mails à lenaoury@gmail.com...)
-m Envoyer un mail si anomalie lors de l'exécution
-l Ne pas mettre à jour les informations des listes de surveillance (RS, CP, Ville)
-r:XX Faire une rétroactivté de XX jours
";
$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;
$strEmailsTest='lenaoury@gmail.com;fzicaro@scores-decisions.com';
//$tableSurveillance='surveillances_site_old';
break;
case 'e':
$ignoreDateDerExec=true;
break;
case 'l':
$ignoreInfosRS=true;
break;
case 'r':
$retroActivite=substr($argv[$i],3,strlen($argv[$i])-3);
break;
case 'm':
$mailAnomalie=true;
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
}
}
}
$iDb=new WDB('jo');
$iBodacc=new MBodacc();
$iInsee=new MInsee();
$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', "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=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'];
$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();
echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances BODACC.\n";
$fields='d.id, d.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, d.Bodacc_Num, d.Bodacc_Date_Parution, d.Num_Annonce, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.corrNum_Annonce, d.corrBodacc_Date_Parution, d.corrPage, d.corrNumParution, b.Tribunal_Dept, b.Tribunal_Code, d.RC, d.raisonSociale, codePostal, d.ville, codePostalSiege, villeSiege, activite, typeEven, dateEffet, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, d.dateInsert, b.annonce';
$where ="1 AND s.siren>1000 AND s.siren = d.siren AND d.dateInsert >= s.dateAjout AND (d.dateInsert>=s.dateDerEnvoi OR d.dateUpdate>=s.dateDerEnvoi) AND d.id=b.id AND s.dateSuppr='0000-00-00'";
//$where.=" AND d.dateInsert < '2009-03-19 00:00:00' ";
//501780845 312701725
$where.=' ORDER BY s.login ASC, s.email ASC';
$tables="bodacc_detail d, bodacc b, $tableSurveillance s";
//echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
//$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
$query ="
( /** Requete SQL pour la collecte **/
SELECT a.id, a.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, CONCAT(a.source,'-',a.parutionIdJal) as source, a.parutionNum as Bodacc_Num, a.dateSource as Bodacc_Date_Parution, 0 as Num_Annonce, '' as Rubrique_Bodacc, '' as Rubrique, 'Insertion' as typeAnnonce,
'' as corrNum_Annonce, '' as corrBodacc_Date_Parution, '' as corrPage, '' as corrNumParution,
0 as Tribunal_Dept, a.tribunal as Tribunal_Code, '' as RC, a.raisonSociale, a.codePostal, a.ville, a.codePostal as codePostalSiege, a.ville as villeSiege,
'' as activite, concat(a.typeEven,';',strEven) AS typeEven, a.dateEffetFinP as dateEffet, '' as dateDebutActivite, '' as dateCessationActivite, a.dateCessationPaiement, a.dateJugement,
a.dateInsert, a.annonce, adresse, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, montant, actionsNb, complement, nouvActivite, nouvDir, nouvAdr, nouvFJ
FROM annonces a, surveillances_site s
WHERE s.source='annonces' AND s.siren>1000 AND s.siren = a.siren AND a.dateInsert >= s.dateAjout AND a.dateInsert>=s.dateDerEnvoi AND DATEDIFF(NOW(), dateJugement)<=60
ORDER BY s.login ASC, s.email ASC
) UNION (
/** Requete SQL pour le Bodacc **/
SELECT d.id, d.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, CONCAT('BOD-',SUBSTRING(d.Rubrique_Bodacc,1,1)) as source, d.Bodacc_Num, d.Bodacc_Date_Parution, d.Num_Annonce, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.corrNum_Annonce, d.corrBodacc_Date_Parution, d.corrPage, d.corrNumParution, b.Tribunal_Dept, b.Tribunal_Code, d.RC, d.raisonSociale, codePostal, d.ville, codePostalSiege, villeSiege, activite, typeEven, dateEffet, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, d.dateInsert, b.annonce, '' as adresse, '' as inter1type, '' as inter1id, '' as inter1nom, '' as inter2type, '' as inter2id, '' as inter2nom, '' as inter3type, '' as inter3id, '' as inter3nom, '' as montant, '' as actionsNb, '' as complement, '' as nouvActivite, '' as nouvDir, '' as nouvAdr, '' as nouvFJ
FROM bodacc_detail d, bodacc b, surveillances_site s
WHERE s.source='annonces' AND s.siren>1000 AND s.siren = d.siren AND d.dateInsert >= s.dateAjout AND (d.dateInsert>=s.dateDerEnvoi OR d.dateUpdate>=s.dateDerEnvoi) AND d.id=b.id AND DATEDIFF(NOW(), d.Bodacc_Date_Parution)<=60
ORDER BY s.login ASC, s.email ASC
) ORDER BY login ASC, email ASC";
echo date ('Y/m/d - H:i:s')." - $query;".EOL;
$res=$iDb->query($query);
$nbAnnonces=mysql_num_rows($res);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances à traiter...".EOL;
$emailPre=$loginPre=false;
//die();
require_once('/var/www/html/tests/pdf/html2pdf.class.php');
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
//print_r($annonce);
//die();
$fp2=fopen("/var/www/html/factures/pdf/surv_site_".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'].' - '.$annonce['raisonSociale'].")\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 !");
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']. " à traiter pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
if (count($tabLstEve['_'.$loginLu])>0) { // L'utilisateur filtre ses évènements
/*if ($loginLu=='ylenaour') {
print_r($tabLstEve['_'.$loginLu]);
die();
}*/
$tabEven=explode(';',$annonce['typeEven']);
$tabEven=array_unique($tabEven);
$evenTrouve=false;
foreach ($tabEven as $even) {
if (in_array($even, $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 : '.implode(';',$tabEven)."\n";
if (!$modeTest) {
$where="login='$loginLu' /*AND email='$emailPre'*/ AND source='annonces' 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='.$annonce['raisonSociale']." ($where) !\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; // 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 OK pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
} else echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." - Pas de filtre evenements pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
echo "Test $envoiGroupe vs $envoiGroupePre / Login $loginLu vs $loginPre / Email $email vs $emailPre\n";
if (WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert'])*1<=date('Ymd', mktime(0, 0, 0, date("m") , date("d")-5, date("Y")))*1
&& $mailAnomalie) {
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales ATTENTION", 'Annonce n°'.$annonce['id']." - Annonce ".$annonce['source']." entrée en base il y a plus de 5 jours pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")");
}
//$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=$strEmailsTest;
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/annonces_$loginPre".'_'.date('Y-m-d').".pdf";
$fp=fopen($fichierPdf, 'w');
fwrite($fp, $content);
fclose($fp);
$tabAttached=array($fichierPdf);
} elseif ($conversionCsvPre) {
$tabAttached=array($fichierCsv);
} else
$tabAttached=array();
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message, '', $tabAttached)) {
if (!$modeTest/* || ($arretDemande && $loginPre<>'dgfipifu8')*/) {
if ($envoiGroupePre)
$where="login='$loginPre' /*AND email='$emailPre'*/ AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
else
$where="login='$loginPre' /*AND email='$emailPre'*/ AND source='annonces' AND siren='$siren'";
/*if ($arretDemande)
die($where);*/
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='.$annonce['raisonSociale']." ($where) !\n";
}
$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 Annonces Legales", $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 Annonces Legales - Echec Envoi !", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
}
// Remise à blanc du message
$message=$strIdAnn='';
$tabSiren=array();
}
// GESTION DE L'ANNONCE COURANTE
$siren=$annonce['siren'];
$sirenAff=implode(' ', str_split($siren,3));
$rs=substr($annonce['raisonSociale'],0,30).'...';
$tabEven=explode(';',$annonce['typeEven']);
$login=$annonce['login'];
$idAnn=$annonce['id'];
if ($envoiGroupe==false)
$message='';
else {
if ($emailPre==false && $loginPre==false) {
// Première annonce du mail
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$annonce['raisonSociale']."\r\n";
$strIdAnn="$idAnn ";
$tabSiren=array($siren);
} else {
// Nième annonce du mail
$message.= "Siren : $sirenAff\r\n".'Raison Sociale : '.$annonce['raisonSociale']."\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($annonce['raisonSociale'],0,30).'... ('.trim($annonce['ref']).')';
}
$collecte=false;/*if ($source[0] == 'B'){
if ($ann['BodaccNum']==0)
print '<img src="./img/logo_jo.png"/>&nbsp;&nbsp;Source BODACC '.substr($ann['BodaccCode'],-1).' du '.WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']);
else
print '<img src="./img/logo_jo.png"/>&nbsp;&nbsp;&nbsp;Source BODACC n&deg;'.$ann['BodaccNum'].'&nbsp;'.substr($ann['BodaccCode'],-1).' du '.WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']).'. D&eacute;partement n&deg;'.$ann['Departement'].'. <a href="/?page=competences&siret='.$siret.'&type=tri">'.$ann['Tribunal'].'</a>';
}elseif ($source[0] == 'G' || $source[0] == 'T'){
print '<img src="./img/logo_greffe.png"/>&nbsp;&nbsp;Source Greffe du Tribunal';
}elseif ($source[0] == 'P'){
print '<img src="./img/logo_inpi.png"/>&nbsp;&nbsp;Source Registre National du Commerce';
}else{
print '<img src="./img/logo_jal.png"/>&nbsp;&nbsp;Source Journal Annonces L&eacute;gales';
}*/
if (substr($annonce['source'],0,1)=='B') {
$message.='Source : BODACC n°'.$annonce['Bodacc_Num'].' '.substr($annonce['Rubrique_Bodacc'],0,1).' du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
} elseif (substr($annonce['source'],0,1)=='G') {
$message.='Source : Greffe du '.$iBodacc->getTribunalNom($annonce['Tribunal_Code']).' au '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
$collecte=true;
} elseif (substr($annonce['source'],0,1)=='P') {
$message.='Source : Registre National du Commerce et des Sociétés au '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
$collecte=true;
} else {
$message.='Source : Collecte Scores & Décisions en date du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
$collecte=true;
}
if ($collecte && trim($annonce['annonce'])=='') {
$tabCollecte=$iInsee->getProColPart($siren);
foreach ($tabCollecte as $annCollecte) {
$idAnn2=('0.'.$idAnn)*1.0;
if ($annCollecte['id']==$idAnn2) {
//die(print_r($collecte));
$annonce['annonce']=str_replace(' RCS Tribunal inconnu.',' RCS.', $annCollecte['texteAnnonce']);
//print_r($collecte);
//die(print_r($annonce));
break;
}
}
}
$message.='Entrée en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
if ($annonce['Tribunal_Dept']>0) $message.='Département n°'.$annonce['Tribunal_Dept'].'. ';
if ($annonce['Tribunal_Code']<>'INCONU' &&
substr($annonce['source'],0,2)<>'GC') $message.=$iBodacc->getTribunalNom($annonce['Tribunal_Code']).'. ';
$message.='Entrée en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
$message."\r\n";
foreach ($tabEven as $even)
$message.=strtoupper($iBodacc->getEvenement($even))."\r\n";
$message.="\r\n";
$message.=$annonce['annonce']."\r\n";
if ($tabLienEx["_$login"]==1) {
if ($collecte)
$url="http://extranet.scores-decisions.com/?page=annonces&action=logon&login=$login&siret=$siren&idan=$idAnn2&vue=abod&hach=".$tabHash["_$login"];
else
$url="http://extranet.scores-decisions.com/?page=annonces&action=logon&login=$login&siret=$siren&idan=$idAnn&vue=bodacc&hach=".$tabHash["_$login"];
$message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'annonce 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) {
$fichierCsv="/var/www/html/factures/pdf/annonces_$login".'_'.DATE_HEURE_SCRIPT.".csv";
if (!file_exists($fichierCsv)) {
$fp=fopen($fichierCsv, 'a');
fwrite($fp, "Siren;Id Annonce;Référence;Parution;Bodacc;Date parution;Numéro Annonce;Type Annonce;Tribunal;Numéro RCS;Raison sociale;Chapitre;Evènement(s);Texte Annonce\r\n");
fclose($fp);
}
$fp=fopen($fichierCsv, 'a');
$cor=$txtEven='';
// Annonce corrective
if ($annonce['typeAnnonce']<>'Insertion')
$cor=' - Annonce n°'.$annonce['corrNum_Annonce'].' '.$annonce['corrNumParution'].', page '.
$annonce['corrPage'].', du '.WDate::dateT('Ymd','d/M/Y',$annonce['corrBodacc_Date_Parution']);
switch($annonce['typeAnnonce']) {
case 'Insertion': $cor='Insertion'.$cor; break;
case 'Additif': $cor='Additif'.$cor; break;
case 'Rectificatif': $cor='Rectificatif'.$cor; break;
case 'Suppression': $cor='Suppression'.$cor; break;
default: break;
}
// Libellé tribunal
$libTri=$iBodacc->getTribunalNom($annonce['Tribunal_Code']);
// Liste des évènements
$even=explode(';',$annonce['typeEven']);
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven)." ($codeEven), ";
$catEven=$iBodacc->getChapitreEvenement($codeEven);
}
else
$txtEven.='';
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
// Date de jugement ou d'effet
$dateEve1=$annonce['dateJugement']*1;
$dateEve2=$annonce['dateCessationActivite']*1;
$dateEve3=$annonce['dateEffet']*1;
$dateEve4=$annonce['dateDebutActivite']*1;
if ($dateEve1>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve1);
elseif ($dateEve2>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve2);
elseif ($dateEve3>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve3);
elseif ($dateEve4>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve4);
else $dateEve='';
// Ecriture de la ligne CSV
fwrite($fp, "$siren;$idAnn;".trim($annonce['ref']).';'.$annonce['Bodacc_Num'].';'.substr($annonce['Rubrique_Bodacc'],0,1).';'.
WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).';'.$annonce['Num_Annonce'].";$cor;$libTri;".$annonce['Num_Annonce'].';'.
$annonce['raisonSociale'].';'.$annonce['Rubrique'].";$txtEven;$dateEve;".preg_replace('/ +/',' ', strtr($annonce['annonce'],array("\r"=>'', "\n"=>'', ";"=>' ', ","=>' ', '"'=>"'")))."\r\n");
fclose($fp);
}
if ($envoiGroupe==false) {
/** Profil souhaitant un email par annonce **/
$emailEnvoi=$email;
if ($modeTest) $emailEnvoi=$strEmailsTest;
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance $sirenAff : $rs", $message)) {
if (!$modeTest) {
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$email' AND source='annonces' 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='.$annonce['raisonSociale']." ($where) !\n";
}
$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 $sirenAff : $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 $sirenAff : $rs - Echec Envoi !", $messageInfo);
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email.\n";
}
}
$emailPre=$email;
$loginPre=$login;
$envoiGroupePre=$envoiGroupe;
$conversionPdfPre=$conversionPdf;
$conversionCsvPre=$conversionCsv;
}
/** Envoi du dernier email pour les envois groupés **/
if (($envoiGroupe||$envoiGroupePre) && $emailPre<>false && $loginPre<>false) {
$emailEnvoi=$emailPre;
if ($modeTest) $emailEnvoi=$strEmailsTest;
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/annonces_$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 Annonces Legales", $message, '', $tabAttached)) {
if (!$modeTest) {
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' /*AND email='$emailPre'*/ AND source='annonces' 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='.$annonce['raisonSociale']." ($where) !\n";
}
$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 Annonces Legales", $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 Annonces Legales - Echec Envoi !", $messageInfo, '', $tabAttached);
echo date('Y/m/d H:i:s')." - Les annonces $strIdAnn n'ont pas été envoyées à $emailPre.\n";
}
}
echo date ('Y/m/d - H:i:s')." - Fin du traitement d'envoi des surveillances BODACC.\n";
if (!$ignoreInfosRS) {
echo date ('Y/m/d - H:i:s')." - Mises à jour des Raisons Sociales, CP & Villes pour l'affichage des surveillances...".EOL;
/** Mise à jour des Raisons Sociales, CP & Villes pour les surveillances **/
$tabTmp=$iDb->select('surveillances_site', 'source, login, siren, nic, ref, dateAjout, rs, cp, ville, dateDerEnvoi', "dateSuppr=0 AND siren>0 AND rs='' AND login IN (
'ricard0',
'ricard1',
'ricard2',
'pernodadm',
'pernod1',
'aelb1',
'aelb2',
'aelb3',
'aelb4',
'aelb5',
'aelb6',
'adebbagh',
'dsfam1' ,
'dsfam2' ,
'dsfam3' ,
'dsfam4' ,
'dsfam5' ,
'dsfam6' ,
'dsfam7' ,
'dsfam8' ,
'dsfam9' ,
'dsfam10',
'dsfam11',
'dsfam12',
'dsfam13',
'dsfam14',
'dsfam15',
'dsfam16',
'dsfam17',
'dsfam18',
'dsfam19',
'dsfam20',
'dsfam21',
'dsfam22',
'dsfam23',
'dsfam24',
'dsfam25',
'dsfam26',
'dsfam27',
'dsfam28',
'dsfam29',
'dsfam30',
'dsfam31',
'dsfam32',
'dsfam33',
'dsfam34',
'dsfam35',
'dsfam36',
'dsfam37',
'dsfam38',
'dsfam39',
'dsfam40',
'dua01',
'dua02',
'afnic1' ,
'dgfippc1',
'dgfippc2',
'pointpadm' ,
'pointp1',
'pointp2',
'pointp3',
'pointp4',
'ricard3',
'ricard4',
'ppbmce1',
'PPDMO1' ,
'PPDOCK1',
'PPTROUILL1',
'PPBMRA1',
'PPCOMASUD1',
'PPCOMASUD3',
'PPCOMASUD4',
'PPDSC1' ,
'PPASTURIE1',
'PPDMBP1',
'PPDMTP1',
'PPDAI1' ,
'PPMBM1' ,
'PPIDF1' ,
'PPSONEN1',
'mpdgfip1',
'mpdgfip2',
'mpdgfip3',
'mpdgfip4',
'mpdgfip5',
'mpdgfip6',
'mpdgfip7',
'mpdgfip8',
'mpdgfip9',
'mpdgfip10',
'pernod2',
'pernod7',
'pernod8',
'pernod9',
'pernod10',
'pernod11',
'pernod12',
'pernod13',
'pernod14',
'pernod15',
'pernod16',
'pernod17',
'dsfam41',
'dsfam42',
'dsfam43',
'athlon1',
'athlon2',
'pernod23',
'pernod24',
'jchampeau',
'PPTROUILL3',
'PPTROUILL4',
'PPTROUILL5',
'PPTROUILL2',
'PPDOCK2',
'PPDOCK3',
'PPDOCK4',
'PPDSC2',
'PPDSC3',
'PPDSC4',
'PPDSC5',
'PPDSC6',
'PPDSC7',
'PPDSC8',
'PPDSC9',
'PPDSC10',
'pernod26',
'pernod27',
'pernod28',
'pernod29',
'PPCOMASUD5',
'PPDMBP2',
'PPDMBP3',
'PPDMBP4',
'PPDMBP5',
'PPDMBP6',
'PPDMBP7')
GROUP BY siren, nic ORDER BY login", false, MYSQL_ASSOC);
$nbTmp=count($tabTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbTmp surveillances SIREN à mettre à jour...".EOL;
foreach ($tabTmp as $i=>$tabSurv) {
$tabIdentite=$iInsee->getIdentiteLight($tabSurv['siren'], $tabSurv['nic']);
$rs=$tabIdentite['Nom'];
$cp=$tabIdentite['CP'];
$ville=$tabIdentite['Ville'];
$iDb->update('surveillances_site',array('rs' => $rs,
'cp' => $cp,
'ville' => $ville),
"dateSuppr=0 AND siren=".$tabSurv['siren']." AND nic=".$tabSurv['nic'], false);
echo date ('Y/m/d - H:i:s')." - $i/$nbTmp: ".$tabSurv['login'].' '.$tabSurv['siren'].' '.$tabSurv['nic']." : $rs, $cp, $ville".EOL;
//usleep(100);
}
echo date ('Y/m/d - H:i:s')." - $i/$nbTmp surveillances SIREN mises à jour.".EOL;
die();
}
die();
?>