975 lines
51 KiB
Plaintext
975 lines
51 KiB
Plaintext
|
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|||
|
<?php
|
|||
|
|
|||
|
function getNomPrenom($strRaisonSociale) {
|
|||
|
$tabRet=array();
|
|||
|
$tabRet['Nom']=$tabRet['NomUsage']=$tabRet['Prenom']='';
|
|||
|
if (preg_match("/(.*)\*(.*)\/(.*)/",$strRaisonSociale,$matches))
|
|||
|
{
|
|||
|
$tabRet['Nom']=$matches[1];
|
|||
|
$tmp=explode('/', $matches[2]);
|
|||
|
if (isset($tmp[1]) && trim($tmp[1])<>'') {
|
|||
|
$tabRet['NomUsage']=$tmp[0];
|
|||
|
$tabRet['Prenom']=$tmp[1];
|
|||
|
} else
|
|||
|
$tabRet['Prenom']=$matches[2];
|
|||
|
}
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
include_once(FWK_PATH.'common/chiffres.php');
|
|||
|
include_once(FWK_PATH.'common/dates.php');
|
|||
|
include_once(FWK_PATH.'common/ftp.php');
|
|||
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|||
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|||
|
|
|||
|
define('INSEE_FTP_URL', 'ftp.odissee.insee.fr');
|
|||
|
define('INSEE_FTP_USER', '5358116');
|
|||
|
define('INSEE_FTP_PASS', 'SC8$_21v');
|
|||
|
//define('INSEE_FTP_REMOTE_DIR', 'odissee/MAP/*');
|
|||
|
define('INSEE_FTP_REMOTE_DIR', 'odissee/5358116/*');
|
|||
|
define('INSEE_LOCAL_DIR', '/home/data/insee/even/');
|
|||
|
|
|||
|
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
|||
|
Chargement du/des flux quotidiens en provenance de Insee.
|
|||
|
|
|||
|
Options :
|
|||
|
-d Mode debug (Verbosit<69> au maximum)
|
|||
|
-j Ne pas r<>cup<75>rer les derniers fichiers sur le FTP de l'Insee
|
|||
|
-u Forcer la mise <20> jour la table identite de l'insee
|
|||
|
-s=20080430 R<>appliquer les <20>v<EFBFBD>nements depuis cette date
|
|||
|
-f=20121231 R<>appliquer les <20>v<EFBFBD>nements jusqu'<27> cette date
|
|||
|
-e=xxxxxxxx R<>appliquer l'<27>v<EFBFBD>nement xxxxxxxx
|
|||
|
-c=552144503 Siren de l'entreprise sur laquelle r<>appliquer tous les <20>v<EFBFBD>nements
|
|||
|
|
|||
|
";
|
|||
|
$iDb=new WDB('insee');
|
|||
|
$iDbR=new WDB('insee');
|
|||
|
$iDbW=new WDB('insee');
|
|||
|
$iInsee=new MInsee();
|
|||
|
|
|||
|
$nbSiretInvalides=$nbErreurs=$nbInsert=$nbUpdate=0;
|
|||
|
$modeDebug=$dateReprise=$dateFin=false;
|
|||
|
$messageDebug='';
|
|||
|
|
|||
|
$ftpStep=true;
|
|||
|
$updateInsee=false;
|
|||
|
$iReprise=$sirenReprise=0;
|
|||
|
$tabFichier=array();
|
|||
|
$tabModifsEntrep=array(); // Tableau des modifications au niveau entreprises qui n'ont pas d'<27>v<EFBFBD>nements par <20>tablissement
|
|||
|
|
|||
|
$nomFichierCharges=array();
|
|||
|
$nbLignes=$nbLignesCharges=$nbSiretInvalidesCharges=0;
|
|||
|
|
|||
|
//Initialistation des variables
|
|||
|
$argv=$_SERVER['argv'];
|
|||
|
//if ($_SERVER['argc']==1) die("Non g<>r<EFBFBD> pour l'instant : chargera les derniers fichiers EVEN non charg<72>s !".EOL);
|
|||
|
|
|||
|
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 'j': $ftpStep=false; break;
|
|||
|
case 'u': $updateInsee=true; break;
|
|||
|
case 's': $dateReprise=substr($argv[$i],3,8); $ftpStep=false; break;
|
|||
|
case 'f': $dateFin=substr($argv[$i],3,8); $ftpStep=false; break;
|
|||
|
case 'e': $iReprise=substr($argv[$i],3); $ftpStep=false; break;
|
|||
|
case 'c': $sirenReprise=substr($argv[$i],3); $ftpStep=false; break;
|
|||
|
case '-':
|
|||
|
case '?': die($strInfoScript); break;
|
|||
|
default: die('Option '. $argv[$i] . " inconnue !\n");
|
|||
|
}
|
|||
|
} else $tabFichier[]=$argv[$i];
|
|||
|
}
|
|||
|
/*
|
|||
|
$siren=356000000;
|
|||
|
$tabNic=array('00055', '00056', '00060', '00061');
|
|||
|
foreach ($tabNic as $nic) {
|
|||
|
echo "$siren\t$nic\t";
|
|||
|
if (!$iInsee->valideSiren($siren,$nic)) {
|
|||
|
echo 'INVALIDE'.EOL;
|
|||
|
} else echo 'valide'.EOL;
|
|||
|
}
|
|||
|
die();
|
|||
|
*/
|
|||
|
echo date ('Y/m/d - H:i:s') . " - D<>but du traitement de chargement des <20>v<EFBFBD>nements INSEE".EOL;
|
|||
|
$dateDeb=date('YmdHis');
|
|||
|
$db_table='insee_even';
|
|||
|
if ($ftpStep) {
|
|||
|
/* R<>cup<75>ration des flux FTP */
|
|||
|
echo date('Y/m/d - H:i:s') ." - DEBUT de la r<>cup<75>ration des flux FTP de l'INSEE...".EOL;
|
|||
|
$ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true);
|
|||
|
if ($ret===false)
|
|||
|
die (date ('Y/m/d - H:i:s')." - ERREUR : R<>cup<75>ration des flux INSEE en FTP incorrecte !".EOL);
|
|||
|
else
|
|||
|
echo date ('Y/m/d - H:i:s')." - FIN de la r<>cup<75>ration des flux INSEE en FTP ($ret fichiers r<>cup<75>r<EFBFBD>s).".EOL;
|
|||
|
}
|
|||
|
/** Liste des fichiers quotidiens de l'Insee
|
|||
|
**/
|
|||
|
if ($dateReprise>0 || $iReprise>0 || $sirenReprise>1000)
|
|||
|
$tabFichier=array();
|
|||
|
else {
|
|||
|
$dh = opendir(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR));
|
|||
|
while (false !== ($filename = readdir($dh))) {
|
|||
|
if ($filename<>'.' && $filename<>'..' && substr($filename, 0, 6)<>'EVE.NJ' && substr($filename, 0, 2)<>'NJ')
|
|||
|
$tabFichier[] = $filename;
|
|||
|
}
|
|||
|
}
|
|||
|
if (file_exists(REP_TEMP.'stockInsee.lock')) {
|
|||
|
$message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"';
|
|||
|
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Flux quotidien INSEE non trait<69> car trimestriel en cours', $message);
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
$tabToIdentite=array();
|
|||
|
/** Chargement des fichiers si n<>cessaire
|
|||
|
**/
|
|||
|
for ($i=0; isset($tabFichier[$i]); $i++)
|
|||
|
{
|
|||
|
$nomFichier=$tabFichier[$i];
|
|||
|
$idFlux=strtr(strtoupper(basename($nomFichier)),array('EVE.'=>'','DJ'=>'20'));
|
|||
|
|
|||
|
$tabTailles[$idFlux]=filesize(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier);
|
|||
|
$tabDateFic[$idFlux]=date('YmdHis', filemtime(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier));
|
|||
|
|
|||
|
$fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r');
|
|||
|
if (!$fp) {
|
|||
|
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n<>$i <20> traiter '".$nomFichier."'".EOL;
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
$nbLignes=0; // Nombre de ligne du fichier
|
|||
|
$ret=$iDb->select($db_table, 'count(idFlux) as nb', "idFlux='$idFlux' /*AND insEVE NOT IN('810','RCS')*/");
|
|||
|
$nbLoaded=$ret[0][0];
|
|||
|
while (!feof($fp))
|
|||
|
{
|
|||
|
$nbLignes++;
|
|||
|
$a = trim(fgets($fp, 1024));
|
|||
|
}
|
|||
|
if ($nbLoaded>0) {
|
|||
|
if (--$nbLignes<=$nbLoaded)
|
|||
|
echo date ('Y/m/d - H:i:s')." - Le fichier n<>$i, $nomFichier a d<>j<EFBFBD> <20>t<EFBFBD> charg<72> ($nbLoaded lignes) !".EOL;
|
|||
|
else
|
|||
|
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n<>$i, $nomFichier a <20>t<EFBFBD> charg<72> partiellement $nbLignes<>$nbLoaded !".EOL);
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but du traitement du fichier n<>$i, $nomFichier ($nbLignes lignes <20> traiter) !".EOL;
|
|||
|
$tabToIdentite[]=$idFlux;
|
|||
|
flush();
|
|||
|
$finFichier=false;
|
|||
|
$nbLignes=$nbErreurs=0;
|
|||
|
rewind($fp);
|
|||
|
|
|||
|
while (!feof($fp))
|
|||
|
{
|
|||
|
$nbLignes++;
|
|||
|
$a = trim(fgets($fp, 1024));
|
|||
|
if ($finFichier) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a <20>t<EFBFBD> trouv<75>e <20> la ligne pr<70>c<EFBFBD>dente !".EOL;//Nouveau format du fichier <20>v<EFBFBD>nement (de Mai 2007) non g<>r<EFBFBD> !
|
|||
|
die();
|
|||
|
} elseif ($a=='')
|
|||
|
break;
|
|||
|
|
|||
|
//unset($tabErreur); $nbErr=0;
|
|||
|
$tabEve=array();
|
|||
|
$tabEve['idFlux'] =$idFlux;
|
|||
|
$tabEve['insSIREN'] =substr($a, 0, 9 ); // N<> Siren de l'entreprise concern<72>e par la mise <20> jour
|
|||
|
$tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'<27>tablissement
|
|||
|
|
|||
|
// DONNEES SUR L.EVENEMENT
|
|||
|
$tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise <20> jour
|
|||
|
$tabEve['insEVE'] =substr($a,33,3);//Type d'<27>v<EFBFBD>nement
|
|||
|
$tabEve['insDATEVE'] =substr($a,36,8);//Date de l'<27>v<EFBFBD>nement
|
|||
|
$tabEve['insTYPETAB'] =substr($a,44,2);//Type d'<27>tablissement concern<72> par l'<27>v<EFBFBD>nement
|
|||
|
|
|||
|
// INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE
|
|||
|
$tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage
|
|||
|
$tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Compl<70>ment de nom de l'entreprise pour l'adressage
|
|||
|
$tabEve['insL3_CADR'] =trim(substr($a,122,38));//Compl<70>ment d'adresse pour l.adressage
|
|||
|
$tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Num<75>ro et libell<6C> dans la voie
|
|||
|
$tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution sp<73>ciale
|
|||
|
$tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage
|
|||
|
$tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libell<6C> du pays pour les adresses <20> l'<27>tranger
|
|||
|
$tabEve['insTEL'] =trim(substr($a,312,14));//T<>l<EFBFBD>phone
|
|||
|
$tabEve['insRPET'] =substr($a,326,2);//R<>gion de localisation de l'<27>tablissement
|
|||
|
$tabEve['insDEPCOM'] =substr($a,328,5);//D<>partement et commune d'implantation de l'<27>tablissement
|
|||
|
$tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie
|
|||
|
$tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libell<6C> de la commune de localisation de l'<27>tablissement
|
|||
|
$tabEve['insCODPOS'] =substr($a,370,5);//Code postal
|
|||
|
$tabEve['insNUMVOIE'] =substr($a,375,4);//Num<75>ro dans la voie
|
|||
|
$tabEve['insINDREP'] =substr($a,379,1);//Indice de r<>p<EFBFBD>tition
|
|||
|
$tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'<27>tablissement
|
|||
|
$tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libell<6C> de la voie de localisation de l'<27>tablissement
|
|||
|
// DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT
|
|||
|
$tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation
|
|||
|
$tabEve['insDCRET'] =substr($a,456,8);//Date de cr<63>ation de l'<27>tablissement (ann<6E>e, mois, jour)
|
|||
|
$tabEve['insDREACTET'] =substr($a,464,8);//Date de r<>activation de l'<27>tablissement (ann<6E>e, mois, jour)
|
|||
|
$tabEve['insSIEGE'] =substr($a,472,1);//Qualit<69> de si<73>ge ou non de l.<2E>tablissement
|
|||
|
$tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production
|
|||
|
$tabEve['insORIGINE'] =substr($a,474,2);//Origine de la cr<63>ation de l'<27>tablissement
|
|||
|
$tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'<27>tablissement
|
|||
|
$tabEve['insAPET700'] =substr($a,478,5);//Activit<69> principale de l'entreprise en 700 classes
|
|||
|
$tabEve['insDAPET'] =substr($a,483,4);//Date de validit<69> de l'activit<69> principale de l'<27>tablissement
|
|||
|
$tabEve['insAPRM'] =substr($a,487,6);//Activit<69> principale au registre des m<>tiers
|
|||
|
$saisonat=trim(strtoupper(substr($a,493,2)));//Caract<63>re saisonnier ou non de l'activit<69> de l'<27>tablissement
|
|||
|
if ($saisonat=='S') $tabEve['insSAISONAT'] =1;
|
|||
|
else $tabEve['insSAISONAT'] =0;
|
|||
|
$tabEve['insAUXILT'] =substr($a,495,1);//Caract<63>re auxiliaire de l'activit<69> de l'<27>tablissement
|
|||
|
$tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activit<69> de l'<27>tablissement
|
|||
|
$tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activit<69> de l'<27>tablissement
|
|||
|
$tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin
|
|||
|
$tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salari<72> de l'<27>tablissement
|
|||
|
$tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salari<72> de l'<27>tablissement <20> la centaine pr<70>s
|
|||
|
$tabEve['insDEFET'] =substr($a,510,4);//Date de mise <20> jour de l'effectif salari<72> de l'<27>tablissement (ann<6E>e)
|
|||
|
$tabEve['insPRODPART'] =substr($a,514,1);//Participation particuli<6C>re <20> la production de l'<27>tablissement
|
|||
|
$tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du pr<70>d<EFBFBD>cesseur ou du successeur
|
|||
|
$tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associ<63>
|
|||
|
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT
|
|||
|
$tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise <20> jour de l'enseigne de l'<27>tablissement
|
|||
|
$tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise <20> jour de l'activit<69> principale de l'<27>tablissement
|
|||
|
$tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise <20> jour de l'adresse de localisation de l'<27>tablissement
|
|||
|
$tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise <20> jour du caract<63>re exploitant de l'<27>tablissement
|
|||
|
$tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise <20> jour du caract<63>re auxiliaire de l'activit<69> de l'<27>tablissement
|
|||
|
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
|
|||
|
$tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise
|
|||
|
$tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise
|
|||
|
$tabEve['insDCREN'] =substr($a,606,8);//Date de cr<63>ation de l'entreprise (ann<6E>e, mois, jour)
|
|||
|
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de r<>activation de l'entreprise (ann<6E>e, mois, jour)
|
|||
|
$tabEve['insCJ'] =substr($a,622,4);//Cat<61>gorie juridique ou professionnelle pour les entrepreneurs individuels
|
|||
|
$tabEve['insCIVILITE'] =substr($a,626,1);//Civilit<69> des entrepreneurs individuels
|
|||
|
$tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production
|
|||
|
$tabEve['insFiller4'] =substr($a,628,1);//Zone r<>serv<72>e
|
|||
|
$tabEve['insAPEN700'] =substr($a,629,5);//Activit<69> principale de l'<27>tablissement en 700 classes
|
|||
|
$tabEve['insDAPEN'] =substr($a,634,4);//Date de validit<69> de l'activit<69> principale de l'entreprise
|
|||
|
$tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salari<72> de l'entreprise
|
|||
|
$tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salari<72> de l'entreprise <20> la centaine pr<70>s
|
|||
|
$tabEve['insDEFEN'] =substr($a,646,4);//Date de mise <20> jour de l'effectif salari<72> de l.entreprise (ann<6E>e)
|
|||
|
$tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'<27>tablissements exploitants actifs de l'entreprise
|
|||
|
$tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-r<>gionalit<69> de l'entreprise
|
|||
|
$tabEve['insREGIMP'] =substr($a,655,2);//Principale r<>gion de localisation de l'entreprise
|
|||
|
$tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivit<69> de l'entreprise
|
|||
|
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
|
|||
|
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise <20> jour du nom ou de la raison sociale
|
|||
|
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise <20> jour du sigle
|
|||
|
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise <20> jour de la cat<61>gorie juridique ou cat<61>gorie professionnelle
|
|||
|
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise <20> jour de l'activit<69> principale de l'entreprise
|
|||
|
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise <20> jour du caract<63>re exploitant de l'entreprise
|
|||
|
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise <20> jour du Nic du si<73>ge ou l'<27>tablissement principal
|
|||
|
//INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
|
|||
|
$tabEve['insNICSIEGE']=substr($a,664,5);//Num<75>ro interne de classement de l'<27>tablissement si<73>ge
|
|||
|
$tabEve['insDEPCOMEN']=substr($a,669,5);//D<>partement et commune de localisation du si<73>ge de l.entreprise
|
|||
|
$tabEve['insRPEN']=substr($a,674,2);//R<>gion de localisation du si<73>ge de l'entreprise
|
|||
|
|
|||
|
$insSIREN=$tabEve['insSIREN'];
|
|||
|
$insNIC=$tabEve['insNIC'];
|
|||
|
|
|||
|
if (!$iInsee->valideSiren($insSIREN,$insNIC)) {
|
|||
|
$tabEve['siretValide']=0;
|
|||
|
$nbSiretInvalides++;
|
|||
|
}
|
|||
|
else
|
|||
|
$tabEve['siretValide']=1;
|
|||
|
|
|||
|
/** Conversion de la saisonnalit<69> **/
|
|||
|
$insNOMEN=$tabEve['insNOMEN'];
|
|||
|
$tabNoms=getNomPrenom($insNOMEN);
|
|||
|
$tabEve['dirNom']=$tabNoms['Nom'];
|
|||
|
$tabEve['dirNomUsage']=$tabNoms['NomUsage'];
|
|||
|
$tabEve['dirPrenom']=$tabNoms['Prenom'];
|
|||
|
|
|||
|
if (trim($insSIREN)<>'' && trim($insNIC)<>'') {
|
|||
|
$finFichier=false;
|
|||
|
$ret=$iDb->insert($db_table, $tabEve);
|
|||
|
if ($ret===false) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - ERREUR n<>". mysql_errno()." <20> l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL;
|
|||
|
$nbErreurs++;
|
|||
|
flush();
|
|||
|
} else
|
|||
|
$updateInsee=true;
|
|||
|
} else $finFichier=true;
|
|||
|
/* if ($tabErreur) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, probl<62>mes pour le siret $insSIREN $insNIC !!!\r\n";
|
|||
|
print_array($tabErreur,0,"txt");
|
|||
|
flush();
|
|||
|
}
|
|||
|
*/
|
|||
|
//unset($tabDataToInsert);
|
|||
|
}
|
|||
|
fclose ($fp);
|
|||
|
echo date ('Y/m/d - H:i:s')." - Le fichier n<>$i, $nomFichier vient d'<27>tre charg<72>.".EOL;
|
|||
|
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes trait<69>es dont $nbSiretInvalides siret invalides !".EOL;
|
|||
|
$nomFichierCharges[]=$nomFichier;
|
|||
|
$nbLignesCharges=$nbLignes;
|
|||
|
$nbSiretInvalidesCharges=$nbSiretInvalides;
|
|||
|
}
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes trait<69>es dont $nbSiretInvalides siret invalides !".EOL;
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Chargement des <20>v<EFBFBD>nements termin<69>";
|
|||
|
|
|||
|
|
|||
|
/**********************************************************************************************************************************
|
|||
|
* MISE A JOUR DE LA TABLE IDENTITE
|
|||
|
**********************************************************************************************************************************/
|
|||
|
|
|||
|
if ($updateInsee) {
|
|||
|
echo ', d<>but de mise <20> jour de la table identite.'.EOL;
|
|||
|
$fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ, idFlux, insMNOMEN, insMSIGLE, insMCJ, insMAPEN, insMEXPLEN, insMNICSIEGE';
|
|||
|
// on lit R pour mettre <20> jour W
|
|||
|
$fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ';
|
|||
|
if ($iReprise>0)
|
|||
|
$tabToIdentite=array(0);
|
|||
|
elseif ($sirenReprise>1000)
|
|||
|
$tabToIdentite=array(0);
|
|||
|
elseif (!$dateReprise)//$tabToIdentite
|
|||
|
sort($tabToIdentite);
|
|||
|
else
|
|||
|
$tabToIdentite=array($dateReprise);
|
|||
|
|
|||
|
foreach ($tabToIdentite as $idFlux) {
|
|||
|
//$idFlux='20080114';
|
|||
|
|
|||
|
if ($iReprise>0) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul <20>v<EFBFBD>nement de flux quotidien...".EOL;
|
|||
|
$ret=$iDbR->select('insee_even', $fieldsR, "id=$iReprise", true, MYSQL_ASSOC, true);
|
|||
|
echo date ('Y/m/d - H:i:s') . " - $ret ligne <20> mettre <20> jour...".EOL;
|
|||
|
} elseif ($sirenReprise>1000) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul siren...".EOL;
|
|||
|
$ret=$iDbR->select('insee_even', $fieldsR, "insSIREN=$sirenReprise ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
|
|||
|
echo date ('Y/m/d - H:i:s') . " - $ret lignes <20> mettre <20> jour...".EOL;
|
|||
|
} elseif (!$dateReprise) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - D<>but du chargement du flux $idFlux...".EOL;
|
|||
|
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes <20> mettre <20> jour...".EOL;
|
|||
|
} else {
|
|||
|
$sqlDateFin='';
|
|||
|
if ($dateFin) {
|
|||
|
$strDateFin="jusqu'au $dateFin";
|
|||
|
$sqlDateFin=" AND idFlux<=$dateFin ";
|
|||
|
}
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux $strDateFin...".EOL;
|
|||
|
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux $sqlDateFin ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
|
|||
|
// $ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux AND LENGTH(insL2_COMP)>30 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
|
|||
|
|
|||
|
/* $ret=$iDbR->select('insee_even', $fieldsR, "insSIREN IN (100800002,987310505) AND idFlux IN (20040426, 20080114) ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);*/
|
|||
|
echo date ('Y/m/d - H:i:s') . " - $ret lignes <20> mettre <20> jour...".EOL;
|
|||
|
}
|
|||
|
$k=$nbInsert=$nbUpdate=$nbDBl=$nbSirenDeja=$nbInsertSiren=0;
|
|||
|
$messageDebug="Ligne : SIREN NIC Actif/ActifEco\tEVE\tDESTINAT\tTYPETAB\tORIGINE".EOL;
|
|||
|
|
|||
|
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
|
|||
|
$k++;
|
|||
|
$siren=$ligne['insSIREN'];
|
|||
|
$nic =$ligne['insNIC'];
|
|||
|
$ret2=$iDbW->select('identite', $fieldsW, "SIREN=$siren AND NIC=$nic");
|
|||
|
$cpt=count($ret2);
|
|||
|
if ($cpt>0) $etab=$ret2[0];
|
|||
|
else {
|
|||
|
$ret3=$iDbW->select('identite', $fieldsW, "SIREN=$siren AND SIEGE=1 ORDER BY NIC DESC");
|
|||
|
$etab2=array();
|
|||
|
if (count($ret3)>0) {
|
|||
|
$etab2=$ret3[0];
|
|||
|
$nbSirenDeja++;
|
|||
|
} else
|
|||
|
$nbInsertSiren++;
|
|||
|
|
|||
|
$etab=array('IDENTITE_PRE'=>@$etab2['IDENTITE_PRE'],
|
|||
|
'NOM'=>@$etab2['NOM'],
|
|||
|
'ENSEIGNE'=>'',
|
|||
|
'SIGLE'=>@$etab2['SIGLE']);
|
|||
|
}
|
|||
|
$cj1=substr($ligne['insCJ'],0,1)*1;
|
|||
|
if ($cj1==1) {
|
|||
|
$arrDir=array( 'DIR_FCT'=>'PP',
|
|||
|
'DIR_IDEN'=> strtoupper(trim($ligne['dirNom'])).' '.
|
|||
|
ucwords(strtolower(trim($ligne['dirPrenom']))));
|
|||
|
} else
|
|||
|
$arrDir=array();
|
|||
|
|
|||
|
$evenTxt=trim($ligne['insEVE']);
|
|||
|
$even=$evenTxt*1;
|
|||
|
$typEtab=trim($ligne['insTYPETAB'])*1;
|
|||
|
if ($even==0) {
|
|||
|
switch(''.trim($ligne['insEVE'])) {
|
|||
|
case 'MPF':
|
|||
|
case 'MNP':
|
|||
|
case 'MSA':
|
|||
|
case 'MAS':
|
|||
|
case 'MAC':
|
|||
|
case 'M00':
|
|||
|
case '00': $even=780; break;
|
|||
|
case 'M0C':
|
|||
|
case 'CC': $even=110; break; // Cr<43>ation d'une entreprise
|
|||
|
case 'M0F':
|
|||
|
case 'FF': $even=410; break; // Fermeture de l'entreprise
|
|||
|
case 'OC': $even=130; break; // Cr<43>ation d'un <20>tablissement
|
|||
|
case 'RC': $even=120; break; // R<>activation d'une entreprise par cr<63>ation d'un <20>tablissement
|
|||
|
case 'M0R':
|
|||
|
case 'RR': $even=120; break; // R<>activation d'une entreprise par r<>activation d'un <20>tablissement
|
|||
|
case 'OA': $even=145; break; // Activation <20>conomique d'un <20>tab par adjonction de moyens de production
|
|||
|
case 'OD': $even=430; break; // D<>sactivation <20>conomique d'un <20>tab par suppression de moyens de prod.
|
|||
|
case 'OF': $even=430; break; // Fermeture d'un <20>tablissement
|
|||
|
case 'TC': $even=510; $typEtab=11; break; // Cr<43>ation de l'<27>tablissement d'arriv<69>e et cessation de l'<27>tablissement de d<>part dans le cadre d'un transfert
|
|||
|
case 'TR': $even=510; $typEtab=11; break;
|
|||
|
case 'T0': $even=510; $typEtab=11; break;
|
|||
|
case 'TA': $even=510; $typEtab=11; break;
|
|||
|
case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un <20>tablissement dans le cadre d'un transfert
|
|||
|
case 'TD': $even=510; $typEtab=10; break; // D<>sactivation <20>conomique d'un <20>tablissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert
|
|||
|
default:
|
|||
|
if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130;
|
|||
|
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145;
|
|||
|
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='D') $even=430;
|
|||
|
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='F') $even=430;
|
|||
|
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='R') $even=120;
|
|||
|
else echo ("Erreur code sur Siren $siren $nic : code Even=\"".trim($ligne['insEVE']).'"'.EOL);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//$even=780
|
|||
|
|
|||
|
$origine=trim($ligne['insORIGINE']);
|
|||
|
$destinat=trim($ligne['insDESTINAT']);
|
|||
|
$dateFerEN=$dateFerET=-1; // Rar d<>faut, on n'y touche pas
|
|||
|
$actifEco=-1; // Economiquement actif, par d<>faut Idem, RAS
|
|||
|
$sirenNonDiffusible=false;
|
|||
|
|
|||
|
switch ($even) {
|
|||
|
case 110: // Cr<43>ation ou r<>activation Cr<43>ation d'une entreprise
|
|||
|
case 120: // R<>activation d'une entreprise
|
|||
|
case 125: // R<>activation d'une entreprise suite <20> une mise <20> jour du r<>pertoire
|
|||
|
case 130: // Cr<43>ation d'un <20>tablissement
|
|||
|
case 145: // Reprise d'activit<69> dans un <20>tablissement suite <20> une mise <20> jour du r<>pertoire
|
|||
|
|
|||
|
switch ($typEtab) {
|
|||
|
case 15: // Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
case 25: // <20>tablissement modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
$dateFerET=0;
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
break;
|
|||
|
case 23: // <20>tablissement ferm<72> (hors transfert)
|
|||
|
$dateFerET=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
break;
|
|||
|
default:
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=1;
|
|||
|
// $actifEco=1;
|
|||
|
break;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 400: // Suppression d'un double
|
|||
|
$dateFerET=$dateFerEN=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
//continue; // On ignore les suppressions de doublons
|
|||
|
break;
|
|||
|
case 410: // Cessation juridique de l'entreprise
|
|||
|
$dateFerET=$ligne['insDATEVE'];
|
|||
|
$dateFerEN=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
/** @todo, il faudrait fermer tous les <20>tabs **/
|
|||
|
break;
|
|||
|
case 420: // Absence d'activit<69> de l'entreprise (cessation <20>conomique de l'entreprise)
|
|||
|
// $dateFerET=$ligne['insDATEVE'];
|
|||
|
// $dateFerEN=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
/** @todo, il faudrait fermer tous les <20>tabs **/
|
|||
|
break;
|
|||
|
case 425: // Absence d'activit<69> d'une entreprise suite <20> une mise <20> jour au r<>pertoire
|
|||
|
case 430: // Fermeture d'un <20>tablissement
|
|||
|
case 435: // Fermeture d'un <20>tablissement suite <20> une mise <20> jour au r<>pertoire
|
|||
|
switch ($typEtab) {
|
|||
|
case 13: // Si<53>ge ferm<72> (hors transfert)
|
|||
|
case 23: // <20>tablissement ferm<72> (hors transfert)
|
|||
|
$dateFerET=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
break;
|
|||
|
case 15: // Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
case 25: // <20>tablissement modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
// $dateFerET=$ligne['insDATEVE'];
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
break;
|
|||
|
case 16: // Si<53>ge modifi<66> (hors transfert) : modification de l'APE de l'<27>tablissement
|
|||
|
case 17: // Si<53>ge modifi<66> (hors transfert) : modification de l'identification de l'<27>tablissement
|
|||
|
case 19: // Si<53>ge modifi<66> (hors transfert) : autre modification de l'<27>tablissement
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=1;
|
|||
|
break;
|
|||
|
case 24: // <20>tablissement modifi<66> (hors transfert) : modification de l'activit<69> principale avec activation <20>conomique
|
|||
|
case 14: // Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale avec activation <20>conomique
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=1;
|
|||
|
$actifEco=1;
|
|||
|
break;
|
|||
|
default:
|
|||
|
$actif=-1;
|
|||
|
break;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 510: // Cr<43>ation de l'<27>tablissement d'arriv<69>e et cessation de l'<27>tablissement de d<>part dans le cadre d'un transfert
|
|||
|
case 520: // Cr<43>ation de l'<27>tablissement d'arriv<69>e et modification de l'<27>tablissement de d<>part dans le cadre d'un transfert
|
|||
|
case 530: // Modification de l'<27>tablissement d'arriv<69>e et cessation de l'<27>tablissement de d<>part dans le cadre d'un transfert
|
|||
|
case 540: // Modification de l'<27>tablissement d'arriv<69>e et modification de l'<27>tablissement de d<>part dans le cadre d'un transfert
|
|||
|
switch ($typEtab) {
|
|||
|
case 9: // Si<53>ge apr<70>s transfert non cr<63><72>
|
|||
|
case 8: // Si<53>ge avant transfert non ferm<72>
|
|||
|
case 11: // Si<53>ge apr<70>s transfert cr<63><72>
|
|||
|
case 12: // Si<53>ge cr<63><72> (hors transfert)
|
|||
|
case 21: // <20>tablissement apr<70>s transfert cr<63><72>
|
|||
|
case 22: // <20>tablissement cr<63><72> (hors transfert)
|
|||
|
case 30: // <20>tablissement avant transfert non ferm<72>
|
|||
|
case 31: // <20>tablissement apr<70>s transfert non cr<63><72>
|
|||
|
//echo "case even=$even, typeEtab=$typEtab\n";
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=$actifEco=1;
|
|||
|
break;
|
|||
|
case 14: // Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale avec activation <20>conomique
|
|||
|
case 24: // <20>tablissement modifi<66> (hors transfert) : modification de l'activit<69> principale avec activation <20>conomique
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=$actifEco=1;
|
|||
|
break;
|
|||
|
case 10: // Si<53>ge avant transfert ferm<72>
|
|||
|
case 13: // Si<53>ge ferm<72> (hors transfert)
|
|||
|
case 20: // <20>tablissement avant transfert ferm<72>
|
|||
|
case 23: // <20>tablissement ferm<72> (hors transfert)
|
|||
|
case 32: // <20>tablissement supprim<69>
|
|||
|
//echo "case even=$even, typeEtab=$typEtab\n";
|
|||
|
$dateFerET=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
break;
|
|||
|
case 15: // Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
case 25: // <20>tablissement modifi<66> (hors transfert) : modification de l'activit<69> principale avec d<>sactivation <20>conomique
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
break;
|
|||
|
default:
|
|||
|
// 19 Si<53>ge modifi<66> (hors transfert) : autre modification de l'<27>tablissement
|
|||
|
// 29 <09>tablissement modifi<66> (hors transfert) : modification d.une autre variable de l'<27>tablissement
|
|||
|
$actif=-1;
|
|||
|
break;
|
|||
|
/*
|
|||
|
Que fait on pour ces codes ?
|
|||
|
16 Si<53>ge modifi<66> (hors transfert) : modification de l'activit<69> principale de l'<27>tablissement
|
|||
|
17 Si<53>ge modifi<66> (hors transfert) : modification de l'identification de l'<27>tablissement
|
|||
|
26 <09>tablissement modifi<66> (hors transfert) : autre modification de l'activit<69> principale de l'<27>tablissement
|
|||
|
27 <09>tablissement modifi<66> (hors transfert) : modification de l'identification de l'<27>tablissement
|
|||
|
*/
|
|||
|
}
|
|||
|
break;
|
|||
|
case 610: // Modification d'activit<69> au niveau du SIREN associ<63> <20> une activation <20>conomique par adjonction de moyens de production
|
|||
|
case 640: // Modification d'activit<69> au niveau de l'<27>tablissement associ<63>e <20> une activation <20>conomique par adjonction de moyens de production
|
|||
|
$actif=$actifEco=1;
|
|||
|
break;
|
|||
|
case 620: // Modification d'activit<69> au niveau du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production
|
|||
|
case 621: // Modification d'activit<69> du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production suite <20> une correction d'erreur
|
|||
|
/*$dateFerET=$ligne['insDATEVE'];
|
|||
|
$dateFerEN=$ligne['insDATEVE'];
|
|||
|
$actif=0;*/
|
|||
|
$dateFerET=$dateFerEN=0;
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
break;
|
|||
|
case 650: // Modification d'activit<69> au niveau de l'<27>tablissement associ<63>e <20> une d<>sactivation <20>conomique par suppression de moyens de production
|
|||
|
// $dateFerET=$ligne['insDATEVE'];
|
|||
|
$dateFerET=0;
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
break;
|
|||
|
case 795: // SIREN non diffusible
|
|||
|
$actif=1;
|
|||
|
$sirenNonDiffusible=true;
|
|||
|
break;
|
|||
|
case 810: // Refus d'inscription du SIREN au RCS
|
|||
|
$actif=0;
|
|||
|
$sirenNonDiffusible=true;
|
|||
|
break;
|
|||
|
case 631: // Autre modification d'activit<69> du SIREN associ<63>
|
|||
|
case 661: // Autre modification d'activit<69> au niveau de l'<27>tablissement
|
|||
|
case 710: // Modification de l'identification du SIREN
|
|||
|
case 711: // Modification de l'identification du SIREN suite <20> correction d'erreur
|
|||
|
case 720: // Modification de l'adresse ou de l'identification de l'<27>tablissement
|
|||
|
case 780: // Autre modification entra<72>nant la mise <20> jour d'au moins une variable du r<>pertoire
|
|||
|
case 781: // Autre modification entra<72>nant la mise <20> jour d'au moins une variable du r<>pertoire suite <20> correction d'erreur
|
|||
|
default:
|
|||
|
if ($evenTxt=='RCS') $sirenNonDiffusible=true;
|
|||
|
$actif=-1;
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
//echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL;
|
|||
|
|
|||
|
/** Si on n'a pas pu d<>termin<69> l'<27>tat actif ou inactif, on test si la variable DESTINAT est renseign<67>e !
|
|||
|
**/
|
|||
|
if ($actif==-1 && (trim($ligne['insEVE'])=='MPF' || trim($ligne['insEVE'])=='MNP')) {
|
|||
|
// Etablisement pr<70>sum<75> ferm<72> mais on laisse actif juridiquement
|
|||
|
$actif=1;
|
|||
|
$actifEco=0;
|
|||
|
}
|
|||
|
// On ignore la variable DESTINAT !!! 4 juillet 2011
|
|||
|
/* elseif ($actif==-1 && ( $destinat*1==3 || // Vendu
|
|||
|
$destinat=='B' || // Ferm<72>
|
|||
|
$destinat=='C' || // Supprim<69>
|
|||
|
$destinat=='D' || // Mise en location-g<>rance de la totalit<69> du fonds
|
|||
|
$destinat=='F' || // Cessation d'activit<69> (pour les liasses agricoles)
|
|||
|
$destinat=='I' || // Transmission au conjoint (pour les liasses agricoles)
|
|||
|
$destinat=='J' || // Cession (pour les liasses agricoles)
|
|||
|
$destinat=='G' ) ) // Mise en location-g<>rance de la totalit<69> des terres et des b<>timents agricoles (pour les liasses agricoles)
|
|||
|
{
|
|||
|
$dateFerET=$ligne['insDATEVE'];
|
|||
|
$actif=$actifEco=0;
|
|||
|
}
|
|||
|
elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activit<69>, l'<27>tablissement devient si<73>ge
|
|||
|
$destinat*1==8 || // Maintien d'activit<69>, l'<27>tablissement devient principal
|
|||
|
$destinat=='A' || // Maintien d'activit<69>, l'<27>tablissement devient secondaire
|
|||
|
$destinat=='E' || // Mise en location-g<>rance d'une partie du fonds
|
|||
|
$destinat=='VP' || // suppression partielle d'activit<69> par vente
|
|||
|
$destinat=='DP' || // suppression partielle d'activit<69> par disparition
|
|||
|
$destinat=='RP' || // suppression partielle d'activit<69> par reprise par le propri<72>taire
|
|||
|
$destinat=='H') ) // Mise en location-g<>rance d'une partie des terres et des b<>timents agricoles (pour les liasses agricoles)
|
|||
|
{
|
|||
|
$actif=$actifEco=1;
|
|||
|
}*/
|
|||
|
else {
|
|||
|
$messageDebug.="$k : $siren $nic $actif/$actifEco\t$even\t$destinat\t$typEtab\t$origine".EOL;
|
|||
|
if ($modeDebug)
|
|||
|
echo "$k : $siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)".EOL;
|
|||
|
}
|
|||
|
|
|||
|
if ($actif==-1) $arrActif=array();
|
|||
|
else $arrActif=array('ACTIF'=>$actif);
|
|||
|
|
|||
|
if ($actifEco<>-1) $arrActif=array_merge($arrActif, array('actifEco'=>$actifEco));
|
|||
|
|
|||
|
if ($dateFerET<>-1) $arrActif=array_merge($arrActif, array('dateFerET'=>$dateFerET));
|
|||
|
|
|||
|
if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN));
|
|||
|
|
|||
|
/** Zone Identit<69> pr<70>c<EFBFBD>dente
|
|||
|
** contenant tous les anciens nom, sigle et/ou enseigne concat<61>n<EFBFBD>s
|
|||
|
** n'ai jamais affich<63> mais sert pour l'indexation au niveau de la recherche
|
|||
|
** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise <20> jour de l'enseigne de l'<27>tablissement
|
|||
|
** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise <20> jour du nom ou de la raison sociale
|
|||
|
** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise <20> jour du sigle
|
|||
|
**/
|
|||
|
$identite_pre=trim($etab['IDENTITE_PRE']);
|
|||
|
$nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>')));
|
|||
|
$nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>'))),0,38);
|
|||
|
if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') {
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, <20>tablissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL;
|
|||
|
if (strlen($identite_pre)==0)
|
|||
|
$identite_pre=$nomEntrepEnBase;
|
|||
|
else
|
|||
|
$identite_pre.=','.$nomEntrepEnBase;
|
|||
|
}
|
|||
|
|
|||
|
$nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>')));
|
|||
|
$nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>')));
|
|||
|
if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') {
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, <20>tablissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL;
|
|||
|
if (strlen($identite_pre)==0)
|
|||
|
$identite_pre=$nomEtabEnBase;
|
|||
|
else
|
|||
|
$identite_pre.=','.$nomEtabEnBase;
|
|||
|
}
|
|||
|
|
|||
|
$sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>')));
|
|||
|
$sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'<27>')));
|
|||
|
if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') {
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, <20>tablissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL;
|
|||
|
if (strlen($identite_pre)==0)
|
|||
|
$identite_pre=$sigEntrepEnBase;
|
|||
|
else
|
|||
|
$identite_pre.=','.$sigEntrepEnBase;
|
|||
|
}
|
|||
|
|
|||
|
if ($siren==382063717) {
|
|||
|
print_r($ligne);
|
|||
|
//die();
|
|||
|
}
|
|||
|
if ($even==631 || // Autre modification d'activit<69> du SIREN associ<63>
|
|||
|
$even==710 || // Modification de l'identification du SIREN
|
|||
|
$even==711 || // Modification de l'identification du SIREN suite <20> correction d'erreur
|
|||
|
$ligne['insMNOMEN']==1 || // Indicateur Modif Raison Sociale
|
|||
|
$ligne['insMSIGLE']==1 || // Indicateur Modif SIGLE
|
|||
|
$ligne['insMCJ']==1 || // Indicateur Modif CJ
|
|||
|
$ligne['insMAPEN']==1 || // Indicateur Modif APEN
|
|||
|
$ligne['insMEXPLEN']==1 || // Indicateur Modif Exploitant
|
|||
|
$ligne['insMNICSIEGE']==1 ) { // Indicateur Modif NIC Si<53>ge
|
|||
|
|
|||
|
$tabModifsEntrep[''.substr(''.$ligne['insDATEMAJ'].'',0,8).'-'.$ligne['insSIREN']]=array(
|
|||
|
'NIC'=> $ligne['insNIC'],
|
|||
|
'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
|
|||
|
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
|
|||
|
'CJ'=> trim($ligne['insCJ']),
|
|||
|
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
|
|||
|
'CIVILITE'=> trim($ligne['insCIVILITE']), // Civilit<69> des entrepreneurs individuels
|
|||
|
'EXPLEN'=> trim($ligne['insEXPLEN']), // Entreprise exploitant tout ou partie des moyens de production
|
|||
|
'DAPEN'=> trim($ligne['insDAPEN']), // Date de validit<69> de l'activit<69> principale de l'entreprise
|
|||
|
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tranche d'effectif salari<72> de l'entreprise
|
|||
|
'EFF_ENT'=> trim($ligne['insEFENCENT']), // Effectif salari<72> de l'entreprise <20> la centaine pr<70>s
|
|||
|
'DEFEN'=> trim($ligne['insDEFEN']), // Date de mise <20> jour de l'effectif salari<72> de l.entreprise (ann<6E>e)
|
|||
|
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'<27>tablissements exploitants actifs de l'entreprise
|
|||
|
'MONOREG'=> trim($ligne['insMONOREG']), // Indice de mono-r<>gionalit<69> de l'entreprise
|
|||
|
'REGIMP'=> trim($ligne['insREGIMP']), // Principale r<>gion de localisation de l'entreprise
|
|||
|
'MONOACT'=> trim($ligne['insMONOACT']), // Indice de monoactivit<69> de l'entreprise
|
|||
|
/*
|
|||
|
'APE_ENT'=> trim($ligne['insNICSIEGE']), // Num<75>ro interne de classement de l'<27>tablissement si<73>ge
|
|||
|
'APE_ENT'=> trim($ligne['insDEPCOMEN']), // D<>partement et commune de localisation du si<73>ge de l.entreprise
|
|||
|
'APE_ENT'=> trim($ligne['insRPEN']), // R<>gion de localisation du si<73>ge de l'entreprise
|
|||
|
|
|||
|
/* 'DCREN'=> trim($ligne['insDCREN']), // Date de cr<63>ation de l'entreprise
|
|||
|
'MODEN'=> trim($ligne['insMODEN']),
|
|||
|
*/
|
|||
|
'DATE_MAJ'=> substr(''.$ligne['insDATEMAJ'].'',0,8),
|
|||
|
);
|
|||
|
/* $tabEve['insDCREN'] =substr($a,606,8);//Date de cr<63>ation de l'entreprise (ann<6E>e, mois, jour)
|
|||
|
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de r<>activation de l'entreprise (ann<6E>e, mois, jour)
|
|||
|
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
|
|||
|
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise <20> jour du nom ou de la raison sociale
|
|||
|
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise <20> jour du sigle
|
|||
|
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise <20> jour de la cat<61>gorie juridique ou cat<61>gorie professionnelle
|
|||
|
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise <20> jour de l'activit<69> principale de l'entreprise
|
|||
|
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise <20> jour du caract<63>re exploitant de l'entreprise
|
|||
|
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise <20> jour du Nic du si<73>ge ou l'<27>tablissement principal
|
|||
|
*/
|
|||
|
}
|
|||
|
$arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
|
|||
|
'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'<27>tablissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarch<63>)
|
|||
|
'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'<27>tablissement ou enseigne
|
|||
|
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
|
|||
|
'SIEGE'=> $ligne['insSIEGE'], // Si<53>ge
|
|||
|
'IDENTITE_PRE'=>$identite_pre,
|
|||
|
|
|||
|
'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N<> dans la voie
|
|||
|
'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ
|
|||
|
'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie
|
|||
|
'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie
|
|||
|
'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal
|
|||
|
'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune
|
|||
|
'ADR_COMP'=> trim($ligne['insL3_CADR']), // Compl<70>ment d'adresse
|
|||
|
'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Sp<53>ciale
|
|||
|
|
|||
|
'AUXILT'=> trim($ligne['insAUXILT']), //
|
|||
|
'SAISONAT'=> $ligne['insSAISONAT'], //
|
|||
|
'CJ'=> trim($ligne['insCJ']),
|
|||
|
'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme
|
|||
|
'DCRET'=> trim($ligne['insDCRET']), // Date de cr<63>ation de l'<27>tablissemennt
|
|||
|
'DCREN'=> trim($ligne['insDCREN']), // Date de cr<63>ation de l'entreprise
|
|||
|
|
|||
|
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
|
|||
|
'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'<27>tablissement (cf. table APE)
|
|||
|
|
|||
|
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'<27>tablissement de l'entreprise
|
|||
|
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep
|
|||
|
// 'TCA'=> trim($ligne['insTCA']), // Tr CA
|
|||
|
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
|
|||
|
'ADR_DEP'=> trim(substr($ligne['insDEPCOM'],0,2)),
|
|||
|
'ADR_COM'=> trim(substr($ligne['insDEPCOM'],2,3)),
|
|||
|
'EFF_ENT'=> trim($ligne['insEFENCENT']), // Eff Entrep
|
|||
|
'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement
|
|||
|
'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement
|
|||
|
|
|||
|
'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si diff<66>rent de france
|
|||
|
'APRM'=> trim($ligne['insAPRM']), // R<>pertoire M<>tier
|
|||
|
'ACTIVNAT'=> trim($ligne['insACTIVNAT']),
|
|||
|
'ORIGINE'=> trim($ligne['insORIGINE']),
|
|||
|
'MODET'=> trim($ligne['insMODET']),
|
|||
|
'EXPLET'=> trim($ligne['insEXPLET']),
|
|||
|
'DAPET'=> trim($ligne['insDAPET']),
|
|||
|
'LIEUACT'=> trim($ligne['insLIEUACT']),
|
|||
|
'ACTISURF'=> trim($ligne['insACTISURF']),
|
|||
|
'DEFET'=> trim($ligne['insDEFET']),
|
|||
|
'MODEN'=> trim($ligne['insMODEN']),
|
|||
|
'PRODPART'=> trim($ligne['insPRODPART']),
|
|||
|
'EXPLEN'=> trim($ligne['insEXPLEN']),
|
|||
|
'DEFEN'=> trim($ligne['insDEFEN']),
|
|||
|
'MONOREG'=> trim($ligne['insMONOREG']),
|
|||
|
'REGIMP'=> trim($ligne['insREGIMP']),
|
|||
|
'MONOACT'=> trim($ligne['insMONOACT']),
|
|||
|
'DAPEN'=> trim($ligne['insDAPEN']),
|
|||
|
|
|||
|
'DATE_MAJ'=> substr(''.$ligne['insDATEMAJ'].'',0,8),
|
|||
|
);
|
|||
|
|
|||
|
if ($cpt==0) {
|
|||
|
/**
|
|||
|
** On ajoute la fiche de l'<27>tablissement
|
|||
|
**/
|
|||
|
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // T<>l<EFBFBD>phone de l'<27>tablissement
|
|||
|
|
|||
|
$tabInsert=array( 'SIREN'=> $ligne['insSIREN'],
|
|||
|
'NIC'=> $ligne['insNIC'],
|
|||
|
);
|
|||
|
$tabInsert=array_merge($tabInsert, $arrTel, $arrDir, $arrBase, $arrActif);
|
|||
|
|
|||
|
// echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL;
|
|||
|
$retInsert=$iDbW->insert('identite', $tabInsert, true);
|
|||
|
if (!$retInsert) die('Erreur Mysql n<>'. mysql_errno() .' : '.mysql_error());
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajout<75>".EOL;
|
|||
|
$nbInsert++;
|
|||
|
} else {
|
|||
|
/**
|
|||
|
** On modifie la fiche de l'<27>tablissement
|
|||
|
**/
|
|||
|
$tel=trim($ret2[0]['TEL']);
|
|||
|
if (trim($ligne['insTEL'])<>'' && $tel=='')
|
|||
|
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // T<>l<EFBFBD>phone de l'<27>tablissement
|
|||
|
else
|
|||
|
$arrTel=array();
|
|||
|
|
|||
|
if (!$sirenNonDiffusible) {
|
|||
|
$tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif);
|
|||
|
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false);
|
|||
|
if (!$retUpdate) die('Erreur lors de MAJ Mysql n<>'. mysql_errno() .' : '.mysql_error());
|
|||
|
//if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifi<66>".EOL;
|
|||
|
$nbUpdate++;
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifi<66>e(s)".EOL;
|
|||
|
} elseif ($evenTxt<>'RCS') {
|
|||
|
$tabTmp=@$iInsee->getIdentiteLight($siren, $nic);
|
|||
|
$cj1=substr($tabTmp['FJ'],0,1);
|
|||
|
$tabInsert=array('siren'=> $siren,
|
|||
|
'nic'=> $nic,
|
|||
|
'cj1'=> $cj1,
|
|||
|
'idFlux'=> $ligne['idFlux'],
|
|||
|
'insEVE'=> $even,
|
|||
|
'mois'=> substr(''.$ligne['insDATEMAJ'].'',0,6),
|
|||
|
);
|
|||
|
$retInsert=$iDbW->insert('insee_nondiff', $tabInsert, true);
|
|||
|
if (!$retInsert) date ('Y/m/d - H:i:s')." - Siren $siren non diffusible, erreur Mysql n<>". mysql_errno() .' : '.mysql_error().EOL;
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siren $siren non diffusible !".EOL;
|
|||
|
}
|
|||
|
if ($cpt>1) {
|
|||
|
//die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL);
|
|||
|
$tabSirenDoubles[]=$siren;// RAF
|
|||
|
$fp=fopen('doublons.txt', 'a');
|
|||
|
fwrite($fp, "$siren $nic : $cpt lignes\n");
|
|||
|
fclose($fp);
|
|||
|
//print_r($ret2);
|
|||
|
echo date ('Y/m/d - H:i:s')." - Doublons sur $siren $nic : $cpt lignes".EOL;
|
|||
|
$nbDBl++;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes trait<69>s ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL;
|
|||
|
}
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Fin de la mise <20> jour de la table identit<69>".EOL;
|
|||
|
} else echo ', la table identite n\'est pas mise <20> jour !'.EOL;
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des <20>v<EFBFBD>nements INSEE".EOL;
|
|||
|
$message="Fichier <20>v<EFBFBD>nements '".implode(',', $nomFichierCharges)."' :
|
|||
|
- $nbLignesCharges lignes trait<69>es,
|
|||
|
- $nbSiretInvalidesCharges siret invalides,
|
|||
|
- $nbErreurs erreurs lors des insertions.
|
|||
|
";
|
|||
|
if ($updateInsee) {
|
|||
|
$message.="
|
|||
|
Table identit<69> :
|
|||
|
- $nbInsert cr<63>ations,
|
|||
|
- $nbUpdate mises <20> jour
|
|||
|
";
|
|||
|
$nbUpdate2=0;
|
|||
|
$messageDebug2='';
|
|||
|
/**
|
|||
|
** Mise <20> jour des donn<6E>es entreprises non encore r<>percut<75>es sur tous les <20>tablissements actifs
|
|||
|
**/
|
|||
|
$nbModifsEntrep=count($tabModifsEntrep);
|
|||
|
if ($nbModifsEntrep>0) echo "En/Et=DATE_MAJ - SIREN____ NIC__ - NOM___________________ SIGLE CJ__ APENT DAPE EXPLEN EFF_ENT DEFEN NBETAB".EOL;
|
|||
|
foreach($tabModifsEntrep as $idxDateSiren=>$tabEntrep) {
|
|||
|
$tmp=explode('-',$idxDateSiren);
|
|||
|
$dateMaj=$tmp[0];
|
|||
|
$siren=$tmp[1];
|
|||
|
$nic=$tabEntrep['NIC'];
|
|||
|
$ret2=$iDbR->select('identite', 'SIREN, NIC, NOM, SIGLE, CJ, APE_ENT, CIVILITE, EXPLEN, DAPEN, TEFF_ENT, EFF_ENT, DEFEN, NBETAB, MONOREG, REGIMP, MONOACT, DATE_MAJ', "SIREN=$siren AND ACTIF=1 AND NIC<>$nic");
|
|||
|
$tabUpdate=array( 'NOM' => $tabEntrep['NOM'],
|
|||
|
'SIGLE' => $tabEntrep['SIGLE'],
|
|||
|
'CJ' => $tabEntrep['CJ'],
|
|||
|
'APE_ENT' => $tabEntrep['APE_ENT'],
|
|||
|
'CIVILITE' => $tabEntrep['CIVILITE'], // Civilit<69>
|
|||
|
'EXPLEN' => $tabEntrep['APE_ENT'], // Entreprise exploitant tout ou partie des moyens de production
|
|||
|
'DAPEN' => $tabEntrep['DAPEN'], // Date de validit<69> de l'activit<69> principale de l'entreprise
|
|||
|
'TEFF_ENT' => $tabEntrep['TEFF_ENT'], // Tranche d'effectif salari<72> de l'entreprise
|
|||
|
'EFF_ENT' => $tabEntrep['EFF_ENT'], // Effectif salari<72> de l'entreprise <20> la centaine pr<70>s
|
|||
|
'DEFEN' => $tabEntrep['DEFEN'], // Date de mise <20> jour de l'effectif salari<72> de l.entreprise (ann<6E>e)
|
|||
|
'NBETAB' => $tabEntrep['NBETAB'], // Nombre d'<27>tablissements exploitants actifs de l'entreprise
|
|||
|
'MONOREG' => $tabEntrep['MONOREG'], // Indice de mono-r<>gionalit<69> de l'entreprise
|
|||
|
'REGIMP' => $tabEntrep['REGIMP'], // Principale r<>gion de localisation de l'entreprise
|
|||
|
'MONOACT' => $tabEntrep['MONOACT'], // Indice de monoactivit<69> de l'entreprise
|
|||
|
'DATE_MAJ' => $tabEntrep['DATE_MAJ'],
|
|||
|
);
|
|||
|
foreach ($ret2 as $iSiret=>$tabSiret) {
|
|||
|
if ($iSiret==0) {
|
|||
|
echo "ENT= $dateMaj - $siren $nic - ".$tabEntrep['NOM'].' '.$tabEntrep['SIGLE'].' '.$tabEntrep['CJ'].' '.$tabEntrep['APE_ENT'].' '.$tabEntrep['DAPEN'].' '.
|
|||
|
$tabEntrep['EXPLEN'].' '.$tabEntrep['EFF_ENT'].' '.$tabEntrep['DEFEN'].' '.$tabEntrep['NBETAB'].EOL;
|
|||
|
$messageDebug2.="ENT= $dateMaj - $siren $nic - ".$tabEntrep['NOM'].' '.$tabEntrep['SIGLE'].' '.$tabEntrep['CJ'].' '.$tabEntrep['APE_ENT'].' '.$tabEntrep['DAPEN'].' '.
|
|||
|
$tabEntrep['EXPLEN'].' '.$tabEntrep['EFF_ENT'].' '.$tabEntrep['DEFEN'].' '.$tabEntrep['NBETAB'].EOL;
|
|||
|
}
|
|||
|
$dateMaj2=$tmp[0];
|
|||
|
$nic2=$tabSiret['NIC'];
|
|||
|
echo "etab $dateMaj2 - $siren $nic2 - ".$tabSiret['NOM'].' '.$tabSiret['SIGLE'].' '.$tabSiret['CJ'].' '.$tabSiret['APE_ENT'].' '.$tabSiret['DAPEN'].' '.
|
|||
|
$tabSiret['EXPLEN'].' '.$tabSiret['EFF_ENT'].' '.$tabSiret['DEFEN'].' '.$tabSiret['NBETAB'].EOL;
|
|||
|
$messageDebug2.="etab $dateMaj2 - $siren $nic2 - ".$tabSiret['NOM'].' '.$tabSiret['SIGLE'].' '.$tabSiret['CJ'].' '.$tabSiret['APE_ENT'].' '.$tabSiret['DAPEN'].' '.
|
|||
|
$tabSiret['EXPLEN'].' '.$tabSiret['EFF_ENT'].' '.$tabSiret['DEFEN'].' '.$tabSiret['NBETAB'].EOL;
|
|||
|
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic2", false);
|
|||
|
if (!$retUpdate) die('Erreur lors de MAJ Mysql n<>'. mysql_errno() .' : '.mysql_error());
|
|||
|
$nbUpdate2++;
|
|||
|
}
|
|||
|
}
|
|||
|
$message.=" - $nbUpdate2 mises <20> jour d'<27>tablissements secondaires non communiqu<71>es par l'Insee pour $nbModifsEntrep entreprises".EOL;
|
|||
|
}
|
|||
|
$message.=EOL;
|
|||
|
|
|||
|
/** Ajout du fichier info de l'INSEE **/
|
|||
|
foreach ($nomFichierCharges as $nomFichier) {
|
|||
|
$strCtrl=file_get_contents(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).strtr($nomFichier,array('EVE.'=>'','DJ'=>'NJ')));
|
|||
|
$message.="Informations INSEE pour '$nomFichier' :".EOL;
|
|||
|
$message.=$strCtrl.EOL;
|
|||
|
$message.=EOL;
|
|||
|
|
|||
|
/** Mise <20> jours des informations de traitement **/
|
|||
|
$typeDiffusion=$dateCreation=$nbRecords='';
|
|||
|
if (preg_match('/DIFFUSION\s\((.*)\)/Uis', $strCtrl, $matches))
|
|||
|
$typeDiffusion=$matches[1];
|
|||
|
if (preg_match('/DATE DU TRAITEMENT\s+\:\s+(\d+)\s/Uis', $strCtrl, $matches))
|
|||
|
$dateCreation=substr(trim($matches[1]),0,4).'20'.substr(trim($matches[1]),4,2);
|
|||
|
if (preg_match('/NOMBRE ENREGISTREMENTS\s+\:\s+(\d+)\s/Uis', $strCtrl, $matches))
|
|||
|
$nbRecords=trim($matches[1]);
|
|||
|
$dateFin=date('YmdHis');
|
|||
|
$tabInsert=array( 'nomFichier' => $nomFichier,
|
|||
|
'dateCreation' => WDate::dateT('dmY', 'Y-m-d', $dateCreation),
|
|||
|
'nbRecords' => $nbRecords,
|
|||
|
'dateFlux' => $idFlux,
|
|||
|
'dateDispo' => $tabDateFic[$idFlux],
|
|||
|
'taille' => $tabTailles[$idFlux],
|
|||
|
'dateChargementDeb' => $dateDeb,
|
|||
|
'dateChargementFin' => $dateFin,
|
|||
|
'stock' => 0,
|
|||
|
'nbLignesLues' => $nbLignesCharges,
|
|||
|
'nbErreurInsert' => $nbErreurs,
|
|||
|
'nbSiretFaux' => $nbSiretInvalidesCharges,
|
|||
|
'nbCreationsSiren' => $nbInsertSiren,
|
|||
|
'nbCreationsSiret' => $nbInsert,
|
|||
|
'nbUpdates' => $nbUpdate,
|
|||
|
'typeDiffusion' => $typeDiffusion,
|
|||
|
'dateInsert' => $dateFin,
|
|||
|
);
|
|||
|
print_r($tabInsert);
|
|||
|
if(!$iDbW->insert('insee_chargements', $tabInsert)) {
|
|||
|
$message.=EOL."Erreur SQL lors de l'ajout des informations de chargement Insee".EOL.mysql_error().EOL;
|
|||
|
echo "Erreur SQL lors de l'ajout des informations de chargement Insee".EOL.mysql_error().EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/* if (bzip2(INSEE_LOCAL_DIR.$nomFichier)) {
|
|||
|
//unlink(RNCS_IMR_FTP_LOCALDIR.$fichier);
|
|||
|
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n<>$iFic, $fichier vient d'<27>tre historis<69>.".EOL;
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com,support@scores-decisions.com', 'Fin du traitement de chargement INSEE', $message.EOL.EOL.$messageDebug2.EOL.EOL.$messageDebug);
|
|||
|
|
|||
|
die();
|
|||
|
|
|||
|
?>
|