776 lines
35 KiB
PHP
776 lines
35 KiB
PHP
|
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|||
|
<?php
|
|||
|
|
|||
|
function wsLog($service, $siret='', $ref='') {}
|
|||
|
|
|||
|
include_once(FWK_PATH.'common/chiffres.php');
|
|||
|
include_once(FWK_PATH.'common/dates.php');
|
|||
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
|||
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|||
|
|
|||
|
define('RNCS_IMR_FTP_DIR', '/home/data/ftp/rncs/');
|
|||
|
define('RNCS_IMR_BACKUP_DIR', '/home/data/rncs/imr/');
|
|||
|
|
|||
|
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
|
|||
|
Chargement du/des flux en provenance de l'INPI (license RNCS IMR).
|
|||
|
|
|||
|
Options :
|
|||
|
-d Mode debug (Verbosit<EFBFBD> au maximum)
|
|||
|
-l:XXXX Reprendre <EFBFBD> partir de la ligne XXXX
|
|||
|
-s:AAAAMMJJ Jour de l'extraction du stock de tous les <EFBFBD>tablissements actifs
|
|||
|
";/*
|
|||
|
-p Chargement d'une ancienne notice (pas de modification de la zone ACTIF chargement des zones diff<EFBFBD>rentes)
|
|||
|
-u Ne pas mettre <EFBFBD> jour la table identite de l'insee
|
|||
|
-h Ne pas charger la notice dans la base des 'historiques'
|
|||
|
";*/
|
|||
|
$iDb=new WDB();
|
|||
|
$iInsee=new MInsee();
|
|||
|
$iRncs=new MRncs();
|
|||
|
//$iWs=new WsEntreprise();
|
|||
|
|
|||
|
$nbSiretInvalides=0;
|
|||
|
$modeDebug=false;
|
|||
|
$stock=0; // Stock IMR complet = 1 !
|
|||
|
$actifIni=1; // L'<27>tat actif est 1 sinon 11 si stock !
|
|||
|
$jourStock=0; // Jour du stock SSAMMJJ
|
|||
|
|
|||
|
$tabFichier=$tabFichLigneCmd=array();
|
|||
|
|
|||
|
$argv=$_SERVER['argv'];
|
|||
|
|
|||
|
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 'l': $numReprise=substr($argv[$i],3,strlen($argv[$i])-3); break;
|
|||
|
case 's': $stock=1; $actifIni=11; $jourStock=substr($argv[$i],3,8); break;
|
|||
|
case '-':
|
|||
|
case '?': die($strInfoScript); break;
|
|||
|
default: die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
|||
|
}
|
|||
|
} else $tabFichLigneCmd[]=$argv[$i];
|
|||
|
}
|
|||
|
//die($iRncs->getDeviseInpi(300));
|
|||
|
//die(print_r($iRncs->getIdentiteEtab(7020068)));
|
|||
|
//die(print_r($iRncs->getListeDepots(7020068)));
|
|||
|
//die(print_r($iRncs->getListeJugements(393087705)));
|
|||
|
|
|||
|
if (count($tabFichLigneCmd)==0) {
|
|||
|
$dh = opendir(RNCS_IMR_FTP_DIR);
|
|||
|
while (false !== ($filename = readdir($dh))) {
|
|||
|
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.dat')
|
|||
|
$tabFichier[] = RNCS_IMR_FTP_DIR.$filename;
|
|||
|
}
|
|||
|
sort($tabFichier);
|
|||
|
}
|
|||
|
if (count($tabFichier)==0)
|
|||
|
$tabFichier=$tabFichLigneCmd;
|
|||
|
|
|||
|
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0)
|
|||
|
die(date ('Y/m/d - H:i:s') . " - Aucun fichier RNCS IMR de l'INPI <20> traiter (--help pour plus d'options).".EOL);
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s') . " - D<>but du traitement de chargement du flux INPI".EOL;
|
|||
|
|
|||
|
/*
|
|||
|
// Test du matching de tous les mandataires INPI
|
|||
|
$tabTmp=$iDb->select('rncs_jugements', "adm1nom, adm1adrNum, adm1adrInd, adm1adrVoie, adm1adrCP, adm1adrVille, count(*) AS nb", "1 GROUP BY adm1nom ORDER BY nb DESC", true, MYSQL_ASSOC);
|
|||
|
foreach ($tabTmp as $nbMand=>$mand) {
|
|||
|
$idMand=$iRncs->getIdMandataireInpi($mand['adm1nom']);
|
|||
|
if ($idMand==false) echo $mand['adm1nom']."\t".$mand['nb']."\t".$mand['adm1adrNum']."\t".$mand['adm1adrInd']."\t".$mand['adm1adrVoie']."\t".$mand['adm1adrCP']."\t".$mand['adm1adrVille']."\t".$idMand.EOL;
|
|||
|
}
|
|||
|
die();
|
|||
|
*/
|
|||
|
|
|||
|
foreach ($tabFichier as $iFic=>$fichier)
|
|||
|
{
|
|||
|
$fichierAvecRep=$fichier;
|
|||
|
$fichier=basename($fichier);
|
|||
|
$dateInsert=date('YmdHis');
|
|||
|
echo date('Y/m/d - H:i:s'). " - D<>but du traitement du fichier $fichier...".EOL;
|
|||
|
$dateDispo=date('YmdHis', filemtime($fichierAvecRep));
|
|||
|
$dateFichierMod=substr(''.$dateDispo,0,8)*1;
|
|||
|
if(preg_match('/_([0-9]{8,8})\.dat/Ui', $fichierAvecRep, $matches))
|
|||
|
$dateFichierNom=$matches[1];
|
|||
|
else
|
|||
|
$dateFichierNom=0;
|
|||
|
|
|||
|
if ($dateFichierMod==$dateFichierNom) $dateFlux=$dateFichierMod;
|
|||
|
elseif ($dateFichierMod<>0 && $dateFichierNom==0) $dateFlux=$dateFichierMod;
|
|||
|
else {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - La date du fichier ($dateFichierMod) ne correspond pas avec le nom '$fichier' !".EOL;
|
|||
|
$dateFlux=$dateFichierNom;
|
|||
|
if (($dateFlux*1)<20080101 || ($dateFlux*1)>(date('Ymd')*1))
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
$fp=fopen($fichierAvecRep, 'r');
|
|||
|
if ($fp) {
|
|||
|
$nbLignes=$nbLignes01=$nbLignes02=$nbLignes02p=$nbLignes03=$nbLignes04=$nbLignes05=0;
|
|||
|
for($i=0; $i<6; $i++) $nbUpdate[$i]=$nbInsert[$i]=0;
|
|||
|
$nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0;
|
|||
|
$a = fgets($fp, 4096);
|
|||
|
if (strlen($a)>351) {
|
|||
|
echo date('Y/m/d - H:i:s') ." - Le fichier RNCS <20> charger $fichier n'est pas au format IMR Coface/Ort !".EOL;
|
|||
|
die();
|
|||
|
}
|
|||
|
$nbLignesTot=0;
|
|||
|
while (!feof($fp)) {
|
|||
|
$a = fgets($fp, 4096);
|
|||
|
$nbLignesTot++;
|
|||
|
}
|
|||
|
echo date('Y/m/d - H:i:s') ." - Le fichier <20> charger $fichier contient $nbLignesTot lignes.".EOL;
|
|||
|
if ($iFic==0 && $nbLignesTot>2000000 && !$stock) {
|
|||
|
// C'est le 1er fichier, il comporte plus de 2M de lignes et il n'est pas d<>clar<61> comme stock !
|
|||
|
echo date('Y/m/d - H:i:s') ." - Ce fichier est-il un stock annuel ? Merci de confirmer (O/N) ";
|
|||
|
while (1) {
|
|||
|
$saisie = trim(strtoupper(fgets(STDIN)));
|
|||
|
if ($saisie=='O' || $saisie=='o') {
|
|||
|
$stock=1;
|
|||
|
$actifIni=11;
|
|||
|
break;
|
|||
|
} elseif ($saisie=='N' || $saisie=='n') {
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ($stock && $iFic==0) {
|
|||
|
$stockD=substr($jourStock,6,2)*1;
|
|||
|
$stockM=substr($jourStock,4,2)*1;
|
|||
|
$stockY=substr($jourStock,0,4)*1;
|
|||
|
if (!$jourStock || $stockY<2009 || $stockY>date('Y') || $stockM==0 || $stockM>12 ||
|
|||
|
$stockD==0 || $stockD>31 || $jourStock>date('Ymd')) {
|
|||
|
while (1) {
|
|||
|
echo date('Y/m/d - H:i:s') ." - Entrez-le jour du stock au format AAAAMMJJ (ex: $dateFlux) ... ";
|
|||
|
$saisie = trim(strtoupper(fgets(STDIN)));
|
|||
|
if (strlen($saisie)==8) {
|
|||
|
$stockD=substr($saisie,6,2)*1;
|
|||
|
$stockM=substr($saisie,4,2)*1;
|
|||
|
$stockY=substr($saisie,0,4)*1;
|
|||
|
if ($stockY>=2009 && $stockY<=date('Y')*1) {
|
|||
|
if ($stockM>0 && $stockM<13) {
|
|||
|
if ($stockD>0 && $stockD<13 && ($saisie*1)<=(date('Ymd')*1))
|
|||
|
break;
|
|||
|
else echo "ERREUR : Jour incorrect ou date de notice dans le futur !".EOL;
|
|||
|
} else echo "ERREUR : Mois incorrecte !".EOL;
|
|||
|
} else echo "ERREUR : Ann<6E>e incorrect ou dans le futur !".EOL;
|
|||
|
} else echo "ERREUR : Saisie incorrecte !".EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
if ($stockM<10) $stockM='0'.$stockM;
|
|||
|
else $stockM='' .$stockM;
|
|||
|
if ($stockD<10) $stockD='0'.$stockD;
|
|||
|
else $stockD='' .$stockD;
|
|||
|
$jourStock=''.$stockY.$stockM.$stockD;
|
|||
|
$message=date('Y/m/d - H:i:s'). " - D<>but de traitement du fichier stock n<>$iFic, $fichier...".EOL;
|
|||
|
}
|
|||
|
elseif ($stock)
|
|||
|
$message=date('Y/m/d - H:i:s'). " - D<>but de traitement du fichier stock n<>$iFic, $fichier...".EOL;
|
|||
|
else
|
|||
|
$message=date('Y/m/d - H:i:s'). " - D<>but de traitement du fichier n<>$iFic, $fichier...".EOL;
|
|||
|
echo $message;
|
|||
|
|
|||
|
rewind($fp);
|
|||
|
$a = fgets($fp, 4096);
|
|||
|
$sirenPre=0; // Valeur du Siren pr<70>c<EFBFBD>dent
|
|||
|
$siren=0;
|
|||
|
|
|||
|
while (!feof($fp)) {
|
|||
|
$nbLignes++;
|
|||
|
$siren = trim( substr($a, 0, 9)); // SIREN
|
|||
|
$codeEnr = ''.trim( substr($a, 9, 2));
|
|||
|
/** A supprimer deb
|
|||
|
if ($nbLignes%100000==0) {
|
|||
|
echo date('Y/m/d - H:i:s'). " - Fichier n<>$iFic, $fichier : $nbLignes lignes, $siren $codeEnr : $nbLignes01 entrep, $nbLignes02 <20>tab, $nbLignes03 dir, $nbLignes04 jug, $nbLignes05 actes".EOL;
|
|||
|
}
|
|||
|
if ($codeEnr=='03' || $codeEnr=='04' || $codeEnr=='05') {
|
|||
|
$a = fgets($fp, 4096);
|
|||
|
$sirenPre=$siren;
|
|||
|
continue;
|
|||
|
}
|
|||
|
// A supprimer fin **/
|
|||
|
switch ($codeEnr) {
|
|||
|
// Code enregistrement = 01 Alpha. 01=Enregistrement ENTREPRISE
|
|||
|
case '01':
|
|||
|
$nbLignes01++;
|
|||
|
if ($sirenPre>0) {
|
|||
|
/** Passage <20> Actif/Inactif des <20>tablissements pr<70>c<EFBFBD>dents **/
|
|||
|
$ret=$iDb->select('rncs_etab', 'actif, COUNT(*) AS nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
$ret=$iDb->update('rncs_etab', array('actif'=>0,'dateFermeture'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les <20>tablissements du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun <20>tablissement pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
/** Passage <20> inactif des dirigeants **/
|
|||
|
if ($modifDir) {
|
|||
|
$ret=$iDb->select('rncs_dirigeants', 'actif, count(*) as nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
$ret=$iDb->update('rncs_dirigeants', array('actif'=>0,'dateFin'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les dirigeants du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun dirigeants pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
}
|
|||
|
/** Suppressions des jugements non transmis **/
|
|||
|
if ($modifJug) {
|
|||
|
$ret=$iDb->select('rncs_jugements', 'actif, count(*) as nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
if ($actif<>0)
|
|||
|
// Si le siren est encore actif et que le jugement n'est pas transmit, il doit s'agir d'une correction de jugement
|
|||
|
$ret=$iDb->update('rncs_jugements', array('actif'=>0,'dateSuppr'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
else
|
|||
|
$ret=$iDb->update('rncs_jugements', array('actif'=>1), "actif>9 AND siren=$sirenPre");
|
|||
|
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les jugements du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun jugements pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
$modifEtab=$modifDir=$modifJug=false;
|
|||
|
$table='rncs_entrep';
|
|||
|
if (trim( substr($a, 11, 2))=='00') $actif=$actifIni;
|
|||
|
elseif (trim( substr($a, 11, 2))=='99') $actif=0;
|
|||
|
else die(date('Y/m/d - H:i:s') ." - ERREUR : Code ACTIF inconnu '".substr($a,11,2)."' dans le flux $fichier !".EOL);
|
|||
|
$raisonSociale = trim( substr($a, 26, 90));
|
|||
|
$numRC = trim( substr($a, 17, 9));
|
|||
|
if ($numRC<>'' && substr($numRC,0,2)*1>=30)
|
|||
|
$numRC2='19'.$numRC;
|
|||
|
elseif ($numRC<>'' && substr($numRC,0,2)*1<30)
|
|||
|
$numRC2='20'.$numRC;
|
|||
|
else
|
|||
|
$numRC2='';
|
|||
|
$sexe = trim( substr($a, 189, 1));
|
|||
|
$cj = trim( substr($a, 198, 4));
|
|||
|
/** L'entreprise est elle une personne physique **/
|
|||
|
$nomUsage=$nom=$prenom='';
|
|||
|
if ($sexe=='M' || $sexe=='F' || substr($cj,0,1)*1==1) {
|
|||
|
if (preg_match('/^(.*) n(?:<3A>|e|<7C>)e (.*)$/Uis', $raisonSociale, $matches)) {
|
|||
|
$rs=trim($matches[1]);
|
|||
|
$nomUsage=trim($matches[2]);
|
|||
|
} else
|
|||
|
$rs=$raisonSociale;
|
|||
|
$tabNom=explode(' ', $rs);
|
|||
|
for($i=0; isset($tabNom[$i]); $i++)
|
|||
|
if ($tabNom[$i]==strtoupper($tabNom[$i]))
|
|||
|
$nom.=$tabNom[$i].' ';
|
|||
|
else
|
|||
|
$prenom.=$tabNom[$i].' ';
|
|||
|
}
|
|||
|
$numGreffe=trim( substr($a, 13, 4))*1;
|
|||
|
$tabUpdate=array(
|
|||
|
'actif' => $actif,
|
|||
|
'numGreffe' => $numGreffe, // Num<75>ro de gestion (code greffe)
|
|||
|
'triCode' => $iRncs->getCodeBodaccTribunal($numGreffe), // Num<75>ro de gestion (code greffe)
|
|||
|
'triId' => $iRncs->getIdTribunal($numGreffe), // Num<75>ro de gestion (code greffe)
|
|||
|
'numRC' => $numRC, // Ancien num<75>ro de gestion (num<75>ro RC, ann<6E>e sur 2)
|
|||
|
'numRC2' => $numRC2, // Nouveau num<75>ro de gestion (num<75>ro RC, ann<6E>e sur 4)
|
|||
|
'raisonSociale'=>$raisonSociale, // Nom 90 c
|
|||
|
'nom' => $nom, // Nom 90 c
|
|||
|
'prenom' => $prenom,
|
|||
|
'nomUsage' => $nomUsage,
|
|||
|
'sigle' => trim( substr($a, 116, 30)), // Sigle
|
|||
|
'dateNaiss' => trim( substr($a, 146, 8))*1, // Date de naissance (SSAAMMJJ)
|
|||
|
'lieuNaiss' => trim( substr($a, 154, 35)), // Lieu de naissance
|
|||
|
'sexe' => $sexe, // Sexe (M/F)
|
|||
|
'nationalite'=> trim( substr($a, 190, 3)), // Code nationalit<69>
|
|||
|
'pays'=>$iRncs->getPaysInpi(trim( substr($a, 190, 3))*1), // Code nationalit<69>
|
|||
|
'naf' => trim( substr($a, 193, 5)), // Code APE de l'entreprise
|
|||
|
'cj' => $cj, // Code cat<61>gorie juridique
|
|||
|
'capitalMontant'=>trim(substr($a, 202, 13))*1, // Capital (en unit<69>)
|
|||
|
'capitalDevise'=>trim(substr($a, 215, 3)), // Code devise du capital
|
|||
|
'capitalDevIso'=>$iRncs->getDeviseInpi(trim(substr($a, 215, 3))*1), // Code devise du capital
|
|||
|
'dateImma' => trim( substr($a, 218, 8))*1, // Date d<>immatriculation SSAAMMJJ
|
|||
|
'dateRad' => trim( substr($a, 226, 8))*1, // Date de radiation SSAAMMJJ
|
|||
|
'capitalType'=> trim( substr($a, 234, 3)), // Code type de capital SOC ou VAR SOC = Capital social VAR = Capital variable
|
|||
|
'capitalCent'=> trim( substr($a, 237, 2)), // Capital (centimes)
|
|||
|
'provisoires'=> trim( substr($a, 239, 1)), // Donn<6E>es provisoires P ou blanc = <20>P<EFBFBD> si donn<6E>es provisoires
|
|||
|
);
|
|||
|
|
|||
|
$ret=$iDb->select('rncs_entrep', 'actif,numGreffe,numRC2,raisonSociale,nom,prenom,nomUsage,sigle,dateNaiss*1 AS dateNaiss,lieuNaiss,sexe,nationalite,naf,cj,capitalMontant,capitalDevIso,dateImma*1 AS dateImma,dateRad*1 AS dateRad,capitalType,capitalCent,provisoires', "siren=$siren", false, MYSQL_ASSOC);
|
|||
|
if (is_array($ret) && count($ret)>0) {
|
|||
|
$tabSelect=$ret[0];
|
|||
|
$tabDiff=array_diff($tabSelect,$tabUpdate);
|
|||
|
if (!$stock && count($tabDiff)>0) {
|
|||
|
foreach ($tabDiff as $field=>$value)
|
|||
|
$iDb->insert('rncs_modifs', array( 'siren'=>$siren,
|
|||
|
'table'=>$table,
|
|||
|
'champs'=>$field,
|
|||
|
'valeur'=>$value,
|
|||
|
'flux'=>$dateFlux));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$tabInsert=array_merge($tabUpdate, array( 'siren' => $siren,
|
|||
|
'sirenValide'=> $iInsee->valideSiren($siren),
|
|||
|
'flux' => $dateFlux,
|
|||
|
'dateInsert'=> $dateInsert,
|
|||
|
)
|
|||
|
);
|
|||
|
break;
|
|||
|
case '02':
|
|||
|
$nbLignes02++;
|
|||
|
$table='rncs_etab';
|
|||
|
/** Marquage des <20>tablissements <20> actif provisoire **/
|
|||
|
if (!$modifEtab) {
|
|||
|
$ret=$iDb->query("UPDATE $table SET actif=actif+10 WHERE siren=$siren");
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Les <20>tablissements du siren $siren sont OK pour la mise <20> jour ($ret).".EOL;
|
|||
|
}
|
|||
|
$modifEtab=true;
|
|||
|
$nic=trim(substr($a, 11, 5));
|
|||
|
if ($nic>=99990) {
|
|||
|
$nbLignes02p++;
|
|||
|
$table='rncs_etab_prov';
|
|||
|
}
|
|||
|
|
|||
|
$tabAdresse=@$iInsee->structureVoie(trim( substr($a, 77, 4)).' '.
|
|||
|
trim( substr($a, 81, 1)).' '.
|
|||
|
trim( substr($a, 82, 30)));
|
|||
|
$libVoie=@trim($tabAdresse['libVoie']);
|
|||
|
if ($libVoie=='') $libVoie=@trim($tabAdresse['libVoie']);
|
|||
|
if ($libVoie=='') $libVoie=@trim($tabAdresse['adrComp0'].' '.$tabAdresse['adrComp1']);
|
|||
|
|
|||
|
$tabUpdate=array(
|
|||
|
'siege' => (trim( substr($a, 16, 1))*1)-8, // Code statut de l<><6C>tablissement 8=Etab. secondaire, 9=Si<53>ge
|
|||
|
'enseigne' => trim( substr($a, 17, 60)), // Enseigne Alpha.
|
|||
|
'adrNumVoie'=> trim( substr($a, 77, 4)), // N<> dans la voie Num.
|
|||
|
'adrIndRep' => trim( substr($a, 81, 1)), // BTQ Alpha.
|
|||
|
'adrLibVoie'=> trim( substr($a, 82, 30)), // Type et libell<6C> de voie Alpha.
|
|||
|
'cp' => trim( substr($a, 112, 5)), // Code Postal Alpha.
|
|||
|
'commune' => trim( substr($a, 117, 30)), // Commune Alpha.
|
|||
|
'adrComp' => trim( substr($a, 147, 30)), // Compl<70>ment d'adresse Alpha.
|
|||
|
'naf' => trim( substr($a, 177, 5)), // APE de l'<27>tablissement Alpha.
|
|||
|
);
|
|||
|
|
|||
|
if ($nic<99990) {
|
|||
|
$ret=$iDb->select($table, 'siege,enseigne,adrNumVoie,adrIndRep,adrLibVoie,cp,commune,adrComp,naf', "siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
|
|||
|
if (is_array($ret) && count($ret)>0) {
|
|||
|
$tabSelect=$ret[0];
|
|||
|
/*if ($tabSelect['siege']==1 && ( // Si c'est un <20>tablissement si<73>ge...
|
|||
|
($tabSelect['adrNumVoie']<>$tabUpdate['adrNumVoie'] && $tabSelect['adrNumVoie']>0) ||
|
|||
|
($tabSelect['adrLibVoie']<>$tabUpdate['adrLibVoie'] && $tabSelect['adrLibVoie']<>'' ) ||
|
|||
|
substr(''.$tabSelect['cp'],0,2)<>substr(''.$tabUpdate['cp'],0,2) ||
|
|||
|
$tabSelect['commune']<>$tabUpdate['commune']) ) { // ... et que son adresse change
|
|||
|
$table='rncs_etab_prov';
|
|||
|
$iDb->update('rncs_etab', array('actif'=>1), "siren=$siren AND nic=$nic");
|
|||
|
} else {*/
|
|||
|
$tabDiff=array_diff($tabSelect,$tabUpdate);
|
|||
|
if (!$stock && count($tabDiff)>0) {
|
|||
|
foreach ($tabDiff as $field=>$value)
|
|||
|
$iDb->insert('rncs_modifs', array( 'siren'=>$siren,
|
|||
|
'nic'=>$nic,
|
|||
|
'table'=>$table,
|
|||
|
'champs'=>$field,
|
|||
|
'valeur'=>$value,
|
|||
|
'flux'=>$dateFlux));
|
|||
|
}
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
$tabUpdate['adrTypeVoie']=@$tabAdresse['typeVoie'];
|
|||
|
$tabUpdate['adrVoie']=strtoupper($libVoie);
|
|||
|
$tabUpdate['actif']=1;
|
|||
|
|
|||
|
$tabInsert=array_merge($tabUpdate, array( 'siren' => $siren,
|
|||
|
'nic' => $nic,
|
|||
|
'flux' => $dateFlux,
|
|||
|
'dateInsert'=> $dateInsert,
|
|||
|
)
|
|||
|
);
|
|||
|
break;
|
|||
|
case '03':
|
|||
|
$nbLignes03++;
|
|||
|
$table='rncs_dirigeants';
|
|||
|
if (!$modifDir) {
|
|||
|
$ret=$iDb->query("UPDATE $table SET actif=actif+10 WHERE siren=$siren");
|
|||
|
//if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Les dirigeants du siren $siren sont OK pour la mise <20> jour ($ret).".EOL;
|
|||
|
}
|
|||
|
$modifDir=true;
|
|||
|
// Type de dirigeant
|
|||
|
$rsDir='';
|
|||
|
$sirenDir=0;
|
|||
|
$typeDir = trim( substr($a, 242, 2)); // PP = Personne physique, PM = Personne morale
|
|||
|
$nomDir = trim( substr($a, 15, 60)); // Nom d<>usage ou raison sociale
|
|||
|
$civilite=strtoupper(trim(substr($a, 238, 4))); // Code Civilit<69> du dirigeant
|
|||
|
if ($civilite<>'M' && $civilite<>'MME' && $civilite<>'MLLE' && $civilite<>'')
|
|||
|
die(date('Y/m/d - H:i:s') ." - ERREUR : Civilit<69> '$civilite' inconnue !".EOL);
|
|||
|
|
|||
|
$prenomDir=trim( substr($a, 75, 60));
|
|||
|
$dateNaiss=trim(substr($a, 135, 8));
|
|||
|
$lieuNaiss=trim(substr($a, 143, 35));
|
|||
|
$codeFonction = trim(substr($a, 11, 4))*1;
|
|||
|
|
|||
|
if ($typeDir=='PM'){
|
|||
|
$sirenDir = 0; // Chercher le siren du dirigeant
|
|||
|
$rsDir = $nomDir;
|
|||
|
$nomDir = trim( substr($a, 178, 60)); // Nom Repr<70>s. du dirigeant
|
|||
|
/*if (strlen($rsDir)>2 && $civilite<>'' && $nomDir<>'' && $prenomDir<>'') {
|
|||
|
$tabRet=@$iWs->searchNomAdr($rsDir,'','','',1,1,0,10,10,false,true);
|
|||
|
$nbReps=$tabRet['results']['nbReponses'];
|
|||
|
if ($nbReps>0) {
|
|||
|
$tabSirenProbable=array();
|
|||
|
foreach ($tabRet['results']['reponses'] as $iRep=>$entrep) {
|
|||
|
//$sirenProbable=$entrep['Siren'];
|
|||
|
$tabRet2=@$iWs->getDirigeants($entrep['Siren']);
|
|||
|
foreach ($tabRet2['result'] as $iRep=>$dirig) {
|
|||
|
//echo $entrep['Siren']." RECHERCHE : $civilite $nomDir $prenomDir".EOL;
|
|||
|
//echo $entrep['Siren'].' on trouve : '.$dirig['Civilite'].' '.$dirig['Nom'].' '.$dirig['Prenom'].EOL;
|
|||
|
if (strtoupper($civilite) == strtoupper($dirig['Civilite']) &&
|
|||
|
strtoupper($nomDir) == strtoupper($dirig['Nom']) &&
|
|||
|
strtoupper($prenomDir)== strtoupper($dirig['Prenom']))
|
|||
|
$tabSirenProbable[]=$entrep['Siren'];
|
|||
|
}
|
|||
|
}
|
|||
|
$tabSirenProbable=array_unique($tabSirenProbable);
|
|||
|
if (count($tabSirenProbable)==1) {
|
|||
|
$sirenDir=end($tabSirenProbable);
|
|||
|
echo date('Y/m/d - H:i:s') ." - Ligne $nbLignes / $nbLignesTot - Siren $siren dirig<69> par $sirenDir...".EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
}*/
|
|||
|
}
|
|||
|
$depSte=floor($numGreffe/100);
|
|||
|
if ($depSte>96) $depSte=floor($numGreffe/10);
|
|||
|
|
|||
|
$tabUpdate=array(
|
|||
|
'actif' => 1,
|
|||
|
'raisonSociale'=>$raisonSociale,
|
|||
|
'typeDir' => $typeDir,
|
|||
|
'dirRS' => $rsDir,
|
|||
|
'dirSiren' => $sirenDir,
|
|||
|
'adr_dep' => $depSte,
|
|||
|
'nom' => $nomDir,
|
|||
|
'fonction_code'=>$iRncs->getCodFctBodaccFctDir($codeFonction), // Code fonction du dirigeant
|
|||
|
'fonction_lib'=>$iRncs->getLibFctDir($codeFonction),
|
|||
|
'source' => 'imr',
|
|||
|
'prenom' => $prenomDir, // Pr<50>nom du Dirigeant
|
|||
|
'naissance_date'=>$dateNaiss, // Date de Naissance du dirigeant Alpha. SSAAMMJJ
|
|||
|
'naissance_lieu'=>$lieuNaiss, // Lieu de Naissance
|
|||
|
'civilite' => $civilite,
|
|||
|
'naissance_nom'=>trim(substr($a, 244, 60)), // Nom de naissance du dirigeant
|
|||
|
);
|
|||
|
|
|||
|
$ret=$iDb->select($table, 'count(*) as nb', "siren=$siren AND ".
|
|||
|
"civilite='". $tabUpdate['civilite'] ."' AND ".
|
|||
|
"nom='". addslashes($tabUpdate['nom']) ."' AND ".
|
|||
|
"prenom='". addslashes($tabUpdate['prenom']) ."' AND ".
|
|||
|
"naissance_nom='". addslashes($tabUpdate['naissance_nom']) ."' AND ".
|
|||
|
"naissance_date='". $tabUpdate['naissance_date'] ."' AND ".
|
|||
|
"fonction_code=". $iRncs->getCodFctBodaccFctDir($codeFonction), false, MYSQL_ASSOC);
|
|||
|
/* if (is_array($ret) && count($ret)>0) {
|
|||
|
$tabSelect=$ret[0];
|
|||
|
$tabDiff=array_diff($tabSelect,$tabUpdate);
|
|||
|
if (count($tabDiff)>0) {
|
|||
|
foreach ($tabDiff as $field=>$value)
|
|||
|
$iDb->insert('rncs_modifs', array( 'siren'=>$siren,
|
|||
|
'table'=>$table,
|
|||
|
'champs'=>$field,
|
|||
|
'valeur'=>$value));
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
$tabInsert=array_merge($tabUpdate, array( 'siren' => $siren,
|
|||
|
'flux' => $dateFlux,
|
|||
|
'dateInsert'=> $dateInsert,
|
|||
|
)
|
|||
|
);
|
|||
|
|
|||
|
if ($ret[0]['nb']==0) {
|
|||
|
$iDb->insert($table, $tabInsert);
|
|||
|
$nbInsert[3]++;
|
|||
|
//if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL;
|
|||
|
} else {
|
|||
|
$iDb->update($table, $tabUpdate, "siren=$siren AND ".
|
|||
|
"civilite='". $tabUpdate['civilite'] ."' AND ".
|
|||
|
"nom='". addslashes($tabUpdate['nom']) ."' AND ".
|
|||
|
"prenom='". addslashes($tabUpdate['prenom']) ."' AND ".
|
|||
|
"naissance_nom='". addslashes($tabUpdate['naissance_nom']) ."' AND ".
|
|||
|
"naissance_date='". $tabUpdate['naissance_date'] ."' AND ".
|
|||
|
"fonction_code=". $iRncs->getCodFctBodaccFctDir($codeFonction));
|
|||
|
$nbUpdate[3]++;
|
|||
|
//if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - MAJ du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL;
|
|||
|
}
|
|||
|
break;
|
|||
|
case '04':
|
|||
|
$nbLignes04++;
|
|||
|
$table='rncs_jugements';
|
|||
|
/** Marquage des jugements <20> actif provisoire **/
|
|||
|
if (!$modifJug) {
|
|||
|
$ret=$iDb->query("UPDATE $table SET actif=actif+10 WHERE siren=$siren");
|
|||
|
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Les jugements du siren $siren sont OK pour la mise <20> jour ($ret).".EOL;
|
|||
|
}
|
|||
|
$modifJug=true;
|
|||
|
|
|||
|
$type1=$type2='';
|
|||
|
$adm1nom= trim( substr($a, 25, 60));
|
|||
|
$adm2nom= trim( substr($a, 189, 60));
|
|||
|
$codeJugement= trim( substr($a, 19, 2));
|
|||
|
$codeFonction1= trim( substr($a, 21, 4));
|
|||
|
$codeFonction2= trim( substr($a, 185, 4));
|
|||
|
$type1=@$iRncs->getCodFctBodaccFctDir($codeFonction1);
|
|||
|
if ($type1*1==1900) $type1='L';
|
|||
|
$type2=@$iRncs->getCodFctBodaccFctDir($codeFonction2);
|
|||
|
if ($type2*1==1900) $type2='L';
|
|||
|
// Adresse 1
|
|||
|
$adm1adr= trim ( preg_replace('/ +/', ' ',
|
|||
|
substr($a, 85, 4).' '.
|
|||
|
substr($a, 89, 1).' '.
|
|||
|
substr($a, 90, 60))
|
|||
|
);
|
|||
|
$tabAdr1=@$iInsee->structureVoie($adm1adr);
|
|||
|
$libVoie1=@trim($tabAdr1['libVoie']);
|
|||
|
if ($libVoie1=='') $libVoie1=@trim($tabAdr1['libVoie']);
|
|||
|
if ($libVoie1=='') $libVoie1=@trim($tabAdr1['adrComp0'].' '.$tabAdr1['adrComp1']);
|
|||
|
|
|||
|
// Adresse 2
|
|||
|
$adm2adr= trim ( preg_replace('/ +/', ' ',
|
|||
|
substr($a, 249, 4).' '.
|
|||
|
substr($a, 253, 1).' '.
|
|||
|
substr($a, 254, 60))
|
|||
|
);
|
|||
|
$tabAdr2=@$iInsee->structureVoie($adm2adr);
|
|||
|
$libVoie2=@trim($tabAdr2['libVoie']);
|
|||
|
if ($libVoie2=='') $libVoie2=@trim($tabAdr2['libVoie']);
|
|||
|
if ($libVoie2=='') $libVoie2=@trim($tabAdr2['adrComp0'].' '.$tabAdr2['adrComp1']);
|
|||
|
|
|||
|
$dateEffet = trim( substr($a, 11, 8));
|
|||
|
|
|||
|
$tabUpdate=array(
|
|||
|
'siren' => $siren,
|
|||
|
'dateEffet' => $dateEffet, // Date d'effet
|
|||
|
'codeJugement'=> $codeJugement, // Code Jugement
|
|||
|
'actif' => 1,
|
|||
|
'codeEven' => $iRncs->getCodeEvenJugementInpi($codeJugement),
|
|||
|
'adm1codeFct' => $codeFonction1, // Admin. 1 : Code Fonction
|
|||
|
'adm1type' => $type1, // Code type Mandataire
|
|||
|
'adm1id' => $iRncs->getIdMandataireInpi($adm1nom),
|
|||
|
'adm1nom' => $adm1nom, // Admin. 1 : NOM
|
|||
|
'adm1adrNum' => trim( substr($a, 85, 4)), // Admin. 1 : N<> dans la voie
|
|||
|
'adm1adrInd' => trim( substr($a, 89, 1)), // Admin. 1 : BTQ
|
|||
|
'adm1adrType' => @$tabAdr1['typeVoie'],
|
|||
|
'adm1adrLibVoie'=> @$tabAdr1['libVoie'],
|
|||
|
'adm1adrVoie' => trim( substr($a, 90, 60)), // Admin. 1 : Type et libell<6C> de voie
|
|||
|
'adm1adr1' => $adm1adr,
|
|||
|
'adm1adrCP' => trim( substr($a, 150, 5)), // Admin. 1 : Code Postal
|
|||
|
'adm1adrVille'=> trim( substr($a, 155, 30)), // Admin. 1 : Commune
|
|||
|
'adm2codeFct' => $codeFonction2, // Admin. 2 : Code Fonction
|
|||
|
'adm2type' => $type2,
|
|||
|
'adm2id' => $iRncs->getIdMandataireInpi($adm2nom),
|
|||
|
'adm2nom' => $adm2nom, // Admin. 2 : NOM
|
|||
|
'adm2adrNum' => trim( substr($a, 249, 4)), // Admin. 2 : N<> dans la voie
|
|||
|
'adm2adrInd' => trim( substr($a, 253, 1)), // Admin. 2 : BTQ
|
|||
|
'adm2adrType' => @$tabAdr2['typeVoie'],
|
|||
|
'adm2adrLibVoie'=> @$tabAdr2['libVoie'],
|
|||
|
'adm2adrVoie' => trim( substr($a, 254, 60)), // Admin. 2 : Type et libell<6C> de voie
|
|||
|
'adm2adr1' => $adm2adr,
|
|||
|
'adm2adrCP' => trim( substr($a, 314, 5)), // Admin. 2 : Code Postal
|
|||
|
'adm2adrVille'=> trim( substr($a, 319, 30)), // Admin. 2 : Commune
|
|||
|
'flux' => $dateFlux,
|
|||
|
);
|
|||
|
|
|||
|
$tabInsert=$tabUpdate;
|
|||
|
|
|||
|
break;
|
|||
|
case '05': // Inchang<6E> Coface => Infogreffe
|
|||
|
$nbLignes05++;
|
|||
|
$table='rncs_even';
|
|||
|
$tabInsert=array(
|
|||
|
'siren' => $siren,
|
|||
|
'codeInterne'=> trim( substr($a, 11, 16)), // Code Interne
|
|||
|
'dateDepot' => trim( substr($a, 27, 8)), // Date du d<>p<EFBFBD>t
|
|||
|
'codeEven' => trim( substr($a, 35, 10)), // Code <20>v<EFBFBD>nement
|
|||
|
'flux' => $dateFlux,
|
|||
|
|
|||
|
);
|
|||
|
break;
|
|||
|
default:
|
|||
|
die(date('Y/m/d - H:i:s') ." - ERREUR : Code Enregistrement '$codeEnr' inconnu !".EOL);
|
|||
|
break;
|
|||
|
}
|
|||
|
if ($table<>'rncs_dirigeants') {
|
|||
|
if (!$iDb->insert($table, $tabInsert)) {
|
|||
|
if (mysql_errno()==1062 && ($table=='rncs_entrep' || $table=='rncs_etab' || $table=='rncs_jugements')) {
|
|||
|
$where="siren=$siren";
|
|||
|
if ($table=='rncs_etab') $where.=" AND nic=$nic";
|
|||
|
elseif ($table=='rncs_jugements') $where.=" AND dateEffet=$dateEffet
|
|||
|
AND codeJugement=$codeJugement";
|
|||
|
if (!$iDb->update($table, $tabUpdate, $where)) {
|
|||
|
echo date('Y/m/d - H:i:s') ." - ERREUR : $where, Erreur mysql sur la table '$table' ". mysql_errno() .' - '. mysql_error().EOL;
|
|||
|
print_r($tabInsert);
|
|||
|
die();
|
|||
|
} else $nbUpdate[$codeEnr*1]++;
|
|||
|
} elseif (!(mysql_errno()==1062 && ($table=='rncs_jugements' || $table=='rncs_even' || $table=='rncs_etab_prov'))) {
|
|||
|
echo date('Y/m/d - H:i:s') ." - ERREUR : Siren=$siren, Erreur mysql sur la table '$table' ". mysql_errno() .' - '. mysql_error().EOL;
|
|||
|
print_r($tabInsert);
|
|||
|
die();
|
|||
|
} elseif (mysql_errno()==1062 && ($table=='rncs_jugements' || $table=='rncs_even' || $table=='rncs_etab_prov')) {
|
|||
|
$nbUpdate[$codeEnr*1]++;
|
|||
|
}
|
|||
|
} else $nbInsert[$codeEnr*1]++;
|
|||
|
}
|
|||
|
|
|||
|
if ($nbLignes%100000==0) {
|
|||
|
echo date('Y/m/d - H:i:s'). " - Fichier n<>$iFic, $fichier : $nbLignes lignes, $siren $codeEnr : $nbLignes01 entrep, $nbLignes02 <20>tab, $nbLignes03 dir, $nbLignes04 jug, $nbLignes05 actes".EOL;
|
|||
|
}
|
|||
|
if ($nbLignes==0 || $nbLignes%10000==0) {
|
|||
|
$fpT=fopen('/tmp/'.basename($argv[0]), 'w');
|
|||
|
fwrite($fpT, ''.$fichier.';'.$jourStock.';'.$nbLignes);
|
|||
|
fclose($fpT);
|
|||
|
}
|
|||
|
|
|||
|
$a = fgets($fp, 4096);
|
|||
|
$sirenPre=$siren;
|
|||
|
}
|
|||
|
fclose($fp);
|
|||
|
|
|||
|
/** Passage <20> Actif/Inactif des <20>tablissements pr<70>c<EFBFBD>dents **/
|
|||
|
$ret=$iDb->select('rncs_etab', 'actif, COUNT(*) AS nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
$ret=$iDb->update('rncs_etab', array('actif'=>0,'dateFermeture'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les <20>tablissements du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun <20>tablissement pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
|
|||
|
/** Passage <20> Actif/Inactif des dirigeants pr<70>c<EFBFBD>dents **/
|
|||
|
if ($modifDir) {
|
|||
|
$ret=$iDb->select('rncs_dirigeants', 'actif, count(*) as nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
$ret=$iDb->update('rncs_dirigeants', array('actif'=>0,'dateFin'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les dirigeants du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun dirigeants pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
}
|
|||
|
|
|||
|
/** Suppressions des jugements non transmis **/
|
|||
|
if ($modifJug) {
|
|||
|
$ret=$iDb->select('rncs_jugements', 'actif, count(*) as nb', "siren=$sirenPre GROUP BY actif ORDER BY actif ASC", false, MYSQL_ASSOC);
|
|||
|
if (isset($ret[0])) {
|
|||
|
$nbEtab=array();
|
|||
|
foreach ($ret as $iEtab=>$etab)
|
|||
|
$nbEtab[$etab['actif']]=$etab['nb'];
|
|||
|
if ($actif<>0)
|
|||
|
// Si le siren est encore actif et que le jugement n'est pas transmit, il doit s'agir d'une correction de jugement
|
|||
|
$ret=$iDb->update('rncs_jugements', array('actif'=>0,'dateSuppr'=>$dateFlux), "actif>9 AND siren=$sirenPre");
|
|||
|
else
|
|||
|
$ret=$iDb->update('rncs_jugements', array('actif'=>1), "actif>9 AND siren=$sirenPre");
|
|||
|
|
|||
|
if ($modeDebug) {
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Les jugements du siren $sirenPre non transmis ont <20>t<EFBFBD> pass<73>s <20> inactifs (".$nbEtab[10]." d<>j<EFBFBD> inactifs et ".$nbEtab[11]." actifs).".EOL;
|
|||
|
print_r($nbEtab);
|
|||
|
}
|
|||
|
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun jugements pour le siren $sirenPre en base pr<70>c<EFBFBD>dement !".EOL;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - R<>capitulatif du chargement n<>$iFic, $fichier de $nbLignesTot lignes :".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Lignes 01 : $nbLignes01 entreprises (".$nbInsert[1]." ajouts et ".$nbUpdate[1]." modifs)".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Lignes 02 : $nbLignes02 <20>tablissements actifs dont $nbLignes02p provisoires (".$nbInsert[2]." ajouts et ".$nbUpdate[2]." modifs)".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Lignes 03 : $nbLignes03 dirigeants actifs (".$nbInsert[3]." ajouts et ".$nbUpdate[3]." modifs)".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Lignes 04 : $nbLignes04 jugements (".$nbInsert[4]." ajouts et ".$nbUpdate[4]." d<>j<EFBFBD> en base)".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Lignes 05 : $nbLignes05 actes/<2F>v<EFBFBD>nements (".$nbInsert[5]." ajouts et ".$nbUpdate[5]." d<>j<EFBFBD> en base)".EOL;
|
|||
|
$message.=date('Y/m/d - H:i:s'). " - Fin de traitement du fichier $fichier.".EOL;
|
|||
|
|
|||
|
$tabInsert=array( 'nomFichier' => $fichier,
|
|||
|
'dateFlux' => $dateFlux,
|
|||
|
'dateDispo' => $dateDispo,
|
|||
|
'taille' => filesize($fichierAvecRep),
|
|||
|
'dateChargementDeb' => $dateInsert,
|
|||
|
'dateChargementFin' => date('YmdHis'),
|
|||
|
'stock' => $stock,
|
|||
|
'nbLignesTot' => $nbLignesTot,
|
|||
|
'nbLignes1' => $nbLignes01,
|
|||
|
'nbLignes1a' => $nbInsert[1],
|
|||
|
'nbLignes2' => $nbLignes02,
|
|||
|
'nbLignes2a' => $nbInsert[2],
|
|||
|
'nbLignes2p' => $nbLignes02p,
|
|||
|
'nbLignes3' => $nbLignes03,
|
|||
|
'nbLignes3a' => $nbInsert[3],
|
|||
|
'nbLignes4' => $nbLignes04,
|
|||
|
'nbLignes4a' => $nbInsert[4],
|
|||
|
'nbLignes5' => $nbLignes05,
|
|||
|
'nbLignes5a' => $nbInsert[5],
|
|||
|
'dateInsert' => date('YmdHis'),
|
|||
|
);
|
|||
|
|
|||
|
if (!$stock && count($tabFichLigneCmd)==0) {
|
|||
|
if (bzip2(RNCS_IMR_FTP_DIR.$fichier, RNCS_IMR_BACKUP_DIR.$fichier)) {
|
|||
|
unlink(RNCS_IMR_FTP_DIR.$fichier);
|
|||
|
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n<>$iFic, $fichier vient d'<27>tre historis<69>.".EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
echo $message;
|
|||
|
|
|||
|
$iDb->insert('rncs_chargements', $tabInsert);
|
|||
|
echo mysql_errno();
|
|||
|
echo mysql_error();
|
|||
|
|
|||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement INPI IMR', $message);
|
|||
|
//die();
|
|||
|
}
|
|||
|
|
|||
|
if ($stock) {
|
|||
|
|
|||
|
/**
|
|||
|
** Fermeture des entreprises non communiqu<EFBFBD>es si stock
|
|||
|
**/
|
|||
|
|
|||
|
// Supprimer ces 2 lignes quand tout sera OK pour le chargement d'un stock !
|
|||
|
echo date('Y/m/d - H:i:s') ." - Faire une sauvegarde des tables avant toute autre op<6F>ration !";
|
|||
|
$saisie = trim(strtoupper(fgets(STDIN)));
|
|||
|
|
|||
|
|
|||
|
/** Passage des <EFBFBD>tablissements encore actifs <EFBFBD> inactif pour les soci<EFBFBD>t<EFBFBD>s non transmisses dans le stock
|
|||
|
**/
|
|||
|
$ret=$iDb->select('rncs_entrep e, rncs_etab t', 't.id, e.siren, t.nic, t.siege', 'e.siren=t.siren AND e.actif=1 AND t.actif=1', false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - Il y a $nb <20>tablissements <20> passer inactifs...".EOL;
|
|||
|
foreach ($ret as $tabEtab)
|
|||
|
$iDb->update('rncs_etab', array('actif'=>0, 'dateFermeture'=>$dateFlux), 'id='.$tabEtab['id']);
|
|||
|
|
|||
|
/** Passage <EFBFBD> inactif des soci<EFBFBD>t<EFBFBD>s non transmisses dans le stock
|
|||
|
**/
|
|||
|
$ret=$iDb->select('rncs_entrep', 'count(*) AS nb', 'actif=1', false, MYSQL_ASSOC);
|
|||
|
$nb=$ret[0]['nb'];
|
|||
|
echo date ('Y/m/d - H:i:s')." - Passage <20> l'<27>tat inactif des $nb entreprises non livr<76>es dans le stock...".EOL;
|
|||
|
|
|||
|
$sql="UPDATE rncs_entrep SET actif=0, dateFer=$dateFlux WHERE actif=1;";
|
|||
|
$iDb->query($sql, true);
|
|||
|
|
|||
|
/** Confirmation <EFBFBD> actif des soci<EFBFBD>t<EFBFBD>s du stock
|
|||
|
**/
|
|||
|
$ret=$iDb->select('rncs_entrep', 'count(*) as nb', 'actif=11', false, MYSQL_ASSOC);
|
|||
|
$nb=$ret[0]['nb'];
|
|||
|
echo date ('Y/m/d - H:i:s')." - Confirmation <20> l'<27>tat actif des $nb entreprises charg<72>es...".EOL;
|
|||
|
$sql="UPDATE rncs_entrep SET actif=1 WHERE actif=11;";
|
|||
|
$iDb->query($sql, true);
|
|||
|
}
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des flux RNCS IMR de l'INPI.".EOL;
|
|||
|
|
|||
|
die();
|
|||
|
|
|||
|
?>
|