2012-10-16 07:44:31 +00:00
#!/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]
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 ) .
2012-10-16 07:44:31 +00:00
Options :
2013-06-19 08:24:49 +00:00
- d Mode debug ( Verbosit<EFBFBD> au maximum )
- s : SSAAMMJJ Reprendre la mise <EFBFBD> jour depuis le flux Insee du SSAAMMJJ
2012-10-16 07:44:31 +00:00
- 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 ];
}
2013-06-19 08:24:49 +00:00
/** Si pas de Siren en param , recherche des Artisans <EFBFBD> compl<EFBFBD> ter en automatique
2012-10-16 07:44:31 +00:00
**/
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 );
}
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Il y a $nb dossiers d'Artisans ou Artisans/Commer<65> ants <20> mettre <20> jour... " . EOL ;
2012-10-16 07:44:31 +00:00
$nbDem = 0 ;
while ( $tabTmp = $iDb -> fetch ( MYSQL_ASSOC )) {
$nbDem ++ ;
2013-06-19 08:24:49 +00:00
// On limite <20> 1000 le nombre de demandes possibles car Infogreffe limite pour l'instant <20> 10 les demandes de MAJ
2012-10-16 07:44:31 +00:00
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') . " - Mise <20> jour de $nbDemandesDuJour dossiers...".EOL;
2012-10-16 07:44:31 +00:00
$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 ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Dossier n<> $i / $nb : $siren r<> cup<75> r<EFBFBD> ... " . EOL ;
2012-10-16 07:44:31 +00:00
randsleep ( 35 , 90 );
} elseif ( $iArtisanat -> enCache ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Dossier n<> $i / $nb : $siren en cache. " . EOL ;
2012-10-16 07:44:31 +00:00
}
//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. " ) {
2012-10-16 07:44:31 +00:00
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 " ) {
2012-10-16 07:44:31 +00:00
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 :
2012-10-16 07:44:31 +00:00
* - 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
2012-10-16 07:44:31 +00:00
*/
}
die ();
sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , 'Chargement des informations Greffes' , $message );
die ();
?>