2012-10-16 07:44:31 +00:00
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
< ? php
2013-06-19 08:24:49 +00:00
/** @ todo Si MAJ en annule et remplace pr<EFBFBD> voir les manips SQL suivantes :
** A . Cr<EFBFBD> ation d ' une table insee . tmp sans aucun index
2012-10-16 07:44:31 +00:00
** B . A la fin du chargement construire les index
** //ALTER TABLE insee ADD PRIMARY KEY (insSIREN, insNIC);
** ALTER TABLE insee ADD INDEX ( insSIREN , insNIC );
** ALTER TABLE insee ADD FULLTEXT ( insNOMEN );
** ALTER TABLE insee ADD INDEX ( insSIEGE );
** ALTER TABLE insee ADD INDEX ( insCODPOS );
** ALTER TABLE insee ADD INDEX ( insDEPET );
** ALTER TABLE insee ADD INDEX ( insAPET700 );
** ALTER TABLE insee ADD INDEX ( insAPEN700 );
** ALTER TABLE insee ADD INDEX ( insCJ );
** --- ?
** ALTER TABLE insee ADD FULLTEXT ( insNOMET );
** ALTER TABLE insee ADD FULLTEXT ( insSIGLE );
** ALTER TABLE insee ADD INDEX ( insNOMEN );
** ALTER TABLE insee ADD INDEX ( insNOMET );
** ALTER TABLE insee ADD INDEX ( insSIGLE );
** --- ?
**
** Si pas d ' erreur :
** 1. detruire insee
** 2. Renommer insee . tmp en insee
**/
global $tabSep ;
2013-06-19 08:24:49 +00:00
$tabSep = array ( '"' , '|' , '#' , '+' , '-' , '=' , '_' , '/' , '\'' , '\\' , '&' , '.' , ';' , ',' , '!' , '?' , ':' , '*' , '<27> ' , '(' , ')' , '[' , ']' , '{' , '}' );
2012-10-16 07:44:31 +00:00
global $tabInutils ;
$tabInutils = array ( '' , 'la' , 'le' , 'du' , 'les' , 'aux' , 'au' , 'des' , 'ma' , 'mon' , 'ton' , 'tes' , 'nos' , 'vos' , 'l' , 'de' , 'ta' , 'a' , 'et' , 'on' , 'en' );
function specialCharToSpace ( $str ) {
$str = strtr ( strtoupper ( $str ),
2013-06-19 08:24:49 +00:00
'<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ,
2012-10-16 07:44:31 +00:00
// strtoupper('aaaaaaaceeeeiiiionooooouuuuyy'));
strtoupper ( 'AAAAAAACEEEEIIIIONOOOOOUUUUYY' ));
$ret = '' ;
for ( $i = 0 ; $i < strlen ( $str ); $i ++ ) {
if ( ord ( $str [ $i ]) > 64 && ord ( $str [ $i ]) < 91 )
$ret .= $str [ $i ];
else
$ret .= ' ' ;
}
return $ret ;
}
function getTabWords ( $str ) {
global $tabInutils ;
2013-06-19 08:24:49 +00:00
// D<> coupe du champ NOMEN
2012-10-16 07:44:31 +00:00
$tabMot = array ();
$tabRS = explode ( ' ' , specialCharToSpace ( $str ));
$i = 0 ;
foreach ( $tabRS as $k => $mot ) {
// Si le mot courant n'est pas inutil, on le garde !
if ( ! in_array ( trimAccent ( $mot ), $tabInutils ))
{
$tabMot [ $i ] = $mot ;
$i ++ ;
}
}
return $tabMot ;
}
/*
include_once ( '/var/www/_includes/timer.php' );
include_once ( '/var/www/_includes/phonex.php' );
include_once ( '/var/www/_includes/soundex.php' );
function soundex2 ( $str ) {
$soundex2 = new soundex2 ;
$soundex2 -> build ( $str );
return $soundex2 -> sString ;
}
*/
// $ret=mysql_query('ALTER TABLE `insee` RENAME `insee_'. date('Y-m-d') .'`;');
// echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne base INSEE\n";
/*
$ret = mysql_query ( 'ALTER TABLE `insee_recherche` RENAME `insee_recherche_' . date ( 'Y-m-d' ) . '`;' );
echo date ( 'Y/m/d - H:i:s' ) . " - Sauvegarde de l'ancienne base de recherche INSEE \n " ;
$ret = mysql_query ( " CREATE TABLE IF NOT EXISTS insee_recherche (
insSIREN varchar ( 9 ) NOT NULL default '' ,
insNIC varchar ( 5 ) NOT NULL default '' ,
motNOM varchar ( 24 ) default NULL ,
shxNOM varchar ( 4 ) default NULL ,
phxNOM bigint ( 12 ) default '0' ,
motADR varchar ( 24 ) default NULL ,
shxADR varchar ( 4 ) default NULL ,
phxADR bigint ( 12 ) default '0' ,
insNUMVOIE int ( 4 ) default NULL ,
insTYPVOIE char ( 3 ) default NULL ,
CodeInseeCommune varchar ( 5 ) default NULL ,
insLIBCOM varchar ( 26 ) default NULL ,
insSIEGE tinyint ( 1 ) NOT NULL default '0' ,
insAPET700 varchar ( 4 ) default NULL ,
insAPET31 char ( 2 ) default NULL ,
insCJ varchar ( 4 ) default NULL ,
insAPEN700 varchar ( 4 ) default NULL ,
insAPEN31 char ( 2 ) default NULL ,
SPEACT char ( 1 ) default NULL ,
SORLJ_N char ( 1 ) default NULL ,
SOEVT char ( 2 ) default NULL ,
SOETEL varchar ( 10 ) default NULL ,
SOEFAX varchar ( 10 ) default NULL ,
SODTEN_D varchar ( 8 ) default NULL ) TYPE = MyISAM COMMENT = 'Base INSEE de recherche' ; " );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation de la structure de la base de recherche INSEE sans les index \n " ;
2012-10-16 07:44:31 +00:00
*/
/* ,
KEY `insSIREN` ( `insSIREN` , `insNIC` ),
KEY `insSIEGE` ( `insSIEGE` ),
KEY `insCODPOS` ( `insCODPOS` ),
KEY `insDEPET` ( `insDEPET` ),
KEY `insAPET700` ( `insAPET700` ),
KEY `insCJ` ( `insCJ` ),
KEY `insAPEN700` ( `insAPEN700` ),
KEY `insSIGLE` ( `insSIGLE` ),
KEY `insNOMEN_2` ( `insNOMEN` ),
KEY `insNOMET_2` ( `insNOMET` ),
FULLTEXT KEY `insNOMEN` ( `insNOMEN` ),
FULLTEXT KEY `insNOMET` ( `insNOMET` ),
FULLTEXT KEY `insSIGLE_2` ( `insSIGLE` ) */
/** On ne prend l 'heure qu' une seule fois par script PHP et on initialise des constantes .
*
* DATETIME YmdHis
* DATETIME_LOG Y - m - d H : i : s Date du jour pour les insertions en BDD
2013-06-19 08:24:49 +00:00
* NOW His Heure d ' ex<EFBFBD> cution du script
* NOW_FORMAT H : i : s Heure d ' ex<EFBFBD> cution du script
* TODAY Ymd Ann<EFBFBD> e , Mois , Jour d ' ex<EFBFBD> cution du script
2012-10-16 07:44:31 +00:00
* TODAY_FORMAT Y - m - d
* TODAY_AFF d / m / Y
*/
define ( 'TODAY' , substr ( DATETIME , 0 , 8 ));
define ( 'TODAY_FORMAT' , substr ( DATETIME , 0 , 4 ) . '-' . substr ( DATETIME , 4 , 2 ) . '-' . substr ( DATETIME , 6 , 2 ));
define ( 'NOW_FORMAT' , substr ( DATETIME , 8 , 2 ) . ':' . substr ( DATETIME , 10 , 2 ) . ':' . substr ( DATETIME , 12 , 2 ));
set_time_limit ( 0 );
$heureDebut = NOW_FORMAT ;
$dateJour = TODAY ;
$dateJourFormat = TODAY_FORMAT ;
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - D<> but du traitement \r \n " ;
2012-10-16 07:44:31 +00:00
flush ();
$db_name = $db_table = '' ;
//Initialistation des variables
$argv = $_SERVER [ 'argv' ];
if ( $_SERVER [ 'argc' ] < 3 ) die ( 'Usage : ' . basename ( $argv [ 0 ]) . " [OPTION]... FICHIER(S)
2013-06-19 08:24:49 +00:00
Charger un fichier au format Notice80 dans une base de donn<EFBFBD> es avec cr<EFBFBD> ation de la table qui aura le nom du fichier charg<EFBFBD> ..
2012-10-16 07:44:31 +00:00
Options disponibles :
2013-06-19 08:24:49 +00:00
- d = nom_bdd Nom de la base de donn<EFBFBD> es
2012-10-16 07:44:31 +00:00
- t = nom_table Nom de la table
2013-06-19 08:24:49 +00:00
( * ) : Valeurs par d<EFBFBD> faut !
2012-10-16 07:44:31 +00:00
" );
for ( $i = 1 , $j = 0 ; isset ( $argv [ $i ]); $i ++ ) {
if ( substr ( $argv [ $i ], 0 , 1 ) == '-' ) {
switch ( substr ( $argv [ $i ], 1 , 1 )) {
case 'd' : $db_name = substr ( $argv [ $i ], 3 ); break ;
case 't' : $db_table = substr ( $argv [ $i ], 3 ); break ;
default : die ( 'Option ' . $argv [ $i ] . " inconnue ! \n " );
}
} else {
$fichier_csv [ $j ] = $argv [ $i ];
$j ++ ;
}
}
2013-06-19 08:24:49 +00:00
if ( $db_name == '' ) die ( " Base de donn<6E> es non communiqu<71> e ! \n " );
if ( $db_table == '' ) die ( " Table non communiqu<71> e ! \n " );
2012-10-16 07:44:31 +00:00
$iDb = new WDB ( $db_name );
$sql = " CREATE TABLE IF NOT EXISTS $db_table (
insSIREN varchar ( 9 ) NOT NULL default '' ,
insNIC varchar ( 5 ) NOT NULL default '' ,
insNOMEN varchar ( 40 ) default NULL ,
insNOMET varchar ( 40 ) default NULL ,
insSIGLE varchar ( 20 ) default NULL ,
insCADR varchar ( 26 ) default NULL ,
insNUMVOIE varchar ( 4 ) default NULL ,
`insINDREP` char ( 1 ) default NULL ,
`insTYPVOIE` char ( 3 ) default NULL ,
`insLIBVOIE` varchar ( 26 ) default NULL ,
`insDISTSP` varchar ( 26 ) default NULL ,
`insACHPOSTE` varchar ( 32 ) default NULL ,
`insZR` varchar ( 11 ) default NULL ,
`insRPET` tinyint ( 2 ) NOT NULL default '0' ,
`insDEPET` char ( 2 ) default NULL ,
`insARRONET` char ( 2 ) default NULL ,
`insCTONET` char ( 3 ) default NULL ,
`insCOMET` char ( 3 ) default NULL ,
`insLIBCOM` varchar ( 26 ) default NULL ,
`insDU` char ( 2 ) default NULL ,
`insTU` tinyint ( 1 ) NOT NULL default '0' ,
`insU7U` char ( 2 ) default NULL ,
`insCODPOS` varchar ( 5 ) default NULL ,
`insILOT` varchar ( 8 ) default NULL ,
`insTCD` tinyint ( 2 ) NOT NULL default '0' ,
`insZEMET` char ( 2 ) default NULL ,
`insCODEVOIE` varchar ( 5 ) default NULL ,
`insAPET700` varchar ( 4 ) default NULL ,
`insAPET31` char ( 2 ) default NULL ,
`insSIEGE` tinyint ( 1 ) NOT NULL default '0' ,
`insTEFET` tinyint ( 2 ) NOT NULL default '0' ,
`insEFETCENT` mediumint ( 6 ) default NULL ,
`insORIGINE` tinyint ( 1 ) NOT NULL default '0' ,
`insDCRET` varchar ( 6 ) default NULL ,
`insMMINTRET` tinyint ( 2 ) NOT NULL default '0' ,
`insNATURE` char ( 2 ) default NULL ,
`insSAISONAT` tinyint ( 1 ) NOT NULL default '0' ,
`insMODET` tinyint ( 1 ) NOT NULL default '0' ,
`insDAPET` varchar ( 4 ) default NULL ,
`insDEFET` varchar ( 4 ) default NULL ,
`insSINGT` tinyint ( 2 ) NOT NULL default '0' ,
`insAUXILT` tinyint ( 1 ) NOT NULL default '0' ,
`insEAEANT` varchar ( 4 ) default NULL ,
`insEAEAPET` varchar ( 4 ) default NULL ,
`insEAESEC1T` varchar ( 4 ) default NULL ,
`insEAESEC2T` varchar ( 4 ) default NULL ,
`insCJ` varchar ( 4 ) default NULL ,
`insTEFEN` tinyint ( 2 ) NOT NULL default '0' ,
`insEFENCENT` mediumint ( 6 ) default NULL ,
`insAPEN700` varchar ( 4 ) default NULL ,
`insAPEN31` char ( 2 ) default NULL ,
`insAPRM` varchar ( 5 ) default NULL ,
`insTCA` tinyint ( 1 ) NOT NULL default '0' ,
`insSEXE` enum ( 'M' , 'F' , '' ) NOT NULL default 'M' ,
`insRECME` tinyint ( 1 ) NOT NULL default '0' ,
`insDAPEN` varchar ( 4 ) default NULL ,
`insDEFEN` varchar ( 4 ) default NULL ,
`insDCREN` varchar ( 6 ) default NULL ,
`insMMINTREN` tinyint ( 2 ) NOT NULL default '0' ,
`insMONOACT` tinyint ( 1 ) default NULL ,
`insMODEN` tinyint ( 1 ) NOT NULL default '0' ,
`insORDIN` tinyint ( 1 ) NOT NULL default '0' ,
`insEAEANN` varchar ( 4 ) default NULL ,
`insEAEAPEN` varchar ( 4 ) default NULL ,
`insEAESEC1N` varchar ( 4 ) default NULL ,
`insEAESEC2N` varchar ( 4 ) default NULL ,
`insEAESEC3N` varchar ( 4 ) default NULL ,
`insEAESEC4N` varchar ( 4 ) default NULL ,
`insNBTOA` SMALLINT ( 4 ) UNSIGNED NOT NULL default '0' ,
`insTCAEXPOR` tinyint ( 1 ) NOT NULL default '0' ,
`insREGIMP` char ( 2 ) default NULL ,
`insMONOREG` tinyint ( 1 ) default NULL ,
`insRPEN` tinyint ( 2 ) NOT NULL default '0' ,
`insDEPCOMEN` varchar ( 5 ) default NULL ,
`insVMAJ` enum ( 'C' , 'E' , 'I' , 'F' , 'S' ) NOT NULL default 'C' ,
`insVMAJ1` tinyint ( 1 ) NOT NULL default '0' ,
`insVMAJ2` tinyint ( 1 ) NOT NULL default '0' ,
`insVMAJ3` tinyint ( 1 ) NOT NULL default '0' ,
`SPEACT` char ( 1 ) default NULL ,
`SORLJ_N` char ( 1 ) default NULL ,
`SOEVT` char ( 2 ) default NULL ,
`SOROL` char ( 1 ) default NULL ,
`SODJL_D` varchar ( 8 ) default NULL ,
`SOEDRQ` char ( 3 ) default NULL ,
`SOEDRN_X` varchar ( 60 ) default NULL ,
`SOEDRD_D` varchar ( 8 ) default NULL ,
`SOEDRL_N` varchar ( 35 ) default NULL ,
`SORSNC` char ( 1 ) default NULL ,
`SORSNO` char ( 2 ) default NULL ,
`SOETEL` varchar ( 10 ) default NULL ,
`SOEFAX` varchar ( 10 ) default NULL ,
`SODTEN_D` varchar ( 8 ) default NULL ) TYPE = MyISAM COMMENT = 'Base INSEE courante' ; " ;
$ret = $iDb -> query ( $sql , true );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation de la structure de la base ' $db_table ' sans les index \n " ;
2012-10-16 07:44:31 +00:00
//echo "$sql\n";
$tabFichDate = $fichier_csv ;
$messageInsertion = $messageSuppression = '' ;
for ( $nbFichiers = 0 ; isset ( $tabFichDate [ $nbFichiers ]); $nbFichiers ++ )
{
$tab_nom_date = explode ( '|' , $tabFichDate [ $nbFichiers ]);
$nomFichier = $tab_nom_date [ 0 ];
$moisFichier = '200601' ; //$tab_nom_date[1];
$fp = fopen ( $nomFichier , " r " );
if ( ! $fp ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Impossible d'ouvrir le fichier n<> $nbFichiers <20> traiter : " . $rep . $nomFichier . " ! \r \n " ;
2012-10-16 07:44:31 +00:00
/* $tabDataToUpdate = array ( 'NUM' => $numScript ,
'DATE_JOUR' => $dateJour ,
'HEURE_DEBUT' => $heureDebut ,
'HEURE_FIN' => $heureFin ,
'CODE_RETOUR' => 0 ,
'NB_MAIL' => 1 ,
2013-06-19 08:24:49 +00:00
'RESUME_EXEC' => " Impossible d'ouvrir le fichier n<> $nbFichiers <20> traiter : $nomFichier . " ); */
2012-10-16 07:44:31 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Fin du traitement \r \n " ;
exit ();
}
$nbLignes = 0 ;
$vmajC = 0 ;
$vmajE = 0 ;
$vmajI = 0 ;
$vmajF = 0 ;
$vmajS = 0 ;
$totI = 0 ;
$totS = 0 ;
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - D<> but du traitement du fichier n<> $nbFichiers = $nomFichier du mois de $moisFichier ! \r \n " ;
2012-10-16 07:44:31 +00:00
flush ();
while ( ! feof ( $fp ))
{
$nbLignes ++ ;
$a = fgets ( $fp , 4096 );
unset ( $tabErreur ); $nbErr = 0 ;
$insSIREN = substr ( $a , 0 , 9 );
$insNIC = substr ( $a , 9 , 5 );
$insVMAJ = substr ( $a , 447 , 1 );
/* if ( $insVMAJ == ' ' )
$insVMAJ = 'C' ;
*/
if ( ! valideSiret ( $insSIREN . $insNIC )) {
if ( trim ( $a ) == '' )
$insVMAJ = 'EOF' ;
else
$tabErreur [ $nbErr ++ ] = " SIRET incorrect : $insSIREN . $insNIC " ;
}
if ( $insVMAJ != 'C' && $insVMAJ != 'E' && $insVMAJ != 'I' && $insVMAJ != 'F' && $insVMAJ != 'S' && $insVMAJ != 'EOF' ) {
if ( $insVMAJ != ' ' && $insVMAJ != chr ( 0 ) ) {
2013-06-19 08:24:49 +00:00
// echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, for<6F> age du code VMAJ <20> C car VMAJ='$insVMAJ' (Code ASCII=".ord($insVMAJ).") inexistant pour le siret $insSIREN $insNIC !!!\r\n";
2012-10-16 07:44:31 +00:00
flush ();
}
$insVMAJ = 'C' ;
}
switch ( $insVMAJ )
{
case 'C' :
case 'F' :
case 'S' :
2013-06-19 08:24:49 +00:00
// Requ<71> tes de cr<63> ation ou mise <20> jour
2012-10-16 07:44:31 +00:00
// ***********************************
$insNOMEN = trim ( substr ( $a , 14 , 40 ) );
$insNOMET = trim ( substr ( $a , 54 , 40 ) );
$insSIGLE = trim ( substr ( $a , 94 , 20 ) );
$insCADR = trim ( substr ( $a , 114 , 26 ) );
$insNUMVOIE = trim ( substr ( $a , 140 , 4 ) );
$insINDREP = trim ( substr ( $a , 144 , 1 ) );
2013-06-19 08:24:49 +00:00
$insTYPVOIE = trim ( substr ( $a , 145 , 3 ) ); // R<> pertori<72> dans 1 tableau
2012-10-16 07:44:31 +00:00
// if (!$insee->isTypeVoie($insTYPVOIE))
// $tabErreur[$nbErr++]="TYPVOIE inconnu : '$insTYPVOIE'";
$insLIBVOIE = trim ( substr ( $a , 148 , 26 ) );
$insDISTSP = trim ( substr ( $a , 174 , 26 ) );
$insACHPOSTE = trim ( substr ( $a , 200 , 32 ) );
$insZR = trim ( substr ( $a , 232 , 11 ) );
2013-06-19 08:24:49 +00:00
$insRPET = ( int ) substr ( $a , 243 , 2 ); // R<> pertori<72> dans 1 tableau
2012-10-16 07:44:31 +00:00
// if ( trim($insee->getLibRegion($insRPET))=='' )
// $tabErreur[$nbErr++]="RPET inconnue : '$insRPET' (Code ASCII=".ord(substr($a,243, 1))." & ".ord(substr($a,244, 1)).")";
$insDEPET = substr ( $a , 245 , 2 );
$insARRONET = substr ( $a , 247 , 2 );
$insCTONET = substr ( $a , 249 , 3 );
$insCOMET = substr ( $a , 252 , 3 );
$insLIBCOM = trim ( substr ( $a , 255 , 26 ) );
$insDU = substr ( $a , 281 , 2 );
2013-06-19 08:24:49 +00:00
$insTU = ( int ) substr ( $a , 283 , 1 ); // de 0 <20> 8
2012-10-16 07:44:31 +00:00
// if ($insTU > 8)
// $tabErreur[$nbErr++]="TU non comprise entre 0 et 8 : '$insTU' (Code ASCII=".ord(substr($a,283, 1)).")";
$insU7U = substr ( $a , 284 , 2 ); // Champ UU de l'Insee
$insCODPOS = substr ( $a , 286 , 5 );
2013-06-19 08:24:49 +00:00
$insILOT = trim ( substr ( $a , 291 , 8 )); // toujours vide car tarif sp<73> cial !
2012-10-16 07:44:31 +00:00
$insTCD = ( int ) substr ( $a , 299 , 2 );
$insZEMET = substr ( $a , 301 , 2 );
$insCODEVOIE = substr ( $a , 303 , 5 );
$insAPET700 = substr ( $a , 308 , 4 );
$insAPET31 = substr ( $a , 312 , 2 );
$insSIEGE = ( int ) substr ( $a , 314 , 1 );
$insTEFET = ( int ) substr ( $a , 315 , 2 );
2013-06-19 08:24:49 +00:00
$insEFETCENT = trim ( substr ( $a , 317 , 6 )); // Num<75> rique
2012-10-16 07:44:31 +00:00
if ( $insEFETCENT == '' )
$insEFETCENT = 'NULL' ;
elseif ( ! is_numeric ( $insEFETCENT )) {
// if ( $insEFETCENT!='N' )
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="EFETCENT non num<75> rique : $insEFETCENT";
2012-10-16 07:44:31 +00:00
$insEFETCENT = 'NULL' ;
}
else
$insEFETCENT = ( int ) $insEFETCENT ;
2013-06-19 08:24:49 +00:00
$insORIGINE = ( int ) substr ( $a , 323 , 1 ); // de 0 <20> 8
2012-10-16 07:44:31 +00:00
// if ($insORIGINE > 8)
// $tabErreur[$nbErr++]="ORIGINE non comprise entre 0 et 8 : $insORIGINE";
$insDCRET = substr ( $a , 324 , 6 );
2013-06-19 08:24:49 +00:00
$insMMINTRET = ( int ) substr ( $a , 330 , 2 ); // de 0 <20> 12
2012-10-16 07:44:31 +00:00
// if ( $insMMINTRET < 0 || $insMMINTRET > 12 )
// $tabErreur[$nbErr++]="MMINTRET non compris entre 0 et 12 : $insMMINTRET (Code ASCII=".ord(substr($a,330, 1))." & ".ord(substr($a,331, 1)).")";
2013-06-19 08:24:49 +00:00
$insNATURE = ( int ) substr ( $a , 332 , 2 ); // Num<75> rique d<> finit dans 1 tableau//
2012-10-16 07:44:31 +00:00
// if ( !$insee->isNature($insNATURE) )
// $tabErreur[$nbErr++]="NATURE inconnue : $insNATURE (Code ASCII=".ord(substr($a,332, 1))." & ".ord(substr($a,333, 1)).")";
$insSAISONAT = ( int ) substr ( $a , 334 , 1 );
2013-06-19 08:24:49 +00:00
$insMODET = ( int ) substr ( $a , 335 , 1 ); // de 0 <20> 3
2012-10-16 07:44:31 +00:00
if ( $insMODET > 3 )
2013-06-19 08:24:49 +00:00
$tabErreur [ $nbErr ++ ] = " MODET diff<66> rent de 0,1,2 ou 3 : $insMODET (Code ASCII= " . ord ( substr ( $a , 335 , 1 )) . " ) " ;
2012-10-16 07:44:31 +00:00
$insDAPET = trim ( substr ( $a , 336 , 4 ));
$insDEFET = trim ( substr ( $a , 340 , 4 ));
2013-06-19 08:24:49 +00:00
$insSINGT = ( int ) substr ( $a , 344 , 2 ); // Num<75> rique d<> finit dans 1 tableau
2012-10-16 07:44:31 +00:00
// if ( trim($insee->getLibSingularite($insSINGT))=='' )
// $tabErreur[$nbErr++]="SINGT inconnue : $insSINGT (Code ASCII=".ord(substr($a,344, 1))." & ".ord(substr($a,345, 1)).")";
$insAUXILT = ( int ) substr ( $a , 346 , 1 ); // 0, 1 ou 9
// if ($insAUXILT > 1 && $insAUXILT < 9)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="AUXILT diff<66> rent de 0, 1 ou 9 : $insAUXILT (Code ASCII=".ord(substr($a,346, 1)).")";
2012-10-16 07:44:31 +00:00
$insEAEANT = trim ( substr ( $a , 347 , 4 ));
$insEAEAPET = trim ( substr ( $a , 351 , 4 ));
$insEAESEC1T = trim ( substr ( $a , 355 , 4 ));
$insEAESEC2T = trim ( substr ( $a , 359 , 4 ));
$insCJ = substr ( $a , 363 , 4 );
$insTEFEN = ( int ) substr ( $a , 367 , 2 );
2013-06-19 08:24:49 +00:00
$insEFENCENT = trim ( substr ( $a , 369 , 6 )); // Num<75> rique
2012-10-16 07:44:31 +00:00
if ( $insEFENCENT == '' )
$insEFENCENT = 'NULL' ;
elseif ( ! is_numeric ( $insEFENCENT )) {
// if ( $insEFENCENT!='N' )
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="EFENCENT non num<75> rique : $insEFENCENT (Code ASCII=".ord($insEFENCENT).")";
2012-10-16 07:44:31 +00:00
$insEFENCENT = 'NULL' ;
}
else
$insEFENCENT = ( int ) $insEFENCENT ;
$insAPEN700 = substr ( $a , 375 , 4 );
$insAPEN31 = substr ( $a , 379 , 2 );
$insAPRM = trim ( substr ( $a , 381 , 5 ));
2013-06-19 08:24:49 +00:00
$insTCA = ( int ) substr ( $a , 386 , 1 ); // de 0 <20> 9
2012-10-16 07:44:31 +00:00
$insSEXE = strtoupper ( substr ( $a , 387 , 1 )); // M, F ou blanc
if ( $insSEXE != 'M' && $insSEXE != 'F' && $insSEXE != ' ' )
// if ( $insSEXE!=chr(0) )
// $tabErreur[$nbErr++]="SEXE inconnu : $insSEXE (Code ASCII=".ord($insVMAJ).")";
// else
$insSEXE = ' ' ;
$insRECME = ( int ) substr ( $a , 388 , 1 ); // 0 ou 1
// if ( $insRECME > 1 )
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="RECME diff<66> rent de 0 ou 1 : $insRECME (Code ASCII=".ord(substr($a,388, 1)).")";
2012-10-16 07:44:31 +00:00
$insDAPEN = trim ( substr ( $a , 389 , 4 ));
$insDEFEN = trim ( substr ( $a , 393 , 4 ));
$insDCREN = substr ( $a , 397 , 6 );
2013-06-19 08:24:49 +00:00
$insMMINTREN = ( int ) substr ( $a , 403 , 2 ); // de 0 <20> 12
2012-10-16 07:44:31 +00:00
// if ( $insMMINTREN < 0 || $insMMINTREN > 12 )
// $tabErreur[$nbErr++]="MMINTREN non compris entre 0 et 12 : $insMMINTREN (Code ASCII=".ord(substr($a,403, 1))." & ".ord(substr($a,404, 1)).")";
$insMONOACT = trim ( substr ( $a , 405 , 1 )); // 0,1,2 ou NULL
if ( $insMONOACT == '' )
$insMONOACT = 'NULL' ;
else {
// if( $insMONOACT != '0' && $insMONOACT != '1' && $insMONOACT != '2' )
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="MONOACT diff<66> rent de 0,1,2 ou NULL : $insMONOACT (Code ASCII=".ord(substr($a,405, 1)).")";
2012-10-16 07:44:31 +00:00
$insMONOACT = ( int ) $insMONOACT ;
}
$insMODEN = ( int ) substr ( $a , 406 , 1 ); // 0,1,2 ou 3
// if ($insMODEN > 3)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="MODEN diff<66> rent de 0,1,2 ou 3 : $insMODEN (Code ASCII=".ord(substr($a,406, 1)).")";
2012-10-16 07:44:31 +00:00
$insORDIN = ( int ) substr ( $a , 407 , 1 ); // 0 ou 1
// if ($insORDIN > 1)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="ORDIN diff<66> rent de 0 ou 1 : $insORDIN (Code ASCII=".ord(substr($a,407, 1)).")";
2012-10-16 07:44:31 +00:00
$insEAEANN = trim ( substr ( $a , 408 , 4 ));
$insEAEAPEN = trim ( substr ( $a , 412 , 4 ));
$insEAESEC1N = trim ( substr ( $a , 416 , 4 ));
$insEAESEC2N = trim ( substr ( $a , 420 , 4 ));
$insEAESEC3N = trim ( substr ( $a , 424 , 4 ));
$insEAESEC4N = trim ( substr ( $a , 428 , 4 ));
2013-06-19 08:24:49 +00:00
$insNBTOA = ( int ) substr ( $a , 432 , 4 ); // de 0 <20> 9999
2012-10-16 07:44:31 +00:00
$insTCAEXPOR = ( int ) substr ( $a , 436 , 1 ); // 0,1,2,3 ou 4
// if ($insTCAEXPOR > 4)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="TCAEXPOR diff<66> rent de 0,1,2,3 ou 4 : $insTCAEXPOR (Code ASCII=".ord(substr($a,436, 1)).")";
2012-10-16 07:44:31 +00:00
$insREGIMP = substr ( $a , 437 , 2 );
$insMONOREG = trim ( substr ( $a , 439 , 1 )); // 0,1,2 ou NULL
if ( $insMONOREG == '' )
$insMONOREG = 'NULL' ;
else {
// if( $insMONOREG != '0' && $insMONOREG != '1' && $insMONOREG != '2' )
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="MONOREG diff<66> rent de 0,1,2 ou NULL : $insMONOREG (Code ASCII=".ord(substr($a,439, 1)).")";
2012-10-16 07:44:31 +00:00
$insMONOREG = ( int ) $insMONOREG ;
}
$insRPEN = ( int ) substr ( $a , 440 , 2 );
$insDEPCOMEN = substr ( $a , 442 , 5 );
// $insVMAJ = substr($a,447, 1);
$insVMAJ1 = ( int ) substr ( $a , 448 , 1 ); // 0 ou 1
// if ($insVMAJ1 > 1)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="VMAJ1 diff<66> rent de 0 ou 1 : $insVMAJ1 (Code ASCII=".ord(substr($a,448, 1)).")";
2012-10-16 07:44:31 +00:00
$insVMAJ2 = ( int ) substr ( $a , 449 , 1 ); // 0 ou 1
// if ($insVMAJ2 > 1)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="VMAJ2 diff<66> rent de 0 ou 1 : $insVMAJ2 (Code ASCII=".ord(substr($a,449, 1)).")";
2012-10-16 07:44:31 +00:00
$insVMAJ3 = ( int ) substr ( $a , 450 , 1 ); // 0 ou 1
// if ($insVMAJ3 > 1)
2013-06-19 08:24:49 +00:00
// $tabErreur[$nbErr++]="VMAJ3 diff<66> rent de 0 ou 1 : $insVMAJ3 (Code ASCII=".ord(substr($a,450, 1)).")";
2012-10-16 07:44:31 +00:00
$bilSPEACT = trim ( substr ( $a , 451 , 1 )); //
$bilSORLJ_N = trim ( substr ( $a , 452 , 1 ));
$bilSOEVT = trim ( substr ( $a , 453 , 2 )); //
$bilSOROL = trim ( substr ( $a , 455 , 1 )); //
$bilSODJL_D = trim ( substr ( $a , 456 , 8 )); //
$bilSOEDRQ = trim ( substr ( $a , 464 , 3 )); //
$bilSOEDRN_X = trim ( substr ( $a , 467 , 60 )); //
$bilSOEDRD_D = trim ( substr ( $a , 527 , 8 )); //
$bilSOEDRL_N = trim ( substr ( $a , 535 , 35 )); //
$bilSORSNC = trim ( substr ( $a , 570 , 1 )); //
$bilSORSNO = trim ( substr ( $a , 571 , 2 )); //
$bilSOETEL = trim ( substr ( $a , 573 , 10 )); //
$bilSOEFAX = trim ( substr ( $a , 583 , 10 )); //
$bilSODTEN_D = trim ( substr ( $a , 593 , 8 )); //
// Traitement du NOM, Enseigne et sigle pour optimiser la recherche
//$tabNOMEN=getTabWords($insNOMEN);
//$tabNOMET=getTabWords($insNOMET);
//$tabSIGLE=getTabWords($insSIGLE);
/* $tabNOM = array_merge ( $tabNOMEN ,
$tabNOMET ,
$tabSIGLE );
array_unique ( $tabNOM );
$nbNOM = count ( $tabNOM );
$nbLignesRec = $nbNOM ;
2013-06-19 08:24:49 +00:00
// Traitement des diff<66> rents zones d'adresse pour optimiser la recherche
2012-10-16 07:44:31 +00:00
$tabCADR = getTabWords ( $insCADR );
$tabLIBVOIE = getTabWords ( $insLIBVOIE );
$tabDISTSP = getTabWords ( $insDISTSP );
$tabADR = array_merge ( $tabCADR ,
$tabLIBVOIE ,
$tabDISTSP );
array_unique ( $tabADR );
$nbADR = count ( $tabADR );
if ( $nbADR > $nbLignesRec ) $nbLignesRec = $nbADR ;
$CodeInseeCommune = $insDEPET . $insCOMET ;
$insNUMVOIE = ( int ) $insNUMVOIE ;
*/
/*
for ( $i_rec = 0 ; $i_rec < $nbLignesRec ; $i_rec ++ ) {
$tabDataToInsertR = array ( 'insSIREN' => $insSIREN ,
'insNIC' => $insNIC ,
'motNOM' => $tabNOM [ $i_rec ],
'shxNOM' => soundex2 ( $tabNOM [ $i_rec ]),
'phxNOM' => phonex ( $tabNOM [ $i_rec ]),
'motADR' => $tabADR [ $i_rec ],
'shxADR' => soundex2 ( $tabADR [ $i_rec ]),
'phxADR' => phonex ( $tabADR [ $i_rec ]),
'insNUMVOIE' => $insNUMVOIE ,
'insTYPVOIE' => $insTYPVOIE ,
'CodeInseeCommune' => $CodeInseeCommune ,
'insLIBCOM' => $insLIBCOM ,
'insSIEGE' => $insSIEGE ,
'insAPET700' => $insAPET700 ,
'insAPET31' => $insAPET31 ,
'insCJ' => $insCJ ,
'insAPEN700' => $insAPEN700 ,
'insAPEN31' => $insAPEN31 ,
'SPEACT' => $bilSPEACT ,
'SORLJ_N' => $bilSORLJ_N ,
'SOEVT' => $bilSOEVT ,
'SOETEL' => $bilSOETEL ,
'SOEFAX' => $bilSOEFAX ,
'SODTEN_D' => $bilSODTEN_D );
$ret = mysql_insert ( 'insee_recherche' , $tabDataToInsertR );
}
**********/
$tabDataToInsert = array (
'insSIREN' => $insSIREN ,
'insNIC' => $insNIC ,
'insNOMEN' => $insNOMEN ,
'insNOMET' => $insNOMET ,
'insSIGLE' => $insSIGLE ,
'insCADR' => $insCADR ,
'insNUMVOIE' => $insNUMVOIE ,
'insINDREP' => $insINDREP ,
'insTYPVOIE' => $insTYPVOIE ,
'insLIBVOIE' => $insLIBVOIE ,
'insDISTSP' => $insDISTSP ,
'insACHPOSTE' => $insACHPOSTE ,
'insZR' => $insZR ,
'insRPET' => $insRPET ,
'insDEPET' => $insDEPET ,
'insARRONET' => $insARRONET ,
'insCTONET' => $insCTONET ,
'insCOMET' => $insCOMET ,
'insLIBCOM' => $insLIBCOM ,
'insDU' => $insDU ,
'insTU' => $insTU ,
'insU7U' => $insU7U ,
'insCODPOS' => $insCODPOS ,
'insILOT' => $insILOT ,
'insTCD' => $insTCD ,
'insZEMET' => $insZEMET ,
'insCODEVOIE' => $insCODEVOIE ,
'insAPET700' => $insAPET700 ,
'insAPET31' => $insAPET31 ,
'insSIEGE' => $insSIEGE ,
'insTEFET' => $insTEFET ,
'insEFETCENT' => $insEFETCENT ,
'insORIGINE' => $insORIGINE ,
'insDCRET' => $insDCRET ,
'insMMINTRET' => $insMMINTRET ,
'insNATURE' => $insNATURE ,
'insSAISONAT' => $insSAISONAT ,
'insMODET' => $insMODET ,
'insDAPET' => $insDAPET ,
'insDEFET' => $insDEFET ,
'insSINGT' => $insSINGT ,
'insAUXILT' => $insAUXILT ,
'insEAEANT' => $insEAEANT ,
'insEAEAPET' => $insEAEAPET ,
'insEAESEC1T' => $insEAESEC1T ,
'insEAESEC2T' => $insEAESEC2T ,
'insCJ' => $insCJ ,
'insTEFEN' => $insTEFEN ,
'insEFENCENT' => $insEFENCENT ,
'insAPEN700' => $insAPEN700 ,
'insAPEN31' => $insAPEN31 ,
'insAPRM' => $insAPRM ,
'insTCA' => $insTCA ,
'insSEXE' => $insSEXE ,
'insRECME' => $insRECME ,
'insDAPEN' => $insDAPEN ,
'insDEFEN' => $insDEFEN ,
'insDCREN' => $insDCREN ,
'insMMINTREN' => $insMMINTREN ,
'insMONOACT' => $insMONOACT ,
'insMODEN' => $insMODEN ,
'insORDIN' => $insORDIN ,
'insEAEANN' => $insEAEANN ,
'insEAEAPEN' => $insEAEAPEN ,
'insEAESEC1N' => $insEAESEC1N ,
'insEAESEC2N' => $insEAESEC2N ,
'insEAESEC3N' => $insEAESEC3N ,
'insEAESEC4N' => $insEAESEC4N ,
'insNBTOA' => $insNBTOA ,
'insTCAEXPOR' => $insTCAEXPOR ,
'insREGIMP' => $insREGIMP ,
'insMONOREG' => $insMONOREG ,
'insRPEN' => $insRPEN ,
'insDEPCOMEN' => $insDEPCOMEN ,
'insVMAJ' => $insVMAJ ,
'insVMAJ1' => $insVMAJ1 ,
'insVMAJ2' => $insVMAJ2 ,
'insVMAJ3' => $insVMAJ3 ,
'SPEACT' => $bilSPEACT ,
'SORLJ_N' => $bilSORLJ_N ,
'SOEVT' => $bilSOEVT ,
'SOROL' => $bilSOROL ,
'SODJL_D' => $bilSODJL_D ,
'SOEDRQ' => $bilSOEDRQ ,
'SOEDRN_X' => $bilSOEDRN_X ,
'SOEDRD_D' => $bilSOEDRD_D ,
'SOEDRL_N' => $bilSOEDRL_N ,
'SORSNC' => $bilSORSNC ,
'SORSNO' => $bilSORSNO ,
'SOETEL' => $bilSOETEL ,
'SOEFAX' => $bilSOEFAX ,
'SODTEN_D' => $bilSODTEN_D ,
);
$insVMAJ3 = ( int ) substr ( $a , 450 , 1 );
switch ( $insVMAJ )
{
case 'S' :
2013-06-19 08:24:49 +00:00
// Annule et remplace le si<73> ge pr<70> c<EFBFBD> dent
2012-10-16 07:44:31 +00:00
// if ($iinsee->addHisto($insSIREN, $insNIC)) {
// $iinsee->removeInsee($insSIREN, $insNIC);
$vmajS ++ ;
// }
// else {
// echo date ('Y/m/d - H:i:s') . " - ERREUR d'historisation du siret $insSIREN $insNIC !\r\n";
// flush();
// }
break ;
case 'C' :
2013-06-19 08:24:49 +00:00
// Entr<74> e d'un SIRET - Immatriculation d'un nouvel <20> tablissement
2012-10-16 07:44:31 +00:00
$vmajC ++ ;
break ;
case 'F' :
2013-06-19 08:24:49 +00:00
// Etat final d'un SIRET modifi<66> (apr<70> s mise <20> jour)
2012-10-16 07:44:31 +00:00
// if ($iinsee->addHisto($insSIREN, $insNIC)) {
// $iinsee->removeInsee($insSIREN, $insNIC);
// }
$vmajF ++ ;
break ;
}
// $resultat=array_merge($resultat, array('Bodacc_Annee_Parution'=>$annee, 'Tri_User_Saisie'=>$_SESSION['user']));
$ret = $iDb -> insert ( $db_table , $tabDataToInsert );
if ( $ret != 1 ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - ERREUR <20> l'insertion du siret $insSIREN $insNIC : $ret ! \r \n " ;
2012-10-16 07:44:31 +00:00
flush ();
}
break ;
case 'E' :
case 'I' :
2013-06-19 08:24:49 +00:00
// Requ<71> te de suppression
2012-10-16 07:44:31 +00:00
// **********************
// if ($iinsee->addHisto($insSIREN, $insNIC))
// $iinsee->removeInsee($insSIREN, $insNIC);
// else {
// echo date ('Y/m/d - H:i:s') . " - ERREUR d'historisation du siret $insSIREN $insNIC !\r\n";
// flush();
// }
switch ( $insVMAJ )
{
2013-06-19 08:24:49 +00:00
case 'E' : // Suppression d'un SIRET - Cessation d'activit<69> d'un <20> tablissement
2012-10-16 07:44:31 +00:00
$vmajE ++ ;
break ;
2013-06-19 08:24:49 +00:00
case 'I' : // Etat initial d'un SIRET modifi<66> (avant mise <20> jour)
2012-10-16 07:44:31 +00:00
$vmajI ++ ;
break ;
}
case 'EOF' :
break ;
}
/* if ( $tabErreur ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - ATTENTION, ligne $nbLignes , probl<62> mes pour le siret $insSIREN $insNIC !!! \r \n " ;
2012-10-16 07:44:31 +00:00
print_array ( $tabErreur , 0 , " txt " );
flush ();
}
*/
// if ($nbLignes%20==0) sleep(1);
// print_array($tabDataToInsert,0,'txt');
unset ( $tabDataToInsert );
}
fclose ( $fp );
$strUpdate = '' ;
for ( $j = $nbFichiers + 1 ; isset ( $tabFichDate [ $j ]); $j ++ )
$strUpdate .= $tabFichDate [ $j ] . ';' ;
$tabDataToUpdate = array ( 'VALEUR' => $strUpdate ,
'CLE' => 'INSEE_FICHIERS_MAJ' );
// $iparam->setParamValeur($tabDataToUpdate);
$totI = $vmajS + $vmajC + $vmajF ;
$totS = $vmajE + $vmajI ;
2013-06-19 08:24:49 +00:00
$messageInsertion .= " R<EFBFBD> sum<EFBFBD> du traitement du fichier n<> $nbFichiers = $nomFichier du mois de $moisFichier ! \r \n \r \n " ;
2012-10-16 07:44:31 +00:00
$messageInsertion .= " Nombre de nouvelles insertion: " . $totI . " \r \n " ;
2013-06-19 08:24:49 +00:00
$messageInsertion .= " - dont Changement de si<73> ge: " . $vmajS . " \r \n " ;
$messageInsertion .= " - dont Entr<74> e d'un SIRET - Immatriculation d'un nouvel <20> tablissement: " . $vmajC . " \r \n " ;
$messageInsertion .= " - dont Etat final d'un SIRET modifi<66> (apr<70> s mise <20> jour): " . $vmajF . " \r \n " ;
2012-10-16 07:44:31 +00:00
$messageSuppression .= " Nombre de suppression: " . $totS . " \r \n " ;
2013-06-19 08:24:49 +00:00
$messageSuppression .= " - dont Suppression d'un SIRET - Cessation d'activit<69> d'un <20> tablissement: " . $vmajE . " \r \n " ;
$messageSuppression .= " - dont Etat initial d'un SIRET modifi<66> (avant mise <20> jour): " . $vmajI . " \r \n \r \n " ;
2012-10-16 07:44:31 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Nombre de nouvelles insertion: " . $totI . " \r \n " ;
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - | dont Changement de si<73> ge: " . $vmajS . " \r \n " ;
echo date ( 'Y/m/d - H:i:s' ) . " - | dont Entr<74> e d'un SIRET ou Immatriculation d'un nouvel <20> tablissement: " . $vmajC . " \r \n " ;
echo date ( 'Y/m/d - H:i:s' ) . " - | dont Etat final d'un SIRET modifi<66> (apr<70> s mise <20> jour): " . $vmajF . " \r \n " ;
2012-10-16 07:44:31 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Nombre de suppression: " . $totS . " \r \n " ;
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - | dont Suppression d'un SIRET ou Cessation d'activit<69> d'un <20> tablissement: " . $vmajE . " \r \n " ;
echo date ( 'Y/m/d - H:i:s' ) . " - | dont Etat initial d'un SIRET modifi<66> (avant mise <20> jour): " . $vmajI . " \r \n " ;
echo date ( 'Y/m/d - H:i:s' ) . " - Fin du traitement du fichier n<> $nbFichiers = $nomFichier du mois de $moisFichier ! \r \n \r \n " ;
2012-10-16 07:44:31 +00:00
flush ();
}
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation des index de recherche... \n " ;
2012-10-16 07:44:31 +00:00
/*
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`motNOM`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`shxNOM`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`phxNOM`); " );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation des index de NOM ok \n " ;
2012-10-16 07:44:31 +00:00
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`motADR`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`shxADR`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`phxADR`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`insNUMVOIE`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`insTYPVOIE`); " );
$ret = mysql_query ( " ALTER TABLE `insee_recherche` ADD INDEX (`CodeInseeCommune`); " );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation des index d'ADRESSE ok \n " ;
2012-10-16 07:44:31 +00:00
*/
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX idxSiret(insSIREN, insNIC); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insSIEGE); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insAPET700); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insAPET31); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insCJ); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insAPEN700); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (insAPEN31); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (SPEACT); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (SORLJ_N); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (SOEVT); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (SOETEL); " );
$ret = $iDb -> query ( " ALTER TABLE $db_table ADD INDEX (SOEFAX); " );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Cr<43> ation des index de recherche termin<69> e ! \n " ;
2012-10-16 07:44:31 +00:00
2013-06-19 08:24:49 +00:00
// Mise <20> jour de la table PARAM
2012-10-16 07:44:31 +00:00
// -----------------------------
2013-06-19 08:24:49 +00:00
// 3 - pour la fin d'ex<65> cution du traitement en cours
2012-10-16 07:44:31 +00:00
$tabDataToUpdate = array ( 'VALEUR' => 0 ,
'CLE' => 'INSEE_MAJ_ENCOURS' );
// $iparam->setParamValeur($tabDataToUpdate);
$heureFin = date ( 'H:i:s' );
$tabDataToUpdateTraitement = array ( 'NUM' => $numScript ,
'DATE_JOUR' => $dateJour ,
'HEURE_DEBUT' => $heureDebut ,
'HEURE_FIN' => $heureFin ,
'CODE_RETOUR' => 1 ,
'NB_MAIL' => 1 ,
2013-06-19 08:24:49 +00:00
'RESUME_EXEC' => " traitement achev<65> correctement " );
2012-10-16 07:44:31 +00:00
// $itraitement->setTraitement($tabDataToUpdateTraitement);
$tabDataMail = array ( 'MAIL_OBJET' => $sujetMail ,
'MAIL_CORPS' => " Traitement correct: \r \n " . $messageInsertion . " \r \n " . $messageSuppression . " \r \n " );
// $emailBatch=new EMailBatch($tabDataMail);
// $emailBatch->mailBatica($numScript);
echo date ( 'Y/m/d - H:i:s' ) . " - Fin correcte du traitement. \r \n " ;
exit ();
function ecrireFichier ( $fichier , $texte ){
$fp = fopen ( $fichier , " a " );
fwrite ( $fp , $texte . " \r \n " );
fclose ( $fp );
}
function valideSiret ( $SIRET ) {
if ( ! is_numeric ( $SIRET ))
return false ;
$somme = 0 ;
for ( $i = 0 ; $i <= 12 ; $i += 2 ) { // Traitement PAIR
$var_tmp = ( string )( 2 * (( integer ) substr ( $SIRET , $i , 1 )));
$som_tmp = 0 ;
for ( $j = 0 ; $j < strlen ( $var_tmp ); $j ++ )
$som_tmp += ( integer ) substr ( $var_tmp , $j , 1 );
$somme += $som_tmp ;
}
for ( $i = 1 ; $i <= 13 ; $i += 2 ) // Traitement IMPAIR
$somme += ( integer ) substr ( $SIRET , $i , 1 );
if (( integer )( $somme / 10 ) != ( $somme / 10 ))
return false ;
return true ;
}
?>