557 lines
29 KiB
PHP
557 lines
29 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);
|
|
|
|
// s.dateSuppr
|
|
|
|
$query ="
|
|
( /** Requete SQL pour la collecte **/
|
|
SELECT a.id, a.siren, LOWER(TRIM(s.login)) AS login, LOWER(TRIM(s.email)) AS 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*1 as dateEffet, 0 as dateDebutActivite, 0 as dateCessationActivite, a.dateCessationPaiement, a.dateJugement*1 AS 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
|
|
AND a.dateSource>'2010-05-12 02:00:00' AND a.dateSuppr=0 AND s.dateSuppr=0
|
|
ORDER BY s.login ASC, s.email ASC
|
|
) UNION (
|
|
/** Requete SQL pour le Bodacc **/
|
|
SELECT d.id, d.siren, LOWER(TRIM(s.login)) AS login, LOWER(TRIM(s.email)) AS 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*1 AS dateEffet, dateDebutActivite*1 AS dateDebutActivite, dateCessationActivite*1 AS dateCessationActivite, dateCessationPaiement, dateJugement*1 AS 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
|
|
AND d.Bodacc_Date_Parution>'2010-05-11' AND s.dateSuppr=0
|
|
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;
|
|
$messageRecap="Il y a $nbAnnonces annonces en surveillance à traiter.\r\n";
|
|
$emailPre=$loginPre=false;
|
|
$nbMailOk=$nbMailKo=$nbMailEven=$nbMailDelai=0;
|
|
$tabAdresseKo=array();
|
|
|
|
//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";
|
|
$nbMailEven++;
|
|
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'].")");
|
|
$nbMailDelai++;
|
|
}
|
|
|
|
//$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>\n<page>", strtr($message, array("\r\n"=>'<br/>','< '=>'',' >'=>''))).'</page>';
|
|
$messagePdf=strtr($messagePdf, array('<<'=>'', '>>'=>''));
|
|
$messagePdf=str_replace('<page><br/><br/></page>','', $messagePdf);
|
|
$fichierTxt="/var/www/html/factures/pdf/annonces_$loginPre".'_'.date('Y-m-d').".txt";
|
|
echo date('Y/m/d H:i:s')." - Fichier debug : '$fichierTxt'".EOL;
|
|
$fp=fopen($fichierTxt, 'w');
|
|
fwrite($fp, $messagePdf);
|
|
fclose($fp);
|
|
$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($fichierCsvPre);
|
|
} else
|
|
$tabAttached=array();
|
|
|
|
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message, '', $tabAttached)) {
|
|
$nbMailOk++;
|
|
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 (loginpre=$loginPre).";
|
|
@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 {
|
|
$nbMailKo++;
|
|
$tabAdresseKo[]=$emailEnvoi;
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre (loginpre=$loginPre) !!!";
|
|
@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"/> 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"/> Source BODACC n°'.$ann['BodaccNum'].' '.substr($ann['BodaccCode'],-1).' du '.WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']).'. Département n°'.$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"/> Source Greffe du Tribunal';
|
|
}elseif ($source[0] == 'P'){
|
|
print '<img src="./img/logo_inpi.png"/> Source Registre National du Commerce';
|
|
}else{
|
|
print '<img src="./img/logo_jal.png"/> Source Journal Annonces Lé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["_$loginLu"]==1) {
|
|
if ($collecte) $numAnn=$idAnn2; else $numAnn=$idAnn;
|
|
if (WS_VERSION==2)
|
|
$url="http://extranet.scores-decisions.com/juridique/annonces/siret/$siren/idAnn/$numAnn/vue/bodacc";
|
|
else
|
|
$url="http://extranet.scores-decisions.com/?page=annonces&action=logon&login=$loginLu&siret=$siren&idan=$numAnn&vue=abod&hach=".$tabHash["_$loginLu"];
|
|
|
|
$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) {
|
|
$mel=substr(md5(preg_replace('/[^a-z0-9]/i','',$annonce['email'])),0,8);
|
|
$fichierCsv='/var/www/html/factures/pdf/annonces_'.$loginLu.'_'.$mel.'_'.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);Date évènement;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'];
|
|
$dateEve2=$annonce['dateCessationActivite'];
|
|
$dateEve3=$annonce['dateEffet'];
|
|
$dateEve4=$annonce['dateDebutActivite'];
|
|
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)) {
|
|
$nbMailOk++;
|
|
if (!$modeTest) {
|
|
if ($envoiGroupe) $where="login='$loginLu' AND email='$emailPre' AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
|
|
else $where="login='$loginLu' 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=$loginLu, 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 (login=$login).";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance $sirenAff : $rs", $messageInfo);
|
|
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.\n";
|
|
} else {
|
|
$nbMailKo++;
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email (login=$login) !!!";
|
|
@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=$loginLu;
|
|
$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=$strEmailsTest;
|
|
|
|
if ($conversionPdf) {
|
|
$html2pdf = new HTML2PDF('P','A4', 'fr');
|
|
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>','< '=>'',' >'=>''))).'</page>';
|
|
$messagePdf=strtr($messagePdf, array('<<'=>'', '>>'=>''));
|
|
$messagePdf=str_replace('<page><br/><br/></page>','', $messagePdf);
|
|
@$html2pdf->WriteHTML($messagePdf);
|
|
$content=@$html2pdf->Output('annonces.pdf', true);
|
|
$fichierPdf="/var/www/html/factures/pdf/annonces_$loginLu".'_'.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)) {
|
|
$nbMailOk++;
|
|
if (!$modeTest) {
|
|
if ($envoiGroupe) $where="login='$loginLu' /*AND email='$emailPre'*/ AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
|
|
else $where="login='$loginLu' /*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=$loginLu, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$annonce['raisonSociale']." ($where) !\n";
|
|
}
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre (loginpre=$loginPre).";
|
|
@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 {
|
|
$nbMailKo++;
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyés à $emailPre (loginpre=$loginPre) !!!";
|
|
@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";
|
|
}
|
|
}
|
|
|
|
$messageRecap.="$nbMailEven annonce(s) ignorée(s) car hors périmètre.\r\n";
|
|
$messageRecap.="$nbMailOk mail(s) envoyé(s) avec succès et $nbMailKo mail(s) en erreur";
|
|
$tabAdresseKo=array_unique($tabAdresseKo);
|
|
if (count($tabAdresseKo)>0)
|
|
$messageRecap.=" dont : \r\n - ".implode("\r\n - ",$tabAdresseKo);
|
|
if ($nbMailDelai>0)
|
|
$messageRecap.="Attention : $nbMailDelai annonce(s) envoyée(s) avec + de 5 jours de retards.\r\n";
|
|
@sendMail('production@scores-decisions.com', 'support@scores-decisions.com', "Traitement des surveillances Annonces Legales", $messageRecap);
|
|
|
|
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 **/
|
|
$query ="UPDATE surveillances_site, etablissements_act
|
|
SET surveillances_site.rs=etablissements_act.raisonSociale,
|
|
surveillances_site.cp=etablissements_act.adr_cp,
|
|
surveillances_site.ville=etablissements_act.adr_ville
|
|
WHERE surveillances_site.rs='' AND surveillances_site.nic>0 AND surveillances_site.siren=etablissements_act.siren AND surveillances_site.nic=etablissements_act.nic";
|
|
echo date ('Y/m/d - H:i:s')." - $query;".EOL;
|
|
$res=$iDb->query($query);
|
|
|
|
/**/
|
|
$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')
|
|
*/
|
|
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();
|
|
?>
|