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

214 lines
9.8 KiB
PHP

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
/**
* @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=false;
$ignoreDateDerExec=$retroActivite=false;
$tableSurveillance='surveillances_site';
$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...)
-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;
//$tableSurveillance='surveillances_site_old';
break;
case 'e':
$ignoreDateDerExec=true;
break;
case 'r':
$retroActivite=substr($argv[$i],3,strlen($argv[$i])-3);
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, u.login, u.email, u.formatMail', "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=array();
while ($uti=$iDb2->fetch(MYSQL_ASSOC)) {
$tabFormat['_'.$uti['login']]=$uti['formatMail'];
}
sort($tabFormat);
$iBodacc=new MBodacc();
echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances BODACC.\n";
$fields='d.id, d.siren, s.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, b.Tribunal_Dept, b.Tribunal_Code, 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 ORDER BY s.email ASC';
//$where.=" AND s.login='reco10' ";
$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);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances à traiter...".EOL;
$emailPre=false;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$email=$annonce['email'];
$loginLu=$annonce['login'];
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']. " à traiter pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
if ($envoiGroupe && $emailPre!=false && $email!=$emailPre) {
/** Profil souhaitant un seul email pour toutes les annonces **/
$emailEnvoi=$emailPre;
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
//$emailEnvoi='lenaoury@gmail.com';
if(sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message)) {
if (!$modeTest) {
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$emailPre' AND siren='$siren'";
$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true);
}
$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 $sirenAff : $rs", $messageInfo);
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 $sirenAff : $rs", $messageInfo);
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
}
// Remise à banc du message
$message=$strIdAnn='';
$tabSiren=array();
}
$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) {
// 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']).')';
}
$message.='BODACC n°'.$annonce['Bodacc_Num'].' '.substr($annonce['Rubrique_Bodacc'],0,1).' du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
$message.='Département n°'.$annonce['Tribunal_Dept'].'. '.$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";
$message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'annonce sur le site de Scores & Décisions :\r\nhttp://extranet.scores-decisions.com/?page=annonces&action=logon&login=dgfip&siret=$siren&id=$idAnn&vue=bodacc&hach=d6c3f28eda29a2072b36872476a1d37a\r\n";
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
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 $sirenAff : $rs", $message)) {
if (!$modeTest) {
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$email' AND siren='$siren'";
$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true);
}
$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 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 $sirenAff : $rs", $messageInfo);
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email.\n";
}
}
$emailPre=$email;
}
/** Envoi du dernier email pour les envois groupés **/
if ($envoiGroupe && $emailPre<>false) {
$emailEnvoi=$emailPre;
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
//$emailEnvoi='lenaoury@gmail.com';
if(sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message)) {
if (!$modeTest) {
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND siren IN (".implode(',',$tabSiren).")";
else $where="login='$login' AND email='$emailPre' AND siren='$siren'";
$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true);
}
$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 $sirenAff : $rs", $messageInfo);
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 $sirenAff : $rs", $messageInfo);
echo date('Y/m/d H:i:s')." - Les annonces n°$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";
die();
?>