batch/1.1/old/majIMR.php

100 lines
3.9 KiB
PHP
Raw Normal View History

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [SIREN]
2013-06-19 08:24:49 +00:00
Mise <EFBFBD> disposition d'un dossier dans le flux IMR du lendemain via l'Extranet Infogreffe (license RNCS IMR).
Options :
2013-06-19 08:24:49 +00:00
-d Mode debug (Verbosit<EFBFBD> au maximum)
";
$iDb=new WDB();
$iRncs=new MRncs();
$argv=$_SERVER['argv'];
$tabSiren=array();
for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'd': $modeDebug=true; break;
/* case 's': $jourStock=substr($argv[$i],3,8); break;
case 'j': $loadInpiLocal=false; break;
case 'q': $loadActesDuJour=false; break;
case 'b': $loadBilans=false; break;
case 'i': $iReprise=substr($argv[$i],3); break;*/
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
}
} else $tabSiren[]=$argv[$i];
}
2013-06-19 08:24:49 +00:00
/** Si pas de Siren en param, recherche des IMR <EFBFBD> mettre <EFBFBD> jour en automatique
**/
if (count($tabSiren)==0) {
2013-06-19 08:24:49 +00:00
echo date ('Y/m/d - H:i:s') . " - Recherche des dossiers IMR PP <20> mettre <20> jour...".EOL;
$nbCJ1Maj=$iDb->select(
'rncs_entrep',
'siren, numGreffe, numRC2, raisonSociale, dateNaiss, lieuNaiss, sexe, cj, capitalMontant, capitalDevise, dateImma, flux, dateUpdate',
"cj<2000 AND actif=1 AND (dateNaiss=0 OR sexe='' OR dateImma=0) AND dateUpdate<dateUpdate<'2009-10-01 00:00:00'
AND siren NOT IN(SELECT siren FROM rncs_demandes) ORDER BY numRC2 ASC",
false, MYSQL_ASSOC, true);
2013-06-19 08:24:49 +00:00
echo date ('Y/m/d - H:i:s') . " - Il y a $nbCJ1Maj dossiers IMR PP <20> mettre <20> jour.".EOL;
$nbDem=0;
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$nbDem++;
2013-06-19 08:24:49 +00:00
/** On limite <EFBFBD> 1000 le nombre de demandes possibles car Infogreffe limite
pour l'instant <EFBFBD> 10 les demandes de MAJ **/
if ($nbDem>1000) break;
$tabSiren[]=$tabTmp['siren'];
$tabEntrep[$tabTmp['siren']]=$tabTmp;
}
}
$nb=count($tabSiren);
$nbDemandesDuJour=rand(15, 65);
2013-06-19 08:24:49 +00:00
echo date ('Y/m/d - H:i:s') . " - Aujourd'hui nous allons demander la mise <20> jour de $nbDemandesDuJour dossiers IMR...".EOL;
$nbDemandesEncours=0;
foreach($tabSiren as $i=>$siren) {
$strErr='';
$ret=$iRncs->majDossierIMR($siren);
//print_r($iRncs->infoIMR).EOL;
if (@$iRncs->infoIMR['validation-erreur']<>'')
$strErr.=' ('.$iRncs->infoIMR['validation-erreur'].')';
2013-06-19 08:24:49 +00:00
if ($iRncs->infoIMR['message-erreur']=="Vous avez d<>j<EFBFBD> atteint le nombre maximal de demandes de r<><72>missions autoris<69>es aujourd'hui. Veuillez renouveler votre demande demain.") {
echo date ('Y/m/d - H:i:s') . " - $i/$nb - $siren : ".$iRncs->infoIMR['message-erreur'].$strErr.EOL;
break;
2013-06-19 08:24:49 +00:00
} elseif($iRncs->infoIMR['message-erreur']=="Aucune entreprise trouv<75>e pour ce num<75>ro SIREN") {
echo date ('Y/m/d - H:i:s') . " - $i/$nb - $siren : ".$iRncs->infoIMR['message-erreur'].$strErr.EOL;
} elseif ($iRncs->infoIMR['validation']) {
$nbDemandesEncours++;
echo date ('Y/m/d - H:i:s') . " - $i/$nb - $siren : ".$iRncs->infoIMR['validation-ok'].$strErr." ($nbDemandesEncours/$nbDemandesDuJour)".EOL;
if ($nbDemandesEncours>$nbDemandesDuJour) break;
} elseif (!$ret) {
echo date ('Y/m/d - H:i:s') . " - $i/$nb - $siren : ".$iRncs->libErreur.$strErr.EOL;
}
/** @todo
2013-06-19 08:24:49 +00:00
* - Enregistrer la demande compl<EFBFBD>te avec :
* - le retour On line (tous les champs)
2013-06-19 08:24:49 +00:00
* - la date de la demande ainsi que la source (client, privil<EFBFBD>ges, ancienort, etc...)
* - la date de la r<EFBFBD>ponse IMR
*/
}
die();
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations Greffes', $message);
die();
?>