116 lines
4.8 KiB
PHP
116 lines
4.8 KiB
PHP
#!/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(INC(LUDE_PATH.'partenaires/classMRncs.php');
|
|
include_once(INCLUDE_PATH.'partenaires/classMArtisanat.php');
|
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " <option> [SIREN]
|
|
Mise à disposition d'un dossier dans le flux IMR du lendemain via l'Extranet Infogreffe (license RNCS IMR).
|
|
|
|
Options :
|
|
-d Mode debug (Verbosité au maximum)
|
|
-s:SSAAMMJJ Reprendre la mise à jour depuis le flux Insee du SSAAMMJJ
|
|
-h Reprendre l'historique
|
|
";
|
|
$iDb=new WDB();
|
|
$iArtisanat=new MArtisanat();
|
|
|
|
$argv=$_SERVER['argv'];
|
|
$tabSiren=array();
|
|
$jourFlux=$histo=false;
|
|
|
|
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': $jourFlux=substr($argv[$i],3,8); break;
|
|
case 'h': $histo=true; 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];
|
|
}
|
|
|
|
/** Si pas de Siren en param, recherche des Artisans à compléter en automatique
|
|
**/
|
|
if (count($tabSiren)==0 || $jourFlux || $histo) {
|
|
if (!$jourFlux && !$histo) {
|
|
$ret=$iDb->select('insee.insee_even', 'MAX(idFlux) AS dateFlux', '1', false, MYSQL_ASSOC);
|
|
$lastFlux=str_replace('-','',$ret[0]['dateFlux'])*1;
|
|
} else
|
|
$lastFlux=$jourFlux;
|
|
if (!$histo) {
|
|
echo date ('Y/m/d - H:i:s') . " - Le dernier flux INSEE date du $lastFlux.".EOL;
|
|
$nb=$iDb->select('insee.insee_even', 'insSIREN AS siren', "idFlux>=$lastFlux AND (insCJ IN (1100,1300) OR insAPRM<>'') AND insCODPOS LIKE '75%' GROUP BY siren", false, MYSQL_ASSOC, true);
|
|
} else {
|
|
//$nb=$iDb->select('etablissements_old', 'siren', "source=2 AND actif IN(0,1) AND siege IN(0,1) AND adr_dep='75' AND cj IN (1100,1300) GROUP BY siren", false, MYSQL_ASSOC, true);
|
|
$nb=$iDb->select('insee.identite', 'siren', "APRM<>'' AND ADR_DEP=75 GROUP BY siren", false, MYSQL_ASSOC, true);
|
|
}
|
|
echo date ('Y/m/d - H:i:s') . " - Il y a $nb dossiers d'Artisans ou Artisans/Commerçants à mettre à jour...".EOL;
|
|
$nbDem=0;
|
|
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$nbDem++;
|
|
// On limite à 1000 le nombre de demandes possibles car Infogreffe limite pour l'instant à 10 les demandes de MAJ
|
|
if ($nbDem>1000) break;
|
|
$tabSiren[]=$tabTmp['siren'];
|
|
//$tabEntrep[$tabTmp['siren']]=$tabTmp;
|
|
}
|
|
}
|
|
$nb=count($tabSiren);
|
|
|
|
//$nbDemandesDuJour=rand(15, 65);
|
|
//echo date ('Y/m/d - H:i:s') . " - Mise à jour de $nbDemandesDuJour dossiers...".EOL;
|
|
$nbDemandesEncours=0;
|
|
//die();
|
|
foreach($tabSiren as $i=>$siren) {
|
|
$strErr='';
|
|
$ret=@$iArtisanat->getIdentite($siren);
|
|
print_r($ret);
|
|
//die();
|
|
if ($iArtisanat->libErreur<>'') echo $iArtisanat->libErreur.EOL;
|
|
elseif (!$iArtisanat->enCache) {
|
|
echo date ('Y/m/d - H:i:s') . " - Dossier n°$i/$nb : $siren récupéré...".EOL;
|
|
randsleep(35,90);
|
|
} elseif ($iArtisanat->enCache) {
|
|
echo date ('Y/m/d - H:i:s') . " - Dossier n°$i/$nb : $siren en cache.".EOL;
|
|
}
|
|
|
|
//print_r($iRncs->infoIMR).EOL;
|
|
/*if (@$iRncs->infoIMR['validation-erreur']<>'')
|
|
$strErr.=' ('.$iRncs->infoIMR['validation-erreur'].')';
|
|
|
|
if ($iRncs->infoIMR['message-erreur']=="Vous avez déjà atteint le nombre maximal de demandes de réémissions autorisé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;
|
|
} elseif($iRncs->infoIMR['message-erreur']=="Aucune entreprise trouvée pour ce numé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
|
|
* - Enregistrer la demande complète avec :
|
|
* - le retour On line (tous les champs)
|
|
* - la date de la demande ainsi que la source (client, privilèges, ancienort, etc...)
|
|
* - la date de la réponse IMR
|
|
*/
|
|
}
|
|
|
|
die();
|
|
|
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations Greffes', $message);
|
|
die();
|
|
?>
|