Compare commits
No commits in common. "1.0" and "1.0.1" have entirely different histories.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,815 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
$b64=file_get_contents('/var/www/batch/part1_1.b64');
|
||||
|
||||
echo base64_decode($b64);
|
||||
die();
|
||||
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Sirenage automatique des annonces Bodacc pas encore sirenées.
|
||||
|
||||
Options :
|
||||
-s Sirenage semi-automatique (Ligne de prompt pour les entreprises non sirenées)
|
||||
-p Sirenage de toutes les annonces sans propositions (en vu du traitement manuel)
|
||||
-a Re-sirenage de toutes les annonces Bodacc non sirenées !
|
||||
-i:XXX Reprise à partir du numéro d'annonce XXX
|
||||
-m Ne pas envoyer l'email d'Information à l'équipe de production
|
||||
-n Ne pas limiter le nombre d'entités à sirener.
|
||||
";
|
||||
$semiManuel=$sansPropo=$toutes=$index=$noLimit=false;
|
||||
$envoyerMail=true;
|
||||
|
||||
$mInsee=new MInsee();
|
||||
$iBodacc=new MBodacc();
|
||||
$iDb2=new WDB('jo');
|
||||
|
||||
$tabCycles=array();
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 's':
|
||||
$semiManuel=true;
|
||||
break;
|
||||
case 'm':
|
||||
$envoyerMail=false;
|
||||
break;
|
||||
case 'p':
|
||||
$sansPropo=true;
|
||||
break;
|
||||
case 'a':
|
||||
$toutes=true;
|
||||
break;
|
||||
case 'n':
|
||||
$noLimit=true;
|
||||
break;
|
||||
case 'i':
|
||||
$index=trim(substr($argv[$i],3));
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
} else $tabCycles[]=$argv[$i];
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de SIRENAGE...".EOL;
|
||||
|
||||
$pertinence=false;
|
||||
$nbRep=30;
|
||||
$siege=0;
|
||||
|
||||
$tabTables=array(
|
||||
/* array('db'=>'sugarcrm', 'table2'=>'accounts', 'champRS'=>'name',
|
||||
'champAdresse'=>'billing_address_street',
|
||||
'champCP'=>'billing_address_postalcode',
|
||||
'champVille'=>'billing_address_city',
|
||||
'champSiren'=>'ticker_symbol',
|
||||
'champSirenValide'=>'(ticker_symbol<30000 OR ticker_symbol IS NULL)AND deleted')*/
|
||||
array( // Base 0
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'bodacc_detail',
|
||||
// Jointure
|
||||
'table2'=>"bodacc_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='bodacc_detail'",
|
||||
// Champs
|
||||
'champRS'=>'raisonSociale',
|
||||
'champAdresse'=>"CONCAT_WS(' ', adrNum,adrLibVoie)",
|
||||
'champCP'=>'codePostal',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'nic',
|
||||
'champSirenValide'=>'sirenValide',
|
||||
'champNicValide'=>'nicValide'),
|
||||
array( // Base 1
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'annonces',
|
||||
// Jointure
|
||||
'table2'=>"annonces b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='annonces'",
|
||||
// Champs
|
||||
'champRS'=>'raisonSociale',
|
||||
'champAdresse'=>'adresse',
|
||||
'champCP'=>'codePostal',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
//'champNic'=>'nic',
|
||||
'champSirenValide'=>'sirenValide'),
|
||||
array( // Base 2
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'sirenage_clients',
|
||||
// Jointure
|
||||
'table2'=>"sirenage_clients b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='sirenage_clients'",
|
||||
// Champs
|
||||
'champRS'=>'nom',
|
||||
'champAdresse'=>"TRIM(CONCAT_WS(' ', adresse1,adresse2,adresse3))",
|
||||
'champCP'=>'cp',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'b.nic',
|
||||
'champSirenValide'=>'sirenValide',
|
||||
'champNicValide'=>'nicValide'),
|
||||
array( // Base 3
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'asso',
|
||||
// Jointure
|
||||
'table2'=>"asso b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='asso'",
|
||||
// Champs
|
||||
'champRS'=>'Assoc_Nom',
|
||||
'champAdresse'=>'Assoc_Adresse',
|
||||
'champCP'=>'NULL',
|
||||
'champVille'=>'NULL',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'nic',
|
||||
'champSirenValide'=>'sirenValide',
|
||||
'champNicValide'=>'nicValide'),
|
||||
array( // Base 4
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'rncs_dirigeants',
|
||||
// Jointure
|
||||
'table2'=>"rncs_dirigeants b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.dirSiren AND s.idTable='rncs_dirigeants'",
|
||||
// Champs
|
||||
'champRS'=>'dirRS',
|
||||
'champAdresse'=>'NULL',
|
||||
'champCP'=>'NULL',
|
||||
'champVille'=>'NULL',
|
||||
'champSiren'=>'b.dirSiren',
|
||||
//'champNic'=>'nic',
|
||||
'champSirenValide'=>"b.typeDir='PM' AND b.dirSiren",
|
||||
//'champNicValide'=>'nicValide',
|
||||
),
|
||||
array( // Base 5
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'boamp_lots',
|
||||
// Jointure
|
||||
'table2'=>"boamp_lots b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='boamp_lots'",
|
||||
// Champs
|
||||
'champRS'=>'nom',
|
||||
'champAdresse'=>'adresse',
|
||||
'champCP'=>'cp',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
//'champNic'=>'b.nic',
|
||||
'champSirenValide'=>"(Boamp_Code='BOMP C' OR Boamp_Rubrique IN('9','94')) AND sansSuite=0 AND (nom<>'' OR adresse<>'' OR cp<>'' OR ville<>'') AND nom NOT LIKE '%INFRUCTUEU%' AND b.sirenValide",
|
||||
//'champNicValide'=>'nicValide',
|
||||
),
|
||||
array( // Base 6
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'boamp_detail',
|
||||
// Jointure
|
||||
'table2'=>"boamp_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='boamp_detail'",
|
||||
// Champs
|
||||
'champRS'=>'raisonSociale',
|
||||
'champAdresse'=>'adresse',
|
||||
'champCP'=>'cp',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
//'champNic'=>'b.nic',
|
||||
'champSirenValide'=>"(raisonSociale<>'' OR adresse<>'' OR cp<>'' OR ville<>'') AND b.sirenValide",
|
||||
//'champNicValide'=>'nicValide',
|
||||
),
|
||||
array( // Base 7
|
||||
'db'=>'jo',
|
||||
// Table à sirener
|
||||
'table1'=>'tourisme',
|
||||
// Jointure
|
||||
'table2'=>"tourisme b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='tourisme'",
|
||||
// Champs
|
||||
'champRS'=>'nom',
|
||||
'champAdresse'=>'adresse',
|
||||
'champCP'=>'adrCp',
|
||||
'champVille'=>'adrVille',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'b.nic',
|
||||
'champSirenValide'=>"b.sirenValide",
|
||||
'champNicValide'=>'b.nicValide',
|
||||
),
|
||||
array( // Base 8
|
||||
'db'=>'sdv1',
|
||||
// Table à sirener
|
||||
'table1'=>'fedLiens',
|
||||
// Jointure
|
||||
'table2'=>"fedLiens b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren2 AND s.idTable='fedLiens'",
|
||||
// Champs
|
||||
'champRS'=>'RS',
|
||||
'champAdresse'=>'adresse_libvoie',
|
||||
'champCP'=>'adresse_cp',
|
||||
'champVille'=>'adresse_ville',
|
||||
'champSiren'=>'b.siren2',
|
||||
//'champNic'=>'nic',
|
||||
'champSirenValide'=>"b.PpPm='PM' AND b.siren2",
|
||||
//'champNicValide'=>'nicValide',
|
||||
),
|
||||
array( // Base 9
|
||||
'db'=>'bopi',
|
||||
// Table à sirener
|
||||
'table1'=>'marques',
|
||||
// Jointure
|
||||
'table2'=>"bopi.marques b LEFT JOIN jo.bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.sirenDeposant AND s.idTable='marques'",
|
||||
// Champs
|
||||
'champRS'=>'deposantMarque',
|
||||
'champAdresse'=>"CONCAT_WS(' ',deposant_AdrNum,deposant_AdrTypVoie,deposant_AdrLibVoie,deposant_AdrComp)",
|
||||
'champCP'=>'deposant_AdrCP',
|
||||
'champVille'=>'deposant_AdrVille',
|
||||
'champSiren'=>'b.sirenDeposant',
|
||||
//'champNic'=>'nic',
|
||||
'champSirenValide'=>"b.sirenValide",
|
||||
//'champNicValide'=>'nicValide',
|
||||
),/*
|
||||
array( // Base 10 - Ce siren tout le temp !!!
|
||||
'db'=>'sdv1',
|
||||
// Table à sirener
|
||||
'table1'=>'tabCNCC',
|
||||
// Jointure
|
||||
'table2'=>"sdv1.tabCNCC b LEFT JOIN jo.bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='tabCNCC'",
|
||||
// Champs
|
||||
'champRS'=>'nom',
|
||||
'champAdresse'=>"CONCAT_WS(' ',adresse,adresse2)",
|
||||
'champCP'=>'cp',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'nic',
|
||||
'champSirenValide'=>"sirenValide",
|
||||
'champNicValide'=>'nicValide',
|
||||
), */
|
||||
);
|
||||
|
||||
//$iDb2=new WDB('modelisation');
|
||||
foreach ($tabTables as $i=>$table) { // On boucle sur chaque table
|
||||
if (count($tabCycles)>0 && !in_array($i, $tabCycles)) continue;
|
||||
|
||||
$iDb=new WDB($table['db']);
|
||||
$tableDB=$table['table2'];
|
||||
if ($iDb === false) die('Could not select database: ' . $iDb->getLastError());
|
||||
if (!$sansPropo) $strOptions=" AND s.idAnn IS NULL AND s.siren IS NULL ";
|
||||
else $strOptions="";
|
||||
//if ($toutes) { $tableDB=$table['table1'].' b'; $strOptions=''; }
|
||||
if ($index) $strOptions.=' AND b.id>='.$index;
|
||||
//if ($index) $strOptions.=' AND id>='.$index;
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, nomCommercial, enseigne, sigle, adrNum, adrSiegeNum, '.$table['champAdresse'].' as Adr, CONCAT_WS(adrNum," ",adrLibVoie) as AdrSiege, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, codePostalSiege, villeSiege, Rubrique_Bodacc, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Tribunal_Code, dateJugement, DATE_FORMAT(dateJugement, \'%w\') as jourJugement, DATE_FORMAT(dateJugement, \'%d\') as jjJugement';
|
||||
//if ($i==0)
|
||||
// $strOptions.=" OR b.typeEven LIKE '%1515%' ";//OR b.typeEven LIKE '%1517%' OR b.typeEven LIKE '%1520%' OR b.typeEven LIKE '%1999%'
|
||||
// codeEven==1515 || $codeEven==1517 || $codeEven==1520 ||$codeEven==1999))
|
||||
if ($i==1)
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
|
||||
"" AS Rubrique_Bodacc, parutionNum AS Bodacc_Num, dateSource AS Bodacc_Date_Parution, idAnnonce AS Num_Annonce, tribunal AS Tribunal_Code,
|
||||
dateJugement, DATE_FORMAT(dateJugement, \'%w\') as jourJugement, DATE_FORMAT(dateJugement, \'%d\') as jjJugement';
|
||||
elseif ($i==2)
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champNic'].' as nic, '.$table['champRS'].' as RS, enseigne, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
|
||||
telephone, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, "" AS Bodacc_Date_Parution, "" AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
elseif ($i==3) {
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, "" AS enseigne, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
|
||||
Type_Annonce AS Rubrique_Bodacc, Num_Parution AS Bodacc_Num, Date_Parution AS Bodacc_Date_Parution, Num_Annonce, Sous_Prefecture AS Tribunal_Code,
|
||||
Assoc_Date_Declaration2 AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
$strOptions.="";
|
||||
}
|
||||
elseif ($i==4)
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, "" AS enseigne, "" as Adr, "" as CP, "" as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, flux AS Bodacc_Date_Parution, 0 AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
elseif ($i==5)
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, Boamp_Rubrique AS Rubrique_Bodacc, "" AS Bodacc_Num, Boamp_Date_Parution AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
elseif ($i==6)
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, Boamp_Rubrique AS Rubrique_Bodacc, "" AS Bodacc_Num, Boamp_Date_Parution AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
elseif ($i==7) {
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, typeClasse AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
} elseif ($i==9) {
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
} elseif ($i==10) {
|
||||
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
|
||||
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
|
||||
$strOptions=" AND cp IS NOT NULL ";
|
||||
}
|
||||
|
||||
$where=$table['champSirenValide']."=0 ";
|
||||
if ($i<>2 && $i<>4 && $i<>7 && $i<>9 && $i<>10) {
|
||||
$where.=" AND idSuppr=0";
|
||||
}
|
||||
|
||||
if ($noLimit)
|
||||
$strOptions.=" ORDER BY id DESC";
|
||||
else
|
||||
$strOptions.=" /*AND id>768245*/ ORDER BY id ASC LIMIT 0,5000";
|
||||
|
||||
$where.=" $strOptions ";
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - REQUETE SQL = SELECT $fields FROM $tableDB WHERE $where;".EOL;
|
||||
|
||||
//$listeNonSirene=$iDb->select($tableDB, $fields, $where, true, MYSQL_ASSOC);
|
||||
$nbNonSirene=$iDb->select($tableDB, $fields, $where, true, MYSQL_ASSOC, true);
|
||||
|
||||
//echo date('Y/m/d - H:i:s') ." - Nombre d'entitées non SIRENEES : ". count($listeNonSirene) . EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Nombre d'entitées non SIRENEES : ".$nbNonSirene . EOL;
|
||||
$k=0;
|
||||
|
||||
//foreach ($listeNonSirene as $k=>$entrep) {
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$lastId=$entrep['id'];
|
||||
// $listeNonSirene as $k=>$entrep) {
|
||||
$k++;
|
||||
//if ($k==1000) die();
|
||||
/* Vérifier dans la table failure
|
||||
if (substr($entrep['Rubrique_Bodacc'],0,1)=='A') $codJournal='001';
|
||||
else $codJournal='200';
|
||||
$failures=$iDb2->select('failures', 'SIREN, NIC, libann, codevt, codtri, SONOM, SOCOM', "codjou='$codJournal' AND datpar='".str_replace('-','',$entrep['Bodacc_Date_Parution'])."' AND numbod='".$entrep['Bodacc_Num']."' AND numannjou='0".$entrep['Num_Annonce']."' AND SIREN NOT LIKE '000000000' GROUP BY SIREN", true);
|
||||
if (count($failures)==2) {
|
||||
/** Si plus de 1 siren, il faut vérifier suivant le type de l'annonce à quelle entreprise rattacher le siren manquant
|
||||
$tabSirF=array();
|
||||
foreach ($failures as $sirenf)
|
||||
$tabSirF[]=$sirenf['SIREN'];
|
||||
$strTabSir=implode(',',$tabSir);
|
||||
$tabTmp=$iDb->select('bodacc_detail','id, siren, sirenValide', 'id='. $entrep['id'].' ORDER BY sirenValide ASC', true);// ." AND siren NOT IN ($strTabSir)", true);
|
||||
$tabSir=array();
|
||||
foreach ($tabTmp as $sirenf)
|
||||
$tabSir[]=$sirenf['siren'];
|
||||
/*echo "Failures:\n";
|
||||
print_r($failures);
|
||||
echo "S&D:\n";
|
||||
print_r($tabTmp);
|
||||
echo "Diff:\n";
|
||||
$tabTmp2=array_diff($tabSirF,$tabSir);
|
||||
$siren=$tabTmp2[0]; // Valeur du Siren à prendre pour la mise à jour
|
||||
$sir=$tabTmp[0]['siren']; // Sir à mettre à jour
|
||||
//$nom=$entrep['SONOM'];
|
||||
//$vil=$entrep['SOCOM'];
|
||||
echo "Trouvé = $siren !\n";
|
||||
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>2), 'id='.$entrep['id'].' AND siren='.$sir, true) or die($iDb->getLastError());
|
||||
//die();
|
||||
// On efface l'information de la table A sirener au cas où !
|
||||
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$sir);
|
||||
} elseif (count($failures)==1) {
|
||||
echo "Une seule correspondance failures:\n";
|
||||
print_r($failures);
|
||||
$siren=$failures[0]['SIREN']; // Valeur du Siren à prendre pour la mise à jour
|
||||
//$sir=$tabTmp[0]['siren']; // Sir à mettre à jour
|
||||
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>2), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true);// or die($iDb->getLastError());
|
||||
// On efface l'information de la table A sirener au cas où !
|
||||
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']);
|
||||
//die();
|
||||
/*} elseif (count($failures)>2) {
|
||||
echo "Plus de 2 correspondance failures:\n";
|
||||
print_r($failures);
|
||||
die();
|
||||
} else { // Pas trouvé dans failures
|
||||
**/
|
||||
$raisonSociale=preg_replace("/,(.*)\)/",'',$entrep['RS']);
|
||||
if ($i==5 || $i==6)
|
||||
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.$raisonSociale.' ',array(' VILLE '=>' COMMUNE ',
|
||||
' CONSEIL GENERAL '=>' DEPARTEMENT ',
|
||||
))));
|
||||
/* $raisonSociale=strtoupper(strtr($raisonSociale, '/(),-\\\'":',' '));
|
||||
$raisonSociale=preg_replace('/[^0-9A-Z]/', ' ', strtr($raisonSociale, 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
|
||||
$raisonSociale=preg_replace("/GERANT (.*)/",'', $raisonSociale);
|
||||
$raisonSociale=preg_replace("/^(MLLE |MELLE |MLE |MME |ME |M |MR )/",'', $raisonSociale);
|
||||
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.$raisonSociale.' ',
|
||||
array(' NEE '=>' ', ' DIVORCEE '=>' ', ' DENOMINATION '=>' ',' D NOMINATION '=>' ', ' NOM D USAGE '=>' ', ' ASSOCIATION '=>' ',' CLUB '=>' ', ' SUCCESSION '=>' ', ' CONJOINT '=>' ', ' COLLABORATEUR '=>' ', ' VEUVE '=>' ', // FEU
|
||||
' S E L A R L '=>' ', ' S A R L '=>' ', ' S A S '=>' ', ' S A '=>' ', ' S C I '=>' ', ' S N C '=>' ', ' S C P '=>' ', ' S C E A '=>' ', ' S C A '=>' ', ' E U R L '=>' ', ' E A R L '=>' ', ' E A R '=>' ', ' E A '=>' ', ' S C '=>' ',
|
||||
' SELARL '=>' ', ' SARL '=>' ', ' SAS '=>' ', ' SA '=>' ', ' SCI '=>' ', ' SNC '=>' ', ' SCP '=>' ', ' SCEA '=>' ', ' SCA '=>' ', ' EURL '=>' ',
|
||||
' EARL '=>' ', ' EAR '=>' ', ' EA '=>' ',' SC '=>' ',
|
||||
' DE '=>' ',' ET '=>' ',' LA '=>' ',' DU '=>'', ' DES '=>' ', ' L '=>' ', ' SOCIETE '=>' ', ' MONSIEUR '=>' ', ' MADAME '=>' ', ' STE '=>' ', ' CIVILE '=>' ', ' IMMOBILIERE '=>' ',' LIQUIDATION '=>' ', ' DISSOLUTION '=>' ',
|
||||
))));*/
|
||||
if ($entrep['CP']<>0) {
|
||||
$adresse=preg_replace('/[^0-9A-Z]/', ' ', strtr($entrep['Adr'], 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
|
||||
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$adresse.' ',
|
||||
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
|
||||
|
||||
$codePostal=$entrep['CP'];
|
||||
$ville=trim(strtr($entrep['ville'], '/(),',' '));
|
||||
} else {
|
||||
$adresse=preg_replace('/[^0-9A-Z]/', ' ', strtr($entrep['AdrSiege'], 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
|
||||
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$adresse.' ',
|
||||
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
|
||||
|
||||
$codePostal=$entrep['codePostalSiege'];
|
||||
$ville=trim(strtr($entrep['villeSiege'], '/(),',' '));
|
||||
}
|
||||
|
||||
if ($i==3) {
|
||||
$strAdresse=$entrep['Adr'];
|
||||
$tabAdresse=$mInsee->structureVoie($entrep['Adr']);
|
||||
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$tabAdresse['libVoie'].' '.$tabAdresse['adrComp0'].' ',
|
||||
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
|
||||
|
||||
$codePostal=$tabAdresse['cp'];
|
||||
$ville=$tabAdresse['ville'];
|
||||
// print_r($tabAdresse);
|
||||
// die();
|
||||
}
|
||||
|
||||
if ($i==2 && $entrep['sir']>1000 && $entrep['nic']>9) {
|
||||
$sirC=$entrep['sir'];
|
||||
$nicC=$entrep['nic'];
|
||||
|
||||
$tabTmp=$mInsee->getIdentiteLight($sirC, $nicC);
|
||||
//print_r($tabTmp);
|
||||
// Entreprise recherchée !
|
||||
$raisonSociale=strtoupper($entrep['RS']);
|
||||
$adresse=strtoupper($entrep['Adr']);
|
||||
$codePostal=strtoupper($entrep['CP']);
|
||||
$ville=strtoupper($entrep['ville']);
|
||||
$telephone=strtr(@$entrep['telephone'],array('.'=>'',','=>'',';'=>'','-'=>'','/'=>'','+33'=>'','0033'=>'','('=>'',')'=>'',' '=>''));
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE cli : $sirC $nicC - $raisonSociale, $adresse, $codePostal $ville ($telephone)".EOL;
|
||||
// Entreprise lue (trouvée)
|
||||
$raisonSocialeLu=strtoupper($tabTmp['Nom']);
|
||||
$adresseLu=strtoupper($tabTmp['Adresse']);
|
||||
$codePostalLu=$tabTmp['CP'];
|
||||
$villeLu=strtoupper($tabTmp['Ville']);
|
||||
$sirL=$tabTmp['Siren'];
|
||||
$nicL=$tabTmp['Nic'];
|
||||
$telephoneLu=$tabTmp['Tel'];
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : TROUVEE cli : $sirL $nicL - $raisonSocialeLu, $adresseLu, $codePostalLu $villeLu ($telephoneLu)".EOL;
|
||||
|
||||
$len=strlen($raisonSociale.$adresse.$codePostal.$ville);
|
||||
$lenLu=strlen($raisonSocialeLu.$adresseLu.$codePostalLu.$villeLu);
|
||||
$levRS=levenshtein($raisonSociale,$raisonSocialeLu);
|
||||
$levAdr=levenshtein($adresse,$adresseLu);
|
||||
$levCP=levenshtein($codePostal,$codePostalLu);
|
||||
$levVille=levenshtein($ville,$villeLu);
|
||||
$levTotal=$levRS+$levAdr+$levCP+$levVille;
|
||||
$len1=($lenLu+$len)/2;
|
||||
$ratio1=$levTotal/$len1*1.0;
|
||||
$ratio2=$len1/$levTotal;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité $levTotal, $len1 => $ratio1, $ratio2 : ";
|
||||
if ($ratio1<0.4 && $table['table1']=='sirenage_clients') {
|
||||
$tabUpdate=array( 'siren'=>$sirL,
|
||||
'nic'=>$nicL);
|
||||
$tabUpdate[$table['champSirenValide']]=1;
|
||||
$tabUpdate[$table['champNicValide']]=1;
|
||||
|
||||
$iDb->update($table['table1'], $tabUpdate,
|
||||
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL);
|
||||
echo 'VALIDE'.EOL;
|
||||
continue;
|
||||
}
|
||||
echo 'non validé'.EOL;
|
||||
|
||||
if ($telephone<>'') {
|
||||
$tabTmp=$mInsee->getEtablissementsParId('TEL', $telephone, $deb, $nbRep, $maxRep);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
if ($tabTmp[nbReponses]>0) {
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité TELEPHONE => $ratio1, $ratio2 : ";
|
||||
if ($tabTmp[nbReponses]==1 && $tabTrouve[0]['Siren']==$sirC) {
|
||||
$tabTrouv=$tabTrouve[0];
|
||||
$tabUpdate=array( 'siren'=>$sirC,
|
||||
/*'nic'=>$nicL*/);
|
||||
$tabUpdate[$table['champSirenValide']]=1;
|
||||
$tabUpdate[$table['champNicValide']]=1;
|
||||
|
||||
$iDb->update($table['table1'], $tabUpdate,
|
||||
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL);
|
||||
echo 'VALIDE'.EOL;
|
||||
continue;
|
||||
}
|
||||
echo 'non validé'.EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$deb=0;$nbRep=20;$maxRep=20;$actif='';
|
||||
|
||||
$tabTmp=$mInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
/** On recherche au nom Commercial **/
|
||||
/* if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
|
||||
/** On recherche à l'enseigne **/
|
||||
/* if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
|
||||
/** On recherche au sigle **/
|
||||
/* if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
|
||||
/** On présume que le code postal n'est pas bon **/
|
||||
/* if (count($tabTrouve)==0) {
|
||||
$tabTmp=$mInsee->rechercheEtab($raisonSociale, $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et nom Commercial
|
||||
if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et à l'enseigne
|
||||
if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et au sigle
|
||||
if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
|
||||
/**
|
||||
** On présume que le numéro dans la rue est faux
|
||||
**/
|
||||
/* if (count($tabTrouve)==0) {
|
||||
$tabTmp=$mInsee->rechercheEtab($raisonSociale, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et nom Commercial
|
||||
if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et à l'enseigne
|
||||
if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
// et au sigle
|
||||
if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
|
||||
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
|
||||
// Recherche par le dernier mot de la RS
|
||||
if (count($tabTrouve)==0) {
|
||||
$tabMot=explode(' ', $raisonSociale);
|
||||
$rsFin=end($tabMot);
|
||||
$rsDeb=end($tabMot);
|
||||
if (strlen($motFin)>3)
|
||||
$tabTmp=$mInsee->rechercheEtab($rsFin, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
elseif (strlen($motDeb)>3)
|
||||
$tabTmp=$mInsee->rechercheEtab($rsDeb, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
|
||||
if (count($tabTrouve)==0) {
|
||||
$tabMot=explode(' ', trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))));
|
||||
$adrFin=end($tabMot);
|
||||
if (strlen($adrFin)>3) {
|
||||
$tabTmp=$mInsee->rechercheEtab($rsFin, $adrFin, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
}
|
||||
|
||||
if (count($tabTrouve)==0) {
|
||||
$tabMot=explode(' ', $ville);
|
||||
$vilFin=end($tabMot);
|
||||
if (strlen($vilFin)>3) {
|
||||
$tabTmp=$mInsee->rechercheEtab($rsFin, $adrFin, '', $vilFin, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Si l'adresse est "exhaustive", on cherche sans la raison sociale **/
|
||||
/* if (count($tabTrouve)==0 && ($entrep['adrNum']<>0 || $entrep['adrSiegeNum']<>0)) {
|
||||
$tabTmp=$mInsee->rechercheEtab('', $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
/** Si l'adresse est "exhaustive", on cherche sans la raison sociale **/
|
||||
/* if (count($tabTrouve)==0 && ($entrep['adrNum']<>0 || $entrep['adrSiegeNum']<>0)) {
|
||||
$tabTmp=$mInsee->rechercheEtab('', $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
|
||||
$tabTrouve=$tabTmp['reponses'];
|
||||
}
|
||||
*/
|
||||
//$adresse=trim(strtoupper(preg_replace("/[0-9]{1,4}( rue | avenue | boulevard )/i",'',strtr($entrep['Adr'], '/(),-',' '))));
|
||||
//$ville=trim(strtr($entrep['Ville'], '/(),',' '));
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE DE ". $entrep['id'].', '.$entrep['sir'].' : '.$raisonSociale.', '.$adresse.', '.$codePostal.' '.$ville.' ('.count($tabTrouve). " réponses)".EOL;
|
||||
|
||||
$tabAnn=$iDb2->select('bodacc', 'annonce', 'id='.$entrep['id']);
|
||||
$annonce=$tabAnn[0][0];
|
||||
//die($annonce);
|
||||
|
||||
if ($i==3) {
|
||||
$tabTrouve2=array();
|
||||
if (is_array($tabTrouve) && count($tabTrouve)>0)
|
||||
foreach ($tabTrouve as $iT=>$tabTrouveT)
|
||||
if ($tabTrouveT['FJ']>=9100 && $tabTrouveT['FJ']<=9300 &&
|
||||
$tabTrouveT['Siret']>=1000) $tabTrouve2[]=$tabTrouveT;
|
||||
$tabTrouve=$tabTrouve2;
|
||||
}
|
||||
|
||||
if (count($tabTrouve)==1) {
|
||||
$entrepT=$tabTrouve[0];
|
||||
$siren=substr($entrepT['Siret'],0,9);
|
||||
$nic=substr($entrepT['Siret'],9,5);
|
||||
// Entreprise recherchée !
|
||||
$raisonSociale=strtoupper($entrep['RS']);
|
||||
$adresse=strtoupper($entrep['Adr']);
|
||||
$codePostal=strtoupper($entrep['CP']);
|
||||
$ville=strtoupper($entrep['ville']);
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE : $raisonSociale, $adresse, $codePostal $ville".EOL;
|
||||
// Entreprise lue (trouvée)
|
||||
$raisonSocialeLu=strtoupper($entrepT['Nom']);
|
||||
$adresseLu=strtoupper($entrepT['Adresse']);
|
||||
$codePostalLu=$entrepT['CP'];
|
||||
$villeLu=strtoupper($entrepT['Ville']);
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : TROUVEE : $raisonSocialeLu, $adresseLu, $codePostalLu $villeLu".EOL;
|
||||
//die(print_r($entrep));
|
||||
$len=strlen($raisonSociale.$adresse.$codePostal.$ville);
|
||||
$lenLu=strlen($raisonSocialeLu.$adresseLu.$codePostalLu.$villeLu);
|
||||
$levRS=levenshtein($raisonSociale,$raisonSocialeLu);
|
||||
$levAdr=levenshtein($adresse,$adresseLu);
|
||||
$levCP=levenshtein($codePostal,$codePostalLu);
|
||||
$levVille=levenshtein($ville,$villeLu);
|
||||
$levTotal=$levRS+$levAdr+$levCP+$levVille;
|
||||
$len1=($lenLu+$len)/2;
|
||||
$ratio1=$levTotal/$len1*1.0;
|
||||
$ratio2=$len1/$levTotal;
|
||||
|
||||
echo "$siren $nic\n";
|
||||
//print_r($entrepT);//die();
|
||||
/*if ($table['db']<>'jo')
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$siren), "id='".$entrep['id']."'", true) or die($iDb->getLastError());
|
||||
else*/
|
||||
//print_r($tabTmp);
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité $levTotal, $len1 => $ratio1, $ratio2 : ";
|
||||
if (($ratio1<0.4 && $table['table1']=='sirenage_clients') ||
|
||||
($ratio1<0.3 && $table['table1']=='asso' && $siren>1000) ||
|
||||
($ratio1<0.4 && $table['table1']=='boamp_lots' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
|
||||
($ratio1<0.4 && $table['table1']=='boamp_detail' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
|
||||
($ratio1<0.4 && $table['table1']=='marques' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
|
||||
($ratio1<0.3 && $table['table1']=='tabCNCC' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'')
|
||||
) {
|
||||
//print_r($entrepT);die();
|
||||
// Si bon rapprochement, on ne demande pas de confirmation !
|
||||
if ($table['table1']=='boamp_lots' || $table['table1']=='boamp_detail') {
|
||||
$tabUpdate=array( 'siren'=>$siren,
|
||||
'nic'=>$nic);
|
||||
$tabUpdate['sirenValide']=1;
|
||||
$tabUpdate['nicValide']=1;
|
||||
} elseif ($table['table1']=='marques') {
|
||||
$tabUpdate=array( 'sirenDeposant'=>$siren,
|
||||
'sirenValide'=>4);
|
||||
} else {
|
||||
$tabUpdate=array( 'siren'=>$siren,
|
||||
'nic'=>$nic);
|
||||
$tabUpdate[$table['champSirenValide']]=1;
|
||||
$tabUpdate[$table['champNicValide']]=1;
|
||||
}
|
||||
$iDb->update($table['table1'], $tabUpdate,
|
||||
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL.print_r($tabUpdate,1).EOL.$table['table1']);
|
||||
echo 'VALIDE'.EOL;
|
||||
continue;
|
||||
}
|
||||
echo 'non validé'.EOL;
|
||||
//fgets(STDIN);
|
||||
|
||||
if (trim($siren)<>'') {
|
||||
/* $tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true);
|
||||
if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren
|
||||
//$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true);
|
||||
} else
|
||||
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die('ERREUR : '.$iDb->getLastError());
|
||||
// On efface l'information de la table A sirener au cas où !
|
||||
//$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die('ERREUR : '.$iDb->getLastError());
|
||||
*/
|
||||
$tabInsert=array( 'idAnn'=>$entrep['id'],
|
||||
'idTable'=>$table['table1'],
|
||||
'siren'=>$entrep['sir'],
|
||||
'siretProposes'=>$siren,
|
||||
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
|
||||
);
|
||||
if ($iDb2->insert('bodacc_sirenage', $tabInsert, false, true))
|
||||
$iDb2->update('bodacc_sirenage', array('siretProposes'=>$siren), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'", false, 0, true) or die('ERREUR 2 : '.$iDb->getLastError().EOL.print_r($tabInsert, true).EOL.'idAnn='.$entrep['id']." AND siren=".$entrep['sir']." AND idTable='".$table['table1']."'");
|
||||
}
|
||||
} elseif (count($tabTrouve)==0) {
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : Pas de réponse !".EOL;
|
||||
$tabInsert=array( 'idAnn'=>$entrep['id'],
|
||||
'idTable'=>$table['table1'],
|
||||
'siren'=>$entrep['sir'],
|
||||
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
|
||||
);
|
||||
if (!$iDb2->insert('bodacc_sirenage', $tabInsert, false, true))
|
||||
$iDb2->update('bodacc_sirenage', array('siretProposes'=>''), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'", false, 0, true) or die('ERREUR 3 : '.$iDb->getLastError().EOL);
|
||||
} else { // Plusieurs siren possibles
|
||||
|
||||
// print_r($tabTrouve);
|
||||
// die();
|
||||
|
||||
//echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : Plusieurs siren possibles".EOL;
|
||||
$siren1=substr($tabTrouve[0]['Siret'],0,9);
|
||||
$nic1=substr($tabTrouve[0]['Siret'],9,5);
|
||||
$sirenDiff=$sirenNomIdem=$sirenAdrIdem=false;
|
||||
$tabSiren=array(0=>0);
|
||||
$tabSiret=array();
|
||||
foreach ($tabTrouve as $j=>$entrepT) {
|
||||
if($j==0) echo date('Y/m/d - H:i:s') ." - PROBABLES :".EOL;
|
||||
$siren=substr($entrepT['Siret'],0,9);
|
||||
$nic=substr($entrepT['Siret'],9,5);
|
||||
$tabSiren[]=$siren;
|
||||
$nomT=strtr($entrep['RS'], '/(),-',' ');
|
||||
$adresseT=trim(strtoupper(preg_replace("/[0-9]{1,4}(.*)( R | AV | RUE | AVENUE | BD | BOULEVARD )/i",'',strtr($entrepT['Adresse'], '/(),-',' '))));
|
||||
if (levenshtein($raisonSociale,$nomT)>2) $sirenNomIdem=$siren;
|
||||
if ($siren<>$siren1) $sirenDiff=true;
|
||||
if (levenshtein($adresse,$adresseT)<2) $sirenAdrIdem=$siren;
|
||||
$num=$j+1;
|
||||
echo "$num. $siren $nic, ". $entrepT['Nom'].', '.$entrepT['Nom2'].', '.$entrepT['Enseigne'].', '.$entrepT['Adresse'].', '.$entrepT['CP'].', '.$entrepT['Ville']."\n";
|
||||
$tabSiret[]=$entrepT['Siret'].'-'.$entrepT['Pertinence'];
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : ".count($tabTrouve)." possibilités :\n";
|
||||
|
||||
$tabInsert=array( 'idAnn'=>$entrep['id'],
|
||||
'idTable'=>$table['table1'],
|
||||
'siren'=>$entrep['sir'],
|
||||
'siretProposes'=>implode(';',$tabSiret),
|
||||
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
|
||||
);
|
||||
|
||||
//fgets(STDIN);
|
||||
|
||||
// if ($sirenDiff==false) {
|
||||
// Tous les SIREN sont identiques, l'entreprise ttouvée est la bonne !
|
||||
// echo "$num. Siren trouvé = $siren (tous les Sirens sont identiques) !\n";
|
||||
// $iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>4, $table['champNicValide']=>0), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die('ERREUR : '.$iDb->getLastError());
|
||||
// // On efface l'information de la table A sirener au cas où !
|
||||
// $iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die('ERREUR : '.$iDb->getLastError());
|
||||
// } else {
|
||||
// /** On insère en base toutes les multipropositions pour le sirenage manuel */
|
||||
|
||||
if ($iDb2->insert('bodacc_sirenage', $tabInsert, false, true)) {
|
||||
$tabUpdate=array('siretProposes'=>implode(';',$tabSiret));
|
||||
$strUpdate='idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'";
|
||||
// print_r($tabUpdate);
|
||||
// echo $strUpdate.EOL;
|
||||
$iDb2->update('bodacc_sirenage', $tabUpdate, $strUpdate, false, 0, true) or die('ERREUR 4 : '.$iDb->getLastError());
|
||||
}
|
||||
// }
|
||||
//, 'id='.$entrep['id'].' AND '. $table['champSiren'] .'='.$entrep['sir'], true) or die(mysql_error());
|
||||
|
||||
/*elseif ($sirenNomIdem!=false) {
|
||||
echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n";
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error());
|
||||
} elseif ($sirenAdrIdem!=false) {
|
||||
echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n";
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sirenAdrIdem, $table['champSirenValide']=>6), 'id='.$entrep['id'], true) or die(mysql_error());
|
||||
} else
|
||||
{ //if ($semiManuel==true);
|
||||
$saisie='';
|
||||
while($semiManuel==true && $saisie=='') {
|
||||
echo "Veuillez saisir le numéro qui identifie la bonne entreprise (0 si pas de réponse) : ";
|
||||
$saisie = trim(fgets(STDIN));
|
||||
if ($saisie==0) break;
|
||||
elseif ($saisie>0 && $saisie<=$j+1) {
|
||||
$sir=$tabSiren[$saisie];
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sir), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($tableDB, array($table['champSiren']=>$sir, $table['champSirenValide']=>2),
|
||||
'id='.$entrep['id'], true) or die(mysql_error());
|
||||
break;
|
||||
}
|
||||
else $saisie='';
|
||||
}
|
||||
}*/
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
// $nbSirenage=count($listeNonSirene);
|
||||
if ($nbNonSirene>9 && $envoyerMail) {
|
||||
// On n'envoie pas de mails pour le sirenage de l'historique boamp
|
||||
if ($table['table1']=='boamp_lots' && $lastId7<768245) continue;
|
||||
/** Envoi d'un email aux Equipes de production pour le sirenage **/
|
||||
$message="Il y a $nbNonSirene nouveaux rapprochements '".$table['table1']."' à faire.";
|
||||
sendMail('production@scores-decisions.com', 'jal42@scores-decisions.com', 'Nouvelles entreprises disponibles pour le sirenage.', $message);
|
||||
}
|
||||
|
||||
//}
|
||||
unset($iDb); // A cause du changement possible de Base de Données
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - FIN du programme de SIRENAGE des annonces mal sirenés du BODACC.".EOL;
|
||||
die();
|
||||
?>
|
@ -1,207 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
define('BOAMP_LOCAL_DIR', '/home/data/boamp/Klekoon/1_FORMAT_ANCIEN/Fichiers/');
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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/classMGreffes.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Calcul des ratios de toute la base entreprise S&D.
|
||||
|
||||
Options :
|
||||
-t Calculer tous les ratios (*)
|
||||
-i:XXX Reprendre à la ligne XXX
|
||||
-c Mettre à jour le cache
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
$iDb=new WDB('boamp');
|
||||
$iInsee=new MInsee();
|
||||
$iBodacc=new MBodacc();
|
||||
|
||||
$modeDebug=false; // Mode débug
|
||||
$questions=true; // Questions interactives autorisées
|
||||
$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 'i': $questions=false; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichLigneCmd[]=$argv[$i];
|
||||
}
|
||||
|
||||
if (count($tabFichLigneCmd)==0) {
|
||||
$dh = opendir(BOAMP_LOCAL_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.PUB')
|
||||
$tabFichier[] = $filename;
|
||||
}
|
||||
sort($tabFichier);
|
||||
}
|
||||
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier d'annonces BOAMP à traiter !".EOL);
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des annonces BOAMP...".EOL;
|
||||
|
||||
for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
|
||||
{
|
||||
$nomFichier=$tabFichier[$iFic];
|
||||
echo date ('Y/m/d - H:i:s') . " - Lecture du fichier $nomFichier...".EOL;
|
||||
$tabLignes=file(BOAMP_LOCAL_DIR.$nomFichier);
|
||||
$tabAnnonces=array();
|
||||
$iAnn=0;
|
||||
$nextBalise='';
|
||||
foreach ($tabLignes as $i=>$ligne) {
|
||||
$nextBaliseLu=false;
|
||||
$code=''.substr($ligne,0,2);
|
||||
$texte=strtr(substr($ligne,2), '`„Œ$~', 'èéà@ç');
|
||||
switch ($code) {
|
||||
case '01':
|
||||
$iAnn++;
|
||||
$tabAnnonces[$iAnn]['annee']='20'.substr($texte,0,2);
|
||||
$tabAnnonces[$iAnn]['numParution']=substr($texte,2,3);
|
||||
if (substr($texte,5,1)=='1') $edition='A';
|
||||
elseif (substr($texte,5,1)=='2') $edition='B';
|
||||
elseif (substr($texte,5,1)=='3') $edition='C';
|
||||
else die("Edition '$edition' inconnue !");
|
||||
$tabAnnonces[$iAnn]['edition']=$edition;
|
||||
$tabAnnonces[$iAnn]['dateParution']='20'.substr($texte,10,2).substr($texte,8,2).substr($texte,6,2);
|
||||
$tabAnnonces[$iAnn]['numAnnonce']=substr($texte,12,4);
|
||||
$tabAnnonces[$iAnn]['r2']=trim(substr($texte,16,3));
|
||||
$tabAnnonces[$iAnn]['dept']=trim(substr($texte,19,3));
|
||||
$tabAnnonces[$iAnn]['rubrique']=substr($texte,22,3);
|
||||
$tabAnnonces[$iAnn]['nojo']=substr($texte,25,10);
|
||||
$tabAnnonces[$iAnn]['numAnnB']=substr($texte,35,4);
|
||||
$tabAnnonces[$iAnn]['texte']=$tabAnnonces[$iAnn]['balises']='';
|
||||
break;
|
||||
case '05':
|
||||
switch (trim($texte)) {
|
||||
case 'Nom et adresse officiels du pouvoir':
|
||||
case 'adjudicateur:':
|
||||
$nextBalise='infoOrgNom';
|
||||
break;
|
||||
case "à l'attention de":
|
||||
$nextBalise='infoOrgDest';
|
||||
break;
|
||||
case 'Mode de passation:':
|
||||
case 'Procédure de passation:':
|
||||
$nextBalise='infoPassation';
|
||||
break;
|
||||
case "Critères d'attribution:":
|
||||
$nextBalise='infoAttribution';
|
||||
break;
|
||||
case "Référence d'identification du marché":
|
||||
case "qui figure dans l'appel d'offres:":
|
||||
$nextBalise='infoIdenMarche';
|
||||
break;
|
||||
case "Annonce no":
|
||||
case "B.O.A.M.P.":
|
||||
$nextBalise='infoAnnonceNo';
|
||||
break;
|
||||
case "Date d'envoi de l'avis à la":
|
||||
case 'publication:':
|
||||
$nextBalise='infoPublication';
|
||||
break;
|
||||
default:
|
||||
$nextBalise='';
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case '15':
|
||||
switch (trim($texte)) {
|
||||
case 'Objet :':
|
||||
case 'Objet du marché:':
|
||||
$nextBalise='objet';
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case '16':
|
||||
$tabAnnonces[$iAnn]['objetMarche'].=trim($texte).' ';
|
||||
break;
|
||||
case '10':
|
||||
if ($nextBalise<>'') {
|
||||
$nextBaliseLu=true;
|
||||
$tabAnnonces[$iAnn]['_'.$nextBalise].=trim($texte).' ';
|
||||
}
|
||||
else
|
||||
$tabAnnonces[$iAnn]['code'.$code].=trim($texte).' ';
|
||||
break;
|
||||
case '17':
|
||||
case '30':
|
||||
case '35':
|
||||
break;
|
||||
case '28':
|
||||
$tabAnnonces[$iAnn]['code28'].=trim($texte).' ';
|
||||
break;
|
||||
case '44':
|
||||
$tabAnnonces[$iAnn]['naf'].=trim($texte).' ';
|
||||
break;
|
||||
case '20':
|
||||
$tabAnnonces[$iAnn]['classes'].=preg_replace('/00$/','', trim($texte)).' ';
|
||||
break;
|
||||
case '25':
|
||||
$tabAnnonces[$iAnn]['motDesc'].=trim($texte).' ';
|
||||
break;
|
||||
case '41':
|
||||
$tabAnnonces[$iAnn]['numAnnonce41']=trim($texte);
|
||||
break;
|
||||
case '42':
|
||||
$tabAnnonces[$iAnn]['dateParution42']=trim($texte);
|
||||
break;
|
||||
default:
|
||||
die("Code '$code' inconnu : ".$texte);
|
||||
|
||||
|
||||
}
|
||||
if ($code<>'01') $tabAnnonces[$iAnn]['texte'].=$texte;
|
||||
$tabAnnonces[$iAnn]['balises'].="<b$code>".trim($texte)."</b$code>".EOL;
|
||||
if ($code<>'05' && !$nextBaliseLu) $nextBalise='';
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Chargement des $iAnn annonces du fichier $nomFichier...".EOL;
|
||||
/** Insertion de l'annonce en base
|
||||
**/
|
||||
foreach ($tabAnnonces as $i=>$tabAnnonce) {
|
||||
|
||||
if (preg_match('/(.*)((?:[0-9]{1,4},? | rue | place | boulevard | avenue )(?:.*)(?:[0-9]{5,5} )(?:.*))/Ui', $tabAnnonce['_infoOrgNom'], $matches)) {
|
||||
$tabAnnonce['nom']=trim($matches[1]);
|
||||
$tabAnnonce['adresse']=trim($matches[2]);
|
||||
} else {
|
||||
$tabAnnonce['nom']=trim($tabAnnonce['_infoOrgNom']);
|
||||
$tabAnnonce['adresse']=trim($tabAnnonce['_infoOrgDest']);
|
||||
}
|
||||
|
||||
$ret=$iDb->insert('avis', $tabAnnonce);
|
||||
//$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno().
|
||||
" : Insertion des informations 'autres' du BODACC sur le siren ".$sirenParticipation." en base impossible (annonce $idAnnRet) !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
//print_r($tabAnnC);
|
||||
//print_r($tabData);
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Les $i annonces du fichier $nomFichier ont été chargées.".EOL;
|
||||
|
||||
}
|
||||
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des annonces BOAMP...".EOL;
|
||||
|
||||
?>
|
@ -1,315 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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/classMGreffes.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Calcul des ratios de toute la base entreprise S&D.
|
||||
|
||||
Options :
|
||||
-t Calculer tous les ratios (*)
|
||||
-i:XXX Reprendre à la ligne XXX
|
||||
-c Mettre à jour le cache
|
||||
-d:SSAAMMJJhhiiss Forcer la date de dernière MAJ à ...
|
||||
-m:SSAA Recalculer tous les ratios de l'année SSAA
|
||||
-r:XXX,YYY,... Limiter le calcul au ratios suivant : séparateur virgule
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
$iDeb=0;
|
||||
$updateCache=$millesime=$ratio=$modeVerbose=false;
|
||||
$tabRatiosToCalc=array();
|
||||
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 't':
|
||||
break;
|
||||
case 'i':
|
||||
$iDeb=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'd':
|
||||
$dateDeb=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'm':
|
||||
$millesime=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'r':
|
||||
$ratio=true;
|
||||
$tabRatiosToCalc=explode(',',substr($argv[$i],3));
|
||||
break;
|
||||
case 'v':
|
||||
$modeVerbose=true;
|
||||
break;
|
||||
case 'c':
|
||||
$updateCache=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//$iDbI=new WDB('insee');
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
if ($updateCache) {
|
||||
include_once(INCLUDE_PATH.'scores/classMRatios.php');
|
||||
if (genereCacheRatios())
|
||||
echo date('Y/m/d - H:i:s') ." - Le cache des ratios a été généré avec succès !".EOL;
|
||||
else
|
||||
echo date('Y/m/d - H:i:s') ." - Erreur lors de la génération du cache des ratios !".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de calcul des ratios...".EOL;
|
||||
|
||||
$tabLast=$iDb->select( 'ratios_formules',
|
||||
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
|
||||
'1');
|
||||
$lastUpdate=$tabLast[0]['lastInsert'];
|
||||
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
|
||||
|
||||
/** On vérifie la présence du cache de calcul des ratios **/
|
||||
if (!file_exists(INCLUDE_PATH.'tmp/configMRatios.php'))
|
||||
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'existe pas !".EOL);
|
||||
/** On vérifie qu'il n'y a pas de nouvelles formules à mettre dans le cache de calcul des ratios **/
|
||||
elseif (strtr($lastUpdate, array(':'=>'','-'=>'', ' '=>''))>date('YmdHis',filectime(INCLUDE_PATH.'tmp/configMRatios.php'))) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "ERREUR FATALE, le cache ratio n'est pas à jour !", date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (nouvelles formules ?). Relancer à l'option -c !");
|
||||
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (nouvelles formules ?). Relancer à l'option -c !".EOL);
|
||||
}
|
||||
/** On vérifie que le programme de MAJ du cache n'a pas été modifié **/
|
||||
elseif (date('YmdHis',filectime(INCLUDE_PATH.'scores/classMRatios.php'))>date('YmdHis',filectime(INCLUDE_PATH.'tmp/configMRatios.php'))) // Le fichier de cache est déprécié
|
||||
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (programme modifié). Relancer à l'option -c !".EOL);
|
||||
|
||||
include_once(INCLUDE_PATH.'tmp/configMRatios.php');
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Formules de calcul des ratios déjà en cache.".EOL;
|
||||
|
||||
/** Recherche de la dernière mise à jour des ratios secteurs **/
|
||||
$tabLast=$iDb->select( 'ratios_secteurs',
|
||||
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
|
||||
'1');
|
||||
$lastUpdate=$tabLast[0]['lastInsert'];
|
||||
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
|
||||
if ($dateDeb>20000101123000) $lastUpdate=$dateDeb;
|
||||
$lastDateUpdate=strtr($lastUpdate,array(' '=>'',':'=>'','-'=>''));
|
||||
|
||||
echo(date('Y/m/d - H:i:s') ." - La dernière mise à jour des ratios secteurs date du $lastUpdate...".EOL);
|
||||
|
||||
$nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate', "1", false, MYSQL_ASSOC, true);
|
||||
if ($nbRows>0) {
|
||||
$modeSuite=true;
|
||||
echo date('Y/m/d - H:i:s') ." - Il reste $nbRows entreprises pour lesquels il faut mettre à jour les ratios secteurs...".EOL;
|
||||
} else {
|
||||
/** On met en table temporaire les siren en cas de plantage du script **/
|
||||
$modeSuite=false;
|
||||
|
||||
if ($millesime) {
|
||||
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios
|
||||
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateExercice BETWEEN $milles"."0101 AND $millesime"."1231 AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec des bilans millésimes $millesime pour calcul des ratios secteurs...".EOL;
|
||||
//die();
|
||||
} else {
|
||||
// Date du dernier bilan inseré
|
||||
$tabLast=$iDb->select( 'bilans',
|
||||
'MAX(dateInsert) AS lastDateInsert',
|
||||
"siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC");
|
||||
$lastDateBilan=strtr($tabLast[0]['lastDateInsert'],array(' '=>'',':'=>'','-'=>''));
|
||||
echo(date('Y/m/d - H:i:s') ." - Le dernier bilan inséré en base date du $lastDateBilan...".EOL);
|
||||
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios
|
||||
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec nouveaux bilans pour calcul des ratios secteurs...".EOL;
|
||||
}
|
||||
$iDb2->query('DROP TABLE IF EXISTS ratios_tmp;');
|
||||
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
|
||||
$strSQL="CREATE TABLE IF NOT EXISTS ratios_tmp (
|
||||
siren int(9) unsigned zerofill NOT NULL,
|
||||
lastUpdate bigint(14) unsigned zerofill NOT NULL COMMENT 'Date de dernière mise à jour de la table ratio',
|
||||
lastBilan bigint(14) unsigned zerofill NOT NULL COMMENT 'Dernier bilan enregistré dans la table bilan',
|
||||
millesime year(4) unsigned NULL DEFAULT NULL COMMENT 'Paramètre millesime si défini',
|
||||
PRIMARY KEY(siren)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='TABLE TEMPORAIRE - Liste des bilans dont il faut calculer les ratios';";
|
||||
$iDb2->query($strSQL);
|
||||
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
if (!$millesime) $millesimeDb='NULL'; else $millesimeDb=$millesime;
|
||||
$iDb2->insert('ratios_tmp', array( 'siren' =>$entrep['siren'],
|
||||
'lastUpdate'=>$lastDateUpdate, // Date de dernière mise à jour de la table ratio
|
||||
'lastBilan' =>$lastDateBilan, // Dernier bilan enregistré dans la table bilan
|
||||
'millesime' =>$millesimeDb)); // On enregistre le paramètre millesime
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Les éléments ont été mis en table temporaire en cas de reprise sur erreur !".EOL;
|
||||
$nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate, lastBilan, millesime', "1", false, MYSQL_ASSOC, true);
|
||||
}
|
||||
|
||||
$k=0; // Compteur d'entreprises
|
||||
$b=0; // Compteur total de bilans
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
if ($modeSuite && $k==0) $lastDateUpdate=$entrep['lastUpdate'];
|
||||
$millesime=$entrep['millesime'];
|
||||
|
||||
$k++;
|
||||
if ($k<$iDeb) continue;
|
||||
|
||||
$siren=$entrep['siren'];
|
||||
if ($siren<100) continue;
|
||||
// else echo "$siren\n";
|
||||
$naf4=$naf5='';
|
||||
unset($mBil);
|
||||
|
||||
$mBil=new MBilans($siren);
|
||||
|
||||
/** Récupération des informations Identitaires **/
|
||||
$tabIdentite=@$iInsee->getIdentiteLight($siren);
|
||||
$naf=$tabIdentite['NafEnt'];
|
||||
$nafLib=$tabIdentite['NafEntLib'];
|
||||
$efftr=$tabIdentite['Effectif'];
|
||||
$fj=$tabIdentite['FJ'];
|
||||
|
||||
/** On Recherche le dernier Bilan mis à jour **/
|
||||
$tabBilans=$mBil->listeBilans();
|
||||
$nbBilansTot=count($tabBilans);
|
||||
$tabBilans2=array();
|
||||
foreach ($tabBilans as $mil=>$infosBilan) {
|
||||
/** On vérifie s'il n'y a pas de Bilan vide **/
|
||||
if ($infosBilan['dureeExercice']==0) {
|
||||
if ($modeVerbose) {
|
||||
print_r($infosBilan);
|
||||
echo date('Y/m/d - H:i:s') ." - Erreur : Bilans vide en base pour le siren $siren !".EOL;
|
||||
}
|
||||
$iDb2->delete('ratios_tmp', "siren=$siren");
|
||||
continue(2);
|
||||
}
|
||||
/** On ne garde que les Bilans dont la date de provenance est > à la date de dernière Mise à jour
|
||||
** car les ratios secteurs des autres bilans on déjà été calculés ! **/
|
||||
if ($millesime && $infosBilan['millesime']==$millesime) {
|
||||
//echo "APRES ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime'].EOL;
|
||||
$tabBilans2[$mil]=$infosBilan;
|
||||
}
|
||||
elseif (!$millesime && $infosBilan['dateInsert']>=$lastDateUpdate)
|
||||
$tabBilans2[$mil]=$infosBilan;
|
||||
/*else
|
||||
echo "DALLE ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime']." ### QUE DALLE !!!!".EOL;*/
|
||||
}
|
||||
|
||||
$nbBilans=count($tabBilans2);
|
||||
$tabBilan=$tabBil=array();
|
||||
if ($nbBilans==0) {
|
||||
if ($modeVerbose) {
|
||||
print_r($tabBilans2);
|
||||
echo date('Y/m/d - H:i:s') ." - Erreur : Aucun nouveau bilan en base pour le siren $siren sur les $nbBilansTot bilans !".EOL;
|
||||
print_r($tabBilans);
|
||||
}
|
||||
$iDb2->delete('ratios_tmp', "siren=$siren");
|
||||
continue;
|
||||
}
|
||||
|
||||
$tabRatios=@calculRatios($tabBilans2, $tabIdentite, false, 999);
|
||||
if (strlen($naf)>4) $naf5=$naf; else $naf4=$naf;
|
||||
|
||||
if ($tabBilan[0]['CONSOLIDE']=='A') $naf4='ASSU';
|
||||
elseif ($tabBilan[0]['CONSOLIDE']=='B') $naf4='BANQ';
|
||||
|
||||
if ($modeVerbose && ($naf4=='ASSU' || $naf4=='BANQ')) {
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Calcul des ratios : Attention bilan de e", "Siren $siren, bilan $naf4".EOL.print_r($tabBilans));
|
||||
echo "Bilan '$naf4' pour le siren $siren et l'année $annee !".EOL;
|
||||
}
|
||||
|
||||
foreach ($tabFormules as $f=>$formule) {
|
||||
foreach ($tabRatios as $i=>$R) {
|
||||
$id=$formule['id'];
|
||||
// Si on demande seulement le calcul d'un ratio alors on vérifie le numéro du ratio
|
||||
if ($ratio && !in_array($id, $tabRatiosToCalc)) continue;
|
||||
|
||||
if ($f==0) $b++;
|
||||
// Si on n'est pas une banque/assurance, on ne calcul pas les ratios 700 à 799
|
||||
if ($naf4<>'ASSU' && $naf4<>'BANQ' && $id>=700 && $id<800)
|
||||
continue;
|
||||
|
||||
$annee=substr($tabBilan[$i]['DATE_CLOTURE'],0,4);
|
||||
// Si on demande seulement le calcul d'un millésime alors on vérifie la date du bilan
|
||||
if ($millesime && $annee<>$millesime) continue;
|
||||
|
||||
if ($R[$id]==='NS' || $R[$id]===false ) {
|
||||
if ($modeVebose) echo "Le ratio n°$id est non significatif (".$R[$id].") pour le siren $siren et l'année $annee !".EOL;
|
||||
continue;
|
||||
}
|
||||
|
||||
/** Si c'est un ratio EUR, on le passe en K€ **/
|
||||
if ($formule['unite']=='EUR') $mt=$R[$id]/1000;
|
||||
else $mt=$R[$id];
|
||||
|
||||
/** On vérifie les bornes MIN et MAX **/
|
||||
if ($formule['min']<>'' && $mt<$formule['min']) {
|
||||
if ($modeVerbose) echo "Ratio n°$id, borne Mini non nulle (".$formule['min'].") et le montant est inférieur : $mt<".$formule['min']." pour le siren $siren et l'année $annee".EOL;
|
||||
continue;
|
||||
} elseif ($formule['max']<>'' && $mt>$formule['max']) {
|
||||
if ($modeVerbose) echo "Ratio n°$id, borne Maxi non nulle (".$formule['max'].") et le montant est supérieur : $mt>".$formule['max']." pour le siren $siren et l'année $annee".EOL;
|
||||
continue;
|
||||
} //else
|
||||
//echo "Ratio n°$id compris entre bornes ".$formule['min']." < $mt < ".$formule['max']." pour le siren $siren et l'année $annee".EOL;
|
||||
|
||||
/** Lecture des chiffres existants dans la table ratios_secteurs **/
|
||||
$tabTmp=$iDb2->select( 'ratios_secteurs',
|
||||
'montant, nombre, id, naf4, naf5, annee',
|
||||
"id=$id AND naf4='$naf4' AND naf5='$naf5' AND annee=$annee",
|
||||
false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) {
|
||||
$mt2=$mt+$tabTmp[0]['montant'];
|
||||
$nb2=$tabTmp[0]['nombre'] + 1;
|
||||
} else {
|
||||
$mt2=$mt;
|
||||
$nb2=1;
|
||||
}
|
||||
|
||||
$tabUpdate=array( 'montant' => $mt2,
|
||||
'nombre' => $nb2,
|
||||
);
|
||||
if (!$iDb2->update('ratios_secteurs', $tabUpdate, "id=$id AND naf4='$naf4' AND naf5='$naf5' AND annee=$annee") || $iDb2->getAffectedRows()==0 ) { // getAffectedRows ajouté le 14 mai 2009
|
||||
$tabInsert=array_merge($tabUpdate, array( 'id'=>$id,
|
||||
'naf4'=>$naf4,
|
||||
'naf5'=>$naf5,
|
||||
'annee'=>$annee,
|
||||
'dateInsert'=>$lastDateBilan,
|
||||
));
|
||||
if (!$iDb2->insert('ratios_secteurs', $tabInsert) && mysql_errno()<>1062) {
|
||||
$pct=round(($k/$nbRows)*100,2);
|
||||
echo date('Y/m/d - H:i:s') ." - $k entreprises ($pct %) dont les ratios ont été calculés pour un total de $b bilans ($siren)...".EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR SQL n°'.mysql_errno().' : '.mysql_error().EOL;
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
if ($k%1000==0 && $f==0 && $i==0) {
|
||||
$pct=round(($k/$nbRows)*100,2);
|
||||
echo date('Y/m/d - H:i:s') ." - $k entreprises ($pct %) dont les ratios ont été calculés pour un total de $b bilans ($siren)...".EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
$iDb2->delete('ratios_tmp', "siren=$siren");
|
||||
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la suppression des informations temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Les ratios ont été mis à jour ; suppression des informations temporaires.".EOL;
|
||||
|
||||
$iDb2->query('DROP TABLE IF EXISTS jo.ratios_tmp;');
|
||||
|
||||
die(date('Y/m/d - H:i:s') ." - Fin du programme.".EOL);
|
||||
|
||||
?>
|
@ -1,112 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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/classMGreffes.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Calcul des ratios de toute la base entreprise S&D.
|
||||
|
||||
Options :
|
||||
-t Calculer tous les ratios (*)
|
||||
-i:XXX Reprendre à la ligne XXX
|
||||
-c Mettre à jour le cache
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
$iDeb=0;
|
||||
$updateCache=false;
|
||||
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 't':
|
||||
break;
|
||||
case 'i':
|
||||
$iDeb=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'c':
|
||||
$updateCache=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//$iDbI=new WDB('insee');
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
$limit=1000000;
|
||||
$iFin=504;//2/*504*/;
|
||||
|
||||
$tabFormule=$tabSecteursMt=$tabSecteursNb=array();
|
||||
|
||||
$tabFormules=$iDb->select( 'ratios_formules',
|
||||
'id, libelle, formule, unite, commentaires, deleted, borneMin, borneMax',
|
||||
'deleted=0');
|
||||
foreach ($tabFormules as $i=>$formule) {
|
||||
$id=$formule['id']*1;
|
||||
//$tabFormule['f'.$id]['libelle']=$formule['libelle'];
|
||||
$tabFormule['f'.$id]['unite']=$formule['unite'];
|
||||
$tabFormule['f'.$id]['min']=$formule['borneMin'];
|
||||
$tabFormule['f'.$id]['max']=$formule['borneMax'];
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Formules mises en mémoire ...".EOL;
|
||||
//print_r($tabFormule);die();
|
||||
|
||||
for ($iDeb=0; $iDeb<=$iFin*$limit; $iDeb+=$limit) {
|
||||
$nbRows=$iDb->select( 'ratios_test2', 'siren, id, naf4, naf5, millesime, montant', "1 LIMIT $iDeb,$limit", false, MYSQL_ASSOC, true);
|
||||
$iDebAff=$iDeb/$limit;
|
||||
echo date('Y/m/d - H:i:s') ." - Tranche de ratios n°$iDebAff/$iFin...".EOL;
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
if ($tabFormule['f'.$entrep['id']]['unite']=='EUR') $mt=$entrep['montant']/1000;
|
||||
else $mt=$entrep['montant'];
|
||||
if ($tabFormule['f'.$entrep['id']]['min']!==NULL && $mt<$tabFormule['f'.$entrep['id']]['min']) {
|
||||
//echo 'Borne Mini non nulle ('.$tabFormule['f'.$entrep['id']]['min'].") et le montant est inférieur : $mt<".$tabFormule['f'.$entrep['id']]['min']."!\n";
|
||||
continue;
|
||||
} elseif ($tabFormule['f'.$entrep['id']]['max']!==NULL && $mt>$tabFormule['f'.$entrep['id']]['max']) {
|
||||
//echo 'Borne Maxi non nulle ('.$tabFormule['f'.$entrep['id']]['max'].") et le montant est supéreiur : $mt>".$tabFormule['f'.$entrep['id']]['max']."!\n";
|
||||
continue;
|
||||
} /*else
|
||||
echo 'Ratio compris entre bornes '.$tabFormule['f'.$entrep['id']]['min']." < $mt < ".$tabFormule['f'.$entrep['id']]['max'].".\n";
|
||||
*/
|
||||
$tabSecteursMt[$entrep['id'].'-'.$entrep['naf4'].'-'.$entrep['naf5'].'-'.$entrep['millesime']]+=$mt;
|
||||
$tabSecteursNb[$entrep['id'].'-'.$entrep['naf4'].'-'.$entrep['naf5'].'-'.$entrep['millesime']]++;
|
||||
}
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Insertion en base des ".count($tabSecteursMt)." ratios secteurs...".EOL;
|
||||
$dateInsert=date('YmdHis');
|
||||
foreach ($tabSecteursMt as $cleSecteur=>$mt) {
|
||||
$tmp=explode('-', $cleSecteur);
|
||||
|
||||
$tabInsert=array( 'id' => $tmp[0],
|
||||
'naf4' => $tmp[1],
|
||||
'naf5' => $tmp[2],
|
||||
'annee' => $tmp[3],
|
||||
'montant' => $mt,
|
||||
'nombre' => $tabSecteursNb[$cleSecteur],
|
||||
'dateInsert'=> $dateInsert,
|
||||
);
|
||||
if (!$iDb->insert('ratios_secteurs', $tabInsert)) {
|
||||
echo date('Y/m/d - H:i:s') ." - Erreur MySQL N°".mysql_errno().' : '.mysql_error().EOL;
|
||||
print_r($tabInsert);
|
||||
}
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de l'insertion en base des ratios.".EOL;
|
||||
|
||||
die();
|
||||
?>
|
@ -1,151 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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.'insee/classMSirene.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMSolvabilite.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMTva.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMMap.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'tmp/configMRatios.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMRegression.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Calcul des redevances INSEE pour un mois donné.
|
||||
|
||||
Options :
|
||||
-v Mode debug (Verbosité au maximum)
|
||||
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
|
||||
-c:XXX Limiter au client XXX
|
||||
-t Table de test
|
||||
|
||||
";
|
||||
$tableRdv='inseeRdv';
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
|
||||
//$iDb=new WDB('jo');
|
||||
$iDb=new WDB('sdv1');
|
||||
$iDb2=new WDB('sdv1');
|
||||
$tabUser=array();
|
||||
|
||||
$modeDebug=$idClient=false;
|
||||
$dateMAJ=date('Ymt',mktime(0,0,0,date('m')-1,date('d'),date('Y')));
|
||||
$strMailInfo='';
|
||||
|
||||
for ($i=1,$j=0; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'c': $idClient = substr($argv[$i],3)*1; break;
|
||||
case 'm': $dateMAJ = date('Ymt',mktime(0,0,0,substr($argv[$i],7,2),1,substr($argv[$i],3,4))); break;
|
||||
case 't': $tableRdv='inseeRdv2'; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$moisEnCours=substr($dateMAJ,0,6);
|
||||
$dateDEB=substr($moisEnCours,0,6).'01';
|
||||
|
||||
/** Liste des clients **/
|
||||
if ($idClient) $strClient=" AND id=".$idClient;
|
||||
else $strClient='';
|
||||
$tabTmp=$iDb->select('clients', 'id, nom', "1 $strClient", false, MYSQL_ASSOC);
|
||||
$tabClient=array();
|
||||
foreach ($tabTmp as $tabTmp2) {
|
||||
$tabClient[$tabTmp2['id']]=$tabTmp2['nom'];
|
||||
}
|
||||
$nbClients=count($tabClient);
|
||||
|
||||
/** Liste des utilisateurs **/
|
||||
if ($idClient) $strClient=" AND idClient=".$idClient;
|
||||
else $strClient='';
|
||||
$tabTmp=$iDb->select('utilisateurs', "login, idClient", "1 $strClient", false, MYSQL_ASSOC);
|
||||
$tabUser=array();
|
||||
foreach ($tabTmp as $tabTmp2) {
|
||||
$tabUser['_'.$tabTmp2['login']]=$tabTmp2['idClient'];
|
||||
}
|
||||
$nbUsers=count($tabUser);
|
||||
|
||||
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
|
||||
$iClient=0;
|
||||
foreach ($tabClient as $idClient=>$nomClient) {
|
||||
$iClient++;
|
||||
echo date('Y/m/d H:i:s')." - Client $iClient/$nbClients - Calcul des redevances type 1 pour '".$tabClient[$idClient]. "' en $moisEnCours : ";
|
||||
$tabLogs=$iDb->select( 'logs',
|
||||
'siren, nic/*, date(dateHeure) AS jour*/',
|
||||
"idClient=$idClient AND page='identite' AND test=0 AND actifInsee IN(0,1) AND source=2 AND dateHeure BETWEEN $dateDEB AND $dateMAJ GROUP BY siren, nic/*, jour*/", false, MYSQL_ASSOC);
|
||||
$nbSiret=count($tabLogs);
|
||||
echo "$nbSiret siret".EOL;
|
||||
|
||||
$tabInsert=array('idClient'=>$idClient,
|
||||
'nomClient'=>$tabClient[$idClient],
|
||||
'mois'=>$moisEnCours,
|
||||
'produit'=>1,
|
||||
'nbSiret'=>$nbSiret,
|
||||
);
|
||||
if (!$iDb2->insert($tableRdv, $tabInsert, false))
|
||||
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false);
|
||||
}
|
||||
|
||||
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
|
||||
|
||||
/** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/
|
||||
$iClient=0;
|
||||
foreach ($tabClient as $idClient=>$nomClient) {
|
||||
$iClient++;
|
||||
echo date('Y/m/d H:i:s')." - Client $iClient/$nbClients - Calcul des redevances type 3 pour '".$tabClient[$idClient]. "' en $moisEnCours : ";
|
||||
$tabLogs=$iDb->select( 'jo.sirenage_clients',
|
||||
'siren, nic, date(dateHeure) AS jour',
|
||||
"idClient=$idClient AND siren>1000 AND nic>9 AND dateUpdate BETWEEN $dateDEB AND $dateMAJ GROUP BY siren, nic, jour", false, MYSQL_ASSOC);
|
||||
$nbSiret=count($tabLogs);
|
||||
echo "$nbSiret siret".EOL;
|
||||
|
||||
$tabInsert=array('idClient'=>$idClient,
|
||||
'nomClient'=>$tabClient[$idClient],
|
||||
'mois'=>$moisEnCours,
|
||||
'produit'=>3,
|
||||
'nbSiret'=>$nbSiret,
|
||||
);
|
||||
if (!$iDb2->insert($tableRdv, $tabInsert, false))
|
||||
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=3", false);
|
||||
}
|
||||
|
||||
/** Calcul des redevances en niveau 4 : Surveillances Insee (Depuis Janvier 2011) **/
|
||||
$iClient=0;
|
||||
foreach ($tabClient as $idClient=>$nomClient) {
|
||||
$iClient++;
|
||||
echo date('Y/m/d H:i:s')." - Client $iClient/$nbClients - Calcul des redevances type 4 pour '".$tabClient[$idClient]. "' en $moisEnCours : ";
|
||||
$tabLogs=$iDb->select( 'jo.surveillances_site s, sdv1.utilisateurs u, sdv1.clients c',
|
||||
's.siren, s.nic, s.dateAjout',
|
||||
"s.siren>1000 AND s.source='insee' AND s.login=u.login AND u.idClient=$idClient AND u.idClient=c.id and c.test='Non' AND u.typeCompte='PROD' AND s.dateAjout BETWEEN $dateDEB AND $dateMAJ GROUP BY s.siren, s.nic, s.dateAjout", false, MYSQL_ASSOC);
|
||||
$nbSiret=count($tabLogs);
|
||||
echo "$nbSiret siret".EOL;
|
||||
|
||||
$tabInsert=array('idClient'=>$idClient,
|
||||
'nomClient'=>$tabClient[$idClient],
|
||||
'mois'=>$moisEnCours,
|
||||
'produit'=>4,
|
||||
'nbSiret'=>$nbSiret,
|
||||
);
|
||||
if (!$iDb2->insert($tableRdv, $tabInsert, false))
|
||||
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=4", false);
|
||||
}
|
||||
|
||||
/** Calcul des redevances en niveau 5 : INEXISTANT **/
|
||||
|
||||
die();
|
||||
|
||||
?>
|
@ -1,341 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/ws/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
$tDeb=microtime(true);
|
||||
|
||||
$dateJour=date('Y-m-d');
|
||||
|
||||
function wsLog($service, $siret='', $ref='') {
|
||||
/* if (strlen($siret)==14) {
|
||||
$siren=substr($siret,0,9);
|
||||
$nic=substr($siret,9,5);
|
||||
} elseif (strlen($siret)==9) {
|
||||
$siren=$siret;
|
||||
$nic='';
|
||||
}
|
||||
|
||||
global $iDbCrm, $tabInfoUser;
|
||||
$tabInsert=array( 'login'=>$tabInfoUser['login'],
|
||||
'page'=>$service,
|
||||
'siren'=>$siren,
|
||||
'nic'=>$nic,
|
||||
'params'=>$ref);
|
||||
$rep=$iDbCrm->insert('logs', $tabInsert);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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.'insee/classMSirene.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMSolvabilite.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMTva.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMMap.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'tmp/configMRatios.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
|
||||
$nbExercices=2;
|
||||
$sqlEncours=$modeDebug=$periAncien=$listeDeclencheur=$forceDeclencheur=false;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Scorer toute la base entreprise S&D.
|
||||
|
||||
Options :
|
||||
-t Calculer tous les scores (*)
|
||||
-v Mode bavard ou debug
|
||||
-r Recalculer tous les scores avec indiscore>0 et un encours à 0 !
|
||||
-a Calculer tous les anciens ou nouveaux scores
|
||||
-l Lister les déclencheurs existants pour le recalcul des scores
|
||||
-d:XXX Lancer le calcul des scores pour le déclencheur XXX
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 'a':
|
||||
$periAncien=true;
|
||||
break;
|
||||
case 't':
|
||||
break;
|
||||
case 'l':
|
||||
$listeDeclencheur=true;
|
||||
break;
|
||||
case 'd':
|
||||
$forceDeclencheur=strtolower(substr($argv[$i],3));
|
||||
break;
|
||||
case 'r':
|
||||
$sqlEncours=true;
|
||||
break;
|
||||
case 'v':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de calcul des scores en surveillance...".EOL;
|
||||
|
||||
$iDb=new WDB();
|
||||
$iDb2=new WDB();
|
||||
$iDbHisto=new WDB('historiques');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
// $iWs=new WsEntreprise();
|
||||
|
||||
//$tabScore=@$iWs->getIndiScore(552144503, 0, false);
|
||||
//$tabScore=@$iWs->getIndiScore(27020395, 0, false);
|
||||
//print_r($tabScore);die();
|
||||
if (!$listeDeclencheur && !$forceDeclencheur) {
|
||||
echo date('Y/m/d - H:i:s') ." - Mise en surveillance Scores de l'ensemble des demandes de scoring...".EOL;
|
||||
$query="INSERT IGNORE INTO scores_surveillance(siren)
|
||||
SELECT DISTINCT siren FROM sdv1.`logs`
|
||||
WHERE dateHeure> (SELECT max(dateUpdate) FROM scores_surveillance)
|
||||
AND page IN ('indiscore','scorecsf') AND siren>100 ";
|
||||
$res=$iDb->query($query);
|
||||
|
||||
$query="INSERT IGNORE INTO scores_surveillance(siren)
|
||||
SELECT DISTINCT siren FROM jo.surveillances_site
|
||||
WHERE source='score' AND siren>=100000 AND siren NOT IN
|
||||
(SELECT siren FROM scores_surveillance) ";
|
||||
$res=$iDb->query($query);
|
||||
}
|
||||
|
||||
$strSelect="s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, s.dateUpdate, s.cs, s.csMoisMaj, s.csMoisFin";
|
||||
|
||||
$tabQueries=array(
|
||||
/* Bilans Asso déposé(s) */
|
||||
'bilansasso'=> "SELECT $strSelect, 'bilansasso' as source FROM scores_surveillance s, asso_bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
|
||||
//asso_bilans', 'dateCloture, dateCloture*1 as dateClotureNum', "siren=$siren ORDER BY DESC LIMIT 0,5", true, MYSQL_ASSOC);
|
||||
/* Privileges Infogreffe */
|
||||
'privileges'=> "SELECT $strSelect, 'privileges' AS source FROM scores_surveillance s, greffes_privileges p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>s.dateUpdate OR p.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Privileges Facto */
|
||||
'privileges2'=> "SELECT $strSelect, 'privileges2' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='P' AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* IMPAYES Facto */
|
||||
'impayes'=> "SELECT $strSelect, 'impayes' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='I' AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Ajout d'un nouveau score */
|
||||
'ajout'=> "SELECT $strSelect, 'ajout' AS source FROM scores_surveillance s WHERE s.siren>1000 AND ((DATEDIFF(NOW(),s.indiScoreDate) IS NULL AND s.dateUpdate<DATE(NOW()) OR s.indiScoreDate=0)) GROUP BY siren",
|
||||
/* IndiScores demandés ce jour */
|
||||
'jour'=> "SELECT $strSelect, 'jour' AS source FROM scores_surveillance s, sdv1.`logs` l WHERE l.siren>1000 AND s.siren=l.siren AND l.page='indiscore' AND l.dateHeure>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Dirigeants */
|
||||
'dirigeants'=> "SELECT $strSelect, 'dirigeants' AS source FROM scores_surveillance s, rncs_dirigeants d WHERE d.siren>1000 AND s.siren = d.siren AND (d.dateInsert>s.dateUpdate OR d.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Evenements INSEE */
|
||||
'insee'=> "SELECT $strSelect, 'insee' as source FROM jo.scores_surveillance s, insee.insee_even i WHERE i.insSIREN>1000 AND s.siren=i.insSIREN AND i.dateInsert>s.dateUpdate AND s.procol NOT IN('P') AND /*i.insEVE IN ('400','410','420','425') AND*/ i.insSIEGE=1 GROUP BY siren",
|
||||
/* Entreprises RNCS */
|
||||
'rncs'=> "SELECT $strSelect, 'rncs' as source FROM scores_surveillance s, rncs_entrep r WHERE s.siren>1000 AND s.siren=r.siren AND (r.dateInsert>s.dateUpdate OR r.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Bodacc */
|
||||
'bodacc'=> "SELECT $strSelect, 'bodacc' as source FROM scores_surveillance s, bodacc_detail b WHERE b.siren>1000 AND s.siren=b.siren AND( b.dateInsert>s.dateUpdate OR b.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') AND b.Rubrique NOT IN('creations') GROUP BY siren",
|
||||
/* Collecte */
|
||||
'collecte'=> "SELECT $strSelect, 'collecte' as source FROM scores_surveillance s, annonces b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') /*AND b.typeEven NOT IN(3200)*/ GROUP BY siren",
|
||||
/* Bilans en base */
|
||||
'bilans1'=> "SELECT $strSelect, 'bilans1' as source FROM scores_surveillance s, bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND (DATEDIFF(b.dateExercice,s.dateBilan)>1 OR DATEDIFF(b.dateExercice,s.dateBilan) IS NULL) AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Défaut divers Facto (D:Défaut, 24:Groupe en diff, 31:Cessation Annoncée, 50:Terrorisme)*/
|
||||
'defaut'=> "SELECT $strSelect, 'defaut' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs IN ('D','24','31','50') AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* RAS Facto */
|
||||
'regulier'=> "SELECT $strSelect, 'regulier' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='00' AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Scores trop anciens */
|
||||
'ancien'=> "SELECT $strSelect, 'ancien' AS source FROM scores_surveillance s WHERE s.siren>1000 AND (DATEDIFF(NOW(),s.indiScoreDate)>365 /*OR DATEDIFF(NOW(),s.indiScoreDate) IS NULL*/) AND s.procol NOT IN('P') AND s.dateUpdate<DATE(NOW()) GROUP BY siren",
|
||||
/* RAS Facto */
|
||||
'regulier'=> "SELECT $strSelect, 'regulier' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='00' AND s.procol NOT IN('P') GROUP BY siren",
|
||||
|
||||
/** @todo A revoir
|
||||
**/
|
||||
/* Bilans déposés */
|
||||
// 'bilans2'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'bilans2' as source, s.dateUpdate FROM scores_surveillance s, bilans_deposes b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
|
||||
/* Liens fianciers */
|
||||
// 'liens'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'liens' as source, s.dateUpdate FROM scores_surveillance s, liens l WHERE l.siren>1000 AND (s.siren=l.Siren1 OR s.siren=l.Siren2) AND (l.dateInsert>s.dateUpdate OR l.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
|
||||
);
|
||||
|
||||
/*$query="SELECT s.siren, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, 'bodacc' as source, s.dateUpdate FROM scores_surveillance s";
|
||||
$query="SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'modifenc' as source, s.dateUpdate, c.cs FROM jo.scores_surveillance s WHERE s.siren>1000 AND s.actif=1 AND s.procol NOT IN('A','D','P') AND s.indiScore>0 AND s.indiScore20=0 ORDER BY s.siren ASC";
|
||||
$query="SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'collecte' as source, s.dateUpdate FROM scores_surveillance s, annonces b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') AND b.typeEven NOT IN(3200) GROUP BY siren";
|
||||
if($periAncien)
|
||||
$query="/* Nouveaux scores OU Scores trop anciens *
|
||||
SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'ancien' AS source, s.dateUpdate FROM scores_surveillance s WHERE s.siren>1000 AND (DATEDIFF(now(),s.indiScoreDate)>365 OR DATEDIFF(now(),s.indiScoreDate) IS NULL) AND s.procol NOT IN('P') GROUP BY siren";
|
||||
*/
|
||||
if ($listeDeclencheur) {
|
||||
foreach($tabQueries as $key=>$querie)
|
||||
echo "\t- $key".EOL;
|
||||
die();
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche des scores susceptibles d'avoir changés par déclencheur...".EOL;
|
||||
|
||||
$nbScoresSans=$nbScoresModif=$nbScoresNouv=$nbScoresProcol=$iRow=$nbRowsTot=0;
|
||||
|
||||
foreach ($tabQueries as $declencheur=>$query) {
|
||||
if ($forceDeclencheur && $declencheur<>$forceDeclencheur) continue;
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche par le déclencheur '$declencheur'...";
|
||||
|
||||
$res=$iDb->query($query);
|
||||
echo mysql_error().EOL;
|
||||
$nbRows=mysql_num_rows($res);
|
||||
$nbRowsTot+=$nbRows;
|
||||
@$tabNbRows[$declencheur]++;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows scores à recalculer par '$declencheur'...".EOL;
|
||||
//die();
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$iRow++;
|
||||
$siren=$entrep['siren']; // indiScorePre, encoursPre, indiScorePreDate','];
|
||||
if (!$iInsee->valideSiren($siren)) continue;
|
||||
$nic=0;
|
||||
|
||||
$indiScorePre = $entrep['indiScore']*1;
|
||||
$encoursPre = $entrep['encours']*1;
|
||||
$dateScore = str_replace('-','',$entrep['indiScoreDate'])*1;
|
||||
$sourceModif = $entrep['source'];
|
||||
$procol = $entrep['procol'];
|
||||
$nbModifs = ($entrep['nbModifs']*1)+1;
|
||||
if ($procol=='P') {
|
||||
$nbScoresProcol++;
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScorePre / 100 ($encoursPre EUR) inchangé depuis $dateScore (Source=$sourceModif) car ProCol.".EOL;
|
||||
continue;
|
||||
}
|
||||
//echo date('Y/m/d - H:i:s') ." - Siren $siren : AVANT SCORE".EOL;
|
||||
$tabScore=@calculIndiScore($siren, $nic, false, 0);
|
||||
//echo date('Y/m/d - H:i:s') ." - Siren $siren : APRES SCORE".EOL;
|
||||
//print_r($tabScore);
|
||||
//die();
|
||||
$indiScore = $tabScore['Indiscore']*1;
|
||||
$naf = $tabScore['NafEnt'];
|
||||
$encours = round($tabScore['encours']);
|
||||
|
||||
/*if (!$iDb2->update('scores_surveillance', array('naf'=>$naf), "siren=$siren")) {
|
||||
die('prout');
|
||||
}
|
||||
continue;
|
||||
*/
|
||||
if ($indiScore==$indiScorePre &&
|
||||
$encours ==$encoursPre &&
|
||||
$dateScore<>0 ) {
|
||||
$nbScoresSans++;
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore / 100 ($encours EUR) inchangé depuis $dateScore (Source=$sourceModif).".EOL;
|
||||
$tabUpdate2=array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs);
|
||||
if (!$iDb2->update('scores_surveillance', $tabUpdate2, "siren=$siren")) {
|
||||
print_r($tabUpdate2);
|
||||
die("Erreur SQL sur la mise à jour de la date de dernière vérif du score pour le siren $siren");
|
||||
}
|
||||
/*print_r($tabUpdate2);
|
||||
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
|
||||
*/
|
||||
} else {
|
||||
if ($dateScore==0) {
|
||||
$sourceModif='ajout';
|
||||
$nbScoresNouv++;
|
||||
}
|
||||
else {
|
||||
$nbScoresModif++;
|
||||
@$tabNbScoresModif[$declencheur]++;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore<>$indiScorePre OU $encours<>$encoursPre (Source=$sourceModif) !".EOL;
|
||||
$tabUpdate=array( 'siren' => $siren,
|
||||
'naf' => $naf,
|
||||
'actif' => $tabScore['Actif'],
|
||||
'procol' => $tabScore['SituationJuridique'],
|
||||
'indiScore' => $tabScore['Indiscore'],
|
||||
'indiScore20' => $tabScore['Indiscore20'],
|
||||
'encours' => $tabScore['encours'],
|
||||
'indiScoreDate' => $dateJour,
|
||||
'dateBilan' => @$tabScore['Bilans'][0]['Millesime'],
|
||||
'scoreSolv' => $tabScore['ScoreSolvabilite'],
|
||||
'scoreConf' => $tabScore['ScoreConfor'],
|
||||
'scoreDir' => $tabScore['ScoreDirigeance'],
|
||||
'scoreZ' => $tabScore['scores']['Z'],
|
||||
'scoreCH' => $tabScore['scores']['ConanH'],
|
||||
|
||||
'scoreAfdcc1' => $tabScore['scores']['Afdcc1'],
|
||||
'scoreAfdcc2' => $tabScore['scores']['Afdcc2'],
|
||||
'scoreAfdcc2note' => $tabScore['scores']['Afdcc2note'],
|
||||
'scoreAltman' => $tabScore['scores']['Altman'],
|
||||
'scoreAltmanCote' => $tabScore['scores']['AltmanCote'],
|
||||
'scoreCCF' => $tabScore['scores']['CCF'],
|
||||
|
||||
'situFi' => $tabScore['tabInfosNotations']['SituationFinanciere'],
|
||||
'infoNote' => $tabScore['tabInfosNotations']['Notation'],
|
||||
'noteStruct' => $tabScore['Note_Structure'],
|
||||
'noteFin' => $tabScore['Note_Financiere'],
|
||||
'tendance' => $tabScore['TendanceIndiscore'],
|
||||
'cs' => $tabScore['cs'],
|
||||
'csMoisMaj' => $tabScore['csMoisMaj'],
|
||||
'csMoisFin' => $tabScore['csMoisFin'],
|
||||
'adresseDom' => $tabScore['AdresseDom'],
|
||||
|
||||
'sourceModif' => $sourceModif,
|
||||
'indiScorePre' => $entrep['indiScore'],
|
||||
'indiScore20Pre' => $entrep['indiScore20'],
|
||||
'indiScoreDatePre' => $entrep['indiScoreDate'],
|
||||
'encoursPre' => $entrep['encours'],
|
||||
'scoreSolvPre' => $entrep['scoreSolv'],
|
||||
'scoreConfPre' => $entrep['scoreConf'],
|
||||
'scoreDirPre' => $entrep['scoreDir'],
|
||||
'scoreZPre' => $entrep['scoreZ'],
|
||||
'scoreCHPre' => $entrep['scoreCH'],
|
||||
'scoreAfdcc1Pre' => $entrep['scoreAfdcc1'],
|
||||
'scoreAfdcc2Pre' => $entrep['scoreAfdcc2'],
|
||||
'scoreAfdcc2notePre'=> $entrep['scoreAfdcc2note'],
|
||||
|
||||
'scoreAltmanPre' => $entrep['scoreAltman'],
|
||||
'scoreAltmanCotePre'=> $entrep['scoreAltmanCote'],
|
||||
'scoreCCFPre' => $entrep['scoreCCF'],
|
||||
|
||||
'situFiPre' => $entrep['situFi'],
|
||||
'infoNotePre' => $entrep['infoNote'],
|
||||
'noteStructPre' => $entrep['noteStruct'],
|
||||
'noteFinPre' => $entrep['noteFin'],
|
||||
'tendancePre' => $entrep['tendance'],
|
||||
'csPre' => $entrep['cs'],
|
||||
'csMoisMajPre' => $entrep['csMoisMaj'],
|
||||
'csMoisFinPre' => $entrep['csMoisFin'],
|
||||
'adresseDomPre' => $entrep['adresseDom'],
|
||||
'nbModifs' => $nbModifs,
|
||||
|
||||
);
|
||||
if (!$iDb2->update('scores_surveillance', $tabUpdate, "siren=$siren")) {
|
||||
print_r($tabUpdate);
|
||||
echo mysql_error().EOL;
|
||||
die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur la mise à jour du score pour le siren $siren".EOL);
|
||||
}
|
||||
// Historisation du score
|
||||
if (!$iDbHisto->insert('scores_surveillance', $tabUpdate)) {
|
||||
print_r($tabUpdate);
|
||||
echo mysql_error().EOL;
|
||||
die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur l'historisation du score pour le siren $siren".EOL);
|
||||
}
|
||||
}
|
||||
if (date('Hi')*1>=430 && date('Hi')*1<=700) break 2;
|
||||
}
|
||||
}
|
||||
$message =date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés .................. $nbScoresSans / $nbRowsTot.".EOL;
|
||||
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés car procol ....... $nbScoresProcol / $nbRowsTot.".EOL;
|
||||
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL;
|
||||
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL;
|
||||
foreach($tabNbRows as $declencheur=>$nbTot) {
|
||||
$nbModifs=$tabNbScoresModif[$declencheur]*1;
|
||||
$message.=date ('Y/m/d - H:i:s') . " - Nombre de modifs par '$declencheur'\t...... $nbModifs / $nbTot.".EOL;
|
||||
}
|
||||
echo $message;
|
||||
|
||||
$duree=round(microtime(true)-$tDeb);
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Calculs des IndiScores ($nbRowsTot en $duree s)", $message);
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Fin du traitement.".EOL;
|
||||
|
||||
die();
|
||||
?>
|
@ -1,299 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
define('NOW', date('YmdHis'));
|
||||
define('TODAY', substr(NOW, 0, 8));
|
||||
define('YEAR', substr(TODAY, 0, 4));
|
||||
define('MONTH', substr(TODAY, 4, 2));
|
||||
define('DAY', substr(TODAY, 6, 2));
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
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/classMGreffes.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Mise à jour quotidienne des statistiques de ventes de fonds de commerce
|
||||
|
||||
Options :
|
||||
-d:SSAAMMJJ Initialiser toutes les stats depuis SSAAMMJJ
|
||||
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
|
||||
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
|
||||
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
|
||||
-v Mode bavard
|
||||
|
||||
";
|
||||
|
||||
$dateDeb=$dateFin=0;
|
||||
$initStatProfil=$initStatSecteur=$modeDebug=false;
|
||||
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 'd':
|
||||
$dateDeb=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'p':
|
||||
$initStatProfil=true;
|
||||
break;
|
||||
case 's':
|
||||
$initStatSecteur=true;
|
||||
break;
|
||||
case 'v':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('jo');
|
||||
$iDbHisto=new WDB('historiques');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
|
||||
|
||||
function getNaf5($naf4ou5) {
|
||||
$iDb=new WDB('insee');
|
||||
$tabTmp=$iDb->select( 'naf_conv', 'nafOut', "nafIn='$naf4ou5'");
|
||||
return $tabTmp[0]['nafOut'];
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
|
||||
|
||||
/** Recherche de la dernière date de MAJ
|
||||
**/
|
||||
if (!$dateDeb) {
|
||||
echo date ('Y/m/d - H:i:s')." - Préparation des statistiques à réaliser.".EOL;
|
||||
$tabLast=$iDb->select( 'stats_ventes',
|
||||
'max(dateInsert) AS lastInsert',
|
||||
'1');
|
||||
$lastUpdate=$tabLast[0]['lastInsert'];
|
||||
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
|
||||
echo date('Y/m/d - H:i:s') ." - La dernière mise à jour des stats date de $lastUpdate !".EOL;
|
||||
} else {
|
||||
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
|
||||
if ($dateFin) {
|
||||
$strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR
|
||||
dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) ";
|
||||
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats du $lastUpdate au $dateFin !".EOL;
|
||||
} else {
|
||||
$strDateFin='';
|
||||
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats depuis le $lastUpdate !".EOL;
|
||||
}
|
||||
}
|
||||
|
||||
//if (!$initStatProfil && !$initStatSecteur) {
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Préparation des stats les ventes quotidiennes.".EOL;
|
||||
//$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
|
||||
|
||||
/** Initialisation des scores secteurs **/
|
||||
$query="
|
||||
(SELECT siren, sirenValide, nic, nicValide, typeEven, IF(dateDebutActivite<>0,dateDebutActivite,IF(dateEffet<>0,dateEffet,IF(publicationDate<>0,publicationDate,0))) AS dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert,
|
||||
typeEven, raisonSociale, adresse, codePostal, ville, Tribunal_Code AS tribunal, VenteMt AS montant, bienAcqui AS complement, 'bodacc' AS source
|
||||
FROM bodacc_detail
|
||||
WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (
|
||||
typeEven LIKE '%5500%' /* Entreprise réalisant la vente */
|
||||
OR typeEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */
|
||||
OR typeEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */
|
||||
OR typeEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */
|
||||
OR typeEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
|
||||
OR typeEven LIKE '%5600%' /* Entreprise Précédent exploitant */
|
||||
OR typeEven LIKE '%5650%' /* Entreprise indemnisée */
|
||||
OR typeEven LIKE '%5900%' /* Autre achat, apport, attribution */
|
||||
OR typeEven LIKE '%5999%' /* Ventes/Cessions */ ) )
|
||||
UNION
|
||||
(SELECT siren, sirenValide, 00000 AS nic, 0 AS nicValide, typeEven, dateJugement, dateSource, dateInsert,
|
||||
CONCAT(typeEven,';',strEven) as codeEven, raisonSociale, adresse, codePostal, ville, tribunal, montant, complement, 'collecte' AS source
|
||||
FROM annonces
|
||||
WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (typeEven BETWEEN 5500 AND 5650 OR strEven LIKE '%5500%' /* Entreprise réalisant la vente */
|
||||
OR strEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */
|
||||
OR strEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */
|
||||
OR strEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */
|
||||
OR strEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
|
||||
OR strEven LIKE '%5600%' /* Entreprise Précédent exploitant */
|
||||
OR strEven LIKE '%5650%' /* Entreprise indemnisée */)
|
||||
)
|
||||
ORDER BY dateSource ASC;";
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
|
||||
$res=$iDb->query($query);
|
||||
$nbAnnonces=mysql_num_rows($res);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces de ventes à vérifier...".EOL;
|
||||
$sirenPre=false;
|
||||
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
print_r($annonce);
|
||||
// die();
|
||||
$siren=$annonce['siren'];
|
||||
$nic=$annonce['nic'];
|
||||
$source=$annonce['source'];
|
||||
$cp=$annonce['codePostal'];
|
||||
$ville=strtoupper($annonce['ville']);
|
||||
$dep=substr($annonce['codePostal'],0,2)*1;
|
||||
if ($dep>96) $dep=substr($annonce['codePostal'],0,3)*1;
|
||||
$nbSrc[$source]++;
|
||||
|
||||
if ($nic==0) {
|
||||
if ($source=='collecte') {
|
||||
if (preg_match('/tablissement concern.*\((\d{5,5})\)(.*)$/Ui', $annonce['complement'], $matches)) {
|
||||
if (preg_match('/\((\d{5,5})\)/Ui',$matches[2])) die('Plusieurs établissements vendus !');
|
||||
$nic=$matches[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($nic*1==0){
|
||||
//$tabIdentite=$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
||||
$tabEtabs=$iInsee->getEtablissements($siren, '', 0, 200, 200, $dep);
|
||||
foreach ($tabEtabs['reponses'] as $iRep=>$etab) {
|
||||
if ($cp<>$etab['CP'] && $ville<>strtoupper($etab['Ville']))
|
||||
continue;
|
||||
$nic=$etab['Nic'];
|
||||
if ($tabEtabs['nbReponses']==1) break;
|
||||
/*if (
|
||||
$levAdr=levenstein($etab['Adresse'], $annonce['adresse']);
|
||||
[Adresse2] => 116 A 118
|
||||
[CP] => 94000
|
||||
[Ville] => CRETEIL
|
||||
);*/
|
||||
}
|
||||
if ($nic*1==0) $nbNic0++;//die(print_r($tabEtabs));
|
||||
}
|
||||
//if ($siren==$sirenPre) continue;
|
||||
/*
|
||||
$typeEven=$annonce['typeEven'];
|
||||
$dateEven=$annonce['dateJugement'];
|
||||
$dateInsert=$annonce['dateInsert'];
|
||||
/** Initialisation des scores secteurs **
|
||||
$query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren=$siren AND (dateInsert<'$dateInsert' OR dateJugement<'$dateJuge') AND Rubrique='procol')
|
||||
UNION
|
||||
(SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren=$siren AND (dateInsert<'$dateInsert' OR dateJugement<'$dateJuge') AND typeEven BETWEEN 1100 AND 1999) ORDER BY siren;";
|
||||
//echo date ('Y/m/d - H:i:s')." - $query".EOL;
|
||||
$res2=$iDb2->query($query);
|
||||
$nbProcol=mysql_num_rows($res2);
|
||||
|
||||
if ($modeDebug) echo "Vente $siren\t$typeEven\t$dateJuge\t$dateInsert ";
|
||||
|
||||
if ($nbProcol>0) {
|
||||
if ($modeDebug) echo "($nbProcol ProCol)".EOL;
|
||||
$nbDejaProcol++;
|
||||
} else {
|
||||
$strIdAnn=" AND e.CODEVE BETWEEN 50 AND 79 AND e.DATE>=".(YEAR-12).MONTH.DAY;
|
||||
$res2=$iDbHisto->select(
|
||||
'entrep e, texte x, tribunaux t',
|
||||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt, t.triNom, t.triSiret',
|
||||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.CODTRI=t.triCode $strIdAnn AND e.DATE BETWEEN 19960101 AND 20041231 GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
||||
$nbProcolHisto=count($res2);
|
||||
if ($nbProcolHisto>0) {
|
||||
if ($modeDebug) echo "($nbProcolHisto ProCol histo.)".EOL;
|
||||
$nbDejaProcol++;
|
||||
} else {
|
||||
if ($modeDebug) echo "NOUVELLE PROCEDURE ";
|
||||
$nbNouvProcol++;
|
||||
// Ajouter dans la table
|
||||
$tabTmp=explode('-', $dateJuge);
|
||||
$annee=$tabTmp[0];
|
||||
// if ($annee<2007) continue;
|
||||
$mois=$tabTmp[1];
|
||||
$tabIdentite=$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
||||
$naf=$tabIdentite['NafEnt'];
|
||||
if (strlen($naf)<5) $naf=getNaf5($naf);
|
||||
|
||||
$fj=$tabIdentite['FJ'];
|
||||
$dep=$tabIdentite['Dept'];
|
||||
if ($dep>96 && $dep<99) $dep=''.$dep.substr($tabIdentite['codeCommune'],0,1);
|
||||
$anneeCrea=$tabIdentite['DateCreaEn'];
|
||||
if ($anneeCrea>$tabIdentite['DateCreaEt']) $anneeCrea=$tabIdentite['DateCreaEt'];
|
||||
$trEff=$tabIdentite['EffEnTr'];
|
||||
$trCA=$tabIdentite['TrancheCA'];
|
||||
|
||||
/** Mise à jour des scores secteurs **
|
||||
$tabTmp=$iDb2->select( 'scores_secteurs',
|
||||
'nbProcol, nbEntrep, annee, mois',
|
||||
"naf5='$naf' AND annee=$annee AND mois=$mois",
|
||||
false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) $nbProcDB=$tabTmp[0]['nbProcol'] + 1;
|
||||
else $nbProcDB=1;
|
||||
|
||||
$tabUpdate=array('nbProcol'=> $nbProcDB);
|
||||
$retTmp=$iDb2->update('scores_secteurs', $tabUpdate, "naf5='$naf' AND annee=$annee AND mois=$mois");
|
||||
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
||||
$tabInsert=array_merge($tabUpdate, array( 'naf5'=>$naf,
|
||||
'annee'=>$annee,
|
||||
'mois'=>$mois,
|
||||
'dateInsert'=>date('YmdHis'),
|
||||
));
|
||||
$iDb2->insert('scores_secteurs', $tabInsert);
|
||||
if ($modeDebug) echo "SECTEURS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
||||
$nbInsertSecteur++;
|
||||
} else {
|
||||
if ($modeDebug) echo "SECTEURS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
||||
$nbUpdateSecteur++;
|
||||
}
|
||||
if ($modeDebug) echo EOL;
|
||||
|
||||
/** Mise à jour des scores profils **
|
||||
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE ";
|
||||
|
||||
$tabTmp=$iDb2->select( 'scores_profils',
|
||||
'nbProcol, nbEntrep, annee, mois',
|
||||
"annee=$annee AND mois=$mois AND naf5='$naf' AND depSiege=$dep AND formeJur=$fj AND
|
||||
anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA",
|
||||
false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) $nbProcDB=$tabTmp[0]['nbProcol'] + 1;
|
||||
else $nbProcDB=1;
|
||||
|
||||
$tabUpdate=array('nbProcol'=> $nbProcDB);
|
||||
$retTmp=$iDb2->update('scores_profils', $tabUpdate, "annee=$annee AND mois=$mois AND naf5='$naf' AND
|
||||
depSiege=$dep AND formeJur=$fj AND anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA");
|
||||
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
||||
$tabInsert=array_merge($tabUpdate, array( 'annee'=>$annee,
|
||||
'mois'=>$mois,
|
||||
'naf5'=>$naf,
|
||||
'depSiege'=>$dep,
|
||||
'formeJur'=>$fj,
|
||||
'anneeCrea'=>$anneeCrea,
|
||||
'trEffectif'=>$trEff,
|
||||
'trCA'=>$trCA,
|
||||
'dateInsert'=>date('YmdHis'),
|
||||
));
|
||||
$iDb2->insert('scores_profils', $tabInsert);
|
||||
if ($modeDebug) echo "PROFILS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
||||
$nbInsertProfil++;
|
||||
} else {
|
||||
if ($modeDebug) echo "PROFILS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
||||
$nbUpdateProfil++;
|
||||
}
|
||||
|
||||
if ($modeDebug) echo EOL;
|
||||
}
|
||||
}*/
|
||||
$sirenPre=$siren;
|
||||
}
|
||||
print_r($nbSrc);
|
||||
die("$nbNic0 nic non trouvés sur $nbAnnonces".EOL);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement.".EOL;
|
||||
|
||||
?>
|
@ -1,238 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
|
||||
/** @todo Si MAJ en annule et remplace prévoir les manips SQL suivantes :
|
||||
** Création d'une table insee.tmp sans aucun index
|
||||
** A la fin du chargement construire les index
|
||||
** Si pas d'erreur :
|
||||
** 1. detruire insee
|
||||
** 2. Renommer insee.tmp en insee
|
||||
**/
|
||||
|
||||
set_time_limit(0);
|
||||
$heureDebut=TIME_LISIBLE;
|
||||
$dateJour=DATE;
|
||||
$dateJourFormat=substr(DATETIME,0,4).'-'.substr(DATETIME,4,2).'-'.substr(DATETIME,6,2);
|
||||
$j=0;
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) die('Usage : '.basename($argv[0]). " [OPTION]... FICHIER
|
||||
Charger un fichier CSV dans une base de données avec création de la table qui aura le nom du fichier chargé..
|
||||
|
||||
Options disponibles:
|
||||
|
||||
|
||||
Les arguments obligatoires pour les options de formes longues le sont aussi
|
||||
pour les options de formes courtes.
|
||||
-s=CHAR séparateur de champs (virgule, point-virgule*, /t=tabulation, etc...)
|
||||
-c=CHAR caractère encadrant les zones alphanumériques (inopérationnel)
|
||||
|
||||
(*): Valeurs par défaut !
|
||||
");
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 's': $separator=substr($argv[$i],3); break;
|
||||
case 'c': $chaine=substr($argv[$i],3); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !".EOL);
|
||||
}
|
||||
} else {
|
||||
$fichier_csv[$j]=$argv[$i];
|
||||
$j++;
|
||||
}
|
||||
}
|
||||
|
||||
$db_name='jo';
|
||||
|
||||
$iDb=new WDB($db_name);
|
||||
|
||||
if ($separator=='/t') {
|
||||
$separator="\t";
|
||||
echo "séparateur = tabulation\n";
|
||||
} elseif (!isset($separator) || $separator=='') {
|
||||
$separator=';';
|
||||
echo "séparateur = '$separator'\n";
|
||||
}
|
||||
else
|
||||
echo "séparateur = '$separator'\n";
|
||||
|
||||
// Mise à jour de la table PARAM
|
||||
// -----------------------------
|
||||
// 2 - pour la date et l'heure d'exécution du traitement en cours
|
||||
|
||||
/* $tabDataToUpdate=array('VALEUR'=>DATETIME,
|
||||
'CLE'=>'INSEE_MAJ_ENCOURS');
|
||||
$iparam->setParamValeur($tabDataToUpdate);
|
||||
*/
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement".EOL;
|
||||
flush();
|
||||
|
||||
for ($nbFichiers=0; isset($fichier_csv[$nbFichiers]); $nbFichiers++)
|
||||
{
|
||||
$fp=fopen($fichier_csv[$nbFichiers], 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Impossible d'ouvrir le fichier : ".$fichier_csv[$nbFichiers]." !".EOL;
|
||||
/* $tabDataToUpdate=array( 'NUM'=>$numScript,
|
||||
'DATE_JOUR'=>$dateJour,
|
||||
'HEURE_DEBUT'=>$heureDebut,
|
||||
'HEURE_FIN'=>$heureFin,
|
||||
'CODE_RETOUR'=>0,
|
||||
'NB_MAIL'=>1,
|
||||
'RESUME_EXEC'=>"Impossible d'ouvrir le fichier n°$nbFichiers à traiter : $nomFichier.");*/
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
exit();
|
||||
}
|
||||
|
||||
$nbLignes=0;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier ". $fichier_csv[$nbFichiers] ."...".EOL;
|
||||
flush();
|
||||
|
||||
while (($data = fgetcsv($fp, 3000, $separator)) !== FALSE)
|
||||
{
|
||||
//echo "\nLigne #$nbLignes:\n";
|
||||
$nomIn=addslashes(trim($data[0]));
|
||||
$nom=trim(addslashes(substr($nomIn,0,5)));
|
||||
//$prenom='';
|
||||
$prenom=addslashes(trim($data[1]));
|
||||
//////$tabTmp=explode('/',$data[2]);
|
||||
$tabTmp=explode('/',$data[2]);
|
||||
$dateNaiss=$tabTmp[2].'-'.$tabTmp[1].'-'.$tabTmp[0];
|
||||
$nbLignes++;
|
||||
|
||||
$tabTmp=$iDb->select('insee_dc',
|
||||
"nom, prenom, sexe, dateNaiss, comInsee, comLib, pays, dateDeces, comInsee2, dateInsert,
|
||||
MATCH(nom) AGAINST ('$nom') AS ScoreNom, MATCH(prenom) AGAINST ('$prenom') AS ScorePrenom
|
||||
/* MATCH(nom, prenom) AGAINST ('$nomIn') AS ScoreNomPrenom */ ",
|
||||
"1 AND MATCH(nom) AGAINST ('$nom') AND MATCH(prenom) AGAINST ('$prenom')
|
||||
/* AND MATCH(nom,prenom) AGAINST ('$nomIn')
|
||||
AND dateNaiss='$dateNaiss' */
|
||||
AND nom LIKE '$nom%'
|
||||
ORDER BY ScoreNom DESC, ScorePrenom DESC
|
||||
", true);
|
||||
|
||||
if (isset($tabTmp[0])) {
|
||||
if (count($tabTmp)==1) $codeRet=1;
|
||||
else $codeRet=2;
|
||||
foreach ($tabTmp as $i=> $res) {
|
||||
echo "$ref;$nomIn;$prenom;$dateNaiss;$codeRet;". $res['nom'].';'.
|
||||
$res['prenom'].';'.
|
||||
$res['dateNaiss'].';'.
|
||||
$res['comInsee'].';'.
|
||||
$res['comLib'].';'.
|
||||
$res['sexe'].';'.
|
||||
$res['pays'].';'.
|
||||
$res['dateDeces'].';'.
|
||||
$res['comInsee2'].';'.
|
||||
$res['dateInsert'].';'.EOL;
|
||||
}
|
||||
} else {
|
||||
echo "$ref;$nomIn;$prenom;$dateNaiss;0;".EOL;
|
||||
}
|
||||
|
||||
/*
|
||||
if ($nbLignes==1)
|
||||
{ // L'entête contient la structure du fichier
|
||||
// On compte le nombre de colonnes du fichier
|
||||
$nbColonnes=count($data);
|
||||
$sql="CREATE TABLE IF NOT EXISTS `$nom_table` (";
|
||||
for($i=0; $i<$nbColonnes; $i++) {
|
||||
$sql.='`'.$data[$i].'` LONGTEXT,';
|
||||
$tabTailles[$i]=0;
|
||||
$champ[$i]=$data[$i];
|
||||
}
|
||||
$sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule
|
||||
//$sql.="NOM LONGTEXT, PRENOM LONGTEXT, NUSAGE LONGTEXT) TYPE = MYISAM COMMENT = '$comment'";
|
||||
$sql.=") TYPE = MYISAM COMMENT = '$comment'";
|
||||
//echo $sql;
|
||||
if ($iDb->query($sql))
|
||||
echo date ('Y/m/d - H:i:s')." - Création de la table $nom_table OK...".EOL;
|
||||
else {
|
||||
echo $iDb->getLastError().EOL;
|
||||
die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $nom_table !".EOL."Requête SQL = $sql".EOL);
|
||||
}
|
||||
flush();
|
||||
continue;
|
||||
}
|
||||
die();
|
||||
$tabDataToInsert=array();
|
||||
|
||||
for($i=0; $i<$nbColonnes; $i++) {
|
||||
if ($i==1) {
|
||||
$tabM=explode(' ', $data[$i]);
|
||||
if (strlen($tabM[0])<=2) {
|
||||
$nom=$tabM[0].' '.$tabM[1];
|
||||
// unset($tabM[0]);
|
||||
unset($tabM[1]);
|
||||
}
|
||||
else $nom=$tabM[0];
|
||||
unset($tabM[0]);
|
||||
$tabM=preg_split('/( NEE | NE )/i', implode(' ', $tabM));
|
||||
$prenom=$tabM[0];
|
||||
$usage=$tabM[1];
|
||||
$tabDataToInsert=array_merge($tabDataToInsert, array('NOM'=>$nom, 'PRENOM'=>$prenom, 'NUSAGE'=>$usage));
|
||||
} else
|
||||
$tabDataToInsert=array_merge($tabDataToInsert, array($champ[$i]=>$data[$i]));
|
||||
if (strlen($data[$i])>$tabTailles[$i])
|
||||
$tabTailles[$i]=strlen($data[$i]);
|
||||
}
|
||||
|
||||
//print_r($tabDataToInsert);
|
||||
$ret=$iDb->insert($nom_table, $tabDataToInsert);
|
||||
if ($ret!=1) {
|
||||
echo date ('Y/m/d - H:i:s') . " - ERREUR à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL;
|
||||
flush();
|
||||
}
|
||||
unset($tabDataToInsert);*/
|
||||
}
|
||||
fclose ($fp);
|
||||
die();
|
||||
// On réduit la taille des colonnes au max de chaque champ
|
||||
for($i=0; $i<$nbColonnes; $i++)
|
||||
{
|
||||
//$tabTailles[$i]=strlen($data[$i]);
|
||||
if ($tabTailles[$i]<256) {
|
||||
$sql="ALTER TABLE `$nom_table` CHANGE `".$champ[$i]."` `".$champ[$i]."` VARCHAR(".$tabTailles[$i].") NULL DEFAULT NULL ";
|
||||
echo $sql;
|
||||
if ($iDb->query($sql))
|
||||
echo date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL;
|
||||
flush();}
|
||||
}
|
||||
echo 'Tailles max / champ:'.EOL;
|
||||
print_r($tabTailles);
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement.".EOL;
|
||||
die();
|
||||
function ecrireFichier($fichier,$texte){
|
||||
$fp = fopen($fichier, "a");
|
||||
fwrite($fp, $texte."\r\n");
|
||||
fclose ($fp);
|
||||
}
|
||||
|
||||
function valideSiret($SIRET) {
|
||||
if (!is_numeric($SIRET))
|
||||
return false;
|
||||
|
||||
$somme=0;
|
||||
for ($i=0; $i<=12; $i+=2) { // Traitement PAIR
|
||||
$var_tmp=(string)(2*((integer)substr($SIRET,$i,1)));
|
||||
$som_tmp=0;
|
||||
for($j=0;$j<strlen($var_tmp);$j++)
|
||||
$som_tmp+=(integer)substr($var_tmp,$j,1);
|
||||
$somme+=$som_tmp;
|
||||
}
|
||||
for ($i=1; $i<=13; $i+=2) // Traitement IMPAIR
|
||||
$somme+=(integer)substr($SIRET,$i,1);
|
||||
|
||||
if ((integer)($somme/10)!=($somme/10))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
?>
|
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
/* $tabDossiers=file('/mnt/samba/public/listeCet.txt');
|
||||
$str=file_get_contents('/mnt/samba/public/SaisieCetelem_debug.old.log');
|
||||
//$i=>$ligne
|
||||
foreach ($tabDossiers as $i=>$ligne) {
|
||||
$ligne=trim($ligne);
|
||||
if (preg_match_all('/(.*) - CREDDEL : (.*)'.$ligne.'(.*)retour Cetelem =(.*)/i', $str, $matches)) {
|
||||
//if (preg_match_all('/(.*)'.$ligne.'(.*)/i', $str, $matches)) {
|
||||
//print_r($matches);
|
||||
$nbEssais=count($matches[1]);
|
||||
$lastEssai=end($matches[1]);
|
||||
$nomPrenom=end($matches[3]);
|
||||
$message=end($matches[4]);
|
||||
|
||||
echo "$i;$ligne;OK;$nbEssais;$lastEssai;$nomPrenom;$message\n";
|
||||
//die();
|
||||
}
|
||||
else
|
||||
echo "$i;$ligne;KO\n";
|
||||
}
|
||||
*/
|
||||
|
||||
$iDb=new WDB('insee');
|
||||
|
||||
$tabDossiers=file('./siretBasculesInconnus.csv');
|
||||
echo date ('Y/m/d - H:i:s')." - Chargement des siret...".EOL;
|
||||
foreach ($tabDossiers as $i=>$ligne) {
|
||||
$tabTmp=explode(';', $ligne);
|
||||
$siren=$tabTmp[0];
|
||||
$tabSirenTmp[]=$siren;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Chargement de $i siret...".EOL;
|
||||
|
||||
$tabSiren=array_unique($tabSirenTmp);
|
||||
$nb=count($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - Dédoublonnage des siret : $nb siret".EOL;
|
||||
sort($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - Trie des siret OK.".EOL;
|
||||
|
||||
foreach ($tabSiren as $i=>$siren) {
|
||||
$ret=$iDb->select('identite', 'count(*) as nbEtab, NOM, NOM2, SIGLE, DCREN, CJ, CIVILITE, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, TEFF_ENT, TCA, TCAEXP', "SIREN=$siren AND NOM<>'' GROUP BY SIREN", false, MYSQL_ASSOC);
|
||||
$entrep=$ret[0];
|
||||
if ($entrep['nbEtab']>0) {
|
||||
echo "$i/$nb : $siren;".$entrep['nbEtab'].';'.$entrep['NOM']."\n";
|
||||
$tabUpdate=$entrep;
|
||||
unset($tabUpdate['nbEtab']);
|
||||
//print_r($tabUpdate);
|
||||
//die();
|
||||
$retUpdate=$iDb->update('identite', $tabUpdate, "SIREN=$siren AND NOM=''");
|
||||
// die($retUpdate);
|
||||
} else {
|
||||
$fp=fopen('siren_a_recuperer.txt', 'a');
|
||||
fwrite($fp, "$siren\n");
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
die();
|
||||
|
||||
?>
|
@ -1,85 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
function wsLog($service, $siret='', $ref='') {
|
||||
/* if (strlen($siret)==14) {
|
||||
$siren=substr($siret,0,9);
|
||||
$nic=substr($siret,9,5);
|
||||
} elseif (strlen($siret)==9) {
|
||||
$siren=$siret;
|
||||
$nic='';
|
||||
}
|
||||
|
||||
global $iDbCrm, $tabInfoUser;
|
||||
$tabInsert=array( 'login'=>$tabInfoUser['login'],
|
||||
'page'=>$service,
|
||||
'siren'=>$siren,
|
||||
'nic'=>$nic,
|
||||
'params'=>$ref);
|
||||
$rep=$iDbCrm->insert('logs', $tabInsert);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once('/var/www/html/ws/WsEntreprise.php');
|
||||
|
||||
$nbExercices=1;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Scorer toute la base entreprise S&D.
|
||||
|
||||
Options :
|
||||
-t Calculer tous les scores (*)
|
||||
-i:XXX Reprendre à la ligne XXX
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 't':
|
||||
case 'T':
|
||||
break;
|
||||
case 'i':
|
||||
case 'I':
|
||||
$iDeb=substr($argv[$i],3);
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('tmp');
|
||||
|
||||
$iWs=new WsEntreprise();
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de recherche des siren manquants...".EOL;
|
||||
|
||||
$tabRows=$iDb->select( 'tmp.siren_surv', 'siren', 'siren>99999 AND siren NOT IN (SELECT siren FROM jo.etablissements) ORDER BY siren_surv.siren DESC', false, MYSQL_ASSOC);
|
||||
$nbRows=count($tabRows);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à scorer...".EOL;
|
||||
|
||||
foreach ($tabRows as $k=>$tabSiren) {
|
||||
if ($k<$iDeb) continue;
|
||||
|
||||
$siren=$tabSiren['siren'];
|
||||
$tabRet=@$iWs->searchSiren($siren);
|
||||
$nbReps=$tabRet['results']['nbReponses'];
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $k, siren $siren : $nbReps entreprise trouvée...".EOL;
|
||||
randsleep(1,2);
|
||||
}
|
||||
|
||||
die();
|
||||
?>
|
3350
batch/cjBodacc.php
3350
batch/cjBodacc.php
File diff suppressed because it is too large
Load Diff
@ -1,526 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$siren=552144503;
|
||||
|
||||
print_r($iInsee->getAnnoncesLegales($siren));
|
||||
|
||||
die();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$tabLigne=file('/root/cjBodacc.txt');
|
||||
$tabCj=array();
|
||||
|
||||
foreach ($tabLigne as $i=>$ligne) {
|
||||
if ($i<1) continue;
|
||||
$tabTmp=explode("\t", $ligne);
|
||||
$libCj=strtoupper(trim(preg_replace('/[^a-z]/i','',$tabTmp[0])));
|
||||
$nbrCj=$tabTmp[1];
|
||||
@$tabCj[$libCj]+=$nbrCj;
|
||||
}
|
||||
$nbCj=count($tabCj);
|
||||
echo "$i CJ traitées => $nbCj filtrées !".EOL;
|
||||
|
||||
foreach ($tabCj as $libCj=>$nbrCj)
|
||||
echo "'$libCj'=>0,\t// $nbrCj".EOL;
|
||||
die();
|
||||
/*include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
*/
|
||||
/*
|
||||
function ferie($mois,$an, $alsace = false){
|
||||
if (is_array($mois)){
|
||||
$retour = array();
|
||||
foreach ($mois as $m) {
|
||||
$r = ferie($m, $an);
|
||||
$retour[$m] = ferie($m, $an);
|
||||
}
|
||||
return $retour;
|
||||
}
|
||||
|
||||
// calcul des jours feries pour un seul mois.
|
||||
if (mktime(0,0,0,$mois, 1,$an) == -1) { return FALSE;}
|
||||
list($mois, $an) = explode("-", date("m-Y", mktime(0,0,0,$mois, 1, $an)));
|
||||
$an = intval($an);
|
||||
$mois = intval($mois);
|
||||
|
||||
// une constante
|
||||
$jour = 3600*24;
|
||||
|
||||
// les jours fixes
|
||||
$ferie["Jour de l'an"][1] = 1;
|
||||
$ferie["Armistice 39-45 "][5] = 8;
|
||||
$ferie["Toussaint"][11] = 1;
|
||||
$ferie["Armistice 14-18"][11] = 11;
|
||||
$ferie["Assomption"][8] = 15;
|
||||
$ferie["Fête du travail "][5] = 1;
|
||||
$ferie["Fête nationale"][7] = 14;
|
||||
$ferie["Noël"][12] = 25;
|
||||
if ($alsace)
|
||||
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
|
||||
|
||||
// quelques fetes mobiles
|
||||
$lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour);
|
||||
$lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour);
|
||||
$lundi_de_paques['nom'] = "Lundi de Pâques";
|
||||
|
||||
$ascencion['mois'] = date( "n", easter_date($an)+39*$jour);
|
||||
$ascencion['jour'] = date( "j", easter_date($an)+39*$jour);
|
||||
$ascencion['nom'] = "Jeudi de l'ascenscion";
|
||||
|
||||
$vendredi_saint['mois'] = date( "n", easter_date($an)-2*$jour);
|
||||
$vendredi_saint['jour'] = date( "j", easter_date($an)-2*$jour);
|
||||
$vendredi_saint['nom'] = "Vendredi Saint";
|
||||
|
||||
$lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour);
|
||||
$lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour);
|
||||
$lundi_de_pentecote['nom'] = "Lundi de Pentecôte";
|
||||
|
||||
|
||||
$ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour'];
|
||||
$ferie[$lundi_de_pentecote['nom']][$lundi_de_pentecote['mois']] = $lundi_de_pentecote['jour'];
|
||||
$ferie[$ascencion['nom']][$ascencion['mois']] = $ascencion['jour'];
|
||||
if ($alsace)
|
||||
$ferie[$vendredi_saint['nom']." (Alsace)"][$vendredi_saint['mois']]= $vendredi_saint['jour'];
|
||||
|
||||
// reponse
|
||||
$reponse = array();
|
||||
while(list($nom, $date)= each($ferie)){
|
||||
if (isset($date[$mois])){
|
||||
// une fete a date calculable
|
||||
$reponse[$date[$mois]]=$nom;
|
||||
}
|
||||
}
|
||||
ksort($reponse);
|
||||
return $reponse;
|
||||
}
|
||||
function tab_jours_feriés($an) {
|
||||
return ferie(range(1,12),$an);
|
||||
}
|
||||
|
||||
|
||||
$année = date("Y");
|
||||
$tabFeriers = tab_jours_feriés($année);
|
||||
print_r($tabFeriers);
|
||||
die();
|
||||
|
||||
echo "<br>";
|
||||
while (list($mois, $tab) = each ($fériées)) {
|
||||
while (list($jour, $fete) = each ($tab)) {
|
||||
echo "$jour/$mois/$année => $fete \n<br>";
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
$iDb=new WDB();
|
||||
$tabRet=$iDb->select('boamp_detail' , 'id, raisonSociale, adresse, cp, ville', "1");
|
||||
foreach ($tabRet as $i=>$tabInsert) {
|
||||
$idTxtUnique=trim(strtoupper(preg_replace('/[^a-z0-9]/i', '',
|
||||
$tabInsert['raisonSociale'].$tabInsert['adresse'].
|
||||
$tabInsert['cp'].$tabInsert['ville'])));
|
||||
$id=$tabInsert['id'];
|
||||
if ($idTxtUnique<>'') {
|
||||
$iDb->update('boamp_detail',
|
||||
array( 'idTxtUnique'=>$idTxtUnique,
|
||||
'dateUpdate'=>0), "id=$id");
|
||||
//die($id);
|
||||
}
|
||||
}
|
||||
|
||||
//echo WDate::jourFerie($argv[1],1);
|
||||
|
||||
|
||||
die();
|
||||
|
||||
|
||||
$tabFormesJuridiques=array(
|
||||
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
|
||||
"Societe anonyme cooperative a capital variable" ,
|
||||
"Societe a responsabilite limitee" ,
|
||||
"Sarl membre de la ce ou partie À l'accord sur l'espace Économique europÉen" ,
|
||||
"Soci t par actions simplifi e" ,
|
||||
"Soci t responsabilit limit e" ,
|
||||
"Societe civile de personnes" ,
|
||||
"Societe civile particuliere" ,
|
||||
"Societe d'exercice liberal par actions simplifiee" ,
|
||||
"Societe anonyme cooperative" ,
|
||||
"Societe par actions simplifiee a associe unique" ,
|
||||
"Societe cooperative" ,
|
||||
"S a r l a capital variable" ,
|
||||
"Ste en commandite simple" ,
|
||||
"Soci t responsabilit limit e capital variable" ,
|
||||
"Groupememt d'interet economique commercial" ,
|
||||
"Societe par action simplifiee" ,
|
||||
"Societe d'exercice liberal par actions simplifiee - selas" ,
|
||||
"Entreprise unipersonnelle a responsabilite limitee" ,
|
||||
"Soci t en nom collectif" ,
|
||||
"SociÉtÉ par actions simplifiÉe unipersonnelle" ,
|
||||
"Societe civile de contruction/vente" ,
|
||||
"Societe anonyme a capital variable" ,
|
||||
"Societe cooperative de production a responsabilite limitee a capital variable" ,
|
||||
"Cooperative ouvriere de product. a resp. lim." ,
|
||||
"SociÉtÉ civile de moyens" ,
|
||||
"Affaire personnelle commerÇant" ,
|
||||
"SociÉtÉ civile professionnelle" ,
|
||||
"Societe anonyme d'economie mixte locale" ,
|
||||
"Sa a conseil d administration" ,
|
||||
"Societe cooperative agricole a capital variable" ,
|
||||
"Cooperative ouvriere de production en a.r.l." ,
|
||||
"Sarl a associe unique et a capital variable" ,
|
||||
"Societe anonyme d'h.l.m." ,
|
||||
"Cooperative agricole" ,
|
||||
"Soci t civile" ,
|
||||
"Soci t civile immobili re" ,
|
||||
"SociÉtÉ d'exercice libÉral À responsabilitÉ limitÉe" ,
|
||||
"Societe cooperative de production a responsabilite limitee" ,
|
||||
"Societe cooperative de travailleurs (anonyme)" ,
|
||||
"Soci?t? ? responsabilit? limit?e" ,
|
||||
"Cooperative ouvriere de production (anonyme)" ,
|
||||
"Sa coop de production a cap variable" ,
|
||||
"Sa À conseil d'administration" ,
|
||||
"Societe d'interet collectif agricole" ,
|
||||
"Societe civile agricole" ,
|
||||
"Societe cooperative de production anonyme a capital variable" ,
|
||||
"Sarl unipersonnelle" ,
|
||||
"Sarl cooperative" ,
|
||||
"Societe cooperative agricole" ,
|
||||
"Societe anonyme" ,
|
||||
"Societe par actions simplifiee a directoire et conseil de surveillance" ,
|
||||
"Ste coop. prod. a resp. limitee a capital personnel et variable" ,
|
||||
"Societe d'actions simplifiee a capital variable" ,
|
||||
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
|
||||
"Groupement d'intÉrÊt Économique" ,
|
||||
"Societe d'exercice liberal a responsabilite limitee unipersonnelle%" ,
|
||||
"Societe cooperative de production" ,
|
||||
"Societe cooperative ouvriere de production anonyme a capital variable" ,
|
||||
"Sarl a capital variable" ,
|
||||
"Societe anonyme d'economie mixte" ,
|
||||
"Societe cooperative anonyme d interet collectif agricole" ,
|
||||
"Sasu sociÉtÉ par actions simplifiÉe À associÉ unique" ,
|
||||
"Societe d'investissements a capital variable (s.i.c.a.v)" ,
|
||||
"Societe cooperative de production (sarl)" ,
|
||||
"Societe d exercice liberal par actions simplifiees" ,
|
||||
"Union de cooperatives agricoles" ,
|
||||
"Societe cooperative ouvriere de production anonyme" ,
|
||||
"Soci t de droit tranger" ,
|
||||
"Societe civile professionnelle d'architectes" ,
|
||||
"Societe civile construction vente" ,
|
||||
"Soci t anonyme" ,
|
||||
"Societe a responsabilite limitee de presse" ,
|
||||
"Societe anonyme sportive professionnelle" ,
|
||||
"Societe anonyme a conseil d administration" ,
|
||||
"Cooperative d'utilisation de materiel agricole (c.u.m.a.)" ,
|
||||
"Societe civile cooperative de construction" ,
|
||||
"Sarl de presse" ,
|
||||
"Groupememt d interet economique commercial" ,
|
||||
"Sa À directoire" ,
|
||||
"Societe cooperative de production en a.r.l a capital variable" ,
|
||||
"Societe cooperative interet collectif agricole s.a." ,
|
||||
"Societe cooperative d'interet collectif anonyme" ,
|
||||
"Societe cooperative a capital et personnel variables" ,
|
||||
"SociÉtÉ coopÉrative À capital variable en la forme sarl" ,
|
||||
"Ste coop de banque a capital var." ,
|
||||
"Groupement agricole d'exploitation en commun - gaec" ,
|
||||
"SociÉtÉ civile d'exploitation agricole" ,
|
||||
"Societe cooperative a capital variable et a responsabilite limitee" ,
|
||||
"Societe anonyme cooperative de production d hlm" ,
|
||||
"Societe anonyme cooperative de commercants detaillants" ,
|
||||
"SociÉtÉ civile professionnelle de commissaires-priseurs" ,
|
||||
"Societe anonyme cooperative de banque populaire" ,
|
||||
"Cooperative de consommation en s.a" ,
|
||||
"Sa coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ (sacicap)" ,
|
||||
"Cooperative de commercants detaillants" ,
|
||||
"Societe anonyme cooperative a capital et personnel variable" ,
|
||||
"SociÉtÉ coopÉrative de production À forme sarl." ,
|
||||
"SociÉtÉ civile immobiliÈre de construction vente" ,
|
||||
"Ano societe anonyme a directoire et conseil de surveillance" ,
|
||||
"Societe par actions simplifiee" ,
|
||||
"Societe cooperative ouvriere de production" ,
|
||||
"Societe civile d exploitation agricole a responsabilite limitee" ,
|
||||
"Exploitation agricole À responsabilitÉ limitÉe" ,
|
||||
"E.u.r.l." ,
|
||||
"Societe d'economie mixte a conseil d'administration" ,
|
||||
"Groupement europeen d'interet economique" ,
|
||||
"Societe anonyme cooperative de production d'hlm" ,
|
||||
"Groupement d int r t conomique" ,
|
||||
"Cooperative ouvriere de product a resp lim " ,
|
||||
"Soci t responsabilit limit e coop rative ouvri re de production et de cr dit" ,
|
||||
"Societe cooperative credit capital variable a.r.l." ,
|
||||
"Societe d'exercice liberal a forme anonyme _ selafa" ,
|
||||
"SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" ,
|
||||
"SociÉtÉ anonyme d'hlm" ,
|
||||
"Societe d interet collectif agricole" ,
|
||||
"Societe cooperative d'artisan en arl a capital variable" ,
|
||||
"SociÉtÉ d'exercice libÉral À forme anonyme" ,
|
||||
"SociÉtÉ d'investissement À capital variable" ,
|
||||
"Societe civile d exploitation agricole" ,
|
||||
"Societe en nom collectif" ,
|
||||
"Sarl cooperative ouvriere de production et de credit a capital variable" ,
|
||||
"SociÉtÉ par actions simplifiÉe À capital variable" ,
|
||||
"SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" ,
|
||||
"S a cooperative d entreprises a capital variable" ,
|
||||
"Sa a conseil d'administration" ,
|
||||
"Societe cooperative de credit" ,
|
||||
"Societe de presse" ,
|
||||
"Societe anonyme a participation ouvriere" ,
|
||||
"Groupement d interet economique commercial" ,
|
||||
"SociÉtÉ anonyme d'Économie mixte À conseil d'administration" ,
|
||||
"Ste d'exercice liberal a responsabilite limitee unipersonnel" ,
|
||||
"Societe cooperative d interet collectif a responsabilite limitee" ,
|
||||
"Sa d'economie mixte a conseil administratif" ,
|
||||
"Societe d'economie mixte a directoire" ,
|
||||
"Cette societe est une sas unipersonnelle" ,
|
||||
"Sa sportive professionnelle" ,
|
||||
"S.a.r.l. a capital personnel variable" ,
|
||||
"Societe civile professionnelle d'huissiers" ,
|
||||
"Sa cooperative ouvriere de production et de credit a conseil d administration" ,
|
||||
"Gaec a capital variable" ,
|
||||
"Groupement agricole d exploitation en commun" ,
|
||||
"Societe d'exercice liberal par actions simplifiees (selas)" ,
|
||||
"Societe civile d attribution" ,
|
||||
"Soci t par actions simplifi e associ unique" ,
|
||||
"Societe civile de construction vente" ,
|
||||
"Cooperative agricole a capital variable" ,
|
||||
"Societe cooperative de production en a.r.l. a capital variable" ,
|
||||
"Societe anonyme a capital et personnel variables" ,
|
||||
"SociÉtÉ anonyme À conseil d'administration" ,
|
||||
"Sa coop. ouvriere de production capital et personnel variables" ,
|
||||
"Union de societes cooperatives a directoire" ,
|
||||
"Societe d'exercice liber. forme anonyme" ,
|
||||
"Sarl d'intÉrÊt collectif et agricole À capital variable" ,
|
||||
"Sarl cooperative a capital variable" ,
|
||||
"Sa coop rative ouvri re de prod et cr dit conseil d adm capital variable" ,
|
||||
"Banque cooperative regie par la loi n.99-532 du 25.06.1999" ,
|
||||
"Societe anonyme au capital et personnel variable" ,
|
||||
"Soci?t? par actions simplifi?e unipersonnelle" ,
|
||||
"Sa d'int. collectif agri. a ca" ,
|
||||
"Soci t civile de moyens" ,
|
||||
"Societe a responsabilite limite de droit britanique" ,
|
||||
"Ste cooperative de banque populaire" ,
|
||||
"Societe cooperative de consommation anonyme" ,
|
||||
"Societe anonyme d hlm" ,
|
||||
"SociÉtÉ coopÉrative de travailleurs À forme sarl" ,
|
||||
"Cooperative d'interet collectif a conseil d'administration" ,
|
||||
"SociÉtÉ de placement À prÉpondÉrance immobiliÈre À capital variable" ,
|
||||
"Societe cooperative a capital variable" ,
|
||||
"Etablissement public national" ,
|
||||
"Sica anonyme a directoire et conseil de surveillance" ,
|
||||
"Eurl a capital variable" ,
|
||||
"Sarl cooperative ouvriere de production" ,
|
||||
"Sa coop. de production hlm a capital variable" ,
|
||||
"Socite civile cooperative de credit" ,
|
||||
"Societe a responsabilite limitee d'architecture" ,
|
||||
"Cooperative ouvriere de production en a r l " ,
|
||||
"Societe cooperative a responsabilite limitee a capital variable" ,
|
||||
"Sarl sous forme de eurl" ,
|
||||
"Ano societe anonyme cooperative a capital variable a directoire" ,
|
||||
"Cooperative artisanale en s.a.r.l" ,
|
||||
"SociÉtÉ civile professionnelle d'avocats" ,
|
||||
"Ste cooperative artisanale resp.lim.capital variable" ,
|
||||
"Societe anonyme capital fixe coop. de banque" ,
|
||||
"Societe cooperative de banque populaire a capital variable" ,
|
||||
"Cooperative ouvriere de production en s.a.r.l." ,
|
||||
"Societe cooperative ouvriere de production a.s.a" ,
|
||||
"SociÉtÉ coopÉrative de production À forme anonyme À capital variable" ,
|
||||
"Sa coopÉrative ouvriÈre de prod. et crÉdit À conseil d'adm. À capital variable" ,
|
||||
"Banque cooperative" ,
|
||||
"Sarl membre de la ce ou partie l accord sur l espace conomique europ en" ,
|
||||
"Sascop" ,
|
||||
"Sa cooperative de consommation a conseil d administration a capital variable" ,
|
||||
"Societe anonyme a conseil de surveillance" ,
|
||||
"Cooperative artisanale" ,
|
||||
"Cooperative maritime" ,
|
||||
"Ste d'investissements a capital variable a conseil -sicav-" ,
|
||||
"Societe civile en construction vente (loi de 1971) titre1" ,
|
||||
"Societe cooperative artisanale a resp. limitee et a capital variable" ,
|
||||
"SociÉtÉ anonyme coopÉrative de consommation À conseil d'administration" ,
|
||||
"Ville de" ,
|
||||
"Societe anonyme de presse" ,
|
||||
"Association loi 1901 Émettant des obligations" ,
|
||||
"Societe civile professionnelle de notaires" ,
|
||||
"Societe civile immobiliere d attribution" ,
|
||||
"Societe civile professionnelle de chirurgien-dentistes" ,
|
||||
"Ste cooperative d'interet collectif a responsabilite limitee a capital variable" ,
|
||||
"Arl societe a associe unique" ,
|
||||
"Soci?t? par actions simplifi?e" ,
|
||||
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sarl" ,
|
||||
"Soci t responsabilit limit e coop rative capital variable" ,
|
||||
"Societe anonyme de consom a capital variable" ,
|
||||
"Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" ,
|
||||
"Societe cooperative de credit a capital variable" ,
|
||||
"Societe civile de placement immobilier" ,
|
||||
"Ste civile a participation ouvriere a capital variable" ,
|
||||
"Societe anonyme cooperative de banque populaire a capital variable" ,
|
||||
"Societe d'investissement a capital variable d'actionnariat salaries (sicavas)" ,
|
||||
"Cooperative a capital variable (sarl)" ,
|
||||
"Soci t en commandite simple" ,
|
||||
"Soci t d exercice lib ral responsabilit limit e" ,
|
||||
"Societe anonyme cooperative maritime a capital variable" ,
|
||||
"Societe d interet collectif agricole arl" ,
|
||||
"Societe anonyme cooperative a directoire" ,
|
||||
"Cooperative professionnelle" ,
|
||||
"S.a cooperative d'entreprises a capital variable" ,
|
||||
"SociÉtÉ ÉtrangÈre immatriculÉe au rcs" ,
|
||||
"Soci?t? ? responsabilit? limit?e ? associ? unique" ,
|
||||
"SociÉtÉ civile professionnelle d'huissiers de justice" ,
|
||||
"Soci t responsabilit limit e associ unique" ,
|
||||
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sa" ,
|
||||
"Sa coop de commercants detail a ca" ,
|
||||
"StÉ de participation financiÈre de profession libÉrale À responsabilitÉ limitÉe" ,
|
||||
"Societe cooperative maritime" ,
|
||||
"Autres formes juridiques" ,
|
||||
"Societe civile immobiliere de construction / vente" ,
|
||||
"Banque coopÉrative rÉgie par la loi n°99-532 du 25 juin 1999" ,
|
||||
"SociÉtÉ coopÉrative exploitÉe sous forme de sarl" ,
|
||||
"Sarl associe unique" ,
|
||||
"Institution regie - articles l141-1 et suivants du code monetaire et financier" ,
|
||||
"Societe de droit anglais" ,
|
||||
"Societe cooperative de consommation anonyme a capital variable" ,
|
||||
"Union de cooperative" ,
|
||||
"Societe en commandite simple a capital variable" ,
|
||||
"StÉ coop de crÉdit À capital variable et À responsabilitÉ statutairement limitÉe" ,
|
||||
"Societe par actions" ,
|
||||
"Societe cooperative artisanale a responsabilite limitee" ,
|
||||
"Societe civile professionnelle de medecins" ,
|
||||
"Union de cooperatives a capital variable" ,
|
||||
"Societe anonyme d'h.l.m. a conseil" ,
|
||||
"Sarl cooperative artisanale" ,
|
||||
"Societe civile de construction" ,
|
||||
"Societe civile d exploitation viticole" ,
|
||||
"E.u.r.l a capital variable" ,
|
||||
"Entreprise unipersonnelle a responsabilite limitee et a capital variable" ,
|
||||
"Ste anonyme a directoire et conseil d'orientation & surveillance" ,
|
||||
"Sarl unipersonnelle sportive" ,
|
||||
"Scop a responsabilite limitee et a capital variable" ,
|
||||
"SociÉtÉ À responsabilitÉ limitÉe unipersonnelle À capital variable" ,
|
||||
"Sarl a capital et personnel variable" ,
|
||||
"Societe d exploitation agricole a responsabilite limitee" ,
|
||||
"Sarl - eurl a capital variable" ,
|
||||
"StÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
|
||||
"Ste anonyme cooperative a capital variable" ,
|
||||
"Etablissement de credit a but non lucratif" ,
|
||||
"Societe cooperative de travailleurs (sarl)" ,
|
||||
"E.a.r.l." ,
|
||||
"Societe d assurance" ,
|
||||
"Regie municipale" ,
|
||||
"Coop. de crÉdit À responsabilitÉ statutairement limitÉe et À capital variable" ,
|
||||
"Societe" ,
|
||||
"Sarl non membre de la ce ou non partie À l'accord sur l'espace Économique eur." ,
|
||||
"Cooperative a capital variable en a r l " ,
|
||||
"Societe anonyme a directoire et conseil de surveillance" ,
|
||||
"Cooperative ouvriere de production (sa)" ,
|
||||
"Societe civile d'attribution" ,
|
||||
"Societe civile de portefeuille" ,
|
||||
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ" ,
|
||||
"Affaire personnelle artisan" ,
|
||||
"Scp de mandataires judiciaires À la liquidation des entreprises" ,
|
||||
"Societe civile immobiliere a capital variable" ,
|
||||
"S a r l de presse" ,
|
||||
"Sarl d'architecture" ,
|
||||
"Societe civile professionnelle de mandataires liquidateurs" ,
|
||||
"Societe anonyme cooperative de consommation" ,
|
||||
);
|
||||
|
||||
function getCodeFJ($forme_juridique) {
|
||||
$iDb=new WDB();
|
||||
$variable=false;
|
||||
$strVar='';
|
||||
if (preg_match('/capital variable/i', $forme_juridique)) {
|
||||
$fj2=addslashes(preg_replace('/capital variable/i',' ',$forme_juridique));
|
||||
$variable=true;
|
||||
$strVar='VAR';
|
||||
} else
|
||||
$fj2=addslashes($forme_juridique);
|
||||
|
||||
$tmp=$iDb->select(
|
||||
'tabFJur',
|
||||
"code, libelle, MATCH(libelle) AGAINST('$fj2') AS score",
|
||||
"code>1000 AND MATCH(libelle) AGAINST('$fj2')", false, MYSQL_ASSOC);
|
||||
echo "A RECHERCHER : '$forme_juridique'".EOL;
|
||||
foreach($tmp as $i=>$tabFj) {
|
||||
if ($i==0) {
|
||||
echo strtoupper(" $i - ".$tabFj['libelle']." ==> ".$tabFj['code']).EOL;
|
||||
$code=$tabFj['code'];
|
||||
} else
|
||||
echo " $i - ".$tabFj['libelle']." ==> ".$tabFj['code'].EOL;
|
||||
if ($i>20) break;
|
||||
}
|
||||
while(true){
|
||||
echo "Confirmez le code $code pour '$forme_juridique' ?".EOL;
|
||||
$saisie = trim(strtoupper(fgets(STDIN)));
|
||||
if (strlen($saisie)==4 && $saisie*1>1000) {
|
||||
$code=$saisie;
|
||||
break;
|
||||
/* if (!$iBodacc->addDeviseBodacc($devise, $saisie) && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations de chargement en base impossible :".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
die();
|
||||
}
|
||||
$capital_devise=$saisie;
|
||||
break;*/
|
||||
} elseif ($saisie=='?') {
|
||||
$code=$saisie;
|
||||
break;
|
||||
} elseif (strlen($saisie)==0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return array('code'=>$code,'variable'=>$variable,'var'=>$strVar);
|
||||
}
|
||||
$fp=fopen('./libFJ.php','w+');
|
||||
$fp2=fopen('./libFJ.csv','w+');
|
||||
foreach($tabFormesJuridiques as $i=>$fj) {
|
||||
//echo "$i:$fj = "..EOL;
|
||||
$fj2=prepareString(strtoupper(trim($fj)));
|
||||
$tabCode=getCodeFJ($fj2);
|
||||
$code=$tabCode['code'];
|
||||
$var=$tabCode['variable'];
|
||||
$strVar=$tabCode['var'];
|
||||
fwrite($fp, "case '$fj2':\t\$cj=$code; \$capitalType='$strVar'; break;".EOL);
|
||||
fwrite($fp2, "$fj2\t$code\t$strVar".EOL);
|
||||
}
|
||||
|
||||
|
||||
echo simpleWhois('indiscore', 'fr', true);
|
||||
die();
|
||||
$tab = array( 'toto.com',
|
||||
'momo.com',
|
||||
'yoyo.fr',
|
||||
'65qs4df56q4qsdqsd.com',
|
||||
'koko.net',
|
||||
'zozo.net',
|
||||
'soso.net',
|
||||
'qoqo.net',
|
||||
'qs56d4qs56d4qs65d4qs564.net',
|
||||
'xoxo.net',
|
||||
'coco.com',
|
||||
'hoho.fr',
|
||||
'nono.net',
|
||||
'dodo.com',
|
||||
);
|
||||
// Récupération des résultats
|
||||
$output = false;
|
||||
// Exécution
|
||||
if($tab){
|
||||
foreach($tab as $host){
|
||||
list($domain, $tdl) = split(".", $host, 2); // le 2 permet de s'arreter après le 1er point ce qui permet d'avoir des extenssion du type .com.fr
|
||||
$output[$host] = simpleWhois($domain, $tdl);
|
||||
}
|
||||
}
|
||||
// Affichage "brut" des données traitées
|
||||
if($output){
|
||||
print_r($output);
|
||||
}
|
||||
?>
|
@ -1,192 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Sirenage automatique des annonces Bodacc pas encore sirenées.
|
||||
|
||||
Options :
|
||||
-s Sirenage semi-automatique (Ligne de prompt pour les entreprises non sirenées)
|
||||
-p Sirenage de toutes les annonces sans propositions (en vu du traitement manuel)
|
||||
-a Re-sirenage de toutes les annonces Bodacc non sirenées !
|
||||
-i:XXX Reprise à partir du numéro d'annonce XXX
|
||||
";
|
||||
$semiManuel=$sansPropo=$toutes=$index=false;
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 's':
|
||||
$semiManuel=true;
|
||||
break;
|
||||
case 'p':
|
||||
$sansPropo=true;
|
||||
break;
|
||||
case 'a':
|
||||
$toutes=true;
|
||||
break;
|
||||
case 'i':
|
||||
$index=trim(substr($argv[$i],3));
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de SIRENAGE des fichiers CLIENTS...".EOL;
|
||||
|
||||
$iDb=new WDB('tmp');
|
||||
$iInsee=new MInsee();
|
||||
$listeNonSirene=$iDb->select('mederic', 'ID_CLIENT, REF, RAISON_SOCIALE, ENSEIGNE2, SIGLE2, ADRESSE, CP, VILLE', 'SIREN=0', true);
|
||||
echo date('Y/m/d - H:i:s') ." - Nombre d'entreprises à traiter : ".count($listeNonSirene). EOL;
|
||||
foreach ($listeNonSirene as $k=>$entrep) {
|
||||
$siege='';$actif='';$deb=0;$nbRep=20;$maxRep=20;$pertinence=false;
|
||||
$avecSiren=true;
|
||||
|
||||
$tabEtabs=@$iInsee->rechercheEtab($entrep['RAISON_SOCIALE'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
if (@$tabEtabs[nbReponses]==0 && $entrep['ENSEIGNE2']<>'') {
|
||||
$tabEtabs=@$iInsee->rechercheEtab($entrep['ENSEIGNE2'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
} elseif (@$tabEtabs[nbReponses]==0 && $entrep['SIGLE2']<>'') {
|
||||
$tabEtabs=@$iInsee->rechercheEtab($entrep['SIGLE2'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
}
|
||||
//print_r($tabEtabs);
|
||||
//die();
|
||||
$tabSiren=array();
|
||||
//echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... ";
|
||||
|
||||
foreach ($tabEtabs['reponses'] as $i=>$etab) {
|
||||
$tabSiren[]=$etab['Siren'];
|
||||
/* $siret = $etab['Siret']; // 40847260300039
|
||||
$siege = $etab['Siege']; // 0
|
||||
$nom = $etab['Nom']; // SETTIER JEAN MARC
|
||||
$nom2 = $etab['Nom2']; //
|
||||
$sigle = $etab['Sigle']; //
|
||||
$sigle = $etab['Enseigne'];//
|
||||
$sigle = $etab['Adresse']; // 0059 R DE PATAY
|
||||
$sigle = $etab['CP']; // 45000
|
||||
$sigle = $etab['Ville']; // ORLEANS
|
||||
$sigle = $etab['Tel']; // 00000000
|
||||
$sigle = $etab['Fax']; // 00000000
|
||||
$sigle = $etab['FJ']; // 1500
|
||||
$sigle = $etab['FJLib']; // Profession libérale
|
||||
$siren = $etab['Siren']; // 408472603
|
||||
$nic = $etab['Nic']; // 00039
|
||||
$actif = $etab['Actif']; // 0
|
||||
*/
|
||||
}
|
||||
$tabUnique=array_unique($tabSiren);
|
||||
//echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... ";
|
||||
if (count($tabUnique)==1) {
|
||||
echo '1;'.$entrep['REF'].';'.$tabUnique[0].';'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL;
|
||||
} else {
|
||||
echo count($tabUnique).';'.$entrep['REF'].';000000000;;'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL;
|
||||
}
|
||||
// die();//
|
||||
/* if (count($tabTrouve)==1) {
|
||||
$entrepT=$tabTrouve[0];
|
||||
$siren=substr($entrepT['Siret'],0,9);
|
||||
$nic=substr($entrepT['Siret'],9,5);
|
||||
echo "$siren $nic\n";
|
||||
//print_r($entrepT);die();
|
||||
/*if ($table['db']<>'jo')
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$siren), "id='".$entrep['id']."'", true) or die($iDb->getLastError());
|
||||
else
|
||||
if (trim($siren)<>'') {
|
||||
$tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true);
|
||||
if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren
|
||||
//$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true);
|
||||
} else
|
||||
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError());
|
||||
// On efface l'information de la table A sirener au cas où !
|
||||
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
|
||||
}
|
||||
} elseif (count($tabTrouve)==0) {
|
||||
echo " Pas de réponse !\n";
|
||||
$tabInsert=array( 'idAnn'=>$entrep['id'],
|
||||
'siren'=>$entrep['sir']);
|
||||
if (!$iDb->insert('bodacc_sirenage', $tabInsert))
|
||||
$iDb->update('bodacc_sirenage', array('siretProposes'=>''), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
|
||||
} else { // Plusieurs siren possibles
|
||||
echo "\n";
|
||||
$siren1=substr($tabTrouve[0]['Siret'],0,9);
|
||||
$nic1=substr($tabTrouve[0]['Siret'],9,5);
|
||||
$sirenDiff=$sirenNomIdem=$sirenAdrIdem=false;
|
||||
$tabSiren=array(0=>0);
|
||||
$tabSiret=array();
|
||||
foreach ($tabTrouve as $j=>$entrepT) {
|
||||
if($j==0) echo "PROBABLES : \n";
|
||||
$siren=substr($entrepT['Siret'],0,9);
|
||||
$nic=substr($entrepT['Siret'],9,5);
|
||||
$tabSiren[]=$siren;
|
||||
$nomT=strtr($entrep['RS'], '/(),-',' ');
|
||||
$adresseT=trim(strtoupper(preg_replace("/[0-9]{1,4}(.*)( R | AV | RUE | AVENUE | BD | BOULEVARD )/i",'',strtr($entrepT['Adresse'], '/(),-',' '))));
|
||||
if (levenshtein($raisonSociale,$nomT)>2) $sirenNomIdem=$siren;
|
||||
if ($siren<>$siren1) $sirenDiff=true;
|
||||
if (levenshtein($adresse,$adresseT)<2) $sirenAdrIdem=$siren;
|
||||
$num=$j+1;
|
||||
echo "$num. $siren $nic, ". $entrepT['Nom'].', '.$entrepT['Nom2'].', '.$entrepT['Enseigne'].', '.$entrepT['Adresse'].', '.$entrepT['CP'].', '.$entrepT['Ville']."\n";
|
||||
$tabSiret[]=$entrepT['Siret'].'-'.$entrepT['Pertinence'];
|
||||
}
|
||||
|
||||
if ($sirenDiff==false) {
|
||||
// Tous les SIREN sont identiques, l'entreprise ttouvée est la bonne !
|
||||
echo "$num. Siren trouvé = $siren (tous les Sirens sont identiques) !\n";
|
||||
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>4, $table['champNicValide']=>0), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError());
|
||||
// On efface l'information de la table A sirener au cas où !
|
||||
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
|
||||
} else {
|
||||
/** On insère en base toutes les multipropositions pour le sirenage manuel
|
||||
$tabInsert=array( 'idAnn'=>$entrep['id'],
|
||||
'siren'=>$entrep['sir'],
|
||||
'siretProposes'=>implode(';',$tabSiret));
|
||||
if ($iDb->insert('bodacc_sirenage', $tabInsert))
|
||||
$iDb->update('bodacc_sirenage', array('siretProposes'=>implode(';',$tabSiret)), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
|
||||
}
|
||||
//, 'id='.$entrep['id'].' AND '. $table['champSiren'] .'='.$entrep['sir'], true) or die(mysql_error());
|
||||
|
||||
/*elseif ($sirenNomIdem!=false) {
|
||||
echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n";
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error());
|
||||
} elseif ($sirenAdrIdem!=false) {
|
||||
echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n";
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem, $table['champSirenValide']=>6), 'id='.$entrep['id'], true) or die(mysql_error());
|
||||
} else
|
||||
{ //if ($semiManuel==true);
|
||||
$saisie='';
|
||||
while($semiManuel==true && $saisie=='') {
|
||||
echo "Veuillez saisir le numéro qui identifie la bonne entreprise (0 si pas de réponse) : ";
|
||||
$saisie = trim(fgets(STDIN));
|
||||
if ($saisie==0) break;
|
||||
elseif ($saisie>0 && $saisie<=$j+1) {
|
||||
$sir=$tabSiren[$saisie];
|
||||
if ($table['db']<>'jo')
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sir), "id='".$entrep['id']."'", true) or die(mysql_error());
|
||||
else
|
||||
$iDb->update($table['table'], array($table['champSiren']=>$sir, $table['champSirenValide']=>2),
|
||||
'id='.$entrep['id'], true) or die(mysql_error());
|
||||
break;
|
||||
}
|
||||
else $saisie='';
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - FIN du programme de SIRENAGE.".EOL;
|
||||
die();
|
||||
?>
|
@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
DATE=`date '+%Y%m%d'`
|
||||
FILE_CSV="006_FR_${DATE}.csv"
|
||||
mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/doEtabAct.sql
|
||||
/var/www/batch/diffusionEntrep.php >> /var/www/log/diffusionEntrep.log
|
@ -1,515 +0,0 @@
|
||||
USE jo;
|
||||
|
||||
DROP TABLE IF EXISTS jo.etablissements_actmp;
|
||||
|
||||
INSERT INTO sdv1.sphinx_idx (nom, createBegin) VALUES ('jo.etablissements_act', NOW());
|
||||
|
||||
# Creation de la structure de la table
|
||||
CREATE TABLE `jo`.`etablissements_actmp` ( `id` bigint( 20 ) NOT NULL,
|
||||
`source` tinyint( 3 ) unsigned zerofill NOT NULL ,
|
||||
`source_id` bigint( 20 ) unsigned NOT NULL ,
|
||||
`triCode` varchar( 6 ) NOT NULL ,
|
||||
`autre_id` varchar( 15 ) NOT NULL ,
|
||||
`siren` int( 9 ) unsigned zerofill NOT NULL ,
|
||||
`nic` mediumint( 5 ) unsigned zerofill NOT NULL,
|
||||
`actif` tinyint( 1 ) unsigned NOT NULL,
|
||||
`siege` tinyint( 1 ) unsigned NOT NULL,
|
||||
`raisonSociale` varchar(80) NOT NULL,
|
||||
`enseigne` varchar(40) NOT NULL,
|
||||
`sigle` varchar(20) NOT NULL,
|
||||
`identite_pre` varchar(255) NOT NULL,
|
||||
`marques` varchar(255) NOT NULL,
|
||||
`adr_num` smallint( 4 ) unsigned zerofill NOT NULL,
|
||||
`adr_btq` char(1) NOT NULL,
|
||||
`adr_typeVoie` char( 4 ) NOT NULL ,
|
||||
`adr_libVoie` varchar( 32 ) NOT NULL ,
|
||||
`adr_comp` varchar( 38 ) NOT NULL ,
|
||||
`adr_cp` mediumint( 5 ) unsigned zerofill NOT NULL ,
|
||||
`adr_ville` varchar( 32 ) NOT NULL ,
|
||||
`adr_dep` char( 3 ) NOT NULL ,
|
||||
`adr_com` smallint( 3 ) unsigned zerofill NOT NULL ,
|
||||
`tel` bigint( 10 ) unsigned zerofill NOT NULL ,
|
||||
`fax` bigint( 10 ) unsigned zerofill NOT NULL ,
|
||||
`cj` smallint( 4 ) unsigned zerofill NOT NULL ,
|
||||
`capital` bigint( 15 ) unsigned zerofill NOT NULL ,
|
||||
`capitalDev` char( 3 ) NOT NULL ,
|
||||
`capitalSrc` tinyint( 3 ) unsigned zerofill NOT NULL ,
|
||||
`ape_etab` char( 5 ) NOT NULL ,
|
||||
`ape_entrep` char( 5 ) NOT NULL ,
|
||||
`age_entrep` tinyint( 3 ) unsigned NOT NULL ,
|
||||
`age_etab` tinyint( 3 ) unsigned NOT NULL ,
|
||||
`tca` tinyint( 1 ) unsigned zerofill NOT NULL ,
|
||||
`tcaexp` tinyint( 1 ) unsigned zerofill NOT NULL ,
|
||||
`teff_entrep` tinyint( 2 ) unsigned NULL ,
|
||||
`teff_etab` tinyint( 2 ) unsigned NULL ,
|
||||
`rang` smallint( 5 ) unsigned NOT NULL ,
|
||||
`dateInsert` datetime NOT NULL ,
|
||||
`dateUpdate` timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (siren,nic) ) ENGINE = MyISAM DEFAULT CHARSET = latin1;
|
||||
|
||||
# Copie de la cible des actifs avec siret valide
|
||||
INSERT IGNORE INTO `jo`.`etablissements_actmp` SELECT * FROM `jo`.`etablissements` WHERE `siren`>0 and `nic`>0 AND actif=1 AND cj NOT IN(1800,2310,2320,2385) ORDER BY siren, nic;
|
||||
#INSERT IGNORE INTO `jo`.`etablissements_actmp` SELECT * FROM `jo`.`etablissements` WHERE `siren`>0 AND `nic`>0 AND ((actif=1 AND cj NOT IN (1800,2310,2320,2385)) OR siren IN (SELECT siren FROM rncs_entrep WHERE actif=1)) ORDER BY siren, nic;
|
||||
|
||||
# Suppression des zones inutiles
|
||||
ALTER TABLE `etablissements_actmp`
|
||||
DROP `dateInsert`,
|
||||
DROP `dateUpdate`;
|
||||
|
||||
# Supprimer les non diffusibles insee
|
||||
DELETE FROM jo.etablissements_actmp WHERE siren in(SELECT siren FROM insee.insee_nondiff WHERE siren NOT IN (SELECT siren FROM jo.rncs_entrep WHERE actif=1));
|
||||
|
||||
# Supprimer les Liquidé Radié en Sommeil
|
||||
DELETE FROM jo.etablissements_actmp WHERE siren IN (SELECT DISTINCT siren FROM jo.annonces WHERE typeEven IN (1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1312, 1313, 1410, 1417, 1420, 1501, 1503, 1530, 2203, 2206, 2211, 2212, 6000, 6001, 6002, 6003, 6004));
|
||||
|
||||
# Suppression des entreprise en cessation juridique Insee
|
||||
DELETE FROM jo.etablissements_actmp WHERE siren IN (SELECT DISTINCT insSIREN FROM insee.insee_even WHERE insEVE IN ('410'));
|
||||
|
||||
# Suppression des etablissements cesses INSEE
|
||||
#DELETE FROM jo.etablissements_actmp LEFT JOIN insee.insee_even ON etablissements_actmp.siren=insee_even.insSIREN AND etablissements_actmp.nic=insee_even.insNIC WHERE insee_even.insEVE IN ('MPF','MNP','430');
|
||||
|
||||
# Supprimer les éblissements hors de France
|
||||
DELETE FROM `etablissements_actmp` WHERE `adr_dep` =99;
|
||||
|
||||
# Suppression des entreprises presentes et inactives au RNCS
|
||||
DELETE FROM `etablissements_actmp` WHERE siren IN (SELECT siren FROM `rncs_entrep` WHERE actif=0);
|
||||
# Suppression des etablissements presents et inactifs au RNCS
|
||||
DELETE etablissements_actmp FROM etablissements_actmp LEFT JOIN rncs_etab ON etablissements_actmp.siren=rncs_etab.siren AND etablissements_actmp.nic=rncs_etab.nic WHERE rncs_etab.actif=0;
|
||||
|
||||
# Ajouter les zones dirigants PP PM, bilans, achpost ?
|
||||
ALTER TABLE etablissements_actmp
|
||||
ADD nomCommercial VARCHAR(200) NOT NULL,
|
||||
ADD web VARCHAR(100) NOT NULL,
|
||||
ADD mail VARCHAR(100) NOT NULL,
|
||||
ADD isin VARCHAR(12) NOT NULL,
|
||||
ADD adrDom TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD lieuAct TINYINT(2) UNSIGNED NOT NULL,
|
||||
ADD explen TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD explet TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD actifEco TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD presentRcs TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD procolHisto TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD tvaIntraCle TINYINT(2) UNSIGNED ZEROFILL NULL DEFAULT NULL,
|
||||
ADD tvaIntraValide TINYINT(1) UNSIGNED NULL DEFAULT NULL,
|
||||
ADD ape4_etab CHAR(4) NOT NULL,
|
||||
ADD ape4_entrep CHAR(4) NOT NULL,
|
||||
ADD NaceEtab CHAR(5) NOT NULL,
|
||||
ADD NaceEntrep CHAR(5) NOT NULL,
|
||||
ADD dateCrea_etab INT(8) UNSIGNED NOT NULL,
|
||||
ADD dateCrea_ent INT(8) UNSIGNED NOT NULL,
|
||||
ADD dateImmat INT(8) UNSIGNED NOT NULL,
|
||||
ADD eff_entrep MEDIUMINT(7) NOT NULL,
|
||||
ADD eff_etab MEDIUMINT(7) NOT NULL,
|
||||
ADD distSP VARCHAR(38) NOT NULL,
|
||||
ADD achPost VARCHAR(38) NOT NULL,
|
||||
ADD codeCommune CHAR(5) NOT NULL,
|
||||
ADD rivoli CHAR(5) NOT NULL,
|
||||
ADD l93_x INT(7) UNSIGNED NULL,
|
||||
ADD l93_y INT(7) UNSIGNED NULL,
|
||||
ADD alt MEDIUMINT(9) NULL,
|
||||
ADD precis TINYINT(1) NULL,
|
||||
ADD zus CHAR(10) NULL,
|
||||
ADD zru CHAR(10) NULL,
|
||||
ADD zfu CHAR(10) NULL,
|
||||
ADD cucs CHAR(10) NULL,
|
||||
ADD zrr TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD zafr TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD dirCiv VARCHAR(4) NOT NULL,
|
||||
ADD dirNom VARCHAR(20) NOT NULL,
|
||||
ADD dirPrenom VARCHAR(30) NOT NULL,
|
||||
ADD dirDateNaiss DATE NOT NULL,
|
||||
ADD dirFct SMALLINT(4) UNSIGNED ZEROFILL NOT NULL,
|
||||
ADD nbEtab MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD nbMPubli MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD nbMarques MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD nbAnnAsso MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD sirenGrp INT(9) UNSIGNED ZEROFILL NULL DEFAULT NULL,
|
||||
ADD nbActio MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD nbPart MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
ADD bilType ENUM('I','E','R') NOT NULL DEFAULT 'I',
|
||||
ADD bilAnnee YEAR NOT NULL,
|
||||
ADD bilCloture DATE NOT NULL,
|
||||
ADD bilDuree TINYINT(2) UNSIGNED NOT NULL,
|
||||
ADD bilTca TINYINT(1) UNSIGNED NOT NULL,
|
||||
ADD bilEE BIGINT(13) NOT NULL,
|
||||
ADD bilFL BIGINT(13) NOT NULL,
|
||||
ADD bilFK BIGINT(13) NOT NULL,
|
||||
ADD bilFR BIGINT(13) NOT NULL,
|
||||
ADD bilGF BIGINT(13) NOT NULL,
|
||||
ADD bilGP BIGINT(13) NOT NULL,
|
||||
ADD bilGU BIGINT(13) NOT NULL,
|
||||
ADD bilGW BIGINT(13) NOT NULL,
|
||||
ADD bilHD BIGINT(13) NOT NULL,
|
||||
ADD bilHH BIGINT(13) NOT NULL,
|
||||
ADD bilHL BIGINT(13) NOT NULL,
|
||||
ADD bilHM BIGINT(13) NOT NULL,
|
||||
ADD bilHN BIGINT(13) NOT NULL,
|
||||
ADD bilYP INT(8) NOT NULL,
|
||||
ADD avisCs TINYINT(2) UNSIGNED ZEROFILL NULL DEFAULT NULL,
|
||||
ADD risque TINYINT(1) UNSIGNED NOT NULL;
|
||||
|
||||
# Ajout des codes ISIN
|
||||
UPDATE jo.etablissements_actmp, sdv1.bourse_isin SET etablissements_actmp.isin=sdv1.code_isin WHERE etablissements_actmp.siren=bourse_isin.siren AND bourse_isin.siren>1000;
|
||||
|
||||
# Ajout du code Cedex + ville
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
insSIREN INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
insNIC MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
insL6_POST VARCHAR(38) NOT NULL,
|
||||
PRIMARY KEY (insSIREN,insNIC)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT insSIREN, insNIC, insL6_POST
|
||||
FROM insee.insee_notices b1
|
||||
WHERE b1.dateNotice = (
|
||||
SELECT MAX( b2.dateNotice )
|
||||
FROM insee.insee_notices b2
|
||||
WHERE b1.insSIREN = b2.insSIREN
|
||||
AND b1.insNIC = b2.insNIC
|
||||
AND b2.insL6_POST LIKE '%CEDEX%' );
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.achPost=tmp.insL6_POST WHERE etablissements_actmp.siren=tmp.insSIREN AND etablissements_actmp.nic=tmp.insNIC;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout des codes NAF4
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
ape4_etab CHAR(4) NOT NULL,
|
||||
ape4_entrep CHAR(4) NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
INSERT IGNORE INTO `jo`.`tmp` SELECT siren, nic, apet4, apen4 FROM `insee`.`bascule`;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.ape4_etab=tmp.ape4_etab, etablissements_actmp.ape4_entrep=tmp.ape4_entrep
|
||||
WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic;
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout du nombre d'éblissements Actifs
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nbEtab MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`siren`)
|
||||
);
|
||||
INSERT IGNORE INTO tmp SELECT siren, COUNT(*) as nbEtab FROM etablissements_actmp GROUP BY siren HAVING nbEtab>1;
|
||||
UPDATE etablissements_actmp SET nbEtab=1;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbEtab=tmp.nbEtab WHERE etablissements_actmp.siren=tmp.siren;
|
||||
DROP TABLE tmp;
|
||||
|
||||
|
||||
# Ajout de la distribution spéale, de la civilitées PP, des effectifs et date de créion éb
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
distSP VARCHAR(38) NOT NULL,
|
||||
civ TINYINT(1) UNSIGNED NOT NULL,
|
||||
effEn INT(6) UNSIGNED NOT NULL,
|
||||
effEt INT(6) UNSIGNED NOT NULL,
|
||||
dateCrea_etab INT(8) UNSIGNED NOT NULL,
|
||||
dateCrea_ent INT(8) UNSIGNED NOT NULL,
|
||||
rivoli CHAR(5) NOT NULL,
|
||||
actifEco TINYINT(1) UNSIGNED NOT NULL,
|
||||
lieuAct TINYINT(2) UNSIGNED NOT NULL,
|
||||
codeCommune CHAR(5) NOT NULL,
|
||||
explen TINYINT(1) UNSIGNED NOT NULL,
|
||||
explet TINYINT(1) UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
INSERT IGNORE INTO jo.tmp
|
||||
SELECT SIREN, NIC, ADR_DISTSP, IF( CIVILITE=2,'MME',IF(CIVILITE=1,'M','')) AS CIVILITE, EFF_ENT, EFF_ET,
|
||||
IF(DCRET>19000000,IF(DCRET%100>0,DCRET,DCRET+1),0) AS DCRET,
|
||||
IF(DCREN>19000000,IF(DCREN%100>0,DCREN,DCREN+1),0) AS DCREN,
|
||||
CODEVOIE, actifEco, LIEUACT, CONCAT(ADR_DEP,ADR_COM) AS codeCommune,
|
||||
IF(EXPLEN='O',1,0) AS EXPLEN,
|
||||
IF(EXPLET='O',1,0) AS EXPLET FROM insee.identite WHERE ACTIF%10=1;
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET
|
||||
etablissements_actmp.distSP=tmp.distSP,
|
||||
etablissements_actmp.dirCiv=tmp.civ,
|
||||
etablissements_actmp.eff_entrep=tmp.effEn,
|
||||
etablissements_actmp.eff_etab=tmp.effEt,
|
||||
etablissements_actmp.dateCrea_etab=tmp.dateCrea_etab,
|
||||
etablissements_actmp.dateCrea_ent=tmp.dateCrea_ent,
|
||||
etablissements_actmp.rivoli=tmp.rivoli,
|
||||
etablissements_actmp.actifEco=tmp.actifEco,
|
||||
etablissements_actmp.lieuAct=tmp.lieuAct,
|
||||
etablissements_actmp.codeCommune=tmp.codeCommune,
|
||||
etablissements_actmp.explen=tmp.explen,
|
||||
etablissements_actmp.explet=tmp.explet
|
||||
WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout du Téphone si manquant
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
tel INT(10) UNSIGNED ZEROFILL NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, nic, telephone
|
||||
FROM jo.telephonie b1
|
||||
WHERE b1.dateInsert = (
|
||||
SELECT MAX(b2.dateInsert)
|
||||
FROM jo.telephonie b2
|
||||
WHERE b1.siren = b2.siren
|
||||
AND b1.nic = b2.nic
|
||||
AND b2.typeTel='tel');
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.tel=tmp.tel WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic AND etablissements_actmp.tel=0;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
|
||||
# Ajout du Fax si manquant
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
tel INT(10) UNSIGNED ZEROFILL NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, nic, telephone
|
||||
FROM jo.telephonie b1
|
||||
WHERE b1.dateInsert = (
|
||||
SELECT MAX(b2.dateInsert)
|
||||
FROM jo.telephonie b2
|
||||
WHERE b1.siren = b2.siren
|
||||
AND b1.nic = b2.nic
|
||||
AND b2.typeTel='fax');
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.fax=tmp.tel WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic AND etablissements_actmp.fax=0;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout du site Web et du mail
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
web VARCHAR(100) NOT NULL,
|
||||
mail VARCHAR(100) NOT NULL,
|
||||
PRIMARY KEY (siren)
|
||||
);
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, web, mail FROM infos_entrep;
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.web=tmp.web, etablissements_actmp.mail=tmp.mail WHERE etablissements_actmp.siren=tmp.siren;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout du Web si manquant
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
web VARCHAR(100) NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, nic, infoTel
|
||||
FROM jo.telephonie b1
|
||||
WHERE b1.dateInsert = (
|
||||
SELECT MAX(b2.dateInsert)
|
||||
FROM jo.telephonie b2
|
||||
WHERE b1.siren = b2.siren
|
||||
AND b1.nic = b2.nic
|
||||
AND b2.typeTel='web');
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.web=tmp.web WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic AND etablissements_actmp.web='';
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Ajout du Mail si manquant
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nic MEDIUMINT(5) UNSIGNED ZEROFILL NOT NULL,
|
||||
mail VARCHAR(100) NOT NULL,
|
||||
PRIMARY KEY (siren,nic)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, nic, infoTel
|
||||
FROM jo.telephonie b1
|
||||
WHERE b1.dateInsert = (
|
||||
SELECT MAX(b2.dateInsert)
|
||||
FROM jo.telephonie b2
|
||||
WHERE b1.siren = b2.siren
|
||||
AND b1.nic = b2.nic
|
||||
AND b2.typeTel='mail');
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.mail=tmp.mail WHERE etablissements_actmp.siren=tmp.siren AND etablissements_actmp.nic=tmp.nic AND etablissements_actmp.mail='';
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
|
||||
# Ajout de la civilitédu nom et du prém du principal dirigeant
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
dirCiv CHAR(4) NOT NULL,
|
||||
dirNom CHAR(20) NOT NULL,
|
||||
dirPrenom CHAR(30) NOT NULL,
|
||||
dirDateNaiss DATE NOT NULL,
|
||||
dirFct SMALLINT(4) UNSIGNED ZEROFILL NOT NULL,
|
||||
PRIMARY KEY (siren)
|
||||
);
|
||||
INSERT IGNORE INTO jo.tmp SELECT DISTINCT siren, civilite, nom, prenom, naissance_date, fonction_code
|
||||
FROM jo.rncs_dirigeants b1
|
||||
WHERE b1.fonction_code = (
|
||||
SELECT MAX(b2.fonction_code)
|
||||
FROM jo.rncs_dirigeants b2
|
||||
WHERE b1.siren = b2.siren
|
||||
AND b2.actif=1
|
||||
AND b2.nom<>''
|
||||
AND b2.fonction_code BETWEEN 200 AND 2000);
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.dirCiv=tmp.dirCiv, etablissements_actmp.dirNom=tmp.dirNom, etablissements_actmp.dirPrenom=tmp.dirPrenom, etablissements_actmp.dirDateNaiss=tmp.dirDateNaiss, etablissements_actmp.dirFct=tmp.dirFct WHERE etablissements_actmp.siren=tmp.siren;
|
||||
DROP TABLE tmp;
|
||||
|
||||
UPDATE etablissements_actmp, rncs_entrep SET
|
||||
etablissements_actmp.dirNom=rncs_entrep.nom,
|
||||
etablissements_actmp.dirPrenom=rncs_entrep.prenom,
|
||||
etablissements_actmp.dirDateNaiss=rncs_entrep.dateNaiss,
|
||||
etablissements_actmp.dirFct=1050
|
||||
WHERE etablissements_actmp.siren=rncs_entrep.siren
|
||||
AND rncs_entrep.actif=1
|
||||
AND etablissements_actmp.dirNom=''
|
||||
AND rncs_entrep.nom<>''
|
||||
AND rncs_entrep.cj<2000;
|
||||
|
||||
# Ajout de la date d'immatriculation
|
||||
UPDATE etablissements_actmp, greffes_identite SET
|
||||
etablissements_actmp.dateImmat=greffes_identite.dateCreation*1
|
||||
WHERE etablissements_actmp.siren=greffes_identite.siren;
|
||||
UPDATE etablissements_actmp, rncs_entrep SET
|
||||
etablissements_actmp.dateImmat=rncs_entrep.dateImma*1
|
||||
WHERE etablissements_actmp.siren=rncs_entrep.siren;
|
||||
|
||||
# Ajout de la présence dans le répertoire RCS
|
||||
UPDATE etablissements_actmp, rncs_entrep SET
|
||||
etablissements_actmp.presentRcs=1
|
||||
WHERE etablissements_actmp.siren=rncs_entrep.siren;
|
||||
|
||||
# Ajout du nomCommercial
|
||||
UPDATE etablissements_actmp, rncs_etab SET
|
||||
etablissements_actmp.nomCommercial=rncs_etab.nomCommercial
|
||||
WHERE etablissements_actmp.siren=rncs_etab.siren AND etablissements_actmp.nic=rncs_etab.nic;
|
||||
|
||||
# Ajout des enseignes RNCS absentes de l'INSEE
|
||||
UPDATE etablissements_actmp, rncs_etab SET
|
||||
etablissements_actmp.enseigne=rncs_etab.enseigne
|
||||
WHERE etablissements_actmp.siren=rncs_etab.siren AND etablissements_actmp.nic=rncs_etab.nic AND etablissements_actmp.enseigne='';
|
||||
|
||||
# Ajout des sigles RNCS absents de l'INSEE
|
||||
UPDATE etablissements_actmp, rncs_entrep SET
|
||||
etablissements_actmp.sigle=rncs_entrep.sigle
|
||||
WHERE etablissements_actmp.siren=rncs_entrep.siren AND etablissements_actmp.sigle='';
|
||||
|
||||
# Ajout des numéros de TVA
|
||||
UPDATE jo.etablissements_actmp, sdv1.siren_tva SET etablissements_actmp.tvaIntraValide=1, etablissements_actmp.tvaIntraCle=siren_tva.cle
|
||||
WHERE etablissements_actmp.siren=siren_tva.siren AND siren_tva.cle IS NOT NULL;
|
||||
UPDATE jo.etablissements_actmp, sdv1.siren_tva SET etablissements_actmp.tvaIntraValide=0
|
||||
WHERE etablissements_actmp.siren=siren_tva.siren AND siren_tva.cle IS NULL;
|
||||
|
||||
# Ajout de l'indicateur Présence de Procol dans l'historique
|
||||
UPDATE etablissements_actmp, rncs_jugements SET
|
||||
etablissements_actmp.procolHisto=1
|
||||
WHERE etablissements_actmp.siren=rncs_jugements.siren;
|
||||
UPDATE etablissements_actmp, annonces SET
|
||||
etablissements_actmp.procolHisto=1
|
||||
WHERE etablissements_actmp.siren=annonces.siren AND etablissements_actmp.procolHisto=0 AND annonces.typeEven BETWEEN 1000 AND 1999;
|
||||
|
||||
# Ajout de la cote spéciale GE
|
||||
UPDATE jo.etablissements_actmp, sdv1.ge_cs2
|
||||
SET etablissements_actmp.avisCs=REPLACE(REPLACE(REPLACE(REPLACE(ge_cs2.cs,'I','10'),'P','15'),'D','39'),'T','43')
|
||||
WHERE etablissements_actmp.siren=ge_cs2.siren AND (ge_cs2.dateSuppr=0 OR ge_cs2.dateConf>ge_cs2.dateSuppr)
|
||||
AND (ge_cs2.dateFin=0 OR ge_cs2.dateFin>NOW()) AND ge_cs2.cs NOT IN (20,22,27,33,34);
|
||||
|
||||
# Ajout du niveau de risque
|
||||
UPDATE etablissements_actmp SET risque=1 WHERE siren IN (SELECT siren FROM scores_surveillance WHERE indiScore<40);
|
||||
UPDATE etablissements_actmp SET risque=1 WHERE avisCs IN (10, 11, 12, 13, 15, 16, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 50);
|
||||
UPDATE etablissements_actmp SET risque=1 WHERE procolHisto=1;
|
||||
UPDATE etablissements_actmp SET risque=1 WHERE actifEco=0 AND siege=1 AND (cj<3000 OR cj>9000);
|
||||
UPDATE etablissements_actmp SET risque=0 WHERE siren IN (SELECT siren FROM scores_surveillance WHERE indiScore>39);
|
||||
|
||||
# Ajout du nombre d'actionnaires et de participations actives
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
nbEntrep MEDIUMINT(5) UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (siren)
|
||||
);
|
||||
INSERT IGNORE INTO tmp SELECT siren1 AS siren, COUNT(*) AS nbEntrep FROM liens WHERE siren1>10000 AND actif=1 AND ActionPart=1 GROUP BY siren;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbActio=tmp.nbEntrep WHERE etablissements_actmp.siren=tmp.siren;
|
||||
TRUNCATE TABLE tmp;
|
||||
INSERT IGNORE INTO tmp SELECT siren1 AS siren, COUNT(*) AS nbEntrep FROM liens WHERE siren1>10000 AND actif=1 AND ActionPart=2 GROUP BY siren;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbPart=tmp.nbEntrep WHERE etablissements_actmp.siren=tmp.siren;
|
||||
TRUNCATE TABLE tmp;
|
||||
|
||||
# Ajout du nombre de marchés publics gagnés
|
||||
INSERT IGNORE INTO tmp SELECT siren, COUNT(*) AS nbEntrep FROM boamp_lots WHERE siren>10000 GROUP BY siren;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbMPubli=tmp.nbEntrep WHERE etablissements_actmp.siren=tmp.siren;
|
||||
TRUNCATE TABLE tmp;
|
||||
|
||||
# Ajout du nombre de marques
|
||||
INSERT IGNORE INTO tmp SELECT sirenDeposant AS siren, COUNT(*) AS nbEntrep FROM bopi.marques WHERE sirenDeposant>10000 GROUP BY sirenDeposant;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbMarques=tmp.nbEntrep WHERE etablissements_actmp.siren=tmp.siren;
|
||||
TRUNCATE TABLE tmp;
|
||||
|
||||
# Ajout du nombre d'annonces JO Associations
|
||||
INSERT IGNORE INTO tmp SELECT siren, COUNT(*) AS nbEntrep FROM asso WHERE siren>10000 GROUP BY siren;
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.nbAnnAsso=tmp.nbEntrep WHERE etablissements_actmp.siren=tmp.siren;
|
||||
TRUNCATE TABLE tmp;
|
||||
DROP TABLE tmp;
|
||||
|
||||
# Jonction temporaire des tables zonage et zonageXY
|
||||
CREATE TABLE tmp
|
||||
SELECT x.address, x.rivoli, x.l93_x, x.l93_y, x.alt, x.precis, x.adrNum, x.adrIndRep, x.adrTypeVoie, x.adrLibVoie, x.adr_cp, x.adr_ville, z.zus, z.zru, z.zfu, z.cucs
|
||||
FROM zonageXY x
|
||||
LEFT JOIN zonage z ON x.address=z.address AND x.adr_cp=z.adr_cp AND x.adr_ville=z.adr_ville
|
||||
WHERE x.l93_x IS NOT NULL AND x.precis>5 AND x.l93_x>0 AND x.l93_y>0 AND x.address<>'0000' AND x.adr_cp<>'' AND x.adr_cp<>'00000';
|
||||
ALTER TABLE tmp ADD INDEX (adrNum,adrIndRep,adrTypeVoie,adrLibVoie,adr_cp,adr_ville);
|
||||
# Mise à jour des Lamberts, de l'altitude et des zones Prioritaires
|
||||
UPDATE etablissements_actmp, tmp
|
||||
SET etablissements_actmp.l93_x =tmp.l93_x,
|
||||
etablissements_actmp.l93_y =tmp.l93_y,
|
||||
etablissements_actmp.alt =tmp.alt,
|
||||
etablissements_actmp.precis=tmp.precis,
|
||||
etablissements_actmp.zus =tmp.zus,
|
||||
etablissements_actmp.zru =tmp.zru,
|
||||
etablissements_actmp.zfu =tmp.zfu,
|
||||
etablissements_actmp.cucs =tmp.cucs
|
||||
WHERE etablissements_actmp.adr_num =tmp.adrNum AND
|
||||
etablissements_actmp.adr_btq =tmp.adrIndRep AND
|
||||
etablissements_actmp.adr_typeVoie=tmp.adrTypeVoie AND
|
||||
etablissements_actmp.adr_libVoie =tmp.adrLibVoie AND
|
||||
etablissements_actmp.adr_cp =tmp.adr_cp AND
|
||||
etablissements_actmp.adr_ville =tmp.adr_ville;
|
||||
DROP TABLE tmp;
|
||||
# Ajout des marqueurs ZRR et ZAFR
|
||||
UPDATE etablissements_actmp, zonageInsee
|
||||
SET etablissements_actmp.zrr=1
|
||||
WHERE etablissements_actmp.codeCommune=zonageInsee.codeInsee AND zonageInsee.typeZone='ZRR';
|
||||
UPDATE etablissements_actmp, zonageInsee
|
||||
SET etablissements_actmp.zafr=1
|
||||
WHERE etablissements_actmp.codeCommune=zonageInsee.codeInsee AND zonageInsee.typeZone='ZAFR' AND canton=0;
|
||||
|
||||
# Correction du capital si absent (Alsace, Moselle, DOM...)
|
||||
CREATE /*TEMPORARY*/ TABLE jo.tmp (
|
||||
siren INT(9) UNSIGNED ZEROFILL NOT NULL,
|
||||
DA BIGINT(20) UNSIGNED NOT NULL,
|
||||
dateExercice INT(8) UNSIGNED ZEROFILL NOT NULL,
|
||||
PRIMARY KEY (siren,dateExercice)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO jo.tmp
|
||||
SELECT siren, DA, dateExercice FROM bilans_postes WHERE siren IN (
|
||||
SELECT siren FROM etablissements_actmp WHERE cj>=2000 AND capital=0 AND capitalDev IN ('','EUR') AND presentRcs=1
|
||||
) ORDER BY siren ASC, dateExercice DESC;
|
||||
|
||||
UPDATE etablissements_actmp, tmp SET etablissements_actmp.capital=tmp.DA WHERE etablissements_actmp.siren=tmp.siren;
|
||||
|
||||
DROP TABLE tmp;
|
||||
|
||||
|
||||
# Les controles et zones issue des bilans seront proposees lors de l'extraction !
|
||||
ALTER TABLE etablissements_actmp
|
||||
ADD INDEX idxEntrepApeCA(siege,ape_entrep,bilFL),
|
||||
ADD INDEX idxEntrepApeCommune(siege,ape_entrep,adr_dep,adr_com),
|
||||
ADD INDEX idxSirenGrpSiege(sirenGrp,siege),
|
||||
ADD INDEX idxRangSiege(rang,siege);
|
@ -1 +0,0 @@
|
||||
mysql -h192.168.3.30 -pscores -N jo < /var/www/batch/clients/exportKompassRisque.sql > /home/data/clients/kompass/sdKompassRisques.txt
|
@ -1,4 +0,0 @@
|
||||
SELECT CONCAT(siren, REPLACE(REPLACE(risque,1,'C'),0,' ')) as LigneRisque
|
||||
FROM etablissements_act
|
||||
WHERE cj NOT IN (1900, 6540, 9110, 9150) AND siege=1
|
||||
ORDER BY siren ASC;
|
@ -1,45 +0,0 @@
|
||||
2012-10-08-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
0 0 0 /home/data/ftp/creditsafe/recv/col20121008.txt
|
||||
2012-10-08-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-09-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
0 0 0 /home/data/ftp/creditsafe/recv/col20121009.txt
|
||||
2012-10-09-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-10-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
274 7563 51565 /home/data/ftp/creditsafe/recv/col20121010.txt
|
||||
2012-10-10-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-11-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
356 10982 74419 /home/data/ftp/creditsafe/recv/col20121011.txt
|
||||
2012-10-11-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-12-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
372 11653 79551 /home/data/ftp/creditsafe/recv/col20121012.txt
|
||||
2012-10-12-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-13-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
397 11746 79537 /home/data/ftp/creditsafe/recv/col20121013.txt
|
||||
2012-10-13-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-14-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
189 4812 32875 /home/data/ftp/creditsafe/recv/col20121014.txt
|
||||
2012-10-14-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-15-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
0 0 0 /home/data/ftp/creditsafe/recv/col20121015.txt
|
||||
2012-10-15-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
||||
2012-10-16-00-12 - Début de l'export des procédures collectives pour CreditSafe...
|
||||
Nombre de jugements exportés :
|
||||
16 377 2637 /home/data/ftp/creditsafe/recv/col20121016.txt
|
||||
2012-10-16-00-12 - Fin de l'export des procédures collectives pour CreditSafe.
|
||||
|
@ -1,3 +0,0 @@
|
||||
SELECT siren AS RCS, typeEven as CODE_EVEN, raisonSociale as RAISON_SOCIALE, adresse AS ADRESSE1, CONCAT_WS(' ',codePostal,ville) AS ADRESSE2, dateJugement AS DATE_JUG, CONCAT_WS('/',inter1nom,inter2nom,inter3nom) AS MANDATAIRE, tribunal AS TRIBUNAL, DATE(dateInsert) AS DATE_FRAICHEUR
|
||||
FROM annonces
|
||||
WHERE (idSaisie >0 OR inter1id >0 OR inter2id >0 OR inter3id >0) AND date(dateInsert)>20081001;
|
@ -1,31 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
define('DIR_FTP_RECOCASH', '/home/data/ftp/recocash');
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération du/des flux Recocash...".EOL;
|
||||
$dh = opendir(DIR_FTP_RECOCASH);
|
||||
$ret=0;
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if (substr($filename,0,1)<>'.' && strtolower(substr($filename, -4)<>'.txt')) {
|
||||
$filename=DIR_FTP_RECOCASH.'/'.$filename;
|
||||
$dateHeure=date('YmdHis', filectime($filename));
|
||||
$fpR=fopen($filename, 'r');
|
||||
$fpW=fopen($filename.'.sdin', 'w');
|
||||
echo date('Y/m/d - H:i:s') ." - Conversion du fichier $filename".EOL;
|
||||
while (!feof($fpR)) {
|
||||
$ligneR = fgets($fpR);
|
||||
$siren=substr($ligneR,0,9);
|
||||
$ref=substr($ligneR,9,10);
|
||||
$ligneW='CLI'.$dateHeure.'0000000000SURBODPRDFTSRECOCASH ';
|
||||
$ligneW.=' '.$siren;
|
||||
$ligneW.=' ';
|
||||
$ligneW.=$ref.EOL;
|
||||
fwrite($fpW, $ligneW);
|
||||
}
|
||||
fclose($fpR);
|
||||
fclose($fpW);
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la récupération du/des flux Recocash...".EOL;
|
||||
?>
|
@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
cd /var/www/batch/clients
|
||||
DATE=`date '+%Y%m%d'`
|
||||
DATEHEURE=`date '+%Y-%m-%d-%H-%I'`
|
||||
echo -n "${DATEHEURE} - Début du chargement de la téléphonie ARCEP...
|
||||
"
|
||||
wget -N http://www.arcep.fr/fileadmin/reprise/dossiers/numero/liste-op-dec-num.xls
|
||||
xls2csv -x liste-op-dec-num.xls -c liste-op-dec-num.csv
|
||||
echo -n "Nombre d'opérateurs :
|
||||
"
|
||||
wc liste-op-dec-num.csv
|
||||
/var/www/batch/loadCSV.php -e -s=, -d=telephonie -t=operateurs_tmp liste-op-dec-num.csv
|
||||
wget -N http://www.arcep.fr/fileadmin/wopnum.xls
|
||||
xls2csv -x wopnum.xls -c wopnum.csv
|
||||
echo -n "Nombre d'indicatifs :
|
||||
"
|
||||
wc wopnum.csv
|
||||
/var/www/batch/loadCSV.php -e -s=, -d=telephonie -t=indicatifs_tmp wopnum.csv
|
||||
DATEHEURE=`date '+%Y-%m-%d-%H-%I'`
|
||||
echo -n "${DATEHEURE} - Fin du chargement de la téléphonie ARCEP.
|
||||
"
|
@ -1,15 +0,0 @@
|
||||
adding: 006_FR_20121014.csv (deflated 75%)
|
||||
Connected to ftp.giant-net.com (62.58.14.80).
|
||||
220 Microsoft FTP Service
|
||||
331 Password required for ftp_sd_fr.
|
||||
230 User ftp_sd_fr logged in.
|
||||
200 Type set to I.
|
||||
Local directory now /var/www/batch/clients
|
||||
local: 006_FR_20121014.tmp remote: 006_FR_20121014.tmp
|
||||
227 Entering Passive Mode (62,58,14,80,7,116).
|
||||
125 Data connection already open; Transfer starting.
|
||||
226 Transfer complete.
|
||||
257334860 bytes sent in 619 secs (4.1e+02 Kbytes/sec)
|
||||
350 File exists, ready for destination name
|
||||
250 RNTO command successful.
|
||||
221
|
File diff suppressed because one or more lines are too long
@ -1,4 +0,0 @@
|
||||
/var/www/batch/exportKompass.php -1
|
||||
/var/www/batch/exportKompass.php -3
|
||||
/var/www/batch/exportKompass.php -4
|
||||
###/var/www/batch/exportKompass.php -5
|
@ -1,94 +0,0 @@
|
||||
2012/10/08 - 00:46:06 - Il y a 152159 siren Kompass en Presta 5...
|
||||
2012/10/08 - 01:00:49 - 1000/152159 siren traites...
|
||||
2012/10/08 - 01:14:56 - 2000/152159 siren traites...
|
||||
2012/10/08 - 01:28:41 - 3000/152159 siren traites...
|
||||
2012/10/08 - 01:42:28 - 4000/152159 siren traites...
|
||||
2012/10/08 - 01:56:37 - 5000/152159 siren traites...
|
||||
2012/10/08 - 02:11:43 - 6000/152159 siren traites...
|
||||
2012/10/08 - 02:30:33 - 7000/152159 siren traites...
|
||||
2012/10/08 - 02:47:06 - 8000/152159 siren traites...
|
||||
2012/10/08 - 03:03:32 - 9000/152159 siren traites...
|
||||
2012/10/08 - 03:19:35 - 10000/152159 siren traites...
|
||||
2012/10/08 - 03:35:14 - 11000/152159 siren traites...
|
||||
2012/10/08 - 03:50:48 - 12000/152159 siren traites...
|
||||
2012/10/08 - 04:06:43 - 13000/152159 siren traites...
|
||||
2012/10/08 - 04:21:37 - 14000/152159 siren traites...
|
||||
2012/10/08 - 04:39:19 - 15000/152159 siren traites...
|
||||
2012/10/08 - 04:57:05 - 16000/152159 siren traites...
|
||||
2012/10/08 - 05:15:00 - 17000/152159 siren traites...
|
||||
2012/10/08 - 05:33:22 - 18000/152159 siren traites...
|
||||
2012/10/08 - 05:51:16 - 19000/152159 siren traites...
|
||||
2012/10/08 - 06:05:50 - 20000/152159 siren traites...
|
||||
2012/10/08 - 06:20:24 - 21000/152159 siren traites...
|
||||
2012/10/08 - 06:34:55 - 22000/152159 siren traites...
|
||||
2012/10/08 - 06:49:26 - 23000/152159 siren traites...
|
||||
2012/10/08 - 07:04:15 - 24000/152159 siren traites...
|
||||
2012/10/08 - 07:19:03 - 25000/152159 siren traites...
|
||||
2012/10/08 - 07:33:38 - 26000/152159 siren traites...
|
||||
2012/10/08 - 07:48:09 - 27000/152159 siren traites...
|
||||
2012/10/08 - 08:02:47 - 28000/152159 siren traites...
|
||||
2012/10/08 - 08:17:51 - 29000/152159 siren traites...
|
||||
2012/10/08 - 08:32:53 - 30000/152159 siren traites...
|
||||
2012/10/08 - 08:48:07 - 31000/152159 siren traites...
|
||||
2012/10/08 - 09:02:45 - 32000/152159 siren traites...
|
||||
2012/10/08 - 09:17:56 - 33000/152159 siren traites...
|
||||
2012/10/08 - 09:32:35 - 34000/152159 siren traites...
|
||||
2012/10/08 - 09:47:48 - 35000/152159 siren traites...
|
||||
2012/10/08 - 10:02:27 - 36000/152159 siren traites...
|
||||
2012/10/08 - 10:17:37 - 37000/152159 siren traites...
|
||||
2012/10/08 - 10:32:17 - 38000/152159 siren traites...
|
||||
2012/10/08 - 10:48:36 - 39000/152159 siren traites...
|
||||
2012/10/08 - 11:04:52 - 40000/152159 siren traites...
|
||||
2012/10/08 - 11:20:01 - 41000/152159 siren traites...
|
||||
2012/10/08 - 11:34:46 - 42000/152159 siren traites...
|
||||
2012/10/08 - 11:49:51 - 43000/152159 siren traites...
|
||||
2012/10/08 - 12:04:29 - 44000/152159 siren traites...
|
||||
2012/10/08 - 12:19:39 - 45000/152159 siren traites...
|
||||
2012/10/08 - 12:34:13 - 46000/152159 siren traites...
|
||||
2012/10/08 - 12:49:25 - 47000/152159 siren traites...
|
||||
2012/10/08 - 13:04:02 - 48000/152159 siren traites...
|
||||
2012/10/08 - 13:19:14 - 49000/152159 siren traites...
|
||||
2012/10/08 - 13:33:52 - 50000/152159 siren traites...
|
||||
2012/10/08 - 13:49:04 - 51000/152159 siren traites...
|
||||
2012/10/08 - 14:03:41 - 52000/152159 siren traites...
|
||||
2012/10/08 - 14:19:01 - 53000/152159 siren traites...
|
||||
2012/10/08 - 14:33:39 - 54000/152159 siren traites...
|
||||
2012/10/08 - 14:48:49 - 55000/152159 siren traites...
|
||||
2012/10/08 - 15:03:24 - 56000/152159 siren traites...
|
||||
2012/10/08 - 15:18:39 - 57000/152159 siren traites...
|
||||
2012/10/08 - 15:33:14 - 58000/152159 siren traites...
|
||||
2012/10/08 - 15:48:36 - 59000/152159 siren traites...
|
||||
2012/10/08 - 16:03:17 - 60000/152159 siren traites...
|
||||
2012/10/08 - 16:18:27 - 61000/152159 siren traites...
|
||||
2012/10/08 - 16:33:01 - 62000/152159 siren traites...
|
||||
2012/10/08 - 16:48:03 - 63000/152159 siren traites...
|
||||
2012/10/08 - 17:02:35 - 64000/152159 siren traites...
|
||||
2012/10/08 - 17:17:38 - 65000/152159 siren traites...
|
||||
2012/10/08 - 17:32:08 - 66000/152159 siren traites...
|
||||
2012/10/08 - 17:47:12 - 67000/152159 siren traites...
|
||||
2012/10/08 - 18:01:42 - 68000/152159 siren traites...
|
||||
2012/10/08 - 18:16:39 - 69000/152159 siren traites...
|
||||
2012/10/08 - 18:31:33 - 70000/152159 siren traites...
|
||||
2012/10/08 - 18:47:13 - 71000/152159 siren traites...
|
||||
2012/10/08 - 19:01:41 - 72000/152159 siren traites...
|
||||
2012/10/08 - 19:16:49 - 73000/152159 siren traites...
|
||||
2012/10/08 - 19:31:21 - 74000/152159 siren traites...
|
||||
2012/10/08 - 19:46:57 - 75000/152159 siren traites...
|
||||
2012/10/08 - 20:01:36 - 76000/152159 siren traites...
|
||||
2012/10/08 - 20:16:41 - 77000/152159 siren traites...
|
||||
2012/10/08 - 20:31:27 - 78000/152159 siren traites...
|
||||
2012/10/08 - 20:46:39 - 79000/152159 siren traites...
|
||||
2012/10/08 - 21:01:14 - 80000/152159 siren traites...
|
||||
2012/10/08 - 21:18:08 - 81000/152159 siren traites...
|
||||
2012/10/08 - 21:34:45 - 82000/152159 siren traites...
|
||||
2012/10/08 - 21:51:17 - 83000/152159 siren traites...
|
||||
2012/10/08 - 22:07:52 - 84000/152159 siren traites...
|
||||
2012/10/08 - 22:22:52 - 85000/152159 siren traites...
|
||||
2012/10/08 - 22:37:23 - 86000/152159 siren traites...
|
||||
2012/10/08 - 22:51:51 - 87000/152159 siren traites...
|
||||
2012/10/08 - 23:06:26 - 88000/152159 siren traites...
|
||||
2012/10/08 - 23:20:52 - 89000/152159 siren traites...
|
||||
2012/10/08 - 23:35:18 - 90000/152159 siren traites...
|
||||
2012/10/08 - 23:49:45 - 91000/152159 siren traites...
|
||||
2012/10/09 - 00:04:45 - 92000/152159 siren traites...
|
||||
2012/10/09 - 00:19:45 - 93000/152159 siren traites...
|
@ -1,42 +0,0 @@
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status Table is already up to date
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
sdv1.siren_tva optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
sdv1.siren_tva optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
sdv1.siren_tva optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
sdv1.siren_tva optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
sdv1.siren_tva optimize status OK
|
||||
Table Op Msg_type Msg_text
|
||||
jo.bodacc_sirenage optimize status Table is already up to date
|
||||
Table Op Msg_type Msg_text
|
||||
jo.greffes_requetes optimize status OK
|
@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
DATE=`date '+%Y%m%d'`
|
||||
FILE_CSV="006_FR_${DATE}.csv"
|
||||
/var/www/batch/repriseActivite.php >> /var/www/log/repriseActivite.log
|
||||
mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/proceduresQ.sql
|
@ -1,112 +0,0 @@
|
||||
# Création de la table SQL pour les liens Actionnaires rapides
|
||||
DROP TABLE IF EXISTS liensFast;
|
||||
|
||||
CREATE TABLE liensFast (
|
||||
sirenFille int(9) unsigned zerofill NOT NULL,
|
||||
pct double NOT NULL,
|
||||
sirenMere int(9) unsigned zerofill NOT NULL,
|
||||
UNIQUE KEY sirenFille(sirenFille,pct,sirenMere),
|
||||
KEY sirenMere(sirenMere)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT IGNORE INTO liensFast
|
||||
SELECT Siren1 AS sirenFille, Pmin AS pct, Siren2 AS sirenMere
|
||||
FROM liens
|
||||
WHERE Siren1 BETWEEN 10000 AND 999999000 AND actif=1
|
||||
AND ActionPart=1 AND (Pmin>50 OR MajMin='+') AND Siren2 BETWEEN 10000 AND 999999000;
|
||||
|
||||
|
||||
# Création de la table des montants des ventes
|
||||
DROP TABLE IF EXISTS scores_ventes;
|
||||
|
||||
CREATE TABLE scores_ventes
|
||||
SELECT id, siren, nic, Bodacc_Date_Parution, Tribunal_Code, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, activite, typeEven, commentaires, dateEffet, publicationNom, publicationDate, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, VenteMt, VenteDev, bienAcqui, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoAdrNum, oppoAdrIndRep, oppoAdrTypVoie, oppoAdrLibVoie, oppoAdrComp, oppoCP, oppoVille, perimetre, dateInsert, dateUpdate
|
||||
FROM bodacc_detail
|
||||
WHERE VenteMt>0 AND siren>0 AND dateSuppr=0
|
||||
ORDER BY id ASC;
|
||||
|
||||
ALTER TABLE scores_ventes
|
||||
ADD nafEn CHAR( 5 ) NOT NULL AFTER nic,
|
||||
ADD nafEt CHAR( 5 ) NOT NULL AFTER nafEn,
|
||||
ADD codeCommune CHAR( 5 ) NOT NULL AFTER nafEt,
|
||||
ADD INDEX idxSiret (siren, nic);
|
||||
|
||||
UPDATE jo.scores_ventes, insee.identite
|
||||
SET scores_ventes.nafEn=identite.APE_ENT,
|
||||
scores_ventes.nafEt=identite.APE_ETAB,
|
||||
scores_ventes.codeCommune=CONCAT(IF(identite.ADR_DEP<10,CONCAT('0',identite.ADR_DEP*1),identite.ADR_DEP),identite.ADR_COM)
|
||||
WHERE scores_ventes.siren>1000 AND scores_ventes.nic>9 AND
|
||||
scores_ventes.siren=identite.SIREN AND scores_ventes.nic=identite.NIC;
|
||||
/*
|
||||
UPDATE jo.scores_ventes, insee.identite
|
||||
SET scores_ventes.nafEn=identite.APE_ENT,
|
||||
scores_ventes.nafEt=identite.APE_ETAB,
|
||||
scores_ventes.codeCommune=CONCAT(IF(identite.ADR_DEP<10,CONCAT('0',identite.ADR_DEP*1),identite.ADR_DEP),identite.ADR_COM)
|
||||
WHERE scores_ventes.siren>1000 AND scores_ventes.nic=0 AND
|
||||
scores_ventes.siren=identite.SIREN AND identite.SIEGE=1 AND identite.ACTIF=1;
|
||||
*/
|
||||
UPDATE jo.scores_ventes, insee.identite
|
||||
SET scores_ventes.nafEn=identite.APE_ENT,
|
||||
scores_ventes.nafEt=identite.APE_ETAB,
|
||||
scores_ventes.codeCommune=CONCAT(IF(identite.ADR_DEP<10,CONCAT('0',identite.ADR_DEP*1),identite.ADR_DEP),identite.ADR_COM)
|
||||
WHERE scores_ventes.siren>1000 AND scores_ventes.nic=0 AND
|
||||
scores_ventes.siren=identite.SIREN AND scores_ventes.codePostal=identite.ADR_CP;
|
||||
|
||||
ALTER TABLE scores_ventes
|
||||
ADD INDEX idxNafEtCommune (nafEt, codeCommune, Bodacc_Date_Parution, VenteMt, VenteDev),
|
||||
ADD INDEX idxNafEnCommune (nafEn, codeCommune, Bodacc_Date_Parution, VenteMt, VenteDev);
|
||||
|
||||
|
||||
# Création de la table des entreprises les plus consultées
|
||||
DROP TABLE IF EXISTS jo.rangSiren;
|
||||
|
||||
CREATE TABLE jo.rangSiren (
|
||||
siren int(9) unsigned zerofill NOT NULL,
|
||||
`rang` mediumint unsigned NOT NULL,
|
||||
PRIMARY KEY (siren)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT IGNORE INTO jo.rangSiren
|
||||
SELECT siren, COUNT(*) AS `rang`
|
||||
FROM sdv1.`logs`
|
||||
WHERE page='identite' AND siren<>0 GROUP BY siren ORDER BY `rang` DESC;
|
||||
|
||||
# Liste des Activites BODACC
|
||||
DROP TABLE IF EXISTS bodacc_activite;
|
||||
CREATE TABLE bodacc_activite
|
||||
SELECT siren, activite
|
||||
FROM activiteReel
|
||||
WHERE siren>1000
|
||||
GROUP BY siren
|
||||
HAVING MAX(dateSource);
|
||||
# Ajout d'un index pour les jointures
|
||||
ALTER TABLE bodacc_activite ADD PRIMARY KEY(siren);
|
||||
# Ajout de l'APE entreprise
|
||||
ALTER TABLE bodacc_activite ADD apen5 CHAR(5) NOT NULL AFTER siren;
|
||||
UPDATE bodacc_activite, etablissements
|
||||
SET bodacc_activite.apen5=etablissements.ape_entrep
|
||||
WHERE bodacc_activite.siren=etablissements.siren AND etablissements.actif=1 AND etablissements.siege=1;
|
||||
# Ajout de l'activite FT
|
||||
ALTER TABLE bodacc_activite ADD an8 INT(8) UNSIGNED ZEROFILL NOT NULL AFTER apen5;
|
||||
UPDATE bodacc_activite, telephonie
|
||||
SET bodacc_activite.an8=telephonie.telephone
|
||||
WHERE bodacc_activite.siren=telephonie.siren AND telephonie.typeTel='an8';
|
||||
|
||||
|
||||
### Purges diverses
|
||||
|
||||
# Suppression des requêtes TVA sans réponses
|
||||
DELETE FROM sdv1.siren_tva WHERE duree>14 AND cle IS NULL;
|
||||
OPTIMIZE TABLE sdv1.siren_tva;
|
||||
|
||||
# Optimisation de bodacc_sirenage
|
||||
OPTIMIZE TABLE bodacc_sirenage;
|
||||
|
||||
# Historisation des requêtes XML Infogreffe (hors bilans saisit)
|
||||
INSERT IGNORE INTO historiques.greffes_requetes
|
||||
SELECT *
|
||||
FROM jo.greffes_requetes
|
||||
WHERE dateRequete<DATE(NOW()) AND NOT (TYPE='BS' AND `option`<>'' AND codeErreur='');
|
||||
DELETE FROM greffes_requetes WHERE dateRequete<DATE(NOW()) AND NOT (TYPE='BS' AND `option`<>'' AND codeErreur='');
|
||||
OPTIMIZE TABLE greffes_requetes;
|
||||
|
@ -1,6 +0,0 @@
|
||||
ftp -inv ftp.giant-net.com<<ENDFTP
|
||||
user ftp_sd_fr Choucroute
|
||||
bin
|
||||
put $1
|
||||
bye
|
||||
ENDFTP
|
@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
DATE=`date '+%Y%m%d'`
|
||||
FILE1_CSV="Corporama_Sed_${DATE}.csv"
|
||||
FILE1_ZIP="Corporama_Sed_${DATE}.csv.gz"
|
||||
FILE2_CSV="Corporama_Sed_DIR_${DATE}.csv"
|
||||
FILE2_ZIP="Corporama_Sed_DIR_${DATE}.csv.gz"
|
||||
mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/stockCorporama.sql > /var/www/batch/clients/$FILE1_CSV
|
||||
gzip /var/www/batch/clients/$FILE1_CSV
|
||||
mv /var/www/batch/clients/$FILE1_ZIP /home/data/ftp/corporama/recv/$FILE1_ZIP
|
||||
mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/stockCorporamaDir.sql > /var/www/batch/clients/$FILE2_CSV
|
||||
gzip /var/www/batch/clients/$FILE2_CSV
|
||||
mv /var/www/batch/clients/$FILE2_ZIP /home/data/ftp/corporama/recv/$FILE2_ZIP
|
||||
|
@ -1,10 +0,0 @@
|
||||
DROP TABLE IF EXISTS tmp.corporama;
|
||||
CREATE TABLE tmp.corporama
|
||||
SELECT concat(e.siren,nic) AS siret, e.siren, siege, raisonSociale, enseigne, sigle, substring(cj,1,2) as fj, if(adr_num<>0, adr_num*1,'') as adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, bilType, bilAnnee, bilTca, teff_entrep, dateCrea_ent, ape_entrep, IF(capitalDev<>'', CONCAT(capital*1,' ',capitalDev),'') AS capital, REPLACE(tel,'0000000000','') AS tel, REPLACE(fax,'0000000000','') AS fax, REPLACE(web,'http://http://','http://') AS web, activite
|
||||
FROM jo.etablissements_act e
|
||||
LEFT JOIN jo.bodacc_activite ON e.siren=bodacc_activite.siren
|
||||
WHERE e.siren>10000 AND e.nic BETWEEN 10 AND 98000 AND e.cj NOT IN (0,1000,1400,1500,1600,1700,1800,1900,2100,2110,2200,2210,2220,2300,2310,2385,2900)
|
||||
AND (presentRcs=1 OR e.cj BETWEEN 7000 AND 7999 OR e.cj IN(8310,8311,9110,9150,9220,9221,9223,9224,9230,9260,9300)) AND LENGTH(e.ape_entrep)=5;
|
||||
ALTER TABLE tmp.corporama ADD INDEX idxSiren(siren);
|
||||
SELECT siret, siege, raisonSociale, enseigne, sigle, fj, adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, bilType, bilAnnee, bilTca, teff_entrep, dateCrea_ent, ape_entrep, capital, tel, fax, web, activite
|
||||
FROM tmp.corporama;
|
@ -1,3 +0,0 @@
|
||||
SELECT siren, nom, prenom, fonction_code
|
||||
FROM jo.rncs_dirigeants
|
||||
WHERE actif=1 AND nom<>'' AND siren IN (SELECT DISTINCT siren FROM tmp.corporama);
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
JOUR=`date '+%w'`
|
||||
if [ $JOUR!=0 ] ; then
|
||||
echo "Nous ne sommes pas un dimanche"
|
||||
exit
|
||||
fi
|
||||
DATE=`date '+%Y%m%d'`
|
||||
FILE_CSV="Kadeal_Sed_${DATE}.csv"
|
||||
FILE_ZIP="Kadeal_Sed_${DATE}.zip"
|
||||
FILE_TMP="Kadeal_Sed_${DATE}.tmp"
|
||||
mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/stockKadeal.sql > /var/www/batch/clients/$FILE_CSV
|
||||
#bzip2 < /var/www/batch/clients/$FILE_CSV > /var/www/batch/clients/$FILE_TMP
|
||||
zip -jDm /var/www/batch/clients/$FILE_ZIP /var/www/batch/clients/$FILE_CSV
|
||||
#mv /var/www/batch/clients/$FILE_ZIP /var/www/batch/clients/$FILE_TMP
|
||||
ftp -inv ftp.kadeal.com<<ENDFTP
|
||||
user kadeal-sds wlGsNXqttq
|
||||
bin
|
||||
lcd /var/www/batch/clients/
|
||||
cd import
|
||||
put $FILE_ZIP
|
||||
bye
|
||||
ENDFTP
|
||||
#rename $FILE_TMP $FILE_ZIP
|
@ -1,23 +0,0 @@
|
||||
# Preparation Dump Kadeal
|
||||
DROP TABLE IF EXISTS dump_kadeal;
|
||||
CREATE TABLE dump_kadeal
|
||||
SELECT e.siren, e.nic, CONCAT(e.siren,e.nic) AS siret, e.siege, e.raisonSociale, e.enseigne, e.sigle, e.marques,
|
||||
e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie,
|
||||
REPLACE(TRIM(CONCAT(REPLACE(e.adr_num,'0000',''),' ',e.adr_btq,' ',e.adr_typeVoie,' ',e.adr_libVoie)),'|','') AS adresse1,
|
||||
e.adr_comp AS adresse2, e.distSP AS adresse3, e.achPost AS adresse4, e.adr_cp, e.adr_ville,
|
||||
REPLACE( e.tel, '0000000000', '' ) AS tel, REPLACE( e.fax, '0000000000', '' ) AS fax,
|
||||
mail, REPLACE(web,'http://','') AS web, e.ape_entrep AS NAF,
|
||||
e.bilTca AS tca, '' AS tcaconso, e.bilAnnee AS datebilan, e.eff_entrep,
|
||||
CONCAT( e.dirCiv, ' ', e.dirNom, ' ', e.dirPrenom ) AS dirigeant1, e.dirFct AS dirigeant1fct,
|
||||
'' AS dirigeant2, '' AS dirigeant2fct
|
||||
FROM etablissements_act e
|
||||
WHERE e.actif=1 AND e.siren>1000 AND e.cj NOT IN (0,1000,1400,1500,1600,1700,1800,1900,2100,2110,2200,2210,2220,2300,2310,2385,2900,6540,6541)
|
||||
AND e.cj<7000 AND LENGTH(e.ape_entrep)=5;
|
||||
ALTER TABLE dump_kadeal ADD INDEX idxSiren(siren);
|
||||
|
||||
SELECT siret, siege, raisonSociale, enseigne, sigle, marques,
|
||||
adr_num, adr_btq, adr_typeVoie, adr_libVoie, adresse1, adresse2, adresse3, adresse4, adr_cp, adr_ville,
|
||||
tel, fax, mail, /*web,*/ NAF, tca, tcaconso, datebilan, eff_entrep, dirigeant1, dirigeant1fct,
|
||||
dirigeant2, dirigeant2fct, activite
|
||||
FROM dump_kadeal e
|
||||
LEFT JOIN bodacc_activite ON e.siren=bodacc_activite.siren;
|
@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
DATE=`date '+%Y%m%d'`
|
||||
FILE_CSV="Kadeal_Sed_${DATE}.csv"
|
||||
FILE_ZIP="Kadeal_Sed_${DATE}.bz2"
|
||||
FILE_TMP="Kadeal_Sed_${DATE}.tmp"
|
||||
#mysql -h192.168.3.30 -pscores jo < /var/www/batch/clients/stockKadealExport.sql > /var/www/batch/clients/$FILE_CSV
|
||||
#bzip2 < /var/www/batch/clients/$FILE_CSV > /var/www/batch/clients/$FILE_TMP
|
||||
#zip -jDm /var/www/batch/clients/$FILE_ZIP /var/www/batch/clients/$FILE_CSV
|
||||
#mv /var/www/batch/clients/$FILE_ZIP /var/www/batch/clients/$FILE_TMP
|
||||
ftp -inv ftp.kadeal.com<<ENDFTP
|
||||
user kadeal-sds wlGsNXqttq
|
||||
bin
|
||||
lcd /var/www/batch/clients/
|
||||
cd import
|
||||
put $FILE_ZIP
|
||||
bye
|
||||
ENDFTP
|
||||
#rename $FILE_TMP $FILE_ZIP
|
@ -1,6 +0,0 @@
|
||||
SELECT siret, siege, raisonSociale, enseigne, sigle, marques,
|
||||
adr_num, adr_btq, adr_typeVoie, adr_libVoie, adresse1, adresse2, adresse3, adresse4, adr_cp, adr_ville,
|
||||
tel, fax, mail, /*web,*/ NAF, tca, tcaconso, datebilan, eff_entrep, dirigeant1, dirigeant1fct,
|
||||
dirigeant2, dirigeant2fct, activite
|
||||
FROM dump_kadeal e
|
||||
LEFT JOIN bodacc_activite ON e.siren=bodacc_activite.siren;
|
@ -1,47 +0,0 @@
|
||||
; Informations sur la commune
|
||||
depLu="-{}-1-11-{}-"
|
||||
comLu="-{}-1-12-{}-"
|
||||
popLu="-{}-1-14-{}-"
|
||||
tailleLu="-{}-3-9-{}-"
|
||||
; Ratio Valeurs Brutes
|
||||
R801="-{}-1-27-{}-";Total des produits de fonctionnement=A
|
||||
R802="-{}-1-32-{}-"; Dont impôts locaux
|
||||
R803="-{}-1-38-{}-"; Autres impots & taxes
|
||||
R804="-{}-1-44-{}-"; dotation globale de fonctionnement
|
||||
R805="-{}-1-50-{}-";Total des charges de fonctionnement=B
|
||||
R806="-{}-1-55-{}-"; dont charges de personnel
|
||||
R807="-{}-1-61-{}-"; Achats et charges externes
|
||||
R808="-{}-1-67-{}-"; charges financières
|
||||
R809="-{}-1-73-{}-"; contingents
|
||||
R810="-{}-1-79-{}-"; subventions versées
|
||||
R811="-{}-1-85-{}-";Résultat comptable A-B=R
|
||||
R812="-{}-1-96-{}-";Total des resources d'investissement=C
|
||||
R813="-{}-1-101-{}-"; Dont emprunts bancaires et dettes assimilées
|
||||
R814="-{}-1-107-{}-"; subventions recues
|
||||
R815="-{}-1-113-{}-"; FCTVA
|
||||
R816="-{}-1-73-{}-"; retour des biens affectés ?????? TOUS À "73" LIGNE 3373 ??????????????????????????
|
||||
R817="-{}-1-125-{}-";TOTAL DES EMPLOIS D'INVESTISSEMENT=D
|
||||
R818="-{}-1-130-{}-"; dont dépenses d'équipement
|
||||
R819="-{}-1-136-{}-"; remboursement d'emprunts et dettes
|
||||
R820="-{}-1-73-{}-"; charges a répartir
|
||||
R821="-{}-1-73-{}-"; immobilisations affectées
|
||||
R822="-{}-1-154-{}-";Besoin ou capacité de financement =D-C
|
||||
R823="-{}-1-159-{}-"; en+ solde des opérations pour le compte de tiers
|
||||
R824="-{}-1-164-{}-";'='besoin ou capacité de financement de la section investissement=E
|
||||
R825="-{}-1-44-{}-";Résultat d'ensemble = R=E
|
||||
R826="-{}-1-44-{}-";excédent brut de fonctionnement
|
||||
R827="-{}-1-44-{}-";Capacité d'autofinancement CAF
|
||||
R828="-{}-1-44-{}-";CAF nette du remboursement en capital des emprunts
|
||||
R829="-{}-1-44-{}-";Encours total de la dette au 31/12
|
||||
R830="-{}-1-44-{}-";annuité de la dette
|
||||
R831="-{}-1-44-{}-";FONDS DE ROULEMENT
|
||||
R832="-{}-1-44-{}-";Taxe d'habitation(base)
|
||||
R833="-{}-1-44-{}-";Taxe foncière sur les propriété baties(base)
|
||||
R834="-{}-1-44-{}-";Taxe foncière sur les propriété non baties(base)
|
||||
R835="-{}-1-44-{}-";Cotisation foncière des entreprises
|
||||
R836="-{}-1-44-{}-";Taxe d'habitation(tx & produits)
|
||||
R837="-{}-1-44-{}-";Taxe foncière sur les propriété baties(tx & produits)
|
||||
R838="-{}-1-44-{}-";Taxe foncière sur les propriété non baties(tx & produits)
|
||||
R839="-{}-1-44-{}-";Compensation relai 2010(tx & produits)
|
||||
R840="-{}-1-44-{}-";cotis fonc au profit état 2010(tx & produits)
|
||||
R841="-{}-1-44-{}-";potentiel fiscal
|
@ -1,11 +0,0 @@
|
||||
; Informations sur la commune
|
||||
depLu="-{}-1-11-{}-"
|
||||
comLu="-{}-1-12-{}-"
|
||||
popLu="-{}-1-14-{}-"
|
||||
tailleLu="-{}-3-9-{}-"
|
||||
; Ratio Valeurs Brutes
|
||||
R801="-{}-1-27-{}-"
|
||||
R802="-{}-1-32-{}-"
|
||||
R803="-{}-1-38-{}-"
|
||||
R804="-{}-1-44-{}-";blabla
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,170 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Programme automatique de consolidation des annonces Bodacc.
|
||||
|
||||
Options :
|
||||
-f Récupération des informations dirigeants en IG/FP*
|
||||
-i:XXX Reprendre à la ligne XXX
|
||||
|
||||
(*) Options non encore opérationnelles !
|
||||
";
|
||||
$semiManuel=$sansPropo=$toutes=$index=false;
|
||||
|
||||
$mInsee=new MInsee();
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 's':
|
||||
$semiManuel=true;
|
||||
break;
|
||||
case 'p':
|
||||
$sansPropo=true;
|
||||
break;
|
||||
case 'a':
|
||||
$toutes=true;
|
||||
break;
|
||||
case 'i':
|
||||
$index=trim(substr($argv[$i],3));
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de post traitement des annonces BODACC...".EOL;
|
||||
$iDb=new WDB('jo');
|
||||
$iDbInsee=new WDB('insee');
|
||||
/*
|
||||
$nbPP=$iDbInsee->select('identite', 'SIREN, NOM, CIVILITE, DIR_IDEN, DIR_DATEN, DIR_LIEUN', "(CJ BETWEEN 10 AND 19 OR CJ BETWEEN 1000 AND 1999) AND DIR_IDEN <> '' AND (DIR_DATEN<>0 OR DIR_LIEUN <> '') GROUP BY SIREN",false,MYSQL_ASSOC,true);
|
||||
$dateInsert=date('YmdHis');
|
||||
while ($tab=$iDbInsee->fetch(MYSQL_ASSOC)) {
|
||||
$siren=$tab['SIREN']*1;
|
||||
$nom=$prenom=$naissNom='';
|
||||
if ($tab['CIVILITE']==1) $civ='M';
|
||||
elseif ($tab['CIVILITE']==2) { $civ='MME'; $naissNom=strtr($tab['NOM'],'/*',' '); }
|
||||
else $civ='';
|
||||
|
||||
$tabId=explode(' ', $tab['DIR_IDEN']);
|
||||
foreach ($tabId as $mot) {
|
||||
if (strtoupper($mot)==$mot) {
|
||||
$nom.=' '.$mot;
|
||||
$naissNom=str_ireplace($mot,'',$naissNom);
|
||||
}
|
||||
else {
|
||||
$prenom.=' '.$mot;
|
||||
$naissNom=str_ireplace($mot,'',$naissNom);
|
||||
}
|
||||
}
|
||||
$nom=trim($nom);
|
||||
$prenom=trim($prenom);
|
||||
$naissNom=strtoupper(trim($naissNom));
|
||||
$naissDate=$tab['DIR_DATEN'];
|
||||
$naissLieu=trim($tab['DIR_LIEUN']);
|
||||
|
||||
echo $siren.' '.trim($tab['DIR_IDEN'])."\t:\t$civ Nom='$nom', Prenom='$prenom', Usage='$naissNom' né le $naissDate à $naissLieu\t";
|
||||
//echo "?";
|
||||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||||
|
||||
//$civ='M', 'MME', 'MLLE')
|
||||
$tabUpdate=array( 'siren'=>$siren,
|
||||
'raisonSociale'=>strtr($tab['NOM'],'/*',' '),
|
||||
'civilite'=>$civ,
|
||||
'nom'=>$nom,
|
||||
'prenom'=>$prenom,
|
||||
'naissance_nom'=>$naissNom,
|
||||
'naissance_date'=>$naissDate,
|
||||
'naissance_lieu'=>$naissLieu,
|
||||
'fonction_code'=>1050,
|
||||
'fonction_lib'=>'Personne physique',
|
||||
'actif'=>1,
|
||||
'dateInsert'=>$dateInsert);
|
||||
if (!$iDb->insert('rncs_dirigeants', $tabUpdate))
|
||||
echo "ERREUR !!!\n";
|
||||
else
|
||||
echo "OK\n";
|
||||
//die();
|
||||
}
|
||||
*/
|
||||
|
||||
$client = new SoapClient(null, array( 'trace' => 1,
|
||||
'soap_version' => SOAP_1_1,
|
||||
'location' => 'http://localhost/ws/',
|
||||
'uri' => 'http://localhost/',
|
||||
'login' => 'ylenaour',
|
||||
'password' => 'bzh4231*'));
|
||||
|
||||
// Faire tourner en auto ce programme pour l'ensemble des annonces Bodacc à compter du 9 juin 2008
|
||||
|
||||
//$nbBod=$iDb->select('bodacc_detail d LEFT JOIN rncs_dirigeants r ON d.siren=r.siren', 'd.siren, Bodacc_Date_Parution, typeEven, d.raisonSociale, dateJugement',"d.siren>1000 AND
|
||||
/*siren between 490000001 AND 500000000 AND */
|
||||
//r.siren IS NULL AND
|
||||
//Bodacc_Date_Parution>='2008-10-08' AND (
|
||||
// typeEven LIKE '%1500%' OR typeEven LIKE '%1501%' OR typeEven LIKE '%1502%' OR typeEven LIKE '%1503%' OR /* CIA */
|
||||
// typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR /* IG FP */
|
||||
// typeEven LIKE '%2202%' OR typeEven LIKE '%2203%' OR typeEven LIKE '%2204%' or typeEven LIKE '%2210%' /* DISSOLUTION */
|
||||
// )
|
||||
//GROUP BY d.siren
|
||||
//ORDER BY Bodacc_Date_Parution ASC
|
||||
//", true, MYSQL_ASSOC, true);
|
||||
|
||||
$nbBod=$iDb->select('rncs_requetes', 'siren', "siren>1000 AND type='QINF' AND presta=12001 AND strXml NOT LIKE '%Erreur base%'", true, MYSQL_ASSOC, true);
|
||||
|
||||
// 1503 : Cloture de la procedure pour insuffisance d'actif
|
||||
$rec=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL;
|
||||
while ($tab=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
/*$tab2=file('/mnt/samba/partage/production/igfp.csv');
|
||||
/*shuffle($tab2);
|
||||
file_put_contents('/mnt/samba/partage/production/igfp2.csv',implode('', $tab2),FILE_APPEND);*
|
||||
$nbBod=count($tab2);
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL;
|
||||
foreach ($tab2 as $tab) {*/
|
||||
|
||||
$rec++;
|
||||
$siren=$tab['siren']*1;
|
||||
/*if ($siren<>417512753) continue;
|
||||
else die('Rec='.$rec."\n");*/
|
||||
if ($rec<=$index) continue;
|
||||
|
||||
$even=@$tab['typeEven'];
|
||||
$rs=@$tab['raisonSociale'];
|
||||
$dateJuge=@$tab['dateJugement'];
|
||||
|
||||
//print_r($tab);
|
||||
$tdeb=microtime(true);
|
||||
$O = $client->getDirigeants($siren, false);
|
||||
$tfin=microtime(true);
|
||||
$duree=$tfin-$tdeb;
|
||||
$dirs=$O['result'];
|
||||
$nbDirs=count($dirs);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - $rec : Siren $siren, $rs, $even le $dateJuge : $nbDirs dirigeants ($duree)".EOL;
|
||||
if ($nbDirs>0) print_r($dirs);
|
||||
if ($duree>1){
|
||||
echo '...'.EOL;
|
||||
//randsleep(7, 21);//,59);
|
||||
//randsleep(21,59);
|
||||
//randsleep(31,190);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - FIN du programme de post traitement des annonces BODACC.".EOL;
|
||||
die();
|
||||
|
||||
?>
|
@ -1,6 +0,0 @@
|
||||
#VALEUR=$(/var/www/batch/consolideEtab.php)
|
||||
#echo ${VALEUR}
|
||||
#echo $?
|
||||
/var/www/batch/consolideEtab.php
|
||||
searchd
|
||||
indexer --all --rotate
|
@ -1,775 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
/**
|
||||
** @todo
|
||||
**
|
||||
**/
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - DEBUT de la consolidation de la base Etablissements".EOL;
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$all=true;
|
||||
$joAsso=$joBodacc=$baseInsee=$reset=$pageRankOnly=$iGreffe=false;
|
||||
// Compteurs
|
||||
$nbInsertAsso=$nbInsertBod=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=0;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources.
|
||||
Sans aucune options, consolide toutes les sources dernièrement mises à jour.
|
||||
|
||||
Options :
|
||||
-a Consolider seulement le JO association.
|
||||
-b Consolider seulement le Bodacc
|
||||
-i Consolider les infos INSEE
|
||||
-g Consolider les entreprises en provenance des Greffes
|
||||
-m Mettre à jour les données sur les marques
|
||||
-r Reconstruire complètement la base
|
||||
-p traiter uniquement la construction du 'page rank'
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'a':
|
||||
$all=false;
|
||||
$joAsso=true;
|
||||
break;
|
||||
case 'g':
|
||||
$all=false;
|
||||
$iGreffe=true;
|
||||
break;
|
||||
case 'm':
|
||||
$all=false;
|
||||
$iMarques=true;
|
||||
break;
|
||||
case 'b':
|
||||
$all=false;
|
||||
$joBodacc=true;
|
||||
break;
|
||||
case 'i':
|
||||
$all=false;
|
||||
$baseInsee=true;
|
||||
break;
|
||||
case 'r':
|
||||
$reset=true;
|
||||
break;
|
||||
case 'p':
|
||||
$pageRankOnly=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Par défaut, on consolide toutes les sources **/
|
||||
if ($all) {
|
||||
$joAsso=$joBodacc=$baseInsee=$iGreffe=$iMarques=true;
|
||||
}
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
|
||||
if (!$pageRankOnly) {
|
||||
|
||||
$iDb2=new WDB('jo');
|
||||
$iDbInsee=new WDB('insee');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
//if (0==1) {
|
||||
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL;
|
||||
if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;"))
|
||||
die($iDb->getLastError());
|
||||
|
||||
if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
|
||||
`id` bigint(20) NOT NULL auto_increment,
|
||||
`source` tinyint(3) unsigned zerofill NOT NULL,
|
||||
`source_id` bigint(20) unsigned NOT NULL,
|
||||
`triCode` varchar(6) NOT NULL,
|
||||
`autre_id` varchar(15) NOT NULL,
|
||||
`siren` int(9) unsigned zerofill NOT NULL,
|
||||
`nic` mediumint(5) unsigned zerofill NOT NULL,
|
||||
`actif` tinyint(1) NOT NULL,
|
||||
`siege` tinyint(1) unsigned NOT NULL,
|
||||
`raisonSociale` varchar(80) NOT NULL,
|
||||
`enseigne` varchar(40) NOT NULL,
|
||||
`sigle` varchar(20) NOT NULL,
|
||||
`identite_pre` varchar(255) NOT NULL,
|
||||
`marques` varchar(255) NOT NULL,
|
||||
`adr_num` smallint(4) unsigned zerofill NOT NULL,
|
||||
`adr_btq` char(1) NOT NULL,
|
||||
`adr_typeVoie` char(4) NOT NULL,
|
||||
`adr_libVoie` varchar(32) NOT NULL,
|
||||
`adr_comp` varchar(38) NOT NULL,
|
||||
`adr_cp` mediumint(5) unsigned zerofill NOT NULL,
|
||||
`adr_ville` varchar(32) NOT NULL,
|
||||
`adr_dep` smallint(3) unsigned zerofill NOT NULL,
|
||||
`tel` bigint(8) unsigned zerofill NOT NULL,
|
||||
`fax` bigint(8) unsigned zerofill NOT NULL,
|
||||
`cj` smallint(4) unsigned zerofill NOT NULL,
|
||||
`ape_etab` char(5) NOT NULL,
|
||||
`ape_entrep` char(5) NOT NULL,
|
||||
`rang` smallint unsigned zerofill NOT NULL,
|
||||
`dateInsert` datetime NOT NULL,
|
||||
`dateUpdate` timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `source` (`source`,`source_id`),
|
||||
KEY `tel` (`tel`),
|
||||
KEY `fax` (`fax`),
|
||||
KEY `siren` (`siren`,`nic`),
|
||||
KEY `autre_id` (`autre_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
|
||||
die($iDb->getLastError());
|
||||
|
||||
if ($baseInsee) {
|
||||
/*$dateInsert=date('YmdHis');
|
||||
if (!$reset) {
|
||||
$tabTmp=$iDb->select('etablissements_tmp', 'max(source_id)', 'source=2', true);
|
||||
$last_id=$tabTmp[0][0]*1;
|
||||
} else {
|
||||
$last_id=0;
|
||||
$iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true);
|
||||
}*/
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL;
|
||||
|
||||
$retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
|
||||
$nbEtab=$retTmp[0]['nbEtab'];
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL;
|
||||
|
||||
$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif,
|
||||
SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num,
|
||||
ADR_BTQ as adr_btq, ADR_TYPVOIE as adr_typevoie, ADR_LIBVOIE as adr_libvoie, ADR_COMP as adr_comp,
|
||||
ADR_CP as adr_cp, ADR_LIBCOM as adr_ville, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS adr_dep,
|
||||
TEL as tel, FAX as fax, CJ as cj, APE_ETAB as ape_etab, APE_ENT as apen_entrep, 0 as rank, DATE_MAJ as dateInsert,
|
||||
0 as dateUpdate FROM insee.identite");
|
||||
|
||||
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
|
||||
$nbEtab=$retTmp[0]['nbEtab'];
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
|
||||
|
||||
/* $hier=date('YmdHis');
|
||||
$nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true);
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) {
|
||||
$tabEtab=array( 'source'=>2,
|
||||
'source_id'=>$tabSiren['id'],
|
||||
'siren'=>$tabSiren['SIREN'],
|
||||
'nic'=>$tabSiren['NIC'],
|
||||
'triCode'=>'',
|
||||
'autre_id'=>$tabSiren['NUMRC'],
|
||||
'siege'=>$tabSiren['SIEGE'],
|
||||
'raisonSociale'=>$tabSiren['NOM'].$tabSiren['NOM2'],
|
||||
'enseigne'=>$tabSiren['ENSEIGNE'],
|
||||
'sigle'=>$tabSiren['SIGLE'],
|
||||
'adr_num'=>$tabSiren['ADR_NUMVOIE'],
|
||||
'adr_btq'=>$tabSiren['ADR_BTQ'],
|
||||
'adr_typeVoie'=>$tabSiren['ADR_TYPVOIE'],
|
||||
'adr_libVoie'=>$tabSiren['ADR_LIBVOIE'],
|
||||
'adr_comp'=>$tabSiren['ADR_COMP'],
|
||||
'adr_cp'=>$tabSiren['ADR_CP'],
|
||||
'adr_ville'=>$tabSiren['ADR_LIBCOM'],
|
||||
'adr_dep'=>$tabSiren['ADR_DEP'],
|
||||
'tel'=>$tabSiren['TEL'],
|
||||
'fax'=>$tabSiren['FAX'],
|
||||
'cj'=>$tabSiren['CJ'],
|
||||
'ape_etab'=>$tabSiren['APE_ETAB'],
|
||||
'ape_entrep'=>$tabSiren['APE_ENT'],
|
||||
'dateInsert'=>$dateInsert,
|
||||
|
||||
);
|
||||
if (!$iDb->insert('etablissements',$tabEtab))
|
||||
$zerqzfqsd=0;
|
||||
// $iDb->update('etablissements',$tabEtab);
|
||||
}*/
|
||||
}
|
||||
|
||||
if ($joBodacc) {
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL;
|
||||
|
||||
$dateInsert=date('YmdHis');
|
||||
/* if (!$reset) {
|
||||
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1', true);
|
||||
$last_id=$tabTmp[0][0]*1;
|
||||
} else*/ $last_id=0;
|
||||
$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
||||
$cj=$naf='';
|
||||
$dep=floor($tabBodacc['codePostalSiege']/1000);
|
||||
if ($dep>96) $dep=floor($tabBodacc['codePostalSiege']/100);
|
||||
|
||||
$actif=1;
|
||||
$tabEven=explode(';',$tabBodacc['typeEven']);
|
||||
foreach ($tabEven as $even) {
|
||||
$typeEven=$even*1;
|
||||
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
||||
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven==2720) $actif=0;
|
||||
}
|
||||
|
||||
if (trim(@$tabBodacc['adresseSiege'])<>'') {
|
||||
$siege=1;
|
||||
$adr_num=$tabBodacc['adrSiegeNum'];
|
||||
$adr_btq=$tabBodacc['adrSiegeIndRep'];
|
||||
$adr_typeVoie=$tabBodacc['adrSiegeTypVoie'];
|
||||
$adr_libVoie=$tabBodacc['adrSiegeLibVoie'];
|
||||
$adr_comp=trim(strtoupper($tabBodacc['adrSiegeComp1'].' '.$tabBodacc['adrSiegeComp2']));
|
||||
$adr_cp=$tabBodacc['codePostalSiege'];
|
||||
$adr_ville=strtoupper(trim(strtr($tabBodacc['villeSiege'], '{.!}',' ')));
|
||||
} else {
|
||||
$siege=0;
|
||||
$adr_num=$tabBodacc['adrNum'];
|
||||
$adr_btq=$tabBodacc['adrIndRep'];
|
||||
$adr_typeVoie=$tabBodacc['adrTypVoie'];
|
||||
$adr_libVoie=$tabBodacc['adrLibVoie'];
|
||||
$adr_comp=trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2']));
|
||||
$adr_cp=$tabBodacc['codePostal'];
|
||||
$adr_ville=strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' ')));
|
||||
}
|
||||
|
||||
$matches1=$matches2=array();
|
||||
$raisonSociale=trim($tabBodacc['raisonSociale']);
|
||||
if (preg_match("/ Nom d'usage (.*)/i", $raisonSociale, $matches1))
|
||||
$raisonSociale=trim(preg_replace("/ Nom d'usage .*/i", '', $raisonSociale));
|
||||
if (preg_match("/ Pseudonyme (.*)/i", $raisonSociale, $matches2))
|
||||
$raisonSociale=trim(preg_replace("/ Pseudonyme .*/i", '', $raisonSociale));
|
||||
|
||||
if (preg_match("/^S E L A R L /i", $raisonSociale) || preg_match("/ S E L A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S E L A R L','SELARL',$raisonSociale));
|
||||
elseif (preg_match("/^S A R L /i", $raisonSociale) || preg_match("/ S A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A R L','SARL',$raisonSociale));
|
||||
elseif (preg_match("/^S A S /i", $raisonSociale) || preg_match("/ S A S$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
||||
elseif (preg_match("/^S C I /i", $raisonSociale) || preg_match("/ S C I$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
||||
elseif (preg_match("/^S C P /i", $raisonSociale) || preg_match("/ S C P$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C P','SCP',$raisonSociale));
|
||||
elseif (preg_match("/^S N C /i", $raisonSociale) || preg_match("/ S N C$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S N C','SNC',$raisonSociale));
|
||||
elseif (preg_match("/^S A /i", $raisonSociale) || preg_match("/ S A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A','SA',$raisonSociale));
|
||||
elseif (preg_match("/^S C E A /i", $raisonSociale) || preg_match("/ S C E A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C E A','SCEA',$raisonSociale));
|
||||
elseif (preg_match("/^S C A /i", $raisonSociale) || preg_match("/ S C A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C A','SCA',$raisonSociale));
|
||||
elseif (preg_match("/^S C /i", $raisonSociale) || preg_match("/ S C$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C','SC',$raisonSociale));
|
||||
elseif (preg_match("/^E A R L /i", $raisonSociale) || preg_match("/ E A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A R L','EARL',$raisonSociale));
|
||||
elseif (preg_match("/^E A R /i", $raisonSociale) || preg_match("/ E A R$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A R','EAR',$raisonSociale));
|
||||
elseif (preg_match("/^E A /i", $raisonSociale) || preg_match("/ E A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A','EA',$raisonSociale));
|
||||
elseif (preg_match("/^E U R L /i", $raisonSociale) || preg_match("/ E U R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E U R L','EURL',$raisonSociale));
|
||||
|
||||
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.strtoupper($raisonSociale).' ', array(' DENOMINATION '=>' ', ' SUCCESSION '=>' '))));
|
||||
|
||||
$identitePre=trim(@$matches1[1].' '.@$matches1[2]);
|
||||
|
||||
$tabEtab=array( 'source'=>1,
|
||||
'source_id'=>$tabBodacc['id'],
|
||||
'siren'=>$tabBodacc['siren'],
|
||||
'nic'=>$tabBodacc['nic'],
|
||||
'triCode'=>$tabBodacc['Tribunal_Code'],
|
||||
'autre_id'=>$tabBodacc['RC'],
|
||||
'siege'=>$siege,
|
||||
'actif'=>$actif,
|
||||
'raisonSociale'=>$raisonSociale,
|
||||
'enseigne'=>$tabBodacc['enseigne'],
|
||||
'sigle'=>$tabBodacc['sigle'],
|
||||
'identite_pre'=>$identitePre,
|
||||
'adr_num'=>$adr_num,
|
||||
'adr_btq'=>$adr_btq,
|
||||
'adr_typeVoie'=>$adr_typeVoie,
|
||||
'adr_libVoie'=>$adr_libVoie,
|
||||
'adr_comp'=>$adr_comp,
|
||||
'adr_cp'=>$adr_cp,
|
||||
'adr_ville'=>$adr_ville,
|
||||
'adr_dep'=>substr($adr_cp,0,2),
|
||||
'tel'=>'',
|
||||
'fax'=>'',
|
||||
'cj'=>$cj,
|
||||
'ape_etab'=>$naf,
|
||||
'ape_entrep'=>$naf,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
|
||||
$ret=$iDb->insert('etablissements_tmp',$tabEtab);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations BODACC sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else
|
||||
$nbInsertBod++;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
|
||||
|
||||
$dateInsert=date('YmdHis');
|
||||
/* if (!$reset) {
|
||||
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1', true);
|
||||
$last_id=$tabTmp[0][0]*1;
|
||||
} else*/ $last_id=0;
|
||||
$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
//if ($tabBodacc['siren']<>0)
|
||||
// $ret=$iDb2->select('etablissements_tmp', 'count(*)', 'SIREN='.$tabBodacc['siren']);
|
||||
|
||||
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
||||
$cj=$naf='';
|
||||
$dep=floor($tabBodacc['codePostalSiege']/1000);
|
||||
if ($dep>96) $dep=floor($tabBodacc['codePostalSiege']/100);
|
||||
|
||||
$actif=1;
|
||||
$tabEven=explode(';',$tabBodacc['typeEven']);
|
||||
foreach ($tabEven as $even) {
|
||||
$typeEven=$even*1;
|
||||
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
||||
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven==2720) $actif=0;
|
||||
}
|
||||
|
||||
if (@$tabBodacc['adresseSiege']<>'') {
|
||||
$siege=1;
|
||||
$adr_num=$tabBodacc['adrSiegeNum'];
|
||||
$adr_btq=$tabBodacc['adrSiegeIndRep'];
|
||||
$adr_typeVoie=$tabBodacc['adrSiegeTypVoie'];
|
||||
$adr_libVoie=$tabBodacc['adrSiegeLibVoie'];
|
||||
$adr_comp=trim(strtoupper($tabBodacc['adrSiegeComp1'].' '.$tabBodacc['adrSiegeComp2']));
|
||||
$adr_cp=$tabBodacc['codePostalSiege'];
|
||||
$adr_ville=strtoupper(trim(strtr($tabBodacc['villeSiege'], '{.!}',' ')));
|
||||
} else {
|
||||
$siege=0;
|
||||
$adr_num=$tabBodacc['adrNum'];
|
||||
$adr_btq=$tabBodacc['adrIndRep'];
|
||||
$adr_typeVoie=$tabBodacc['adrTypVoie'];
|
||||
$adr_libVoie=$tabBodacc['adrLibVoie'];
|
||||
$adr_comp=trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2']));
|
||||
$adr_cp=$tabBodacc['codePostal'];
|
||||
$adr_ville=strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' ')));
|
||||
}
|
||||
/** Suppression des Noms d'usage et Pseudonymes dans la raison sociale **/
|
||||
$matches1=$matches2=array();
|
||||
$raisonSociale=trim($tabBodacc['raisonSociale']);
|
||||
if (preg_match("/ Nom d'usage (.*)/i", $raisonSociale, $matches1))
|
||||
$raisonSociale=trim(preg_replace("/ Nom d'usage .*/i", '', $raisonSociale));
|
||||
if (preg_match("/ Pseudonyme (.*)/i", $raisonSociale, $matches2))
|
||||
$raisonSociale=trim(preg_replace("/ Pseudonyme .*/i", '', $raisonSociale));
|
||||
|
||||
if (preg_match("/^S E L A R L /i", $raisonSociale) || preg_match("/ S E L A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S E L A R L','SELARL',$raisonSociale));
|
||||
elseif (preg_match("/^S A R L /i", $raisonSociale) || preg_match("/ S A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A R L','SARL',$raisonSociale));
|
||||
elseif (preg_match("/^S A S /i", $raisonSociale) || preg_match("/ S A S$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
||||
elseif (preg_match("/^S C I /i", $raisonSociale) || preg_match("/ S C I$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
||||
elseif (preg_match("/^S C P /i", $raisonSociale) || preg_match("/ S C P$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C P','SCP',$raisonSociale));
|
||||
elseif (preg_match("/^S N C /i", $raisonSociale) || preg_match("/ S N C$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S N C','SNC',$raisonSociale));
|
||||
elseif (preg_match("/^S A /i", $raisonSociale) || preg_match("/ S A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S A','SA',$raisonSociale));
|
||||
elseif (preg_match("/^S C E A /i", $raisonSociale) || preg_match("/ S C E A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C E A','SCEA',$raisonSociale));
|
||||
elseif (preg_match("/^S C A /i", $raisonSociale) || preg_match("/ S C A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C A','SCA',$raisonSociale));
|
||||
elseif (preg_match("/^S C /i", $raisonSociale) || preg_match("/ S C$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('S C','SC',$raisonSociale));
|
||||
elseif (preg_match("/^E A R L /i", $raisonSociale) || preg_match("/ E A R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A R L','EARL',$raisonSociale));
|
||||
elseif (preg_match("/^E A R /i", $raisonSociale) || preg_match("/ E A R$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A R','EAR',$raisonSociale));
|
||||
elseif (preg_match("/^E A /i", $raisonSociale) || preg_match("/ E A$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E A','EA',$raisonSociale));
|
||||
elseif (preg_match("/^E U R L /i", $raisonSociale) || preg_match("/ E U R L$/i", $raisonSociale))
|
||||
$raisonSociale=trim(str_replace('E U R L','EURL',$raisonSociale));
|
||||
|
||||
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.strtoupper($raisonSociale).' ', array(' DENOMINATION '=>' ', ' SUCCESSION '=>' '))));
|
||||
|
||||
$identitePre=trim(@$matches1[1].' '.@$matches1[2]);
|
||||
|
||||
$tabEtab=array( 'source'=>1,
|
||||
'source_id'=>$tabBodacc['id'],
|
||||
'siren'=>$tabBodacc['siren'],
|
||||
'nic'=>$tabBodacc['nic'],
|
||||
'triCode'=>$tabBodacc['Tribunal_Code'],
|
||||
'autre_id'=>$tabBodacc['RC'],
|
||||
'siege'=>$siege,
|
||||
'actif'=>$actif,
|
||||
'raisonSociale'=>$raisonSociale,
|
||||
'enseigne'=>$tabBodacc['enseigne'],
|
||||
'sigle'=>$tabBodacc['sigle'],
|
||||
'identite_pre'=>$identitePre,
|
||||
'adr_num'=>$adr_num,
|
||||
'adr_btq'=>$adr_btq,
|
||||
'adr_typeVoie'=>$adr_typeVoie,
|
||||
'adr_libVoie'=>$adr_libVoie,
|
||||
'adr_comp'=>$adr_comp,
|
||||
'adr_cp'=>$adr_cp,
|
||||
'adr_ville'=>$adr_ville,
|
||||
'adr_dep'=>substr($adr_cp,0,2),
|
||||
'tel'=>'',
|
||||
'fax'=>'',
|
||||
'cj'=>$cj,
|
||||
'ape_etab'=>$naf,
|
||||
'ape_entrep'=>$naf,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
|
||||
$ret=$iDb->insert('etablissements_tmp',$tabEtab);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations BODACC sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else
|
||||
$nbInsertBodNS++;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
|
||||
|
||||
/*
|
||||
$dateInsert=date('YmdHis');
|
||||
if (!$reset) {
|
||||
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1 AND siege=0', true);
|
||||
$last_id=$tabTmp[0][0]*1;
|
||||
} else $last_id=0;
|
||||
$nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true);
|
||||
//
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
if ($tabBodacc['siren']<>0)
|
||||
$ret=$iDb2->select('etablissements', 'count(*)', 'SIREN='.$tabBodacc['siren']);
|
||||
|
||||
if ($ret[0][0]==0 || $tabBodacc['siren']==0) {
|
||||
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
||||
$cj=$naf='';
|
||||
$dep=floor($tabBodacc['codePostal']/1000);
|
||||
if ($dep>96) $dep=floor($tabBodacc['codePostal']/100);
|
||||
|
||||
$actif=1;
|
||||
$tabEven=explode(';',$tabBodacc['typeEven']);
|
||||
foreach ($tabEven as $even) {
|
||||
$typeEven=$even*1;
|
||||
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
||||
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
||||
elseif ($typeEven==2720) $actif=0;
|
||||
}
|
||||
|
||||
$tabEtab=array( 'source'=>1,
|
||||
'source_id'=>$tabBodacc['id'],
|
||||
'siren'=>$tabBodacc['siren'],
|
||||
'nic'=>$tabBodacc['nic'],
|
||||
'triCode'=>$tabBodacc['Tribunal_Code'],
|
||||
'autre_id'=>$tabBodacc['RC'],
|
||||
'siege'=>0,
|
||||
'actif'=>$actif,
|
||||
'raisonSociale'=>$tabBodacc['raisonSociale'],
|
||||
'enseigne'=>$tabBodacc['enseigne'],
|
||||
'sigle'=>'',
|
||||
'adr_num'=>$tabBodacc['adrNum'],
|
||||
'adr_btq'=>$tabBodacc['adrIndRep'],
|
||||
'adr_typeVoie'=>$tabBodacc['adrTypVoie'],
|
||||
'adr_libVoie'=>strtoupper($tabBodacc['adrLibVoie']),
|
||||
'adr_comp'=>trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2'])),
|
||||
'adr_cp'=>$tabBodacc['codePostal'],
|
||||
'adr_dep'=>$dep,
|
||||
'adr_ville'=>strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' '))),
|
||||
'tel'=>'',
|
||||
'fax'=>'',
|
||||
'cj'=>$cj,
|
||||
'ape_etab'=>$naf,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
$iDb->insert('etablissements',$tabEtab);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
if ($joAsso) {
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL;
|
||||
$dateInsert=date('YmdHis');
|
||||
/* if (!$reset) {
|
||||
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
|
||||
$last_id=$tabTmp[0][0]*1;
|
||||
} else*/ $last_id=0;
|
||||
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
/*
|
||||
9110 Syndicat de copropriété
|
||||
9210 Association non déclarée
|
||||
9221 Association déclarée "entreprises d'insertion par l'économique"
|
||||
9222 Association intermédiaire
|
||||
9223 Groupement d'employeurs
|
||||
9230 Association déclarée reconnue d'utilité publique
|
||||
9240 Congrégation
|
||||
*/
|
||||
/** Initialisation des valeurs par défaut
|
||||
**/
|
||||
$naf='';
|
||||
$actif=1;
|
||||
$cj=9220; // Association déclarée
|
||||
|
||||
if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
|
||||
$cj=9150; // ASL
|
||||
$naf='8110Z'; // Activités combinées de soutien lié aux bâtiments
|
||||
}
|
||||
elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
|
||||
$cj=9300; // FONDATION
|
||||
elseif ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68)
|
||||
$cj=9260; // Association de droit local
|
||||
|
||||
if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce']))
|
||||
$actif=0;
|
||||
elseif (preg_match('/Dissolution/i', $tabAsso['Type_Annonce']) && !preg_match('/Annulation/i', $tabAsso['Type_Annonce']))
|
||||
$actif=0;
|
||||
|
||||
if ($naf=='') {
|
||||
if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015
|
||||
$naf='9319Z';//'926C'; // Autres activités sportives
|
||||
elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004
|
||||
$naf='9491Z';//913A'; // Organisations religieuses
|
||||
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
|
||||
$naf='6399Z'; // Autres services d'information n.c.a.
|
||||
elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012
|
||||
$naf='9492Z'; // Activités des organisations politiques
|
||||
elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008
|
||||
$naf='8559B';
|
||||
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
|
||||
$naf='8899B';//853K'; // Autres formes d'action sociale
|
||||
elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010
|
||||
$naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles
|
||||
elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005
|
||||
$naf='9329Z'; // Autres activités récréatives et de loisirs
|
||||
elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005
|
||||
$naf='9003B'; // Autre création artistique
|
||||
else
|
||||
$naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
|
||||
}
|
||||
|
||||
if ($tabAsso['Assoc_NAdresse']<>'')
|
||||
$adr=$iInsee->structureVoie($tabAsso['Assoc_NAdresse']);
|
||||
else
|
||||
$adr=$iInsee->structureVoie($tabAsso['Assoc_Adresse']);
|
||||
$adrComp=strtoupper(@$adr['adrComp0']);
|
||||
if (@$adr['adrComp1']<>'')
|
||||
$adrComp.=' '.strtoupper(@$adr['adrComp1']);
|
||||
|
||||
$raisonSociale=trim($tabAsso['Assoc_Nom']);
|
||||
if ($raisonSociale=='')
|
||||
$raisonSociale=trim($tabAsso['Assoc_ANom']);
|
||||
|
||||
if (preg_match("/^(.*) \((.*)\)$/U", $raisonSociale, $matches)) {
|
||||
$raisonSociale=trim($matches[1]);
|
||||
$sigle=trim(strtr($matches[2],array('.'=>'')));
|
||||
}
|
||||
else
|
||||
$sigle='';
|
||||
|
||||
$tabEtab=array( 'source'=>3,
|
||||
'source_id'=>$tabAsso['id'],
|
||||
'siren'=>$tabAsso['siren'],
|
||||
'nic'=>$tabAsso['nic'],
|
||||
'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
|
||||
'autre_id'=>$tabAsso['Waldec'],
|
||||
'siege'=>1,
|
||||
'actif'=>$actif,
|
||||
'raisonSociale'=>$raisonSociale,
|
||||
'enseigne'=>'',
|
||||
'identite_pre'=>$tabAsso['Assoc_ANom'],
|
||||
'sigle'=>$sigle,
|
||||
'adr_num'=>@$adr['num'],
|
||||
'adr_btq'=>@$adr['indRep'],
|
||||
'adr_typeVoie'=>@$adr['typeVoie'],
|
||||
'adr_libVoie'=>strtoupper(@$adr['libVoie']),
|
||||
'adr_comp'=>$adrComp,
|
||||
'adr_cp'=>@$adr['cp'],
|
||||
'adr_ville'=>trim(strtoupper(@$adr['ville'])),
|
||||
'adr_dep'=>$tabAsso['Departement'],
|
||||
'tel'=>'',
|
||||
'fax'=>'',
|
||||
'cj'=>$cj,
|
||||
'ape_etab'=>$naf,
|
||||
'ape_entrep'=>$naf,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
|
||||
$ret=$iDb->insert('etablissements_tmp',$tabEtab);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations Associations sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else
|
||||
$nbInsertAsso++;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
|
||||
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL;
|
||||
$dateInsert=date('YmdHis');
|
||||
$last_id=0;
|
||||
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL;
|
||||
|
||||
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
|
||||
'autre_id'=>$tabAsso['Waldec'],
|
||||
'identite_pre'=>$tabAsso['Assoc_Nom'],
|
||||
);
|
||||
$ret=$iDb->update('etablissements_tmp',$tabEtab, 'siren='.$tabAsso['siren']);
|
||||
if (!$ret || mysql_errno()<>0) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations Associations sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else
|
||||
$nbUpdateAsso++;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
|
||||
}
|
||||
|
||||
|
||||
if ($iGreffe) {
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL;
|
||||
|
||||
$dateInsert=date('YmdHis');
|
||||
$nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
|
||||
|
||||
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$adr=$iInsee->structureVoie($tabBodacc['adresse']);
|
||||
$adr_cp=@$tabBodacc['cp'];
|
||||
$tabEtab=array( 'source'=>4,
|
||||
'source_id'=>$tabBodacc['id'],
|
||||
'siren'=>$tabBodacc['siren'],
|
||||
'nic'=>0,
|
||||
'triCode'=>$tabBodacc['libGreffe'],//@todo Correspondance Tribunal_Code
|
||||
'autre_id'=>$tabBodacc['numRC'],
|
||||
'siege'=>1,
|
||||
'actif'=>0,
|
||||
'raisonSociale'=>$tabBodacc['nom'],
|
||||
'enseigne'=>$tabBodacc['enseigne'],
|
||||
'sigle'=>'',
|
||||
'identite_pre'=>'',
|
||||
'adr_num'=>@$adr['num'],
|
||||
'adr_btq'=>@$adr['adr_btq'],
|
||||
'adr_typeVoie'=>@$adr['typeVoie'],
|
||||
'adr_libVoie'=>strtoupper(@$adr['libVoie']),
|
||||
'adr_comp'=>'',
|
||||
'adr_cp'=>$adr_cp,
|
||||
'adr_ville'=>strtoupper(@$tabBodacc['ville']),
|
||||
'adr_dep'=>substr($adr_cp,0,2),
|
||||
'tel'=>'',
|
||||
'fax'=>'',
|
||||
'cj'=>$tabBodacc['fj'],
|
||||
'ape_etab'=>$tabBodacc['naf'],
|
||||
'ape_entrep'=>$tabBodacc['naf'],
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
|
||||
$ret=$iDb->insert('etablissements_tmp',$tabEtab);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations GREFFES sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else
|
||||
$nbInsertGreffes++;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
|
||||
}
|
||||
|
||||
|
||||
if ($iMarques) {
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL;
|
||||
|
||||
$nbMarques=$iDb->select('marques', 'Siren, Marques', '1 ORDER BY Siren ASC', false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL;
|
||||
$sirenPre=false;
|
||||
$strMarques='';
|
||||
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$siren =$tabMarques['Siren'];
|
||||
$strMarques.=$tabMarques['Marques'];
|
||||
if ($sirenPre<>$siren && $sirenPre<>false) {
|
||||
/** Il faut mettre à jour l'ensemble des marques pour ce siren **/
|
||||
$tabUpdate=array( 'marques'=>$strMarques );
|
||||
$ret=$iDb->update('etablissements_tmp',$tabUpdate, "siren=$siren");
|
||||
if (!$ret) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations MARQUES sur le siren $siren impossible ($strMarques) !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
} else $nbInsertMarques++;
|
||||
$strMarques='';
|
||||
}
|
||||
$sirenPre=$siren;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL;
|
||||
$tab=array( 'rang'=>0 );
|
||||
$iDb->update('etablissements', $tab, 'siren=0');
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL;
|
||||
$iDbRanks=new WDB('sdv1');
|
||||
$nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren ORDER BY `rang` DESC", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL;
|
||||
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
|
||||
$tab=array( 'rang'=>$tabRank['rang'] );
|
||||
if ($pageRankOnly) $tableEtab='etablissements';
|
||||
else $tableEtab='etablissements_tmp';
|
||||
$iDb->update($tableEtab, $tab, 'siren='.substr($tabRank['siren'],0,9));
|
||||
}
|
||||
|
||||
if (!$pageRankOnly) {
|
||||
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
|
||||
$iDb->query("DROP TABLE jo.etablissements_old;");
|
||||
echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
|
||||
//$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;");
|
||||
//echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
|
||||
//$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;");
|
||||
//echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
|
||||
//echo date ('Y/m/d - H:i:s')." - Lancement de la commande : indexer --all --config /usr/local/etc/sphinx.conf --rotate".EOL;
|
||||
/*$nb=@$nbAsso+@$nbBodS+@$nbBodE;
|
||||
if ($nb>0) die(0);
|
||||
else die(1);*/
|
||||
die();
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,166 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Consolidation des sites Web et Emails disponibles.
|
||||
|
||||
Options :
|
||||
-a Reconsolidation de toute la base des téléphones/fax
|
||||
";
|
||||
$semiManuel=$sansPropo=$toutes=$index=false;
|
||||
|
||||
$mInsee=new MInsee();
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 's':
|
||||
$semiManuel=true;
|
||||
break;
|
||||
case 'p':
|
||||
$sansPropo=true;
|
||||
break;
|
||||
case 'a':
|
||||
$toutes=true;
|
||||
break;
|
||||
case 'i':
|
||||
$index=trim(substr($argv[$i],3));
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme...".EOL;
|
||||
die("SELECT siren, sirenValide, raisonSociale, nomCommercial, enseigne, sigle, activite, typeEven FROM bodacc_detail WHERE activite LIKE '%www.%'
|
||||
OR activite LIKE '%.fr%'
|
||||
OR activite LIKE '%.com%'
|
||||
OR activite LIKE '%.net%'
|
||||
OR activite LIKE '%.info%'
|
||||
OR activite LIKE '%.biz%'
|
||||
OR activite LIKE '%.eu%'
|
||||
OR activite LIKE '%.org%'
|
||||
|
||||
OR raisonSociale LIKE '%www.%'
|
||||
OR raisonSociale LIKE '%.fr%'
|
||||
OR raisonSociale LIKE '%.com%'
|
||||
OR raisonSociale LIKE '%.net%'
|
||||
OR raisonSociale LIKE '%.info%'
|
||||
OR raisonSociale LIKE '%.biz%'
|
||||
OR raisonSociale LIKE '%.eu%'
|
||||
OR raisonSociale LIKE '%.org%'
|
||||
|
||||
OR nomCommercial LIKE '%www.%'
|
||||
OR nomCommercial LIKE '%.fr%'
|
||||
OR nomCommercial LIKE '%.com%'
|
||||
OR nomCommercial LIKE '%.net%'
|
||||
OR nomCommercial LIKE '%.info%'
|
||||
OR nomCommercial LIKE '%.biz%'
|
||||
OR nomCommercial LIKE '%.eu%'
|
||||
OR nomCommercial LIKE '%.org%'
|
||||
|
||||
OR enseigne LIKE '%www.%'
|
||||
OR enseigne LIKE '%.fr%'
|
||||
OR enseigne LIKE '%.com%'
|
||||
OR enseigne LIKE '%.net%'
|
||||
OR enseigne LIKE '%.info%'
|
||||
OR enseigne LIKE '%.biz%'
|
||||
OR enseigne LIKE '%.eu%'
|
||||
OR enseigne LIKE '%.org%'
|
||||
|
||||
OR sigle LIKE '%www.%'
|
||||
OR sigle LIKE '%.fr%'
|
||||
OR sigle LIKE '%.com%'
|
||||
OR sigle LIKE '%.net%'
|
||||
OR sigle LIKE '%.info%'
|
||||
OR sigle LIKE '%.biz%'
|
||||
OR sigle LIKE '%.eu%'
|
||||
OR sigle LIKE '%.org%'");
|
||||
|
||||
$pertinence=false;
|
||||
$nbRep=30;
|
||||
$siege=0;
|
||||
|
||||
$tabTables=array(
|
||||
/* array('db'=>'sugarcrm', 'table'=>'accounts', 'champRS'=>'name',
|
||||
'champAdresse'=>'billing_address_street',
|
||||
'champCP'=>'billing_address_postalcode',
|
||||
'champVille'=>'billing_address_city',
|
||||
'champSiren'=>'ticker_symbol',
|
||||
'champSirenValide'=>'(ticker_symbol<30000 OR ticker_symbol IS NULL)AND deleted')*/
|
||||
array('db'=>'jo', 'table'=>'bodacc_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren',
|
||||
'champRS'=>'CONCAT(raisonSociale," ",nomCommercial," ",enseigne)',
|
||||
'champAdresse'=>'adrLibVoie',
|
||||
'champCP'=>'codePostal',
|
||||
'champVille'=>'ville',
|
||||
'champSiren'=>'b.siren',
|
||||
'champNic'=>'nic',
|
||||
'champSirenValide'=>'sirenValide',
|
||||
'champNicValide'=>'nicValide'),
|
||||
/* array('db'=>'sdv1', 'table'=>'sirenage', 'champRS'=>'concat( RAISON_SOCIALE , \' \' , RAISON_SOCIALE2 )',//REF NIC RAISON_SOCIALE2 ADRESSE2 NUM_VOIE ADRESSE3
|
||||
'champAdresse'=>'ADRESSE',
|
||||
'champCP'=>'CP',
|
||||
'champVille'=>'VILLE',
|
||||
'champSiren'=>'SIREN',
|
||||
'champSirenValide'=>'SIREN'),*/
|
||||
);
|
||||
$iDbSel=new WDB('jo');
|
||||
$iDbMaj=new WDB('insee');
|
||||
echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL;
|
||||
$strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) ';
|
||||
if ($toutes)
|
||||
$strDate='';
|
||||
|
||||
$nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL;
|
||||
$nbAvecMaj=$nbSansMaj=$nbErr=0;
|
||||
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
|
||||
$siren=$tabTel['siren'];
|
||||
$tel=trim(strtr($tabTel['tel'], array('.'=>'', ' '=>'', '-'=>'')));
|
||||
$fax=trim(strtr($tabTel['fax'], array('.'=>'', ' '=>'', '-'=>'')));
|
||||
$tabTmp=$iDbMaj->select('identite', 'id, SIREN, NIC, ACTIF, SIEGE, TEL, FAX',"SIREN=$siren ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) {
|
||||
$tabUpdate=array();
|
||||
$etab=$tabTmp[0];
|
||||
$id=$etab['id'];
|
||||
$telPrev=$etab['TEL'];
|
||||
$faxPrev=$etab['FAX'];
|
||||
if ($telPrev=='' && $tel<>'') $tabUpdate['TEL']=$tel;
|
||||
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
|
||||
if (count($tabUpdate)>0) {
|
||||
$iDbMaj->update('identite',$tabUpdate, "id=$id");
|
||||
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL;
|
||||
$nbAvecMaj++;
|
||||
}
|
||||
else {
|
||||
$nbSansMaj++;
|
||||
// echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL;
|
||||
}
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL;
|
||||
$nbErr++;
|
||||
// die();
|
||||
}
|
||||
|
||||
/*print_r($tabTel);
|
||||
print_r($tabTmp);
|
||||
die();*/
|
||||
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL;
|
||||
die();
|
||||
?>
|
@ -1,138 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
$modeDebug=false;
|
||||
$separator='/t';
|
||||
$finLigne=false;
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]... FICHIER
|
||||
Conversion d'un fichier CSV en fichier Plat format Fixe.
|
||||
|
||||
Options :
|
||||
-v Mode bavard
|
||||
-s=CHAR séparateur de champs (virgule, point-virgule*, /t=TAB, /p=|, etc...)
|
||||
-c=CHAR caractère encadrant les zones alphanumériques (inopérationnel)
|
||||
-l=XXXX Taille maximale d'une ligne
|
||||
-f=/n Fin de ligne Linux par défaut (Windows /r/n)
|
||||
|
||||
(*): Valeurs par défaut !
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 's': $separator=substr($argv[$i],3); break;
|
||||
case 'c': $chaine=substr($argv[$i],3); break;
|
||||
case 'l': $lenMaxLine=substr($argv[$i],3); break;
|
||||
case 'f': $finLigne=substr($argv[$i],3); break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !".EOL);
|
||||
}
|
||||
} else
|
||||
$fichier_csv[]=$argv[$i];
|
||||
}
|
||||
|
||||
if ($separator=='/t') {
|
||||
$separator="\t";
|
||||
echo "séparateur = TAB\n";
|
||||
} elseif ($separator=='/p') {
|
||||
$separator='|';
|
||||
echo "séparateur = PIPE\n";
|
||||
} elseif (!isset($separator) || $separator=='') {
|
||||
$separator=';';
|
||||
echo "séparateur = '$separator'\n";
|
||||
} else
|
||||
echo "séparateur = '$separator'\n";
|
||||
|
||||
if ($finLigne=='/r')
|
||||
$finLigne="\r";
|
||||
elseif ($finLigne=='/n')
|
||||
$finLigne="\n";
|
||||
elseif ($finLigne=='/r/n')
|
||||
$finLigne="\r\n";
|
||||
else
|
||||
$finLigne=EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début de la conversion...".EOL;
|
||||
|
||||
foreach ($fichier_csv as $iFichier=>$nomFichier) {
|
||||
|
||||
$fp=fopen($nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Impossible d'ouvrir le fichier : $nomFichier !".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=$iLigne=0;
|
||||
$tabEntete=$tabTailles=$tabLignes=$tabEntiers=array();
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier...".EOL;
|
||||
|
||||
while (($data = fgetcsv($fp, 10000, $separator)) !== FALSE)
|
||||
{
|
||||
$nbLignes++;
|
||||
|
||||
if ($nbLignes==1)
|
||||
{ // L'entête contient la structure du fichier
|
||||
// On compte le nombre de colonnes du fichier
|
||||
$nbColonnes=count($data);
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier '$nomFichier' contient $nbColonnes colonnes.".EOL;
|
||||
for($i=0; $i<$nbColonnes; $i++) {
|
||||
$tabEntete[$i]=$data[$i];
|
||||
$tabEntiers[$i]=1;
|
||||
}
|
||||
} else {
|
||||
// Lecture des tailles maximales des colonnes
|
||||
for($i=0; $i<$nbColonnes; $i++) {
|
||||
if (strlen($data[$i])>@$tabTailles[$i]) {
|
||||
$tabTailles[$i]=strlen($data[$i]);
|
||||
$tabLignes[$i]=$nbLignes;
|
||||
}
|
||||
if ($data[$i]<>'' && strtolower($data[$i])<>strtoupper($data[$i])) $tabEntiers[$i]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier '$nomFichier' contient $nbLignes lignes.".EOL;
|
||||
|
||||
foreach ($tabEntete as $i=>$entete) {
|
||||
if ($tabEntiers[$i]==0) $strInt='alphanum. ';
|
||||
else $strInt='num. ';
|
||||
echo "$i - $entete : ". $tabTailles[$i]. " caractères $strInt(ligne ".$tabLignes[$i].')'.EOL;
|
||||
}
|
||||
|
||||
rewind($fp);
|
||||
$fpOut=fopen(str_replace('.csv','.txt',$nomFichier), 'w');
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début de conversion du fichier en texte...".EOL;
|
||||
|
||||
while (($data = fgetcsv($fp, 10000, $separator)) !== FALSE)
|
||||
{
|
||||
$iLigne++;
|
||||
$str='';
|
||||
|
||||
if ($iLigne>1) {
|
||||
// Lecture des tailles maximales des colonnes
|
||||
for($i=0; $i<$nbColonnes; $i++) {
|
||||
if ($tabEntiers[$i]==0)
|
||||
$str.=initstr($data[$i], $tabTailles[$i]);
|
||||
else
|
||||
$str.=initstr($data[$i], $tabTailles[$i], '0', ALIGN_RIGHT);
|
||||
}
|
||||
//fwrite($fpOut, $str.EOL);
|
||||
fwrite($fpOut, $str.$finLigne);
|
||||
}
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Conversion réussie du fichier '$nomFichier' en fichier plat ($iLigne lignes).".EOL;
|
||||
fclose ($fp);
|
||||
fclose ($fpOut);
|
||||
}
|
||||
?>
|
@ -1,71 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'conversion/bilAltares.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000.
|
||||
|
||||
Options :
|
||||
-a:123456789 Ajouter le numéro d'abonné BIL 123456789
|
||||
-i:ISCEN Options de la fiche d'identité (I:Identifiant, S:Standard, C:Complète, E:option ext. Insee, N:option Score)
|
||||
-v Mode bavard
|
||||
-f Continuer même si numéro d'abonné n'est pas communiqué ou autre erreur...
|
||||
|
||||
";
|
||||
|
||||
$tabFichLigneCmd=array();
|
||||
$numeroAbonneBil=$optionsIdBil='';
|
||||
$modeDebug=$forceContinue=false;
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'a': $numeroAbonneBil=substr($argv[$i],3)*1; break;
|
||||
case 'i': $optionsIdBil=substr($argv[$i],3); break;
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'f': $forceContinue=true; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n"); break;
|
||||
}
|
||||
} else $tabFichLigneCmd[]=$argv[$i];
|
||||
}
|
||||
|
||||
if ($numeroAbonneBil*1==0) {
|
||||
echo date ('Y/m/d - H:i:s') . " - Numéro d'abonnée BIL manquant !".EOL;
|
||||
if (!$forceContinue) die();
|
||||
}
|
||||
if ($optionsIdBil=='') {
|
||||
echo date ('Y/m/d - H:i:s') . " - Type de fiche identité BIL absente, fiche Identifiant utilisée par défaut !".EOL;
|
||||
$optionsIdBil='I';
|
||||
}
|
||||
|
||||
if (count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier S&D à convertir en BIL/SO2000 !".EOL);
|
||||
|
||||
$message='';
|
||||
|
||||
for ($iFic=0; isset($tabFichLigneCmd[$iFic]); $iFic++)
|
||||
{
|
||||
$fichierIn=$tabFichLigneCmd[$iFic];
|
||||
if (preg_match('/APICIL/',$fichierIn)) { $numeroAbonneBil='019400018'; $optionsIdBil='I'; }
|
||||
if (preg_match('/SOFID/',$fichierIn)) { $numeroAbonneBil='000960030'; $optionsIdBil='I'; }
|
||||
elseif (preg_match('/METRO/',$fichierIn)) { $numeroAbonneBil='013990040'; $optionsIdBil='IN'; }
|
||||
echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn début de conversion en BIL/SO2000 (abonné $numeroAbonneBil, options $optionsIdBil) !".EOL;
|
||||
$ret=conversionSd2So2000($fichierIn, $numeroAbonneBil, '', $optionsIdBil);
|
||||
if ($ret===true)
|
||||
echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn converti en BIL/SO2000 (abonné $numeroAbonneBil) !".EOL;
|
||||
else
|
||||
echo date('Y/m/d - H:i:s') . " - ERREUR lors de la conversion du fichier S&D $fichierIn en BIL/SO2000 (abonné $numeroAbonneBil) : $ret !".EOL;
|
||||
}
|
||||
|
||||
//sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID", "Conversion terminée. Penser à déposer le fichier !!!");
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement !" . EOL;
|
||||
die();
|
||||
|
||||
?>
|
@ -1,166 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMTel.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMMap.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$iGreffe=new MGreffes();
|
||||
$iInsee=new MInsee();
|
||||
$iTel=new MTel();
|
||||
|
||||
$iDb=new WDB('sdv1');
|
||||
$sendMail=true;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option> loginUserDroits FICHIER.csv
|
||||
Création automatisée de comptes utilisateurs Extranet
|
||||
|
||||
Options :
|
||||
-v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
|
||||
-m Ne pas envoyer le mail à l'utilisateur
|
||||
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
$tabFichiers=array();
|
||||
for ($i=1,$j=0; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'm': $sendMail=false; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichiers[]=$argv[$i];
|
||||
}
|
||||
|
||||
$loginUserDroits=@$tabFichiers[0];
|
||||
if (!isset($tabFichiers[0]))
|
||||
die("Compte Extranet/WS non communiqué !".EOL);
|
||||
|
||||
$ret=$iDb->select('utilisateurs', 'login,formatMail,pref,droits,lienExtranetMail,nbReponses', "login='$loginUserDroits'", false);
|
||||
$profil=@$ret[0];
|
||||
if (!isset($profil['login'])) die("Compte Extranet/WS inexistant : $loginUserDroits !".EOL);
|
||||
if (!isset($tabFichiers[1])) die("Aucun fichier CSV communiqué !".EOL);
|
||||
|
||||
$tabLignes=file($tabFichiers[1]);
|
||||
$nbLignes=count($tabLignes);
|
||||
|
||||
foreach($tabLignes as $i=>$ligne) {
|
||||
$tabCells=explode("\t", $ligne);
|
||||
//print_r($tabCells);
|
||||
if ($i==0 && $tabCells[0]<>'idClient') die('idClient non trouvé en 1ère celule de la 1ère ligne !'.EOL);
|
||||
elseif ($i==0) continue;
|
||||
$login=trim(preg_replace('/\s+/','',$tabCells[1]));
|
||||
$password=trim(preg_replace('/\s+/','',$tabCells[2]));
|
||||
$email=trim(preg_replace('/\s+/','',$tabCells[3]));
|
||||
|
||||
|
||||
$tabInsert=array( 'idClient' => $tabCells[0],
|
||||
'login' => $login,
|
||||
'password' => $password,
|
||||
'email' => $email,
|
||||
'referenceParDefaut'=> $tabCells[4],//RéférenceParDéfaut
|
||||
'nom' => $tabCells[5],
|
||||
'prenom' => $tabCells[6],
|
||||
'actif' => 1,
|
||||
'deleted' => 0,
|
||||
'typeCompte' => 'PROD', // 'TEST'
|
||||
'profil' => 'Utilisateur',
|
||||
'filtre_ip' => '',
|
||||
'civilite' => 'M', // 'Mme', 'Mlle'
|
||||
'lang' => 'fr',
|
||||
'formatMail' => $profil['formatMail'], // 'txt1', 'txt2', 'htm', 'csv', 'xls', 'pdf', 'pdf1'
|
||||
'pref' => $profil['pref'], // 'naf4 nace news mappy cartes',
|
||||
'droits' => $profil['droits'], // 'searchent searchdir identite liens etablissements groupe eveninsee avisinsee dirigeants indiscore monprofil',
|
||||
'lienExtranetMail' => $profil['lienExtranetMail'],
|
||||
'nbReponses' => $profil['nbReponses'],
|
||||
'dateDebutCompte' => date('Ymd'),
|
||||
'dateInsert' => date('YmdHis'),
|
||||
);
|
||||
/* raisonSociale
|
||||
siret
|
||||
adrNum
|
||||
adrIndRep
|
||||
adrTypeVoie
|
||||
adrLibVoie
|
||||
adrCp
|
||||
adrVille
|
||||
adrComp
|
||||
tel
|
||||
fax
|
||||
mobile
|
||||
dateInscription
|
||||
dateValidation
|
||||
*/
|
||||
echo date('Y/m/d - H:i:s'). " - Compte n°$i/$nbLignes '".$login."', ";
|
||||
|
||||
if ($iDb->insert('utilisateurs', $tabInsert, false)) {
|
||||
$message="Bonjour,
|
||||
|
||||
Dans le cadre du Contrat établi entre UTC Fire & Security Services et Scores & Décisions, nous avons le plaisir de vous remettre les éléments nécessaires afin que vous puissiez utiliser notre extranet.
|
||||
|
||||
Adresse site :
|
||||
http://extranet.scores-decisions.com
|
||||
|
||||
Codes d'accès et mot de passe :
|
||||
Identifiant : ".$login."
|
||||
Mot de passe : ".$password." (nous vous conseillons de faire un copier/coller de ce mot de passe)
|
||||
|
||||
Lors de vos premières connexions, nous vous invitons à modifier votre mot de passe.
|
||||
=> menu \"OPTIONS\"
|
||||
=> onglet \"Mes options\"
|
||||
=> cliquer sur 'Modifier le mot de passe.'
|
||||
=> saisir votre mot de passe (alphanumérique) et cliquer sur 'modifier'
|
||||
=> pour valider il est impératif de cliquer sur \"Sauver\" tout en bas de page
|
||||
|
||||
Cet accès vous permet :
|
||||
> la consultation de la base de données
|
||||
> la consultation des IndiScore,
|
||||
|
||||
|
||||
Nous vous souhaitons bonne réception de ces informations.
|
||||
|
||||
Votre interlocuteur privilégié, Monsieur Julien Proust et toute l'équipe support de Scores & Décisions (support@scores-decisions.com) restent à votre écoute.
|
||||
|
||||
Bien cordialement
|
||||
|
||||
Amel
|
||||
|
||||
--
|
||||
|
||||
Service Support
|
||||
SCORES ET DECISIONS
|
||||
1, rue Clairefontaine - 78120 RAMBOUILLET
|
||||
tél. support : +33 (0)1 48 00 04 52
|
||||
tél. standard : +33 (0)1 75 43 80 10
|
||||
fax bureau : +33 (0)1 75 43 85 74
|
||||
support@scores-decisions.com
|
||||
http://www.scores-decisions.com
|
||||
Scores & Décisions est l'acteur nouvelle génération de l’information et de l'évaluation des entreprises
|
||||
|
||||
Pensez à l'environnement avant d'imprimer ce message !
|
||||
Save paper - think before you print";
|
||||
if ($sendMail) {
|
||||
@sendMail('support@scores-decisions.com', $email, "Codes Accès Extranet Scores et Décisions", $message);
|
||||
@sendMail('support@scores-decisions.com', 'ylenaour@scores-decisions.com', "Codes Accès Extranet Scores et Décisions", $message);
|
||||
echo "Créé et e-mail envoyé à ".$tabCells[3].EOL;
|
||||
} else
|
||||
echo "Créé sans envoi d'e-mail à ".$tabCells[3].EOL;
|
||||
|
||||
} elseif (mysql_errno()==1062)
|
||||
echo "Login déjà existant !".EOL;
|
||||
else
|
||||
die('Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL);
|
||||
|
||||
//die();
|
||||
}
|
||||
|
||||
?>
|
@ -1,126 +0,0 @@
|
||||
#*/15 * * * * cd /var/www/html/crm; php -f cron.php > /dev/null 2>&1
|
||||
0 10-22/4 * * 1-6 /var/www/batch/getInfosReg.php >> /var/www/log/getInfosReg.log
|
||||
0 7 * * * /var/www/batch/getInpi2009.php >> /var/www/log/getInpi2009.log
|
||||
30 18 * * * /var/www/batch/getInpi2009.php >> /var/www/log/getInpi2009Soir.log
|
||||
###30 8 * * * /var/www/batch/getInpiDecisions.php >> /var/www/log/getInpiDecisions.log
|
||||
###30 19 * * * /var/www/batch/getInpiDecisions.php >> /var/www/log/getInpiDecisionsSoir.log
|
||||
55 4 * * * /var/www/batch/getInseeEven.php >> /var/www/log/getInseeEven.log
|
||||
0 18 * * * /var/www/batch/getInseeEven.php >> /var/www/log/getInseeEvenSoir.log
|
||||
10 5 * * * /var/www/batch/consolideEtab.php >> /var/www/log/consolideEtab.log
|
||||
45 8 * * * /var/www/batch/getDefaillances.php -i >> /var/www/log/getDefaillances.log
|
||||
0 9 * * * /var/www/batch/getAnnoncesTessi.php -i >> /var/www/log/getAnnoncesTessi.log
|
||||
0 9-21/4 * * 1-6 /var/www/batch/getBodacc.php -s -i -n >> /var/www/log/getBodacc.log
|
||||
30 9-21/4 * * * /var/www/batch/sirenage.php >> /var/www/log/sirenage.log
|
||||
30 19 4 * * /home/data/dila/getDilaStock.sh >> /home/data/dila/getDilaStock.log
|
||||
30 23 * * * /home/data/dila/getDilaFlux.sh >> /home/data/dila/getDilaFlux.log
|
||||
30 9 * * * /var/www/batch/getBalo.php >> /var/www/log/getBalo.log
|
||||
#0 9 * * 1-5 /var/www/batch/getAsso.php -c >> /var/www/log/getAsso.log
|
||||
#0 8 * * * /var/www/batch/getTelFaxIdentite.php >> /var/www/log/getTelFaxIdentite.log
|
||||
30 12 * * 1-5 /var/www/batch/getInfosFin.php >> /var/www/log/getInfosFin.log
|
||||
5 0 * * * /var/www/batch/clients/exportPCL.sh >> /var/www/batch/clients/exportPCL.log
|
||||
30 0 * * 1-5 reboot -f
|
||||
0 0 * * * rm -f /var/spool/clientmqueue/*
|
||||
###40 0 * * 1-5 /etc/init.d/mysqld start
|
||||
###0 21 * * 0 /root/scripts/netbackup.sh >> /root/scripts/netbackup.log
|
||||
###30 23 * * 1-5 /home/backup/sql/syncroQuoti.sh >> /home/backup/sql/syncroQuotiSh.log
|
||||
###30 16 * * 0 /home/backup/sql/syncroHebdo.sh >> /home/backup/sql/syncroHebdoSh.log
|
||||
###0 16 * * 0 /home/backup/sql/syncroMensuel.sh >> /home/backup/sql/syncroMensuelSh.log
|
||||
0 21 * * 1-5 /var/www/batch/loadSurveillances.php >> /var/www/log/loadSurveillances.log
|
||||
40 0 * * 1-5 /var/www/batch/diffusionBodacc.php -s >> /var/www/log/surveillanceBodacc.log
|
||||
0 2 * * 1-5 /var/www/batch/surveillanceBodaccSite.php -m >> /var/www/log/surveillanceBodaccSite.log
|
||||
0 5 * * 1-5 /var/www/batch/surveillanceInseeSite.php >> /var/www/log/surveillanceInseeSite.log
|
||||
30 22 * * * /var/www/batch/consolideTelFaxIdentite.php >> /var/www/log/consolideTelFaxIdentite.log
|
||||
0 8-22/2 * * * /var/www/batch/getRSS.php >> /var/www/log/getRSS.log
|
||||
0 2 * * * /var/www/batch/calculRatios.php >> /var/www/log/calculRatios.log
|
||||
30 6 * * * /var/www/batch/calculScores.php >> /var/www/log/calculScores.log
|
||||
###0 20 * * * /var/www/batch/calculScoreSurv.php >> /var/www/log/calculScoreSurv.log
|
||||
0 7 * * 1-5 /var/www/batch/surveillanceScoreSite.php >> /var/www/log/surveillanceScoreSite.log
|
||||
45 9 * * 1-5 /var/www/batch/surveillanceActesSite.php >> /var/www/log/surveillanceActesSite.log
|
||||
15 10 * * 1-5 /var/www/batch/surveillanceDirSite.php >> /var/www/log/surveillanceDirSite.log
|
||||
0 17 * * 1-5 /var/www/batch/surveillanceLiensSite.php >> /var/www/log/surveillanceLiensSite.log
|
||||
0 23 * * 1-5 /var/www/batch/surveillanceBilanSite.php >> /var/www/log/surveillanceBilanSite.log
|
||||
30 9 * * 1-5 /var/www/batch/surveillancePrivSite.php >> /var/www/log/surveillancePrivSite.log
|
||||
###30 19 * * 1-5 /var/www/batch/fedaso.php -d:100 >> /var/www/log/fedasoOut.log
|
||||
15 19 * * 1-5 /var/www/batch/fedasoBilans.php -d >> /var/www/log/fedasoBilans.log
|
||||
30 6 * * 2-6 /var/www/batch/getIsin.php -h >> /var/www/log/getIsinMatin.log
|
||||
0 23 * * 1-5 /var/www/batch/getIsin.php -s >> /var/www/log/getIsinSoir.log
|
||||
30 8 * * * /var/www/batch/getDevises.php >> /var/www/log/getDevises.log
|
||||
0-59/30 9-18 * * 1-5 /var/www/batch/getIsin.php >> /var/www/log/getIsin.log
|
||||
50 23 * * * /var/www/batch/getBilansInpi.php -p >> /var/www/log/getBilansInpi.log
|
||||
10 1 * * 1-4 /var/www/batch/getBilansInpi.php -p >> /var/www/log/getBilansInpi.log
|
||||
15 13 * * * /var/www/batch/getTelSources.php >> /var/www/log/getTelSources.log
|
||||
## Mensuels
|
||||
0 20 1 * * /var/www/batch/facturation.php >> /var/www/log/facturation.log
|
||||
0 1 1 * * /var/www/batch/calculRedevances.php >> /var/www/log/calculRedevances.log
|
||||
0 11 25 * * /var/www/batch/getInflation.php >> /var/www/log/getInflation.log
|
||||
0 10 15 * * /var/www/batch/getImportExport.php >> /var/www/log/getImportExport.log
|
||||
0 9 * * 1 /var/www/batch/getIsin.php -a -n -r >> /var/www/log/getIsinSociete.log
|
||||
#0 12 20 * * /var/www/batch/peps/getPepCia.php >> /var/www/log/getPepCia.log
|
||||
30 12 1 * * /var/www/batch/getLiens.php >> /var/www/log/getLiens.log
|
||||
## Hebdomadaire
|
||||
0 18 * * 1 /var/www/batch/getBoMonaco.php >> /var/www/log/getBoMonaco.log
|
||||
## Provisoire à revoir
|
||||
0 9 * * 1-5 /var/www/batch/getPrivileges.php >> /var/www/log/getPrivilegesMatin.log
|
||||
0 19 * * 1-5 /var/www/batch/getPrivileges.php >> /var/www/log/getPrivilegesSoir.log
|
||||
0 3 * * 1-5 /var/www/batch/diffusionBodacc.php >> /var/www/log/diffusionBodacc.log
|
||||
30 7 * * 1-5 /var/www/batch/convertSdRecordati.php >> /var/www/log/convertSdRecordati.log
|
||||
0 13 * * 1-5 /var/www/batch/convertSdVerdoso.php >> /var/www/log/convertSdVerdoso.log
|
||||
30 8 * * 1-5 /var/www/batch/convertSdSO2000.php >> /var/www/log/convertSdSO2000.log
|
||||
30 18 * * * /var/www/batch/geoCodeAdresses.php >> /var/www/log/geoCodeAdresses.log
|
||||
30 9 * * 5 /var/www/batch/getOrias.php >> /var/www/log/getOrias.log
|
||||
30 8 * * 1-6 /var/www/batch/getQualibat.php >> /var/www/log/getQualibat.log
|
||||
#30 7 * * * /var/www/batch/repriseDirigeants.php >> /var/www/log/repriseDirigeants.log
|
||||
30 8 * * 1-5 /var/www/batch/getTribunaux.php >> /var/www/log/getTribunaux.log
|
||||
#0 9 * * 1-6 /var/www/batch/getAnnoncesJal.php >> /var/www/log/getAnnoncesJal.log
|
||||
45 8 * * 1-5 /root/scripts/miseEnCacheSirenage.sh
|
||||
#0 18 * * 1-5 /var/www/batch/majIMR.php >> /var/www/log/majIMR.log
|
||||
#30 8 * * 1-5 /var/www/batch/getBilansWeb.php >> /var/www/log/getBilansWeb.log
|
||||
0 8 * * * /var/www/batch/repriseSirenBodaccHisto.php -o >> /var/www/log/repriseSirenBodaccHistOcr.log
|
||||
20 8 * * * /var/www/batch/repriseSirenBodaccHisto.php >> /var/www/log/repriseSirenBodaccHistB.log
|
||||
10 8 * * 1-5 /var/www/batch/getMarques.php -b >> /var/www/log/getMarques.log
|
||||
###############0 22 * * * /var/www/batch/rapportsTextes.php -d >> /var/www/log/rapportsTextesWeb.log
|
||||
###############0 23 * * * /var/www/batch/rapportsTextes.php -f >> /var/www/log/rapportsTextesFtp.log
|
||||
15 9 * * * /var/www/batch/majArtisans.php >> /var/www/log/majArtisans.log
|
||||
30 19 * * 5 /var/www/batch/clients/doEtabAct.sh >> /var/www/batch/clients/doEtabAct.log
|
||||
###0 3 * * 0 /var/www/batch/clients/indexFileGiant.sh >> /var/www/batch/clients/indexFileGiant.log
|
||||
###0 7 1-6 1,4,7,10 * /var/www/batch/clients/stockKadeal.sh >> /var/www/batch/clients/stockKadeal.log
|
||||
0 2 * * * /var/www/batch/clients/proceduresQ.sh >> /var/www/batch/clients/proceduresQ.log
|
||||
30 21 * * 1-6 /var/www/batch/majAdressesDom.php >> /var/www/log/majAdressesDom.log
|
||||
*/15 * * * * /var/www/batch/getLogos.php >> /var/www/log/getLogos.log
|
||||
30 8 * * * /var/www/batch/getLogos.php -b >> /var/www/log/getLogosBing.log
|
||||
0 20 * * 1-6 /var/www/batch/consolideDiri.php >> /var/www/log/consolideDiri.log
|
||||
30 9 * * * /var/www/batch/getInfosHotelerie.php >> /var/www/log/getInfosHotelerie.log
|
||||
###0 20 * * 5 /root/geoCodeHisto.sh
|
||||
###0 1 * * * /var/www/batch/genereEpl.php -t >> /var/www/log/genereEpl.log
|
||||
###1 1 * * * /var/www/batch/testWorldCheck.php -o
|
||||
###0 1 * * * /var/www/batch/testWorldCheck.php
|
||||
30 11 * * 3 /var/www/batch/getEcoArtisan.php >> /var/www/log/getEcoArtisan.log
|
||||
35 11 * * 3 /var/www/batch/getQualifelec.php >> /var/www/log/getQualifelec.log
|
||||
40 11 * * 3 /var/www/batch/getQualiPaysage.php >> /var/www/log/getQualiPaysage.log
|
||||
45 0 9 * * /var/www/batch/clients/kompass.sh >> /var/www/batch/clients/kompass.log
|
||||
###46 0 2-8 * * /var/www/batch/exportKompass.php -5 >> /var/www/batch/clients/kompass5.log
|
||||
45 0 1 2,5,8,11 * /var/www/batch/clients/stockCorporama.sh >> /var/www/batch/clients/stockCorporama.log
|
||||
29 0 * * * /root/psxa.sh
|
||||
##############0 7 10 * * /var/www/batch/getInfosGE.php >> /var/www/log/getInfosGE.log
|
||||
0 9 * * * /var/www/batch/getAnnoncesJal.php >> /var/www/log/getAnnoncesJal.log
|
||||
40 6 * * * /var/www/batch/convertSdFBoissons.php >> /var/www/log/convertSdFBoissons.log
|
||||
30 5 * * 1-5 /var/www/batch/diffusionEntrepA6cmo.php -d >> /var/www/log/diffusionEntrepA6cmo.log
|
||||
0 9 * * * cp --force /tmp/diffusionBodacc_DIFBOD*FTSA6CMO* /home/data/clients/a6cmo
|
||||
0 11 * * * /var/www/batch/getInpi2009.php -v -j -m >> /var/www/log/getInpi2009siren.log
|
||||
15 16 * * * /var/www/batch/getMarques.php -s -a
|
||||
30 16 * * * /var/www/batch/getBodacc.php -t:DEFAO2014_009005.taz -s -w -p -v >> /var/www/log/getBodaccSiren.log
|
||||
0 8 * * 2,4 /var/www/batch/getRSS.php -b >> /var/www/log/getRSSisin.log
|
||||
0 9 * * 1-5 /var/www/batch/getRcMonaco.php >> /var/www/log/getRcMonaco.log
|
||||
0 17 * * 1-5 /var/www/batch/getRcMonaco.php -d >> /var/www/log/getRcMonaco.log
|
||||
30 13 * * * /var/www/batch/giantMonitoring.php -v >> /var/www/log/giantMonitoring.log
|
||||
30 8 4-10 * * /var/www/batch/clients/doAdecco.sh
|
||||
0 13 15 * * /var/www/batch/clients/doCoface.sh
|
||||
0 19 * * * /var/www/batch/majLiens.php -i >> /var/www/log/majLiens.log
|
||||
30 5 * * 1 /var/www/batch/surveillanceIsin.php >> /var/www/log/surveillanceIsin.log
|
||||
30 8 * * * /var/www/batch/specifiqueReco.php >> /var/www/log/specifiqueReco.log
|
||||
15 9 * * 1-5 /var/www/batch/getBanques.php >> /var/www/log/getBanques.log
|
||||
30 8 5 * * /var/www/batch/diffusionCegedim.php >> /var/www/log/diffusionCegedim.log
|
||||
0 5 * * 1 /var/www/batch/clients/proceduresH.sh >> /var/www/batch/clients/proceduresH.log
|
||||
30 7 * * 1-5 /var/www/batch/testCptsPub.php >> /var/www/log/testCptsPub.log
|
||||
###45 7 * * * /var/www/batch/testMixData.php >> /var/www/log/testMixData.log
|
||||
###40 0 * * * /var/www/batch/diffusionEntrepA6cmo.php -s -c=21 >> /var/www/log/stockA6CMO.log
|
@ -1,379 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
define('DATE_HEURE_SCRIPT', date('Ymd_His'));
|
||||
|
||||
/** @todo
|
||||
**/
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$repProduction='/mnt/samba/partage/production/';
|
||||
|
||||
$modeTest=$envoiGroupe=$envoiGroupePre=false;
|
||||
$ignoreDateDerExec=$retroActivite=false;
|
||||
$tableSurveillance='surveillances_site';
|
||||
|
||||
//$modeTest=true;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Envoi des messages de surveillance Actes par email (site et WS uniquement).
|
||||
|
||||
Options :
|
||||
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution et envoi des mails à lenaoury@gmail.com...)
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'i':
|
||||
//$envoiGroupe=true;
|
||||
$modeTest=true;
|
||||
//$tableSurveillance='surveillances_site_old';
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('sdv1');
|
||||
$nbUtilisateurs=$iDb2->select('utilisateurs u, clients c', 'u.id, u.idClient, LOWER(u.login) AS login, u.password, u.email, u.formatMail, u.lienExtranetMail, u.listeEven', "u.idClient=c.id AND u.actif=1 AND u.deleted=0 AND c.actif='Oui'", true, MYSQL_ASSOC, true);
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbUtilisateurs utilisateurs habilités à recevoir des surveillances...".EOL;
|
||||
$tabFormat=$tabLienEx=$tabLstEve=$tabHash=array();
|
||||
while ($uti=$iDb2->fetch(MYSQL_ASSOC)) {
|
||||
switch ($uti['formatMail']) {
|
||||
case 'txt2': // MAIL au format texte, 1 mail par envoi
|
||||
case 'csv': // MAIL au format CSV, 1 mail par envoi
|
||||
case 'txt1': // MAIL au format texte, 1 mail par annonce (format par défaut)
|
||||
case 'pdf1': // MAIL au format PDF, 1 mail par envoi
|
||||
$tabFormat['_'.$uti['login']]=$uti['formatMail'];
|
||||
break;
|
||||
default:
|
||||
$tabFormat['_'.$uti['login']]='txt1';
|
||||
break;
|
||||
}
|
||||
|
||||
$tabLienEx['_'.$uti['login']]=$uti['lienExtranetMail'];
|
||||
$tabLstEve['_'.$uti['login']]=explode(';',trim($uti['listeEven']));
|
||||
sort($tabLstEve['_'.$uti['login']]);
|
||||
if (count($tabLstEve['_'.$uti['login']])==1 && $tabLstEve['_'.$uti['login']][0]=='')
|
||||
$tabLstEve['_'.$uti['login']]=array();
|
||||
$tabHash['_'.$uti['login']]=md5($uti['login'].'|'.$uti['password']);
|
||||
}
|
||||
//sort($tabFormat);
|
||||
//print_r($tabFormat);die();
|
||||
$iBodacc=new MBodacc();
|
||||
$iInsee=new MInsee();
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances Actes.\n";
|
||||
|
||||
$fields="CONCAT(s.siren,'-',s.login,'-',s.ref) AS id, s.siren, LOWER(TRIM(s.login)) AS login, LOWER(TRIM(s.email)) AS email, s.ref, s.dateAjout, s.dateDerEnvoi, a.codeInterne, a.dateDepot, a.flux, a.codeEven, a.dateInsert";
|
||||
|
||||
$where ="1 AND s.source='actes' AND s.siren>1000 AND s.siren=a.siren AND a.dateInsert>=s.dateAjout AND a.dateInsert>=s.dateDerEnvoi AND s.dateSuppr='0000-00-00' AND DATEDIFF(NOW(), a.dateDepot)<=90
|
||||
AND a.dateInsert>'2010-05-24' ";
|
||||
|
||||
$where.=' GROUP BY s.login, s.email, a.siren, a.codeInterne, a.dateDepot
|
||||
ORDER BY s.login ASC, s.email ASC, a.siren, a.codeInterne, a.dateDepot';
|
||||
$tables="$tableSurveillance s, rncs_even a";
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
||||
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances Actes à traiter...".EOL;
|
||||
$emailPre=$loginPre=false;
|
||||
//die();
|
||||
|
||||
require_once('/var/www/html/tests/pdf/html2pdf.class.php');
|
||||
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
|
||||
$tabIdentite=$iInsee->getIdentiteLight($annonce['siren']);
|
||||
//print_r($tabIdentite);
|
||||
//die();
|
||||
/*
|
||||
[id] => 6838322
|
||||
[Siret] => 55214450300018
|
||||
[Siege] => 1
|
||||
[Nom] => AUTOMOBILES PEUGEOT
|
||||
[Sigle] =>
|
||||
[Enseigne] =>
|
||||
[Adresse] => 0075 AV LA GRANDE ARMEE
|
||||
[Adresse2] =>
|
||||
[AdresseNum] => 0075
|
||||
[AdresseBtq] =>
|
||||
[AdresseVoie] => AV
|
||||
[AdresseRue] => LA GRANDE ARMEE
|
||||
[CP] => 75116
|
||||
[Ville] => PARIS 16
|
||||
[Tel] => 141193150
|
||||
[Fax] => 140665414
|
||||
[FJ] => 5599
|
||||
[FJ_lib] => Autre SA à conseil d'administration
|
||||
[Siren] => 552144503
|
||||
[Nic] => 00018
|
||||
[Actif] => 1
|
||||
[NafEtab] => 7010Z
|
||||
[NafEnt] => 2910Z
|
||||
[NafEntLib] => Construction de véhicules automobiles
|
||||
[NafEtabLib] => Activités des sièges sociaux
|
||||
[AutreId] => 55B14450
|
||||
[Source] => 002
|
||||
[SourceId] => 6853244
|
||||
*/
|
||||
$fp2=fopen("/var/www/html/factures/pdf/surv_actes_".date('Y-m-d').'.csv', 'a');
|
||||
fwrite($fp2, implode("\"\t\"", $annonce));
|
||||
fclose($fp2);
|
||||
|
||||
$email=$annonce['email'];
|
||||
$loginLu=$annonce['login'];
|
||||
if (!isset($tabFormat['_'.$loginLu])) {
|
||||
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." non traitée pour cause de format indéfini pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
|
||||
/** Avant de faire un continue, on initialise les variables précédentes obligatoires **/
|
||||
/*$emailPre=$email;
|
||||
$loginPre=$loginLu;
|
||||
$envoiGroupePre=$envoiGroupe;
|
||||
$conversionPdfPre=$conversionPdf;
|
||||
$conversionCsvPre=$conversionCsv;*/
|
||||
continue;
|
||||
}
|
||||
$conversionPdf=$conversionCsv=false;
|
||||
if ($tabFormat['_'.$loginLu]=='txt2') $envoiGroupe=true;
|
||||
elseif ($tabFormat['_'.$loginLu]=='csv') { $envoiGroupe=true; $conversionCsv=true; }
|
||||
elseif ($tabFormat['_'.$loginLu]=='txt1') $envoiGroupe=false;
|
||||
elseif ($tabFormat['_'.$loginLu]=='pdf1') { $envoiGroupe=true; $conversionPdf=true; }
|
||||
else die(date('Y/m/d H:i:s')." - Erreur impossible : Format '".$tabFormat['_'.$loginLu]."' non géré pour $loginLu !");
|
||||
|
||||
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." à traiter pour $loginLu, $email (".$annonce['siren'].' - '.$tabIdentite['Nom'].")\n";
|
||||
|
||||
echo "Test $envoiGroupe vs $envoiGroupePre, Login $loginLu vs $loginPre, Email $email vs $emailPre, Csv/Pdf=$conversionCsv/$conversionPdf\n";
|
||||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||||
|
||||
if ( ($envoiGroupe||$envoiGroupePre) && // Envoi groupé demandé ET
|
||||
( ($loginPre!=false && $loginLu!=$loginPre) || // Login différent OU
|
||||
($emailPre!=false && $email!=$emailPre) ) // Email différent
|
||||
) { /** Login souhaitant un seul email pour toutes les annonces **/
|
||||
$emailEnvoi=$emailPre;
|
||||
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
|
||||
|
||||
if ($conversionPdfPre) {
|
||||
$html2pdf = new HTML2PDF('P','A4', 'fr');
|
||||
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
|
||||
$html2pdf->WriteHTML($messagePdf);
|
||||
$content=$html2pdf->Output('annonces.pdf', true);
|
||||
$fichierPdf="/var/www/html/factures/pdf/scores_$loginPre".'_'.date('Y-m-d').".pdf";
|
||||
$fp=fopen($fichierPdf, 'w');
|
||||
fwrite($fp, $content);
|
||||
fclose($fp);
|
||||
$tabAttached=array($fichierPdf);
|
||||
} elseif ($conversionCsvPre) {
|
||||
$tabAttached=array($fichierCsvPre);
|
||||
} else
|
||||
$tabAttached=array();
|
||||
|
||||
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance des actes déposés", $message, '', $tabAttached)) {
|
||||
|
||||
|
||||
if ($envoiGroupe) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'";
|
||||
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL;
|
||||
|
||||
if (!$modeTest) {
|
||||
if ($envoiGroupe) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'";
|
||||
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
||||
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$loginPre, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
|
||||
}
|
||||
$messageInfo=$message."\r\n".date('Y/m/d - H:i:s')." - L'annonce n°$idAnn a été envoyé à $emailPre.";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés", $messageInfo, '', $tabAttached);
|
||||
echo date('Y/m/d - H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.\n";
|
||||
} else {
|
||||
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés - Echec Envoi !", $messageInfo, '', $tabAttached);
|
||||
echo date('Y/m/d - H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
|
||||
}
|
||||
// Remise à banc du message
|
||||
$message=$strIdAnn='';
|
||||
$tabSiren=array();
|
||||
}
|
||||
|
||||
// GESTION DE L'ANNONCE COURANTE
|
||||
$siren=$annonce['siren'];
|
||||
$sirenAff=implode(' ', str_split($siren,3));
|
||||
//$nicAff=$annonce['nicEven'];
|
||||
$rs=substr($tabIdentite['Nom'],0,30).'...';
|
||||
//$even=$annonce['insEVE'];
|
||||
$login=$annonce['login'];
|
||||
|
||||
$idAnn=$tabIdentite['id'];
|
||||
|
||||
if ($envoiGroupe==false)
|
||||
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
|
||||
else {
|
||||
if ($emailPre==false && $loginPre==false) {
|
||||
// Première annonce du mail
|
||||
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
|
||||
$strIdAnn="$idAnn ";
|
||||
$tabSiren=array($siren);
|
||||
} else {
|
||||
// Nième annonce du mail
|
||||
$message.= "Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
|
||||
$strIdAnn.="$idAnn ";
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
}
|
||||
|
||||
if (trim($annonce['ref'])<>'') {
|
||||
$message.='Votre référence : '.trim($annonce['ref'])."\r\n";
|
||||
$message."\r\n";
|
||||
$rs=substr($tabIdentite['Nom'],0,30).'... ('.trim($annonce['ref']).')';
|
||||
}
|
||||
// a.codeInterne, a.dateDepot, a.flux, a.codeEven, t.libEven, t.codEven
|
||||
$message.='Source : Registre du Commerce en date du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['dateDepot']).'. ';
|
||||
$message.='Mise à jour en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
|
||||
|
||||
$tabEven=$iDb2->select(
|
||||
'jo.rncs_even a, jo.tabEvenRncs t',
|
||||
'a.codeEven, t.libEven, t.codEven',
|
||||
"siren=$siren AND codeInterne='".$annonce['codeInterne']."' AND dateDepot='".$annonce['dateDepot']."' AND a.codeEven=t.codeEven",
|
||||
true, MYSQL_ASSOC);
|
||||
$message.="\r\n";
|
||||
if (count($tabEven)>1) $message.="OBJETS DU DEPOT :\r\n";
|
||||
else $message.="OBJET DU DEPOT :\r\n";
|
||||
foreach ($tabEven as $even) {
|
||||
$message.=' - '.$even['libEven'].' ('.$even['codEven'].$even['codeEven'].')'."\r\n";
|
||||
}
|
||||
|
||||
$message.="\r\n";
|
||||
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
|
||||
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
|
||||
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
|
||||
|
||||
$message.="\r\n";
|
||||
|
||||
if ($tabLienEx["_$login"]==1) {
|
||||
if (WS_VERSION==2)
|
||||
$url="http://extranet.scores-decisions.com/pieces/actes/siret/$siren";
|
||||
else
|
||||
$url="http://extranet.scores-decisions.com/?page=greffes&vue=actes&action=logon&login=$login&siret=$siren&hach=".$tabHash["_$login"];
|
||||
|
||||
$message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'évènement sur le site de Scores & Décisions :\r\n<div style=\"font-size: 6pt\"><a href=\"$url\">$url</a></div>\r\n";//d6c3f28eda29a2072b36872476a1d37a
|
||||
}
|
||||
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
|
||||
|
||||
if ($conversionCsv) {
|
||||
$mel=substr(md5(preg_replace('/[^a-z0-9]/i','',$annonce['email'])),0,8);
|
||||
$fichierCsv='/var/www/html/factures/pdf/actes_'.$login.'_'.$mel.'_'.DATE_HEURE_SCRIPT.'.csv';
|
||||
if (!file_exists($fichierCsv)) {
|
||||
$fp=fopen($fichierCsv, 'a');
|
||||
fwrite($fp, "Siren;Id Acte;Référence;Date parution;Date Entrée en base;Raison sociale;
|
||||
FJ;NAF;Type Evenement;Libellé Evènement\r\n");
|
||||
fclose($fp);
|
||||
}
|
||||
$fp=fopen($fichierCsv, 'a');
|
||||
// Ecriture d'une ligne CSV par évènement du dépôt
|
||||
foreach ($tabEven as $even) {
|
||||
fwrite($fp, "$siren;$idAnn;".trim($annonce['ref']).';'.
|
||||
WDate::dateT('Y-m-d','d/m/Y',$annonce['dateDepot']).';'.
|
||||
WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert']).';'.
|
||||
$tabIdentite['Nom'].';'.$tabIdentite['FJ'].';'.$tabIdentite['NafEnt'].';'.
|
||||
$even['codEven'].$even['codeEven'].';'.$even['libEven']."\r\n");
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
|
||||
if ($envoiGroupe==false) {
|
||||
/** Profil souhaitant un email par annonce **/
|
||||
$emailEnvoi=$email;
|
||||
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
|
||||
//$emailEnvoi='lenaoury@gmail.com';
|
||||
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance des actes déposés $sirenAff $nicAff : $rs", $message)) {
|
||||
|
||||
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$login' AND email='$email' AND source='actes' AND siren='$siren'";
|
||||
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where; (1 mail/annonce)".EOL;
|
||||
|
||||
if (!$modeTest) {
|
||||
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$login' AND email='$email' AND source='actes' AND siren='$siren'";
|
||||
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
||||
echo date('Y/m/d - H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre/$email, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
|
||||
}
|
||||
$messageInfo=$message."\r\n".date('Y/m/d - H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés $sirenAff $nicAff : $rs", $messageInfo);
|
||||
echo date('Y/m/d - H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.\n";
|
||||
} else {
|
||||
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email !!!";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés $sirenAff $nicAff : $rs - Echec Envoi !", $messageInfo);
|
||||
echo date('Y/m/d - H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email.\n";
|
||||
}
|
||||
}
|
||||
$emailPre=$email;
|
||||
$loginPre=$login;
|
||||
$envoiGroupePre=$envoiGroupe;
|
||||
$conversionPdfPre=$conversionPdf;
|
||||
$conversionCsvPre=$conversionCsv;
|
||||
$fichierCsvPre=$fichierCsv;
|
||||
}
|
||||
|
||||
|
||||
/** Envoi du dernier email pour les envois groupés **/
|
||||
if (($envoiGroupe||$envoiGroupePre) && $emailPre<>false && $loginPre<>false) {
|
||||
$emailEnvoi=$emailPre;
|
||||
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
|
||||
|
||||
if ($conversionPdf) {
|
||||
$html2pdf = new HTML2PDF('P','A4', 'fr');
|
||||
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
|
||||
$html2pdf->WriteHTML($messagePdf);
|
||||
$content=$html2pdf->Output('annonces.pdf', true);
|
||||
$fichierPdf="/var/www/html/factures/pdf/scores_$login".'_'.date('Y-m-d').".pdf";
|
||||
$fp=fopen($fichierPdf, 'w');
|
||||
fwrite($fp, $content);
|
||||
fclose($fp);
|
||||
$tabAttached=array($fichierPdf);
|
||||
} elseif ($conversionCsv) {
|
||||
$tabAttached=array($fichierCsv);
|
||||
} else $tabAttached=array();
|
||||
|
||||
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance des actes déposés", $message, '', $tabAttached)) {
|
||||
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'";
|
||||
echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL;
|
||||
|
||||
|
||||
|
||||
if (!$modeTest) {
|
||||
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")";
|
||||
else $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'";
|
||||
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
||||
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($where) !\n";
|
||||
}
|
||||
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés", $messageInfo, '', $tabAttached);
|
||||
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.\n";
|
||||
} else {
|
||||
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
|
||||
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance des actes déposés - Echec Envoi !", $messageInfo, '', $tabAttached);
|
||||
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement d'envoi des surveillances Actes.\n";
|
||||
die();
|
||||
?>
|
@ -1,552 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
/**
|
||||
* @todo
|
||||
* 1. Numéroter toutes les procédures OK
|
||||
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
|
||||
* 101 Commentaire
|
||||
* 102 Activite déclaré au Bodacc
|
||||
* 103 texte rectificatif
|
||||
* 104 Annonce complète au format texte
|
||||
* 105 Structure Dirigeants BODACC
|
||||
* 106 Libellé du Périmètre de la vente
|
||||
* 3.
|
||||
* 5. JugesCommissaires à intégrer correctement
|
||||
|
||||
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
|
||||
|
||||
Raison sociale du vendeur Anum. 255
|
||||
Siren du vendeur (en cas de Vente/Cessions) Num. 9
|
||||
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
|
||||
*/
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$repProduction='/mnt/samba/partage/production/';
|
||||
|
||||
$incrementationDesTour=true;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Génère les fichiers de diffusion des des annonces BODACC.
|
||||
|
||||
Options :
|
||||
-i Ne pas incrémenter les numéros de tour (pour les tests).
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'i':
|
||||
$incrementationDesTour=false;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$typePrestaton='diffusionBodacc';
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('jo');
|
||||
|
||||
function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLignes=0) {
|
||||
$lonLigne=LONGUEUR_LIGNE_SORTIE-90;
|
||||
$str='';
|
||||
switch ($typeLigne) {
|
||||
case '102': // Activité déclarée au Bodacc
|
||||
case '103': // Texte rectificatif
|
||||
case '104': // Annonce Bodacc Complète
|
||||
case '105': // Structure dirigeants
|
||||
$tabLigne=str_split($chaine, $lonLigne);
|
||||
foreach ($tabLigne as $i=>$ligne) {
|
||||
$str.=rtrim($typeLigne.$enteteLigne.$ligne).$eol;
|
||||
$nbLignes++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
|
||||
break;
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
function getListeAdherents($prestation) {
|
||||
$iDbCrm=new WDB('sugarcrm');
|
||||
$rep=$iDbCrm->select('cases_cstm q, accounts a, cases p LEFT JOIN contacts_cases k ON p.id = k.case_id LEFT JOIN contacts c ON k.contact_id = c.id LEFT JOIN contacts_cstm s ON c.id = s.id_c',
|
||||
'p.id, p.case_number, p.name, p.account_id, a.name, q.typeprestation_c, q.datemiseenplace_c, q.datefinprestation_c, q.prestatest_c, q.loginprestation_c, q.passwordprestation_c, q.supportprestation_c, q.optionsupport_c, q.freqenvois_c, q.formatdesenvois_c, q.trtnumerotour_c, q.trtdatederniereexec_c, q.optionsprestation_c, k.contact_id, k.deleted as lienContactDeleted, c.deleted as ContactDeleted, c.salutation, c.first_name, c.last_name, c.title, c.department, c.phone_mobile, c.phone_work, c.phone_fax, c.email1, c.email2, c.primary_address_street, c.primary_address_city, c.primary_address_postalcode, s.typedecontact_c', "p.deleted=0 AND p.id=q.id_c AND q.typeprestation_c='$prestation' AND q.prestationactive_c=1 AND p.account_id=a.id AND a.deleted=0 ORDER BY p.case_number ASC", true, MYSQL_ASSOC);
|
||||
//print_r($rep);
|
||||
$tabPrestation=array();
|
||||
foreach ($rep as $i=>$contacts) {
|
||||
$numPrestation=$contacts['case_number'];
|
||||
if ($contacts['lienContactDeleted']==0 && $contacts['ContactDeleted']==0) {
|
||||
if ($contacts['email1']<>'') $email=$contacts['email1'];
|
||||
else $email=$contacts['email2'];
|
||||
if (!isset($tabPrestation[$numPrestation])) {
|
||||
// echo "Ligne $i, prestation $numPrestation : ".$contacts['last_name']."\n";
|
||||
$tabPrestation[$numPrestation]=array('id'=>$contacts['case_number'],
|
||||
'idPrestationBdd'=>$contacts['id'],
|
||||
'nomClient'=>$contacts['name'],
|
||||
'typePrestation'=>$contacts['typeprestation_c'],
|
||||
'dateDebut'=>$contacts['datemiseenplace_c'],
|
||||
'dateFin'=>$contacts['datefinprestation_c'],
|
||||
'test'=>$contacts['prestatest_c'],
|
||||
'loginPrestation'=>$contacts['loginprestation_c'],
|
||||
'passwPrestation'=>$contacts['passwordprestation_c'],
|
||||
'supportPrestation'=>$contacts['supportprestation_c'],
|
||||
'optionSupport'=>$contacts['optionsupport_c'],
|
||||
'freqEnvois'=>$contacts['freqenvois_c'],
|
||||
'formatEnvois'=>$contacts['formatdesenvois_c'],
|
||||
'numeroDeTour'=>$contacts['trtnumerotour_c'],
|
||||
'dateDerniereExec'=>$contacts['trtdatederniereexec_c'],
|
||||
'optionPrestation'=>$contacts['optionsprestation_c'],
|
||||
'contacts'=>array(array( 'salutation'=>$contacts['salutation'],
|
||||
'prenom'=>$contacts['first_name'],
|
||||
'nom'=>$contacts['last_name'],
|
||||
'fonction'=>$contacts['title'],
|
||||
'tel_por'=>$contacts['phone_mobile'],
|
||||
'tel_bur'=>$contacts['phone_work'],
|
||||
'tel_fax'=>$contacts['phone_fax'],
|
||||
'email'=>$email,
|
||||
'adresse'=>$contacts['primary_address_street'],
|
||||
'ville'=>$contacts['primary_address_city'],
|
||||
'codePos'=>$contacts['primary_address_postalcode'],
|
||||
'typeContact'=>$contacts['typedecontact_c'])));
|
||||
} else {
|
||||
// echo "Ligne $i, prestation $numPrestation : ".$contacts['last_name']."\n";
|
||||
$tabPrestation[$numPrestation]['contacts']=array_merge($tabPrestation[$numPrestation]['contacts'], array(
|
||||
array( 'salutation'=>$contacts['salutation'],
|
||||
'prenom'=>$contacts['first_name'],
|
||||
'nom'=>$contacts['last_name'],
|
||||
'fonction'=>$contacts['title'],
|
||||
'tel_por'=>$contacts['phone_mobile'],
|
||||
'tel_bur'=>$contacts['phone_work'],
|
||||
'tel_fax'=>$contacts['phone_fax'],
|
||||
'email'=>$email,
|
||||
'adresse'=>$contacts['primary_address_street'],
|
||||
'ville'=>$contacts['primary_address_city'],
|
||||
'codePos'=>$contacts['primary_address_postalcode'],
|
||||
'typeContact'=>$contacts['typedecontact_c'])));
|
||||
}
|
||||
}}
|
||||
return $tabPrestation;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
|
||||
|
||||
/** On récupère la liste des Adhérents **/
|
||||
|
||||
$tabAdherents=getListeAdherents($typePrestaton);
|
||||
//print_r($tabAdherents);
|
||||
$nbClients=count($tabAdherents);
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL;
|
||||
//print_r($tabAdherents);die();
|
||||
foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
|
||||
{
|
||||
$clientNumTourFichier=($tabAdherent['numeroDeTour']*1)+1;
|
||||
$clientIdentifiant=trim($tabAdherent['loginPrestation']);
|
||||
$nomClient=trim($tabAdherent['nomClient']);
|
||||
$numPrestation=$tabAdherent['id'];
|
||||
/** Le client souhaite une compression du fichier ? **/
|
||||
if (strpos($tabAdherent['optionSupport'], 'gzip')) $optionZip='gzip';
|
||||
elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip';
|
||||
else $optionZip='none';
|
||||
|
||||
/** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/
|
||||
if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n";
|
||||
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
|
||||
else $optionEOL=EOL;
|
||||
|
||||
$tabOptOutput=array();
|
||||
|
||||
if($tabAdherent['dateDebut']<>'' && $tabAdherent['dateDebut']<>'0000-00-00')
|
||||
$dateDebutPrestation=WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateDebut']);
|
||||
else
|
||||
$dateDebutPrestation=false;
|
||||
|
||||
if($tabAdherent['dateFin']<>'' && $tabAdherent['dateFin']<>'0000-00-00')
|
||||
$dateFinPrestation=WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateFin']);
|
||||
else
|
||||
$dateFinPrestation=false;
|
||||
|
||||
if($tabAdherent['dateDerniereExec']<>'' && $tabAdherent['dateDerniereExec']<>'0000-00-00')
|
||||
$dateDernierTraitement=WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateDerniereExec']);
|
||||
else
|
||||
$dateDernierTraitement=false;
|
||||
|
||||
if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée
|
||||
{
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($dateFinPrestation && $dateFinPrestation>DATE) // La date de fin de la prestation est révolue
|
||||
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL;
|
||||
continue;
|
||||
}
|
||||
/****
|
||||
if ($dateDernierTraitement && $dateDernierTraitement==DATE)
|
||||
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL;
|
||||
continue;
|
||||
} elseif ($dateDernierTraitement==0) {
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL;
|
||||
$dateDernierTraitement=false;
|
||||
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
|
||||
//} Bloc a décommenter
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL;
|
||||
|
||||
/**
|
||||
** On génère la ligne d'entête
|
||||
**/
|
||||
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
|
||||
if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date de génération du fichier
|
||||
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
'';
|
||||
fwrite($fp, $str.$optionEOL);
|
||||
$nbLignes=1;
|
||||
|
||||
/**
|
||||
** On génère les lignes de détail
|
||||
**/
|
||||
$strRubrique='';
|
||||
if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes
|
||||
$strRubrique.="'comptes',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
|
||||
$strRubrique.="'creations',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD
|
||||
$strRubrique.="'mmd',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'procol')) // Export des ProCol
|
||||
$strRubrique.="'procol',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'radiations')) // Export des radiations
|
||||
$strRubrique.="'radiations',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions
|
||||
$strRubrique.="'ventes',";
|
||||
|
||||
if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire
|
||||
$tabOptOutput[101]=true; else $tabOptOutput[101]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc
|
||||
$tabOptOutput[102]=true; else $tabOptOutput[102]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte
|
||||
$tabOptOutput[104]=true; else $tabOptOutput[104]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
|
||||
$tabOptOutput[105]=true; else $tabOptOutput[105]=false;
|
||||
|
||||
$tabSiren=$iDb->select('mederic', 'distinct(siren)', '1', true, MYSQL_ASSOC);
|
||||
$nbSirenClient=count($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient siren en surveillance.".EOL;
|
||||
$tabSiren2=array();
|
||||
foreach ($tabSiren as $siren) {
|
||||
$tabSiren2[]=$siren['siren'];
|
||||
}
|
||||
sort($tabSiren2);
|
||||
$tabSiren=$tabSiren2;
|
||||
unset($tabSiren2);
|
||||
//die();
|
||||
|
||||
$fields='id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, raisonSociale, nomCommercial, enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
|
||||
$where='1';
|
||||
// On filtre les rubriques demandées
|
||||
if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') ';
|
||||
// On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client
|
||||
/**
|
||||
if ($dateDernierTraitement) $where.=" AND dateInsert>'$dateDernierTraitement' ";
|
||||
// ... sinon on prend les annonces depuis la date de début de la prestation
|
||||
elseif ($dateDebutPrestation) $where.=" AND dateInsert>'$dateDebutPrestation' ";
|
||||
else $where.=" AND dateInsert>='MAX(DATE_FORMAT(dateInsert,'%Y-%m-%d'))') ";
|
||||
**/
|
||||
$where.=" AND d.siren=s.siren AND Bodacc_Date_Parution BETWEEN 20060901 AND 20070930 ";
|
||||
|
||||
//echo date ('Y/m/d - H:i:s')." - SQL : ... WHERE $where;".EOL;
|
||||
//$tabAnnonces
|
||||
$nbAnnonces=$iDb->select('bodacc_detail d, mederic s', $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client...".EOL;
|
||||
|
||||
//while(=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
//print_r($annonce);
|
||||
//$k++;
|
||||
//$siren=$record['siren'];***/
|
||||
|
||||
//foreach ($tabAnnonces as $numAnn=>$annonce) {
|
||||
// On récupère les 2 intervenants de la procédure
|
||||
//if (!in_array($annonce['siren'], $tabSiren)) continue;
|
||||
|
||||
$numInter=0;
|
||||
$inter=array();
|
||||
if ($annonce['mandNom']<>'' || $annonce['mandCP']<>0) {
|
||||
$inter[$numInter]['type']='M'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['mandNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['mandRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['mandAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['mandCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['mandVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['creaNom']<>'' || $annonce['creaCP']<>0) {
|
||||
$inter[$numInter]['type']='R'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['creaNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['creaRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['creaAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['creaCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['creaVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['admNom']<>'' || $annonce['admCP']<>0) {
|
||||
$inter[$numInter]['type']='A'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['admNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['admRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['admAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['admCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['admVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
/* if ($annonce['oppoNom']<>'' || $annonce['oppoCP']<>0) {
|
||||
$inter[$numInter]['type']='O'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['oppoNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['oppoRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['oppoAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['oppoCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['oppoVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}*/
|
||||
$tribunalCode=$iDb2->select('bodacc', 'Tribunal_Code', 'id='.$annonce['id'], false);
|
||||
$tribunalCode=$tribunalCode[0][0];
|
||||
|
||||
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr(FILLER, 1) . // On garde de la place
|
||||
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
// R=Rectif, S=Suppression
|
||||
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
|
||||
// (ex: 230A, 001B)
|
||||
// initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I,
|
||||
// initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D
|
||||
initstr(FILLER, 18) . // REFERENCE DU CLIENT
|
||||
initstr($tribunalCode, 6) .
|
||||
initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
|
||||
initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise
|
||||
initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise
|
||||
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
|
||||
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
|
||||
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
|
||||
initstr('0000', 4) . // FJ codification Insee
|
||||
initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC
|
||||
initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital
|
||||
initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO)
|
||||
// Adresse / 150 car
|
||||
initstr($annonce['adrNum'], 4, '0', ALIGN_RIGHT) . //
|
||||
initstr($annonce['adrIndRep'], 1) . //
|
||||
initstr($annonce['adrTypVoie'], 5) .
|
||||
initstr($annonce['adrLibVoie'], 50) .
|
||||
initstr($annonce['adrComp1'], 50) .
|
||||
initstr($annonce['adrComp2'], 40) .
|
||||
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
|
||||
// Adresse du siège / 150 car
|
||||
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
|
||||
initstr($annonce['adrIndRepSiege'], 1) . //
|
||||
initstr($annonce['adrTypVoieSiege'], 5) .
|
||||
initstr($annonce['adrLibVoieSiege'], 50) .
|
||||
initstr($annonce['adrComp1Siege'], 50) .
|
||||
initstr($annonce['adrComp2Siege'], 40) .
|
||||
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
|
||||
initstr(str_replace(';','', $annonce['typeEven']), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
|
||||
initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
|
||||
initstr(FILLER, 1) . // FILLER (Replace type de création)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD)
|
||||
// ou Date clôture exercice si ann dépôt comptes
|
||||
initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente
|
||||
initstr($annonce['VenteDev'], 3) . // Devise de la ventre
|
||||
initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe
|
||||
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[0]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[0]['Repr'], 80) . // Représentant
|
||||
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[0]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[1]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[1]['Repr'], 80) . // Représentant
|
||||
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[1]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation
|
||||
initstr(FILLER, 89) .
|
||||
'';
|
||||
fwrite($fp, rtrim($str).$optionEOL);
|
||||
$nbLignes++;
|
||||
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
|
||||
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
|
||||
$enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr(FILLER, 1) . // On garde de la place
|
||||
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
// R=Rectificatif, S=Suppression
|
||||
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
|
||||
initstr(FILLER, 18) . // REF CLI
|
||||
'';
|
||||
|
||||
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
|
||||
fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes));
|
||||
if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc
|
||||
fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes));
|
||||
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
|
||||
fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes));
|
||||
if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète
|
||||
$annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false);
|
||||
$annoncetxt=$annoncetxt[0][0];
|
||||
fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes));
|
||||
}
|
||||
if ($tabOptOutput[105]==true) { // Liste des dirigeants
|
||||
$annonceDir=$iDb2->select('bodacc_dirigeants', 'id, num, dateEffet, fonction, rs, nom, prenom, nomUsage', 'id='.$annonce['id'], true);
|
||||
$strDir='';
|
||||
foreach ($annonceDir as $k=>$dir) {
|
||||
$strDir.=initstr(WDate::dateT('Y-m-d','Ymd',$dir['dateEffet']), 8, '0', ALIGN_RIGHT) . // Date de la prise de fonction
|
||||
initstr($dir['fonction'], 4) . // Code Fonction S&D
|
||||
initstr($dir['rs'], 80) . // Raison Sociale du dirigeant
|
||||
initstr($dir['nom'], 50) . // NOM du dirigeant
|
||||
initstr($dir['prenom'], 100) . // Prenom
|
||||
initstr($dir['usage'], 50); // Nom d'usage
|
||||
if ($k%6==0) $strDir.=initstr(' ', 28);
|
||||
else $strDir.=initstr(' ', 26);
|
||||
}
|
||||
fwrite($fp, genereMultiLigne('105', $enteteL, $strDir, $optionEOL, $nbLignes));
|
||||
}
|
||||
if ($nbLignes%1000==1) echo date ('Y/m/d - H:i:s')." - Nb lignes=$nbLignes\n";
|
||||
}
|
||||
|
||||
/**
|
||||
** On génère la ligne de fin de fichier
|
||||
**/
|
||||
$nbLignes++;
|
||||
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
|
||||
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
|
||||
'';
|
||||
fwrite($fp, $str); // Pas de fin de ligne sur la dernière ligne
|
||||
fclose($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
|
||||
|
||||
/** Mise à jour des numéros de tour et des date de dernières exécutions
|
||||
**/
|
||||
if ($incrementationDesTour) {
|
||||
$iDbCrm=new WDB('sugarcrm');
|
||||
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
|
||||
"id_c='".$tabAdherent['idPrestationBdd']."'");
|
||||
}
|
||||
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
|
||||
switch ($optionZip) {
|
||||
case 'zip':
|
||||
$zip = new ZipArchive;
|
||||
$res = $zip->open($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.zip', ZipArchive::CREATE);
|
||||
if ($res === TRUE) {
|
||||
// $zip->addFromString('test.txt', 'file content goes here');
|
||||
$zip->addFile( REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt',
|
||||
$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$zip->close();
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.zip OK...'.EOL;
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
}
|
||||
break;
|
||||
case 'gzip':
|
||||
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$gz = gzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.gz','w9');
|
||||
if (!$gz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
} else {
|
||||
gzwrite($gz, $string);
|
||||
gzclose($gz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.gz OK...'.EOL;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion BODACC.\n";
|
||||
die();
|
||||
?>
|
@ -1,456 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
define('VERSION_FICHIER_BODACC','0106');
|
||||
|
||||
/**
|
||||
* @todo
|
||||
* 1. Numéroter toutes les procédures OK
|
||||
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
|
||||
* 101 Commentaire
|
||||
* 102 Activite déclaré au Bodacc
|
||||
* 103 texte rectificatif
|
||||
* 104 Annonce complète au format texte
|
||||
* 105 Structure Dirigeants BODACC
|
||||
* 106 Libellé du Périmètre de la vente
|
||||
* 3.
|
||||
* 5. JugesCommissaires à intégrer correctement
|
||||
|
||||
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
|
||||
|
||||
Raison sociale du vendeur Anum. 255
|
||||
Siren du vendeur (en cas de Vente/Cessions) Num. 9
|
||||
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
|
||||
*/
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$repProduction='/mnt/samba/partage/production/';
|
||||
|
||||
$incrementationDesTour=true;
|
||||
$typePrestaton='diffusionBodacc';
|
||||
$ignoreDateDerExec=$retroActivite=false;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Extaction Bodacc pour CSF.
|
||||
|
||||
Options :
|
||||
-a:2004 Année 2004
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'a':
|
||||
$annee=substr($argv[$i],3,strlen($argv[$i])-3);
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('historiques');
|
||||
$iDb2=new WDB('historiques');
|
||||
//$iDb2=new WDB('jo');
|
||||
$iBodacc=new MBodacc();
|
||||
|
||||
function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLignes=0) {
|
||||
$lonLigne=LONGUEUR_LIGNE_SORTIE-90;
|
||||
$str='';
|
||||
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
|
||||
switch ($typeLigne) {
|
||||
case '102': // Activité déclarée au Bodacc
|
||||
case '103': // Texte rectificatif
|
||||
case '104': // Annonce Bodacc Complète
|
||||
case '105': // Structure dirigeants
|
||||
$tabLigne=str_split($chaine, $lonLigne);
|
||||
foreach ($tabLigne as $i=>$ligne) {
|
||||
$str.=initstr($typeLigne.$enteteLigne.$ligne, LONGUEUR_LIGNE_SORTIE).$eol;
|
||||
$nbLignes++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
|
||||
break;
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
|
||||
|
||||
/** On récupère la liste des Adhérents **/
|
||||
|
||||
$optionZip='none';
|
||||
$optionEOL="\r\n";
|
||||
$tabOptOutput=array();
|
||||
$dateDernierTraitement=false;
|
||||
|
||||
$dateDebutPrestation=''.$annee.'0301';
|
||||
$dateFinPrestation=''.$annee.'1231';
|
||||
//$dateFinPrestation=''.$annee.'0631';
|
||||
|
||||
$clientIdentifiant='CSF_BodaccAB_'.$annee;
|
||||
|
||||
/**
|
||||
** On génère la ligne d'entête
|
||||
**/
|
||||
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
|
||||
if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date de génération du fichier
|
||||
initstr(0, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
|
||||
initstr(FILLER, 1901) . // FILLER
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
||||
$nbLignes=1;
|
||||
|
||||
/**
|
||||
** On génère les lignes de détail
|
||||
**/
|
||||
$strRubrique='';
|
||||
$tabOptOutput[104]=true;
|
||||
$tabNaf=array();
|
||||
$versionEvenClient=11;
|
||||
|
||||
$tables='entrep e, texte x, annonce_hiz z';
|
||||
$fields='e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt, E1TNOM, E1TSIG, E1ENRU, E1EBTQ, E1ETVI, E1EVOI, E1ECPI, E1EVIL, z.DATEZ, z.DTEFFZ, z.RUBODZ';
|
||||
//d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
|
||||
$where="e.E1GSIR>10000 AND e.DATE BETWEEN $dateDebutPrestation AND $dateFinPrestation AND e.ANBASE=x.annonceNum AND e.ANBASE=z.ANBAZ AND E1GSTB=1";
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
||||
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
|
||||
echo date ('Y/m/d - H:i:s')." - $nbAnnonces annonces à traiter...".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début de génération du fichier client en version $versionEvenClient...".EOL;
|
||||
|
||||
$numAnnonceSD=0010000000+(($annee*1)-1995)*3000000;
|
||||
$numPre=-1;
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
|
||||
if ($annonce['ANBASE']==$numPre) continue;
|
||||
$numPre=$annonce['ANBASE'];
|
||||
|
||||
if ($annonce['JAL']==1) $Bodacc_Code='A';
|
||||
elseif ($annonce['JAL']==200) $Bodacc_Code='B';
|
||||
|
||||
if ($annonce['CODEVE']<20) $tabEven=array('4999');
|
||||
elseif ($annonce['CODEVE']<=25) $tabEven=array('5999');
|
||||
elseif ($annonce['CODEVE']<40) $tabEven=array('2312');
|
||||
elseif ($annonce['CODEVE']<42) $tabEven=array('6700');
|
||||
elseif ($annonce['CODEVE']<50) $tabEven=array('2312');
|
||||
elseif ($annonce['CODEVE']<80) $tabEven=array('1999');
|
||||
|
||||
$tabTmp=$iDb2->select('annonce_hinl', 'NUMEZ, DATEZ, DTEFFZ', 'ANBAZ='.$annonce['ANBASE'], false, MYSQL_ASSOC);
|
||||
$dateJ=@$tabTmp[0]['DATEZ'];
|
||||
|
||||
$tabTmp=$iDb2->select('annonce_hia', 'DATEZ, DTEFFZ, MOVENA, MTVENA', 'ANBAZ='.$annonce['ANBASE'], false, MYSQL_ASSOC);
|
||||
$VenteMt=$tabTmp[0]['MTVENA']*1;
|
||||
$VenteDev=@$tabTmp[0]['MOVENA'];
|
||||
|
||||
/* $tabRet[$k]=array( 'id'=>-$ann['ANBASE'],
|
||||
'BodaccCode'=>$Bodacc_Code,
|
||||
'BodaccNum'=>$ann['NOBOD'],
|
||||
'NumAnnonce'=>$ann['NOANN'],
|
||||
'DateParution'=>substr($ann['DATE'],0,4).'-'.substr($ann['DATE'],4,2).'-'.substr($ann['DATE'],6,2),
|
||||
'Departement'=>$ann['DEPT'],
|
||||
'Tribunal'=>$ann['triNom'],
|
||||
'TribunalSiret'=>$ann['triSiret'],
|
||||
'Rubrique'=>$rub,
|
||||
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],
|
||||
//'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
||||
// 'texteAnnonce'=>$ann['annonceTxt'],
|
||||
'dateEffet'=>$ann['DATE'],
|
||||
'dateJugement'=>$ann['DATE'],
|
||||
'dateInsertionSD'=>'',
|
||||
'evenements'=>array(array('CodeEven'=>$tabTmp[$ann['CODEVE']],'LibEven'=>$this->iBodacc->getEvenement($tabTmp[$ann['CODEVE']]))),
|
||||
);
|
||||
if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=$ann['NOANN'].' - '.$ann['annonceTxt'];
|
||||
} */
|
||||
$numInter=0;
|
||||
$inter=array();
|
||||
if ($annonce['mandNom']<>'' || $annonce['mandCP']<>0) {
|
||||
$inter[$numInter]['type']='M'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['mandNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['mandRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['mandAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['mandCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['mandVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['creaNom']<>'' || $annonce['creaCP']<>0) {
|
||||
$inter[$numInter]['type']='R'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['creaNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['creaRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['creaAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['creaCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['creaVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['admNom']<>'' || $annonce['admCP']<>0) {
|
||||
$inter[$numInter]['type']='A'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['admNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['admRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['admAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['admCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['admVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
/* if ($annonce['oppoNom']<>'' || $annonce['oppoCP']<>0) {
|
||||
$inter[$numInter]['type']='O'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['oppoNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['oppoRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['oppoAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['oppoCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['oppoVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}*/
|
||||
$numAnnonceSD++;
|
||||
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
|
||||
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
// R=Rectif, S=Suppression
|
||||
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
||||
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
|
||||
// (ex: 230A, 001B)
|
||||
initstr(FILLER, 18) . // REFERENCE DU CLIENT
|
||||
initstr($annonce['CODTRI'], 6) .
|
||||
initstr(FILLER, 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
|
||||
initstr($annonce['E1TNOM'], 150) . // Raison sociale de l'entreprise
|
||||
initstr(FILLER, 100) . // Nom commercial de l'entreprise
|
||||
initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement
|
||||
initstr(FILLER, 30) . // Nationalité si Personne physique
|
||||
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
|
||||
initstr('0000', 4) . // FJ codification Insee
|
||||
initstr(FILLER, 90) . // Forme juridique de l'entreprise déclarée au BODACC
|
||||
initstr(FILLER, 15, '0', ALIGN_RIGHT) . // Capital
|
||||
initstr(FILLER, 3) . // Devise du capital (format ISO)
|
||||
// Adresse / 150 car
|
||||
initstr(FILLER, 4, '0', ALIGN_RIGHT) . //
|
||||
initstr(FILLER, 1) . //
|
||||
initstr(FILLER, 5) .
|
||||
initstr(FILLER, 50) .
|
||||
initstr(FILLER, 50) .
|
||||
initstr(FILLER, 40) .
|
||||
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr(FILLER, 45) . // Ville de l'établissement
|
||||
// Adresse du siège / 150 car
|
||||
initstr($annonce['E1ENRU'], 4, '0', ALIGN_RIGHT) . //
|
||||
initstr($annonce['E1EBTQ'], 1) . //
|
||||
initstr($annonce['E1ETVI'], 5) .
|
||||
initstr($annonce['E1EVOI'], 50) .
|
||||
initstr(FILLER, 50) .
|
||||
initstr(FILLER, 40) .
|
||||
initstr($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr($annonce['E1EVIL'], 45) . // Ville de l'établissement
|
||||
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
|
||||
initstr(FILLER, 100) . // NOM du JAL si publication
|
||||
initstr(FILLER, 8) . // Date de publication du JAL si publication
|
||||
initstr(FILLER, 8) . // Date de cessation des paiements
|
||||
initstr($dateJ, 8) . // Date du jugement
|
||||
initstr(FILLER, 1) . // FILLER (Replace type de création)
|
||||
initstr(FILLER, 8) . // Date de début d'activité
|
||||
initstr($annonce['DTEFFZ'], 8) . // Date d'effet (Ventes/MMD)
|
||||
// ou Date clôture exercice si ann dépôt comptes
|
||||
initstr($VenteMt, 15, '0', ALIGN_RIGHT) . // Montant de la vente
|
||||
initstr($VenteDev, 3) . // Devise de la ventre
|
||||
initstr(FILLER, 35) . // Numéro de l'affaire au greffe
|
||||
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[0]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[0]['Repr'], 80) . // Représentant
|
||||
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[0]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[1]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[1]['Repr'], 80) . // Représentant
|
||||
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[1]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
|
||||
initstr(FILLER, 8) . // Date limite pour le dépôt des créances
|
||||
initstr(FILLER, 8) . // Date de fin de la période d'observation
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
||||
$nbLignes++;
|
||||
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
|
||||
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
|
||||
$enteteL= initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
|
||||
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
||||
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée // (ex: 230A, 001B)
|
||||
initstr(FILLER, 18) .
|
||||
'';
|
||||
|
||||
$texte=trim(strtr(preg_replace('/ +/', ' ', strtr(preg_replace('/ +/', ' ',$annonce['annonceTxt'].'.'),
|
||||
array( ' Jugement '=>'. Jugement ',
|
||||
' RCS '=>'. RCS ',
|
||||
' RCS non encore inscrit '=>'. RCS non encore inscrit. ',
|
||||
'RCSnon encore inscrit '=>'RCS non encore inscrit. ',
|
||||
'RCSNon encore inscrits '=>'RCS non encore inscrit. ',
|
||||
'RCSRCS '=>'RCS ',
|
||||
' Forme:'=>'. Forme : ',
|
||||
' Capital:'=>'. Capital : ',
|
||||
' Enseigne:'=>'. Enseigne : ',
|
||||
' Sigle:'=>'. Sigle : ',
|
||||
' Activité:'=>'. Activité : ',
|
||||
' Commentaires:'=>'. Commentaires : ',
|
||||
' Adresse:'=>'. Adresse : ',
|
||||
' Date de cessation des paiements:'=>'. Date de cessation des paiements : ',
|
||||
' Mandataire judiciaire:'=>'. Mandataire judiciaire : ',
|
||||
' Les déclarations de créances '=>' Les déclarations de créances ',
|
||||
' Fonds acquis par achat '=>'. Fonds acquis par achat ',
|
||||
" Date d'effet:"=>". Date d'effet : ",
|
||||
" Date d' effet:"=>". Date d'effet : ",
|
||||
' Précédent propriétaire '=>'. Précédent propriétaire : ',
|
||||
' Précédent exploitant '=>'. Précédent exploitant : ',
|
||||
' Première insertion:'=>'. Première insertion : ',
|
||||
' oppositions:'=>'. Oppositions : ',
|
||||
' Oppositions:'=>'. Oppositions : ',
|
||||
' Adresse du siège social:'=>'. Adresse du siège social : ',
|
||||
" Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ",
|
||||
' Administration:'=>'. Administration : ',
|
||||
))), array(':.'=>':', '..'=>'.', '. .'=>'.')));
|
||||
|
||||
fwrite($fp, genereMultiLigne('104', $enteteL, $texte, $optionEOL, $nbLignes));
|
||||
|
||||
if ($nbLignes%1000==1) echo date ('Y/m/d - H:i:s')." - Nb lignes=$nbLignes\n";
|
||||
}
|
||||
|
||||
/**
|
||||
** On génère la ligne de fin de fichier
|
||||
**/
|
||||
$nbLignes++;
|
||||
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
|
||||
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
|
||||
fclose($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
|
||||
|
||||
/** Mise à jour des numéros de tour et des date de dernières exécutions
|
||||
**/
|
||||
if ($incrementationDesTour) {
|
||||
$iDbCrm=new WDB('sugarcrm');
|
||||
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
|
||||
"id_c='".$tabAdherent['idPrestationBdd']."'");
|
||||
}
|
||||
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
|
||||
switch ($optionZip) {
|
||||
case 'zip':
|
||||
$zip = new ZipArchive;
|
||||
$res = $zip->open($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.zip', ZipArchive::CREATE);
|
||||
if ($res === TRUE) {
|
||||
// $zip->addFromString('test.txt', 'file content goes here');
|
||||
$zip->addFile( REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt',
|
||||
$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$zip->close();
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.zip OK...'.EOL;
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Zip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
}
|
||||
break;
|
||||
case 'gzip':
|
||||
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$gz = gzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.gz','w9');
|
||||
if (!$gz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Gzip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
} else {
|
||||
gzwrite($gz, $string);
|
||||
gzclose($gz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.gz OK...'.EOL;
|
||||
}
|
||||
break;
|
||||
case 'bzip2':
|
||||
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$bz = bzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2','w');
|
||||
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
|
||||
if (!$bz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
} else {
|
||||
bzwrite($bz, $string, strlen($string));
|
||||
bzclose($bz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.bz2 OK...'.EOL;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL;
|
||||
break;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion BODACC.\n";
|
||||
die();
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,882 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
if (!defined('VERSION_FICHIER_BODACC'))
|
||||
define('VERSION_FICHIER_BODACC','0106');
|
||||
|
||||
/**
|
||||
* @todo
|
||||
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
|
||||
* 5. JugesCommissaires à intégrer correctement
|
||||
*/
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
|
||||
$repProduction='/mnt/samba/partage/production/';
|
||||
|
||||
$incrementationDesTour=true;
|
||||
$typePrestaton='diffusionBodacc';
|
||||
$ignoreDateDerExec=$retroActivite=false;
|
||||
$codeAdherent='';
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Génère les fichiers des clients en surveillance ou diffusion des annonces BODACC.
|
||||
|
||||
Options :
|
||||
-d Clients en Diffusion Bodacc (par défaut)
|
||||
-s Clients en Surveillance Bodacc
|
||||
-e Ne pas tenir compte de la date de dernière exécution du script
|
||||
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution: n°tour, dates trt, fichier en rép tempo...)
|
||||
-c:AAA Limiter le traitement au fichier de l'abonné AAA
|
||||
-r:XX Faire une rétroactivté de XX jours
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'i':
|
||||
$incrementationDesTour=false;
|
||||
$repProduction=REP_TEMP;
|
||||
break;
|
||||
case 's':
|
||||
$typePrestaton='surveillanceBodacc';
|
||||
break;
|
||||
case 'd':
|
||||
$typePrestaton='diffusionBodacc';
|
||||
break;
|
||||
case 'e':
|
||||
$ignoreDateDerExec=true;
|
||||
break;
|
||||
case 'r':
|
||||
$retroActivite=substr($argv[$i],3,strlen($argv[$i])-3);
|
||||
break;
|
||||
case 'c':
|
||||
$codeAdherent=substr($argv[$i],3,strlen($argv[$i])-3);
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('jo');
|
||||
$iBodacc=new MBodacc();
|
||||
|
||||
function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLignes=0) {
|
||||
$lonLigne=LONGUEUR_LIGNE_SORTIE-90;
|
||||
$str='';
|
||||
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
|
||||
switch ($typeLigne) {
|
||||
case '102': // Activité déclarée au Bodacc
|
||||
case '103': // Texte rectificatif
|
||||
case '104': // Annonce Bodacc Complète
|
||||
case '105': // Structure dirigeants
|
||||
$tabLigne=str_split($chaine, $lonLigne);
|
||||
foreach ($tabLigne as $i=>$ligne) {
|
||||
$str.=initstr($typeLigne.$enteteLigne.$ligne, LONGUEUR_LIGNE_SORTIE).$eol;
|
||||
$nbLignes++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
|
||||
break;
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
function getListeAdherents($prestation, $codeAdherent='') {
|
||||
$strCodeAdherent='';
|
||||
if ($codeAdherent<>'') $strCodeAdherent.=" AND q.loginprestation_c='$codeAdherent' ";
|
||||
$iDbCrm=new WDB('sugarcrm');
|
||||
$rep=$iDbCrm->select('cases_cstm q, accounts a, cases p LEFT JOIN contacts_cases k ON p.id = k.case_id LEFT JOIN contacts c ON k.contact_id = c.id LEFT JOIN contacts_cstm s ON c.id = s.id_c',
|
||||
'p.id, p.case_number, p.name, p.account_id, a.name, q.typeprestation_c, q.datemiseenplace_c, q.datefinprestation_c, q.prestatest_c, q.loginprestation_c, q.passwordprestation_c, q.supportprestation_c, q.optionsupport_c, q.freqenvois_c, q.formatdesenvois_c, q.trtnumerotour_c, q.trtdatederniereexec_c*1 as derniereExec, q.optionsprestation_c, k.contact_id, k.deleted as lienContactDeleted, c.deleted as ContactDeleted, c.salutation, c.first_name, c.last_name, c.title, c.department, c.phone_mobile, c.phone_work, c.phone_fax, c.email1, c.email2, c.primary_address_street, c.primary_address_city, c.primary_address_postalcode, s.typedecontact_c', "p.deleted=0 AND p.id=q.id_c AND q.typeprestation_c='$prestation' AND q.prestationactive_c=1 AND p.account_id=a.id AND a.deleted=0 $strCodeAdherent ORDER BY p.case_number ASC", true, MYSQL_ASSOC);
|
||||
//print_r($rep);
|
||||
$tabPrestation=array();
|
||||
foreach ($rep as $i=>$contacts) {
|
||||
$numPrestation=$contacts['case_number'];
|
||||
if ($contacts['lienContactDeleted']==0 && $contacts['ContactDeleted']==0) {
|
||||
if ($contacts['email1']<>'') $email=$contacts['email1'];
|
||||
else $email=$contacts['email2'];
|
||||
if (!isset($tabPrestation[$numPrestation])) {
|
||||
// echo "Ligne $i, prestation $numPrestation : ".$contacts['last_name']."\n";
|
||||
$tabPrestation[$numPrestation]=array(
|
||||
'id'=>$contacts['case_number'],
|
||||
'idPrestationBdd'=>$contacts['id'],
|
||||
'nomClient'=>$contacts['name'],
|
||||
'typePrestation'=>$contacts['typeprestation_c'],
|
||||
'dateDebut'=>$contacts['datemiseenplace_c'],
|
||||
'dateFin'=>$contacts['datefinprestation_c'],
|
||||
'test'=>$contacts['prestatest_c'],
|
||||
'loginPrestation'=>$contacts['loginprestation_c'],
|
||||
'passwPrestation'=>$contacts['passwordprestation_c'],
|
||||
'supportPrestation'=>$contacts['supportprestation_c'],
|
||||
'optionSupport'=>$contacts['optionsupport_c'],
|
||||
'freqEnvois'=>$contacts['freqenvois_c'],
|
||||
'formatEnvois'=>$contacts['formatdesenvois_c'],
|
||||
'numeroDeTour'=>$contacts['trtnumerotour_c'],
|
||||
'dateDerniereExec'=>$contacts['derniereExec']*1,
|
||||
'optionPrestation'=>$contacts['optionsprestation_c'],
|
||||
'contacts'=>array(array( 'salutation'=>$contacts['salutation'],
|
||||
'prenom'=>$contacts['first_name'],
|
||||
'nom'=>$contacts['last_name'],
|
||||
'fonction'=>$contacts['title'],
|
||||
'tel_por'=>$contacts['phone_mobile'],
|
||||
'tel_bur'=>$contacts['phone_work'],
|
||||
'tel_fax'=>$contacts['phone_fax'],
|
||||
'email'=>$email,
|
||||
'adresse'=>$contacts['primary_address_street'],
|
||||
'ville'=>$contacts['primary_address_city'],
|
||||
'codePos'=>$contacts['primary_address_postalcode'],
|
||||
'typeContact'=>$contacts['typedecontact_c'])));
|
||||
} else {
|
||||
// echo "Ligne $i, prestation $numPrestation : ".$contacts['last_name']."\n";
|
||||
$tabPrestation[$numPrestation]['contacts']=array_merge($tabPrestation[$numPrestation]['contacts'], array(
|
||||
array( 'salutation'=>$contacts['salutation'],
|
||||
'prenom'=>$contacts['first_name'],
|
||||
'nom'=>$contacts['last_name'],
|
||||
'fonction'=>$contacts['title'],
|
||||
'tel_por'=>$contacts['phone_mobile'],
|
||||
'tel_bur'=>$contacts['phone_work'],
|
||||
'tel_fax'=>$contacts['phone_fax'],
|
||||
'email'=>$email,
|
||||
'adresse'=>$contacts['primary_address_street'],
|
||||
'ville'=>$contacts['primary_address_city'],
|
||||
'codePos'=>$contacts['primary_address_postalcode'],
|
||||
'typeContact'=>$contacts['typedecontact_c'])));
|
||||
}
|
||||
}}
|
||||
return $tabPrestation;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
|
||||
|
||||
/** On récupère la liste des Adhérents **/
|
||||
|
||||
//die(print_r(getListeAdherents('extranet')));
|
||||
$tabAdherents=getListeAdherents($typePrestaton, $codeAdherent);
|
||||
//print_r($tabAdherents);die();
|
||||
$nbClients=count($tabAdherents);
|
||||
echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL;
|
||||
//print_r($tabAdherents);die();
|
||||
foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
|
||||
{
|
||||
$clientNumTourFichier=($tabAdherent['numeroDeTour']*1)+1;
|
||||
$clientIdentifiant=trim($tabAdherent['loginPrestation']);
|
||||
$nomClient=trim($tabAdherent['nomClient']);
|
||||
$numPrestation=$tabAdherent['id'];
|
||||
/** Le client souhaite une compression du fichier ? **/
|
||||
if (strpos($tabAdherent['optionSupport'], 'gzip')) $optionZip='gzip';
|
||||
elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip';
|
||||
else $optionZip='none';
|
||||
|
||||
/** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/
|
||||
if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n";
|
||||
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
|
||||
else $optionEOL=EOL;
|
||||
|
||||
$tabOptOutput=array();
|
||||
|
||||
if($tabAdherent['dateDebut']<>'' && $tabAdherent['dateDebut']<>'0000-00-00')
|
||||
$dateDebutPrestation=WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateDebut']);
|
||||
else
|
||||
$dateDebutPrestation=false;
|
||||
|
||||
if($tabAdherent['dateFin']<>'' && $tabAdherent['dateFin']<>'0000-00-00')
|
||||
$dateFinPrestation=WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateFin']);
|
||||
else
|
||||
$dateFinPrestation=false;
|
||||
|
||||
//die($tabAdherent['dateDerniereExec']);
|
||||
if ($ignoreDateDerExec)
|
||||
$dateDernierTraitement=false;
|
||||
elseif ($tabAdherent['dateDerniereExec']<>0)
|
||||
$dateDernierTraitement=$tabAdherent['dateDerniereExec'];//WDate::dateT('Y-m-d', 'Ymd', $tabAdherent['dateDerniereExec']);
|
||||
else
|
||||
$dateDernierTraitement=false;
|
||||
|
||||
|
||||
if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée
|
||||
{
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($dateFinPrestation && DATE>$dateFinPrestation) // La date de fin de la prestation est révolue
|
||||
{
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($dateDernierTraitement && substr($dateDernierTraitement,0,8)*1==DATE*1)
|
||||
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL;
|
||||
continue;
|
||||
} elseif ($dateDernierTraitement==0) {
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL;
|
||||
$dateDernierTraitement=false;
|
||||
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
|
||||
}// Bloc a décommenter
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL;
|
||||
|
||||
/**
|
||||
** On génère la ligne d'entête
|
||||
**/
|
||||
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
|
||||
if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date de génération du fichier
|
||||
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
|
||||
initstr(FILLER, 1901) . // FILLER
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
||||
$nbLignes=1;
|
||||
|
||||
/**
|
||||
** On génère les lignes de détail
|
||||
**/
|
||||
$strRubrique='';
|
||||
if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes
|
||||
$strRubrique.="'comptes',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
|
||||
$strRubrique.="'creations',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD
|
||||
$strRubrique.="'mmd',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'procol')) // Export des ProCol
|
||||
$strRubrique.="'procol',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'radiations')) // Export des radiations
|
||||
$strRubrique.="'radiations',";
|
||||
if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions
|
||||
$strRubrique.="'ventes',";
|
||||
|
||||
if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire
|
||||
$tabOptOutput[101]=true; else $tabOptOutput[101]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc
|
||||
$tabOptOutput[102]=true; else $tabOptOutput[102]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte
|
||||
$tabOptOutput[104]=true; else $tabOptOutput[104]=false;
|
||||
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
|
||||
$tabOptOutput[105]=true; else $tabOptOutput[105]=false;
|
||||
|
||||
$tabNaf=array();
|
||||
$posNaf=stripos($tabAdherent['optionPrestation'], 'NAF=');
|
||||
if ($posNaf!==false) {
|
||||
if (preg_match('/NAF=(.*)(?:$|\n|\r)/i',$tabAdherent['optionPrestation'],$matches))
|
||||
$tabNaf=preg_split('(;|,)', $matches[1]);
|
||||
//die(print_r($tabNaf));
|
||||
}
|
||||
|
||||
$versionEvenClient=0;
|
||||
if (preg_match('/^versionEven=(.*)$/mUi', $tabAdherent['optionPrestation'], $matches))
|
||||
$versionEvenClient=$matches[1]*1;
|
||||
|
||||
/*$tabSiren2=array();
|
||||
foreach ($tabSiren as $siren) {
|
||||
$tabSiren2[]=$siren['siren'];
|
||||
}
|
||||
sort($tabSiren2);
|
||||
$tabSiren=$tabSiren2;
|
||||
unset($tabSiren2);
|
||||
//die();*/
|
||||
|
||||
$fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
|
||||
$where='1';
|
||||
// On filtre les rubriques demandées
|
||||
if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') ';
|
||||
// On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client
|
||||
if ($dateDernierTraitement) {
|
||||
if (!$retroActivite)
|
||||
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) ";
|
||||
else {
|
||||
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement OR (d.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) ";
|
||||
}
|
||||
}
|
||||
// ... sinon on prend les annonces depuis la date de début de la prestation
|
||||
elseif ($dateDebutPrestation)
|
||||
if (!$retroActivite)
|
||||
$where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation') ";
|
||||
else
|
||||
$where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation' OR (d.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateSuppr=0) ) ";
|
||||
else
|
||||
$where.=" AND (d.dateInsert>='MAX(DATE_FORMAT(d.dateInsert,'%Y-%m-%d'))' OR d.dateUpdate>='MAX(DATE_FORMAT(d.dateUpdate,'%Y-%m-%d'))') ";
|
||||
|
||||
|
||||
|
||||
|
||||
/*if (!$retroActivite)
|
||||
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) ";
|
||||
else {
|
||||
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement OR (d.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) ";
|
||||
}*/
|
||||
|
||||
|
||||
// $where.=" AND Bodacc_Date_Parution>'2007-11-01' "; // Mederic a supprimer après la rétro du 22 mai 2008
|
||||
|
||||
if ($typePrestaton=='diffusionBodacc') {
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : diffusion...".EOL;
|
||||
$tables='bodacc_detail d';
|
||||
|
||||
// Credit safe
|
||||
// if ($numPrestation==11)
|
||||
// $where=" d.siren<>0 AND d.sirenValide=1 AND Bodacc_Date_Parution BETWEEN '2007-01-01' AND '2007-12-31' ";
|
||||
|
||||
if (count($tabNaf)>0) {
|
||||
$strNaf="'".implode("','",$tabNaf)."'";
|
||||
$fields='d.id';
|
||||
$tables='bodacc_detail d, etablissements e';
|
||||
$where.=" AND d.siren=e.siren AND d.siren<>0 AND (e.ape_etab IN ($strNaf) OR e.ape_entrep IN ($strNaf)) AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 GROUP BY d.id;";
|
||||
// OR (d.siren<>e.siren AND d.siren=0 AND (d.activite LIKE '%pharmacie%' OR d.activite LIKE '%officine%')) GROUP BY d.id
|
||||
}
|
||||
}
|
||||
elseif ($typePrestaton=='surveillanceBodacc') {
|
||||
$tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC);
|
||||
$nbSirenClient=count($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient unités en surveillance...".EOL;
|
||||
$fields.=', s.ref';
|
||||
$tables='bodacc_detail d, surveillances_listes s';
|
||||
$where.=" AND d.siren=s.siren AND s.siren<>0 AND s.idClient='$clientIdentifiant' AND s.dateSuppr='0000-00-00' ";
|
||||
if (!$retroActivite)
|
||||
$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 ";
|
||||
/*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi
|
||||
Modifier SURBODPRDFTSMEDERIC 484968573 00010 201278081 2008-04-04 0000-00-00 0000-00-00*/
|
||||
}
|
||||
else die('Type de prestation non gérée : '.$typePrestaton.EOL);
|
||||
|
||||
//$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 "; // NE PAS ENVOYER D'ANNONCES DONT LES DELAIS DE FORCLUSION SONT PASSEES
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
||||
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL;
|
||||
//echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
|
||||
if (count($tabNaf)>0) {
|
||||
$fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
|
||||
$tables='bodacc_detail d';
|
||||
$where='d.id IN (0';
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$where.=','.$annonce['id'];
|
||||
}
|
||||
$where.=')';
|
||||
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
||||
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces liens entrep/annonces à traiter...".EOL;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
|
||||
|
||||
//echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
||||
|
||||
//while(=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
|
||||
/** Marquer les liens REF/SIREN envoyées à chaque client
|
||||
** Gérer les versions de tables even pour les clients
|
||||
**
|
||||
** Renvoyer le stock à médéric
|
||||
**/
|
||||
|
||||
//print_r($annonce);
|
||||
//$k++;
|
||||
//$siren=$record['siren'];***/
|
||||
|
||||
//foreach ($tabAnnonces as $numAnn=>$annonce) {
|
||||
// On récupère les 2 intervenants de la procédure
|
||||
//if (!in_array($annonce['siren'], $tabSiren)) continue;
|
||||
|
||||
$numInter=0;
|
||||
$inter=array();
|
||||
if ($annonce['mandNom']<>'' || $annonce['mandCP']<>0) {
|
||||
$inter[$numInter]['type']='M'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['mandNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['mandRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['mandAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['mandCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['mandVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['creaNom']<>'' || $annonce['creaCP']<>0) {
|
||||
$inter[$numInter]['type']='R'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['creaNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['creaRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['creaAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['creaCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['creaVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
if ($annonce['admNom']<>'' || $annonce['admCP']<>0) {
|
||||
$inter[$numInter]['type']='A'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['admNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['admRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['admAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['admCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['admVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}
|
||||
/* if ($annonce['oppoNom']<>'' || $annonce['oppoCP']<>0) {
|
||||
$inter[$numInter]['type']='O'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
$inter[$numInter]['SIRET']=0;
|
||||
$inter[$numInter]['Nom']=$annonce['oppoNom'];
|
||||
$inter[$numInter]['Repr']=$annonce['oppoRepr'];
|
||||
$inter[$numInter]['adrNum']='';
|
||||
$inter[$numInter]['adrBis']='';
|
||||
$inter[$numInter]['adrType']='';
|
||||
$inter[$numInter]['adrLib']=$annonce['oppoAdresse'];
|
||||
$inter[$numInter]['CP']=$annonce['oppoCP'];
|
||||
$inter[$numInter]['Ville']=$annonce['oppoVille'];
|
||||
$inter[$numInter]['Tel']='';
|
||||
$numInter++;
|
||||
}*/
|
||||
$tribunalCode=$iDb2->select('bodacc', 'Tribunal_Code', 'id='.$annonce['id'], false);
|
||||
$tribunalCode=$tribunalCode[0][0];
|
||||
$refLigneClient=@$annonce['ref'];
|
||||
|
||||
$tabEven2=explode(';',$annonce['typeEven']);
|
||||
$tabEven=array();
|
||||
foreach ($tabEven2 as $even) {
|
||||
$versionEven=$iBodacc->getVersionEvenement($even);
|
||||
if ($versionEven==0 || $versionEven<=$versionEvenClient)
|
||||
$tabEven[]=$even;
|
||||
else {
|
||||
if ($even<2000) $even2=1999;
|
||||
elseif ($even<3000) $even2=2312;
|
||||
elseif ($even<4000) $even2=3999;
|
||||
elseif ($even<5000) $even2=4999;
|
||||
elseif ($even<6000) $even2=5999;
|
||||
elseif ($even<7000) $even2=6700;
|
||||
else $even2=1999;
|
||||
$tabEven[]=$even2;
|
||||
// echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Evènement $even non géré en v$versionEvenClient : $even2".EOL;
|
||||
}
|
||||
}
|
||||
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
// R=Rectif, S=Suppression
|
||||
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
|
||||
// (ex: 230A, 001B)
|
||||
// initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I,
|
||||
// initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D
|
||||
|
||||
initstr($refLigneClient, 18) . // REFERENCE DU CLIENT
|
||||
initstr($tribunalCode, 6) .
|
||||
initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
|
||||
initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise
|
||||
initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise
|
||||
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
|
||||
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
|
||||
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
|
||||
initstr('0000', 4) . // FJ codification Insee
|
||||
initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC
|
||||
initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital
|
||||
initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO)
|
||||
// Adresse / 150 car
|
||||
initstr($annonce['adrNum'], 4, '0', ALIGN_RIGHT) . //
|
||||
initstr($annonce['adrIndRep'], 1) . //
|
||||
initstr($annonce['adrTypVoie'], 5) .
|
||||
initstr($annonce['adrLibVoie'], 50) .
|
||||
initstr($annonce['adrComp1'], 50) .
|
||||
initstr($annonce['adrComp2'], 40) .
|
||||
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
|
||||
// Adresse du siège / 150 car
|
||||
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
|
||||
initstr($annonce['adrIndRepSiege'], 1) . //
|
||||
initstr($annonce['adrTypVoieSiege'], 5) .
|
||||
initstr($annonce['adrLibVoieSiege'], 50) .
|
||||
initstr($annonce['adrComp1Siege'], 50) .
|
||||
initstr($annonce['adrComp2Siege'], 40) .
|
||||
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
||||
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
|
||||
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
|
||||
initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
|
||||
initstr(FILLER, 1) . // FILLER (Replace type de création)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD)
|
||||
// ou Date clôture exercice si ann dépôt comptes
|
||||
initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente
|
||||
initstr($annonce['VenteDev'], 3) . // Devise de la ventre
|
||||
initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe
|
||||
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[0]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[0]['Repr'], 80) . // Représentant
|
||||
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[0]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
||||
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
||||
initstr($inter[1]['Nom'], 80) . // Raison sociale
|
||||
initstr($inter[1]['Repr'], 80) . // Représentant
|
||||
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
||||
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
|
||||
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
|
||||
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
|
||||
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
||||
initstr($inter[1]['Ville'], 45) . // Adresse, commune
|
||||
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
||||
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
|
||||
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8) . // Date d'insertion dans la base S&D
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
||||
$nbLignes++;
|
||||
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
|
||||
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
|
||||
$enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
||||
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
||||
initstr(FILLER, 5) . // On garde la place pour le NIC
|
||||
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
|
||||
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
||||
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
|
||||
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
||||
// R=Rectificatif, S=Suppression
|
||||
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée
|
||||
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
||||
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
|
||||
initstr($refLigneClient, 18) . // REF CLI
|
||||
'';
|
||||
|
||||
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
|
||||
fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes));
|
||||
if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc
|
||||
fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes));
|
||||
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
|
||||
fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes));
|
||||
if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète
|
||||
$annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false);
|
||||
$annoncetxt=$annoncetxt[0][0];
|
||||
fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes));
|
||||
}
|
||||
if ($tabOptOutput[105]==true) { // Liste des dirigeants
|
||||
$annonceDir=$iDb2->select('bodacc_dirigeants', 'id, num, dateEffet, fonction, rs, nom, prenom, nomUsage', 'id='.$annonce['id'], true);
|
||||
$strDir='';
|
||||
foreach ($annonceDir as $k=>$dir) {
|
||||
$strDir.=initstr(WDate::dateT('Y-m-d','Ymd',$dir['dateEffet']), 8, '0', ALIGN_RIGHT) . // Date de la prise de fonction
|
||||
initstr($dir['fonction'], 4) . // Code Fonction S&D
|
||||
initstr($dir['rs'], 80) . // Raison Sociale du dirigeant
|
||||
initstr($dir['nom'], 50) . // NOM du dirigeant
|
||||
initstr($dir['prenom'], 100) . // Prenom
|
||||
initstr($dir['usage'], 50); // Nom d'usage
|
||||
if ($k%6==0) $strDir.=initstr(' ', 28);
|
||||
else $strDir.=initstr(' ', 26);
|
||||
}
|
||||
fwrite($fp, genereMultiLigne('105', $enteteL, $strDir, $optionEOL, $nbLignes));
|
||||
}
|
||||
if ($nbLignes%1000==1) echo date ('Y/m/d - H:i:s')." - Nb lignes=$nbLignes\n";
|
||||
}
|
||||
|
||||
/**
|
||||
** On génère la ligne de fin de fichier
|
||||
**/
|
||||
$nbLignes++;
|
||||
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
||||
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
|
||||
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
||||
initstr($clientIdentifiant, 36) . // Identifiant Client
|
||||
initstr($typePrestaton, 32) . // Type de prestation
|
||||
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
|
||||
'';
|
||||
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
|
||||
fclose($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
|
||||
|
||||
/** Mise à jour des numéros de tour et des date de dernières exécutions
|
||||
**/
|
||||
if ($incrementationDesTour) {
|
||||
$iDbCrm=new WDB('sugarcrm');
|
||||
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
|
||||
"id_c='".$tabAdherent['idPrestationBdd']."'");
|
||||
}
|
||||
|
||||
/** Conversion du fichier si nécessaire en CSV
|
||||
**/
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
$ligneOut='';
|
||||
$ligne001=$ligne100=$ligne104=$ligne999=0;
|
||||
$tabLignes=file(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$fichier_csv=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
|
||||
$fp=fopen(REP_TEMP . $fichier_csv, 'w');
|
||||
foreach ($tabLignes as $i=>$ligne) {
|
||||
$ecrireLignePre=false;
|
||||
$typeLigne=substr($ligne, 0, 3)*1;
|
||||
switch ($typeLigne) {
|
||||
case 1: // Ligne ignorée
|
||||
// Ecriture de l'entête
|
||||
$siren ='Siren';
|
||||
$nic ='Nic';
|
||||
$ref ='Référence';
|
||||
$numPar ='Parution';
|
||||
$bodacc ='Bodacc';
|
||||
$datePar='Date parution';
|
||||
$numAnn ='Numéro Annonce';
|
||||
$cor ='Type Annonce';
|
||||
$libTri ='Tribunal';
|
||||
$numRC ='Numéro RCS';
|
||||
$raisonS='Raison sociale';
|
||||
$catEven='Chapitre';
|
||||
$txtEven='Evènement(s)';
|
||||
$dateEve='Date évènement';
|
||||
$txtAnn ='Texte Annonce';
|
||||
$ligne001++;
|
||||
break;
|
||||
case 100: // Structure Bodacc
|
||||
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
|
||||
$ligne100++;
|
||||
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
|
||||
$nic = trim(substr($ligne, 22, 5 )); // Nic
|
||||
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
|
||||
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
|
||||
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
|
||||
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
|
||||
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
|
||||
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
|
||||
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
|
||||
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
|
||||
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
|
||||
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
|
||||
$dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment
|
||||
$dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc...
|
||||
if ($dateEve1>0)
|
||||
$dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve1);
|
||||
elseif ($dateEve2>0)
|
||||
$dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve2);
|
||||
else
|
||||
$dateEve='';
|
||||
$cor='';
|
||||
if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
|
||||
switch($typeAnn) {
|
||||
case 'I': $cor='Insertion'.$cor; break;
|
||||
case 'A': $cor='Additif'.$cor; break;
|
||||
case 'R': $cor='Rectificatif'.$cor; break;
|
||||
case 'S': $cor='Suppression'.$cor; break;
|
||||
default: break;
|
||||
}
|
||||
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
|
||||
$libTri=$iBodacc->getTribunalNom($codeTri);
|
||||
|
||||
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
|
||||
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
|
||||
$even=array();
|
||||
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
|
||||
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
|
||||
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
|
||||
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
|
||||
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
|
||||
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
|
||||
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
|
||||
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
|
||||
$txtEven='';
|
||||
foreach ($even as $codeEven)
|
||||
if ($codeEven<>0) {
|
||||
$txtEven.=$iBodacc->getEvenement($codeEven)." ($codeEven), ";
|
||||
$catEven=$iBodacc->getChapitreEvenement($codeEven);
|
||||
}
|
||||
else
|
||||
$txtEven.='';
|
||||
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
|
||||
$txtAnn='';
|
||||
$ecrireLignePre=true;
|
||||
break;
|
||||
case 104: // Annonce
|
||||
$ligne104++;
|
||||
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
|
||||
break;
|
||||
case 999: // Ligne ignorée
|
||||
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
|
||||
$ligne999++;
|
||||
$ecrireLignePre=true;
|
||||
break;
|
||||
default: // Ligne non gérée
|
||||
break;
|
||||
}
|
||||
if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL);
|
||||
}
|
||||
fclose($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Conversion du fichier $fichier_csv terminée !".EOL;
|
||||
}
|
||||
|
||||
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
|
||||
switch ($optionZip) {
|
||||
case 'zip':
|
||||
$zip = new ZipArchive;
|
||||
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.zip';
|
||||
$res = $zip->open($repProduction.$ficProduction, ZipArchive::CREATE);
|
||||
if ($res === TRUE) {
|
||||
// $zip->addFromString('test.txt', 'file content goes here');
|
||||
$zip->addFile( REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt',
|
||||
$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
if ($tabAdherent['formatEnvois']=='csv')
|
||||
$zip->addFile(REP_TEMP. $fichier_csv, $fichier_csv);
|
||||
$zip->close();
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.zip OK...'.EOL;
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Zip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
}
|
||||
break;
|
||||
case 'gzip':
|
||||
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.gz';
|
||||
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$gz = gzopen($repProduction.$ficProduction,'w9');
|
||||
if (!$gz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Gzip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
} else {
|
||||
gzwrite($gz, $string);
|
||||
gzclose($gz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.gz OK...'.EOL;
|
||||
}
|
||||
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv.gz';
|
||||
$string=file_get_contents(REP_TEMP. $fichier_csv);
|
||||
$gz = gzopen($repProduction.$ficProduction_csv,'w9');
|
||||
if (!$gz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Gzip du fichier $fichier_csv impossible !".EOL;
|
||||
} else {
|
||||
gzwrite($gz, $string);
|
||||
gzclose($gz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier $ficProduction_csv OK...".EOL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'bzip2':
|
||||
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2';
|
||||
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
||||
$bz = bzopen($repProduction.$ficProduction,'w');
|
||||
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
|
||||
if (!$bz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
||||
} else {
|
||||
bzwrite($bz, $string, strlen($string));
|
||||
bzclose($bz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.bz2 OK...'.EOL;
|
||||
}
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv.bz2';
|
||||
$string=file_get_contents(REP_TEMP. $fichier_csv);
|
||||
$bz = bzopen($repProduction.$ficProduction_csv,'w');
|
||||
if (!$bz) {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 du fichier $fichier_csv impossible !".EOL;
|
||||
} else {
|
||||
bzwrite($bz, $string, strlen($string));
|
||||
bzclose($bz);
|
||||
echo date ('Y/m/d - H:i:s')." - Compression du fichier $ficProduction_csv OK...".EOL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt';
|
||||
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
|
||||
if (!copy(REP_TEMP.$ficProduction, $repProduction.$ficProduction))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été créé...".EOL;
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
if (!copy(REP_TEMP.$ficProduction_csv, $repProduction.$ficProduction_csv))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été créé...".EOL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
/** Sauvegarde des fichiers dans clients **/
|
||||
$repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']);
|
||||
if (!file_exists($repBakClient)) {
|
||||
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers BACKUP du client ne sont pas correctement créés !".EOL;
|
||||
if (!file_exists($repBakClient) && mkdir($repBakClient))
|
||||
echo date ('Y/m/d - H:i:s')." - Le dossier Backup du client a été créé ($repBakClient)".EOL;
|
||||
// if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
|
||||
// echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
|
||||
}
|
||||
if (!copy($repProduction.$ficProduction, $repBakClient.'/'.$ficProduction))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été historisé...".EOL;
|
||||
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
if (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été historisé...".EOL;
|
||||
}
|
||||
|
||||
/** Si FTP, déplacement dans les dossiers adéquats **/
|
||||
if ($tabAdherent['supportPrestation']=='ftp' || $tabAdherent['supportPrestation']=='web') {//$repProduction.$ficProduction
|
||||
$repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']);
|
||||
if (!file_exists($repFtpClient) || !file_exists($repFtpClient.'/recv')) {
|
||||
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers FTP du client ne sont pas correctement créés !".EOL;
|
||||
if (!file_exists($repFtpClient) && mkdir($repFtpClient))
|
||||
echo date ('Y/m/d - H:i:s')." - Le dossier FTP du client a été créé ($repFtpClient)".EOL;
|
||||
if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
|
||||
echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
|
||||
}
|
||||
if (!move($repProduction.$ficProduction, $repFtpClient.'/recv/'.$ficProduction))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction dans FTP/RECV impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été déplacé dans FTP/RECV...".EOL;
|
||||
|
||||
if ($tabAdherent['formatEnvois']=='csv') {
|
||||
if (!move($repProduction.$ficProduction_csv, $repFtpClient.'/recv/'.$ficProduction_csv))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv dans FTP/RECV impossible !".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été déplacé dans FTP/RECV...".EOL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion BODACC.\n";
|
||||
die();
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,436 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
function exporte($txt, $lon=-1, $sep="|") {
|
||||
$txt=strtr(trim($txt),array('''=>"'",'&'=>'&', '²'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
|
||||
|
||||
if ($lon==-1) return $txt.$sep;
|
||||
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
|
||||
else return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
|
||||
}
|
||||
|
||||
function choixAdr($bodEtab, $bodSiege, $insee) {
|
||||
|
||||
if (strlen(trim($bodSiege))>0) $adr=trim($bodSiege);
|
||||
elseif (strlen(trim($bodEtab))>0) $adr=trim($bodEtab);
|
||||
else $adr='';
|
||||
|
||||
if (isset($insee) && trim($insee)<>'') return $insee;
|
||||
else return $adr;
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
|
||||
global $iDb2,$iDb3,$iLiens,$iBilan,$iInsee;
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('historiques');
|
||||
$iDb3=new WDB('tmp');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
$iBilan=new MBilans(0);
|
||||
$iLiens=new MLiens(0);
|
||||
|
||||
$iCotation=new ICotation(array());
|
||||
|
||||
$presta=false;
|
||||
$date=date('Ymd');
|
||||
$tabFichier=array();
|
||||
|
||||
$nbSirValides=$nbSirInvalides=0;
|
||||
$nbNicValides=$nbNicInvalides=0;
|
||||
$nbInsert=0;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
|
||||
Traitement spécifique Adecco Diffusion des Mise à jour des champs complexes de la table 'etablissement_act' et génération du fichier spécifique Véolia.
|
||||
|
||||
Options :
|
||||
-1 Prestation 1
|
||||
-2 Prestation 2
|
||||
-v Verbosité maximum
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case '1': $presta=1; break;
|
||||
case '2': $presta=1; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
}
|
||||
|
||||
if (count($tabFichier)==1) {
|
||||
/* Chargement du fichier Entrant adecco */
|
||||
$nomFichier=$tabFichier[0];
|
||||
$fp=fopen($nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier Adecco à traiter ('".$nomFichier."') !".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=0; // Nombre de ligne du fichier
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp, 4096));
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier '$nomFichier' ($nbLignes lignes à traiter).".EOL;
|
||||
|
||||
rewind($fp);
|
||||
|
||||
/** Traitement de la 1ère ligne **/
|
||||
$ligne = trim(fgets($fp, 4096));
|
||||
if ($ligne<>'adREF|adSIREN|adNIC|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adNAF2008|adTRANCHE_EFFECTIF|adCEDEX|adCODE_COMMUNE|adVILLE|adVILLE_CDX|ADSE')
|
||||
die('Première ligne du flux Adecco innatendue !'.EOL);
|
||||
$dateInsert=date('YmdHis');
|
||||
$nbLignesLues=1;
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignesLues++;
|
||||
$a=array();
|
||||
$ligne = trim(fgets($fp, 4096));
|
||||
$tabEtab=explode('|', $ligne);
|
||||
$a['adREF'] = $tabEtab[0];
|
||||
$a['adSIREN'] = $tabEtab[1];
|
||||
$a['adNIC'] = $tabEtab[2];
|
||||
$a['adRAISON_SOCIALE'] = $tabEtab[3];
|
||||
$a['adADRESSE'] = $tabEtab[4];
|
||||
$a['adFILLER'] = $tabEtab[5];
|
||||
$a['adCP'] = $tabEtab[6];
|
||||
$a['adNAF2008'] = $tabEtab[7];
|
||||
$a['adTRANCHE_EFFECTIF']= $tabEtab[8];
|
||||
$a['adCEDEX'] = $tabEtab[9];
|
||||
$a['adCODE_COMMUNE'] = $tabEtab[10];
|
||||
$a['adVILLE'] = $tabEtab[11];
|
||||
$a['adVILLE_CDX'] = $tabEtab[12];
|
||||
$a['ADSE'] = $tabEtab[13];
|
||||
if (!$iInsee->valideSiren($a['adSIREN'])) {
|
||||
$a['sirenValide']=0;
|
||||
$a['nicValide']=0;
|
||||
$nbNicInvalides++;
|
||||
$nbSirInvalides++;
|
||||
} else {
|
||||
$a['sirenValide']=1;
|
||||
$nbSirValides++;
|
||||
if (!$iInsee->valideSiren($a['adSIREN'], $a['adNIC'])) {
|
||||
$a['nicValide']=0;
|
||||
$nbNicInvalides++;
|
||||
} else {
|
||||
$a['nicValide']=1;
|
||||
$nbNicValides++;
|
||||
}
|
||||
}
|
||||
$a['siret']=''.$tabEtab[1].''.$tabEtab[2];
|
||||
if ($iDb3->insert('adecco_in', $a))
|
||||
$nbInsert++;
|
||||
else
|
||||
die(mysql_error().EOL);
|
||||
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement du fichier '$nomFichier' ($nbLignes/$nbLignesLues lignes traitées dont $nbInsert insérées).".EOL;
|
||||
}
|
||||
|
||||
if ($presta<>1 && $presta<>2) {
|
||||
if (count($tabFichier)<>1)
|
||||
echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$fp=fopen('/home/data/clients/adecco/adecco'.$presta."_$date.txt",'w');
|
||||
// Ligne d'entête
|
||||
fwrite($fp, "adSIREN|adNIC|adREF|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adVILLE|SIREN|NIC|L1_NOMEN|L2_COMP|L3_CADR|L4_VOIE|L5_DISP|L6_POST|L7_ETRG|ZR1|RPET|DEPET|ARRONET|CTONET|COMET|LIBCOM|DU|TU|UU|CODPOS|ZR2|TCD|ZEMET|CODEVOIE|NUMVOIE|INDREP|TYPVOIE|LIBVOIE|ENSEIGNE|APET700|ZR3|SIEGE|TEFET|EFETCENT|ORIGINE|DCRET|MMINTRET|ACTIVNAT|LIEUACT|ACTISURF|SAISONAT|MODET|DAPET|DEFET|EXPLET|PRODPART|AUXILT|EAEANT|EAEAPET|EAESEC1T|EAESEC2T|NOMEN|SIGLE|CIVILITE|CJ|TEFEN|EFENCENT|APEN700|ZR4|APRM|TCA|RECME|DAPEN|DEFEN|DCREN|MMINTREN|MONOACT|MODEN|EXPLEN|EAEANN|EAEAPEN|EAESEC1N|EAESEC2N|EAESEC3N|EAESEC4N|NBETEXPL|TCAEXP|REGIMP|MONOREG|RPEN|DEPCOMEN|sdActif|sdEvenDate|sdEven|sdNomPrenomDir|sdYP|sdPctAct|sdSirenAct|sdNomAct".EOL);
|
||||
|
||||
//exporteAdecco('32392385400059','ref',$fp, $presta,'','','','','');
|
||||
//die();
|
||||
|
||||
if ($presta==1) {
|
||||
//$nbRows=$iDb->select('tmp.adecco', 'REF, SIREN, NIC, siret, RAISON_SOCIALE, ADRESSE, FILLER, CP, VILLE', "nafet IN('7810Z', '7820Z', '7830Z')", true, MYSQL_ASSOC, true);
|
||||
$nbRows=$iDb->select('tmp.adecco_in',
|
||||
'ID_LEA AS REF, SIREN, NIC, CONCAT(SIREN,NIC) AS siret, RAISON_SOCIALE, ADRESSE1 AS ADRESSE, ADRESSE2 AS FILLER, CODE_POSTAL AS CP, VILLE/*CODE_COMMUNE, CEDEX*/',
|
||||
'1', true, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta, $tabTmp['RAISON_SOCIALE'], $tabTmp['ADRESSE'], $tabTmp['FILLER'], $tabTmp['CP'], $tabTmp['VILLE']);
|
||||
}
|
||||
/** @toto Presta 1 :
|
||||
- enregistrer chaque ligne fourni en bdd
|
||||
- vérifier les fusions
|
||||
*/
|
||||
} else {
|
||||
/** @todo
|
||||
- Non présents dans le fichier source Adecco
|
||||
- Non Fournis dans le fichier principal (Déménagements, et affectation de NIC valide)
|
||||
etab >= à 10 salariés, France entière avec Corse et les DOM TOM. Les sociétés étrangères immatriculées au RCS sont à exclure.
|
||||
Les 2 NAF suivants sont à exclure
|
||||
6820B = SCI/location de terrains
|
||||
7020Z = Holding
|
||||
*/
|
||||
$iDb->query('SELECT siret FROM tmp.`adecco_in` UNION SELECT siretTrouve AS siret FROM tmp.`adecco_out`;');
|
||||
echo mysql_error().EOL;
|
||||
if (mysql_errno()>0) die();
|
||||
$tabSiret=array();
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$tabSiret[]=$tabTmp['siret'];
|
||||
}
|
||||
$tabSiret=array_unique($tabSiret);
|
||||
$nbRows=count($tabSiret);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL;
|
||||
|
||||
$nbRows=$iDb->select('jo.etablissements_act', "'' AS REF, siren AS SIREN, nic AS NIC, concat(siren, nic) AS siret",
|
||||
"cj NOT BETWEEN 3000 AND 3999 AND ape_etab NOT IN ('6820B','7020Z') AND eff_etab>9", true, MYSQL_ASSOC, true);
|
||||
// "siret NOT IN(SELECT CONCAT(SIREN,NIC) AS siret FROM tmp.adecco_echantillon)", true, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
|
||||
echo mysql_error().EOL;
|
||||
if (mysql_errno()>0) die();
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
if (!in_array($tabTmp['siret'], $tabSiret))
|
||||
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta);
|
||||
}
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de la prestation Adecco en Presta $presta.".EOL;
|
||||
fclose($fp);
|
||||
die();
|
||||
|
||||
|
||||
function exporteAdecco($siret,$ref,$fp=false, $presta, $RAISON_SOCIALE='', $ADRESSE='', $FILLER='', $CP='', $VILLE='') {
|
||||
global $iDb2,$iDb3,$iLiens,$iBilan,$iInsee;
|
||||
$siren=substr($siret,0,9);
|
||||
$nic=substr($siret,9,5);
|
||||
$strIdentite="
|
||||
SIREN,NIC,NOM AS L1_nomen,NOM2 AS L2_ComP,ADR_COMP AS L3_cadr,
|
||||
NULL AS L4_VOIE, ADR_DISTSP AS L5_disp, NULL AS L6_POST, PAYS AS L7_ETRG, '' AS ZR1, NULL AS RPET, ADR_DEP AS insdepet,
|
||||
NULL AS ARRONET, NULL AS CTONET, ADR_COM AS comet, ADR_LIBCOM AS libcom, NULL AS DU, NULL AS TU, NULL AS UU,
|
||||
ADR_CP AS codpos, '' AS ZR2, NULL AS TCD, NULL AS ZEMET, CODEVOIE, ADR_NUMVOIE AS NUMVOIE, ADR_BTQ AS INDREP,
|
||||
ADR_TYPVOIE AS TYPVOIE, ADR_LIBVOIE AS LIBVOIE, ENSEIGNE, APE_ETAB AS apet700, '' AS ZR3, SIEGE,
|
||||
TEFF_ET AS tefet, EFF_ET AS efetcent, ORIGINE, DCRET, NULL AS MMINTRET, ACTIVNAT, LIEUACT, ACTISURF, SAISONAT, MODET,
|
||||
DAPET, DEFET, EXPLET, PRODPART, AUXILT, NULL AS EAEANT, NULL AS EAEAPET, NULL AS EAESEC1T, NULL AS EAESEC2T, NOM AS nomen,
|
||||
SIGLE, CIVILITE, CJ, TEFF_ENT AS tefen, EFF_ENT AS efencent, APE_ENT AS insapen700, '' AS ZR4, APRM, TCA,
|
||||
NULL AS RECME, DAPEN, DEFEN, DCREN,NULL AS MMINTREN, MONOACT, MODEN, EXPLEN, NULL AS EAEANN, NULL AS EAEAPEN,
|
||||
NULL AS EAESEC1N, NULL AS EAESEC2N, NULL AS EAESEC3N, NULL AS EAESEC4N, NBETAB AS nbETEXPL, TCAEXP, REGIMP,
|
||||
MONOREG, NULL AS RPEN,NULL AS DEPCOMEN, ACTIF AS sdActif";
|
||||
$strNotice="
|
||||
insSIREN AS SIREN, insNIC AS NIC, insL4_VOIE AS L4_VOIE, insL6_POST AS L6_POST,
|
||||
insRPET AS RPET, insDEPCOMEN AS DEPCOMEN, insRPEN AS RPEN, insARRONET AS ARRONET, insCTONET AS CTONET, insTCD AS TCD,
|
||||
insZEMET AS ZEMET, insDU AS DU, insTU AS TU, insUU AS UU, insMMINTRET AS MMINTRET, insMMINTREN AS MMINTREN, insRECME AS RECME,
|
||||
insEAEANT AS EAEANT, insEAEAPET AS EAEAPET, insEAESEC1T AS EAESEC1T, insEAESEC2T AS EAESEC2T, insEAEANN AS EAEANN,
|
||||
insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAESEC3N AS EAESEC3N, insEAESEC4N AS EAESEC4N";
|
||||
|
||||
$ret=$iDb2->select('insee.identite', $strIdentite, "SIREN=$siren AND NIC=$nic", false);
|
||||
$ret2=$iDb2->select('insee.insee_notices', $strNotice, "insSIREN=$siren AND insNIC=$nic", false, MYSQL_ASSOC);
|
||||
//echo '2:'.mysql_error().EOL;
|
||||
//$ret=$iDb2->select('historiques.notice_201012', 'insSIREN,insNIC,insL1_nomen,insL2_ComP,insL3_cadr,insL4_VOIE,insL5_disp,insL6_post,insL7_ETRG,insZR1,insrpet,insdepet,insarronet,insctonet,inscomet,inslibcom,insdu,insTu,insuu,inscodpos,insZR2,instcd,inszemet,inscodevoie,insNUMVOIE,insINDREP,insTYPVOIE,insLIBVOIE,insENSEIGNE,insapet700,insZR3,inssiege,instefet,insefetcent,insorigine,insdcRET,insMMIntrET,insACTIVNAT,insLIEUACT,insACTISURF,inssaisonat,insMODET,insdapet,insdefet,insEXPLET,insProdpart,insauxilt,inseaeant,inseaeapet,inseaesec1t,inseaesec2t,insnomen,inssigle,insCIVILITE,inscj,instefen,insefencent,insapen700,insZR4,insaprm,instca,insrecme,insdapen,insdefen,insdcren,insmmintren,insmonoact,insMODEN,insEXPLEN,inseaeann,insEAEapen,inseaesec1n,inseaesec2n,inseaesec3n,inseaesec4n,insnbETEXPL,instcaexp,insregimp,insmonoreg,insrpen,insdepcomen', "siret='$siret'", false);
|
||||
$even=$evenDate=$nomPrenomDir=$YP=$pctAct=$sirenAct=$nomAct='';
|
||||
$strOut="$siren|$nic|$ref|$RAISON_SOCIALE|$ADRESSE|$FILLER|$CP|$VILLE|";
|
||||
|
||||
if (count($ret)==0) {
|
||||
/*$actif=0;
|
||||
$strOut.="$siren|$nic|";
|
||||
for($i=0;$i<79;$i++)
|
||||
$strOut.='|';*/
|
||||
$even='Siren/Siret invalide';
|
||||
// Recherche par IDENTITE
|
||||
$deb=0;$nbRep=20;$maxRep=20;$siege=$actif='';
|
||||
$nomIn=$RAISON_SOCIALE;
|
||||
$adrIn=$ADRESSE;
|
||||
//$FILLER
|
||||
$cpIn=$CP;
|
||||
$comIn=$VILLE;
|
||||
$res=@$iInsee->rechercheEtab($nomIn, $adrIn, $cpIn, $comIn, $siege, $actif, $deb, $nbRep, $maxRep, false, true);
|
||||
if ($res['nbReponses']>0) {
|
||||
$levMin=1;
|
||||
$trouve=false;
|
||||
foreach ($res['reponses'] as $i=>$etab) {
|
||||
//die(print_r($etab));
|
||||
$size=strlen($nomIn.$etab['Nom'].$adrIn.$etab['Adresse'].$cpIn.$etab['CP'].$comIn.$etab['Ville']);
|
||||
$levNom=levenshtein($nomIn,$etab['Nom']);
|
||||
$levAdr=levenshtein($adrIn,$etab['Adresse']);
|
||||
$levCP =levenshtein($cpIn ,$etab['CP']);
|
||||
$levCom=levenshtein($comIn,$etab['Ville']);
|
||||
$levTot=$levNom+$levAdr+$levCP+$levCom;
|
||||
$levPct=$levTot/$size;
|
||||
if ($levPct<0.15 && $levPct<$levMin) {
|
||||
$trouve=true;
|
||||
$siret=''.$etab['Siren'].''.$etab['Nic'];
|
||||
$levMin=$levPct;
|
||||
}
|
||||
}
|
||||
|
||||
if ($trouve) {
|
||||
$siren=substr($siret,0,9);
|
||||
$nic=substr($siret,9,5);
|
||||
$ret=$iDb2->select('insee.identite', $strIdentite, "SIREN=$siren AND NIC=$nic", false);
|
||||
$ret2=$iDb2->select('insee.insee_notices', $strNotice, "insSIREN=$siren AND insNIC=$nic", false, MYSQL_ASSOC);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($ret)==0) {
|
||||
$actif=0;
|
||||
$strOut.="$siren|$nic|";
|
||||
for($i=0;$i<80;$i++)
|
||||
$strOut.='|';
|
||||
$even='Siren/Siret inexistant';
|
||||
} else {
|
||||
$tmp=$ret[0];
|
||||
$actif=$tmp['sdActif']*1;
|
||||
$nouveauSiret='';
|
||||
$tabAncienSiret=array();
|
||||
$nbDem=0;
|
||||
while ($actif==0) {
|
||||
if ($presta==2) return;
|
||||
// Recherche du nouveau siret
|
||||
//echo "DEB Recherche du nouveau siret pour $siren $nic actif=$actif, nbDem=$nbDem, nouveauSiret=$nouveauSiret/";
|
||||
$tabAssoc=@$iInsee->getSiretAssoc($siren, $nic);
|
||||
$nouveauSiret=@trim(''.$tabAssoc['suc']['siren'].
|
||||
$tabAssoc['suc']['nic']);
|
||||
@$tabAncienSiret[$nouveauSiret]++;
|
||||
if($nouveauSiret<>'' && @$tabAncienSiret[''.$siren.$nic]<=2) {
|
||||
$nbDem++;
|
||||
$siren=substr($nouveauSiret,0,9);
|
||||
$nic=substr($nouveauSiret,9,5);
|
||||
$ret=$iDb2->select('insee.identite', $strIdentite, "SIREN=$siren AND NIC=$nic", false);
|
||||
$ret2=$iDb2->select('insee.insee_notices', $strNotice, "insSIREN=$siren AND insNIC=$nic", false, MYSQL_ASSOC);
|
||||
$tmp=$ret[0];
|
||||
$actif=$tmp['sdActif']*1;
|
||||
$even="Etablissement déménagé $nbDem fois ";
|
||||
} else
|
||||
break;
|
||||
//echo "FIN Recherche du nouveau siret pour $siren $nic actif=$actif, nbDem=$nbDem, nouveauSiret=$nouveauSiret/";
|
||||
}
|
||||
//$tmp=$ret[0];
|
||||
//$actif=$tmp['sdActif'];
|
||||
$effet=$tmp['efetcent']*1;
|
||||
$tmp2=@$ret2[0];
|
||||
$afficherNotice=false;
|
||||
if ($actif*1==0) {
|
||||
$actif=0;
|
||||
$strOut.="$siren|$nic|";
|
||||
for($i=0;$i<80;$i++)
|
||||
$strOut.='|';
|
||||
if (@$even=='') $even='Etablissement inactif ';
|
||||
else $even.='inactif ';
|
||||
|
||||
// Recherche du dernier Even Insee
|
||||
$ret=$iDb2->select('insee.insee_even', 'insEVE,insDATEVE,insSIRETPS,idFlux,insSIRETASS', "insSIREN=$siren AND insNIC=$nic AND insEVE IN (400,410,420,425,430,435,510,530,620,621,650,795)", false, MYSQL_ASSOC);
|
||||
if (count($ret)==1 ) {
|
||||
$tmp=$ret[0];
|
||||
/*$siret2=$tmp['insSIRETPS']*1;
|
||||
if ($siret2==0) $siret2=$tmp['insSIRETASS']*1;
|
||||
if ($siret2>0) $siret2=' de/vers '.$siret2;
|
||||
else $siret2='';*/
|
||||
$infoFusion=false;
|
||||
switch ($tmp['insEVE']*1) {
|
||||
case 400: $even.='suppression du doublon '; break;
|
||||
case 410: $even.='cessation juridique de l\'entreprise '; $infoFusion=true; break;
|
||||
case 420:
|
||||
case 425: $even.='cessation économique de l\'entreprise ';$infoFusion=true; break;
|
||||
case 430:
|
||||
case 435: $even.='fermeture de l\'etablissement '; break;
|
||||
// case 510:
|
||||
// case 530: $even.='transfert'.$siret2.' '; break;
|
||||
case 620:
|
||||
case 621:
|
||||
case 650: $even.='cessation economique de l\'etablissement '; break;
|
||||
case 795: $even.='personne radiee a sa demande de SIRENE diffusion '; break;
|
||||
default: $even.=' '; break;
|
||||
}
|
||||
$evenDate=$tmp['insDATEVE'];
|
||||
if ($infoFusion) {
|
||||
// Annonces BODACC Fusion/Absorptions
|
||||
$tabFusion=$iInsee->getAnnoncesLegales($siren, 0, array(2700,2701,2702,2703,2710,2720,2721,2725,2726,2730,2740), false);
|
||||
if (count($tabFusion)>0) {
|
||||
$FUSIONPROJET_SIREN=0;
|
||||
foreach ($tabFusion as $iDep=>$depot) {
|
||||
if ($iDep==0)
|
||||
$ANNONCEFUSDATE=$depot['DateParution'];
|
||||
$ANNONCEFUS++;
|
||||
$FUSIONPROJET_DATE=$depot['dateJugement']; // Date du projet de fusion
|
||||
$FUSIONPROJET=$depot['complement']; // Présence d'un projet de fusion, libellé du projet
|
||||
if (preg_match_all("/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/", $FUSIONPROJET, $matches)) {
|
||||
foreach ($matches[1] as $FUSIONPROJET_SIREN) {
|
||||
$FUSIONPROJET_SIREN=strtr($FUSIONPROJET_SIREN, array('.'=>'','-'=>'', ' '=>''));
|
||||
if (!$iInsee->valideSiren($FUSIONPROJET_SIREN)) $FUSIONPROJET_SIREN=0;
|
||||
else break;
|
||||
}
|
||||
}
|
||||
if ($FUSIONPROJET_SIREN*1>1000) break;
|
||||
}
|
||||
$even.='dans le cadre d\'une fusion ';
|
||||
if ($FUSIONPROJET_SIREN>1000) $even.="avec $FUSIONPROJET_SIREN ";
|
||||
}
|
||||
if (strtr($evenDate,array('-'=>''))*1==0) {
|
||||
$tabRad=$iInsee->getAnnoncesLegales($siren, 0, array(2000,2200,2201,2202,2203,2204,2205,2206,2208,2210,2212,6000,6001,6002,6003,6004,6005,6100,6200,6201,6300,6400,6500,6600,6700), false);
|
||||
$evenDate=$tabRad[0]['DateParution'];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($tmp as $i=>$value) {
|
||||
if (is_numeric($i)) {
|
||||
if ($value===null)
|
||||
$afficherNotice=true;
|
||||
else {
|
||||
$strOut.=str_replace('|',' ',$tmp[$i]).'|';
|
||||
$afficherNotice=false;
|
||||
}
|
||||
} else {
|
||||
if ($afficherNotice) {
|
||||
$strOut.=str_replace('|',' ',$tmp2[$i]).'|';
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($presta==2 && ($effet<10 || $actif==0)) return;
|
||||
|
||||
// Dirigeant
|
||||
$ret=$iDb2->select('jo.etablissements', 'dirNom,dirPrenom', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$tmp=@$ret[0];
|
||||
$nomPrenomDir=trim($tmp['dirPrenom'].' '.$tmp['dirNom']);
|
||||
|
||||
// Actionnaire
|
||||
$tabAct=$iLiens->getActionnaires($siren, true);
|
||||
foreach ($tabAct as $i=>$lien) {
|
||||
$sirenAct=$lien['Siren'];
|
||||
//die(print_r($lien));
|
||||
if($sirenAct>100 && ($lien['PminNum']>=50 || $lien['MajMin']=='+')) {
|
||||
$tabIdentiteA=$iInsee->getIdentiteLight($sirenAct);
|
||||
$pctAct=$lien['Pmin'];
|
||||
$nomAct=$tabIdentiteA['Nom'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$strOut.="$evenDate|$even|".str_replace('|',' ',$nomPrenomDir)."|$YP|$pctAct|$sirenAct|".str_replace('|',' ',$nomAct).EOL;
|
||||
if ($presta==1) {
|
||||
$iDb3->insert('adecco_out', array( 'ref'=>$ref,
|
||||
'siren'=>$siren,
|
||||
'nic'=>$nic,
|
||||
'siretTrouve'=>$siren.''.$nic,
|
||||
'siret'=>$siret,
|
||||
'evenDate'=>$evenDate,
|
||||
'even'=>$even));
|
||||
}
|
||||
echo $strOut;
|
||||
if ($fp) fwrite($fp, $strOut);
|
||||
}
|
||||
|
||||
?>
|
@ -1,525 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
function exporte($txt, $lon=-1, $sep="|") {
|
||||
$txt=strtr(trim($txt),array('''=>"'",'&'=>'&', '²'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
|
||||
|
||||
if ($lon==-1) return $txt.$sep;
|
||||
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
|
||||
else return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
|
||||
}
|
||||
|
||||
function choixAdr($bodEtab, $bodSiege, $insee) {
|
||||
|
||||
if (strlen(trim($bodSiege))>0) $adr=trim($bodSiege);
|
||||
elseif (strlen(trim($bodEtab))>0) $adr=trim($bodEtab);
|
||||
else $adr='';
|
||||
|
||||
if (isset($insee) && trim($insee)<>'') return $insee;
|
||||
else return $adr;
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('insee');
|
||||
//$iWs=new WsEntreprise();
|
||||
$iInsee=new MInsee();
|
||||
$iBilan=new MBilans(0);
|
||||
$iCotation=new ICotation(array());
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Entreprises.\n";
|
||||
/*
|
||||
$tabBilans=array();
|
||||
$nbRows=$iDb->select('bilans', 'DISTINCT siren', "dateExercice>=20080101 AND typeBilan IN('N','S')", true, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec Bilans...".EOL;
|
||||
while($tabBilan=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$tabBilans[]=$tabBilan['siren'];
|
||||
}*/
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Début de l'export des entreprises...".EOL;
|
||||
|
||||
$tabSiret=file('/root/sql/pointp/ppNaf4752B.csv');
|
||||
$tabSiren=array();
|
||||
$fpEn=fopen('/root/sql/pointp/ppEntrep20110214.txt','w');
|
||||
$fpEt=fopen('/root/sql/pointp/ppEtabs20110214.txt','w');
|
||||
|
||||
// ETABLISSEMENTS
|
||||
fwrite($fpEt, "Dénomination L1|Dénomination L2|Complément d'adresse|Adresse|Mention de distribution|Code postal|Localité de destination|Code + Libellé Cedex|Code Insee commune|RCS|NIC|Enseigne|Sigle|Libellé statut de l'établissement|Code APE Ets|Libellé APE|Effectif site|Téléphone".EOL);
|
||||
/*
|
||||
|
||||
SI CONSTRUCTION CTRE INCENDIE SECOURS||MAIRIE|ENCLOS DE SERVIGNY|BP 238|29900|CONCARNEAU||29039|200021657|00016|||Établissement siège|4120B|Construction d'autres bâtiments|N/C|0298503838
|
||||
SYND INTERCOMMUNAL TRAVAUX LONGEAILLES||MAIRIE|5 RUE DU VIEUX PONT||39300|PONT DU NAVOY||39437|200022374|00017|||Établissement siège|4211Z|Construction de routes et autoroutes|N/C|
|
||||
TILLET GILLES|TILLET GILLES||12 RUE CHEVRIER||86000|POITIERS||86194|491649737|00013|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C|0549418135
|
||||
PITON JEAN|C M P||16 RUE VICTOR RAMETTE||59400|CAMBRAI||59122|504369604|00013|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0628811387
|
||||
LEFUR JEAN|L Z SERVICE EXPOSITION||2 RUE ROBERT SCHUMAN||94000|CRETEIL||94028|507601672|00011|L Z SERVICE EXPOSITION||Établissement siège|4332C|Agencement de lieux de vente|N/C|
|
||||
LE HUEROU LE GOFF FABIENNE EMMANUELLE|||5 IMP DES COUDRIERS||22950|TREGUEUX||22360|508107125|00017|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C|
|
||||
IGONNET DOMINIQUE MARIE|||QUA LA VIERE||07210|SAINT VINCENT DE BARRES||07302|508652070|00022|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0475298981
|
||||
ROULLET BRUNO PIERRE|||CHARRONDIERE||42310|SAINT BONNET DES QUARTS||42203|508656766|00013|||Établissement siège|8130Z|Services d'aménagement paysager|N/C|
|
||||
BM ELECTRICITE|BM ELECTRICITE||87 RUE DES PERVENCHES||83130|LA GARDE||83062|508858297|00015|||Établissement siège|4321A|Travaux d'installation électrique dans tous locaux|N/C|
|
||||
*/
|
||||
|
||||
// ENTREPRISES
|
||||
fwrite($fpEn, "Dénomination L1|RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|Capital|Devise|Code APE entreprise|Effectif global|Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP|YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU".EOL);
|
||||
/*
|
||||
200021657|20090724|1|Syndicat intercommunal à vocation unique (SIVU)|0||4120B||0|0|||||||||||0|0|||||||||
|
||||
200022374|20091007|1|Syndicat intercommunal à vocation unique (SIVU)|0||4211Z||0|0|||||||||||0|0|||||||||
|
||||
491649737|20090629|1|Artisan |0||4332A||0|0|||||||||||0|0|||||||||
|
||||
504369604|20090722|1|Artisan |0||4332B||0|0|||||||||||0|0|||||||||
|
||||
507601672|20090901|1|Artisan |0||4332C||0|0|||||||||||0|0|||||||||
|
||||
508107125|20090203|1|Profession libérale|0||4332A||0|0|||||||||||0|0|||||||||
|
||||
508652070|20090101|1|(Autre)personne physique |0||4332B||0|0|||||||||||0|0|||||||||
|
||||
508656766|20090101|1|Commerçant |0||8130Z||0|0|||||||||||0|0|||||||||
|
||||
*/
|
||||
|
||||
$fields='id, source, source_id, triCode, autre_id, siren, nic, siege, raisonSociale, enseigne, sigle,
|
||||
adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com, tel, fax,
|
||||
cj, capital, capitalDev, capitalSrc, ape_etab, ape_entrep, age_entrep, age_etab, tca, tcaexp,
|
||||
ape4_etab, ape4_entrep, dateCrea_etab, teff_entrep, teff_etab, eff_entrep, eff_etab, distSP, achPost,
|
||||
dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, bilRN';
|
||||
/*$where="actif=1 AND (eff_etab>0 OR eff_entrep>0 OR bilTca>0 OR tca>0 OR capital>75000) AND adr_dep<96 AND adr_dep NOT in ('20','2A','2B') AND (
|
||||
(ape_etab='8130Z' and substring(ape_entrep,1,2)=81) OR
|
||||
(ape_etab='4110A' AND substring(ape_entrep,1,2)=41) OR
|
||||
(ape_etab='6820A' AND substring(ape_entrep,1,2)=68) OR
|
||||
(ape_etab='6820B' AND substring(ape_entrep,1,2)=68) OR
|
||||
(ape_etab='2511Z' AND substring(ape_entrep,1,2)=25) OR
|
||||
(ape_etab='4399B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4120A' AND substring(ape_entrep,1,2)=41) OR
|
||||
(ape_etab='4120B' AND substring(ape_entrep,1,2)=41) OR
|
||||
(ape_etab='4399C' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4391A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4391B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4399A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='3109B' AND substring(ape_entrep,1,2)=31) OR
|
||||
(ape_etab='4332A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4332B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='3101Z' AND substring(ape_entrep,1,2)=31) OR
|
||||
(ape_etab='4332C' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4331Z' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4334Z' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4333Z' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4321A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='2825Z' AND substring(ape_entrep,1,2)=28) OR
|
||||
(ape_etab='3320B' AND substring(ape_entrep,1,2)=33) OR
|
||||
(ape_etab='4322B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4322A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4339Z' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4329A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4222Z' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4321B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='3020Z' AND substring(ape_entrep,1,2)=30) OR
|
||||
(ape_etab='3600Z' AND substring(ape_entrep,1,2)=36) OR
|
||||
(ape_etab='4211Z' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4212Z' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4213A' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4213B' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4221Z' AND substring(ape_entrep,1,2)=42) OR
|
||||
(ape_etab='4312A' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4312B' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4313Z' AND substring(ape_entrep,1,2)=43) OR
|
||||
(ape_etab='4399D' AND substring(ape_entrep,1,2)=43) )";
|
||||
$nbRows=$iDb->select('etablissements_act', 'count(DISTINCT siren) AS nb', $where, true, MYSQL_ASSOC);
|
||||
$nbRowsTot=$nbRows[0]['nb'];
|
||||
$iLimitNb=100000;*/
|
||||
|
||||
/*for ($iLimit=0; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) {*/
|
||||
$nbRows=count($tabSiret);//$iDb->select('etablissements_act', $fields, "$where GROUP BY siren LIMIT $iLimit, $iLimitNb", true, MYSQL_ASSOC, true);
|
||||
//if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL;
|
||||
//die();
|
||||
|
||||
//$numRow=0;
|
||||
$anneeEstime=date('Y')-2;
|
||||
//while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
foreach ($tabSiret as $numRow=>$tabTmp) {
|
||||
$tabTmp=preg_split('/(;|,)/', $tabTmp);
|
||||
$siren=str_replace(' ','',strtr($tabTmp[0], '"\'',' '))*1;
|
||||
if ($siren==0) continue;
|
||||
|
||||
$nic=str_replace(' ','',strtr($tabTmp[1], '"\'',' '))*1;
|
||||
$tabTmp=$iDb->select('etablissements_act', $fields.", '' AS NOM2", "siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
|
||||
/*if (count($tabTmp)==0)
|
||||
$tabTmp=$iDb2->select('identite', $fields2, "SIREN=$siren AND NIC=$nic", false, MYSQL_ASSOC);*/
|
||||
if (count($tabTmp)==0) continue;
|
||||
/*
|
||||
ACTIF, PAYS` , `APRM` , `ACTIVNAT` , `ORIGINE` , `MODET` , `EXPLET` , `DAPET` , `LIEUACT` , `ACTISURF` ,
|
||||
`DEFET` , `MODEN` , `PRODPART` , `EXPLEN` , `DEFEN` , `MONOREG` , `REGIMP` , `MONOACT` , `DAPEN` , `DCREN`
|
||||
, `SIEGE` , `AUXILT` , `SAISONAT` , `CJ` , `CIVILITE` , `NBETAB` , `APE_ENT` , `APE_ETAB` , `PROCOL` ,
|
||||
`PROCOL_TYPE` , `PROCOL_DATE` , `CAPITAL` , `EFF_ENT` , `NUMRC` , `TEL` , `FAX` , `DIR_FCT` , `DIR_IDEN` ,
|
||||
`DIR_DATEN` , `DIR_LIEUN` , `CAPITAL_DATE` , `CAPITAL_DEV` , `DCRET` , `TEFF_ENT` , `ADR_DEP` , `ADR_COM` ,
|
||||
`TCA` , `TCAEXP` , ``
|
||||
|
||||
|
||||
$fields2="id, '002' AS source, id AS source_id, '' AS triCode, 0 AS autre_id, SIREN AS siren, NIC AS nic,
|
||||
siege, NOM AS raisonSociale, NOM2, ENSEIGNE AS enseigne, SIGLE AS sigle,
|
||||
ADR_NUMVOIE AS adr_num, ADR_BTQ AS adr_btq, ADR_TYPVOIE AS adr_typeVoie, ADR_LIBVOIE AS adr_libVoie,
|
||||
ADR_COMP AS adr_comp, ADR_CP AS adr_cp, ADR_LIBCOM AS adr_ville, adr_dep, adr_com, tel, fax,
|
||||
cj, capital, capitalDev, capitalSrc, ape_etab, ape_entrep, age_entrep, age_etab, tca, tcaexp,
|
||||
ape4_etab, ape4_entrep, dateCrea_etab, teff_entrep, teff_etab, eff_entrep, EFF_ET AS eff_etab, ADR_DISTSP AS distSP,
|
||||
achPost,
|
||||
dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, bilRN";
|
||||
*/
|
||||
|
||||
//die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL);
|
||||
$entrep=$tabTmp[0];
|
||||
$siret=$siren.$nic;
|
||||
//print_r($entrep);
|
||||
//die($siret);
|
||||
/*Dénomination (ligne 1) pour control|
|
||||
RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|
|
||||
Capital| Devise|Code APE entreprise|Effectif global|
|
||||
|
||||
Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP|
|
||||
YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU
|
||||
*/
|
||||
|
||||
$insee=$iDb2->select('identite', 'DCREN, DCRET', "SIREN=$siren AND NIC=$nic LIMIT 0,1",false,MYSQL_ASSOC);
|
||||
if (count($insee)>0) {
|
||||
$tabInsee=$insee[0];
|
||||
$dcren=$tabInsee['DCREN'];
|
||||
$dcret=$tabInsee['DCRET'];
|
||||
} else
|
||||
$dcren=$dcret=$entrep['dateCrea_etab'];
|
||||
|
||||
$strOutput =exporte(str_replace('|',' ',$entrep['raisonSociale']));
|
||||
$strOutput.=exporte(sprintf("%09s", $siren));
|
||||
$strOutput.=exporte($dcren); // date de création entreprise
|
||||
$strOutput.=exporte($entrep['nbEtab']*1);
|
||||
$strOutput.=exporte($iInsee->getLibelleFJ($entrep['cj']));
|
||||
$strOutput.=exporte($entrep['capital']*1);
|
||||
$strOutput.=exporte($entrep['capitalDev']);
|
||||
$strOutput.=exporte($entrep['ape_entrep']);
|
||||
$strOutput.=exporte($entrep['eff_entrep']);
|
||||
$uniteMultiple=1;
|
||||
for ($iBil=0; $iBil<2; $iBil++) {
|
||||
$tabPostes=$tabBilan=array();
|
||||
if ($entrep['bilType']=='R') {
|
||||
$uniteMultiple=1;
|
||||
$tabBilan=$iDb->select('bilans', 'siren, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, unite, typeBilan, postes', "siren=$siren AND typeBilan IN ('N','S') ORDER BY dateExercice DESC LIMIT $iBil, 1", false, MYSQL_ASSOC);
|
||||
$tabBilan=@$tabBilan[0];
|
||||
$tabTmp=explode(';', $tabBilan['postes']);
|
||||
foreach($tabTmp as $poste) {
|
||||
if (trim($poste)<>'') {
|
||||
$tabTmp2=explode('=',$poste);
|
||||
$tabPostes[trim($tabTmp2[0])]=trim($tabTmp2[1]);
|
||||
}
|
||||
}
|
||||
switch (strtoupper($tabBilan['unite'])) {
|
||||
case 'K': $uniteMultiple=1000; break;
|
||||
case 'M': $uniteMultiple=1000000; break;
|
||||
}
|
||||
if ($tabBilan['typeBilan']=='S')
|
||||
$tabPostes=@$iBilan->bilanSimplifie2Normal($tabPostes);
|
||||
}
|
||||
$strOutput.=exporte(@$tabBilan['dateExercice']);
|
||||
$strOutput.=exporte(@$tabBilan['dureeExercice']);
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['FL']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['HN']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['FJ']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['FU']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['GV']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['VA']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['YP']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['YT']*$uniteMultiple));
|
||||
$strOutput.=exporte(str_replace('NS','', @$tabPostes['YU']*$uniteMultiple));
|
||||
if ($iBil==0)
|
||||
$strOutput.=exporte(@$tabBilan['monnaie']);
|
||||
}
|
||||
|
||||
if (!in_array($siren, $tabSiren)) {
|
||||
fwrite($fpEn, $strOutput.EOL);
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
|
||||
// Etablissement
|
||||
$strOutput =exporte(str_replace('|',' ',$entrep['raisonSociale']));
|
||||
$strOutput.=exporte('');
|
||||
$strOutput.=exporte($entrep['adr_comp']);
|
||||
$strOutput.=exporte(trim(str_replace('|',' ',preg_replace('/ +/', ' ', preg_replace('/^0/', '', $entrep['adr_num'].' '.$entrep['adr_btq'].' '.$entrep['adr_typeVoie'].' '.$entrep['adr_libVoie'])))));
|
||||
$strOutput.=exporte($entrep['distSP']);
|
||||
$strOutput.=exporte($entrep['adr_cp']);
|
||||
$strOutput.=exporte($entrep['adr_ville']);
|
||||
$strOutput.=exporte(str_replace('|',' ',$entrep['achPost']));
|
||||
$strOutput.=exporte(sprintf("%02s", $entrep['adr_dep']*1).$entrep['adr_com']);
|
||||
$strOutput.=exporte(sprintf("%09s", $siren));
|
||||
$strOutput.=exporte(sprintf("%05s", $nic));
|
||||
$strOutput.=exporte(str_replace('|',' ',$entrep['enseigne']));
|
||||
$strOutput.=exporte(str_replace('|',' ',$entrep['sigle']));
|
||||
if ($entrep['siege']*1==1) $strOutput.=exporte('Établissement siège');
|
||||
else $strOutput.=exporte('Établissement secondaire');
|
||||
$strOutput.=exporte($entrep['ape_etab']);
|
||||
$strOutput.=exporte($iInsee->getLibelleNaf($entrep['ape_etab']));
|
||||
$strOutput.=exporte($entrep['eff_etab']*1);
|
||||
$strOutput.=exporte($entrep['tel']);
|
||||
|
||||
fwrite($fpEt, $strOutput.EOL);
|
||||
|
||||
if ($numRow%10000==0) {
|
||||
$nbSiren=count($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - $numRow/$nbRows étabs ($nbSiren entrep): $strOutput".EOL;
|
||||
}
|
||||
//die();
|
||||
}
|
||||
//}
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion des Entreprises.\n";
|
||||
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Diffusion Entreprise", print_r($tabNaf5inconnu, true) .EOL. print_r($tabNaf4inconnu,true) );
|
||||
|
||||
die();
|
||||
|
||||
function getTca($montantCA) {
|
||||
$montantCA=$montantCA*1;
|
||||
if ($montantCA>=200000000) // 9 : 200 millions d'euros ou plus)
|
||||
return 9;
|
||||
elseif ($montantCA>=100000000) // 8 : De 100 millions à moins de 200 millions d'euros
|
||||
return 8;
|
||||
elseif ($montantCA>= 50000000) // 7 : De 50 millions à moins de 100 millions d'euros
|
||||
return 7;
|
||||
elseif ($montantCA>= 20000000) // 6 : De 20 millions à moins de 50 millions d'euros
|
||||
return 6;
|
||||
elseif ($montantCA>= 10000000) // 5 : De 10 millions à moins de 20 millions d'euros
|
||||
return 5;
|
||||
elseif ($montantCA>= 5000000) // 4 : De 5 millions à moins de 10 millions d'euros
|
||||
return 4;
|
||||
elseif ($montantCA>= 2000000) // 3 : De 2 millions à moins de 5 millions d'euros
|
||||
return 3;
|
||||
elseif ($montantCA>= 1000000) // 2 : De 1 million à moins de 2 millions d'euros
|
||||
return 2;
|
||||
elseif ($montantCA>= 500000) // 1 : De 0,5 à moins de 1 million d'euros
|
||||
return 1;
|
||||
else
|
||||
return 0; // Non renseignée ou moins de 0,5 million d'euros
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$fields='id, SIREN, NIC, NOM, NOM2, SIGLE, ENSEIGNE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, SIEGE, CJ, NBETAB, APE_ETAB, CAPITAL, EFF_ENT, TEL, FAX, CAPITAL_DEV, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, DIR_FCT, DIR_IDEN';
|
||||
|
||||
$nbRows=$iDb->select('identite', $fields, "ACTIF=1 AND CJ BETWEEN 5000 AND 5999 AND CJ NOT IN(18, 1800) AND TEL>0 AND SIEGE=1 LIMIT 0,6000", true, MYSQL_ASSOC, true);
|
||||
|
||||
/*
|
||||
$fields='b.id, b.Bodacc_Code, b.Bodacc_Annee_Parution, b.Bodacc_Num, b.Num_Annonce, b.Bodacc_Date_Parution, b.Tribunal_Dept, b.Tribunal_Code, b.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, b.typeAnnonce, b.corrNum_Annonce, b.corrBodacc_Date_Parution, b.corrPage, b.corrNumParution, b.corrTexteRectificatif, b.annonce, d.siren, d.sirenValide, d.nic, d.nicValide, d.raisonSociale, d.enseigne, d.sigle, d.typeEven, d.dateJugement, d.VenteMt, d.VenteDev, d.dateEffet, d.publicationDate, d.dateDebutActivite, d.dateCessationActivite, d.dateCessationPaiement, d.dateFinDepotCreances, d.dateFinObservation';
|
||||
$nbRows=$iDb->select('bodacc b, bodacc_detail d', $fields, "b.Bodacc_Code IN ('A','B') AND b.Bodacc_Annee_Parution=2009 AND b.Bodacc_Num=90 AND d.id=b.id", true, MYSQL_ASSOC, true);
|
||||
*/
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL;
|
||||
$fp=fopen('./veolia_test2.csv','w');
|
||||
|
||||
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
|
||||
$siret=$entrep['SIREN'].$entrep['NIC'];
|
||||
|
||||
if ($siret>100) $tabIdentite=@$iWs->getIdentite($siret, 0, false);
|
||||
else $tabIdentite=array();
|
||||
|
||||
$tabIdentite=$tabIdentite['result'];
|
||||
/*
|
||||
$strOutput =exporte($entrep['siren'], 9);
|
||||
$strOutput.=exporte($tabIdentite['NafEnt'], 5);
|
||||
$strOutput.=exporte($tabIdentite['FJ'], 4);
|
||||
if($tabIdentite['DateCreaEn']*1>0)
|
||||
$strOutput.=exporte(substr($tabIdentite['DateCreaEn'],0,4).'-'.substr($tabIdentite['DateCreaEn'],4,2).'-'.substr($tabIdentite['DateCreaEn'],6,2), 10);
|
||||
else
|
||||
$strOutput.=exporte('0000-00-00', 10);
|
||||
|
||||
$strOutput.=exporte($tabIdentite['Siege']*1, 1);
|
||||
$strOutput.=exporte($tabIdentite['Nic'], 5);
|
||||
$strOutput.=exporte($tabIdentite['NafEtab'], 5);
|
||||
$strOutput.=exporte('', 6); // APRM
|
||||
|
||||
if($tabIdentite['DateCreaEt']*1>0)
|
||||
$strOutput.=exporte(substr($tabIdentite['DateCreaEt'],0,4).'-'.substr($tabIdentite['DateCreaEt'],4,2).'-'.substr($tabIdentite['DateCreaEt'],6,2), 10);
|
||||
else
|
||||
$strOutput.=exporte('0000-00-00', 10);
|
||||
|
||||
$strOutput.=exporte($tabIdentite['Dept'], 2);
|
||||
$strOutput.=exporte($tabIdentite['codeCommune'], 3);
|
||||
$strOutput.=exporte($tabIdentite['Rivoli'], 5);
|
||||
|
||||
if (strlen(trim($entrep['raisonSociale']))>strlen(trim($tabIdentite['Nom'])))
|
||||
$strOutput.=exporte(strtr($entrep['raisonSociale'], array("\r"=>' ', "\n"=>' ', "\t"=>' ')), 150);
|
||||
else
|
||||
$strOutput.=exporte($tabIdentite['Nom'].$tabIdentite['Nom2'], 150);
|
||||
|
||||
if (strlen(trim($entrep['sigle']))>strlen(trim($tabIdentite['Sigle'])))
|
||||
$strOutput.=exporte(strtr($entrep['sigle'], array("\r"=>' ', "\n"=>' ', "\t"=>' ')), 100);
|
||||
else
|
||||
$strOutput.=exporte($tabIdentite['Sigle'], 100);
|
||||
|
||||
if (strlen(trim($entrep['enseigne']))>strlen(trim($tabIdentite['Enseigne'])))
|
||||
$strOutput.=exporte(strtr($entrep['enseigne'], array("\r"=>' ', "\n"=>' ', "\t"=>' ')), 100);
|
||||
else
|
||||
$strOutput.=exporte($tabIdentite['Enseigne'], 100);
|
||||
|
||||
$strOutput.=exporte(choixAdr($entrep['adrNum'], $entrep['adrSiegeNum'], $tabIdentite['AdresseNum']), 4);
|
||||
$strOutput.=exporte(choixAdr($entrep['adrIndRep'], $entrep['adrSiegeIndRep'], $tabIdentite['AdresseBtq']), 1);
|
||||
|
||||
$strOutput.=exporte(choixAdr($entrep['adrTypVoie'], $entrep['adrSiegeTypVoie'], $tabIdentite['AdresseVoie']), 3);
|
||||
$strOutput.=exporte(choixAdr($entrep['adrLibVoie'], $entrep['adrSiegeLibVoie'], $tabIdentite['AdresseRue']), 35);
|
||||
$strOutput.=exporte(choixAdr($entrep['ville'], $entrep['villeSiege'], $tabIdentite['Ville']), 35);
|
||||
$strOutput.=exporte(choixAdr($entrep['codePostal'], $entrep['codePostalSiege'], $tabIdentite['CP']), 5);
|
||||
$strOutput.=exporte(choixAdr($entrep['adrComp1'], $entrep['adrSiegeComp1'], $tabIdentite['Adresse2']), 35);
|
||||
|
||||
$strOutput.=exporte('FR', 2);
|
||||
$strOutput.=exporte('', 15);
|
||||
|
||||
$strOutput.=exporte('B', 1);
|
||||
$strOutput.=exporte($entrep['Bodacc_Annee_Parution'].'-'.$entrep['Bodacc_Num'], 8);
|
||||
$strOutput.=exporte($entrep['Bodacc_Code'], 1);
|
||||
$strOutput.=exporte($entrep['Num_Annonce'], 6);
|
||||
$strOutput.=exporte($entrep['Bodacc_Date_Parution'], 10);
|
||||
$strOutput.=exporte('', 3);
|
||||
|
||||
if(str_replace('-','',$entrep['dateEffet'])*1>0)
|
||||
$strOutput.=exporte($entrep['dateEffet'], 10);
|
||||
elseif(str_replace('-','',$entrep['dateJugement'])*1>0)
|
||||
$strOutput.=exporte($entrep['dateJugement'], 10);
|
||||
elseif(str_replace('-','',$entrep['publicationDate'])*1>0)
|
||||
$strOutput.=exporte($entrep['publicationDate'], 10);
|
||||
elseif(str_replace('-','',$entrep['dateDebutActivite'])*1>0)
|
||||
$strOutput.=exporte($entrep['dateDebutActivite'], 10);
|
||||
elseif(str_replace('-','',$entrep['dateCessationActivite'])*1>0)
|
||||
$strOutput.=exporte($entrep['dateCessationActivite'], 10);
|
||||
else
|
||||
$strOutput.=exporte('0000-00-00', 10);
|
||||
|
||||
$strOutput.=exporte($entrep['Tribunal_Code'], 6);
|
||||
|
||||
$strOutput.=exporte(preg_replace('/ +/',' ', strtr($entrep['annonce'], array("\r"=>' ', "\n"=>' ', "\t"=>' '))), 3200);
|
||||
|
||||
$strOutput.=exporte($entrep['typeEven'], 40);
|
||||
$strOutput.=exporte($entrep['Rubrique'], 10);
|
||||
$strOutput.=exporte($entrep['typeAnnonce'], 10);*/
|
||||
|
||||
// print_r($tabIdentite);
|
||||
// die();
|
||||
|
||||
if ($tabIdentite['SituationJuridique']<>'P') {
|
||||
$strOutput =exporte("A", 1);
|
||||
$strOutput.='002'.exporte(sprintf("%010s", $tabIdentite['id']), 10);
|
||||
$strOutput.=exporte(sprintf("%09s", $tabIdentite['Siren']), 9);
|
||||
$strOutput.=exporte(sprintf("%05s", $tabIdentite['Nic']), 5);
|
||||
$strOutput.=exporte($tabIdentite['Enseigne'], 40);
|
||||
$strOutput.=exporte($tabIdentite['Sigle'], 20);
|
||||
$strOutput.=exporte($tabIdentite['Nom'], 32);
|
||||
$strOutput.=exporte($tabIdentite['Nom2'], 32);
|
||||
$strOutput.=exporte('', 32); // ENTREE BATIMENT RESIDENCE
|
||||
|
||||
$adresse=$tabIdentite['AdresseNum']*1;
|
||||
if ($adresse==0) $adresse='';
|
||||
else $adresse.=' ';
|
||||
$adresse.=trim(preg_replace('/ +/', ' ', $tabIdentite['AdresseBtq'].' '.$tabIdentite['AdresseVoie'].' '.$tabIdentite['AdresseRue']));
|
||||
$strOutput.=exporte($adresse, 32);
|
||||
$strOutput.=exporte($tabIdentite['Adresse2'], 32);
|
||||
$strOutput.=exporte(sprintf("%05s",$tabIdentite['CP']), 6);
|
||||
$strOutput.=exporte($tabIdentite['Ville'], 32);
|
||||
$strOutput.=exporte($entrep['ADR_DISTSP'], 32); // CEDEX
|
||||
$strOutput.=exporte(sprintf("%02s",$tabIdentite['Dept']).sprintf("%03s",$tabIdentite['codeCommune']), 5);
|
||||
$strOutput.=exporte("I", 1);
|
||||
|
||||
$tabTmp=@$iInsee->getDirigeants($entrep['SIREN'], false);
|
||||
/* if (count($tabTmp)>0) {
|
||||
print_r($tabTmp);
|
||||
die();
|
||||
}*/
|
||||
$tabDir=$tabTmp[0];
|
||||
$tabTmp=explode(' ', $tabDir['Nom']);
|
||||
$civ=trim($tabDir['Civilite']);
|
||||
$nom=$tabDir['Nom'];
|
||||
$prenom=$tabDir['Prenom'];
|
||||
|
||||
if ($civ=='' && $tabIdentite['FJ']<2000 && $tabIdentite['Civilite']==1) $civ='M';
|
||||
elseif ($civ=='' && $tabIdentite['FJ']<2000 && $tabIdentite['Civilite']==2) $civ='MME';
|
||||
|
||||
if ($entrep['DIR_FCT']=='PP') {
|
||||
|
||||
preg_match_all('/[A-Z]{2,}/', $entrep['DIR_IDEN'], $matches);
|
||||
$nom=trim(implode(' ',$matches[0]));
|
||||
|
||||
preg_match_all('/[A-Z][a-z]{1,}/', $entrep['DIR_IDEN'], $matches);
|
||||
$prenom=trim(implode(' ',$matches[0]));
|
||||
}
|
||||
|
||||
$strOutput.=exporte($civ, 4); //Civilite
|
||||
$strOutput.=exporte($nom, 30); // NOM
|
||||
$strOutput.=exporte($prenom, 20); // PRENOM
|
||||
$strOutput.=exporte($tabDir['Fonction'], 4); // Code Fct
|
||||
$strOutput.=exporte(sprintf("%10s",preg_replace('/( |\-|\.)/', '', $tabIdentite['Tel'])), 10);
|
||||
$strOutput.=exporte(sprintf("%10s",preg_replace('/( |\-|\.)/', '', $tabIdentite['Fax'])), 10);
|
||||
$strOutput.=exporte($tabIdentite['DateCreaEt'], 8);
|
||||
if ($tabIdentite['Siege']==1) $strOutput.=exporte('01', 2);
|
||||
else $strOutput.=exporte('02', 2);
|
||||
$strOutput.=exporte($tabIdentite['NbEtab'], 5);
|
||||
$strOutput.=exporte($tabIdentite['FJ'], 4);
|
||||
$strOutput.=exporte($tabIdentite['Capital'], 13);
|
||||
if ($tabIdentite['CapitalDev']=='EUR' || $tabIdentite['CapitalDev']=='')
|
||||
$strOutput.=exporte('Euro', 10);
|
||||
else
|
||||
$strOutput.=exporte($tabIdentite['CapitalDev'], 10);
|
||||
/*
|
||||
<Naf4Ent>341Z</Naf4Ent>
|
||||
<Naf4Etab>741J</Naf4Etab>
|
||||
<Naf4EntLib>Construction de vehicules automobiles</Naf4EntLib>
|
||||
<>Administration d'entreprises</Naf4EtabLib>
|
||||
*/
|
||||
$naf4=$tabIdentite['Naf4Etab'];
|
||||
$naf4lib=$tabIdentite['Naf4EtabLib'];
|
||||
$naf5=$tabIdentite['NafEtab'];
|
||||
if ($naf4=='') $naf4=$iCotation->tabNaf21[$naf5];
|
||||
if ($naf4lib=='') $naf4lib=$iInsee->getLibelleNaf($naf4);
|
||||
$strOutput.=exporte($naf4, 4); // NAF4
|
||||
$strOutput.=exporte($naf4lib, 90);
|
||||
|
||||
$tabTmp=@$iWs->getRatios($entrep['SIREN']);
|
||||
// print_r($tabTmp);
|
||||
$tabRatios=$tabTmp['result']['RatiosEntrep'][0];
|
||||
if (($tabRatios['r24']*1)>0)
|
||||
$effectifFr=$tabRatios['r24'];
|
||||
else
|
||||
$effectifFr=$tabIdentite['Effectif'];
|
||||
|
||||
$strOutput.=exporte($effectifFr, 6);
|
||||
$strOutput.=exporte($entrep['EFF_ET'], 6);
|
||||
|
||||
if (count($tabRatios)>0) {
|
||||
$strOutput.=exporte('R', 1); // Réel , Inconnu, Estimé
|
||||
$strOutput.=exporte(str_replace('NS','', $tabRatios['r1']), 13);
|
||||
$strOutput.=exporte(str_replace('NS','', $tabRatios['r3']), 13);
|
||||
$strOutput.=exporte(str_replace('NS','', $tabRatios['r10']), 13);
|
||||
//die(print_r($tabRatios));
|
||||
} elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) {
|
||||
$caEstime=getCAnafEffectif($naf5, $effectifFr);
|
||||
$strOutput.=exporte('E', 1); // Réel , Inconnu, Estimé
|
||||
$strOutput.=exporte($caEstime, 13); // CA France
|
||||
$strOutput.=exporte('', 13); // CA Export
|
||||
$strOutput.=exporte('', 13); // Résultat Net
|
||||
} else{
|
||||
//$CAESTIME=getCAnafEffectif($naf, $EFFECTIF);
|
||||
$strOutput.=exporte('I', 1); // Réel , Inconnu, Estimé
|
||||
$strOutput.=exporte('', 13);
|
||||
$strOutput.=exporte('', 13);
|
||||
$strOutput.=exporte('', 13);
|
||||
}
|
||||
|
||||
$strOutput.=exporte($naf5, 5);
|
||||
$strOutput.=exporte($tabIdentite['NafEtabLib'], 90);
|
||||
|
||||
echo $strOutput.EOL;
|
||||
fwrite($fp, $strOutput.EOL);
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion des Entreprises.\n";
|
||||
|
||||
die();
|
||||
|
||||
?>
|
2612
batch/doProBtp.php
2612
batch/doProBtp.php
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,661 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
/** @todo Faire tourner le premier lundi du mois
|
||||
**/
|
||||
|
||||
function exporte($txt, $lon=-1, $sep="|") {
|
||||
$txt=strtr(trim($txt),array('''=>"'",'&'=>'&', '²'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
|
||||
|
||||
if ($lon==-1) return $txt.$sep;
|
||||
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
|
||||
else return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
|
||||
}
|
||||
|
||||
function choixAdr($bodEtab, $bodSiege, $insee) {
|
||||
|
||||
if (strlen(trim($bodSiege))>0) $adr=trim($bodSiege);
|
||||
elseif (strlen(trim($bodEtab))>0) $adr=trim($bodEtab);
|
||||
else $adr='';
|
||||
|
||||
if (isset($insee) && trim($insee)<>'') return $insee;
|
||||
else return $adr;
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
global $iDb2,$iDb3,$iLiens,$iBilan,$iInsee,$date;
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iDb2=new WDB('historiques');
|
||||
$iDb3=new WDB('tmp');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
$iBilan=new MBilans(0);
|
||||
$iLiens=new MLiens(0);
|
||||
$iBodacc=new MBodacc();
|
||||
|
||||
$iCotation=new ICotation(array());
|
||||
|
||||
$presta=$purge=$siretReprise=false;
|
||||
$strReprise='';
|
||||
$date=date('Ymd');
|
||||
$tabFichier=array();
|
||||
|
||||
$nbSirValides=$nbSirInvalides=0;
|
||||
$nbNicValides=$nbNicInvalides=0;
|
||||
$nbInsert=0;
|
||||
$modeDebug=false;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
|
||||
Traitement spécifique Kompass.
|
||||
|
||||
Options :
|
||||
-s @todo Prévoir le chargement du stock
|
||||
-1 Prestation 1 Mise à disposition du stock des Classes de risque
|
||||
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
|
||||
-4 Prestation 4 Mise à disposition de la base Liens
|
||||
-5 Prestation 5 Mise à disposition de la base Ratios
|
||||
-6 Prestation 6 Mise à disposition des URL pour les rapports Kompass
|
||||
-v Verbosité maximum
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case '1': $presta=1; break;
|
||||
case '3': $presta=3; break;
|
||||
case '4': $presta=4; break;
|
||||
case '5': $presta=5; break;
|
||||
case '6': $presta=6; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($presta<>1 && $presta<>3 && $presta<>4 && $presta<>5 && $presta<>6) {
|
||||
if (count($tabFichier)<>1)
|
||||
echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL;
|
||||
die();
|
||||
}/* elseif ($presta==5 && date('N')<>5) {
|
||||
if (!$modeDebug) die('La génération du stock des bilans ne peut se faire que le vendredi !'.EOL);
|
||||
}*/
|
||||
|
||||
$fp=fopen('/home/data/clients/kompass/kompass_p'.$presta."_$date.txt",'w');
|
||||
|
||||
// Base des Siren avec Risque Financier
|
||||
if ($presta==1) {
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche des siren en Presta $presta...".EOL;
|
||||
|
||||
$nbRows=$iDb->query("SELECT CONCAT(e.siren, risque) AS LigneRisque
|
||||
FROM etablissements_act e, surveillances_listes s
|
||||
WHERE e.siren=s.siren AND cj NOT IN (1900, 6540, 9110, 9150) AND siege=1 AND risque IN ('A','B','C') AND s.idClient='SURBODPRDFTSKOMPASS' AND s.dateSuppr=0
|
||||
ORDER BY e.siren ASC;");
|
||||
$nbLignes=$iDb->getNumRows();
|
||||
echo date('Y/m/d - H:i:s') ." - Export des $nbLignes siren Kompass en Presta $presta...".EOL;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
fwrite($fp, $tabTmp['LigneRisque'].EOL);
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de l'export en Presta $presta...".EOL;
|
||||
}
|
||||
|
||||
// Surveillance Jugements
|
||||
if ($presta==3) {
|
||||
/** @todo prendre les fichiers jugements (1er lundi du mois) **/
|
||||
define('DIR_KOMPASS_IN','/home/data/clients/kompass international/');
|
||||
$fichierIn=false;
|
||||
$ligneOut=$ligne100tot=0;
|
||||
$dh = opendir(DIR_KOMPASS_IN);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt' &&
|
||||
// substr($filename, 0,39)=='surveillanceBodacc_SURBODPRDFTSKOMPASS_'/*.date('Ym')*/) {
|
||||
substr($filename, 0,36)=='diffusionBodacc_DIFBODPRDFTSKOMPASS_'/*.date('Ym')*/) {
|
||||
$fichierIn = $filename;
|
||||
$tabLignes=file(DIR_KOMPASS_IN.$fichierIn);
|
||||
$ligne100=0;
|
||||
foreach ($tabLignes as $i=>$ligne) {
|
||||
$ecrireLignePre=false;
|
||||
$typeLigne=substr($ligne, 0, 3)*1;
|
||||
$siren=$ref=$typeJuge=$dateJuge='';
|
||||
switch ($typeLigne) {
|
||||
case 100: // Structure Bodacc
|
||||
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
|
||||
$ligne100++;
|
||||
$siren = substr($ligne, 13, 9 ); // Siren de l'entreprise concernée par l'annonce
|
||||
$ref = '';
|
||||
if ($siren>1000) {
|
||||
/** @todo Vérifier que le siren est présent chez kompass avec une référence **/
|
||||
$tabTmp=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 AND siren='$siren'", false, MYSQL_ASSOC);
|
||||
if (@trim($tabTmp[0]['ref'])<>'') $ref=$tabTmp[0]['ref'];
|
||||
else continue;
|
||||
} else continue;
|
||||
//$ref = trim(substr($ligne, 71, 18 )); // Référence Client
|
||||
$datePar= substr($ligne, 31, 8 ); // Date de parution du Bodacc Format AAAAMMJJ
|
||||
$dateJuge=substr($ligne, 1144, 8 ); // Date du jugement
|
||||
if ($dateJuge<=19900101)
|
||||
$dateJuge=substr($ligne, 1161, 8 ); // Date d'effet (Ventes/MMD/Créations)
|
||||
if ($dateJuge==0)
|
||||
$dateJuge=$datePar;
|
||||
$even=array();
|
||||
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
|
||||
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
|
||||
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
|
||||
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
|
||||
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
|
||||
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
|
||||
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
|
||||
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
|
||||
foreach ($even as $codeEven) {
|
||||
$codeEven=$codeEven*1;
|
||||
if ((($codeEven>1199 && $codeEven<1300) ||
|
||||
$codeEven==1418) && $codeEven<>1203 && $codeEven<>1207) $typeJuge='RJ'; // Redressement judiciaire
|
||||
elseif (($codeEven>1099 && $codeEven<1110) || $codeEven==1419) $typeJuge='SV'; // Sauvegarde
|
||||
elseif (($codeEven>1299 && $codeEven<1400) || $codeEven==1417) $typeJuge='LJ'; // Liquidation judiciaire
|
||||
elseif ($codeEven==1408 || $codeEven==1415) $typeJuge='CE'; // Plan de cession
|
||||
elseif ($codeEven==1409 || $codeEven==1413 || $codeEven==1414) $typeJuge='CO'; // Plan de continuation
|
||||
elseif ($codeEven==1412 || $codeEven==1425) $typeJuge='CP'; // Plan de cession partielle
|
||||
elseif ($codeEven==1411) $typeJuge='CT'; // Plan de cession totale
|
||||
elseif ($codeEven==1010) $typeJuge='DB'; // Dépôt de bilan
|
||||
elseif ($codeEven==1543) $typeJuge='RR'; // Rétractation d'un redressement judiciaire
|
||||
elseif ($codeEven==1544 || $codeEven==1541) $typeJuge='RL'; // Rétractation d'une liquidation judiciaire
|
||||
elseif ($codeEven==1545 || $codeEven==1506) $typeJuge='R'; // Rétractation du dernier jugement
|
||||
elseif ($codeEven==1542) $typeJuge='RS'; // Rétractation Sauvegarde
|
||||
elseif (($codeEven>1399 && $codeEven<1416) ||
|
||||
($codeEven>1419 && $codeEven<1500)) $typeJuge='SJ'; // Suite de jugement
|
||||
|
||||
elseif ($codeEven>1099 && $codeEven<2000) $typeJuge='AJ'; // Autre jugement ou suite de jugement
|
||||
elseif ($codeEven==2000 || $codeEven==2200 ||
|
||||
$codeEven==2202 || $codeEven==2203 ||
|
||||
$codeEven==2204 || $codeEven==2210) $typeJuge='DI'; // Dissolution
|
||||
elseif ($codeEven==2211 || $codeEven==2212) $typeJuge='LA'; // Liquidation amiable
|
||||
elseif ($codeEven==2620) $typeJuge='TU'; // Transmission universelle du patrimoine
|
||||
elseif ($codeEven==2720 || $codeEven==2721) $typeJuge='FU'; // Fusion/Absorption
|
||||
elseif ($codeEven>=5500 && $codeEven<=5503) $typeJuge='VT'; // Vente
|
||||
elseif ($codeEven>=6000 && $codeEven<=6700) { $typeJuge='RA'; // Radiation
|
||||
if ($siren>1000) {
|
||||
$tabId=@$iInsee->getIdentiteLight($siren);
|
||||
if (@$tabId['actif']==0) $typeJuge='';
|
||||
} else $typeJuge='';
|
||||
}
|
||||
}
|
||||
if ($typeJuge<>'') {
|
||||
//echo "$siren\t$ref\t$dateJuge\t$typeJuge\t".$even[0].EOL;
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($ref, 7, '0', ALIGN_RIGHT) .
|
||||
initstr($typeJuge, 2) .
|
||||
initstr($dateJuge, 8, '0', ALIGN_RIGHT);
|
||||
fwrite($fp, $ligne.EOL);
|
||||
$ligneOut++;
|
||||
if ($ligneOut%10000==0) echo date('Y/m/d - H:i:s') ." - Traitement du fichier $fichierIn : $ligneOut annonces traitées...".EOL;
|
||||
}
|
||||
break;
|
||||
default: // Ligne non gérée
|
||||
break;
|
||||
}
|
||||
} // Fin du fichier
|
||||
$ligne100tot+=$ligne100;
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement du fichier $fichierIn : $ligne100 annonces livrées !".EOL;
|
||||
move(DIR_KOMPASS_IN.$fichierIn,DIR_KOMPASS_IN.$fichierIn.'.done');
|
||||
}
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - $ligneOut/$ligne100tot siren Kompass en Presta $presta...".EOL;
|
||||
}
|
||||
|
||||
// Surveillance Liens Capitalistiques
|
||||
if ($presta==4) {
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Création de la table de liens temportaires pour la Presta $presta...".EOL;
|
||||
$nbRows=$iDb->query("DROP TABLE IF EXISTS tmp_LiensKompass;");
|
||||
$nbRows=$iDb->query("CREATE TABLE tmp_LiensKompass
|
||||
SELECT l.id, l.idAct, a.siren AS sirenA, a.RS AS rsA, CONCAT(a.nom,' ', a.prenom) AS nomA, a.adresse_pays AS paysA, l.actif, PDetention, Pvote, MajMin, l.idPar, p.siren AS sirenP, p.RS AS rsP, CONCAT(p.nom,' ', p.prenom) AS nomP, p.adresse_pays AS paysP, l.dateEffetLien, l.dateInsert, l.dateUpdate, s.siren AS sirenK, 0 AS nic, s.ref, 3 AS tp_df
|
||||
FROM liens2 l, liensRef a, liensRef p, surveillances_listes s
|
||||
WHERE l.dateSuppr=0 AND l.actif=1 AND l.idAct=a.id AND l.idPar=p.id AND a.siren=s.siren AND s.idClient='SURBODPRDFTSKOMPASS' AND s.dateSuppr=0 AND a.dateSuppr=0 AND p.dateSuppr=0 AND PDetention>=30
|
||||
UNION
|
||||
SELECT l.id, l.idAct, a.siren AS sirenA, a.RS AS rsA, CONCAT(a.nom,' ', a.prenom) AS nomA, a.adresse_pays AS paysA, l.actif, PDetention, Pvote, MajMin, l.idPar, p.siren AS sirenP, p.RS AS rsP, CONCAT(p.nom,' ', p.prenom) AS nomP, p.adresse_pays AS paysP, l.dateEffetLien, l.dateInsert, l.dateUpdate, s.siren AS sirenK, 0 AS nic, s.ref, 2 AS tp_df
|
||||
FROM liens2 l, liensRef a, liensRef p, surveillances_listes s
|
||||
WHERE l.dateSuppr=0 AND l.actif=1 AND l.idAct=a.id AND l.idPar=p.id AND p.siren=s.siren AND s.idClient='SURBODPRDFTSKOMPASS' AND s.dateSuppr=0 AND a.dateSuppr=0 AND p.dateSuppr=0 AND PDetention>=30");
|
||||
echo date('Y/m/d - H:i:s') ." - Ajout des index...".EOL;
|
||||
$nbRows=$iDb->query("ALTER TABLE tmp_LiensKompass ADD INDEX(sirenK);");
|
||||
echo date('Y/m/d - H:i:s') ." - Ajout des NIC...".EOL;
|
||||
$nbRows=$iDb->query("UPDATE tmp_LiensKompass k, etablissements_act a SET k.nic=a.nic WHERE k.sirenK=a.siren AND a.siege=1 AND k.sirenA>1000;");
|
||||
$tabTmp=$iDb->select('tabPays','codPays3, libPays', '1', false, MYSQL_ASSOC);
|
||||
foreach($tabTmp as $i=>$tabTmp2) {
|
||||
$tabPays[$tabTmp2['codPays3']]=$tabTmp2['libPays'];
|
||||
}
|
||||
$nbRows=count($tabTmp);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows pays en Presta $presta...".EOL;
|
||||
|
||||
$nbRows=$iDb->query("SELECT id, idAct, sirenA, rsA, nomA, paysA, actif, PDetention, Pvote, MajMin, idPar, sirenP, rsP, nomP, paysP, dateEffetLien*1 AS dateEffet, dateInsert*1 AS dateInsert, dateUpdate*1 AS dateUpdate, sirenK, nic, ref, tp_df FROM tmp_LiensKompass GROUP BY id, tp_df ORDER BY sirenK ASC, tp_df ASC, PDetention DESC, dateEffet DESC;");
|
||||
$nbLignes=$iDb->getNumRows();
|
||||
echo date('Y/m/d - H:i:s') ." - Export des $nbLignes liens Kompass en Presta $presta...".EOL;
|
||||
$nbLignes4=$nbLiensP100=0;
|
||||
$strLiensP100='Listes des siren avec des actionnaires > à 100 % :'.EOL.EOL;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$siren=$tabTmp['sirenK']*1;
|
||||
$nic=$tabTmp['nic']*1;
|
||||
$pctT=$tabTmp['PDetention'];
|
||||
if ($nic<10) {
|
||||
$tabId=@$iInsee->getIdentiteLight($siren);
|
||||
$nic=$tabId['Nic'];
|
||||
}
|
||||
if ($tabTmp['tp_df']==3) {
|
||||
// $siren a $sirentT pour PARTICIPATION
|
||||
$sirenT=$tabTmp['sirenP'];
|
||||
$nomT=substr(trim($tabTmp['rsP'].' '.$tabTmp['nomP']),0,64);
|
||||
$pays=$tabPays[$tabTmp['paysP']];
|
||||
} elseif ($tabTmp['tp_df']==2) {
|
||||
// $siren a $sirentT pour ACTIONNAIRE
|
||||
$sirenT=$tabTmp['sirenA'];
|
||||
$nomT=substr(trim($tabTmp['rsA'].' '.$tabTmp['nomA']),0,64);
|
||||
$pays=$tabPays[$tabTmp['paysA']];
|
||||
if ($sirenPre==$siren) $pctCumul+=$pctT;
|
||||
else $pctCumul=$pctT;
|
||||
if ($pctCumul>100) {
|
||||
$nbLiensP100++;
|
||||
echo "$siren\t$sirenT\t$pctCumul".EOL;
|
||||
$strLiensP100.="$siren\t$sirenT\t$pctCumul".EOL;
|
||||
$sirenPre=$siren;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$dateMAJ=substr($tabTmp['dateEffet'],0,8)*1;
|
||||
$dateInsert=substr($tabTmp['dateInsert'],0,8)*1;
|
||||
$dateUpdate=substr($tabTmp['dateUpdate'],0,8)*1;
|
||||
if ($dateInsert>$dateMAJ) $dateMAJ=$dateInsert;
|
||||
if ($dateUpdate>$dateMAJ) $dateMAJ=$dateUpdate;
|
||||
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nic, 5, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['ref'], 7, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['tp_df'],1, '0', ALIGN_RIGHT) .
|
||||
initstr($sirenT, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nomT, 64) .
|
||||
' '.
|
||||
sprintf("%06.2f", $pctT) .
|
||||
initstr($pays, 30) .
|
||||
initstr($dateMAJ, 8, '0', ALIGN_RIGHT);
|
||||
|
||||
fwrite($fp, $ligne.EOL);
|
||||
$nbLignes4++;
|
||||
$sirenPre=$siren;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de l'export en Presta $presta ($nbLignes4 liens retenus/$nbLignes liens)...".EOL;
|
||||
sendMail('prod@scores-decisions.com', 'ylenaour@scores-decisions.com,mpurcarin@scores-decisions.com,abalayan@snd-a.com',
|
||||
"Liste des $nbLiensP100 Entités avec + de 100% d'actionnariat pour le mois ".date('m/Y'), $strLiensP100);
|
||||
|
||||
//die();
|
||||
|
||||
$nbRows=$iDb->query("DROP TABLE tmp_LiensKompass;");
|
||||
//die();
|
||||
|
||||
/*
|
||||
$nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 ORDER BY siren ASC", false, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siren Kompass en Presta $presta...".EOL;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$siren=$tabTmp['siren'];
|
||||
$ref=trim($tabTmp['ref']);
|
||||
$tabId=@$iInsee->getIdentiteLight($siren);
|
||||
$nic=$tabId ['Nic'];
|
||||
|
||||
// Actionnaires
|
||||
$pctTtot=0;
|
||||
$tabAct=@$iLiens->getActionnaires($siren, true);
|
||||
foreach ($tabAct as $i=>$lien) {
|
||||
$sirenT=$lien['Siren']*1;
|
||||
$pctT=$lien['PminNum'];
|
||||
if ($pctT<30) continue;
|
||||
$pctTtot+=$pctT;
|
||||
$nomT=strtr(trim(substr($lien['RaisonSociale'],0,64)),array('*'=>' ','/'=>' '));
|
||||
$paysT=$lien['CodePays'];
|
||||
$pays=$lien['Pays'];
|
||||
if($paysT=='') { $paysT='FRA'; $pays='France'; }
|
||||
$dateT=str_replace('-','',WDate::DateT('Ymd','d-m-Y',str_replace('-','',$lien['DateMaj'])));
|
||||
if ($dateT<20080101) $dateT=0;
|
||||
|
||||
if($sirenT>1000) {
|
||||
$tabIdT=@$iInsee->getIdentiteLight($sirenT);
|
||||
$nomT=strtr(trim(substr($tabIdT['Nom'],0,64)),array('*'=>' ','/'=>' '));
|
||||
}
|
||||
|
||||
if ($pctTtot>100) break;
|
||||
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nic, 5, '0', ALIGN_RIGHT) .
|
||||
initstr($ref, 7, '0', ALIGN_RIGHT) .
|
||||
'2'.
|
||||
initstr($sirenT, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nomT, 64) .
|
||||
' '.
|
||||
sprintf("%06.2f", $pctT) .
|
||||
initstr($pays, 30) .
|
||||
initstr($dateT, 8, '0', ALIGN_RIGHT);
|
||||
fwrite($fp, $ligne.EOL);
|
||||
}
|
||||
|
||||
// Participations
|
||||
$pctTtot=0;
|
||||
$tabAct=@$iLiens->getParticipations($siren, true);
|
||||
foreach ($tabAct as $i=>$lien) {
|
||||
$sirenT=$lien['Siren']*1;
|
||||
$pctT=$lien['PminNum'];
|
||||
if ($pctT<30) continue;
|
||||
$pctTtot+=$pctT;
|
||||
$nomT=strtr(trim(substr($lien['RaisonSociale'],0,64)),array('*'=>' ','/'=>' '));
|
||||
$paysT=$lien['CodePays'];
|
||||
$pays=$lien['Pays'];
|
||||
if($paysT=='') { $paysT='FRA'; $pays='France'; }
|
||||
$dateT=str_replace('-','',WDate::DateT('Ymd','d-m-Y',str_replace('-','',$lien['DateMaj'])));
|
||||
if ($dateT<20080101) $dateT=0;
|
||||
|
||||
if($sirenT>1000) {
|
||||
$tabIdT=@$iInsee->getIdentiteLight($sirenT);
|
||||
$nomT=strtr(trim(substr($tabIdT['Nom'],0,64)),array('*'=>' ','/'=>' '));
|
||||
}
|
||||
|
||||
if ($pctTtot>100) break;
|
||||
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nic, 5, '0', ALIGN_RIGHT) .
|
||||
initstr($ref, 7, '0', ALIGN_RIGHT) .
|
||||
'3'.
|
||||
initstr($sirenT, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nomT, 64) .
|
||||
' '.
|
||||
sprintf("%06.2f", $pctT) .
|
||||
initstr($pays, 30) .
|
||||
initstr($dateT, 8, '0', ALIGN_RIGHT);
|
||||
fwrite($fp, $ligne.EOL);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
// partner.scores-decisions.com/id/144/siren/
|
||||
if ($presta==6) {
|
||||
$urlKompass='http://partner.scores-decisions.com/id/144/siren/';
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche des siren en Presta $presta...".EOL;
|
||||
|
||||
$nbRows=$iDb->query( "SELECT e.siren, s.ref
|
||||
FROM etablissements_act e, surveillances_listes s
|
||||
WHERE e.siren=s.siren AND e.cj>1999 AND siege=1 AND s.idClient='SURBODPRDFTSKOMPASS' AND s.dateSuppr=0
|
||||
ORDER BY e.siren ASC");
|
||||
$nbLignes=$iDb->getNumRows();
|
||||
echo date('Y/m/d - H:i:s') ." - Export des $nbLignes siren Kompass en Presta $presta...".EOL;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$ligne= initstr($tabTmp['siren'], 9, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['ref'], 7, '0', ALIGN_RIGHT) .
|
||||
initstr($urlKompass.$tabTmp['siren'],120);
|
||||
fwrite($fp, $ligne.EOL);
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de l'export en Presta $presta...".EOL;
|
||||
|
||||
sendMail('support@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
'Fichiers hors Elements Financiers Scores & Décisions du mois '.date('m/Y'), 'Bonjour,
|
||||
|
||||
Pour votre information, nous avons déposé ce jour sur notre serveur FTP, les différents fichiers hors prestation "éléments financiers" relatif au contrat.
|
||||
|
||||
Cordialement,
|
||||
Service Support S&D.
|
||||
|
||||
--
|
||||
|
||||
SCORES & DECISIONS
|
||||
1, rue de Clairefontaine – 78120 Rambouillet
|
||||
tél. direct : 33 (0)1 34 57 39 58
|
||||
tél. standard : 33 (0)1 75 43 80 10
|
||||
fax bureau : 33 (0)1 75 43 85 74
|
||||
support@scores-decisions.com
|
||||
www.scores-decisions.com
|
||||
|
||||
Scores & Décisions est l\'acteur nouvelle génération de l\'information et de l\'évaluation des entreprises');
|
||||
|
||||
}
|
||||
|
||||
if ($presta==5) {
|
||||
$uniteLiv=1000; // En K€
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Création de la table de bilans temportaires pour la Presta $presta...".EOL;
|
||||
$nbRows=$iDb->query("DROP TABLE IF EXISTS tmp_BilansKompass;");
|
||||
$nbRows=$iDb->query("CREATE TABLE tmp_BilansKompass
|
||||
SELECT siren, 0 AS nic, '' AS ref, 0 AS eff_entrep, dateExercice, consolide, dureeExercice, monnaie, teffen, dateInsert, FL, HN, GG, IF(ISNULL(FL),0,FL) + IF(ISNULL(FM),0,FM) + IF(ISNULL(FN),0,FN) -( IF(ISNULL(FS),0,FS) + IF(ISNULL(FU),0,FU) )-( IF(ISNULL(FT),0,FT) + IF(ISNULL(FV),0,FV) )-( IF(ISNULL(FW),0,FW) - IF(ISNULL(HP),0,HP) - IF(ISNULL(HQ),0,HQ) )-( IF(ISNULL(FY),0,FY) + IF(ISNULL(FZ),0,FZ) )- IF(ISNULL(FX),0,FX) + IF(ISNULL(FO),0,FO) AS EBE, YP
|
||||
FROM bilans_postes
|
||||
WHERE consolide IN('N','S') AND dateExercice>date(NOW())*1-50000
|
||||
");
|
||||
echo date('Y/m/d - H:i:s') ." - Ajout des index...".EOL;
|
||||
$nbRows=$iDb->query("ALTER TABLE tmp_BilansKompass ADD INDEX(siren, dateExercice);");
|
||||
echo date('Y/m/d - H:i:s') ." - Ajout des NIC...".EOL;
|
||||
$nbRows=$iDb->query("UPDATE tmp_BilansKompass k, etablissements_act a SET k.nic=a.nic, k.eff_entrep=a.eff_entrep WHERE k.siren=a.siren AND a.siege=1 AND k.siren>1000;");
|
||||
echo date('Y/m/d - H:i:s') ." - Ajout de la référence Kompas...".EOL;
|
||||
$nbRows=$iDb->query("ALTER TABLE tmp_BilansKompass CHANGE ref ref CHAR(7);");
|
||||
$nbRows=$iDb->query("UPDATE tmp_BilansKompass k, surveillances_listes s SET k.ref=s.ref WHERE k.siren=s.siren AND k.siren>1000 AND s.idClient='SURBODPRDFTSKOMPASS' AND s.dateSuppr=0;");
|
||||
|
||||
$nbRows=$iDb->query("SELECT siren, nic, ref, eff_entrep, dateExercice, consolide, dureeExercice, monnaie, teffen, DATE(dateInsert)*1 AS dateMAJ, FL, HN, GG, EBE, YP FROM tmp_BilansKompass WHERE ref<>'' ORDER BY siren ASC, dateExercice DESC;");
|
||||
|
||||
$nbLignes=$iDb->getNumRows();
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement des $nbLignes bilans Kompass maximum en Presta $presta...".EOL;
|
||||
$sirenPre=$nbBilans=$nbSiren=$nbLignes=0;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$siren=$tabTmp['siren']*1;
|
||||
if ($siren<>$sirenPre) { $nbBilans=0; $nbSiren++; }
|
||||
else $nbBilans++;
|
||||
if ($nbBilans<5) {
|
||||
$nic=$tabTmp['nic']*1;
|
||||
if ($nic<10) {
|
||||
$tabId=@$iInsee->getIdentiteLight($siren);
|
||||
$nic=$tabId['Nic'];
|
||||
}
|
||||
$effectif=$tabTmp['YP'];
|
||||
if ($effectif<1) $effectif=$tabTmp['eff_entrep'];
|
||||
$millesime=substr($tabTmp['dateExercice'], 4,2).substr($tabTmp['dateExercice'], 0,4);
|
||||
$dateMAJ=$tabTmp['dateMAJ'];
|
||||
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nic, 5, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['ref'], 7, '0', ALIGN_RIGHT) .
|
||||
initstr($effectif, 7, '0', ALIGN_RIGHT) .
|
||||
initstr($millesime, 6, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['dureeExercice'], 2, '0', ALIGN_RIGHT) .
|
||||
initstr($tabTmp['monnaie'], 3) .
|
||||
initstr(@round($tabTmp['FL']/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA
|
||||
initstr(@round($tabTmp['EBE']/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE
|
||||
initstr(@round($tabTmp['HN']/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN
|
||||
initstr(@round($tabTmp['GG']/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Exploit.
|
||||
initstr($dateMAJ, 8, '0', ALIGN_RIGHT);
|
||||
|
||||
fwrite($fp, $ligne.EOL);
|
||||
$nbLignes++;
|
||||
if ($nbLignes%100000==0) echo date('Y/m/d - H:i:s') ." - Presta $presta : $nbLignes lignes, $nbSiren siren traités...".EOL;
|
||||
}
|
||||
$sirenPre=$siren;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Fin de l'export en Presta $presta ($nbLignes lignes/$nbSiren siren)...".EOL;
|
||||
$nbRows=$iDb->query("DROP TABLE tmp_BilansKompass;");
|
||||
|
||||
//die();
|
||||
|
||||
/*
|
||||
$nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 ORDER BY siren ASC", false, MYSQL_ASSOC, true);
|
||||
//$nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 AND siren IN (451321335,954509741,780130175) ORDER BY siren ASC", false, MYSQL_ASSOC, true);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siren Kompass en Presta $presta...".EOL;
|
||||
$nbSir=0;
|
||||
$millesimeMini=date('Y')-5;
|
||||
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$nbSir++;
|
||||
$siren=$tabTmp['siren'];
|
||||
$ref=trim($tabTmp['ref']);
|
||||
$tabId=@$iInsee->getIdentiteLight($siren);
|
||||
$nic=$tabId['Nic'];
|
||||
//$nom=strtr(trim(substr($tabId['Nom'],0,60)),array('*'=>' ','/'=>' '));
|
||||
$mBil=new MBilans($siren);
|
||||
$tabBilans=@$mBil->listeBilans();
|
||||
$iBil=0;
|
||||
foreach ($tabBilans as $idxBilan=>$derBilan) {
|
||||
$iBil++;
|
||||
// Nouveau contrat Kompass, on ne livre plus les bilans plus vieux de 5 ans ni les bilans consolidés
|
||||
if ($derBilan['millesime']<$millesimeMini || ($derBilan['typeBilan']<>'N' && $derBilan['typeBilan']<>'S')) continue;
|
||||
$p=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$derBilan['dateExercice']), $derBilan['typeBilan']);
|
||||
//print_r($p);
|
||||
// $conso=' ';
|
||||
$dateClot=str_replace('-','',$p['DATE_CLOTURE']);
|
||||
$duree=$p['DUREE_MOIS']; // Durée de l'exercice en mois
|
||||
$devise=strtoupper($p['MONNAIE']); // Monnaie
|
||||
$dateFraicheur=$p['DATE_FRAICHE_BILAN'];
|
||||
$unite=@strtoupper($p['MONNAIE_LIV_UNITE']);
|
||||
if ($unite=='') $unite='U';
|
||||
// $conso='N';
|
||||
// if ($p['CONSOLIDE']=='C') $conso='C';
|
||||
// else
|
||||
if ($p['CONSOLIDE']=='S') $p=@$mBil->bilanSimplifie2Normal($p);
|
||||
$uniteMultiple=1;/*
|
||||
switch (strtoupper($unite)) {
|
||||
case 'K': $uniteMultiple=1000; break;
|
||||
case 'M': $uniteMultiple=1000000; break;
|
||||
}
|
||||
|
||||
$effectif=@$p['YP']*1;
|
||||
|
||||
// Modifier la table établissements_act
|
||||
$va=@$p['FL']+@$p['FM']+@$p['FN']-(@$p['FS']+@$p['FU'])-(@$p['FV']+@$p['FT']) - (@$p['FW']-@$p['HP']-@$p['HQ']);
|
||||
$ebe=$va-(@$p['FY']+@$p['FZ'])-@$p['FX']+@$p['FO'];
|
||||
|
||||
/* $caf=@$p['HN']+ @$p['HF']+ @$p['HG']- @$p['HB']- @$p['HC']+ @$p['GQ']- @$p['GM']+ @$p['GA']+ @$p['GB']+ @$p['GC']+ @$p['GD']- @$p['FP'];
|
||||
$inv=@$p['KC']+@$p['KF']+@$p['LP']+@$p['MY']-@$p['NC'];
|
||||
$liq=@$p['CJ']-@$p['CK']-@$p['CH']+@$p['CI']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EH'];
|
||||
$cap=@$p['DL']+@$p['DO']-@$p['AA']-(@$p['CL']+@$p['CM']+@$p['CN'])+ @$p['ED'];
|
||||
|
||||
$ren=@round((@$p['HN']*100)/$cap,2);
|
||||
$actImmo=@$p['AB']+@$p['AD']+@$p['AF']+@$p['AH']+@$p['AJ']+@$p['AL']-@$p['AC']-@$p['AE']-@$p['AG']-@$p['AI']-@$p['AK']-@$p['AM']+@$p['AN']+@$p['AP']+@$p['AR']+@$p['AT']+@$p['AV']+@$p['AX']-@$p['AO']-@$p['AQ']-@$p['AS']-@$p['AU']-@$p['AW']-@$p['AY']+@$p['CS']+@$p['CU']+@$p['BB']+@$p['BD']+@$p['BF']+@$p['BH']-@$p['CT']-@$p['CV']-@$p['BC']-@$p['BE']-@$p['BG']-@$p['BI'];
|
||||
$actCirc=@$p['BL']+@$p['BN']+@$p['BP']+@$p['BR']+@$p['BT']-@$p['BM']-@$p['BO']-@$p['BQ']-@$p['BS']-@$p['BU']+@$p['BX']-@$p['DW']+@$p['YS']-@$p['BY']+@$p['BZ']+@$p['CB']+@$p['CH']-@$p['CA']-@$p['CC']-@$p['CI']+@$p['CD']+@$p['CF']-@$p['CE']-@$p['CG'];
|
||||
$dlt=@$p['DS']+@$p['DT']+@$p['DU']+@$p['DV']-@$p['EH']-@$p['VI'];
|
||||
$dct=@$p['DW']+@$p['DY']+@$p['EH']+@$p['DZ']+@$p['EA']+@$p['EB']+@$p['YS'];
|
||||
$r80=$dlt;
|
||||
if ($r80<0) $r80=0;
|
||||
$capPer=@$p['DL']+@$p['DO']+@$p['DR']+@$p['VI']-@$p['AA']+$r80;
|
||||
$ind=@round(($cap*100)/abs($capPer),2);
|
||||
if ($ind<0) $ind=0;
|
||||
|
||||
$fdr=$capPer-@$p['BJ']+@$p['BK']+@$p['ED']-@$p['CL']-@$p['CM']-@$p['CN'];
|
||||
$bfr=@$p['CJ']-@$p['CK']+@$p['YS']-@$p['CF']-@$p['CD']+@$p['CE']+@$p['CG']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EB'];
|
||||
$bfrca=@round(($bfr*360)/@$p['FL'],0);
|
||||
$treso=$fdr-$bfr;
|
||||
$end=@round((@$p['EC']*100)/$cap,2);
|
||||
|
||||
if ($effectif==0) {
|
||||
switch($tabId['EffEnTr']*1) {
|
||||
case 1: $effectif=1; break;
|
||||
case 2: $effectif=4; break;
|
||||
case 3: $effectif=7; break;
|
||||
case 11: $effectif=15; break;
|
||||
case 12: $effectif=35; break;
|
||||
case 21: $effectif=75; break;
|
||||
case 22: $effectif=150; break;
|
||||
case 31: $effectif=225; break;
|
||||
case 32: $effectif=375; break;
|
||||
case 41: $effectif=750; break;
|
||||
case 42: $effectif=1500; break;
|
||||
case 51: $effectif=3750; break;
|
||||
case 52: $effectif=7500; break;
|
||||
case 53: $effectif=10000; break;
|
||||
}
|
||||
}
|
||||
|
||||
/*$calc=($p['FL']*$uniteMultiple)/$uniteLiv;
|
||||
echo "$siren le $dateClot en $unite $devise ($uniteMultiple, $uniteLiv): CA=$calc\t".$p['FL'].EOL;
|
||||
|
||||
|
||||
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
|
||||
initstr($nic, 5, '0', ALIGN_RIGHT) .
|
||||
initstr($ref, 7, '0', ALIGN_RIGHT) .
|
||||
// initstr($nom, 60) .
|
||||
// initstr($conso, 1) .
|
||||
initstr($effectif, 7, ' ', ALIGN_RIGHT) .
|
||||
initstr(substr($dateClot, 4,2).substr($dateClot, 0,4), 6, '0', ALIGN_RIGHT) . // BILAN_DATE Date de clôture du bilan Format AAAAMMJJ
|
||||
initstr($duree, 2, '0', ALIGN_RIGHT) . // BILAN_DUREE Durée de l'exercice en mois
|
||||
initstr($devise, 3) . // BILAN_MONNAIE Code devise de livraison selon la norme ISO 4217 (3 lettres)
|
||||
initstr(@round(($p['FL']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA
|
||||
initstr(@round(($ebe*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE
|
||||
initstr(@round(($p['HN']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN
|
||||
/* initstr(@round(($caf*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CAF
|
||||
initstr(@round(($inv*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Investissements
|
||||
initstr(@round(($liq*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Liquidités
|
||||
initstr(sprintf("%+07.2f", $ren), 7) . // Rentabilite
|
||||
initstr(' ', 3) .
|
||||
initstr(@round(($p['FK']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA Export
|
||||
initstr(@round((($p['FY']+@$p['FZ'])*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Salaires et Charges
|
||||
initstr(@round(($va*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // VA
|
||||
initstr(@sprintf("%+07.2f", round($va*100/@$p['FL']),2), 7) . // Tx VA
|
||||
initstr(' ', 3) .
|
||||
|
||||
initstr(@round($p['GG']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Exploit.
|
||||
/* initstr(@round($p['GV']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res. Fi
|
||||
initstr(@round($p['HI']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Excep.
|
||||
initstr(@round($actImmo*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Actif ImmoNet
|
||||
initstr(@round($actCirc*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Actif CirculantNet
|
||||
initstr(@round($cap*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Capitaux Propres
|
||||
initstr(@round($dlt*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes LT
|
||||
initstr(@round($dct*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes CT
|
||||
initstr(sprintf("%+07.2f", $ind), 7) . // Ind. Finan.
|
||||
initstr(' ', 3) .
|
||||
initstr(@round($fdr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // FR
|
||||
initstr(@round($bfr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR
|
||||
initstr(@round($bfrca*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR en j CA
|
||||
initstr(@round($treso*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Trésorerie
|
||||
initstr(sprintf("%+07.2f", $end), 7) . // Tx endettement
|
||||
initstr(' ', 3) .
|
||||
|
||||
initstr(str_replace('/','',WDate::dateT('Ymd','d/m/Y',$dateFraicheur)), 8);
|
||||
//echo $ligne.EOL;
|
||||
fwrite($fp, $ligne.EOL);
|
||||
if ($iBil==4) break;
|
||||
}
|
||||
if ($nbSir%1000==0) echo date('Y/m/d - H:i:s') ." - $nbSir/$nbRows siren traites...".EOL;
|
||||
}*/
|
||||
|
||||
sendMail('support@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
'Fichier Elements Financiers Scores & Décisions du mois '.date('m/Y'), "Bonjour,
|
||||
|
||||
Pour votre information, nous avons déposé ce jour sur notre serveur FTP, le fichier des \"éléments financiers\" contenant $nbLignes lignes relatif au contrat.
|
||||
|
||||
Cordialement,
|
||||
Service Support S&D.
|
||||
|
||||
--
|
||||
|
||||
SCORES & DECISIONS
|
||||
1, rue de Clairefontaine – 78120 Rambouillet
|
||||
tél. direct : 33 (0)1 34 57 39 58
|
||||
tél. standard : 33 (0)1 75 43 80 10
|
||||
fax bureau : 33 (0)1 75 43 85 74
|
||||
support@scores-decisions.com
|
||||
www.scores-decisions.com
|
||||
|
||||
Scores & Décisions est l'acteur nouvelle génération de l'information et de l'évaluation des entreprises");
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
if (copy('/home/data/clients/kompass/kompass_p'.$presta."_$date.txt",'/home/data/ftp/kompass/recv/kompass_p'.$presta."_$date.txt"))
|
||||
echo date('Y/m/d - H:i:s') ." - Copie du fichier kompass_p$presta"."_$date.txt vers le FTP réussi.".EOL;
|
||||
else
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR lors de la copie du fichier kompass_p$presta"."_$date.txt vers le FTP !".EOL;
|
||||
|
||||
die();
|
||||
|
||||
?>
|
@ -1,121 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
/** @todo Faire tourner le premier lundi du mois
|
||||
**/
|
||||
|
||||
function exporte($txt, $lon=-1, $sep="|") {
|
||||
$txt=strtr(trim($txt),array('''=>"'",'&'=>'&', '²'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
|
||||
|
||||
if ($lon==-1) return $txt.$sep;
|
||||
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
|
||||
else return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
|
||||
}
|
||||
|
||||
function choixAdr($bodEtab, $bodSiege, $insee) {
|
||||
|
||||
if (strlen(trim($bodSiege))>0) $adr=trim($bodSiege);
|
||||
elseif (strlen(trim($bodEtab))>0) $adr=trim($bodEtab);
|
||||
else $adr='';
|
||||
|
||||
if (isset($insee) && trim($insee)<>'') return $insee;
|
||||
else return $adr;
|
||||
}
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
|
||||
Traitement spécifique Kompass.
|
||||
|
||||
Options :
|
||||
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
|
||||
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
|
||||
-4 Prestation 4 Mise à disposition de la base Liens
|
||||
-5 Prestation 5 Mise à disposition de la base Ratios
|
||||
-v Verbosité maximum
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']>1)
|
||||
{
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case '1': $presta=1; break;
|
||||
case '3': $presta=3; break;
|
||||
case '4': $presta=4; break;
|
||||
case '5': $presta=5; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
}
|
||||
|
||||
$tabLignes=file($tabFichier[0]);
|
||||
|
||||
$iTel=new MTel(false);
|
||||
|
||||
foreach ($tabLignes as $i=>$ligne) {
|
||||
$tmp1=explode("\t", $ligne);
|
||||
$siren=trim($tmp1[0]);
|
||||
$nic=trim($tmp1[1]);
|
||||
//$tmp1=$iTel->getTel($siren);
|
||||
$tmp=$iTel->getTel($siren, $nic,1);
|
||||
//echo "$siren $nic".EOL;
|
||||
if (count($tmp)==0) echo "$siren,$nic".EOL;
|
||||
else {
|
||||
$tel=$mob=$ttel='';
|
||||
foreach ($tmp as $tmp2) {
|
||||
if ($tmp2['typeTel']=='tel' && $tmp2['telephone']>=600000000 && $tmp2['telephone']<800000000) {
|
||||
$mob=implode('.', str_split($tmp2['telephone'],2));
|
||||
$ttel='M';
|
||||
} elseif ($tmp2['typeTel']=='tel') {
|
||||
$tel=implode('.', str_split($tmp2['telephone'],2));
|
||||
$ttel='F';
|
||||
} elseif ($tmp2['typeTel']=='mob' && $tmp2['telephone']>=600000000 && $tmp2['telephone']<800000000) {
|
||||
$mob=implode('.', str_split($tmp2['telephone'],2));
|
||||
$ttel='M';
|
||||
} elseif ($tmp2['typeTel']=='mob') {
|
||||
$tel=implode('.', str_split($tmp2['telephone'],2));
|
||||
$ttel='F';
|
||||
} elseif ($tmp2['typeTel']=='fax' && $tmp2['telephone']>=600000000 && $tmp2['telephone']<800000000) {
|
||||
$mob=implode('.', str_split($tmp2['telephone'],2));
|
||||
$ttel='M';
|
||||
}
|
||||
//if ($tmp2['typeTel']=='fax')
|
||||
// $fax=implode('.', str_split($tmp2['telephone'],2));
|
||||
/*if ($tmp2['typeTel']=='web' && $tab['web']=='') $tab['web']=$tmp2['infoTel'];
|
||||
if ($tmp2['typeTel']=='mail' && $tab['mail']=='') $tab['mail']=$tmp2['infoTel'];
|
||||
if ($tmp2['typeTel']=='an8') $activitePJ_An8=$tmp2['infoTel'];*/
|
||||
|
||||
if ($tel<>'' && $mob<>'') break;//$ttel<>'')
|
||||
}
|
||||
echo "$siren,$nic,$tel,$mob".EOL;
|
||||
}
|
||||
//print_r($tmp);
|
||||
//die();
|
||||
}
|
||||
|
||||
/* $activitePJ_An8='';
|
||||
|
||||
*/
|
||||
die();
|
||||
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,149 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
function exporte($txt, $lon=false, $sep="\t") {
|
||||
if ($lon===false) $lon=strlen($txt);
|
||||
$txt=strtr(trim($txt),array('''=>"'",'&'=>'&', '²'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
|
||||
|
||||
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
|
||||
|
||||
return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
|
||||
}
|
||||
|
||||
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/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMTel.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMMap.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'tmp/configMRatios.php');
|
||||
|
||||
include_once(INCLUDE_PATH.'insee/classMSirene.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMFinancier.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMSolvabilite.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMTva.php');
|
||||
include_once(INCLUDE_PATH.'scores/classMScores.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
$iDb=new WDb('jo');
|
||||
|
||||
$codPays3='BEL';
|
||||
$fpL=fopen('/root/sedLiens.csv','w');
|
||||
$fpE=fopen('/root/sedEntites.csv','w');
|
||||
$fpI=fopen('/root/sedIdLocaux.csv','w');
|
||||
|
||||
$ret=$iDb->select('jo.liens2', 'idAct, PDetention, Pvote, MajMin, idPar', "actif=1 AND dateSuppr=0 AND (idAct IN (SELECT id FROM liensRef WHERE adresse_pays='$codPays3' AND actif=1 AND dateSuppr=0) OR idPar IN (SELECT id FROM liensRef WHERE adresse_pays='$codPays3' AND actif=1 AND dateSuppr=0) )", false, MYSQL_ASSOC, true);
|
||||
echo date ('Y/m/d - H:i:s') . " - Il y a $ret liens '$codPays3' à exporter ...".EOL;
|
||||
$tDeb=microtime(1);
|
||||
$tabT=array();
|
||||
fwrite($fpL, "idActionnaire\tpctDetention\tpctVote\ttype\tidParticipation".EOL);
|
||||
while($ligne=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$idAct= $ligne['idAct'];
|
||||
$tabT[]=$idAct;
|
||||
$pDet= $ligne['PDetention'];
|
||||
$pVot= $ligne['Pvote'];
|
||||
$majMin=$ligne['MajMin'];
|
||||
$idPar= $ligne['idPar'];
|
||||
$tabT[]=$idPar;
|
||||
if ($majMin=='+' && $pDet<=50 && $pVot<=50) $majMin='-';
|
||||
if ($majMin=='-' && ($pDet>50 || $pVot>50)) $majMin='+';
|
||||
|
||||
fwrite($fpL, "$idAct\t$pDet\t$pVot\t$majMin\t$idPar".EOL);
|
||||
}
|
||||
fclose($fpL);
|
||||
$tFin=microtime(1);
|
||||
echo EOL."Durée Fichier Liens .......... =".round($tFin-$tDeb,3).' secondes'.EOL;
|
||||
|
||||
$tabT=array_unique($tabT);
|
||||
$strIDs=implode(',', $tabT);
|
||||
$ret=$iDb->select('jo.liensRef', 'id, siren, sirenValide, actif, PpPm, RS, sigle, civilite, nom, prenom, nom_usage, naissance_date, naissance_dept_pays, naissance_lieu, nat, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville, adresse_pays, tel, fax, web, email, cj, ape, capital, deviseCapital, isin, idLoc1Type, idLoc1Num, idLoc2Type, idLoc2Num, idLoc3Type, idLoc3Num', "id IN ($strIDs) ORDER BY id ASC", false, MYSQL_ASSOC, true);
|
||||
echo date ('Y/m/d - H:i:s') . " - Il y a $ret entités relatives à '$codPays3' à exporter ...".EOL;
|
||||
$tDeb=microtime(1);
|
||||
$tabIdL=array(1);
|
||||
fwrite($fpE, "id\tsiren\tPpPm\tRS\tsigle\tcivilite\tnom\tprenom\tnom_usage\tnaissance_date\tnaissance_dept_pays\tnaissance_lieu\tnat\tadresse_num\tadresse_btq\tadresse_codvoie\tadresse_libvoie\tadresse_comp\tadresse_cp\tadresse_ville\tadresse_pays\ttel\tfax\tweb\temail\tcj\tape\tcapital\tdeviseCapital\tisin\tidLoc1Type\tidLoc1Num\tidLoc2Type\tidLoc2Num\tidLoc3Type\tidLoc3Num".EOL);
|
||||
while($ligne=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$id= $ligne['id'];
|
||||
$siren= $ligne['siren'];
|
||||
$isin= $ligne['isin'];
|
||||
$ppPm= $ligne['PpPm'];
|
||||
$rs= $ligne['RS'];
|
||||
$sigle= $ligne['sigle'];
|
||||
$civ= $ligne['civilite'];
|
||||
$nom= $ligne['nom'];
|
||||
$prenom=$ligne['prenom'];
|
||||
$nomUsa=$ligne['nom_usage'];
|
||||
$nDate= $ligne['naissance_date'];
|
||||
$nLieu= $ligne['naissance_lieu'];
|
||||
$nPaysD=$ligne['naissance_dept_pays'];
|
||||
$nat= $ligne['nat'];
|
||||
$adrNum=$ligne['adresse_num'];
|
||||
$adrBtq=$ligne['adresse_btq'];
|
||||
$adrVoi=$ligne['adresse_codvoie'];
|
||||
$adrLib=$ligne['adresse_libvoie'];
|
||||
$adrCom=$ligne['adresse_comp'];
|
||||
$adrCP= $ligne['adresse_cp'];
|
||||
$adrVil=$ligne['adresse_ville'];
|
||||
$adrPay=$ligne['adresse_pays'];
|
||||
$tel= $ligne['tel'];
|
||||
$fax= $ligne['fax'];
|
||||
$web= $ligne['web'];
|
||||
$email= $ligne['email'];
|
||||
$cj= $ligne['cj'];
|
||||
$ape= $ligne['ape'];
|
||||
$cap= $ligne['capital'];
|
||||
$capDev=$ligne['deviseCapital'];
|
||||
|
||||
$id1T=$id1N=$id2T=$id2N=$id3T=$id3N='';
|
||||
if ($ligne['idLoc1Type']>0 && trim($ligne['idLoc1Num'])<>'') {
|
||||
$id1T=$ligne['idLoc1Type'];
|
||||
$id1N=$ligne['idLoc1Num'];
|
||||
$tabIdL[]=$id1T*1;
|
||||
}
|
||||
if ($ligne['idLoc2Type']>0 && trim($ligne['idLoc2Num'])<>'') {
|
||||
$id2T=$ligne['idLoc2Type'];
|
||||
$id2N=$ligne['idLoc2Num'];
|
||||
$tabIdL[]=$id2T*1;
|
||||
}
|
||||
if ($ligne['idLoc2Type']>0 && trim($ligne['idLoc2Num'])<>'') {
|
||||
$id3T=$ligne['idLoc3Type'];
|
||||
$id3N=$ligne['idLoc3Num'];
|
||||
$tabIdL[]=$id3T*1;
|
||||
}
|
||||
|
||||
if ($siren>1000) {
|
||||
if ($id1T=='' && $id1N=='') { $id1T=1; $id1N=$siren; }
|
||||
elseif ($id2T=='' && $id2N=='') { $id2T=1; $id2N=$siren; }
|
||||
elseif ($id3T=='' && $id3N=='') { $id3T=1; $id3N=$siren; }
|
||||
}
|
||||
fwrite($fpE, "$id\t$isin\t$ppPm\t$rs\t$sigle\t$civ\t$nom\t$prenom\t$nomUsa\t$nDate\t$nLieu\t$nPaysD\t$nat\t$adrNum\t$adrBtq\t$adrVoi\t$adrLib\t$adrCom\t$adrCP\t$adrVil\t$adrPay\t$tel\t$fax\t$web\t$email\t$cj\t$ape\t$cap\t$capDev".EOL);
|
||||
}
|
||||
fclose($fpE);
|
||||
$tFin=microtime(1);
|
||||
echo EOL."Durée Fichier Entites .......... =".round($tFin-$tDeb,3).' secondes'.EOL;
|
||||
|
||||
$tabIdL=array_unique($tabIdL);
|
||||
$strIdsLoc=implode(',', $tabIdL);
|
||||
print_r($tabIdL);
|
||||
$ret=$iDb->select('sdv1.tabIdLocal', 'id, idLocal, idLocalLong', "id IN ($strIdsLoc) ORDER BY id ASC", false, MYSQL_ASSOC, true);
|
||||
echo mysql_error();
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Il y a $ret IdLocaux relatifs à '$codPays3' à exporter ...".EOL;
|
||||
$tDeb=microtime(1);
|
||||
fwrite ($fpI, "id\tidLocal\tidLocalLong".EOL);
|
||||
while($ligne=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$id= $ligne['id'];
|
||||
$idLoc= $ligne['idLocal'];
|
||||
$idLong=$ligne['idLocalLong'];
|
||||
fwrite($fpI, "$id\t$idLoc\t$idLong".EOL);
|
||||
}
|
||||
fclose($fpI);
|
||||
$tFin=microtime(1);
|
||||
echo EOL."Durée Fichier IdLocaux .......... =".round($tFin-$tDeb,3).' secondes'.EOL;
|
||||
|
||||
die();
|
||||
|
||||
?>
|
@ -1,508 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
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(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'conversion/bilAltares.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBanques.php');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
$iDb=new WDB();
|
||||
$iDb2=new WDB('sdv1');
|
||||
|
||||
/*
|
||||
$rep=$iDb->select( 'bodacc_detail',
|
||||
'id, siren, VenteMt, Bodacc_Date_Parution, publication, publicationNom, publicationDate, SUBSTRING(codePostal,1,3) AS dep3',
|
||||
"id>15000000 AND Rubrique='ventes' GROUP BY id", false, MYSQL_ASSOC);
|
||||
$nb=count($rep);
|
||||
echo "num\tidAnn\tsiren\tmontantVte\tdateJal\tdateBod\tnomJalBod\tdept\tJal\tidJal".EOL;
|
||||
foreach($rep as $i=>$vte) {
|
||||
$id=$vte['id'];
|
||||
$nom=$vte['publication'];
|
||||
$datePub=$vte['publicationDate'];
|
||||
$dateBod=$vte['Bodacc_Date_Parution'];
|
||||
$siren=$vte['siren'];
|
||||
$mt=$vte['VenteMt'];
|
||||
|
||||
if (strlen($nom)<10) continue;
|
||||
$dep=$vte['dep3']*1;
|
||||
if ($dep<970) $dep=substr($vte['dep3'],0,2);
|
||||
echo "$i/$nb\t$id\t$siren\t$mt\t$datePub\t$dateBod\t$nom\t$dep\t";
|
||||
$nom2=trim(addslashes($vte['publicationNom']));
|
||||
|
||||
$rep=$iDb->select('tabJAL', "id, nomJal", "dep=$dep AND nomJal='$nom2'", false, MYSQL_ASSOC);
|
||||
$idJal=@$rep[0]['id']*1;
|
||||
if ($idJal==0) {
|
||||
$rep=$iDb->select('tabJAL', "id, nomJal, MATCH(nomJal) AGAINST('$nom2') AS pertinence", "dep=$dep HAVING pertinence>1 ORDER BY pertinence DESC LIMIT 0,3", false, MYSQL_ASSOC);
|
||||
$idJal=@$rep[0]['id'];
|
||||
}
|
||||
$nomJal=@$rep[0]['nomJal'];
|
||||
|
||||
echo "$nomJal\t$idJal".EOL;
|
||||
|
||||
//die();
|
||||
//$nomTrouve".EOL;
|
||||
}
|
||||
die();
|
||||
*/
|
||||
|
||||
/*
|
||||
$tabSiren=array(318919065,
|
||||
328412440,
|
||||
347902587,
|
||||
349339341,
|
||||
379699770,
|
||||
379776057,
|
||||
379848146,
|
||||
398984062,
|
||||
414789016,
|
||||
414813246,
|
||||
572140788,
|
||||
674800859);
|
||||
|
||||
foreach($tabSiren as $siren) {
|
||||
$tabIndiscore=@calculIndiScore($siren, 0, false, 3, false);
|
||||
print_r($tabIndiscore);
|
||||
}
|
||||
die();
|
||||
*/
|
||||
|
||||
$ape77=$ca5=$ratios=$ptf=false;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Mise à jour des liens actionnaires et participations.
|
||||
|
||||
Options :
|
||||
-a APE77
|
||||
-c CA5ME
|
||||
-p Portefeuille
|
||||
-r Ratios
|
||||
|
||||
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
|
||||
|
||||
";*/
|
||||
|
||||
$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 'a': $ape77=true; break;
|
||||
case 'c': $ca5=true; break;
|
||||
case 'p': $ptf=true; break;
|
||||
case 'r': $ratios=true; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
|
||||
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
|
||||
**
|
||||
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
|
||||
**/
|
||||
|
||||
$iDb=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
//$fileIn='/root/sql/sirenManquantsVWB.csv';
|
||||
if ($ape77) $fileIn='/root/sql/sirenAPE77.csv';
|
||||
elseif ($ca5) $fileIn='/root/sql/sirenCA5ME.csv';
|
||||
elseif ($ptf) $fileIn='/root/sql/Portefeuille_Base_Global_Liste_SIREN.csv';
|
||||
|
||||
$fileOut=$fileIn.'.out';
|
||||
if ($ratios) $fileOut=$fileIn.'_ratios.out';
|
||||
|
||||
$tabSiren=file($fileIn);
|
||||
$fp=fopen($fileOut,'w');
|
||||
|
||||
$nb=count($tabSiren);
|
||||
echo date ('Y/m/d - H:i:s')." - Début de l'export des $nb siren pour VWBank...".EOL;
|
||||
foreach ($tabSiren as $i=>$tmp) {
|
||||
$siren=trim($tmp)*1;
|
||||
if ($siren<1000) continue;
|
||||
//if ($i<21370) continue;
|
||||
$tabId=@$iInsee->getIdentiteEntreprise($siren,0,0,false,true);
|
||||
// getIdentiteEntreprise($siren, $nic=0, $id=0, $forceVerif=false, $accesDist=true) {
|
||||
//print_r($tabId);
|
||||
if ($ratios) {
|
||||
$mBil=new MBilans($siren);
|
||||
$tabBilans=$mBil->listeBilans(0);
|
||||
//print_r($tabBilans);
|
||||
$NBBILAN=count($tabBilans);
|
||||
$tabBilan=$tabBil=$tabRatios=array();
|
||||
$strOut='';
|
||||
if ($NBBILAN>0) {
|
||||
$tabRatios=@calculRatios($tabBilans, $tabId, 0);
|
||||
$j=0;
|
||||
foreach($tabBilans as $cleMille=>$tabInfosBilan) {
|
||||
$strOut.=$siren."\t".$tabInfosBilan['dateExercice']."\t".$tabInfosBilan['dureeExercice']."\t".$tabInfosBilan['typeBilan']."\t";
|
||||
|
||||
$strOut.=$tabRatios[$j][5]."\t"; // CA
|
||||
$strOut.=$tabRatios[$j][7]."\t"; // RCAI
|
||||
$strOut.=$tabRatios[$j][10]."\t"; // RN
|
||||
$strOut.=$tabRatios[$j][18]."\t"; // FP
|
||||
$strOut.=$tabRatios[$j][23]."\t"; // TOTAL BILAN
|
||||
$strOut.=$tabRatios[$j][235]."\t"; // FR
|
||||
$strOut.=$tabRatios[$j][236]."\t"; // BFR
|
||||
$strOut.=$tabRatios[$j][254]."\t"; // TRESORERIE
|
||||
$strOut.=$tabRatios[$j][24]."\t"; // Effectif
|
||||
$strOut.=$tabRatios[$j][140]."\t"; // EBE
|
||||
|
||||
$strOut.=$tabRatios[$j][233]."\t";
|
||||
$strOut.=$tabRatios[$j][234]."\t";
|
||||
$strOut.=$tabRatios[$j][237]."\t";
|
||||
$strOut.=$tabRatios[$j][238]."\t";
|
||||
$strOut.=$tabRatios[$j][239]."\t";
|
||||
$strOut.=$tabRatios[$j][240]."\t";
|
||||
|
||||
$strOut.=$tabRatios[$j][262]."\t";
|
||||
$strOut.=$tabRatios[$j][263]."\t";
|
||||
$strOut.=$tabRatios[$j][264]."\t";
|
||||
$strOut.=$tabRatios[$j][265]."\t";
|
||||
$strOut.=$tabRatios[$j][266]."\t";
|
||||
|
||||
$strOut.=$tabRatios[$j][250]."\t";
|
||||
$strOut.=$tabRatios[$j][251]."\t";
|
||||
$strOut.=$tabRatios[$j][252]."\t";
|
||||
|
||||
$strOut.=$tabRatios[$j][244]."\t";
|
||||
$strOut.=$tabRatios[$j][247]."\t";
|
||||
$strOut.=$tabRatios[$j][248]."\t";
|
||||
|
||||
$strOut.=$tabRatios[$j][271]."\t";
|
||||
$strOut.=$tabRatios[$j][278]."\t";
|
||||
$strOut.=$tabRatios[$j][279]."\t";
|
||||
$strOut.=$tabRatios[$j][281]."\t";
|
||||
$strOut.=$tabRatios[$j][261]."\t";
|
||||
$strOut.=$tabRatios[$j][267].EOL;
|
||||
|
||||
$j++;
|
||||
if ($j>2) break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$strOut =@$tabId['Siret']."\t";
|
||||
$strOut.=@$tabId['Actif']."\t"; // => 1
|
||||
$strOut.=@$tabId['ActifEco']."\t"; // => 1
|
||||
$strOut.=@$tabId['ActifEcoDate']."\t"; // =>
|
||||
$strOut.=@$tabId['ActifEcoType']."\t"; // =>
|
||||
$strOut.=@$tabId['EntActiveRCS']."\t"; // => 1
|
||||
$strOut.=@$tabId['EtabActifRCS']."\t"; // => 1
|
||||
$strOut.=@$tabId['Tribunal']."\t";
|
||||
$strOut.=@$tabId['Nom']."\t"; // => GABET ALAIN GEORGES
|
||||
$strOut.=@$tabId['Nom2']."\t"; // =>
|
||||
$strOut.=@$tabId['nomLong']."\t"; // => SERCY
|
||||
$strOut.=@$tabId['Sigle']."\t"; // =>
|
||||
$strOut.=@$tabId['NomCommercial']."\t"; // => SERGY TP
|
||||
$strOut.=@$tabId['Enseigne']."\t"; // =>
|
||||
$strOut.=@$tabId['enseigneLong']."\t"; // =>
|
||||
$strOut.=@$tabId['AdresseNum']."\t"; // => 0049
|
||||
$strOut.=@$tabId['AdresseBtq']."\t"; // =>
|
||||
$strOut.=@$tabId['AdresseVoie']."\t"; // => AV
|
||||
$strOut.=@$tabId['AdresseRue']."\t"; // => DE MACON
|
||||
$strOut.=@$tabId['Adresse2']."\t"; // => LE FAUBOURG
|
||||
$strOut.=@$tabId['CP']."\t"; // => 01000
|
||||
$strOut.=@$tabId['Ville']."\t"; // => BOURG EN BRESSE
|
||||
$strOut.=@$tabId['PaysIso2']."\t"; // => FR
|
||||
$strOut.=@$tabId['Civilite']."\t"; // => 1
|
||||
$strOut.=@$tabId['NbEtab']."\t"; // => 1
|
||||
$strOut.=@$tabId['Tel']."\t"; // =>
|
||||
$strOut.=@$tabId['Fax']."\t"; // =>
|
||||
$strOut.=@$tabId['Web']."\t"; // =>
|
||||
$strOut.=@$tabId['Mail']."\t"; // =>
|
||||
$strOut.=@$tabId['GeoLat']."\t"; // => 46.2108498
|
||||
$strOut.=@$tabId['GeoLon']."\t"; // => 5.2186203
|
||||
$strOut.=@$tabId['GeoAlt']."\t"; // => 236
|
||||
$strOut.=@$tabId['GeoPrecis']."\t"; // => 8
|
||||
$strOut.=@$tabId['TvaNumero']."\t"; // => FR74412724577
|
||||
$strOut.=@$tabId['TvaAttribue']."\t"; // =>
|
||||
$strOut.=@$tabId['FJ']."\t"; // => 1900
|
||||
$strOut.=@$tabId['RECME']."\t"; // => 0
|
||||
$strOut.=@$tabId['NafEtab']."\t"; // => 7712Z
|
||||
$strOut.=@$tabId['NafEnt']."\t"; // => 7712Z
|
||||
$strOut.=@$tabId['NaceEtab']."\t"; // => N7712
|
||||
$strOut.=@$tabId['NaceEnt']."\t"; // => N7712
|
||||
$strOut.=@$tabId['Isin']."\t"; // =>
|
||||
$strOut.=@$tabId['Capital']."\t"; // => 000000000000000
|
||||
$strOut.=@$tabId['CapitalDev']."\t"; // =>
|
||||
$strOut.=@$tabId['CapitalType']."\t"; // =>
|
||||
$strOut.=@$tabId['DateCreaEt']."\t"; // => 19950500
|
||||
$strOut.=@$tabId['DateCreaEn']."\t"; // => 19950500
|
||||
$strOut.=@$tabId['SituationJuridique']."\t"; // =>
|
||||
$strOut.=@$tabId['EffEnTr']."\t"; // => 00
|
||||
$strOut.=@$tabId['EffEnTrLib']."\t"; // => N/C
|
||||
$strOut.=@$tabId['EffEtTr']."\t"; // => 00
|
||||
$strOut.=@$tabId['EffEtTrLib']."\t"; // =>
|
||||
$strOut.=@$tabId['EffectifEtab']."\t"; // => 0000000
|
||||
$strOut.=@$tabId['Effectif']."\t"; // => 0000000
|
||||
$strOut.=@$tabId['Dept']."\t"; // => 01
|
||||
$strOut.=@$tabId['codeCommune']."\t"; // => 053
|
||||
$strOut.=@$tabId['TrancheCA']."\t"; // => 0
|
||||
$strOut.=@$tabId['TrancheCALib']."\t"; // => N/C
|
||||
$strOut.=@$tabId['TrancheCAexp']."\t"; // => 0
|
||||
$strOut.=@$tabId['TrancheCAexpLib']."\t"; // => 0%
|
||||
$strOut.=@$tabId['TrancheCAType']."\t"; // => I
|
||||
$strOut.=@$tabId['AnneeEffEn']."\t"; // => 2004
|
||||
$strOut.=@$tabId['AnneeEffEt']."\t"; // => 2004
|
||||
$strOut.=@$tabId['AnneeTCA']."\t"; // => 0000
|
||||
$strOut.=@$tabId['Rivoli']."\t"; // => 2400 0
|
||||
$strOut.=@$tabId['InfosIris']['codIris']."\t"; // => 0201
|
||||
$strOut.=@$tabId['InfosIris']['codComIris']."\t"; // => 010530201
|
||||
$strOut.=@$tabId['InfosIris']['libIris']."\t"; // => Citadelle
|
||||
$strOut.=@$tabId['InfosIris']['typIris']."\t"; // => IRIS d'habitat
|
||||
$strOut.=@$tabId['InfosIris']['evoIris']."\t"; // => 0
|
||||
$strOut.=@$tabId['InfosIris']['trIris']."\t"; // => 010021
|
||||
$strOut.=@$tabId['InfosIris']['grdQuartier']."\t"; // => 0105302
|
||||
$strOut.=@$tabId['NatureActivite']."\t"; // => 0
|
||||
$strOut.=@$tabId['OrigineCreation']."\t"; // => 1
|
||||
$strOut.=@$tabId['Auxiliaire']."\t"; // => 0
|
||||
$strOut.=@$tabId['Saisonnalite']."\t"; // => 0
|
||||
$strOut.=@$tabId['ACTISURF']."\t"; // => 0
|
||||
$strOut.=@$tabId['EXPLEN']."\t"; // => X
|
||||
$strOut.=@$tabId['EXPLET']."\t"; // => X
|
||||
$strOut.=@$tabId['LIEUACT']."\t"; // => 99
|
||||
$strOut.=@$tabId['MODEN']."\t"; // => S
|
||||
$strOut.=@$tabId['MONOACT']."\t"; // => 1
|
||||
$strOut.=@$tabId['MONOREG']."\t"; // => 1
|
||||
$strOut.=@$tabId['REGIMP']."\t"; // => 82
|
||||
$strOut.=@$tabId['PRODPART']."\t"; // => 0
|
||||
$strOut.=@$tabId['GeoInfos']['CUCS']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['ZRU']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['ZFU']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['ZUS']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['AFR']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['ZRR']."\t"; // => NON
|
||||
$strOut.=@$tabId['GeoInfos']['NZRR']."\t"; // => 10194
|
||||
$strOut.=@$tabId['NonDiffusible']."\t"; // =>
|
||||
$strOut.=@$tabId['TypeExploitation']."\t"; // => 0
|
||||
$strOut.=@$tabId['APRM']."\t"; // => 4399CZ
|
||||
$strOut.=@$tabId['AdresseDom']."\t"; // => 2
|
||||
$strOut.=@$tabId['AdresseDomNb']."\t"; // => 688
|
||||
$strOut.=@$tabId['Activite']."\t"; // => Terrassement, travaux publics, (VRD), maçonnerie , Béton armé, location d'engins Tp, négoce de granulats et terre, Recyclage de matériaux
|
||||
$strOut.=@$tabId['numGreffe']."\t"; // => 0101
|
||||
$strOut.=@$tabId['numRC']."\t"; // => 2012A00006
|
||||
$strOut.=@$tabId['NumRM']."\t"; // => 327155404 RM 01
|
||||
$strOut.=@$tabId['dateImmat']."\t"; // => 2012-01-11
|
||||
$strOut.=@$tabId['dateRad']."\t"; // => 0000-00-00
|
||||
$strOut.=@$tabId['TribunalLib']."\t"; // => TC BOURG EN BRESSE
|
||||
$strOut.=@$tabId['bilanAnnee']."\t"; // => 2010
|
||||
$strOut.=@$tabId['bilanFLestime']."\t"; // => 250531
|
||||
$strOut.=@$tabId['dateMajIdentite']."\t"; // => 2012-09-30
|
||||
$strOut.=@$tabId['DateMajINSEE']."\t"; // => 2012-09-30
|
||||
$strOut.=@$tabId['dateMajANN']."\t"; // => 2012-01-24
|
||||
$strOut.=@$tabId['DateMajRCS']."\t";
|
||||
|
||||
$ANNONCESVDATE=$ANNONCERJDATE=$ANNONCELJDATE=$ANNONCEPLANDATE='';
|
||||
|
||||
if (@$tabId['SituationJuridique']=='P') {
|
||||
$tabProCol=@$iInsee->getAnnoncesLegales($siren, 0, 'P', false);
|
||||
foreach ($tabProCol as $iProcol=>$procol) {
|
||||
foreach ($procol['evenements'] as $even) {
|
||||
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
|
||||
switch ($even['CodeEven']*1) {
|
||||
case 1300: // Conversion Redressement Judiciaire en Liquidation Judiciaire
|
||||
case 1301: // Ouverture Liquidation Judiciaire
|
||||
case 1302: // Ouverture Liquidation Judiciaire Simplifiée
|
||||
case 1305: // Liquidation Judiciaire
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1303: // Ouverture Liquidation Judiciaire sur résolution du plan
|
||||
case 1304: // Réouverture Liquidation Judiciaire
|
||||
case 1306: // Liquidation Judiciaire simplifiée
|
||||
case 1307: // Conversion sauvegarde en Liquidation Judiciaire
|
||||
case 1311: // Liquidation Judiciaire par extension au(x) gérant(s)
|
||||
case 1312: // Liquidation Judiciaire avec continuation d'exploitation
|
||||
case 1313: // Liquidation Judiciaire sans remise des accessoires
|
||||
case 1417: // Jugement d'extension de liquidation judiciaire
|
||||
|
||||
// Annonce de liquidation judiciaire
|
||||
$ANNONCELJ=true;
|
||||
|
||||
// Date de l'annonce LJ
|
||||
$ANNONCELJDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1200: // Redressement Judiciaire
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1201: // Conversion sauvegarde en Redressement Judiciaire
|
||||
case 1211: // Redressement Judiciaire par extension au(x) gérant(s)
|
||||
case 1212: // Réforme de Liquidation Judiciaire en Redressement Judiciaire
|
||||
case 1418: // Jugement d'extension d'une procédure de redressement judiciaire
|
||||
// Annonce de redressement judiciaire
|
||||
$ANNONCERJ=true;
|
||||
// Date de l'annonce RJ
|
||||
$ANNONCERJDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1100: // Ouverture sauvegarde
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1419: // Jugement d'extension d'une procédure de sauvegarde
|
||||
// Annonce de sauvegarde
|
||||
$ANNONCESV=true;
|
||||
// Date de l'annonce Sauv
|
||||
$ANNONCESVDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1407: // Modification de plan
|
||||
case 1408: // Modification du plan de cession
|
||||
case 1409: // Modification du plan de continuation
|
||||
case 1415: // Prolongement du plan cession
|
||||
// Modif de plan d'apurement
|
||||
$PLANMODIF=true;
|
||||
$ANNONCEPLANMODIFDATE=$ANNONCEDATE=$procol['dateJugement'];
|
||||
break;
|
||||
|
||||
case 1411: // Arrêt du plan de cession
|
||||
case 1414: // Arrêt du plan de redressement
|
||||
$ANNONCEPLANFINDATE=$procol['dateFinObservation'];
|
||||
if (substr($ANNONCEPLANFINDATE,0,4)*1==0) $ANNONCEPLANFINDATE='';
|
||||
/** @todo $ANNONCEPLANDUREE='';
|
||||
**/
|
||||
case 1412: // Arrêt du plan de cession partielle
|
||||
case 1413: // Arrêt du plan de continuation
|
||||
case 1101: // Jugement arrêtant plan de sauvegarde
|
||||
$PLAN=true; // Présence d'une annonce de plan d'apurement
|
||||
if ($even['CodeEven']*1==1411) $ANNONCEPLAN='cession';
|
||||
elseif ($even['CodeEven']*1==1412) $ANNONCEPLAN='cession partielle';
|
||||
elseif ($even['CodeEven']*1==1413) $ANNONCEPLAN='continuation';
|
||||
elseif ($even['CodeEven']*1==1414) $ANNONCEPLAN='redressement';
|
||||
elseif ($even['CodeEven']*1==1101) $ANNONCEPLAN='sauvegarde';
|
||||
|
||||
// Date de l'annonce de plan
|
||||
$ANNONCEPLANDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
break;
|
||||
case 1600: // Interdictions et Faillites
|
||||
case 1601:
|
||||
case 1610:
|
||||
case 1611:
|
||||
$ANNONCEINTERDITDATE=$procol['dateJugement'];
|
||||
break;
|
||||
case 1202: // Renouvellement de la période d'observation
|
||||
$ANNONCEPC_OBS=true;
|
||||
//1430, Jugement autorisant la poursuite d'activité
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif ($tabIdentite['SituationJuridique']=='PL') {
|
||||
$ANNONCEPCHISTO=true;
|
||||
$ELIMINE=false;
|
||||
$ANNONCEPC='Plan de continuation/redressement';
|
||||
$tabProCol=$iInsee->getAnnoncesLegales($siren, 0, 'P', false);
|
||||
foreach ($tabProCol as $iProcol=>$procol) {
|
||||
foreach ($procol['evenements'] as $even) {
|
||||
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
|
||||
switch ($even['CodeEven']*1) {
|
||||
case 1300: // Conversion Redressement Judiciaire en Liquidation Judiciaire
|
||||
case 1301: // Ouverture Liquidation Judiciaire
|
||||
case 1302: // Ouverture Liquidation Judiciaire Simplifiée
|
||||
case 1305: // Liquidation Judiciaire
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1303: // Ouverture Liquidation Judiciaire sur résolution du plan
|
||||
case 1304: // Réouverture Liquidation Judiciaire
|
||||
case 1306: // Liquidation Judiciaire simplifiée
|
||||
case 1307: // Conversion sauvegarde en Liquidation Judiciaire
|
||||
case 1311: // Liquidation Judiciaire par extension au(x) gérant(s)
|
||||
case 1312: // Liquidation Judiciaire avec continuation d'exploitation
|
||||
case 1313: // Liquidation Judiciaire sans remise des accessoires
|
||||
case 1417: // Jugement d'extension de liquidation judiciaire
|
||||
|
||||
// Annonce de liquidation judiciaire
|
||||
$ANNONCELJ=true;
|
||||
|
||||
// Date de l'annonce LJ
|
||||
$ANNONCELJDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1200: // Redressement Judiciaire
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1201: // Conversion sauvegarde en Redressement Judiciaire
|
||||
case 1211: // Redressement Judiciaire par extension au(x) gérant(s)
|
||||
case 1212: // Réforme de Liquidation Judiciaire en Redressement Judiciaire
|
||||
case 1418: // Jugement d'extension d'une procédure de redressement judiciaire
|
||||
// Annonce de redressement judiciaire
|
||||
$ANNONCERJ=true;
|
||||
// Date de l'annonce RJ
|
||||
$ANNONCERJDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1100: // Ouverture sauvegarde
|
||||
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
|
||||
case 1419: // Jugement d'extension d'une procédure de sauvegarde
|
||||
// Annonce de sauvegarde
|
||||
$ANNONCESV=true;
|
||||
// Date de l'annonce Sauv
|
||||
$ANNONCESVDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
|
||||
break;
|
||||
case 1407: // Modification de plan
|
||||
case 1408: // Modification du plan de cession
|
||||
case 1409: // Modification du plan de continuation
|
||||
case 1415: // Prolongement du plan cession
|
||||
// Modif de plan d'apurement
|
||||
$PLANMODIF=true;
|
||||
$ANNONCEPLANMODIFDATE=$ANNONCEDATE=$procol['dateJugement'];
|
||||
break;
|
||||
|
||||
case 1411: // Arrêt du plan de cession
|
||||
case 1414: // Arrêt du plan de redressement
|
||||
$ANNONCEPLANFINDATE=$procol['dateFinObservation'];
|
||||
if (substr($ANNONCEPLANFINDATE,0,4)*1==0) $ANNONCEPLANFINDATE='';
|
||||
/** @todo $ANNONCEPLANDUREE='';
|
||||
**/
|
||||
case 1412: // Arrêt du plan de cession partielle
|
||||
case 1413: // Arrêt du plan de continuation
|
||||
case 1101: // Jugement arrêtant plan de sauvegarde
|
||||
$PLAN=true; // Présence d'une annonce de plan d'apurement
|
||||
if ($even['CodeEven']*1==1411) $ANNONCEPLAN='cession';
|
||||
elseif ($even['CodeEven']*1==1412) $ANNONCEPLAN='cession partielle';
|
||||
elseif ($even['CodeEven']*1==1413) $ANNONCEPLAN='continuation';
|
||||
elseif ($even['CodeEven']*1==1414) $ANNONCEPLAN='redressement';
|
||||
elseif ($even['CodeEven']*1==1101) $ANNONCEPLAN='sauvegarde';
|
||||
|
||||
// Date de l'annonce de plan
|
||||
$ANNONCEPLANDATE=$procol['dateJugement'];
|
||||
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
|
||||
break;
|
||||
case 1600: // Interdictions et Faillites
|
||||
case 1601:
|
||||
case 1610:
|
||||
case 1611:
|
||||
$ANNONCEINTERDITDATE=$procol['dateJugement'];
|
||||
break;
|
||||
case 1202: // Renouvellement de la période d'observation
|
||||
$ANNONCEPC_OBS=true;
|
||||
//1430, Jugement autorisant la poursuite d'activité
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$tabProCol=$iInsee->getAnnoncesLegales($siren, 0, 'PH', false);
|
||||
if (count($tabProCol)>0) $ANNONCEPCHISTO=1;
|
||||
else $ANNONCEPCHISTO=0;
|
||||
}
|
||||
|
||||
$strOut.="$ANNONCESVDATE\t$ANNONCERJDATE\t$ANNONCELJDATE\t$ANNONCEPLANDATE".EOL; // => 2012-03-21
|
||||
}
|
||||
|
||||
fwrite($fp, $strOut);
|
||||
|
||||
echo date('Y-m-d H:i:s')." - $i/$nb : $siren".EOL;
|
||||
}
|
||||
|
||||
?>
|
@ -1,479 +0,0 @@
|
||||
<?php
|
||||
$argv=$_SERVER['argv'];
|
||||
$argc=$_SERVER['argc'];
|
||||
|
||||
print_r($argv);
|
||||
|
||||
function echoHeader() {
|
||||
echo ($argv[0]);?> v0.1 Extraction d'informations HyperBIL en ligne de commande.
|
||||
|
||||
Usage: <?=$argv[0]?> <type of data> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
|
||||
|
||||
Where <type of data> is :
|
||||
id Fiche d'identité (source BIL, RNCS puis INSEE)
|
||||
idi Fiche d'identité (source INSEE pure)
|
||||
pf Partenaires Financiers
|
||||
ann Annonces Légales
|
||||
dir Liste des dirigeants
|
||||
lbil Bilans disponibles
|
||||
bil Bilan complet (à la date de cloture demandée ou dernier dispo)
|
||||
nof Notation financière (à la date de cloture demandée ou dernier dispo)
|
||||
ch Score Conan & Holder (à la date de cloture demandée ou dernier dispo)
|
||||
sv1 SolvaBil 1
|
||||
sv2 SolvaBil 2
|
||||
sv3 SolvaBil 3
|
||||
usertest Test un user password uniquement; syntaxe : <user> <password>
|
||||
|
||||
Where <fileInFmt> is :
|
||||
csv Fichier IN au format CSV (; ou ,) SIREN;NIC;DATE_BILAN;REF
|
||||
plat Fichier IN au format plat (blancs significatifs) SIREN_____NIC__JJ/MM/AAAA
|
||||
UNISUR2 To Do
|
||||
|
||||
Where <fileOutFmt> is : csv / SO2000
|
||||
|
||||
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
|
||||
Si les informations demandées sont relatives à un bilan, la date de clôture précise du bilan peut être passée au format JJ/MM/AAAA.
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
include('automate.class.php');
|
||||
include('includes/ICotation.inc');
|
||||
$bil=&new Automate('array', false);
|
||||
|
||||
if ($argc < 7 && $argv[1]!='usertest') {echoHeader();die('Erreur : Vous n\'avez saisit que '. $argc .' paramètre(s) !');}
|
||||
elseif ($argv[1]=='usertest' && $argc==4) {
|
||||
$bil->setDebug(true);
|
||||
if ($bil->connect($argv[2], $argv[3]))
|
||||
{ echo 'User = "'. $argv[2].'" - Password = "'. $argv[3].'"'." - Connexion OK !\r\n";
|
||||
$bil->setRetour('csv');
|
||||
echo $bil->getFicheIdentite('552144503', '', 'c', '', 'Test', 'SO2000');
|
||||
}
|
||||
else
|
||||
echo 'User = "'. $argv[2].'" - Password = "'. $argv[3].'" - Connexion Impossible : '. $bil->getLastError() ."\r\n";
|
||||
$bil->printTrace();
|
||||
die();
|
||||
}
|
||||
elseif (!in_array($argv[1], array('id', 'idi', 'pf', 'ann', 'dir', 'lbil', 'bil', 'nof', 'ch', 'sv1','sv2','sv3'))) {echoHeader();die('Erreur : Produit inexistant !');}
|
||||
|
||||
$fileIN=@file($argv[2]);
|
||||
if ($fileIN==false) {echoHeader();die('Erreur : Impossible de lire le fichier "'. $argv[2] .'" !');}
|
||||
$nbLignes=sizeof($fileIN);
|
||||
|
||||
if (!in_array($argv[3], array('csv', 'plat'))) {echoHeader();die('Erreur : Format IN inexistant !');}
|
||||
|
||||
$fpOUT=@fopen($argv[4], 'w');
|
||||
if ($fpOUT==false) {echoHeader();die('Erreur : Impossible d\'ouvrir le fichier "'. $argv[3] .'" !');}
|
||||
|
||||
if (!in_array($argv[5], array('csv', 'so2000'))) {echoHeader();die('Erreur : Format OUT inexistant !');}
|
||||
$fileOutFmt=$argv[5];
|
||||
|
||||
$ligneDebutLecture=$argv[6];
|
||||
if ($ligneDebutLecture>$nbLignes) {echoHeader();die('Erreur : Le fichier IN contient seulement "'. $nbLignes .'" lignes !');}
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
$bil->setRetour('csv');
|
||||
|
||||
if ($argv[1]=='nof')
|
||||
fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SECTEUR;NOF;NOF Moyenne;R1 Numérateur;R1 Dénominateur;R1 Note;R1 Note bornée;R2 Numérateur;R2 Dénominateur;R2 Note;R2 Note bornée;R3 Numérateur;R3 Dénominateur;R3 Note;R3 Note bornée;R4 Numérateur;R4 Dénominateur;R4 Note;R4 Note bornée;R5 Numérateur;R5 Dénominateur;R5 Note;R5 Note bornée;R6 Numérateur;R6 Dénominateur;R6 Note;R6 Note bornée;Equiv. BDF;Equiv. Grades Moody's;Equiv. Grades S&P;Probabilité de défaillance;Postes du bilan;\r\n");
|
||||
elseif ($argv[1]=='ch')
|
||||
fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SCORE CONAN-HOLDER;SCORE/20;SITUATION;R1;R2;R3;R4;R5;\r\n");
|
||||
|
||||
foreach ($fileIN as $key => $ligne) {
|
||||
//die("Position = $key, NbLignes=$nbLignes, Lire à la ligne $ligneDebutLecture");
|
||||
if ($key<$ligneDebutLecture)
|
||||
continue;
|
||||
if ($argv[3]=='csv'){
|
||||
$tabLigne=explode(';', $ligne);
|
||||
$siren=substr(trim($tabLigne[0]), 0, 9);
|
||||
$nic=substr(trim($tabLigne[1]), 0, 5);
|
||||
$dateCloture=substr(trim($tabLigne[2]), 0, 10);
|
||||
$ref=substr(trim($tabLigne[3]), 0, 30);
|
||||
}else{
|
||||
$siren=substr($ligne, 0, 9);
|
||||
$nic=trim(substr($ligne, 9, 5));
|
||||
$dateCloture=substr($ligne, 14, 10);
|
||||
$ref=substr($ligne, 24, 30);
|
||||
}
|
||||
|
||||
if ($dateCloture=='' && (in_array($argv[1], array('bil', 'nof', 'ch'))))
|
||||
{
|
||||
// Recherche de la dernière date de clôture de bilan disponible !
|
||||
$derCloture=$bil->getDatesClotures($siren, '', 'array');
|
||||
$dateCloture=$derCloture[0]['RBDTCN'];
|
||||
$dureCloture=$derCloture[0]['RDDURN'];
|
||||
}
|
||||
|
||||
if ($argv[1]=='idi'){
|
||||
$bil->connect('900000174', 'CHANT');
|
||||
//$bil->connect('900000179', 'SOUPE');
|
||||
$typeFiche='ci';
|
||||
/*
|
||||
hbilsoid Requête IDENTITE FORMAT SO2000
|
||||
hbilsoids
|
||||
hbilsoidci Fiche identité Complete INSEE SO2000
|
||||
hbilsoidc Fiche identité Complete SO2000
|
||||
*/
|
||||
$retour=$bil->getFicheIdentite($siren, $nic, $typeFiche, '', $ref, $fileOutFmt);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// $bil->connect('900000183', 'CONGE'); // SVB1 Spé Bouygues Tél
|
||||
//$bil->connect('900000182', 'XXXX'); // CA-LEASING Séparateur Nom/Prénom + Filtre annonces
|
||||
$bil->connect('900000114', 'CHANT');
|
||||
if ($argv[1]=='id')
|
||||
$retour=$bil->getFicheIdentite($siren, $nic, 'c', '', $ref, $fileOutFmt);
|
||||
elseif (substr($argv[1],0,2)=='sv')
|
||||
$retour=$bil->getSolvaBil($siren, substr($argv[1],2,1), 450, $ref, '');
|
||||
elseif ($argv[1]=='pf')
|
||||
$retour=$bil->getActionnaires($siren);
|
||||
elseif ($argv[1]=='ann')
|
||||
$retour=$bil->getAnnoncesLegales($siren);
|
||||
elseif ($argv[1]=='dir')
|
||||
$retour=$bil->getDirigeants($siren);
|
||||
elseif ($argv[1]=='lbil')
|
||||
//echo "Bilans disponibles :<br/>";
|
||||
$retour=$bil->getDatesClotures($siren);
|
||||
elseif ($argv[1]=='bil') {
|
||||
//echo "Bilans disponibles :<br/>";
|
||||
$retour=$bil->getBilan($siren, $dateCloture);
|
||||
}
|
||||
elseif ($argv[1]=='nof') {
|
||||
$tabIdentite=$bil->getFicheIdentite($siren, '', '', '', $ref, 'array');
|
||||
$tabBilan=array();
|
||||
$tabBilan=$bil->getBilan($siren, $dateCloture, '', 'array');
|
||||
|
||||
$icotation = new ICotation($tabBilan, true);
|
||||
$secteur=$icotation->getSecteurActivite($tabIdentite['SOAPET']);
|
||||
$libSecteur=$icotation->tabLibActivite[$secteur];
|
||||
$suite='';
|
||||
|
||||
if (count($tabBilan)>0)
|
||||
{
|
||||
unset($note); unset($noteB); unset($numerateur); unset($denominateur);
|
||||
$note[0]=$noteB[0]=$numerateur[0]=$denominateur[0]=$noteTot=0;
|
||||
|
||||
$tabTmp = $icotation->noteCapitalisation();
|
||||
$numerateur[1] = number_format($tabTmp['NUMERATEUR']/100, 0, ',', '');
|
||||
$denominateur[1]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[1] = number_format($tabTmp['NOTE'], 2, ',', ' ');
|
||||
$noteB[1] = $icotation->getNoteBorne($tabTmp['NOTE'], 1, $secteur, $numerateur[1], $denominateur[1]);
|
||||
$noteTot+=$noteB[1];
|
||||
|
||||
$tabTmp = $icotation->noteLevierEndettement();
|
||||
$numerateur[2] = number_format($tabTmp['NUMERATEUR']/1, 0, ',', '');
|
||||
$denominateur[2]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[2] = number_format($tabTmp['NOTE'], 2, ',', ' ');
|
||||
$noteB[2] = $icotation->getNoteBorne($tabTmp['NOTE'], 2, $secteur, $numerateur[2], $denominateur[2]);
|
||||
$noteTot+=$noteB[2];
|
||||
|
||||
$tabTmp = $icotation->noteCapaciteRemboursement();
|
||||
$numerateur[3] = number_format($tabTmp['NUMERATEUR']/1, 0, ',', '');
|
||||
$denominateur[3]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[3] = number_format($tabTmp['NOTE'], 2, ',', ' ');
|
||||
$noteB[3] = $icotation->getNoteBorne($tabTmp['NOTE'], 3, $secteur, $numerateur[3], $denominateur[3]);
|
||||
$noteTot+=$noteB[3];
|
||||
|
||||
$tabTmp = $icotation->noteCouvChargesFi();
|
||||
$numerateur[4] = number_format($tabTmp['NUMERATEUR']/1, 0, ',', '');
|
||||
$denominateur[4]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[4] = number_format($tabTmp['NOTE'], 2, ',', ' ');
|
||||
$noteB[4] = $icotation->getNoteBorne($tabTmp['NOTE'], 4, $secteur, $numerateur[4], $denominateur[4]);
|
||||
$noteTot+=$noteB[4];
|
||||
|
||||
$tabTmp = $icotation->noteTresorerie();
|
||||
$numerateur[5] = number_format($tabTmp['NUMERATEUR']/(360*1), 0, ',', '');
|
||||
$denominateur[5]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[5] = number_format($tabTmp['NOTE'], 0, ',', '');
|
||||
$noteB[5] = $icotation->getNoteBorne($tabTmp['NOTE'], 5, $secteur, $numerateur[5], $denominateur[5]);
|
||||
$noteTot+=$noteB[5];
|
||||
|
||||
$tabTmp = $icotation->noteMargeExploitation();
|
||||
$numerateur[6] = number_format($tabTmp['NUMERATEUR']/100, 0, ',', '');
|
||||
$denominateur[6]= number_format($tabTmp['DENOMINATEUR']/1, 0, ',', '');
|
||||
$note[6] = number_format($tabTmp['NOTE'], 2, ',', ' ');
|
||||
$noteB[6] = $icotation->getNoteBorne($tabTmp['NOTE'], 6, $secteur, $numerateur[6], $denominateur[6]);
|
||||
$noteTot+=$noteB[6];
|
||||
|
||||
$noteMoy=number_format($noteTot/6, 2, ',', ' ');
|
||||
$noteFinanciere = $icotation->getNotationFin($noteTot/6);
|
||||
$libNoteFinanciere = $icotation->getInfosNotation($noteFinanciere);
|
||||
|
||||
$suite = $noteFinanciere .';'. // Notation Financière
|
||||
$noteMoy .';'; // Note Moyenne
|
||||
|
||||
for ($i=1; $i<7; $i++)
|
||||
$suite.=$numerateur[$i].';'.
|
||||
$denominateur[$i].';'.
|
||||
$note[$i].';'.
|
||||
$noteB[$i].';';
|
||||
|
||||
$suite.=$icotation->getInfosNotation($noteFinanciere, true);
|
||||
|
||||
$suite.=implode_with_options($tabBilan, '', '=', '"', ', ').';';
|
||||
}
|
||||
$retour = $siren .';'.
|
||||
$tabIdentite['SONOM'] .';'. // Raison sociale
|
||||
$tabIdentite['SOCP'] .';'. // Code Postal
|
||||
$tabIdentite['SOCOM'] .';'. // Ville
|
||||
$dateCloture .';'. // Date de clôture du bilan
|
||||
$dureCloture .';'. // Durée du bilan en mois
|
||||
$tabIdentite['SOAPET'] .';'. // NAF
|
||||
$secteur .'-'. $libSecteur .';'. // Libellé du secteur d'activité
|
||||
$suite ."\n";
|
||||
}
|
||||
elseif ($argv[1]=='ch') {
|
||||
$tabIdentite=$bil->getFicheIdentite($siren, '', '', '', '', 'array' );
|
||||
$tabBilan=array();
|
||||
$tabBilan=$bil->getBilan($siren, $dateCloture, '', 'array');
|
||||
|
||||
$suite='';
|
||||
|
||||
if (count($tabBilan)>0)
|
||||
{
|
||||
$n1=($tabBilan['FL'] + $tabBilan['FM'] + $tabBilan['FN'] + $tabBilan['FO'] - $tabBilan['FS'] - $tabBilan['FT'] - $tabBilan['FU'] - $tabBilan['FV'] - $tabBilan['FW'] - $tabBilan['FX'] - $tabBilan['FY'] - $tabBilan['FZ']);
|
||||
$d1=($tabBilan['EC'] - $tabBilan['EB'] + $tabBilan['YS']);
|
||||
$r1=$n1/$d1;
|
||||
|
||||
$n2=($tabBilan['DL'] + $tabBilan['DO'] + $tabBilan['DR'] + $tabBilan['DS'] + $tabBilan['DT'] + $tabBilan['DU'] + $tabBilan['DV'] - $tabBilan['EH']);
|
||||
$d2=$tabBilan['EE'];
|
||||
$r2=$n2/$d2;
|
||||
|
||||
$n3=($tabBilan['BV'] + $tabBilan['BX'] + $tabBilan['BZ'] + $tabBilan['CB'] + $tabBilan['CD'] + $tabBilan['CF'] - $tabBilan['BW'] - $tabBilan['BY'] - $tabBilan['CA'] - $tabBilan['CC'] - $tabBilan['CE'] - $tabBilan['CG']);
|
||||
$d3=$tabBilan['EE'];
|
||||
$r3=$n3/$d3;
|
||||
|
||||
$n4=$tabBilan['GR'];
|
||||
$d4=$tabBilan['FL'];
|
||||
$r4=$n4/$d4;
|
||||
|
||||
$n5=($tabBilan['FY'] + $tabBilan['FZ']);
|
||||
$d5=($tabBilan['FL'] + $tabBilan['FM'] + $tabBilan['FN'] - $tabBilan['FU'] - $tabBilan['FV'] - $tabBilan['FW'] - $tabBilan['FS'] - $tabBilan['FT']);
|
||||
$r5=$n5/$d5;
|
||||
|
||||
$n=24*$r1+22*$r2+16*$r3-87*$r4-10*$r5;
|
||||
|
||||
if ($n>16.5) { $s=20; $situation="Excellente"; }
|
||||
elseif ($n>16) { $s=19; $situation="Excellente"; }
|
||||
elseif ($n>15) { $s=18; $situation="Très bonne"; }
|
||||
elseif ($n>14) { $s=17; $situation="Très bonne"; }
|
||||
elseif ($n>13) { $s=16; $situation="Bonne"; }
|
||||
elseif ($n>12) { $s=15; $situation="Bonne"; }
|
||||
elseif ($n>11) { $s=14; $situation="Bonne"; }
|
||||
elseif ($n>10) { $s=13; $situation="Correcte"; }
|
||||
elseif ($n>09) { $s=12; $situation="Correcte"; }
|
||||
elseif ($n>08) { $s=11; $situation="Prudence"; }
|
||||
elseif ($n>07) { $s=10; $situation="Prudence"; }
|
||||
elseif ($n>06) { $s=09; $situation="Prudence"; }
|
||||
elseif ($n>05) { $s=08; $situation='Prudence'; }
|
||||
elseif ($n>04) { $s=07; $situation='Difficile'; }
|
||||
elseif ($n>02) { $s=06; $situation='Difficile'; }
|
||||
elseif ($n>00) { $s=05; $situation='Difficile'; }
|
||||
elseif ($n>-2) { $s=04; $situation='Danger'; }
|
||||
elseif ($n>-4) { $s=03; $situation='Danger'; }
|
||||
else { $s=02; $situation='Danger'; }
|
||||
/*
|
||||
elseif ($n>13) { $s=02; $situation=''; }
|
||||
elseif ($n>13) { $s=01; $situation='Redressement judiciaire'; }
|
||||
elseif ($n>13) { $s=00; $situation='Liquidation judiciaire'; }
|
||||
*/
|
||||
$suite= $n .';'.
|
||||
$s .';'.
|
||||
$situation .';'.
|
||||
$r1 .';'.
|
||||
$r2 .';'.
|
||||
$r3 .';'.
|
||||
$r4 .';'.
|
||||
$r5 .';';
|
||||
}
|
||||
$retour = $siren .';'.
|
||||
$tabIdentite['SONOM'] .';'. // Raison sociale
|
||||
$tabIdentite['SOCP'] .';'. // Code Postal
|
||||
$tabIdentite['SOCOM'] .';'. // Ville
|
||||
$dateCloture .';'. // Date de clôture du bilan
|
||||
$dureCloture .';'. // Durée du bilan en mois
|
||||
$tabIdentite['SOAPET'] .';'. // NAF
|
||||
$suite ."\n";
|
||||
}
|
||||
}
|
||||
$num=$key+1;
|
||||
echo "Ligne $num/$nbLignes : $siren $nic\r\n";
|
||||
fwrite($fpOUT, $retour);
|
||||
|
||||
}
|
||||
fclose($fpOUT);
|
||||
die();
|
||||
/*
|
||||
//echo "Recherche :<br/>";
|
||||
//$tab=$bil->getRecherche('552144503');
|
||||
|
||||
//echo "Produits disponibles :<br/>";
|
||||
//print_r($bil->getListeProduits('552144503'));
|
||||
|
||||
// echo "Fiche d'identité :<br/>";
|
||||
$fp=fopen('identites.csv', 'w');
|
||||
foreach ($tab as $key=>$siren) {
|
||||
$ret=$bil->getFicheIdentite($siren);
|
||||
fwrite($fp, $ret['SORCS'] .';'.
|
||||
$ret['RETOUR'] .';'.
|
||||
$ret['SONUME'] .';'.
|
||||
$ret['SONOM'] .';'.
|
||||
$ret['SONRU'] .' '. $ret['SOBTQ'] .' '. $ret['SORUE'] .';'.
|
||||
$ret['SOCP'] .';'.
|
||||
$ret['SOCOM'] .';'.
|
||||
$ret['SOETEL'] .';'.
|
||||
$ret['SOEFAX'] .';'.
|
||||
$ret['SOEWEB'] .';'.
|
||||
$ret['SODTCT'] .';'.
|
||||
$ret['SOCJEN'] .';'.
|
||||
$ret['SONBET'] .';'.
|
||||
$ret['SOAPET'] .";\r\n");
|
||||
}
|
||||
fclose($fp);
|
||||
|
||||
//$tab=$bil->getFicheIdentite('552144503');
|
||||
//echo array_to_xml($tab);
|
||||
|
||||
//echo "Bilans disponibles :<br/>";
|
||||
$fp=fopen('bilans.csv', 'w');
|
||||
|
||||
$tab=file('sirenbi.csv');
|
||||
foreach ($tab as $key=>$siren) {
|
||||
$ret=$bil->getDatesClotures($siren);
|
||||
fwrite($fp, $ret[0]['RISIR'] .';'.
|
||||
$ret[0]['RETOUR'] .';'.
|
||||
$ret[0]['RINUME'] .';'.
|
||||
$ret[0]['RBDTCN'] .';'.
|
||||
$ret[0]['RDDURN'] .';'.
|
||||
$ret[1]['RBDTCN'] .';'.
|
||||
$ret[1]['RDDURN'] .';'.
|
||||
$ret[2]['RBDTCN'] .';'.
|
||||
$ret[2]['RDDURN'] .";\r\n");
|
||||
}
|
||||
fclose($fp);
|
||||
*/
|
||||
echo "Solvabil 3 :<br/>";
|
||||
//print_r($bil->getSolvaBil('552144503',3,450,'test','','csv'));
|
||||
|
||||
echo array2xml($bil->getSolvaBil('552144503',3,450,'test','','csv'));
|
||||
die();
|
||||
|
||||
echo "Actionnaires :<br/>";
|
||||
//print_r();
|
||||
echo "<pre>";
|
||||
echo array2xml($bil->getActionnaires('552144503'));
|
||||
echo "</pre>";
|
||||
|
||||
|
||||
function array2xml($array,$level=0){
|
||||
|
||||
if (!is_array($array))
|
||||
return 0;
|
||||
|
||||
if ($level==0)
|
||||
{
|
||||
$tab0=$array[0];
|
||||
print_r($tab0);
|
||||
echo "<xml>\n<". $tab0['PRODUIT'] .">\n";
|
||||
}
|
||||
reset($array);
|
||||
while ( list($key, $value) = each($array) ) {
|
||||
if (is_array($value)) {
|
||||
if (!is_integer($key))
|
||||
echo "<$key>\n";
|
||||
array2xml($value,$level+1);
|
||||
if (!is_integer($key))
|
||||
echo "</$key>\n";
|
||||
} else {
|
||||
if (is_integer($key))
|
||||
$key="DATA_$key";
|
||||
if ($key!='RETOUR' && $key!='PRODUIT')
|
||||
echo "<$key>$value</$key>\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($level==0)
|
||||
{
|
||||
$tab0=$array[0];
|
||||
echo "</". $tab0['PRODUIT'] .">\n</xml>\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$tabCJ=array(
|
||||
'10'=>'Personne physique',
|
||||
'11'=>'Artisan Commerçant',
|
||||
'12'=>'Commerçant',
|
||||
'13'=>'Artisan (civil)',
|
||||
'14'=>'Officier public ou ministériel',
|
||||
'15'=>'Profession libérale',
|
||||
'16'=>'Exploitant agricole',
|
||||
'17'=>'Agent commercial',
|
||||
'18'=>'Associé-Gérant de société',
|
||||
'19'=>'Personne Physique',
|
||||
'21'=>'Indivision',
|
||||
'22'=>'Sté créée de Fait',
|
||||
'23'=>'Sté en Participation',
|
||||
'27'=>'Paroisse hors zone concordataire',
|
||||
'29'=>'Groupement droit privé,n/pers.morale',
|
||||
'31'=>'P.M.droit étranger immatriculé RCS',
|
||||
'32'=>'P.M.droit étranger n/immat.RCS',
|
||||
'41'=>'Ets public-régie indus/commerciale',
|
||||
'51'=>'Sté coopérative commerciale',
|
||||
'52'=>'Sté en nom collectif',
|
||||
'53'=>'Sté en commandite',
|
||||
'54'=>'S.A.R.L',
|
||||
'55'=>'S.A à conseil d\'administration',
|
||||
'56'=>'S.A à directoire',
|
||||
'57'=>'SA par action simplifiée',
|
||||
'61'=>'Caisse d\'Epargne & Prévoyance',
|
||||
'62'=>'G.I.E',
|
||||
'63'=>'Sté coopérative agricole',
|
||||
'64'=>'Sté n/commerciale d\'assurance',
|
||||
'65'=>'Société Civile',
|
||||
'69'=>'Autres PM de droit privé inscrites au R',
|
||||
'71'=>'Administration d\'Etat',
|
||||
'72'=>'Collectivité Territoriale',
|
||||
'73'=>'Ets Public Administratif',
|
||||
'74'=>'P.M. de droit public,administration',
|
||||
'81'=>'Organisme de protection sociale',
|
||||
'82'=>'Organisme mutualiste',
|
||||
'83'=>'Comité d\'Entreprise',
|
||||
'84'=>'Organisme Professionnel',
|
||||
'85'=>'Org.de retraite adh. n/obligatoire',
|
||||
'91'=>'Syndicat de Propriétaires',
|
||||
'92'=>'Association 1901 ou Assimilé',
|
||||
'93'=>'Fondation',
|
||||
'99'=>'P.M. de droit privé',
|
||||
);
|
||||
|
||||
$tabCJbilans=array('54','55','56','57');
|
||||
|
||||
|
||||
function implode_with_options($assoc_array, $prefix = '', $k_v_glue = '', $vwrap = '', $seperator = '')
|
||||
{
|
||||
foreach ($assoc_array as $k => $v)
|
||||
{
|
||||
$tmp[] = $k . $k_v_glue . $vwrap . $v . $vwrap;
|
||||
}
|
||||
return $prefix . implode($seperator, $tmp);
|
||||
}
|
||||
/**
|
||||
$items = array('Apples', 'number' => 3, 'Vehicle' => '');
|
||||
|
||||
// For a query string:
|
||||
echo implode_with_options($items, '?', '=', '', '&');
|
||||
|
||||
/**
|
||||
* Produces
|
||||
* ?0=Apples&number=3&Vehicle=
|
||||
|
||||
// For a SQL query
|
||||
echo implode_with_options($items, '', '=', '"', ', ');
|
||||
*/
|
||||
|
||||
?>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,192 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
|
||||
<STYLE>
|
||||
<!--
|
||||
BODY,DIV,TABLE,THEAD,TBODY,TFOOT,TR,TH,TD,P { font-family:"Arial"; font-size:x-small }
|
||||
-->
|
||||
</STYLE>
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000">
|
||||
<TABLE CELLSPACING=0 BORDER=0>
|
||||
<tr>
|
||||
<td ALIGN="left" colspan="5"><IMG SRC="../docs/logoSD.png" WIDTH=344 HEIGHT=88 HSPACE=48 VSPACE=7/></td>
|
||||
<td align="right" colspan="3"><b><font size=3 COLOR="#808080">FACTURE ORIGINALE</FONT></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1 COLOR="#000000">SCORES & DECISIONS SAS</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1 COLOR="#808080">S.A.S au capital 612 250 €</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1>18, rue Saulnier – 75009 PARIS</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1>RCS VERSAILLES B 494 967 938</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1>Tél. : 01 75 43 80 10</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1>Fax : 01 75 43 85 74</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1>compta@scores-decisions.com</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3"><b><font size=1 COLOR="#000000">No de TVA : FR 84 494 967 938</FONT></b></td>
|
||||
<td colspan="5"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=180> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
<td width=60> <br/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height=17 BGCOLOR="#808080" colspan=8 align="center">
|
||||
<table border=2>
|
||||
<tr><td height=17 align="center" BGCOLOR="#808080" colspan=8><b><font face="Helvetica" size=4 color="#000000">Facture N° <?=$tplt['numFacture']?> du <?=$tplt['dateFacture']?></font></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>Raison sociale :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['raisonSociale']?></font></b></td>
|
||||
<td colspan=2 align="right"><b><font size=1>Client N° :</font></b></td>
|
||||
<td colspan=3 align="left"><b><font size=1 color="#808080"><?=$tplt['numClient']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>ID client :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['refClient']?></font></b></td>
|
||||
<td colspan=2 align="left"> </td>
|
||||
<td colspan=3 align="left"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>Adresse de facturation :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['adresseFact1']?><br/><?=$tplt['adresseFact2']?><br/><?=$tplt['adresseFact3']?></font></b></td>
|
||||
<td colspan=2 align="right"><b><font size=1>Adresse de livraison :</font></b></td>
|
||||
<td colspan=3 align="left"><b><font size=1 color="#808080"><?=$tplt['adresseLiv1']?><br/><?=$tplt['adresseLiv2']?><br/><?=$tplt['adresseLiv3']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>SIREN :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['siren']?></font></b></td>
|
||||
<td colspan=2 align="right"><b><font size=1>NIC : </font></b></td>
|
||||
<td colspan=3 align="left"><b><font size=1 color="#808080"><?=$tplt['nic']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>N° de TVA :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['numtva']?></font></b></td>
|
||||
<td colspan=2 align="left"> </td>
|
||||
<td colspan=3 align="left"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>Contact :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['signataireNom']?></font></b></td>
|
||||
<td colspan=2 align="right"><b><font size=1>Correspondant : </font></b></td>
|
||||
<td colspan=3 align="left"><b><font size=1 color="#808080"><?=$tplt['correspNom']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>E-mail :</font></b></td>
|
||||
<td colspan=2 align="left"><b><font size=1 color="#808080"><?=$tplt['signataireMail']?></font></b></td>
|
||||
<td colspan=2 align="right"><b><font size=1>E-mail : </font></b></td>
|
||||
<td colspan=3 align="left"><b><font size=1 color="#808080"><?=$tplt['correspMail']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=1 align="right"><b><font size=1>Téléphone :</font></b></td>
|
||||
<td colspan=2 align="left" colspan=3><b><font size=1 color="#808080"><?=$tplt['signataireTel']?></font></b></td>
|
||||
<td colspan=2 align="right" colspan=2><b><font size=1>Téléphone :</font></b></td>
|
||||
<td colspan=3 align="left" colspan=2><b><font size=1 color="#808080"><?=$tplt['correspTel']?></font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=2 style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" HEIGHT=36 align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><FONT FACE="Helvetica" SIZE=2>Intitulé Prestations</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><font FACE="Helvetica" size=2>Quantité</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><font FACE="Helvetica" SIZE=2>PU € HT</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><font FACE="Helvetica" size=2>Prix Total € HT</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><FONT FACE="Helvetica" SIZE=2>TVA €</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><font FACE="Helvetica" SIZE=2>Avoir / Remise</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN=MIDDLE BGCOLOR="#CCCCCC"><b><FONT FACE="Helvetica" SIZE=2>Prix Total € TTC</font></b></td>
|
||||
</tr>
|
||||
<? foreach ($tplt['ligne'] as $ligne=>$tplt2) { ?>
|
||||
<tr>
|
||||
<td colspan=2 style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" headers=35 align="left" VALIGN=MIDDLE><font size=1><?=$tplt2['intitule']?></font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" valign="middle"><font size=1><?=$tplt2['quantite']?></font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="right" valign="middle"><font size=1><?=number_format($tplt2['puht'], 2, ',', ' ')?> €</font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="right" valign="middle"><font size=1><?=number_format($tplt2['totalht'], 2, ',', ' ')?> €</font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000" align="right" align="right" valign="middle"><font size=1><?=number_format($tplt2['tva'], 2, ',', ' ')?> €</font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="right" valign="middle"><font size=1><?=number_format($tplt2['remise'], 2, ',', ' ')?> €</font></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-right: 1px solid #000000" align="right" valign="middle"><font size=1><?=number_format($tplt2['totalttc'], 2, ',', ' ')?> €</font></td>
|
||||
</tr>
|
||||
<? } ?>
|
||||
|
||||
<tr>
|
||||
<td colspan=2 HEIGHT=35 align="left"><font size=1><BR></FONT></td>
|
||||
<td align="left"><font size=1><BR></FONT></td>
|
||||
<td align="left"><font size=1><BR></FONT></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="right" valign="middle"><b><font size=1><?=number_format($tplt['totalht'], 2, ',', ' ')?> €</font></b></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000" align="right" valign="middle"><b><font size=1><?=number_format($tplt['tva'], 2, ',', ' ')?> €</font></b></td>
|
||||
<td STYLE="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="center" VALIGN="middle"><b><font size=1><?=number_format($tplt['remise'], 2, ',', ' ')?> €</FONT></b></td>
|
||||
<td STYLE="border-bottom: 1px solid #000000; border-right: 1px solid #000000" align="right" VALIGN="middle"><b><font size=1><?=number_format($tplt['totalttc'], 2, ',', ' ')?> €</font></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><b><font size=1>Date de paiement :</FONT></b></td>
|
||||
<td colspan=7 align="left"><b><font size=1 COLOR="#808080">5 jours a compter de la date de facturation</FONT></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><b><font size=1>Conditions d’escompte :</FONT></b></td>
|
||||
<td colspan=7 align="left"><b><font size=1 COLOR="#808080">Pas d'escompte en cas de paiement anticipé</FONT></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><b><font size=1>Taux indicatif de TVA :</FONT></b></td>
|
||||
<td colspan=7 align="left" SDVAL="0,196" SDNUM="1036;0;0,00%"><b><font size=1 COLOR="#808080">19,60%</FONT></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><b><font size=1>Pénalités de retard :</FONT></b></td>
|
||||
<td colspan=7 align="left"><b><font size=1 COLOR="#808080">Se référer aux conditions générales de services</FONT></b></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
963
batch/fedaso.php
963
batch/fedaso.php
@ -1,963 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
define('URL_BASE','http://extranet.scores-decisions.com/fichier/pdf/');
|
||||
define('URL_SECURE','?login=ylenaour&hach=e1b559e3c4237fd8390787ade34bc86d');
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMFedaso.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$iDb=new WDB();
|
||||
$iDb2=new WDB('sdv1');
|
||||
$iInsee=new MInsee();
|
||||
$fedaso=new MFedaso();
|
||||
$iGreffes=new MGreffes();//getListeActes($siren)
|
||||
|
||||
|
||||
$tabInfosGlobal=array();
|
||||
$repPdfInfogreffe='/home/data/ftp/fedaso/statuts/recv';
|
||||
$repCsvFedaso='/home/data/ftp/fedaso/statuts/send/';
|
||||
$repHistoFedaso='/home/data/ftp/fedaso/statuts/send/';
|
||||
define('FEDASO_BACKUP_DIR','/home/data/fedaso/');
|
||||
|
||||
$nbEnvois=200;
|
||||
$verFedasoFic='v0,6';
|
||||
$verFedasoRef='v0,14';
|
||||
|
||||
$sep=',';
|
||||
$eol=EOL;
|
||||
|
||||
$modeDebug=false;
|
||||
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
|
||||
$lastDepot=false; // Remettre à disposition le précédent envoi
|
||||
$chargerRetour=true; // Charger le/les retours Fedaso
|
||||
$initReferentiel=false; // Mettre à jour le référentiel des tables associées
|
||||
$tabFichierIn=$tabFichLigneCmd=array();
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Gestion des échanges avec Fedaso.
|
||||
|
||||
Options :
|
||||
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
|
||||
-l Remettre à disposition les documents du précédent envoi.
|
||||
-t Forcer la mise à jour hebdomadaire des tables associées.
|
||||
-c Charger les documents traités et retournés par Fedaso (*)
|
||||
-v Mode verbose (ou debug)
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$genereDepot=true;
|
||||
$nbEnvoisUti=substr($argv[$i],3)*1;
|
||||
if ($nbEnvoisUti>0) $nbEnvois=$nbEnvoisUti;
|
||||
if (date('N')==5) $initReferentiel=true;
|
||||
break;
|
||||
case 'r':
|
||||
$chargerRetour=true;
|
||||
break;
|
||||
case 'v':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case 'l':
|
||||
$lastDepot=true;
|
||||
break;
|
||||
case 't':
|
||||
$initReferentiel=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
} else $tabFichLigneCmd[]=$argv[$i];
|
||||
}
|
||||
|
||||
// 1: A supprimer quand Fedaso est nickel... d'ici
|
||||
if (!$modeDebug) {
|
||||
switch (''.date('d-m')) {
|
||||
case '01-01':
|
||||
case '01-05':
|
||||
case '25-12':
|
||||
die();
|
||||
break;
|
||||
default:
|
||||
if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche
|
||||
die();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$nbPdfEncours=$nbPdfInexist=0;
|
||||
|
||||
if (count($tabFichLigneCmd)==0) {
|
||||
$dh = opendir($repCsvFedaso);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt')
|
||||
$tabFichierIn[] = $filename;
|
||||
}
|
||||
sort($tabFichierIn);
|
||||
} else $tabFichierIn=$tabFichLigneCmd;
|
||||
|
||||
if ($initReferentiel) {
|
||||
if (date('N')==5) echo date('Y/m/d - H:i:s') ." - Génération hebdomadaire du référentiel OK...". EOL;
|
||||
else echo date('Y/m/d - H:i:s') ." - Génération forcée du référentiel OK...". EOL;
|
||||
$nb=file_put_contents($repPdfInfogreffe."/tableCodesRetours_$verFedasoRef.csv", $fedaso->getRefCodeRetour($sep,$eol));
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Retours' : $nb lignes.". EOL;
|
||||
$nb=file_put_contents($repPdfInfogreffe."/tableCodesVoies_$verFedasoRef.csv", $fedaso->getRefCodeVoie($sep,$eol));
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Voies' : $nb lignes.". EOL;
|
||||
$nb=$iDb->exportCSV('SELECT devIso, devNom FROM sdv1.devise_liste;', $repPdfInfogreffe."/tableCodesDevises_$verFedasoRef.csv",$sep,$eol);
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Devises' : $nb lignes.". EOL;
|
||||
$nb=$iDb->exportCSV('SELECT codActe, libActe FROM jo.tabActes;', $repPdfInfogreffe."/tableCodesActes_$verFedasoRef.csv",$sep,$eol);
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Actes' : $nb lignes.". EOL;
|
||||
$nb=$iDb->exportCSV('SELECT codeFct AS codFonction, libelle AS libFonction FROM jo.bodacc_fonctions;', $repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv",$sep,$eol);
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Fonctions' : $nb lignes.". EOL;
|
||||
$nb=$iDb->exportCSV('SELECT g.bdfFibCodeEtab AS banque, g.bdfFibCodeGuichet AS guichet, b.bdfFibDenom40 AS nomBanque, b.bdfFibDenom10 AS sigleBanque, g.bdfFibDenom20 AS nomGuichet, g.bdfFibAdresse1 AS adresse1, g.bdfFibAdresse2 AS adresse2, g.bdfFibAdresse3 AS adresse3, g.CP, g.Ville
|
||||
FROM insee.BDF_Etabs b, insee.BDF_Guichets g
|
||||
WHERE b.bdfFibCodeEtab = g.bdfFibCodeEtab
|
||||
ORDER BY banque, guichet;', $repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv",$sep,$eol);
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Guichets' : $nb lignes.". EOL;
|
||||
$nb=$iDb->exportCSV('SELECT codPays3 AS codPays, libPays FROM jo.tabPays;', $repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv",$sep,$eol);
|
||||
echo date('Y/m/d - H:i:s') ." - Référentiel 'Pays' : $nb lignes.". EOL;
|
||||
$zip = new ZipArchive;
|
||||
$res=$zip->open($repPdfInfogreffe."/tableReferentiel_$verFedasoRef.zip", ZipArchive::OVERWRITE);
|
||||
if ($res === TRUE) {
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesRetours_$verFedasoRef.csv", "tableCodesRetours_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesVoies_$verFedasoRef.csv", "tableCodesVoies_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesDevises_$verFedasoRef.csv", "tableCodesDevises_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesActes_$verFedasoRef.csv", "tableCodesActes_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv", "tableCodesFonctions_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv", "tableCodesGuichets_$verFedasoRef.csv");
|
||||
$zip->addFile($repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv", "tableCodesPays_$verFedasoRef.csv");
|
||||
$zip->close();
|
||||
unlink($repPdfInfogreffe."/tableCodesRetours_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesVoies_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesDevises_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesActes_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv");
|
||||
unlink($repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv");
|
||||
echo date('Y/m/d - H:i:s') ." - Compression ZIP du référentiel OK...". EOL;
|
||||
} else {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ZIP n°$res : Compression ZIP du référentiel impossible !". EOL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
$nbLignes=$iDb->exportCSV(file_get_contents($sql), $csv.'.tmp');
|
||||
$fp = fopen("./csv2sql.log", 'a');
|
||||
fwrite($fp, date('Y-m-d H:i:s')." - $base $sql $csv : $nbLignes lignes extraites".EOL);
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
$tabTmp=$iDb2->select('fedaso', 'count(*) AS nb', "DATE(dateEnvoi)=DATE(NOW())", false, MYSQL_ASSOC);
|
||||
$nbEncours=$tabTmp[0]['nb'];
|
||||
$tabTmp=$iDb2->select('fedaso', 'DATE(MAX(dateEnvoi)) AS lastEnvoi', "1", false, MYSQL_ASSOC);
|
||||
$maxEnvoi=$tabTmp[0]['lastEnvoi'];
|
||||
$message='';
|
||||
|
||||
if ($lastDepot || ($genereDepot && $nbEncours==0)) {
|
||||
$nbEncours=0;
|
||||
$strFichierOut='';
|
||||
$tabActesASaisir=$tabFichierOut=array();
|
||||
$tabTmp=$iDb->select('jo.tabActes', 'codActe', 'prioriteSaisie BETWEEN 1 AND 10', false, MYSQL_ASSOC);
|
||||
foreach ($tabTmp as $actes)
|
||||
$tabActesASaisir[]=$actes['codActe'];
|
||||
$nbTypesSaisie=count($tabActesASaisir);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbTypesSaisie types d'actes en saisie.". EOL;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche des $nbEnvois documents à envoyer en saisie.". EOL;
|
||||
|
||||
while($nbEncours<=$nbEnvois) {
|
||||
if ($lastDepot)
|
||||
$tabTmp=$iDb->select('sdv1.fedaso', 'siren, page, params, dateEnvoi AS dateHeure', "dateEnvoi BETWEEN '$maxEnvoi 00:00:00' AND '$maxEnvoi 23:59:59'", false, MYSQL_ASSOC);
|
||||
else
|
||||
$tabTmp=$iDb->select('sdv1.logs', 'siren, page, params, dateHeure', "page LIKE 'greffe_%' AND params<>'' AND params NOT LIKE 'Erreur%' GROUP BY siren, page, params ORDER BY dateHeure DESC", false, MYSQL_ASSOC);
|
||||
foreach ($tabTmp as $actes) {
|
||||
$siren =$actes['siren'];
|
||||
$params=$actes['params'];
|
||||
$pageAc=$actes['page'];
|
||||
$dateCmd=$actes['dateHeure'];
|
||||
if ($pageAc=='greffe_bilans') {
|
||||
$multiDepot=false;
|
||||
// L'acte a traiter est un bilan
|
||||
$url=URL_BASE."bilan-$siren-$params.pdf".URL_SECURE;
|
||||
//$url="http://extranet.scores-decisions.com/datafile.php?q=bilan-$siren-$params.pdf";
|
||||
} elseif ($pageAc=='greffe_actes') {
|
||||
// L'acte est un acte/document divers
|
||||
if (preg_match('/\|/', $params)) {
|
||||
$multiDepot=true;
|
||||
// L'acte contient plusieurs dépôts
|
||||
$tabParams=explode('-', $params);
|
||||
$dateActe=$tabParams[1];
|
||||
// On liste les actes du dépôt
|
||||
$tabTmp2=$iDb->select('jo.greffes_actes', 'siren, type_acte, (date_acte*1) AS dateActe, numGreffe, numRC, num_depot, num_acte', "siren=$siren AND dateActe=$dateActe", false, MYSQL_ASSOC);
|
||||
$tabDepots=array();
|
||||
if (count($tabTmp2)>0) {
|
||||
foreach ($tabTmp2 as $actes2) {
|
||||
$numRC1=substr($actes2['numRC'],0,2);
|
||||
$numRC2=substr($actes2['numRC'],2,1);
|
||||
$numRC3=substr($actes2['numRC'],3);
|
||||
$params=$actes2['type_acte'].'-'.$actes2['dateActe'].'-'.$actes2['numGreffe'].
|
||||
"-$numRC1-$numRC2-$numRC3-".$actes2['num_depot'].'-'.$actes2['num_acte'];
|
||||
$url=URL_BASE."acte-$siren-$params.pdf".URL_SECURE;
|
||||
if (!in_array(''.$actes2['type_acte'], $tabActesASaisir)) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (exclu)".EOL;
|
||||
continue;
|
||||
} else {
|
||||
$tabDepots[]=$params;
|
||||
// On vérifie si cette acte n'est pas déjà saisie ou en saisie !
|
||||
if (!$lastDepot) {
|
||||
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
|
||||
if ($tabTmp2[0]['nb']>0) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (en cours)".EOL;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$nomPdf=basename(preg_replace('/\?.*$/','',$url));
|
||||
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.$nomPdf);
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
|
||||
$tabDepots=@$iGreffes->getListeActes($siren);
|
||||
$nbDepots=count($tabDepots);
|
||||
print_r($tabDepots);
|
||||
die();
|
||||
continue;
|
||||
}
|
||||
@mkdir($repPdfInfogreffe);
|
||||
$fp=@fopen($repPdfInfogreffe.'/'.$nomPdf, 'w');
|
||||
if (!$fp || !fwrite($fp, $page['body']))
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (erreur fichier local)".EOL;
|
||||
@fclose($fp);
|
||||
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.$nomPdf);
|
||||
// randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
if (!$tabPdf) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (vide)".EOL;
|
||||
unlink($repPdfInfogreffe.'/'.$nomPdf);
|
||||
continue;
|
||||
}
|
||||
|
||||
$pdfSize= $tabPdf['pdfSize'];
|
||||
$pdfVer = $tabPdf['version'];
|
||||
$pdfPage= $tabPdf['nbPages'];
|
||||
|
||||
$nbEncours++;
|
||||
$tabFichierOut[]=$nomPdf;
|
||||
$strFichierOut.="$nbEncours\t$dateCmd\t$pdfSize ko\t$pdfPage\t$nomPdf".EOL;
|
||||
|
||||
if(!$iDb2->insert('fedaso', array( 'siren' => $siren,
|
||||
'params' => $params,
|
||||
'page' => $pageAc,
|
||||
'dateEnvoi' => date('YmdHis'),
|
||||
'dateCmd' => $dateCmd,
|
||||
'pdfNum' => $nbEncours,
|
||||
'pdfSize' => $pdfSize,
|
||||
'pdfPage' => $pdfPage,
|
||||
))) {
|
||||
if (!$lastDepot)
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR lors de l'insertion de $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
|
||||
} else
|
||||
echo date('Y/m/d - H:i:s') ." - $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
|
||||
if ($nbEncours>=$nbEnvois) {
|
||||
// On efface le dernier fichier car il est de trop !
|
||||
//unlink($repPdfInfogreffe.'/'.basename($url));
|
||||
break(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// La liste des actes n'est pas disponible sur notre Système !
|
||||
}
|
||||
} else {
|
||||
$multiDepot=false;
|
||||
$url=URL_BASE."acte-$siren-$params.pdf".URL_SECURE;
|
||||
//$url="http://extranet.scores-decisions.com/datafile.php?q=acte-$siren-$params.pdf";
|
||||
$tmp=explode('-', $params);
|
||||
if (!in_array(''.$tmp[0], $tabActesASaisir)) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (exclu)".EOL;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$multiDepot) {
|
||||
// On vérifie si cette acte n'est pas déjà saisie ou en saisie !
|
||||
if (!$lastDepot) {
|
||||
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
|
||||
if ($tabTmp2[0]['nb']>0) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (en cours)".EOL;
|
||||
$nbPdfEncours++;
|
||||
if (($nbPdfEncours+$nbPdfInexist)>1500)
|
||||
break 2; // Arret de l'export de la liste
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$nomPdf=basename(preg_replace('/\?.*$/','',$url));
|
||||
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.$nomPdf);
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
|
||||
$nbPdfInexist++;
|
||||
if (strlen($params)==35) {
|
||||
//echo 'ici';
|
||||
if ($pageAc=='greffe_actes') $tabDepots=@$iGreffes->getListeActes($siren);
|
||||
elseif ($pageAc=='greffe_bilans') $tabDepots=@$iGreffes->getBilansImages($siren);
|
||||
$nbDepots=count($tabDepots);
|
||||
print_r($tabDepots);
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (RECHERCHE dans $nbDepots $pageAc)".EOL;
|
||||
foreach ($tabDepots as $depot) {
|
||||
if ($pageAc=='greffe_actes')
|
||||
$params2=$depot['acte_type'].'-'.WDate::dateT('Y-m-d','Ymd',$depot['acte_date']).'-'.$depot['numGreffe'].
|
||||
'-'.$depot['numRC'].'-'.$depot['depot_num'].'-'.$depot['acte_num'];
|
||||
else {
|
||||
$params2=$depot['annee'].'_'.$depot['type'].'-'.WDate::dateT('Y-m-d','Ymd',$depot['dateCloture']).'-'.
|
||||
$depot['numGreffe'].'-'.$depot['numRC'].'-'.$depot['depot_num'];
|
||||
/// echo("$url\t$params\t$params2".EOL);
|
||||
// die();
|
||||
}
|
||||
if (strpos($params2, $params)===false)
|
||||
echo("$params2\tDIFFERENT DE\t$params".EOL);
|
||||
else {
|
||||
echo("$params2\tIDENTIQUE\t$params".EOL);
|
||||
$url=URL_BASE."acte-$siren-$params2.pdf".URL_SECURE;
|
||||
$params=$params2;
|
||||
//die($url);
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else
|
||||
//print_r($page);die();
|
||||
continue;
|
||||
}
|
||||
@mkdir($repPdfInfogreffe);
|
||||
$nomPdf=basename(preg_replace('/\?.*$/','',$url));
|
||||
$fp=@fopen($repPdfInfogreffe.'/'.$nomPdf, 'w');
|
||||
if (!$fp || !fwrite($fp, $page['body']))
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (erreur fichier local)".EOL;
|
||||
@fclose($fp);
|
||||
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.$nomPdf);
|
||||
// randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
if (!$tabPdf) {
|
||||
echo date('Y/m/d - H:i:s') ." - ___\t$url (vide)".EOL;
|
||||
unlink($repPdfInfogreffe.'/'.$nomPdf);
|
||||
continue;
|
||||
}
|
||||
|
||||
$pdfSize= $tabPdf['pdfSize'];
|
||||
$pdfVer = $tabPdf['version'];
|
||||
$pdfPage= $tabPdf['nbPages'];
|
||||
|
||||
$nbEncours++;
|
||||
//$tabFichierOut[]=basename($url);
|
||||
$tabFichierOut[]=$nomPdf;
|
||||
$strFichierOut.="$nbEncours\t$dateCmd\t$pdfSize ko\t$pdfPage\t$nomPdf".EOL;
|
||||
|
||||
if(!$iDb2->insert('fedaso', array( 'siren' => $siren,
|
||||
'params' => $params,
|
||||
'page' => $pageAc,
|
||||
'dateEnvoi' => date('YmdHis'),
|
||||
'dateCmd' => $dateCmd,
|
||||
'pdfNum' => $nbEncours,
|
||||
'pdfSize' => $pdfSize,
|
||||
'pdfPage' => $pdfPage,
|
||||
))) {
|
||||
if ($lastDepot)
|
||||
echo date('Y/m/d - H:i:s') ." - Reprise $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
|
||||
else
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR lors de l'insertion de $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
|
||||
} else
|
||||
echo date('Y/m/d - H:i:s') ." - $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
|
||||
if ($nbEncours>=$nbEnvois) {
|
||||
// On efface le dernier fichier car il est de trop !
|
||||
//unlink($repPdfInfogreffe.'/'.basename($url));
|
||||
break(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$fichierIndex='lotliensn-'.date('Y-m-d-Hi').'.txt';
|
||||
$nbActes=count($tabFichierOut);
|
||||
|
||||
if (file_put_contents($repPdfInfogreffe.'/'.$fichierIndex, $verFedasoFic.EOL.implode(EOL, $tabFichierOut).EOL.$nbActes))
|
||||
$message=date('Y/m/d - H:i:s') ." - Le fichier index $fichierIndex a été crée pour les $nbActes.". EOL;
|
||||
else
|
||||
$message=date('Y/m/d - H:i:s') ." - Erreur : Création impossible du fichier index $fichierIndex pour les $nbActes !". EOL;
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
|
||||
} elseif ($genereDepot && $nbEncours==$nbEnvois) {
|
||||
$message=date('Y/m/d - H:i:s') ." - Les $nbEncours actes quotidiens ont déjà été déposés.". EOL;
|
||||
} elseif ($genereDepot && $nbEncours<$nbEnvois) {
|
||||
$message=date('Y/m/d - H:i:s') ." - Erreur : Il n'y a que $nbEncours actes / $nbActes déposés pour Fedaso !". EOL;
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
|
||||
}
|
||||
echo $message;
|
||||
|
||||
|
||||
if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Fedaso.".EOL;
|
||||
$mailReferentiel=$msgDiff=array();
|
||||
for ($i=0; isset($tabFichierIn[$i]); $i++)
|
||||
{
|
||||
//IKI
|
||||
$nomFichier =$tabFichierIn[$i];
|
||||
$dateFichier=date('YmdHis', filectime($repCsvFedaso.$nomFichier));
|
||||
$fp=fopen($repCsvFedaso.$nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=0; // Nombre de ligne du fichier
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp, 1024));
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
|
||||
|
||||
|
||||
$refDocPre=$refoc=$dateInfoPre=$dateInfo=false;
|
||||
$nbLiensInsert=$nbDirInsert=$nbRibInsert=0;
|
||||
$ligne=1;
|
||||
rewind($fp);
|
||||
|
||||
/** Traitement de la 1ère ligne **/
|
||||
$a = utf8_decode(fgets($fp, 2048));
|
||||
|
||||
while (!feof($fp))
|
||||
{
|
||||
$ajoutMailRef=false;
|
||||
/*
|
||||
$siren = trim($a[0]);
|
||||
$typeData = strtoupper(trim($a[1]));
|
||||
$codeRetour = trim($a[2]);
|
||||
$typeActe = trim($a[3]);
|
||||
$refDoc = trim($a[4]);
|
||||
*/
|
||||
$siren=$siren1 = trim(substr($a,0,9))*1;
|
||||
$typeData = strtoupper(trim(substr($a,9,1)));
|
||||
$codeRetour = trim(substr($a,10,3))*1;
|
||||
$typeActe = trim(substr($a,13,3));
|
||||
$refDoc = trim(substr($a,16,80));
|
||||
if ($siren==0) {
|
||||
$tmp=explode('-', $refDoc);
|
||||
$siren=$tmp[1];
|
||||
/*
|
||||
if (substr($refDoc,4,1)=='_') $pageAc='greffe_bilans';
|
||||
elseif (substr($refDoc,2,1)=='-') $pageAc='greffe_actes';
|
||||
$tabTmp=$iDb2->select('fedaso', 'siren', "page='$pageAc' AND params='$refDoc'", false, MYSQL_ASSOC);
|
||||
if ($tabTmp[0]['siren']>0) $siren=$tabTmp[0]['siren'];
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren vide dans $refDoc remplacé par $siren !".EOL;*/
|
||||
if ($siren==0 || !$iInsee->valideSiren($siren))
|
||||
die(date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren $siren invalide dans $refDoc !".EOL);
|
||||
}
|
||||
$entrep=@$iInsee->getIdentiteEntreprise($siren);
|
||||
$typePresta = strtoupper(trim(substr($a,96,1)));
|
||||
|
||||
/** @todo Tester les codes retour **/
|
||||
switch ($codeRetour) {
|
||||
case 100: // Document illisible
|
||||
case 101: // Document partiellement lisible
|
||||
case 102: // Document inattendu
|
||||
case 103: // Page blanche
|
||||
case 104: // Fichier absent
|
||||
case 105: // Page partiellement scannée
|
||||
case 106: // Document complémentaire concernant une autre société
|
||||
case 107: // Page(s) manquante(s)
|
||||
case 108: // Document(s) non Francophone
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Code retour n°$codeRetour sur $siren ($typeData) !".EOL;
|
||||
continue;
|
||||
break;
|
||||
case 200: // Aucune information dirigeants
|
||||
case 210: // Aucune information actionnaire
|
||||
case 211: // Aucune information capitalistique
|
||||
case 220: // Aucune information RIB
|
||||
case 251: // Raison Sociale en double : entête retenue
|
||||
case 252: // Raison Sociale en double : entête non retenue
|
||||
echo date ('Y/m/d - H:i:s')." - ATTENTION fichier $nomFichier, ligne $ligne à priori vide (Vérifier si fedaso gère bien ces codes) !".EOL;
|
||||
break;
|
||||
case 201: // Code fonction inexistant
|
||||
case 221: // Code guichet inconnu
|
||||
case 250: // Raison Sociale absente
|
||||
case 300: // Code pays absent du réferentiel
|
||||
case 301: // Code devise absent du référentiel
|
||||
$ajoutMailRef=true;
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
default:
|
||||
$message="ERREUR fichier $nomFichier, ligne $ligne : Code retour Fedaso inconnu '$codeRetour' pour le document $refDoc dans le fichier $nomFichier";
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Erreur code retour '$codeRetour' inconnu", $message);
|
||||
echo date ('Y/m/d - H:i:s')." - $message".EOL;
|
||||
die();
|
||||
break;
|
||||
}
|
||||
// Récupération de la date du document
|
||||
$tmp=@explode('-', $refDoc);
|
||||
$dateDoc=@$tmp[3]*1;
|
||||
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
|
||||
$refBase=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
|
||||
|
||||
$tabTypeActes[$refDoc][]=$typeActe;
|
||||
$tabInsert=array();
|
||||
$table='';
|
||||
|
||||
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (deb)".EOL;
|
||||
|
||||
switch ($typeData) {
|
||||
case 'R': // ligne de RIB
|
||||
$rib=array();
|
||||
$rib['codeBanque'] = trim(substr($a, 97, 5))*1;
|
||||
$rib['codeGuichet'] = trim(substr($a,102, 5))*1;
|
||||
$rib['numCompte'] = trim(substr($a,107,11));
|
||||
$rib['clefRib'] = trim(substr($a,118, 2))*1;
|
||||
$rib['libBanque'] = strtoupper(trim(substr($a,120,40)));
|
||||
$rib['libGuichet'] = strtoupper(trim(substr($a,160,40)));
|
||||
$rib['dateInfo'] = trim(substr($a,200, 8))*1;
|
||||
$rib['dateDispo'] = trim(substr($a,208,14))*1;
|
||||
$rib['dateSaisie'] = trim(substr($a,222,14))*1;
|
||||
$rib['refDoc'] = $refBase;
|
||||
|
||||
if ($rib['codeBanque']<>0 || $rib['codeGuichet']<>0 || $rib['numCompte']<>'' || $rib['clefRib']<>0 ||
|
||||
$rib['libBanque']<>'' || $rib['libGuichet']<>'' ) {
|
||||
$table='fedRib';
|
||||
$rib['siren'] = $siren;
|
||||
$rib['source'] = 1500;
|
||||
$rib['codeRetour']=$codeRetour;
|
||||
$tabInsert=$rib;
|
||||
@$tabTypeData[$refDoc][$typeData]++;
|
||||
|
||||
if ($ajoutMailRef) {
|
||||
$mailReferentiel[]="Document $refDoc : Code Banque ou Guichet inconnu ". $rib['libBanque'].' ('.$rib['codeBanque'].') - '.$rib['libGuichet'].' ('.$rib['codeGuichet'].')';
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'D': // Ligne de Dirigeants
|
||||
|
||||
$dir=array();
|
||||
$dir['siren'] = $siren;
|
||||
$dir['raisonSociale']= strtoupper( trim(substr($a, 100,255)));
|
||||
$dir['dateInfo'] = strtoupper( trim(substr($a,1019, 8)))*1;
|
||||
$dir['source'] = 1500;
|
||||
$dir['refDoc'] = $refBase;
|
||||
if ($dir['dateInfo']==0) {
|
||||
$dir['dateInfo']=$dateDoc;
|
||||
}
|
||||
if ($dir['raisonSociale']<>'')
|
||||
if (!$iDb2->insert('capitalActions', $dir))
|
||||
if (!$iDb2->update('capitalActions', $dir, "siren=$siren AND (dateInfo='".$dir['dateInfo']."' OR refDoc='$refBase')"))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - Insertion impossible sur 'capitalAction' : ". mysql_error().EOL;
|
||||
|
||||
$dir['actif'] = trim(substr($a, 97, 1));
|
||||
if ($dir['actif']=='')
|
||||
$dir['actif']='-1';
|
||||
$dir['typeDir'] = strtoupper( trim(substr($a, 98, 2)));
|
||||
$dir['dirSiren']=$siren2= trim(substr($a, 355, 9));
|
||||
$dir['dirSirenValide']=0;
|
||||
if ($dir['typeDir']=='PM') {
|
||||
if ($siren2<>0 && $iInsee->valideSiren($siren2))
|
||||
$dir['dirSirenValide']=1;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des dirigeants $codeRetour sur $siren/$siren2 ($typeData) !".EOL;
|
||||
}
|
||||
|
||||
$dir['dirRS'] = strtoupper( trim(substr($a, 364,255)));
|
||||
$dir['civilite'] = strtoupper( trim(substr($a, 619, 3)));
|
||||
$dir['nom'] = strtoupper( trim(substr($a, 622, 60)));
|
||||
$dir['prenom'] = strtoupper( trim(substr($a, 682, 40)));
|
||||
$dir['naissance_nom']= strtoupper( trim(substr($a, 722, 60)));
|
||||
$dir['naissance_date']= trim(substr($a, 782, 8))*1;
|
||||
$dir['naissance_dept_pays']=strtoupper(trim(substr($a,790,3)));
|
||||
$dir['naissance_lieu']= strtoupper( trim(substr($a, 793, 40)));
|
||||
$dir['nat'] = strtoupper( trim(substr($a, 833, 3)));
|
||||
$dir['adresse_num'] = trim(substr($a, 836, 4))*1;
|
||||
$dir['adresse_btq'] = strtoupper( trim(substr($a, 840, 1)));
|
||||
$dir['adresse_codvoie']=strtoupper( trim(substr($a, 841, 4)));
|
||||
$dir['adresse_libvoie']=strtoupper( trim(substr($a, 845, 32)));
|
||||
$dir['adresse_comp']= strtoupper( trim(substr($a, 877, 40)));
|
||||
$dir['adresse_cp'] = strtoupper( trim(substr($a, 917, 5)));
|
||||
$dir['adresse_ville']= strtoupper( trim(substr($a, 922, 40)));
|
||||
$dir['adresse_pays']= strtoupper( trim(substr($a, 962, 3)));
|
||||
if ($ajoutMailRef && $codeRetour==300)
|
||||
$mailReferentiel[]="Document $refDoc : Code pays '".$dir['adresse_pays']."' ou nationalité '".$dir['nat']."'inconnu !";
|
||||
|
||||
$dir['fonction_code']= strtoupper( trim(substr($a, 965, 4)))*1;
|
||||
$dir['fonction_lib']= strtoupper( trim(substr($a, 969, 50)));
|
||||
if ($dir['fonction_code']==0 && $dir['fonction_lib']<>'')
|
||||
$mailReferentiel[]="Document $refDoc : Code Fonction dirigeant inexistant '". $dir['fonction_lib']."'";
|
||||
$dir['dateDispo'] = strtoupper( trim(substr($a,1027, 14)))*1;
|
||||
$dir['dateSaisie'] = strtoupper( trim(substr($a,1041, 14)))*1;
|
||||
$dir['codeRetour'] = $codeRetour;
|
||||
|
||||
if ($codeRetour==200) {
|
||||
$table='';
|
||||
} else {
|
||||
@$tabTypeData[$refDoc][$typeData]++;
|
||||
$tabInsert=$dir;
|
||||
$table='fedDirigeants';
|
||||
}
|
||||
|
||||
break;
|
||||
case 'L': // lien
|
||||
case 'A': // lien Actionnaires
|
||||
case 'P': // lien Participations
|
||||
case 'F': // lien Fusion Absorbant
|
||||
case 'E': // ligne de lien Fusion Absorbée
|
||||
case 'S': // ligne de lien Scission
|
||||
$lien=array();
|
||||
$pct=0;
|
||||
$lien['capital'] = trim(substr($a, 97, 15))*1;
|
||||
$lien['deviseCapital'] = strtoupper( trim(substr($a, 112, 3)));
|
||||
$lien['nbActions'] = trim(substr($a, 115, 15))*1;
|
||||
if ($ajoutMailRef && $codeRetour==301)
|
||||
$mailReferentiel[]="Document $refDoc : Code devise inconnu ". $lien['deviseCapital'];
|
||||
|
||||
if ($lien['nbActions']<>0 && $lien['capital']<>0)
|
||||
$lien['actionNominale'] = $lien['capital']/$lien['nbActions'];
|
||||
|
||||
if ($lien['capital']<>0 || $lien['deviseCapital']<>'' || $lien['nbActions']<>0) {
|
||||
$lien['siren'] = $siren;
|
||||
$lien['source'] = 1500;
|
||||
$lien['refDoc'] = $refBase;
|
||||
$lien['dateInfo'] = trim(substr($a, 631, 8))*1; // A voir mais la date du doc n'est pas la date de signature
|
||||
$lien['dateSaisie'] = trim(substr($a, 782, 14))*1;
|
||||
|
||||
if ($lien['dateInfo']==0) {
|
||||
$lien['dateInfo']=$dateDoc;
|
||||
}
|
||||
|
||||
if (!$iDb2->insert('capitalActions', $lien))
|
||||
if (!$iDb2->update('capitalActions', $lien, "siren=$siren AND (dateInfo='".$lien['dateInfo']."' OR refDoc='$refBase')"))
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - Insertion impossible sur 'capitalAction' : ". mysql_error().EOL;
|
||||
|
||||
}
|
||||
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (capital)".EOL;
|
||||
|
||||
$lien['actif'] = trim(substr($a, 130, 1));
|
||||
if ($lien['actif']=='')
|
||||
$lien['actif']=1;//'NULL';
|
||||
$lien['lienPct'] = trim(substr($a, 131, 6))*1;
|
||||
$lien['lienNbActions'] = trim(substr($a, 137, 15))*1;
|
||||
$lien['lienMontant'] = trim(substr($a, 152, 15))*1;
|
||||
if ($lien['capital']>0) {
|
||||
if ($lien['lienPct']>0)
|
||||
$pct=$lien['lienPct'];
|
||||
elseif ($lien['lienMontant']>0) {
|
||||
$pct=($lien['lienMontant']/$lien['capital'])*100;
|
||||
$lien['lienPct']=$pct;
|
||||
}
|
||||
} elseif($lien['lienNbActions']>0 && $lien['nbActions']) {
|
||||
$pct=($lien['lienNbActions']/$lien['nbActions'])*100;
|
||||
$lien['lienPct']=$pct;
|
||||
}
|
||||
$lien['MajMin'] = strtoupper( trim(substr($a, 167, 1)));
|
||||
if ($pct>50 && $lien['MajMin']<>'+')
|
||||
$lien['MajMin']='+';
|
||||
$lien['PpPm'] = strtoupper( trim(substr($a, 168, 2)));
|
||||
$lien['siren2']=$siren2 = trim(substr($a, 170, 9))*1;
|
||||
$lien['RS'] = strtoupper( trim(substr($a, 179,255)));
|
||||
$lien['nom'] = strtoupper( trim(substr($a, 434, 40)));
|
||||
$lien['prenom'] = strtoupper( trim(substr($a, 474, 40)));
|
||||
$lien['siren2Valide']=0;
|
||||
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (".$lien['PpPm']." 1)".EOL;
|
||||
|
||||
if ($lien['PpPm']=='PM') {
|
||||
if ($siren2<>0 && $iInsee->valideSiren($siren2))
|
||||
$lien['siren2Valide']=1;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des actionnaires/participations $codeRetour sur $siren/$siren2 ($typeData) !".EOL;
|
||||
}
|
||||
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (".$lien['PpPm']." 2)".EOL;
|
||||
$lien['civilite'] = strtoupper( trim(substr($a, 514, 3)));
|
||||
$lien['naissance_nom'] = strtoupper( trim(substr($a, 517, 60)));
|
||||
$lien['naissance_date'] = strtoupper( trim(substr($a, 577, 8)));
|
||||
$lien['naissance_dept_pays']= strtoupper( trim(substr($a, 585, 3)));
|
||||
$lien['naissance_lieu'] = strtoupper( trim(substr($a, 588, 40)));
|
||||
$lien['nat'] = strtoupper( trim(substr($a, 628, 3)));
|
||||
$lien['adresse_num'] = strtoupper( trim(substr($a, 639, 4)));
|
||||
$lien['adresse_btq'] = strtoupper( trim(substr($a, 643, 1)));
|
||||
$lien['adresse_codvoie'] = strtoupper( trim(substr($a, 644, 4)));
|
||||
$lien['adresse_libvoie'] = strtoupper( trim(substr($a, 648, 32)));
|
||||
$lien['adresse_comp'] = strtoupper( trim(substr($a, 680, 40)));
|
||||
$lien['adresse_cp'] = strtoupper( trim(substr($a, 720, 5)));
|
||||
$lien['adresse_ville'] = strtoupper( trim(substr($a, 725, 40)));
|
||||
$lien['adresse_pays'] = strtoupper( trim(substr($a, 765, 3)));
|
||||
//$lien['dateDepot'] = strtoupper( trim(substr($a, 768, 1)));
|
||||
$lien['typeLien']=$typeData;
|
||||
$lien['codeRetour'] = $codeRetour;
|
||||
$lien['dateInsert'] = date('YmdHis');
|
||||
$inversionActionnaire=false;
|
||||
if ($typeData=='P' || $typeData=='A') {
|
||||
if ($typeData=='A') {
|
||||
$actionPart1=2;
|
||||
$actionPart2=1;
|
||||
} elseif ($typeData=='P') {
|
||||
$actionPart1=1;
|
||||
$actionPart2=2;
|
||||
}
|
||||
if ($siren>0 && $siren2>0)
|
||||
// On vérifie qu'aucun lien fournit par un tiers + précis ne soit en base
|
||||
$ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1 IN ($siren,$siren2) OR Siren2 IN ($siren,$siren2)) AND source>1500", false, MYSQL_ASSOC);
|
||||
elseif ($siren>0 && $siren2<1000)
|
||||
$ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1=$siren OR Siren2=$siren) AND source>1500", false, MYSQL_ASSOC);
|
||||
|
||||
if ($ret[0]['nb']==0) {
|
||||
if ($lien['adresse_pays']<>'' && $lien['adresse_pays']<>'FRA')
|
||||
$pays=$lien['adresse_pays'];
|
||||
else $pays='';
|
||||
$rs1=trim(preg_replace('/ +/', ' ', $lien['RS']));
|
||||
if ($pct>50 && $lien['MajMin']<>'+') $lien['MajMin']='+';
|
||||
elseif ($pct<50 && $lien['MajMin']=='') $lien['MajMin']='-';
|
||||
|
||||
if ($rs1=='') {
|
||||
$rs1=trim(preg_replace('/ +/', ' ', $lien['civilite'].' '.$lien['nom'].' '.$lien['prenom']));
|
||||
if ($lien['naissance_nom']<>'') $rs1.=' '.trim(preg_replace('/ +/', ' ', 'né(e) '.$lien['naissance_nom']));
|
||||
if ($typeData=='A') {
|
||||
// On force le lien $siren est détenu par $rs1
|
||||
$actionPart1=1;
|
||||
$inversionActionnaire=true;
|
||||
}
|
||||
}
|
||||
|
||||
$tabInsertLiens1=array( 'Siren1' => $siren,
|
||||
'actif' => $lien['actif']*1,
|
||||
'source' => 1500,
|
||||
'ActionPart'=> $actionPart1,
|
||||
'Pmin' => round($pct,2),
|
||||
'Pmax' => round($pct,2),
|
||||
'MajMin' => $lien['MajMin'],
|
||||
'PpPm' => substr($lien['PpPm'],1,1), // P ou M
|
||||
'Siren2' => $siren2,
|
||||
|
||||
'RaisonSociale'=>$rs1,
|
||||
'Pays' => $pays,
|
||||
'dateLien' => $lien['dateInfo'],
|
||||
'dateInsert'=> date('YmdHis'),
|
||||
);
|
||||
if (substr($entrep['FJ'],0,1)*1<>1) $pppm2='M';
|
||||
else $pppm2='P';
|
||||
$rs2=$entrep['Nom'];
|
||||
$pays2=trim($entrep['Pays']);
|
||||
$tabInsertLiens2=array( 'Siren1' => $siren2,
|
||||
'actif' => $lien['actif']*1,
|
||||
'source' => 1500,
|
||||
'ActionPart'=> $actionPart2,
|
||||
'Pmin' => round($pct,2),
|
||||
'Pmax' => round($pct,2),
|
||||
'MajMin' => $lien['MajMin'],
|
||||
'PpPm' => $pppm2, // P ou M
|
||||
'Siren2' => $siren,
|
||||
'RaisonSociale'=>$rs2,
|
||||
'Pays' => $pays2,
|
||||
'dateLien' => $lien['dateInfo'],
|
||||
'dateInsert'=> date('YmdHis'),
|
||||
);
|
||||
if ($iDb->insert('liens', $tabInsertLiens1))
|
||||
$nbLiensInsert++;
|
||||
else {
|
||||
print_r($tabInsertLiens1);
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - Insertion impossible sur 'jo.liens' 1 : ". mysql_error().EOL;
|
||||
}
|
||||
if ($siren>0 && $siren2>1000) {
|
||||
if($iDb->insert('liens', $tabInsertLiens2))
|
||||
$nbLiensInsert++;
|
||||
else {
|
||||
print_r($tabInsertLiens2);
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - Insertion impossible sur 'jo.liens' 2 : ". mysql_error().EOL;
|
||||
}
|
||||
}
|
||||
$lien['lienPublie']=1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($codeRetour==210) {
|
||||
$table='';
|
||||
} else {
|
||||
@$tabTypeData[$refDoc][$typeData]++;
|
||||
$tabInsert=$lien;
|
||||
$table='fedLiens';
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : TypeData '$typeData' inconnu !".EOL;
|
||||
break;
|
||||
}
|
||||
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (FIN)".EOL;
|
||||
|
||||
if ($table<>'') {
|
||||
if (!$iDb2->insert($table, $tabInsert) && mysql_errno()<>1062)
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - Insertion impossible sur '$table' : ". mysql_error().EOL;
|
||||
else {
|
||||
if ($table=='fedDirigeants') $nbDirInsert++;
|
||||
elseif ($table=='fedRib') $nbRibInsert++;
|
||||
}
|
||||
}
|
||||
|
||||
/** Contôle des informations **/
|
||||
if ($table=='fedLiens') {
|
||||
$refDoc=$lien['refDoc'];
|
||||
$dateInfo=$lien['dateInfo'];
|
||||
$entete="$nomFichier\t$ligne\t$siren1\t$refDoc\t$typeData\t";
|
||||
|
||||
if ($inversionActionnaire) {
|
||||
$ligneDiff="$entete.inversion Actionnaire et non Participation\t$rs1";
|
||||
$msgDiff[]=$ligneDiff;
|
||||
echo $ligneDiff.EOL;
|
||||
}
|
||||
|
||||
if ($lien['nbActions']>$lien['capital']) {
|
||||
$ligneDiff="$entete.nbActions capital incohérentes\t".$lien['nbActions'];
|
||||
$msgDiff[]=$ligneDiff;
|
||||
echo $ligneDiff.EOL;
|
||||
}
|
||||
/** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/
|
||||
$documentRecent=true;
|
||||
if ( ($refDocPre==$refDoc || $documentRecent) &&
|
||||
(round($lien['capital'])<>round($entrep['Capital']) ||
|
||||
$lien['deviseCapital']<>$entrep['CapitalDev']) ) {
|
||||
/* if ($lien['deviseCapital']=='FRF' && $entrep['CapitalDev']=='EUR'
|
||||
&& round($lien['capital']/6.55957)==round($entrep['Capital']) )
|
||||
else*/
|
||||
$ligneDiff=$entete."capital différents\t".$lien['capital'].' '.$lien['deviseCapital']."\t".$entrep['Capital'].' '.$entrep['CapitalDev'];
|
||||
$msgDiff[]=$ligneDiff;
|
||||
echo $ligneDiff.EOL;
|
||||
}
|
||||
} elseif ($table=='fedDirigeants') {
|
||||
$refDoc=$dir['refDoc'];
|
||||
$dateInfo=$dir['dateInfo'];
|
||||
$entete="$nomFichier\t$ligne\t$siren1\t$refDoc\t$typeData\t";
|
||||
if ($dir['dirSirenValide']==1 && !$iInsee->sirenExiste($dir['dirSirenValide'])) {
|
||||
$ligneDiff=$entete."dirSiren inexistant\t".$dir['dirSiren'];
|
||||
$msgDiff[]=$ligneDiff;
|
||||
echo $ligneDiff.EOL;
|
||||
}
|
||||
/** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/
|
||||
$documentRecent=true;
|
||||
if (($refDocPre==$refDoc || $documentRecent) &&
|
||||
(strtoupper($dir['raisonSociale'])<>strtoupper($entrep['Nom']))) {
|
||||
$lev = levenshtein(strtoupper($dir['raisonSociale']), strtoupper($entrep['Nom']));
|
||||
$tmoy= strlen($dir['raisonSociale'].$entrep['Nom']);
|
||||
$lt=round($lev/$tmoy,2);
|
||||
if ($lt>0.5) {
|
||||
$ligneDiff=$entete."raisonSociale différent\t".$dir['raisonSociale']."\t".$entrep['Nom'];
|
||||
$msgDiff[]=$ligneDiff;
|
||||
echo $ligneDiff.EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ligne++;
|
||||
$a = utf8_decode(fgets($fp, 2048));
|
||||
|
||||
// Variables de contrôles
|
||||
$refDocPre=$refDoc;
|
||||
$dateInfoPre=$dateInfo;
|
||||
}
|
||||
|
||||
if (bzip2($repCsvFedaso.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) {
|
||||
unlink($repCsvFedaso.$nomFichier);
|
||||
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($mailReferentiel)>0) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel));
|
||||
}
|
||||
if (count($msgDiff)>0) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Chargement des flux quotidiens", "Récapitulatif du traitement :
|
||||
- $nbLiensInsert liens ajoutés
|
||||
- $nbDirInsert dirigeants ajoutés
|
||||
- $nbRibInsert RIB ajoutés
|
||||
Liste des contrôles :".EOL.implode(EOL, $msgDiff));
|
||||
}
|
||||
|
||||
/** Enlever ce die() quand on est prêt à valider les fichiers charger **/
|
||||
//die();
|
||||
|
||||
/** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues
|
||||
**/
|
||||
foreach ($tabTypeActes as $refDoc=>$typeActes) {
|
||||
|
||||
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
|
||||
$params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
|
||||
$tmp=explode('-', $refDoc);
|
||||
$siren=$tmp[1];
|
||||
|
||||
$tabTypeData2=array();
|
||||
if (isset($tabTypeData[$refDoc]))
|
||||
foreach ($tabTypeData[$refDoc] as $typeD=>$nbD)
|
||||
$tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD));
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL;
|
||||
$typeActes=array_unique($typeActes);
|
||||
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
|
||||
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
|
||||
"siren=$siren AND params='$params'".EOL.
|
||||
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL;
|
||||
if (substr($params,0,4)*1>1950) $pageAc='greffe_bilans';
|
||||
else $pageAc='greffe_actes';
|
||||
$iDb2->insert('fedaso', array( 'siren' => $siren,
|
||||
'params' => $params,
|
||||
'page' => $pageAc,
|
||||
'dateEnvoi' => date('YmdHis'),
|
||||
));
|
||||
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
|
||||
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
|
||||
"siren=$siren AND params='$params'".EOL.
|
||||
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL;
|
||||
|
||||
} else {
|
||||
//$message.="Aucun fichier CSF à traiter !\r\n";
|
||||
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
|
||||
//if (count($argv)==1) die($strInfoScript);
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script.'. EOL;
|
||||
|
||||
?>
|
@ -1,548 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMFedaso.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$iDb=new WDB();
|
||||
$iDb2=new WDB('sdv1');
|
||||
$iInsee=new MInsee();
|
||||
$fedaso=new MFedaso();
|
||||
$iGreffes=new MGreffes();//getListeActes($siren)
|
||||
|
||||
|
||||
$tabInfosGlobal=array();
|
||||
define('FEDASO_BACKUP_DIR','/home/data/fedaso/bilans/');
|
||||
define('BILANS_A_SAISIR_DIR', '/home/data/ftp/bilansext/send');
|
||||
define('FEDASO_BILANS_TODO_DIR','/home/data/ftp/fedaso/bilans/recv');
|
||||
define('FEDASO_BILANS_DONE_DIR','/home/data/ftp/fedaso/bilans/send/');
|
||||
|
||||
$nbEnvois=200;
|
||||
$verFedasoFic='v0,6';
|
||||
$verFedasoRef='v0,14';
|
||||
|
||||
$sep=',';
|
||||
$eol=EOL;
|
||||
|
||||
$modeTest=false; // Ne pas envoyer de mails aux utilisateurs finaux de PROD
|
||||
$modeDebug=false;
|
||||
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
|
||||
$lastDepot=false; // Remettre à disposition le précédent envoi
|
||||
$chargerRetour=true; // Charger le/les retours Fedaso
|
||||
$initReferentiel=false; // Mettre à jour le référentiel des tables associées
|
||||
$tabFichierIn=$tabFichLigneCmd=array();
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Gestion des échanges avec Fedaso.
|
||||
|
||||
Options :
|
||||
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
|
||||
-l Remettre à disposition les documents du précédent envoi.
|
||||
-t Forcer la mise à jour hebdomadaire des tables associées.
|
||||
-c Charger les documents traités et retournés par Fedaso (*)
|
||||
-m Ne pas envoyer de mails en prod (mode test)
|
||||
-v Mode verbose (ou debug)
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
|
||||
-f Calculer les scores financiers
|
||||
*/
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$genereDepot=true;
|
||||
$nbEnvoisUti=substr($argv[$i],3)*1;
|
||||
if ($nbEnvoisUti>0) $nbEnvois=$nbEnvoisUti;
|
||||
if (date('N')==5) $initReferentiel=true;
|
||||
break;
|
||||
case 'r':
|
||||
$chargerRetour=true;
|
||||
break;
|
||||
case 'v':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case 'm':
|
||||
$modeTest=true;
|
||||
break;
|
||||
case 'l':
|
||||
$lastDepot=true;
|
||||
break;
|
||||
case 't':
|
||||
$initReferentiel=true;
|
||||
break;
|
||||
case '-':
|
||||
case '?':
|
||||
die($strInfoScript);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
||||
break;
|
||||
}
|
||||
} else $tabFichLigneCmd[]=$argv[$i];
|
||||
}
|
||||
|
||||
// 1: A supprimer quand Fedaso est nickel... d'ici
|
||||
if (!$modeDebug) {
|
||||
switch (''.date('d-m')) {
|
||||
case '01-01':
|
||||
case '01-05':
|
||||
case '25-12':
|
||||
die();
|
||||
break;
|
||||
default:
|
||||
if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche
|
||||
die();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$nbPdfEncours=$nbPdfInexist=0;
|
||||
|
||||
if (count($tabFichLigneCmd)==0) {
|
||||
$dh = opendir(FEDASO_BILANS_DONE_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt')
|
||||
$tabFichierIn[] = $filename;
|
||||
}
|
||||
sort($tabFichierIn);
|
||||
} else $tabFichierIn=$tabFichLigneCmd;
|
||||
|
||||
// Lecture du dossier des dépots de bilans à demander en saisie
|
||||
if ($genereDepot) {
|
||||
$nbEncours=0;
|
||||
$dh = opendir(BILANS_A_SAISIR_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.pdf') {
|
||||
$filename2=str_replace('.pdf','',$filename);
|
||||
$tabTmp=explode('_', str_replace('BS','',$filename2));
|
||||
$siren = $tabTmp[0];
|
||||
$dateClot= $tabTmp[1];
|
||||
$dureeClot=$tabTmp[2];
|
||||
$conf = $tabTmp[3];
|
||||
$idUti = $tabTmp[4];
|
||||
$idBddExt=@$tabTmp[5];
|
||||
$env = ''.@$tabTmp[6];
|
||||
$dateFic=date('YmdHis', filectime(BILANS_A_SAISIR_DIR.'/'.$filename));
|
||||
$tabPdf=getPdfInfo(BILANS_A_SAISIR_DIR.'/'.$filename);
|
||||
if ($tabPdf) {
|
||||
$pdfSize= $tabPdf['pdfSize'];
|
||||
$pdfVer = $tabPdf['version'];
|
||||
$pdfPage= $tabPdf['nbPages'];
|
||||
}
|
||||
$sizeKo=round($pdfSize/1024,1);
|
||||
echo "$filename\t$sizeKo Ko\t$pdfPage page(s)\t";
|
||||
|
||||
if (!$iInsee->valideSiren($siren)) echo 'KO siren invalide'.EOL;
|
||||
|
||||
if(!$iDb2->insert('fedaso_bilans',array('siren' => $siren,
|
||||
'dateCloture' => $dateClot,
|
||||
'duree' => $dureeClot,
|
||||
'confidentiel' => $conf,
|
||||
'idUtilisateur' => $idUti,
|
||||
'idExtranet' => $idBddExt,
|
||||
'environnement' => $env,
|
||||
'refDoc' => $filename,
|
||||
'dateEntree' => $dateFic,
|
||||
'dateEnvoi' => date('YmdHis'),
|
||||
'pdfNum' => $nbEncours,
|
||||
'pdfSize' => $pdfSize,
|
||||
'pdfPage' => $pdfPage,
|
||||
))) {
|
||||
echo 'KO bdd'.mysql_error().EOL;
|
||||
} else {
|
||||
$nbEncours++;
|
||||
bzip2(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BACKUP_DIR.$filename);
|
||||
//move(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BILANS_TODO_DIR.'/'.$filename);
|
||||
echo 'Ok'.EOL;
|
||||
|
||||
$tabIdentite=@$iInsee->getIdentiteLight($siren);
|
||||
$sirenAff=implode(' ', str_split($siren,3));
|
||||
$rs=substr($tabIdentite['Nom'],0,30).'...';
|
||||
|
||||
$message="Merci de procéder dès que possible à la saisie du bilan PDF de $pdfPage pages pour la société suivante :\r\n";
|
||||
$message.="\r\n";
|
||||
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
|
||||
// Durée de l'exercice
|
||||
if ($dureeClot*1>0) $strDuree=" (durée : $dureeClot mois)";
|
||||
else $strDuree='';
|
||||
|
||||
$message.='Date de clôture : '. WDate::dateT('Ymd','d/m/Y',$dateClot)."$strDuree\r\n";
|
||||
//if ($typeBilan<>'') $message.="Format de liasse : $liasse\r\n";
|
||||
$message.="\r\n";
|
||||
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
|
||||
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
|
||||
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
|
||||
$message.="\r\n";
|
||||
$message.="Document "; if ($conf<>1) $message.="non "; $message.="confidentiel\r\n";
|
||||
$message.="Fichier $filename du ". WDate::dateT('Ymd','d/m/Y',$dateFic)."\r\n";
|
||||
$message.="Nombre de pages : $pdfPage pages (".round($pdfSize/1000,1)." Ko)\r\n";
|
||||
$message.="Utilisateur n°$idUti\r\n";
|
||||
$message.="Extranet n°$idBddExt\r\n";
|
||||
$message.="\r\n";
|
||||
if ($pdfPage*1>10) $message.="Le document étant volumineux, pensez à saisir les actionnaires et participations (généralement mentionnés dans les annexes 17 et 18) !\r\n";
|
||||
// if ($env==1) $message.="CECI EST UN TEST, MERCI DE NE PAS SAISIR LE DOCUMENT\r\n";
|
||||
$message.="\r\n";
|
||||
$message.="https://tville.scores-decisions.com/boffice/sirenbod/bilans.php?type=SAIS&ctrl=0\r\n";
|
||||
|
||||
sendMail('production@scores-decisions.com', 'jal42@scores-decisions.com',
|
||||
"Demande de saisie du bilan $siren du ".WDate::dateT('Ymd','d/m/Y',$dateClot)." ($dureeClot mois)",
|
||||
$message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
|
||||
$messageErrCtrl=''; // Message listant les erreurs de saisie
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Bilans Fedaso.".EOL;
|
||||
$mailReferentiel=$msgDiff=array();
|
||||
for ($i=0; isset($tabFichierIn[$i]); $i++)
|
||||
{
|
||||
//IKI
|
||||
$nomFichier =$tabFichierIn[$i];
|
||||
$dateFichier=date('YmdHis', filectime(FEDASO_BILANS_DONE_DIR.$nomFichier));
|
||||
$fp=fopen(FEDASO_BILANS_DONE_DIR.$nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=0; // Nombre de ligne du fichier
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp));
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes bilans à traiter) !".EOL;
|
||||
|
||||
|
||||
$refDocPre=$refoc=$dateInfoPre=$dateInfo=false;
|
||||
$ligne=1;
|
||||
rewind($fp);
|
||||
|
||||
/** Traitement de la 1ère ligne **/
|
||||
$a = utf8_decode(fgets($fp));
|
||||
|
||||
while (!feof($fp))
|
||||
{
|
||||
$ajoutMailRef=false;
|
||||
$a=explode(',',$a);
|
||||
|
||||
$refDoc = trim($a[0]);
|
||||
// On ignore la ligne d'entête
|
||||
if ($refDoc<>'PdfId') {
|
||||
$siren = trim($a[1])*1;
|
||||
$nic = trim($a[2])*1;
|
||||
//$typeData = strtoupper(trim(substr($a,9,1)));
|
||||
//$typeActe = trim(substr($a,13,3));
|
||||
$dateExercice = trim($a[3])*1;
|
||||
$dureeExercice = trim($a[4])*1;
|
||||
$dateExercicePre = trim($a[5])*1;
|
||||
$devise = strtoupper(trim($a[6]));
|
||||
if ($devise=='') $devise = 'EUR';
|
||||
$liasse = trim($a[7])*1;
|
||||
$typeBilan = strtoupper(trim($a[8]));
|
||||
// Liste des codes retours
|
||||
$codeRetour = trim($a[9]);
|
||||
if (preg_match('/01/', $codeRetour)) $codeSai='01';
|
||||
elseif (preg_match('/00/', $codeRetour)) $codeSai='00';
|
||||
else $codeSai=substr($codeRetour,0,2);
|
||||
$unite = strtoupper(trim($a[10]));
|
||||
// Postes du bilans
|
||||
$strPostes = trim($a[11]);
|
||||
$tabPostes=array();
|
||||
$tabTmp=explode(';',$strPostes);
|
||||
foreach ($tabTmp as $tmpPoste) {
|
||||
$tabTmp2=explode('=',$tmpPoste);
|
||||
$tabPostes[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
|
||||
// Contrôle du siren retourné par Fedaso
|
||||
if ($siren==0 || !$iInsee->valideSiren($siren)) {
|
||||
$tmp=explode('-', $refDoc);
|
||||
$siren=$tmp[1];
|
||||
if ($siren==0 || !$iInsee->valideSiren($siren)) {
|
||||
$tmp=explode('_', $refDoc);
|
||||
$siren=preg_replace('/^BS/','',$tmp[0])*1;
|
||||
}
|
||||
if ($siren==0 || !$iInsee->valideSiren($siren))
|
||||
die(date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren $siren invalide dans $refDoc !".EOL);
|
||||
}
|
||||
|
||||
$ret=$iDb->select('bilans', 'siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$siren' AND typeBilan='$typeBilan' AND dateExercice='$dateExercicePre'", true, MYSQL_ASSOC);
|
||||
if (isset($ret[0])) {
|
||||
$bilanPre=$ret[0];
|
||||
if ($bilanPre['dureeExercice']>0) $dureeExercicePre=$bilanPre['dureeExercice'];
|
||||
elseif ($bilanPre['dureeExerciceCalc']>0) $dureeExercicePre=$bilanPre['dureeExerciceCalc'];
|
||||
}
|
||||
$tabInsert=array('siren'=>$siren,
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'dateExercice'=>$dateExercice,
|
||||
'dateExercicePre'=>$dateExercicePre,
|
||||
'dureeExercice'=>$dureeExercice,
|
||||
'dureeExercicePre'=>$dureeExercicePre,
|
||||
'monnaie'=>$devise,
|
||||
'typeBilan'=>$typeBilan,
|
||||
'monnaieOrigine'=>$devise,
|
||||
'unite'=>$unite,
|
||||
'partenaire'=>19,
|
||||
'postes'=>$strPostes);
|
||||
if ($codeSai=='00' || $codeSai=='01') {
|
||||
$ret=$iDb->select('bilans', 'partenaire, siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$siren' AND typeBilan='$typeBilan' AND dateExercice='$dateExercice'", true, MYSQL_ASSOC);
|
||||
// Il y a déjà ce bilan en base ?
|
||||
if (1==0) {//isset($ret[0])) {
|
||||
/* $bilanPre=$ret[0];
|
||||
if ($bilanPre['partenaire']==7 ||
|
||||
$bilanPre['partenaire']==8 ||
|
||||
$bilanPre['partenaire']==9) {*/
|
||||
$ret=$iDb->update('bilans', $tabInsert, "siren='$siren' AND typeBilan='$typeBilan' AND dateExercice='$dateExercice'");
|
||||
$nbUpdate++;
|
||||
//} else
|
||||
// $nbNotUpdate++;
|
||||
} else {
|
||||
/** Tester sur les nouveaux bilans
|
||||
* - CA x par 10 - 100
|
||||
* - Sous-totaux
|
||||
* - Total Bilan
|
||||
**/
|
||||
if ($typeBilan=='N' || $typeBilan=='S') {
|
||||
$anoBilan=false;
|
||||
$msgBilan='';
|
||||
foreach ($tabCtrl[$typeBilan] as $ctrl=>$libCtrl) {
|
||||
$tmpCtrl=preg_split('/(\+|\-|=)/', $ctrl, null, PREG_SPLIT_DELIM_CAPTURE);
|
||||
$total=0;
|
||||
$action='+';
|
||||
$strEcho="$libCtrl :\t$ctrl";
|
||||
foreach ($tmpCtrl as $strCtrl) {
|
||||
switch($strCtrl) {
|
||||
case '+': $action='+'; break;
|
||||
case '-': $action='-'; break;
|
||||
case '=': $action='='; break;
|
||||
default:
|
||||
if ($action=='+') $total+=@$tabPostes[$strCtrl];
|
||||
elseif ($action=='-') $total-=@$tabPostes[$strCtrl];
|
||||
elseif ($action=='=') {
|
||||
if ($total>0) {
|
||||
$totalMin=($total*0.995)-ECART_CTRL_MAX;
|
||||
$totalMax=($total*1.005)+ECART_CTRL_MAX;
|
||||
} elseif ($total<0) {
|
||||
$totalMin=($total*1.005)-ECART_CTRL_MAX;
|
||||
$totalMax=($total*0.995)+ECART_CTRL_MAX;
|
||||
} else {
|
||||
$totalMin=ECART_CTRL_MAX*(-1);
|
||||
$totalMax=ECART_CTRL_MAX;
|
||||
}
|
||||
if (!((@$tabPostes[$strCtrl]*1)>=$totalMin && (@$tabPostes[$strCtrl]*1)<=$totalMax)) {
|
||||
if (!$anoBilan)
|
||||
$messageLigne="Fichier $fichier : ligne $ligne, $siren, $dateExercice - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
|
||||
else
|
||||
$messageLigne='';
|
||||
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
|
||||
echo $messageLigne;
|
||||
$messageErrCtrl.=$messageLigne;
|
||||
$msgBilan.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
|
||||
if ($codeSai=='00') $anoBilan=5;
|
||||
}
|
||||
// else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
$mBil=new MBilans($sirenPre);
|
||||
$tabBilans=@$mBil->listeBilans();
|
||||
//echo 'Liste des Bilans en base :'.EOL;
|
||||
//print_r($tabBilans);
|
||||
$tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan);
|
||||
echo "Bilan précédent datant du '$dateClP' :".EOL;
|
||||
//print_r($tabBilan);
|
||||
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL;
|
||||
//print_r($tabInsert);
|
||||
//print_r($tabPostes);
|
||||
if ($typeBilan=='N') {
|
||||
foreach ($tabCtrlInter[$typeBilan] as $ctrl=>$libCtrl) {
|
||||
$total=@$tabBilan[$ctrl]*1;
|
||||
$strEcho="PROBLEME D'UNITE ? $libCtrl :\t$ctrl";
|
||||
if ($total>0) {
|
||||
$totalMin1=($total*0.008)-ECART_CTRL_MAX;
|
||||
$totalMax1=($total*0.0012)+ECART_CTRL_MAX;
|
||||
$totalMin2=($total*800)-ECART_CTRL_MAX;
|
||||
$totalMax2=($total*1200)+ECART_CTRL_MAX;
|
||||
} elseif ($total<0) {
|
||||
$totalMin1=($total*0.0012)-ECART_CTRL_MAX;
|
||||
$totalMax1=($total*0.008)+ECART_CTRL_MAX;
|
||||
$totalMin2=($total*1200)-ECART_CTRL_MAX;
|
||||
$totalMax2=($total*800)+ECART_CTRL_MAX;
|
||||
} else {
|
||||
$totalMin1=$totalMin2=false;//ECART_CTRL_MAX*(-1);
|
||||
$totalMax1=$totalMax2=false;//ECART_CTRL_MAX;
|
||||
}
|
||||
if (isset($tabBilan[$ctrl]) && // Il y a un poste
|
||||
!$totalMin1 && // Des seuils min
|
||||
!$totalMin2 && // ... et max
|
||||
!((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) {
|
||||
if (!$anoBilan)
|
||||
$messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
|
||||
else
|
||||
$messageLigne='';
|
||||
$messageLigne.="$strEcho (saisi en N ".@$tabPostes[$ctrl].' <> '.$total." présent en N-1 $dateClP)".EOL;
|
||||
echo $messageLigne;
|
||||
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
|
||||
if ($codeSai=='00') $anoBilan=true;
|
||||
//die();
|
||||
}
|
||||
}
|
||||
}
|
||||
// die();
|
||||
*/
|
||||
$ret=$iDb->insert('bilans', $tabInsert);
|
||||
$nbInsert++;
|
||||
print_r($tabInsert);
|
||||
//die();
|
||||
}
|
||||
} else
|
||||
print_r($tabInsert);
|
||||
|
||||
/** Mise à jour des informations de saisie **/
|
||||
$nbPostes=count($tabPostes);
|
||||
$tabUpdate=array( 'retNic' => $nic,
|
||||
'retDateClot' => $dateExercice,
|
||||
'retDuree' => $dureeExercice,
|
||||
'retDatePre' => $dateExercicePre,
|
||||
'retDevise' => $devise,
|
||||
'retLiasse' => $liasse,
|
||||
'retTypeBilan' => $typeBilan,
|
||||
'retUnite' => $unite,
|
||||
'retNbPostes' => $nbPostes,
|
||||
'retPostes' => $strPostes,
|
||||
'codeRetour' => $codeRetour,
|
||||
'dateRetour' => $dateFichier,
|
||||
'dateChargement'=> date('YmdHis'),
|
||||
'retAnoSaisie' => $anoBilan,
|
||||
'retAnoListes' => $msgBilan,
|
||||
);
|
||||
$iDb2->update('fedaso_bilans', $tabUpdate, "refDoc='$refDoc'");
|
||||
|
||||
/** Envoi du mail à l'utilisateur final **/
|
||||
$filename2=str_replace('.pdf','',$refDoc);
|
||||
$tabTmp=explode('_', $filename2);
|
||||
$siren = preg_replace('/^BS/','',$tabTmp[0])*1;
|
||||
$dateClot= $tabTmp[1];
|
||||
$idUti = $tabTmp[4];
|
||||
$rep=$iDb2->select('utilisateurs', 'id, idClient, login, email, actif, nom, prenom, referenceParDefaut', "id='$idUti'", true, MYSQL_ASSOC);
|
||||
$emailEnvoi=$rep[0]['email'];
|
||||
$tabIdentite=@$iInsee->getIdentiteLight($siren);
|
||||
$sirenAff=implode(' ', str_split($siren,3));
|
||||
$rs=substr($tabIdentite['Nom'],0,30).'...';
|
||||
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
|
||||
// Durée de l'exercice
|
||||
if ($dureeExercice*1>0) $strDuree=" (durée : $dureeExercice mois)";
|
||||
else $strDuree='';
|
||||
|
||||
$message.='Date de clôture : '. WDate::dateT('Ymd','d/m/Y',$dateExercice)."$strDuree\r\n";
|
||||
if ($typeBilan<>'') $message.="Format de liasse : $liasse\r\n";
|
||||
$message.="\r\n";
|
||||
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
|
||||
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
|
||||
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
|
||||
$message.="\r\n";
|
||||
|
||||
$message.="NOS SERVICES ONT EFFECTUE LA SAISIE DU BILAN POUR CETTE ENTREPRISE\r\n";
|
||||
|
||||
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
|
||||
@sendMail('prod@scores-decisions.com', $emailEnvoi, "Saisie de Bilan $sirenAff : $rs", $message);
|
||||
@sendMail('prod@scores-decisions.com', 'ylenaour@scores-decisions.com', "Saisie de Bilan $sirenAff : $rs", $message.EOL.EOL."--------------------------------------------------".EOL."Ce mail a été envoyé à $emailEnvoi.");
|
||||
|
||||
// Comptage des retours par codes saisies
|
||||
@$tabNbCodeRet['_'.$codeSai]++;
|
||||
}
|
||||
$ligne++;
|
||||
$a = utf8_decode(fgets($fp));
|
||||
|
||||
// Variables de contrôles
|
||||
$refDocPre=$refDoc;
|
||||
$dateInfoPre=$dateInfo;
|
||||
}
|
||||
|
||||
if (bzip2(FEDASO_BILANS_DONE_DIR.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) {
|
||||
unlink(FEDASO_BILANS_DONE_DIR.$nomFichier);
|
||||
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (count($mailReferentiel)>0) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel));
|
||||
}
|
||||
if (count($msgDiff)>0) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Liste des c'ontrôles", implode(EOL, $msgDiff));
|
||||
}
|
||||
|
||||
/** Enlever ce die() quand on est prêt à valider les fichiers charger **/
|
||||
//die();
|
||||
|
||||
/** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues
|
||||
**/
|
||||
/*
|
||||
foreach ($tabTypeActes as $refDoc=>$typeActes) {
|
||||
|
||||
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
|
||||
$params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
|
||||
$tmp=explode('-', $refDoc);
|
||||
$siren=$tmp[1];
|
||||
|
||||
$tabTypeData2=array();
|
||||
if (isset($tabTypeData[$refDoc]))
|
||||
foreach ($tabTypeData[$refDoc] as $typeD=>$nbD)
|
||||
$tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD));
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL;
|
||||
$typeActes=array_unique($typeActes);
|
||||
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
|
||||
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
|
||||
"siren=$siren AND params='$params'".EOL.
|
||||
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL;
|
||||
if (substr($params,0,4)*1>1950) $pageAc='greffe_bilans';
|
||||
else $pageAc='greffe_actes';
|
||||
$iDb2->insert('fedaso', array( 'siren' => $siren,
|
||||
'params' => $params,
|
||||
'page' => $pageAc,
|
||||
'dateEnvoi' => date('YmdHis'),
|
||||
));
|
||||
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
|
||||
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
|
||||
"siren=$siren AND params='$params'".EOL.
|
||||
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL;
|
||||
|
||||
} else {
|
||||
//$message.="Aucun fichier CSF à traiter !\r\n";
|
||||
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
|
||||
//if (count($argv)==1) die($strInfoScript);
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script.'. EOL;
|
||||
|
||||
?>
|
@ -1,141 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# Utilitaire pour Pure-FTP
|
||||
# PureFTPadmin v1.0 Feb 05 2003 written by : SkazeR <skazer_bop@yahoo.fr>
|
||||
# this script is free software according to the GNU General Public License (see http://www.gnu.org/licenses/gpl.html)
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Configuration :
|
||||
# adaptez cette ligne selon votre installation
|
||||
PASSWDFILE=/etc/pureftpd.passwd
|
||||
# adaptez selon les parametres que vous avez choisis pour votre serveur (laissez
|
||||
# les guillemets)
|
||||
PUREFTPCONF="/usr/local/sbin/pure-ftpd -B -1 -K -A -c 5 -C 1 -E -r -w -l puredb:/etc/pure-ftpd/pureftpd.pdb &"
|
||||
# Adaptez selon l'UID de l'utilisateur userftp et le GID du groupe ftp groupe
|
||||
# sur votre PC
|
||||
NUMIDDEFTPUSER=501
|
||||
NUMIDDEFTPGROUP=501
|
||||
# répertoire chrooté des users créés
|
||||
PATHACCES=/Download/Download/ftp/
|
||||
#Fin de la configuration
|
||||
################################################################################
|
||||
|
||||
CHOIX=0
|
||||
clear
|
||||
|
||||
echo -e "\n\t\t\t***********************\n\t\t\t* Gestion de Pure-FTP *\n\t\t\t***********************\n"
|
||||
|
||||
while [ $CHOIX != 9 ]; do
|
||||
|
||||
echo -e "\t\t\tChoix possibles:\n\t\t1: Ajouter un utilisateur virtuel.\n\t\t2: Effacer un utilisateur virtuel.\n\t\t3: Voir les droits d'un utilisateur.\n\t\t4: Lister les utilisateurs.\n\t\t5: Changer le passwd d'un utilisateur.\n\t\t6: Voir les connections actives du serveur.\n\t\t7: Démarrer le serveur.\n\t\t8: Tuer le serveur.\n\t\t9: Quitter.\n\nTapez l'entier correspondant a votre choix:"
|
||||
read CHOIX
|
||||
echo ""
|
||||
|
||||
case $CHOIX in
|
||||
1)
|
||||
echo "Entrez le login à ajouter: "
|
||||
read NICK
|
||||
if [ "$NICK" = "" ];then
|
||||
echo -e "Erreur, veuillez indiquer un login!\n"
|
||||
else
|
||||
if [ $NICK = root ];then
|
||||
echo -e "Erreur, veuillez indiquer un login différent de root!\n"
|
||||
else
|
||||
if grep $NICK $PASSWDFILE > /dev/null
|
||||
then
|
||||
echo -e "$NICK a déjà un compte\n"
|
||||
else
|
||||
pure-pw useradd $NICK -u $NUMIDDEFTPUSER -g $NUMIDDEFTPGROUP -d $PATHACCES
|
||||
echo -e "Utilisateur virtuel $NICK ajouté!\n"
|
||||
pure-pw mkdb
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
echo "Entrez le login à effacer: "
|
||||
read NICK
|
||||
if [ "$NICK" = "" ];then
|
||||
echo -e "Erreur, veuillez indiquer un login!\n"
|
||||
else
|
||||
if grep $NICK $PASSWDFILE > /dev/null
|
||||
then
|
||||
pure-pw userdel $NICK
|
||||
echo -e "Utilisateur virtuel $NICK supprimé!\n"
|
||||
pure-pw mkdb
|
||||
else
|
||||
echo -e "L'utilisateur $NICK n'existe pas!\n"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
echo "Entrez le login dont vous voulez vérifier les droits: "
|
||||
read NICK
|
||||
if [ "$NICK" = "" ];then
|
||||
echo -e "Erreur, veuillez indiquer un login!\n"
|
||||
else
|
||||
if grep $NICK $PASSWDFILE > /dev/null
|
||||
then
|
||||
pure-pw show $NICK
|
||||
else
|
||||
echo -e "L'utilisateur $NICK n'existe pas!\n"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
4)
|
||||
echo -e "\tLogin\t\t| UID\t| GID\t| path"
|
||||
echo -e "\t----------------+-------+-------+-----------------------"
|
||||
awk 'BEGIN { FS=":" } NF==0{next} {print " "$1 " \| " $3 " \| " $4 " \| " $6}' $PASSWDFILE
|
||||
echo ""
|
||||
;;
|
||||
5)
|
||||
echo "Entrez le login dont le passwd doit changer: "
|
||||
read NICK
|
||||
if [ "$NICK" = "" ];then
|
||||
echo -e "Erreur, veuillez indiquer un login!\n"
|
||||
else
|
||||
if grep $NICK $PASSWDFILE > /dev/null
|
||||
then
|
||||
pure-pw passwd $NICK
|
||||
echo -e "Le passwd de $NICK est changé!\n"
|
||||
pure-pw mkdb
|
||||
else
|
||||
echo -e "L'utilisateur $NICK n'existe pas!\n"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
6)
|
||||
pure-ftpwho -v
|
||||
;;
|
||||
7)
|
||||
eval $PUREFTPCONF
|
||||
echo -e "Serveur FTP\t\t\t[ON]\n"
|
||||
;;
|
||||
8)
|
||||
for VAR in "`ps -A | grep pure-ftpd`"; do
|
||||
if [ pure-ftpd = "`echo $VAR | gawk -F" " '{print $4}'`" ]; then
|
||||
VAR=`echo "$VAR" | gawk -F" " '{print $1}'`
|
||||
kill -9 $VAR
|
||||
fi
|
||||
done;
|
||||
echo -e "Serveur FTP\t\t\t[OFF]\n"
|
||||
;;
|
||||
9)
|
||||
clear
|
||||
echo -e "\n\n\n\t\tA bientôt!\n"
|
||||
sleep 2
|
||||
clear
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
echo -e "Votre choix n'est pas valide!"
|
||||
CHOIX=0
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Press <Enter>"
|
||||
read UNUSED
|
||||
clear
|
||||
|
||||
done
|
4274
batch/genereEpl.php
4274
batch/genereEpl.php
File diff suppressed because one or more lines are too long
@ -1,247 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'common/controles.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$urlBase='http://www.zonebourse.com';// 593
|
||||
$url='/bourse/actions/a-9/';
|
||||
|
||||
$tabUrlZones=array( 8=> array('lib'=>'Amérique du Nord','url'=>'/bourse/actions/Amerique-du-Nord-8/',),
|
||||
10=>array('lib'=>'Amérique du Sud', 'url'=>'/bourse/actions/Amerique-du-Sud-10/',),
|
||||
3=>array('lib'=>'Europe', 'url'=>'/bourse/actions/Europe-3/',),
|
||||
4=>array('lib'=>'Afrique', 'url'=>'/bourse/actions/Afrique-4/',),
|
||||
5=>array('lib'=>'Moyen-Orient', 'url'=>'/bourse/actions/Moyen-Orient-5/',),
|
||||
6=>array('lib'=>'Asie', 'url'=>'/bourse/actions/Asie-6/',),
|
||||
7=>array('lib'=>'Océanie', 'url'=>'/bourse/actions/Oceanie-7/',),
|
||||
);
|
||||
$tabUrlPays=array();
|
||||
$pays=$zone=false;
|
||||
|
||||
function getInfosAnnonce($annonceHtml) {
|
||||
$tabRet=array();
|
||||
$tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dd><label>Société : </label><strong>', '<strong>', '</strong></dd>'))));
|
||||
$tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dd><label>ISIN : </label>', '</label>', '</dd>'), array(':'=>'',' '=>''))));
|
||||
$tabRet['docDesc']=trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>'));
|
||||
$tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00';
|
||||
$tabRet['docCategorie']=utf8_decode(strip_tags('<a href="'.trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<div class="resultat_HitGroup">', '<a href="', '</div>'))))));
|
||||
$tabRet['docTitre']=utf8_decode(trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml, '<dd><label>Titre du document : </label>', '"> ', '</a></dd>')))));
|
||||
$tabRet['docLangue']=trim(@getTextInHtml($annonceHtml, '<dd><label>Langue : </label>', '</label>', '</dd>'));
|
||||
$tabRet['pdfLink']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<a href="http://www.info-financiere.fr/', 'href="', '">'))));
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
$iPage=1; // Reprendre à la page 1
|
||||
|
||||
$tempsMinEntreRequetes=7;
|
||||
$tempsMaxEntreRequetes=21;
|
||||
$modeDebug=false;
|
||||
set_time_limit(0);
|
||||
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=$load=false;
|
||||
|
||||
$iDb=new WDB('tmp');
|
||||
$iInsee=new MInsee();
|
||||
$iBourse=new MBourse();
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les dernières annonces BOAMP sur le site de la DJO.
|
||||
|
||||
Sans aucun paramètre, récupération des dernières Annonces.
|
||||
Sinon:
|
||||
-r:XXX Reprendre à la page n°XXX
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-z(:NN) Liste des zones/Zones à traiter
|
||||
-p(:NN) Liste des pays de la zone/Pays à traiter
|
||||
-d Verbosité debug
|
||||
-c Chargement détaillé
|
||||
";/*
|
||||
-l Dernières parutions uniquement (*)
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
";*/
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $lastJO=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'r':
|
||||
$iPage=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'n':
|
||||
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
|
||||
break;
|
||||
case 'c':
|
||||
$load=true;
|
||||
break;
|
||||
case 'z':
|
||||
$zone=substr($argv[$i],3)*1;
|
||||
if ($zone==0) {
|
||||
echo 'Liste des zones :'.EOL;
|
||||
foreach ($tabUrlZones as $iZ=>$tZ) echo " - $iZ = ".$tZ['lib'].EOL;
|
||||
die();
|
||||
} else
|
||||
$url=$tabUrlZones[$zone]['url'];
|
||||
break;
|
||||
case 'p':
|
||||
$pays=substr($argv[$i],3)*1;
|
||||
//if ($pays==0) $pays=-1;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$tabZones=array('nom2'=>'<title>(.*):(?:.*)Zone bourse</title>',
|
||||
'ticker'=>'<title>(?:.*):(?:.*)\| (.*) \| (?:.*) \| Zone bourse</title>',
|
||||
'isin2'=>'<title>(?:.*):(?:.*)\| (?:.*) \| (.*) \| Zone bourse</title>',
|
||||
'isin3'=>'<title>(?:.*):(?:.*)\| (.*) \| Zone bourse</title>',
|
||||
'adr1'=>'<nobr><b>Coordonnées société</b></nobr></td></tr>(?:.*)<tr><td class="std_txt" style="padding-top:4px">(.*)<br>(?:.*)<br>(?:.*)<br><br>',
|
||||
'adr2'=>'<nobr><b>Coordonnées société</b></nobr></td></tr>(?:.*)<tr><td class="std_txt" style="padding-top:4px">(?:.*)<br>(.*)<br>(?:.*)<br><br>',
|
||||
'adr3'=>'<nobr><b>Coordonnées société</b></nobr></td></tr>(?:.*)<tr><td class="std_txt" style="padding-top:4px">(?:.*)<br>(?:.*)<br>(.*)<br><br>',
|
||||
'tel'=>'<br>Téléphone : (.*)<br>',
|
||||
'fax'=>'<br>Fax : (.*)<br>',
|
||||
'web'=>'<br>Internet : <a class="pageprofil_link_blue" href="(.*)"',
|
||||
'isin'=>'- Code Isin : </td>\s+<td align="left" style="padding-left:10px"> (.*)</td>',
|
||||
'bloomberg'=>'- Code Bloomberg : </td>\s+<td align="left" style="padding-left:10px;padding-top:5px"> (.*)</td>',
|
||||
'reuteurs'=>'- Code Reuters : </td>\s+<td align="left" style="padding-left:10px;padding-top:5px"> (.*)</td>',
|
||||
'datastream'=>'- Code Datastream : </td>\s+<td valign="top" align="left" style="padding-left:10px;padding-top:5px"> (.*)</td>',
|
||||
);
|
||||
|
||||
$tabTmp=$iDb->select('jo.tabPays','codPays,codPays3', '1', false, MYSQL_ASSOC);
|
||||
foreach($tabTmp as $i=>$tabTmp2) {
|
||||
$tabPays[$tabTmp2['codPays']]=$tabTmp2['codPays3'];
|
||||
}
|
||||
$nbRows=count($tabTmp);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows pays en base.".EOL;
|
||||
|
||||
while (true) {
|
||||
$urlCour=$urlBase.$url.'?Req=&p='.$iPage;
|
||||
$referer='';
|
||||
$page=getUrl($urlCour, '', '', $referer, false);
|
||||
$body=$page['body'];
|
||||
$referer=$urlCour;
|
||||
if ($zone>0 && $pays!==false && empty($tabUrlPays) && preg_match_all('/<div class="tabSTab4" style="(?:.*)"><a class="" href="(.*)"\s+?>(.*)<\/a><\/div>/Uis', $body, $matches)) {
|
||||
foreach($matches[1] as $i=>$url2) {
|
||||
//print_r($matches);
|
||||
if (preg_match('/\-(\d+)\/$/Uis', str_replace($url,'',$url2), $matches2)) $idPays=$matches2[1];
|
||||
//die ($idPays);
|
||||
$tabUrlPays[$idPays]=array('lib'=>html_entity_decode($matches[2][$i]),'url'=>$url2);
|
||||
}
|
||||
|
||||
if ($pays==0) {
|
||||
echo "Liste des pays de la zone $zone (".$tabUrlZones[$zone]['lib'].') :'.EOL;
|
||||
foreach ($tabUrlPays as $iZ=>$tZ) echo " - $iZ = ".$tZ['lib'].EOL;
|
||||
} else {
|
||||
$url=$tabUrlPays[$pays]['url'];
|
||||
//die($url);
|
||||
continue;
|
||||
}
|
||||
die();
|
||||
}
|
||||
|
||||
if (preg_match_all('/<tr\s+><td class="large30 center"(?:.*)<img width="16" height="16" title="(.*)" src="\/images\/png-country\/16x16\/(.*)png"><\/td>(?:.*)<a href="(.*)"(?:.*)<\/a><\/td><td class="large200 center"(?:.*)<span title="(.*)">(?:.*)<\/font><\/td><td class="large70 right pright20"(?:.*)>(.*)<\/td>(?:.*)<\/a><\/td>\s+<\/tr>/Uis', $body, $matches)) {
|
||||
// print_r($matches[0]);
|
||||
foreach($matches[2] as $iLigne=>$codePays) {
|
||||
$codePays=substr(strtoupper($codePays),0,2);
|
||||
$libPays=$matches[1][$iLigne];
|
||||
$societe=$matches[3][$iLigne];
|
||||
$activite=html_entity_decode($matches[4][$iLigne]);
|
||||
$capitalisation=str_replace(' ','',$matches[5][$iLigne]);
|
||||
$urlDetail='http://www.zonebourse.com'.$societe.'societe/';
|
||||
$ret=$iDb->select('zonebourse', 'idZb, LENGTH(html) AS htm, isin', "nom='$societe'",false);
|
||||
if (@$ret[0]['idZb']*1==0 || @$ret[0]['htm']*1==0) {
|
||||
$page2=getUrl($urlDetail, '', '', $referer, false);
|
||||
$tabInsert=@html2array($page2['body'], $tabZones);
|
||||
|
||||
$tmpNom=explode('-', str_replace('/','',$societe));
|
||||
$nbMots=count($tmpNom);
|
||||
$idZb=end($tmpNom);
|
||||
$rs='';
|
||||
foreach ($tmpNom as $iN=>$mot)
|
||||
if ($iN<$nbMots-1)
|
||||
$rs.=$mot.' ';
|
||||
$rs=trim($rs);
|
||||
|
||||
$tabInsert['ligne']=$iLigne;
|
||||
$tabInsert['page']=$iPage;
|
||||
$tabInsert['paysIso2']=$codePays;
|
||||
$tabInsert['codPays3']=$tabPays[$codePays];
|
||||
$tabInsert['paysLib']=$libPays;
|
||||
$tabInsert['idZb']=$idZb;
|
||||
$tabInsert['nom']=$societe;
|
||||
$tabInsert['raisonSociale']=$rs;
|
||||
$tabInsert['url']=$urlDetail;
|
||||
$tabInsert['activite']=$activite;
|
||||
if ($capitalisation<>'-')
|
||||
$tabInsert['capitalisation']=str_replace(',','.',$capitalisation)*1.0;
|
||||
$tabInsert['html']=$page2['body'];
|
||||
if (!isset($tabInsert['isin']) || $tabInsert['isin']=='')
|
||||
$tabInsert['isin']=@trim($tabInsert['isin2']);
|
||||
if (strlen($tabInsert['isin'])<>12)
|
||||
$tabInsert['isin']=@trim($tabInsert['isin3']);
|
||||
//print_r($tabInsert);
|
||||
//die();
|
||||
if (strlen($tabInsert['isin'])<>12)
|
||||
unset($tabInsert['isin']);
|
||||
unset($tabInsert['isin2']);
|
||||
unset($tabInsert['isin3']);
|
||||
$update=false;
|
||||
$isin=$tabInsert['isin'];
|
||||
if (!isValidIsin($isin)) die("Code ISIN $isin invalide !".EOL);
|
||||
|
||||
if (@$ret[0]['idZb']*1==0)
|
||||
echo "AJOUT $iPage\t$iLigne\t$codePays\t$isin\t$societe\t$urlDetail\t$activite\t$capitalisation".EOL;
|
||||
else {
|
||||
$update=true;
|
||||
echo "COMPL $iPage\t$iLigne\t$codePays\t$isin\t$societe\t$urlDetail\t$activite\t$capitalisation".EOL;
|
||||
}
|
||||
if (!$update) $iDb->insert('zonebourse', $tabInsert, false);
|
||||
else $iDb->update('zonebourse', $tabInsert, "nom='$societe'",false);
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
|
||||
} else {
|
||||
$isin=@$ret[0]['isin'];
|
||||
echo "Passe $iPage\t$iLigne\t$codePays\t$isin\t$societe\t$urlDetail\t$activite\t$capitalisation".EOL;
|
||||
}
|
||||
//die();
|
||||
}
|
||||
randsleep($tempsMinEntreRequetes*3, $tempsMaxEntreRequetes*3);
|
||||
}
|
||||
else break;
|
||||
$iPage++;
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Fin du traitement de récupération de tous les ISIN.".EOL;
|
||||
die();
|
||||
|
||||
?>
|
@ -1,926 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
$table='annonces';
|
||||
/*
|
||||
ALTER TABLE `annonces` ADD `inter5type` CHAR( 1 ) NOT NULL AFTER `inter4nom`,
|
||||
ADD `inter5id` SMALLINT( 5 ) UNSIGNED ZEROFILL NOT NULL AFTER `inter5type`,
|
||||
ADD `inter5nom` VARCHAR( 255 ) NOT NULL AFTER `inter5id`;
|
||||
*/
|
||||
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.'partenaires/classMGreffes.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
|
||||
define('CSF_FTP_DIR', '/home/data/ftp/creditsafe/send/');
|
||||
define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Chargement des annonces Ventes/LG provenant des évènements Insee.
|
||||
|
||||
Options :
|
||||
-j Ne pas charger les jugements INPI S&D en Amont
|
||||
-c Ne pas charger les défaillances CSF
|
||||
-d Mode debug (Verbosité au maximum)
|
||||
-i Ne pas poser de questions interactives.
|
||||
-t Charger en test (implique -j -d)
|
||||
|
||||
";
|
||||
$iDb=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
$iBodacc=new MBodacc();
|
||||
$iRncs=new MRncs();
|
||||
$iGreffe=new MGreffes();
|
||||
|
||||
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=$nbSiretRetraitement=0;
|
||||
$modeDebug=false; // Mode débug
|
||||
$questions=true; // Questions interactives autorisées
|
||||
$loadInpiLocal=true; // Charger d'abord les derniers jugements INPI IMR locaux
|
||||
$loadCSF=true; // Charger les jugements Greffes via CSF
|
||||
$tabFichier=$tabFichLigneCmd=array();
|
||||
$message=''; // Initialisation du mail d'exécution du traitement
|
||||
|
||||
$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 'i': $questions=false; break;
|
||||
case 'j': $loadInpiLocal=false; break;
|
||||
case 'c': $loadCSF=false; break;
|
||||
case 't': $table='annonces2';
|
||||
$modeDebug=$questions=true;
|
||||
$loadInpiLocal=false;
|
||||
break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichLigneCmd[]=$argv[$i];
|
||||
}
|
||||
|
||||
if (count($tabFichLigneCmd)==0) {
|
||||
$dh = opendir(CSF_FTP_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.csv')
|
||||
$tabFichier[] = $filename;
|
||||
}
|
||||
sort($tabFichier);
|
||||
} else $tabFichier=$tabFichLigneCmd;
|
||||
|
||||
$nbAnnUpdateJ=$nbAnnInsertJ=0; // Jugements
|
||||
$nbAnnUpdateE=$nbAnnInsertE=0; // Evènements
|
||||
$tabTmp=$iDb->select($table, 'MAX(dateInsert) AS lastInsert',"source='II'", false, MYSQL_ASSOC);
|
||||
$dateMaj=$tabTmp[0]['lastInsert'];
|
||||
$dateMaj='2013-09-01 02:00:00';
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Dernier chargement des annonces de ventes/LG Insee le $dateMaj.".EOL;
|
||||
|
||||
$tabEvenInseeSED=array( '3' => '5500,5103',
|
||||
'D' => '2870,2892',
|
||||
'E' => '2870,2893',
|
||||
'G' => '2870,2892',
|
||||
'H' => '2870,2893',
|
||||
'I' => '2406',
|
||||
'J' => '5500,5106',
|
||||
'VP'=> '5500,5200',
|
||||
);
|
||||
|
||||
/**
|
||||
** Jugements INPI
|
||||
**/
|
||||
/*
|
||||
insSIEGE, insAUXILT, insTEFET, insAPET700, insAPRM, insMODET, insMARCHET,
|
||||
insSAISONAT, insACTIVNAT, insENSEIGNE, insL2_COMP, insNUMVOIE, insINDREP,
|
||||
insTYPVOIE, insLIBVOIE, insL5_DISP, insL6_POST, insL7_ETRG, insRPET, insDEPCOM, insCODEVOIE, insDREACTET, insEXPLET, insDAPET,
|
||||
insLIEUACT, insACTISURF, insDEFET, insTEL, insCJ, insCIVILITE, insTEFEN, insAPEN700, insMODEN, insMARCHEN, insNOMEN, insTYPCREH,
|
||||
insMNICSIEGE, insMNOMEN, insMCJ, insMAPEN,
|
||||
insMMARCHEN, insMORDIN, insEFENCENT, insSIGLE, insNBETEXPL, insNICSIEGE, insDEPCOMEN, insMENSEIGNE, insMAPET, insMNATURE,
|
||||
insMADRESSE, insMEFET, insMSINGT, insMTELT, insMMARCHET, insMAUXILT, insSINGT, insEFETCENT,
|
||||
dirNom, dirNomUsage, dirPrenom, insDCRET, insDCREN, insPRODPART, insDREACTEN, insEXPLEN, insDEFEN, insMONOREG,
|
||||
insREGIMP, insMONOACT, insMSIGLE, insMEXPLEN, insRPEN, insMEXPLET, insDAPEN
|
||||
*/
|
||||
$AnnDb=$iDb->select('insee.insee_even',
|
||||
"insSIREN AS siren, insNIC AS nic, siretValide AS sirenValide, insDESTINAT AS DESTINAT, insEVE, insDATEVE AS dateJugement, insDATEMAJ,
|
||||
idFlux AS dateSource, dateInsert, 'II' AS source, insL1_NOMEN AS raisonSociale,
|
||||
insL4_VOIE AS Adresse, insCODPOS AS codePostal, insLIBCOM AS ville,
|
||||
insSIRETPS, insSIRETASS, insTYPETAB, insTRAN, insNICTRAN, insORIGINE, id",
|
||||
"dateInsert>'$dateMaj' AND DATEDIFF(NOW(), insDATEVE)<=90 AND insDESTINAT IN (3,5,'D','E','G','H','I','J','VP') AND id>23000000
|
||||
AND dateInsert<'2013-09-11 01:00:00';", false, MYSQL_ASSOC);
|
||||
// ", false, MYSQL_ASSOC);
|
||||
|
||||
/*
|
||||
DESTINAT => typeEven
|
||||
*/
|
||||
$nbAnnonces=count($AnnDb);
|
||||
$message.="Il y a $nbAnnonces annonce(s) de ventes/LG Insee depuis le dernier chargement du $dateMaj :\r\n";
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonce(s) de ventes/LG Insee depuis le dernier chargement du $dateMaj.".EOL;
|
||||
|
||||
// Il ne doit pas déjà y avoir d'annonces du même type dans l'année !
|
||||
$dateVentePre=WDate::getNextDate(date('Ymd'), -360);
|
||||
|
||||
foreach ($AnnDb as $i=>$tabInsert) {
|
||||
$siren=$tabInsert['siren'];
|
||||
$nic=$tabInsert['nic'];
|
||||
$siret=''.$siren.''.$nic;
|
||||
$id=$tabInsert['id']*1;
|
||||
$dateJugement=$tabInsert['dateJugement'];
|
||||
$strEven=$tabEvenInseeSED[trim($tabInsert['DESTINAT'])];
|
||||
$typeEtab='Etablissement';
|
||||
if (trim($tabInsert['DESTINAT'])=='G' || trim($tabInsert['DESTINAT'])=='H' ||
|
||||
trim($tabInsert['DESTINAT'])=='I' || trim($tabInsert['DESTINAT'])=='J')
|
||||
$typeEtab.=' agricole';
|
||||
|
||||
/** On récupère les annonces légales liés à cet évènement **/
|
||||
if (trim($tabInsert['DESTINAT'])=='3' || trim($tabInsert['DESTINAT'])=='J' || trim($tabInsert['DESTINAT'])=='VP')
|
||||
$tabVentes=@$iInsee->getAnnoncesLegales($siren, 0, 'V', false);
|
||||
else
|
||||
$tabVentes=@$iInsee->getAnnoncesLegales($siren, 0, 'G', false);
|
||||
|
||||
unset($tabInsert['DESTINAT']);
|
||||
$tabEven=explode(',', $strEven);
|
||||
$tabInsert['typeEven']=$tabEven[0];
|
||||
unset($tabEven[0]);
|
||||
$tabInsert['strEven']=@implode(',', $tabEven);
|
||||
|
||||
$tabTmp=@$iInsee->getIdentiteEntreprise($siren, $tabInsert['nic']);
|
||||
$tabInsert['tribunal']=$tabTmp['Tribunal'];
|
||||
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - $i/$nbAnnonces - Even $strEven sur $siren le $dateJugement : ";
|
||||
|
||||
/** On recherche s'il y a eu une annonce légale de Ventes/Cessions ou LG en tant que vendeur au cours de N derniers mois **/
|
||||
if (count($tabVentes)>0) {
|
||||
$vte=@$tabVentes[0];
|
||||
$dateVente=@$vte['dateJugement'];
|
||||
if ($dateVente=='0000-00-00') $dateVente=@$vte['dateEffet'];
|
||||
if ($dateVente=='0000-00-00') $dateVente=@$vte['DateParution'];
|
||||
$dateVente=WDate::dateT('Y-m-d','Ymd', $dateVente);
|
||||
|
||||
if ($dateVente>=$dateVentePre) {
|
||||
if ($modeDebug) echo "Annonce de vente récente déjà en base : $dateVente".EOL;
|
||||
continue;
|
||||
} elseif ($dateVente<=20010101) {
|
||||
// Cas impossible car on prend aussi DatePArution
|
||||
if ($modeDebug) echo "Annonce de vente sans date : $dateVente".EOL;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$siretPS=$siretAS=0;
|
||||
$idDeb=$id-150000;
|
||||
$idFin=$id+150000;
|
||||
$tabInsert['complement']='';
|
||||
if ($tabInsert['insSIRETPS']>1000000000) {
|
||||
// Si le siret est inactif, on ne l'affiche pas !
|
||||
$sirenPS=substr($tabInsert['insSIRETPS'],0,9);
|
||||
$nicPS=substr($tabInsert['insSIRETPS'],9,5);
|
||||
$tabId=@$iInsee->getIdentiteLight($sirenPS,$nicPS);
|
||||
if ($tabId['Actif']==1) {
|
||||
$tabInsert['complement'].='Successeur : '.$tabId['Nom'].', '.$tabId['Adresse'].', '.$tabId['CP'].' '.$tabId['Ville'].' ('.$tabInsert['insSIRETPS'].'). ';
|
||||
$siretPS=1;
|
||||
}
|
||||
}
|
||||
if ($tabInsert['insSIRETASS']>1000000000) {
|
||||
// Si le siret est inactif, on ne l'affiche pas !
|
||||
$sirenAS=substr($tabInsert['insSIRETASS'],0,9);
|
||||
$nicAS=substr($tabInsert['insSIRETASS'],9,5);
|
||||
$tabId=@$iInsee->getIdentiteLight($sirenAS,$nicAS);
|
||||
if ($tabId['Actif']==1) {
|
||||
$tabInsert['complement'].='Entitée associée : '.$tabId['Nom'].', '.$tabId['Adresse'].', '.$tabId['CP'].' '.$tabId['Ville'].' ('.$tabInsert['insSIRETASS'].'). ';
|
||||
$siretAS=1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($siretPS==0 && $siretAS==0) {
|
||||
// Recherche d'un siret associé sur un autre évènement proche (15 jours)
|
||||
$AnnDb2=$iDb->select('insee.insee_even', "insSIREN AS siren, insNIC AS nic, insSIRETPS, insSIRETASS",
|
||||
"id BETWEEN $idDeb AND $idFin AND id<>$id AND ( (insSIREN=$siren AND insNIC=$nic AND (insSIRETPS>1000000000 OR insSIRETASS>1000000000) ) OR insSIRETPS=$siret or insSIRETASS=$siret)", false, MYSQL_ASSOC);
|
||||
$tabTmp=@$AnnDb2[0];
|
||||
if (count($tabTmp)>0) {
|
||||
if ($siret==$tabTmp['insSIRETPS']) {
|
||||
// Notre établissement est le prédécesseur d'un nouvel établissement, si ce siret est inactif, on ne l'affiche pas !
|
||||
$sirenPS=$tabTmp['siren'];
|
||||
$nicPS=$tabTmp['nic'];
|
||||
$tabId=@$iInsee->getIdentiteLight($sirenPS,$nicPS);
|
||||
if ($tabId['Actif']==1) {
|
||||
$tabInsert['complement'].='Successeur : '.$tabId['Nom'].', '.$tabId['Adresse'].', '.$tabId['CP'].' '.$tabId['Ville']." ($sirenPS $nicPS). ";
|
||||
$siretPS=1;
|
||||
}
|
||||
} elseif ($siret==$tabTmp['insSIRETASS']) {
|
||||
// Notre établissement est le siret associé d'un nouvel établissement, si ce siret est inactif, on ne l'affiche pas !
|
||||
$sirenAS=$tabTmp['siren'];
|
||||
$nicAS=$tabTmp['nic'];
|
||||
$tabId=@$iInsee->getIdentiteLight($sirenAS,$nicAS);
|
||||
if ($tabId['Actif']==1) {
|
||||
$tabInsert['complement'].='Entitée associée : '.$tabId['Nom'].', '.$tabId['Adresse'].', '.$tabId['CP'].' '.$tabId['Ville']." ($sirenAS $nicAS). ";
|
||||
$siretPS=1;
|
||||
}
|
||||
} /*else {
|
||||
print_r($AnnDb2);
|
||||
echo 'Rechercher un siret associé sur un autre évènement antérieur !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'.EOL;
|
||||
die();
|
||||
}*/
|
||||
}
|
||||
// echo mysql_error().EOL;
|
||||
}
|
||||
$tabInsert['complement'].=$typeEtab.' concerné : '. $tabInsert['Adresse'] .', '. $tabInsert['codePostal'] .' '. $tabInsert['ville'].' ('. $tabInsert['nic'].')';
|
||||
if ($modeDebug) echo $tabInsert['complement'].EOL;
|
||||
|
||||
if (trim($tabInsert['tribunal'])=='') $tabInsert['tribunal']='INCONU';
|
||||
|
||||
//print_r($tabInsert);
|
||||
|
||||
unset($tabInsert['nic']);
|
||||
unset($tabInsert['insEVE']);
|
||||
unset($tabInsert['insDATEMAJ']);
|
||||
unset($tabInsert['id']);
|
||||
|
||||
unset($tabInsert['insSIRETPS']);
|
||||
unset($tabInsert['insSIRETASS']);
|
||||
unset($tabInsert['insTYPETAB']);
|
||||
unset($tabInsert['insTRAN']);
|
||||
unset($tabInsert['insNICTRAN']);
|
||||
unset($tabInsert['insORIGINE']);
|
||||
|
||||
if (!$iDb->insert($table, array_merge($tabInsert,array('dateInsert'=>date('YmdHis'))))) {
|
||||
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
|
||||
print_r($tabInsert);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'insertion du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
$tabTmp=$iDb->select($table, 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
|
||||
/*inter5type, inter5id, inter5nom,* dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren AND ABS(DATEDIFF(dateJugement, '$dateJugement'))<60 AND typeEven=$typeEven", false, MYSQL_ASSOC);
|
||||
echo date ('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren : ".count($tabTmp).EOL;
|
||||
$tabEnbase=$tabTmp[0];
|
||||
if (isset($tabEnbase['id'])) {
|
||||
$dateJugementEnBase=$tabEnbase['dateJugement'];
|
||||
// On garde la source Originel
|
||||
unset($tabInsert['source']);
|
||||
unset($tabInsert['dateInsert']);
|
||||
|
||||
if ($dateJugementEnBase<>$dateJugement) {
|
||||
if ($tabEnbase['source']<>'GC') {
|
||||
echo "ATTENTION : JUGEMENT UN AUTRE JOUR DEJA EN BASE ($dateJugementEnBase<>$dateJugement) :".EOL;
|
||||
}
|
||||
}
|
||||
else
|
||||
echo 'JUGEMENT le même JOUR déjà en base :'.EOL;
|
||||
// On liste les types de mandataires enregistrés par les greffes ou autre
|
||||
$tabMandEnBase=$tabMandSav=array();
|
||||
for ($iMand=1;$iMand<6;$iMand++)
|
||||
if (trim($tabEnbase['inter'.$iMand.'type'])<>'')
|
||||
$tabMandEnBase[$iMand]=trim($tabEnbase['inter'.$iMand.'type']);
|
||||
|
||||
// On garde les infos mandataires déjà en base et correctement renseignées
|
||||
for ($iInsert=1;$iInsert<5;$iInsert++) {
|
||||
for ($iMand=1; $iMand<6 && isset($tabMandEnBase[$iMand]);$iMand++)
|
||||
if (in_array($tabInsert['inter'.$iInsert.'type'], $tabMandEnBase)) {
|
||||
if ($tabInsert['inter'.$iInsert.'type']==$tabMandEnBase[$iMand]) {
|
||||
if ($tabEnbase['inter'.$iMand.'type']<>'')
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabInsert['inter'.$iInsert.'type'];
|
||||
else
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabInsert['inter'.$iMand.'type'];
|
||||
|
||||
if ($tabEnbase['inter'.$iMand.'id']*1==0)
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabInsert['inter'.$iInsert.'id'];
|
||||
else
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabEnbase['inter'.$iMand.'id'];
|
||||
|
||||
if ($tabEnbase['inter'.$iMand.'nom']<>'')
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabInsert['inter'.$iInsert.'nom'];
|
||||
else
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabInsert['inter'.$iMand.'nom'];
|
||||
}
|
||||
} else {
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabEnbase['inter'.$iMand.'type'];
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabEnbase['inter'.$iMand.'id'];
|
||||
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabEnbase['inter'.$iMand.'nom'];
|
||||
}
|
||||
}
|
||||
|
||||
$iInsert=1;
|
||||
foreach ($tabMandEnBase as $typeMand) {
|
||||
$tabInsert['inter'.$iInsert.'type']=$tabMandSav[$typeMand]['type'];
|
||||
$tabInsert['inter'.$iInsert.'id']=$tabMandSav[$typeMand]['id'];
|
||||
$tabInsert['inter'.$iInsert.'nom']=$tabMandSav[$typeMand]['nom'];
|
||||
$iInsert++;
|
||||
if ($iInsert==6) {
|
||||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, plus de 4 intervenants dans la procédure pour $siren".EOL.print_r($tabMandSav, true).EOL.
|
||||
"Annonce en base :".EOL.
|
||||
print_r($tabEnbase, true).EOL.
|
||||
"Informations à mettre à jour :".EOL.
|
||||
print_r($tabInsert, true).EOL);
|
||||
//die("Trop d'intervenants".EOL);
|
||||
}
|
||||
}
|
||||
echo 'EN BASE :'.EOL;
|
||||
print_r($tabEnbase);
|
||||
echo 'MODIFICATIONS :'.EOL;
|
||||
print_r($tabInsert);
|
||||
echo 'Mandataires :'.EOL;
|
||||
print_r($tabMandSav);
|
||||
if ($modeDebug) $line = trim(fgets(STDIN));
|
||||
|
||||
// On met toujours la date INPI en base !
|
||||
if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugementEnBase' AND typeEven=$typeEven", false, MYSQL_ASSOC)) {
|
||||
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
|
||||
print_r($tabInsert);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
} else {
|
||||
$nbAnnUpdateJ++;
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
}
|
||||
} else {
|
||||
|
||||
if (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
|
||||
$tabInsert['typeEven']*1==1505 || // Appel de jugement
|
||||
$tabInsert['typeEven']*1==1506 || // Infirmation Jugement
|
||||
$tabInsert['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
|
||||
$tabInsert['typeEven']*1==1515 || // Arrêt divers
|
||||
$tabInsert['typeEven']*1==1517 || // Rectification d'une erreur matérielle
|
||||
$tabInsert['typeEven']*1==1520 || // Ordonnance
|
||||
$tabInsert['typeEven']*1==1525 || // Appel du ministère public
|
||||
$tabInsert['typeEven']*1==1999) { // Autre procol)
|
||||
$tabInsert['sirenValide']=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $i : Annonce INPI à retraiter manuellement ". $tabInsert['siren'] .' !'.EOL;
|
||||
$nbSiretRetraitement++;
|
||||
}
|
||||
|
||||
if (!$iDb->insert($table, array_merge($tabInsert,array('dateInsert'=>date('YmdHis'))))) {
|
||||
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
|
||||
print_r($tabInsert);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'insertion du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
}
|
||||
/*
|
||||
echo 'JUGEMENT LE MEME JOUR DEJA EN BASE :'.EOL;
|
||||
print_r($tabEnbase);
|
||||
echo 'MODIFICATIONS :'.EOL;
|
||||
print_r($tabInsert);
|
||||
$line = trim(fgets(STDIN));
|
||||
}
|
||||
} else
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
} else {*
|
||||
$nbAnnInsertJ++;
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
}
|
||||
}
|
||||
$message.=" $nbAnnInsertJ ajouts et $nbAnnUpdateJ mises à jours sur $nbAnnonces annonces et $nbSiretRetraitement annonces à retraiter !\r\n\r\n".EOL;
|
||||
*/
|
||||
die();
|
||||
|
||||
if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) {
|
||||
if (!$loadCSF)
|
||||
die(date ('Y/m/d - H:i:s') . " - On ignore le chargement des défaillances".EOL);
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des défaillances".EOL;
|
||||
|
||||
|
||||
function getCodeEven($codeEven) {
|
||||
global $tabCodeEven;
|
||||
return $tabCodeEven[$codeEven];
|
||||
}
|
||||
|
||||
for ($i=0; isset($tabFichier[$i]); $i++)
|
||||
{
|
||||
$nomFichier =$tabFichier[$i];
|
||||
|
||||
$fp=fopen(CSF_FTP_DIR.$nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=0; // Nombre de ligne du fichier
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp, 1024));
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
|
||||
|
||||
//$finFichier=false;
|
||||
$ligne=1;
|
||||
rewind($fp);
|
||||
|
||||
/** Traitement de la 1ère ligne **/
|
||||
$a = trim(fgets($fp, 2048));
|
||||
$tab=explode("\t", $a);
|
||||
$erreur='';
|
||||
if (strtoupper($tab[ 0])<>'REF_CLIENT') $erreur.='Ligne 1, Champ 1 : libellé REF_CLIENT attentu';
|
||||
if (strtoupper($tab[ 1])<>'DATE_FRAICHEUR') $erreur.='Ligne 1, Champ 2 : libellé DATE_FRAICHEUR attentu';
|
||||
if (strtoupper($tab[ 2])<>'RCS') $erreur.='Ligne 1, Champ 3 : libellé RCS attentu';
|
||||
if (strtoupper($tab[ 3])<>'RAISON_SOCIALE') $erreur.='Ligne 1, Champ 4 : libellé RAISON_SOCIALE attentu';
|
||||
if (strtoupper($tab[ 4])<>'ADRESSE1') $erreur.='Ligne 1, Champ 5 : libellé ADRESSE1 attentu';
|
||||
if (strtoupper($tab[ 5])<>'ADRESSE2') $erreur.='Ligne 1, Champ 6 : libellé ADRESSE2 attentu';
|
||||
if (strtoupper($tab[ 6])<>'ADRESSE3') $erreur.='Ligne 1, Champ 7 : libellé ADRESSE3 attentu';
|
||||
if (strtoupper($tab[ 7])<>'CCJ_CSFR') $erreur.='Ligne 1, Champ 8 : libellé CCJ_CSFR attentu';
|
||||
if (strtoupper($tab[ 8])<>'CCJ_DATE') $erreur.='Ligne 1, Champ 9 : libellé CCJ_DATE attentu';
|
||||
if (strtoupper($tab[ 9])<>'TRIBUNAL') $erreur.='Ligne 1, Champ 10 : libellé TRIBUNAL attentu';
|
||||
if (strtoupper($tab[10])<>'MANDATAIRE') $erreur.='Ligne 1, Champ 11 : libellé MANDATAIRE attentu';
|
||||
if (strtoupper($tab[11])<>'REF_CSFR') $erreur.='Ligne 1, Champ 12 : libellé REF_CSFR attentu';
|
||||
//Ref_client date_fraicheur RCS Raison_sociale adresse1 adresse2 adresse3 CCJ_CSFR
|
||||
//CCJ_date Tribunal mandataire Ref_csfr
|
||||
|
||||
if ($erreur<>'') {
|
||||
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
//$dateInsert=date('YmdHis');
|
||||
|
||||
while (!feof($fp))
|
||||
{
|
||||
$ligne++;
|
||||
$a = trim(fgets($fp, 1024));
|
||||
if ($a=='') continue;
|
||||
|
||||
//if ($modeDebug) echo "Ligne $ligne Déb: '$a'".EOL;
|
||||
|
||||
//unset($tabErreur); $nbErr=0;
|
||||
$tab=explode("\t", $a);
|
||||
|
||||
$tabAnn=array();
|
||||
|
||||
if ($tab[0]<>'SandD')
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs REF_CLIENT différent de 'SandD' (".$tab[0].') !'.EOL;
|
||||
|
||||
$siren=$tabAnn['siren'] = $tab[2];
|
||||
|
||||
if (!$iInsee->valideSiren($tabAnn['siren'])) {
|
||||
$tabAnn['sirenValide']=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs SIREN invalide ". $tabAnn['siren'] .' !'.EOL;
|
||||
$nbSiretInvalides++;
|
||||
} else {
|
||||
$tabAnn['sirenValide']=1;
|
||||
$nbSiretValides++;
|
||||
}
|
||||
$tabAnn['raisonSociale'] = $tab[3];
|
||||
if (strlen($tabAnn['raisonSociale'])>60)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs RAISON_SOCIALE de longueur ". strlen($tabAnn['raisonSociale']) .' !'.EOL;
|
||||
|
||||
$tabAnn['adresse'] = $tab[4];
|
||||
$cpVille = $tab[5];
|
||||
$tabAnn['codePostal'] = substr($cpVille,0,5);
|
||||
$tabAnn['ville'] = trim(substr($cpVille,5));
|
||||
$dep=substr($cpVille,0,2)*1;
|
||||
if (!$iInsee->isDepartement($dep)) {
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Département '$dep' inconnu !".EOL;
|
||||
//die($a);
|
||||
//echo '?';
|
||||
//$line = trim(fgets(STDIN));
|
||||
}
|
||||
|
||||
$dateIn = $tab[1];
|
||||
if (strlen($dateIn)<>19)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs DATE_FRAICHEUR de longueur ". strlen($dateIn) .' !'.EOL;
|
||||
$tabAnn['dateSource'] = /*@WDate::dateT('Y-m-d','Y-m-d',*/$dateIn/*)*/;
|
||||
/* $dateIn = $tab[6];
|
||||
$dateOut=@WDate::dateT('m/d/Y','Y-m-d',$dateIn);
|
||||
if ($dateIn<>'') $tabAnn['naissance_date']=$dateOut;
|
||||
else $tabAnn['naissance_date']='0000-00-00';*/
|
||||
|
||||
$dateJugeKbis = $tab[8];
|
||||
if (strlen($dateJugeKbis)<>19)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs CCJ_DATE de longueur ".strlen($dateJugeKbis).' !'.EOL;
|
||||
else
|
||||
$dateJugeKbis=Wdate::dateT('Y-m-d', 'Ymd', $dateJugeKbis);
|
||||
|
||||
$codeJugementCSF = $tab[7];
|
||||
$tabAnn['typeEven'] = getCodeEven($codeJugementCSF)*1;
|
||||
if ($tabAnn['typeEven']==0) {
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs CCJ_CSFR (Code Jugement CSF) inconnu '$codeJugementCSF' !".EOL;
|
||||
}
|
||||
|
||||
$source= trim($tab[11]);
|
||||
if ($source=='G' || $source=='I'/* || $source=='P'*/) {
|
||||
//if ($modeDebug) echo "Ligne $ligne SRC: '$a'".EOL;
|
||||
$tribunal = trim($tab[9]);
|
||||
$tabAnn['tribunal'] = $iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), $dep);
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI1: '$a'".EOL;
|
||||
|
||||
if (!$tabAnn['tribunal']) {
|
||||
$tabAnn['tribunal'] = $iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), 0);
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI2: '$a'".EOL;
|
||||
if (!$tabAnn['tribunal']) {
|
||||
if ($tribunal=='AIX') $tabAnn['tribunal']='AIXC';
|
||||
elseif ($tribunal=='MONT DE MARSAN') $tabAnn['tribunal']='MONTMC';
|
||||
elseif ($tribunal=='SALON DE PROVENCE') $tabAnn['tribunal']='SALONC';
|
||||
elseif ($tribunal=='BAGNERES DE BIGORRE') $tabAnn['tribunal']='BAGNEC';
|
||||
elseif ($tribunal=='OLORON STE MARIE') $tabAnn['tribunal']='OLOROC';
|
||||
elseif ($tribunal=='LE PUY EN VELAY') $tabAnn['tribunal']='LEPUYC';
|
||||
elseif ($tribunal=='CLERMONT L HERAULT') $tabAnn['tribunal']='CLHERC';
|
||||
elseif ($source=='G' && $tribunal=='' && $dep==23) $tabAnn['tribunal']='GUEREC';
|
||||
elseif ($source=='G' && $tribunal=='' && $dep==26) $tabAnn['tribunal']='ROMANC';
|
||||
elseif ($source=='G' && $tribunal=='' && $dep==27) $tabAnn['tribunal']='BERNAC';
|
||||
elseif ($source=='G' && $tribunal=='' && $dep==48) $tabAnn['tribunal']='MENDEC';
|
||||
elseif ($source=='G' && $tribunal=='' && $tabAnn['siren']>100) {
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI3: '$a'".EOL;
|
||||
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI4: '$a'".EOL;
|
||||
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI5: '$a'".EOL;
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
|
||||
$tabAnn['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI6: '$a'".EOL;
|
||||
if (!$tabAnn['tribunal']) {
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='G' && $trib['triStatut']=='Actif') {
|
||||
$tab['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
//if ($modeDebug) echo "Ligne $ligne TRI9: '$a'".EOL;
|
||||
}
|
||||
elseif ($source=='P' && $dep>0 && $dep<977) {
|
||||
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
|
||||
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
|
||||
// En fonction du département 67,68 et de la CJ 1xxx non commerçant, Associations : TGI
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
|
||||
$tabAnn['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
if (!$tabAnn['tribunal']) {
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='G' && $trib['triStatut']=='Actif') {
|
||||
$tab['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$tabAnn['tribunal']) {
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='M' && $trib['triStatut']=='Actif') {
|
||||
$tab['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$tabAnn['tribunal']) {
|
||||
foreach ($tabTribunaux as $trib)
|
||||
if ($trib['triType']=='P' && $trib['triStatut']=='Actif') {
|
||||
$tab['tribunal']=$trib['triCode'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes : Tribunal CSF inconnu '$tribunal' (Dept.=$dep, source=$source) !".EOL;
|
||||
$tabAnn['tribunal']=$tribunal.'*';
|
||||
if ($source<>'P' && $source<>'I') { /* On insert le jugement uniquement si on l'a pas déjà en base ! */
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren']." : '$a' - Problème de tribunal".EOL;
|
||||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement CSF : Problème de tribunal', "Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($source=='I') {
|
||||
$tabAnn['source'] = 'JC';
|
||||
$tabAnn['dateJugement'] = $dateJugeKbis;
|
||||
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
|
||||
if ($tabIdentite['SituationJuridique']<>'P') {
|
||||
if ($dateJugeKbis>date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y')))) {
|
||||
if ($tabAnn['typeEven']<>1445) {
|
||||
// L'entreprise n'est pas connue comme en Procol et le jugement à mois de 6 mois !
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source JC, siren=".$tabAnn['siren']." : '$a'".EOL;
|
||||
sendMail('production@scores-decisions.com', 'prod@scores-decisions.com', 'Chargement CSF : Procol inconnue', "Ligne $ligne/$nbLignes, source Kairos via CSF, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
|
||||
} else continue;
|
||||
} else continue;
|
||||
} else {
|
||||
// Provisoirement, on ignore l'annonce car déjà en procol
|
||||
/** @todo
|
||||
Si dernière annonce = SV, RJ, LJ prendre la nouv. annonce si suite du jugement
|
||||
**/
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
$tabAnn['source'] = $source.'C';
|
||||
$texte = trim(@$tab[10]);
|
||||
/*JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 15/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE, SOUS LE NUMÉRO 2010J00041 DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX , JUGE COMMISSAIRE M. CHIKAR , JUGE COMMISSAIRE SUPPLÉANT M. HAMON , MET FIN À LA MISSION DE L'ADMINISTRATEUR ME TULIER RUE RENÉ CASSIN IMMEUBLE LE MAZIÈRE - 4ÈME ÉTAGE 91000 EVRY
|
||||
*/
|
||||
$regExDate='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{4,4})';
|
||||
$regExDate2='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{2,2})';
|
||||
$regExDateLong='(([0-9]{1,2}|1er)\s+(janvier|février|fevrier|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre|decembre)\s+([0-9]{4,4}))';
|
||||
//SUIVANT JUGEMENT RENDU LE 27 AVRIL 2010, LE TRIBUNAL DE COMMERCE DE BOBIGNY A PRONONCE L'OUVERTURE D'UNE PROCEDURE DE REDRESSEMENT JUDICIAIRE
|
||||
|
||||
if (preg_match("/(JGT|JUGEMENT|prononc|ORDONNANCE).{1,75}\s+EN\s+DATE\s+DU\s+$regExDate/Uis", $texte, $matches)) {
|
||||
//echo $texte.EOL;
|
||||
$dateJuge=$matches[2];
|
||||
echo "A, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
/*print_r($matches);
|
||||
die();*/
|
||||
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDate/Uis", $texte, $matches)) {
|
||||
$dateJuge=$matches[2];
|
||||
echo "B1, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDate2/Uis", $texte, $matches)) {
|
||||
$dateJuge=$matches[2];
|
||||
echo "B2, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
} elseif (preg_match("/DATE\s+D(?:\+|')EFFET(?:\s+\:?\s+)$regExDate/Uis", $texte, $matches)) {
|
||||
$dateJuge=$matches[1];
|
||||
echo "C, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
/* print_r($matches);
|
||||
die();*/
|
||||
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDateLong/Ui", $texte, $matches)) {
|
||||
$dateJuge=Wdate::dateT('dMY', 'd/m/Y',$matches[2]);
|
||||
echo "D, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
/*print_r($matches);
|
||||
die();*/
|
||||
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).RENDU.{1,80}(?: DU| LE)\s+$regExDate/Uis", $texte, $matches)) {
|
||||
$dateJuge=$matches[2];
|
||||
echo "D2, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
} elseif (preg_match("/JGT|JUGEMENT.{1,55}\s+$regExDate\s+/Ui", $texte, $matches)) {
|
||||
$dateJuge=$matches[1];
|
||||
echo "E, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
/*print_r($matches);
|
||||
die();*/
|
||||
//
|
||||
} elseif (preg_match("/Arr.t de la Cour d.Appel (?:.*) du\s+$regExDate\s+/Uis", $texte, $matches)) {
|
||||
$dateJuge=$matches[1];
|
||||
echo "F, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
|
||||
} else {
|
||||
/*
|
||||
Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives du Tribunal de Commerce de Vienne en date du 02/02/2010 décidant de l'APPLICATION DE LA LIQUIDATION JUDICIAIRE SIMPLIFIEE
|
||||
410946008 : Jugement kbis du 20100413. DATE TEXTE !
|
||||
*/
|
||||
echo "$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE NON TROUVEE !!!".EOL;
|
||||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, date texte non trouvée pour le siren $siren :
|
||||
$texte
|
||||
Jugement kbis du ".$tabAnn['dateJugement'].EOL);
|
||||
echo $texte.EOL;
|
||||
if ($modeDebug || $questions) {
|
||||
while(1) {
|
||||
echo "Entrez la date du jugement au format JJ/MM/AAAA ?".EOL;
|
||||
$dateJuge = trim(fgets(STDIN));
|
||||
$line=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/')));
|
||||
if ($line>=0 && $line<date('Ymd')) break;
|
||||
}
|
||||
}
|
||||
else die("$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE !".EOL);
|
||||
}//JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 08/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE,
|
||||
$dateJuge=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/')));
|
||||
|
||||
$dateJugeMin=date('Ymd', mktime(0, 0, 0,
|
||||
WDate::dateT('Ymd','m',$dateJugeKbis),
|
||||
WDate::dateT('Ymd','d',$dateJugeKbis)-60,
|
||||
WDate::dateT('Ymd','Y',$dateJugeKbis)));
|
||||
if ($dateJuge>=$dateJugeMin && $dateJuge<=$dateJugeKbis)
|
||||
$tabAnn['dateJugement']=$dateJuge;
|
||||
else
|
||||
$tabAnn['dateJugement']=$dateJugeKbis;
|
||||
|
||||
echo "Date de jugement RETENUE : ".$tabAnn['dateJugement'].EOL;
|
||||
echo $texte.EOL;
|
||||
//if ($modeDebug) $line = trim(fgets(STDIN));
|
||||
|
||||
if (preg_match('/Arr.t.{1,15}Cour.{1,15}Appel.{1,75}INFIRM/is', $texte, $matches)) {
|
||||
if (preg_match('INFIRM/is', $texte, $matches))
|
||||
$tabAnn['typeEven']=1506; // Rétractation de jugement => Infirmation Jugement
|
||||
else
|
||||
$tabAnn['typeEven']=1507; // Arret de la cours d'appel
|
||||
$tabAnn['sirenValide']=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
|
||||
$nbSiretRetraitement++;
|
||||
} elseif (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
|
||||
$tabAnn['typeEven']*1==1505 || // Appel de jugement
|
||||
$tabAnn['typeEven']*1==1506 || // Infirmation Jugement
|
||||
$tabAnn['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
|
||||
$tabAnn['typeEven']*1==1515 || // Arrêt divers
|
||||
$tabAnn['typeEven']*1==1517 || // Rectification d'une erreur matérielle
|
||||
$tabAnn['typeEven']*1==1520 || // Ordonnance
|
||||
$tabAnn['typeEven']*1==1525 || // Appel du ministère public
|
||||
$tabAnn['typeEven']*1==1999) { // Autre procol)
|
||||
$tabAnn['sirenValide']=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
|
||||
$nbSiretRetraitement++;
|
||||
}
|
||||
|
||||
if (preg_match('/CESSATION.{1,35}PAIEMENTS(.*)/is', $texte, $matches)) {
|
||||
if (preg_match("/FIXE AU\s+$regExDate.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2))
|
||||
$tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches2[1], array('.'=>'/','-'=>'/'))));
|
||||
elseif (preg_match("/FIXE AU\s+$regExDateLong.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2))
|
||||
$tabAnn['dateCessationPaiement']=Wdate::dateT('dMY', 'Ymd', $matches2[1]);
|
||||
|
||||
elseif (preg_match("/\s+$regExDate/Uis", substr($matches[1],0,35), $matches))
|
||||
$tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches[1], array('.'=>'/','-'=>'/'))));
|
||||
|
||||
elseif (preg_match("/\s+$regExDateLong/Ui", $texte, $matches))
|
||||
$tabAnn['dateCessationPaiement']=Wdate::dateT('dMY', 'Ymd',$matches[1]);
|
||||
}
|
||||
|
||||
$jugeCommissaire=$jugeCommissaireSup='';
|
||||
if (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
|
||||
$jugeCommissaire=strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'',','=>''));
|
||||
$jugeCommissaireSup=strtr(strtoupper(preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',$matches[2])),array('TITULAIRE'=>'',':'=>'',','=>''));
|
||||
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
|
||||
$jugeCommissaireSup=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1])),array(':'=>''));
|
||||
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)$/Uis', $texte, $matches)) {
|
||||
$jugeCommissaire=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'')));
|
||||
}
|
||||
|
||||
$adm=$mand=$liq='';
|
||||
if (preg_match('/ADMINISTRATEUR(.*)MANDATAIRE(.*)$/Uis', $texte, $matches)) {
|
||||
preg_match('/^(.*\d{5,5}.*,)/Uis', $matches[1], $matches);
|
||||
$adm=strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'',':'=>'',','=>''));
|
||||
preg_match('/^(.*\d{5,5}.*,)/Uis', $matches[2], $matches);
|
||||
$mand=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
|
||||
} elseif (preg_match('/ADMINISTRATEUR(.*)$/Uis', $texte, $matches)) {
|
||||
$adm=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
|
||||
}
|
||||
if (preg_match('/MANDATAIRE(.*)$/Uis', $texte, $matches)) {
|
||||
preg_match('/^(.*\d{5,5}.*(,|)$)/Uis', $matches[1], $matches);
|
||||
$mand=preg_replace('/(,|LIQUIDATEUR|ADMINISTRATEUR).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
|
||||
}
|
||||
if (preg_match('/LIQUIDATEUR(.*)$/Uis', $texte, $matches)) {
|
||||
preg_match('/^(.*\d{5,5}.*(,|)$)/Uis', $matches[1], $matches);
|
||||
$liq=preg_replace('/(,|MANDATAIRE|ADMINISTRATEUR).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
|
||||
}
|
||||
|
||||
$numero='';
|
||||
if (preg_match('/NUM(?:E|é|è)RO\s+([A-Z0-9\.\/,-]{8,20})\s+/Uis', $texte, $matches)) {
|
||||
$tabAnn['numero']=trim(strtoupper($matches[1]));
|
||||
}
|
||||
|
||||
/*
|
||||
OUVERTURE PERIODE D'OBSERVATION DE SIX MOIS
|
||||
OUVRE UNE PÉRIODE D'OBSERVATION EXPIRANT LE 28/07/2010
|
||||
DATE D'EFFET : 27/01/2010
|
||||
MET FIN À LA MISSION DE L'ADMINISTRATEUR ME AVEZOU 5 BD DE L'EUROPE 91050 EVRY CEDEX
|
||||
DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX ,
|
||||
SUIVANT ORDONNANCE RENDUE LE 15 JANVIER 2010 PAR LE TRIBUNAL DE COMMERCE DE NANTES, MR LE JUGE-COMMISSAIRE A MIS FIN A LA MISSION DE ME A. DOLLEY, MANDATAIRE JUDICIAIRE.
|
||||
*/
|
||||
|
||||
$iMand=1;
|
||||
if (trim($adm)<>'') {
|
||||
$tabAnn['inter'.$iMand.'type']='A';
|
||||
//$tabAnn['inter'.$iMand.'id']=?;
|
||||
$tabAnn['inter'.$iMand.'nom']=trim($adm);
|
||||
$iMand++;
|
||||
}
|
||||
if (trim($mand)<>'') {
|
||||
$tabAnn['inter'.$iMand.'type']='M';
|
||||
//$tabAnn['inter'.$iMand.'id']=?;
|
||||
$tabAnn['inter'.$iMand.'nom']=trim($mand);
|
||||
$iMand++;
|
||||
}
|
||||
if (trim($liq)<>'') {
|
||||
$tabAnn['inter'.$iMand.'type']='L';
|
||||
//$tabAnn['inter'.$iMand.'id']=?;
|
||||
$tabAnn['inter'.$iMand.'nom']=trim($liq);
|
||||
$iMand++;
|
||||
}
|
||||
if (trim($jugeCommissaire)<>'') {
|
||||
$tabAnn['inter'.$iMand.'type']='J';
|
||||
//$tabAnn['inter'.$iMand.'id']=?;
|
||||
$tabAnn['inter'.$iMand.'nom']=trim($jugeCommissaire);
|
||||
$iMand++;
|
||||
}
|
||||
if (trim($jugeCommissaireSup)<>'') {
|
||||
$tabAnn['inter'.$iMand.'type']='K';
|
||||
//$tabAnn['inter'.$iMand.'id']=?;
|
||||
$tabAnn['inter'.$iMand.'nom']=trim($jugeCommissaireSup);
|
||||
$iMand++;
|
||||
}
|
||||
|
||||
if ($iMand==1)
|
||||
$tabAnn['annonce']=strtolower($texte);
|
||||
else
|
||||
$tabAnn['infosBrutes']=strtoupper($texte);
|
||||
|
||||
/*
|
||||
|
||||
JUGE COMMISSAIRE : MONSIEUR SWIDERSKI,
|
||||
JUGE COMMISSAIRE : MONSIEUR NOEL,
|
||||
ADMINISTRATEUR : SCP THEVENOT PERDEREAU EN LA PERSONNE DE ME THEVENOT 131 BD MALESHERBES 75017 PARIS, AVEC POUR MISSION : d'assister,
|
||||
MANDATAIRE JUDICIAIRE : MAITRE COURTOUX DIDIER 62 BD DE SÉBASTOPOL 75003 PARIS,
|
||||
PERIODE D'OBSERVATION EXPIRANT LE 26/03/2010,
|
||||
Juge Commissaire Mme Lefebvre H. ,
|
||||
Juge Commissaire suppléant M. Bejui F. ,
|
||||
Administrateur Me Bleriot Philippe 26 Chemin de la Madeleine 93000 Bobigny avec pour mission de : d'assister le débiteur dans ses actes de gestion ,
|
||||
Mandataire judiciaire SCP Moyrand - Bally en la personne de Maître Pascal Bally 14/16 Rue de Lorraine 93000 Bobigny
|
||||
période d'observation expirant le 26/07/2010 .
|
||||
*/
|
||||
//if ($tabAnn['complement']<>'') $tabAnn['complement']='Mandataire : '.$tabAnn['complement'];
|
||||
}
|
||||
//$tabAnn['dateInsert']=$dateInsert;
|
||||
|
||||
if (isset($tabAnn['tribunal']) && strlen($tabAnn['tribunal'])<3) $tabAnn['tribunal']='INCONU';
|
||||
if (isset($tabAnn['inter5id']) || isset($tabAnn['inter5type']) || isset($tabAnn['inter5nom'])) {
|
||||
unset($tabAnn['inter5type']);
|
||||
unset($tabAnn['inter5id']);
|
||||
unset($tabAnn['inter5nom']);
|
||||
}
|
||||
|
||||
$tabTmp=$iDb->select($table, 'id, siren, sirenValide, strEven, raisonSociale, adresse, codePostal, ville, dateSource, dateJugement, typeEven, tribunal, source, complement',"siren='".$tabAnn['siren']."' AND dateJugement='".$tabAnn['dateJugement'] ."' AND typeEven =".$tabAnn['typeEven'], false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)==0) {
|
||||
$iDb->insert($table, array_merge($tabAnn,array('dateInsert'=>date('YmdHis'))));
|
||||
if (mysql_errno()>0) {
|
||||
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
|
||||
print_r($tabAnn);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
if ($modeDebug) $line = trim(fgets(STDIN));
|
||||
else die("ERREUR SQL".EOL);
|
||||
}
|
||||
$nbInsert++;
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
|
||||
} else {
|
||||
$tabAnnEnBase=$tabTmp[0];
|
||||
$even=$tabAnnEnBase['typeEven'];
|
||||
$trib=trim($tabAnnEnBase['tribunal']);
|
||||
$comp=trim($tabAnnEnBase['complement']);
|
||||
if ($tabAnn['typeEven']<>$even) {
|
||||
print_r($tabAnn);
|
||||
echo(date ('Y/m/d - H:i:s') . " - Jugement différent $even par rapport à ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
|
||||
}
|
||||
if (strlen($trib)>1 && $trib<>'INCONU' && $tabAnn['tribunal']<>$trib) {
|
||||
echo (date ('Y/m/d - H:i:s') . " - Nouveau tribunal différent ".$tabAnn['tribunal']." par rapport à $trib pour l'annonce ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
|
||||
unset($tabAnn['tribunal']);
|
||||
}
|
||||
if (strlen($comp)==0 && @$tabAnn['complement']<>'') {
|
||||
//$tabAnn['complement']=$tabAnn['complement'];
|
||||
echo (date ('Y/m/d - H:i:s') . " - Ajout du complément ".$tabAnn['complement'].' pour '. $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
|
||||
} elseif (strlen($comp)>1 && $tabAnn['complement']<>$comp) {
|
||||
echo date ('Y/m/d - H:i:s') . " - Complément différent ".$tabAnn['complement'].EOL;
|
||||
echo "par rapport à $comp ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL;
|
||||
$sortie=false;
|
||||
if ($questions) {
|
||||
while($sortie==false) {
|
||||
echo 'Voulez vous conserver l\'ancien mandataire ? (Oui/Ajout/Non)';
|
||||
$line = trim(fgets(STDIN));
|
||||
if ($line=='O' || $line=='o') { $sortie=true; unset($tabAnn['complement']); }
|
||||
elseif ($line=='N' || $line=='n' || $line=='') { $sortie=true; }
|
||||
elseif ($line=='A' || $line=='a') { $sortie=true; $tabAnn['complement']="$comp, ".$tabAnn['complement'];}
|
||||
}
|
||||
}
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s') . " - MAJ du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
|
||||
|
||||
if (count($tabTmp)>1) {
|
||||
print_r($tabAnn);
|
||||
echo date ('Y/m/d - H:i:s') . " - ERREUR : Jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' présent plusieurs fois !'.EOL;
|
||||
//die();
|
||||
}
|
||||
|
||||
$iDb->update($table,$tabAnn,'id='.$tabAnnEnBase['id']);
|
||||
if (mysql_errno()>0) {
|
||||
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
|
||||
print_r($tabAnn);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
|
||||
if ($modeDebug) $line = trim(fgets(STDIN));
|
||||
else die("ERREUR SQL 2".EOL);
|
||||
}
|
||||
|
||||
/*echo mysql_error().EOL."En base:".EOL;
|
||||
print_r($tabAnnEnBase);
|
||||
echo mysql_error().EOL."A mettre à jour :".EOL;
|
||||
print_r($tabAnn);
|
||||
echo "?";
|
||||
$sdfqsd=trim(fgets(STDIN));*/
|
||||
$nbUpdate++;
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Ligne $ligne : MAJ du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
|
||||
}
|
||||
}
|
||||
//if ($modeDebug) echo "Ligne $ligne Fin: '$a'".EOL;
|
||||
}
|
||||
fclose ($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
|
||||
if ($table=='annonces2') {
|
||||
echo date ('Y/m/d - H:i:s')." - Chargement en test. Arrêt du traitement...".EOL;
|
||||
die("TABLE ANNONCE 2".EOL);
|
||||
}
|
||||
|
||||
if (bzip2(CSF_FTP_DIR.$nomFichier, CSF_BACKUP_DIR.$nomFichier)) {
|
||||
unlink(CSF_FTP_DIR.$nomFichier);
|
||||
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
|
||||
}
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter !".EOL;
|
||||
$message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n";
|
||||
$message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter).".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL;
|
||||
}
|
||||
else {
|
||||
$message.="Aucun fichier CSF à traiter !\r\n";
|
||||
echo date ('Y/m/d - H:i:s') . " - Aucun fichier CSF à traiter !".EOL;
|
||||
}
|
||||
|
||||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement annonces Greffes', $message);
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement annonces Greffes', $message);
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement.".EOL;
|
||||
die();
|
||||
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,73 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
global $iDb;
|
||||
$iDb=new WDB('sdv1');
|
||||
$iDb2=new WDB('sdv1');
|
||||
|
||||
$iInsee=new MInsee();
|
||||
|
||||
//include_once(INCLUDE_PATH.'insee/classMSigVille.php');
|
||||
$cookie=$post=$referer='';
|
||||
$timeout=300;
|
||||
$url="http://www.aspic.interieur.gouv.fr/Acces_ASPIC/asAcces-000-Portail.php?mod=CONS";
|
||||
$page=getUrl($url, $cookie, $post, $referer, false, 'www.aspic.interieur.gouv.fr', '', $timeout);
|
||||
$cookie=$page['header']['Set-Cookie'];
|
||||
$body=$page['body'];
|
||||
$referer=$url;
|
||||
|
||||
if ($page['code']<>200) die('Code retour != de 200'.EOL);
|
||||
|
||||
if (!preg_match_all('/<li><a HREF="(.*)">(.*)\((.*)\)<\/a><\/li>/Uim', $body, $matches))
|
||||
die();
|
||||
|
||||
foreach ($matches[3] as $i=>$dep) {
|
||||
$urlDep=$matches[1][$i];
|
||||
$nomDep=$matches[2][$i];
|
||||
echo "$dep: $nomDep ($urlDep)".EOL;
|
||||
$url="http://www.aspic.interieur.gouv.fr/Acces_ASPIC/".$urlDep;
|
||||
$page=getUrl($url, $cookie, $post, $referer, false, 'www.aspic.interieur.gouv.fr', '', $timeout);
|
||||
$referer=$url;
|
||||
randsleep(1,2);
|
||||
$url='http://www.aspic.interieur.gouv.fr/AspicExtract/asListeRequetes.php';
|
||||
$page=getUrl($url, $cookie, $post, $referer, false, 'www.aspic.interieur.gouv.fr', '', $timeout);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
|
||||
if (preg_match_all("/<LI><a HREF='javascript\:SoumetFormulaire\((.*)\)'>(.*)<\/A>/Uim", $body, $matches2)) {
|
||||
foreach ($matches2[1] as $j=>$reqId) {
|
||||
$reqNom=$matches2[2][$j];
|
||||
randsleep(1,2);
|
||||
$post=array('Id'=>$reqId,
|
||||
'cboFormat'=>'text/plain');
|
||||
$url='http://www.aspic.interieur.gouv.fr/AspicExtract/asRequete.php';
|
||||
$page=getUrl($url, $cookie, $post, $referer, false, 'www.aspic.interieur.gouv.fr', '', $timeout);
|
||||
file_put_contents("/root/aspic/$dep-$reqId-$reqNom.txt",$page['body']);
|
||||
$size=round(strlen($page['body'])/1024,1);
|
||||
echo "$dep: $nomDep $reqId-$reqNom $size Ko".EOL;
|
||||
}
|
||||
$post='';
|
||||
}
|
||||
}
|
||||
|
||||
die();
|
||||
for ($depIn=1; $depIn<96; $depIn++) {
|
||||
if ($depIn*1<10) $depIn='0'.$depIn*1;
|
||||
die();
|
||||
$body=$page['body'];
|
||||
}
|
||||
/* if (preg_match_all('/<li id="(.*)">(.*) \((.*)\)<\/li>/Uim', $body, $matches)) {
|
||||
foreach ($matches[1] as $j=>$cp) {
|
||||
$ville=strip_tags(utf8_decode($matches[2][$j]));
|
||||
echo $cp.'='.$ville.EOL;
|
||||
$iDb->insert('zonesVilles', array( 'cp'=>$cp,
|
||||
'commune'=>$ville));
|
||||
|
||||
randsleep(7,21);
|
||||
*/
|
||||
?>
|
@ -1,675 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$tabInfosGlobal=array();
|
||||
$repPdfAssoCpt='/home/data/bilans_asso/';
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
//print_r(getPdfInfo('/home/data/bilans_asso/333512119_31122006.pdf'));
|
||||
//die();
|
||||
/*$tabReg=array( '', // Test pour récupérer les manquants
|
||||
|
||||
'Aquitaine', // Aquitaine
|
||||
'Alsace', // Alsace
|
||||
'Auvergne', // Auvergne
|
||||
'Basse-Normandie', // Basse-Normandie
|
||||
'Bourgogne', // Bourgogne
|
||||
'Bretagne', // Bretagne
|
||||
'Centre', // Centre
|
||||
'Champagne', // Champagne
|
||||
'Corse', // Corse
|
||||
'Franche-Comté', // Franche-Comté
|
||||
'Haute-Normandie', // Haute-Normandie
|
||||
'Île-de-France', // Île-de-France
|
||||
'Languedoc-Roussillon', // Languedoc-Roussillon
|
||||
'Limousin', // Limousin
|
||||
'Lorraine', // Lorraine
|
||||
'Midi Pyrénées', // Midi Pyrénées
|
||||
'Nord-Pas-de-Calais', // Nord-Pas-de-Calais
|
||||
'Outre-Mer', // Outre-Mer
|
||||
'Pays-de-la-Loire', // Pays-de-la-Loire
|
||||
'Picardie', // Picardie
|
||||
'Poitou-Charentes', // Poitou-Charentes
|
||||
'Provence-Alpes-Côte-d\'Azur', // Provence-Alpes-Côte-d'Azur
|
||||
'Rhône-Alpes',); // Rhône-Alpes
|
||||
);*/
|
||||
global $tabDep;
|
||||
$tabDep=array( 'Dordogne'=>'24',
|
||||
'Gironde'=>'33',
|
||||
'Landes'=>'40',
|
||||
'Lot-et-Garonne'=>'47',
|
||||
'Pyrénées-Atlantiques'=>'64',
|
||||
'Bas-Rhin'=>'67',
|
||||
'Haut-Rhin'=>'68',
|
||||
'Allier'=>'03',
|
||||
'Cantal'=>'15',
|
||||
'Haute-Loire'=>'43',
|
||||
'Puy-de-Dôme'=>'63',
|
||||
'Calvados'=>'14',
|
||||
'Manche'=>'50',
|
||||
'Orne'=>'61',
|
||||
'Côte-d\'Or'=>'21',
|
||||
'Nièvre'=>'58',
|
||||
'Saône-et-Loire'=>'71',
|
||||
'Yonne'=>'89',
|
||||
'Côtes-d\'Armor'=>'22',
|
||||
'Finistère'=>'29',
|
||||
'Ille-et-Vilaine'=>'35',
|
||||
'Morbihan'=>'56',
|
||||
'Cher'=>'18',
|
||||
'Eure-et-Loir'=>'28',
|
||||
'Indre'=>'36',
|
||||
'Indre-et-Loire'=>'37',
|
||||
'Loir-et-Cher'=>'41',
|
||||
'Loiret'=>'45',
|
||||
'Ardennes'=>'08',
|
||||
'Aube'=>'10',
|
||||
'Haute-Marne'=>'52',
|
||||
'Marne'=>'51',
|
||||
'Corse-du-sud'=>'2A',
|
||||
'Haute-Corse'=>'2B',
|
||||
'Doubs'=>'25',
|
||||
'Haute-Saône'=>'70',
|
||||
'Jura'=>'39',
|
||||
'Territoire-de-Belfort'=>'90',
|
||||
'Eure'=>'27',
|
||||
'Seine-Maritime'=>'76',
|
||||
'Essonne'=>'91',
|
||||
'Hauts-de-Seine'=>'92',
|
||||
'Paris'=>'75',
|
||||
'Seine-et-Marne'=>'77',
|
||||
'Seine-Saint-Denis'=>'93',
|
||||
'Val-d\'Oise'=>'95',
|
||||
'Val-de-Marne'=>'94',
|
||||
'Yvelines'=>'78',
|
||||
'Aude'=>'11',
|
||||
'Gard'=>'30',
|
||||
'Hérault'=>'34',
|
||||
'Lozère'=>'48',
|
||||
'Pyrénées-Orientales'=>'66',
|
||||
'Corrèze'=>'19',
|
||||
'Creuse'=>'23',
|
||||
'Haute-Vienne'=>'87',
|
||||
'Moselle'=>'57',
|
||||
'Meurthe-et-Moselle'=>'54',
|
||||
'Meuse'=>'55',
|
||||
'Vosges'=>'88',
|
||||
'Ariège'=>'09',
|
||||
'Aveyron'=>'12',
|
||||
'Gers'=>'32',
|
||||
'Haute-Garonne'=>'31',
|
||||
'Hautes-Pyrénées'=>'65',
|
||||
'Lot'=>'46',
|
||||
'Tarn'=>'81',
|
||||
'Tarn-et-Garonne'=>'82',
|
||||
'Nord'=>'59',
|
||||
'Pas-de-calais'=>'62',
|
||||
'Guadeloupe'=>'971',
|
||||
'Guyane'=>'973',
|
||||
'Martinique'=>'972',
|
||||
'Réunion'=>'974',
|
||||
'Saint-Pierre-et-Miquelon'=>'975',
|
||||
'Mayotte'=>'976',
|
||||
'Loire-Atlantique'=>'44',
|
||||
'Maine-et-Loire'=>'49',
|
||||
'Mayenne'=>'53',
|
||||
'Sarthe'=>'72',
|
||||
'Vendée'=>'85',
|
||||
'Aisne'=>'02',
|
||||
'Oise'=>'60',
|
||||
'Somme'=>'80',
|
||||
'Charente'=>'16',
|
||||
'Charente-Maritime'=>'17',
|
||||
'Deux-Sèvres'=>'79',
|
||||
'Vienne'=>'86',
|
||||
'Alpes-de-Haute-Provence'=>'04',
|
||||
'Alpes-Maritimes'=>'06',
|
||||
'Bouches-du-Rhone'=>'13',
|
||||
'Hautes-Alpes'=>'05',
|
||||
'Var'=>'83',
|
||||
'Vaucluse'=>'84',
|
||||
'Ain'=>'01',
|
||||
'Ardèche'=>'07',
|
||||
'Drôme'=>'26',
|
||||
'Haute-Savoie'=>'74',
|
||||
'Isère'=>'38',
|
||||
'Loire'=>'42',
|
||||
'Rhône'=>'69',
|
||||
'Savoie'=>'73',);
|
||||
/*$tabReg=array(//'R1', // ALSACE
|
||||
'R2', // AQUITAINE
|
||||
'R3', // AUVERGNE
|
||||
'R4', // BOURGOGNE
|
||||
'R5', // BRETAGNE
|
||||
'R6', // CENTRE
|
||||
'R7', // CHAMPAGNE-ARDENNES
|
||||
'R8', // CORSE
|
||||
'R9', // FRANCHE-COMTE;
|
||||
'R10', // ILE-DE-FRANCE
|
||||
'R11', // LANGUEDOC-ROUSSILLON
|
||||
'R12', // LIMOUSIN
|
||||
'R13', // LORRAINE
|
||||
'R14', // MIDI-PYRENEES
|
||||
'R15', // NORD-PAS-DE-CALAIS
|
||||
'R16', // BASSE-NORMANDIE
|
||||
'R17', // HAUTE-NORMANDIE
|
||||
'R18', // PAYS-DE-LA-LOIRE
|
||||
'R19', // PICARDIE
|
||||
'R20', // POITOU-CHARENTES
|
||||
'R21', // PROVENCE-ALPES-COTE-D'AZUR
|
||||
'R22', // RHONE-ALPES
|
||||
'R100', ); // OUTRE-MER
|
||||
*/
|
||||
function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
|
||||
$tabAnn=array();
|
||||
global $tabDep;
|
||||
global $iInsee;
|
||||
|
||||
$tabAnn['Assoc_Nom']=htm2txt(@getTextInHtml($annonceHtml, '<p>Association : <b>', '<b>', '</b>'));
|
||||
if (substr($tabAnn['Assoc_Nom'],-1)=='.')
|
||||
$tabAnn['Assoc_Nom']=substr($tabAnn['Assoc_Nom'],0,-1);
|
||||
// $tabAnn['Siret']='';//@getTextInHtml($annonceHtml, '<p>No/Identifiant : <b>', '<b>', '</b>');
|
||||
$tabAnn['Siren']=str_replace(' ','', strtr(htm2txt(@getTextInHtml($annonceHtml, '<p>Siren : <b>', '<b>', '</b>')),' .-/;,',' '))*1;
|
||||
$tabAnn['sirenValide']=$iInsee->valideSiren($tabAnn['Siren']);
|
||||
$tabAnn['Waldec']=strtoupper(@getTextInHtml($annonceHtml, '<p>Identification R.N.A. : <b>', '<b>', '</b>'));
|
||||
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="LEFT"><br>', '<br>', '</p>'))));
|
||||
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
|
||||
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="left"></p> <p align="left">', '</p> <p align="left">', '</p>'))));
|
||||
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
|
||||
$tabAnn['Annonce_Html']='#####'.str_replace(chr(160), ' ', html_entity_decode($annonceHtml));
|
||||
|
||||
if ($depotComptes) {
|
||||
$tmp=@getTextInHtml($annonceHtml, 'Date de clôture de l\'exercice : <b>', '<b>', '</b>');
|
||||
$tabAnn['dateCloture']=WDate::dateT('d/m/Y', 'Y-m-d', $tmp);
|
||||
$tabAnn['pdfLink']=@getTextInHtml($annonceHtml, '<a href="/', '/', '">');
|
||||
$tabAnn['typeCompte']=@getTextInHtml($annonceHtml, '<a href="/', '">>', '</a>');
|
||||
$tabAnn['dateInsert']=date('YmdHis');
|
||||
} else {
|
||||
$tabAnn['nic']=0;
|
||||
$tabAnn['nicValide']=0;
|
||||
$tabAnn['Activite']=htm2txt(@getTextInHtml($annonceHtml, 'Activité(s) : <b>', '<b>', '</b>'));
|
||||
$tabAnn['Num_Annonce']=@getTextInHtml($annonceHtml, 'No d\'annonce : <b>', '<b>', '</b>');
|
||||
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
|
||||
$tabAnn['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
|
||||
$tabAnn['Num_Parution']=@getTextInHtml($annonceHtml, 'No de parution : <b>', '<b>', '</b>');
|
||||
$depReg=trim(htm2txt(@getTextInHtml($annonceHtml, 'Département (Région) : <b>','<b>','</b></p>')));
|
||||
$tabDepReg=explode('(', $depReg);
|
||||
$dep=trim($tabDepReg[0]);
|
||||
$numDep=$tabDep[$dep];
|
||||
if ($numDep=='') echo date ('Y/m/d - H:i:s') ." - Attention, département '$dep' non trouvé !". EOL;
|
||||
$region=trim(substr($tabDepReg[1],0,strlen($tabDepReg[1])-1));
|
||||
$tabAnn['Departement']=$numDep;
|
||||
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, '<p>Lieu parution : <b>Déclaration à la ', ' à la ', '</b>'));
|
||||
$tabAnn['Type_Annonce']=htm2txt(@getTextInHtml($annonceHtml, 'Type d\'annonce : <b>', '<b>', '</b>'));
|
||||
|
||||
/** Recherche du type d'association
|
||||
**/
|
||||
if (preg_match('/ASL/i', $tabAnn['Type_Annonce']) || preg_match('/syndicale/i', $tabAnn['Type_Annonce']))
|
||||
$tabAnn['typeAsso']='ASL';
|
||||
elseif (preg_match('/Fondation/i', $tabAnn['Type_Annonce']))
|
||||
$tabAnn['typeAsso']='FON';
|
||||
elseif (preg_match('/dotation/i', $tabAnn['Type_Annonce']))
|
||||
$tabAnn['typeAsso']='FOD';
|
||||
else
|
||||
$tabAnn['typeAsso']='ASS';
|
||||
|
||||
/** Recherche du type d'insertion
|
||||
**/
|
||||
if (preg_match('/ANNULATION/i', $tabAnn['Type_Annonce']))
|
||||
$tabAnn['typeAnnonce']='Suppression';
|
||||
elseif (preg_match('/RECTIFICATIF/i', $tabAnn['Type_Annonce']))
|
||||
$tabAnn['typeAnnonce']='Rectificatif';
|
||||
else
|
||||
$tabAnn['typeAnnonce']='Insertion';
|
||||
|
||||
$tabAnn['Assoc_Duree']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Durée :', 'Durée :', '.<br>')));
|
||||
$tabAnn['Assoc_Dotation']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Montant de la dotation initiale :', 'initiale :', '.<br>')));
|
||||
$tabAnn['Assoc_ProgAction']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'action pluriannuel :', 'pluriannuel :', '.<br>')));
|
||||
$tabAnn['Assoc_Fondateurs']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], ' de chacun des fondateurs :', 'fondateurs :', '.</p>')));
|
||||
|
||||
|
||||
//<p align="LEFT">Autorisation administrative.</p> <p align="LEFT">
|
||||
//Date de signature de statuts : 21 décembre 1992.<br>
|
||||
//Date de la modification des statuts : 7 février 1996, autorisation délivrée par le préfet 16 mars 1996.</p> <p align="LEFT">Autorisation tacite.</p> <p align="LEFT">
|
||||
//Date de la demande de modification des statuts : 7 février 1996, sollicitée auprès du préfet de Paris.</p>
|
||||
|
||||
|
||||
$tabAnn['Assoc_Web']=@getTextInHtml($tabAnn['Annonce_Html'], 'ite Internet : </i>', '</i>', '<i>');
|
||||
if (substr($tabAnn['Assoc_Web'],-1)=='.')
|
||||
$tabAnn['Assoc_Web']=substr($tabAnn['Assoc_Web'],0,-1);
|
||||
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Courriel : </i>', '</i>', '<i>');
|
||||
if ($tabAnn['Assoc_Mail']=='')
|
||||
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Mél. : </i>', '</i>', '<i>');
|
||||
if (substr($tabAnn['Assoc_Mail'],-1)=='.')
|
||||
$tabAnn['Assoc_Mail']=substr($tabAnn['Assoc_Mail'],0,-1);
|
||||
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Objet : </i>', '</i>', '<i>'));
|
||||
if(trim($tabAnn['Assoc_Objet'])=='')
|
||||
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Objet : </i>', '</i>', '<br>'));
|
||||
|
||||
$tabAnn['Assoc_NObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouvel objet : </i>', '</i>', '<i>'));
|
||||
$tabAnn['Assoc_AObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Additif à l’objet : </i>', '</i>', '<i>'));
|
||||
$tabAnn['Assoc_NAdresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Transféré ; nouvelle adresse : </i>', '</i>', '. <i>'));
|
||||
$tabAnn['Assoc_Fusion']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Fusion des associations : </i>', '</i>', '<i>'));
|
||||
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Siège social : </i>', '</i>', '. <i>'));
|
||||
// Fondations
|
||||
if (trim($tabAnn['Assoc_Adresse'])=='')
|
||||
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.<br>'));
|
||||
if (trim($tabAnn['Assoc_Adresse'])=='')
|
||||
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.</p>'));
|
||||
|
||||
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de la déclaration : </i>', '</i>', '.'));
|
||||
if ($tabAnn['Assoc_Date_Declaration']=='')
|
||||
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de délivrance du récépissé : </i>', '</i>', '.'));
|
||||
// Fondations
|
||||
if(trim($tabAnn['Assoc_Date_Declaration'])=='') {
|
||||
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'autorisation administrative :', 'administrative :', ',')));
|
||||
if (trim($tabAnn['Assoc_Date_Declaration'])=='')
|
||||
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Date de la modification des statuts :', 'statuts :', ',')));
|
||||
if(trim($tabAnn['Sous_Prefecture'])=='')
|
||||
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '<br>'));
|
||||
if(trim($tabAnn['Sous_Prefecture'])=='')
|
||||
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '</p>'));
|
||||
}
|
||||
$tabAnn['Assoc_Date_Declaration2']=WDate::dateT('d M Y', 'Y-m-d', $tabAnn['Assoc_Date_Declaration']);
|
||||
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Ancien titre : </i>', '</i>', '<i>'));
|
||||
$tabAnn['Assoc_Annulation']='Annulation '.htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Annulation', '</i>', '.'));
|
||||
/*<i>Annulation </i>de l’insertion n<sup>o</sup> 1014, parue au <i>Journal officiel </i>n<sup>o</sup> 25, du 24 juin 2006, page 3106.*/
|
||||
if ($tabAnn['Assoc_Annulation']=='Annulation ') $tabAnn['Assoc_Annulation']='';
|
||||
|
||||
if ($tabAnn['Assoc_ANom']=='')
|
||||
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Au lieu de : </i>', '</i>', '<i>'));
|
||||
if (substr($tabAnn['Assoc_ANom'],-1)=='.')
|
||||
$tabAnn['Assoc_ANom']=substr($tabAnn['Assoc_ANom'],0,-1);
|
||||
$tabAnn['Assoc_NNom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouveau titre :', '</i>', '<i>'));
|
||||
if (substr($tabAnn['Assoc_NNom'],-1)=='.')
|
||||
$tabAnn['Assoc_NNom']=substr($tabAnn['Assoc_NNom'],0,-1);
|
||||
}
|
||||
return $tabAnn;
|
||||
}
|
||||
|
||||
$tempsMinEntreRequetes=5;
|
||||
$tempsMaxEntreRequetes=30;
|
||||
set_time_limit(0);
|
||||
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=$verif=false;
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les annonces Association sur le site du JO Association.
|
||||
|
||||
Sans aucun paramètre, récupération du dernier JO Association.
|
||||
Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
-l Dernier JO Association uniquement (*)
|
||||
-c Dépôts des comptes uniquement
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-v Vérifier que toutes les annonces du JO sont en base !
|
||||
";
|
||||
$depotComptes=false;
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $lastJO=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$dateDebut=substr($argv[$i],3,10);
|
||||
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
break;
|
||||
case 'n':
|
||||
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
|
||||
break;
|
||||
case 'l':
|
||||
$lastJO=true;
|
||||
break;
|
||||
case 'v':
|
||||
$verif=true;
|
||||
break;
|
||||
case 'c':
|
||||
$depotComptes=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($depotComptes)
|
||||
$tabReg=array( 'ASSOCIATION%2FCOMPTE',
|
||||
'FONDATION%2FCOMPTE',
|
||||
'FONDS+DE+DOTATION%2FCOMPTE',
|
||||
'AUTRE%2FCOMPTE',
|
||||
);
|
||||
else
|
||||
$tabReg=array( 'ASSOCIATION%2FCREATION',
|
||||
'ASSOCIATION%2FMODIFICATION',
|
||||
'ASSOCIATION%2FDISSOLUTION',
|
||||
'ASL',
|
||||
'FONDATION',
|
||||
'DECISION+JUSTICE',
|
||||
'AUTRE',
|
||||
'FONDS+DE+DOTATION',
|
||||
);
|
||||
|
||||
$iDb=new WDB();
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$referer='http://www.journal-officiel.gouv.fr/association/';
|
||||
|
||||
if ($verif) {
|
||||
echo date('Y/m/d - H:i:s') ." - Comptage du nombre d'annonce présentes en base par date de parution...". EOL;
|
||||
$AnnDb=$iDb->select('asso', 'Date_Parution, count(*) as nb', '1 GROUP BY Date_Parution');
|
||||
foreach ($AnnDb as $i=>$tabDates) {
|
||||
if ($tabDates[0]<>'0000-00-00') {
|
||||
$parDate=$tabDates[0];
|
||||
$parNb =$tabDates[1];
|
||||
$dateFmt=str_replace('/', '%2F', WDate::dateT('Y-m-d', 'd/m/Y',$parDate));
|
||||
$url="http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JPA_D_D=$dateFmt&JPA_D_F=".$dateFmt.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
|
||||
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
|
||||
$body=$page['body'];
|
||||
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
|
||||
$nbAnnonces=@getTextInHtml($body, '<p>Résultat de la recherche : <strong>', '<strong>', 'annonce(s)</strong>');
|
||||
if ($nbAnnonces<>$parNb && $nbAnnonces<>0)
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / $nbAnnonces annonces parues !". EOL;
|
||||
elseif ($nbAnnonces==0)
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / Plus d'annonces sur le site JO.". EOL;
|
||||
//die(print_r($body));
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
//die();
|
||||
}
|
||||
}
|
||||
|
||||
die();
|
||||
}
|
||||
|
||||
if ($lastJO==true) {
|
||||
$strLast=' dernier';
|
||||
$strDates='';
|
||||
}
|
||||
else {
|
||||
$strLast='';
|
||||
if ($depotComptes) {
|
||||
if ($dateDebut==false) {
|
||||
$dateDeb= getNextDate(date('Ymd'),-5);
|
||||
$dateDebut= WDate::dateT('Ymd', 'd/m/Y',$dateDeb);
|
||||
}
|
||||
if ($dateFin==false) {
|
||||
$dateF= getNextDate(date('Ymd'),0);
|
||||
$dateFin= WDate::dateT('Ymd', 'd/m/Y',$dateF);
|
||||
}
|
||||
$dateCour= $dateDeb;
|
||||
}
|
||||
if ($dateFin==false) {
|
||||
$dateFin=date('d/m/Y');
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
}
|
||||
if ($dateDebut==false)
|
||||
die($strInfoProg);
|
||||
else
|
||||
$strDates=" du $dateDebut au $dateFin";
|
||||
$dateCour=$dateDeb;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO Association$strDates".EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
|
||||
flush();
|
||||
|
||||
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
|
||||
//echo date ('Y/m/d - H:i:s') ." - dateCour($dateCour) <= dateF($dateF) OU lastJO($lastJO)=true". $eol;
|
||||
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
|
||||
|
||||
if ($lastJO==true) { // Cas récup dernier JO
|
||||
$region='';
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=showLast';
|
||||
} else { // On est pas dans la récupération du JO Assoc Jiur
|
||||
$region=$tabReg[$i_reg];
|
||||
$reg5=substr($region,0,5);
|
||||
$dateFmt=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
|
||||
if ($depotComptes)
|
||||
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour,0)));
|
||||
else
|
||||
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour)));
|
||||
//$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID='.urlencode($tabReg[$i_reg]).'&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2;//&rechercher.x=44&rechercher.y=6&rechercher=Rechercher
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID='.$region.'&JTY_WALDEC=&JTY_SIREN=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
|
||||
// http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=ASSOCIATION%2FCOMPT&JTY_WALDEC=&JTY_SIREN=&JPA_D_D=01%2F01%2F1990&JPA_D_F=31%2F12%2F2009&rechercher.x=40&rechercher.y=9&rechercher=Rechercher
|
||||
$strLast='';
|
||||
}
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
|
||||
$body=$page['body'];
|
||||
//die(print_r($body));
|
||||
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
|
||||
$nbAnnonces=@getTextInHtml($body, 'Résultat de la recherche :', ' :', 'annonce(s)');
|
||||
$dateDerParution=@getTextInHtml($body, 'Annonce parue entre le :', ' et le ', '<br>'); // Date au format JJ/MM/AAAA
|
||||
// 01/08/2010 et le 01/08/2010<br>
|
||||
$nbPages=ceil($nbAnnonces/25);
|
||||
if ($nbPages>100) {
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Il y a plus de 100 pages d\'annonces !'. EOL;
|
||||
die();
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - Clé de contexte = $ctx".EOL;
|
||||
unset($AnnDb);
|
||||
$nbAnnDb=0;
|
||||
if ($lastJO==true) {
|
||||
echo date('Y/m/d - H:i:s') .' - Derniere parution ASSO le '. $dateDerParution .' de '. $nbAnnonces .' annonces ('. $nbPages .' pages)'. EOL;
|
||||
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
|
||||
$dateDb=substr($dateDerParution,6,4).'-'.substr($dateDerParution,3,2).'-'.substr($dateDerParution,0,2);
|
||||
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
|
||||
$nbAnnDb=$AnnDb[0]['nb'];
|
||||
if ($nbAnnDb==$nbAnnonces) {
|
||||
echo date('Y/m/d - H:i:s') .' - Toutes les annonces du '. $dateDerParution .' sont en base !'. EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();
|
||||
}
|
||||
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
|
||||
$message=date('Y/m/d - H:i:s') .' - ATTENTION : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO Association du '. $dateDerParution .' !'. EOL;
|
||||
echo $message;
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association', $message);
|
||||
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
|
||||
}
|
||||
} else {
|
||||
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
|
||||
$dateDb=substr($dateCour,0,4).'-'.substr($dateCour,4,2).'-'.substr($dateCour,6,2);
|
||||
$dateDerParution=WDate::dateT('Y-m-d', 'd/m/Y',$dateDb);
|
||||
if ($depotComptes) {
|
||||
switch ($region) {
|
||||
case 'ASSOCIATION%2FCOMPTE': $strRegSql=" AND typeAsso='ASS' "; break;
|
||||
case 'FONDATION%2FCOMPTE': $strRegSql=" AND typeAsso='FON' "; break;
|
||||
case 'FONDS+DE+DOTATION%2FCOMPTE': $strRegSql=" AND typeAsso='FOD' "; break;
|
||||
case 'AUTRE%2FCOMPTE': $strRegSql=" AND typeAsso='DIV' "; break;
|
||||
}
|
||||
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Assoc_Date_Declaration='$dateDb' $strRegSql", false, MYSQL_ASSOC);
|
||||
$strJO='depôts des comptes associations';
|
||||
} else {
|
||||
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
|
||||
$strJO='associations';
|
||||
}
|
||||
$nbAnnDb=$AnnDb[0]['nb'];
|
||||
if ($nbAnnDb>=$nbAnnonces) {
|
||||
echo mysql_error().EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces $strJO $reg5 du $dateDerParution ($dateDb) sont en base ($nbAnnDb) !". EOL;
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
continue;
|
||||
}
|
||||
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
|
||||
$message.=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
|
||||
}
|
||||
else {
|
||||
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
|
||||
}
|
||||
}
|
||||
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
|
||||
for ($j=1; $j<26 && isset($tabAnnonces[$j]); $j++)
|
||||
$tabAnn[$j-1]=$tabAnnonces[$j];
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
$referer=$url;
|
||||
for ($i=2; $i<=$nbPages; $i++)
|
||||
{
|
||||
if (!$lastJO) {
|
||||
$data='';
|
||||
$date1=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
|
||||
if ($depotComptes)
|
||||
$date2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour,0)));
|
||||
else
|
||||
$date2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour)));
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ctx='.$ctx.'&page='.$i.'&JRE_ID='.urlencode($region).'&JPA_D_D='.$date1.'&JPA_D_F='.$date2;
|
||||
|
||||
} else {
|
||||
$date1='';$date2='';$data='1';
|
||||
$url='http://www.journal-officiel.gouv.fr/association/index.php?ctx='.$ctx.'&page='.$i;
|
||||
}
|
||||
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
|
||||
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
|
||||
for ($j=1; $j<26; $j++) {
|
||||
$k=$j+(25*($i-1))-1;
|
||||
if ($k<$nbAnnonces)
|
||||
$tabAnn[$k]=$tabAnnonces[$j];
|
||||
}
|
||||
flush();
|
||||
if ($i==2)
|
||||
echo date('Y/m/d - H:i:s') ." - Page $i/$nbPages";
|
||||
else
|
||||
echo ", $i/$nbPages";
|
||||
if ($i==$nbPages)
|
||||
echo '.'.EOL;
|
||||
else
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
|
||||
$tabActivites=array();
|
||||
for ($i=0; $i<$nbAnnonces; $i++) {
|
||||
$infoAnnBalo=getInfosAnnonceAsso($tabAnn[$i], $depotComptes);
|
||||
|
||||
$tabInfos=array();
|
||||
preg_match_all("|<i>(.*)</i>|U", $infoAnnBalo['Annonce_Html'], $tabInfos);
|
||||
$tabInfosGlobal=array_unique(array_merge($tabInfosGlobal, $tabInfos[1]));
|
||||
// On recherche si nous n'avons pas déjà cette annonce en base !
|
||||
if ($depotComptes) {
|
||||
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Siren=".$infoAnnBalo['Siren']." AND Waldec='".$infoAnnBalo['Waldec']."' AND dateCloture='".$infoAnnBalo['dateCloture']."'", false, MYSQL_ASSOC);
|
||||
// $AnnDb[0][0]=0;
|
||||
} else {
|
||||
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Num_Annonce='".$infoAnnBalo['Num_Annonce']."' AND Date_Parution='".$infoAnnBalo['Date_Parution']."' AND Num_Parution='".$infoAnnBalo['Num_Parution']."'", false, MYSQL_ASSOC);
|
||||
$dateAff=$infoAnnBalo['Date_Parution'];
|
||||
}
|
||||
$nbAnnDb=$AnnDb[0]['nb'];
|
||||
$i2=$i+1;
|
||||
$strRegion=', '. $region;
|
||||
|
||||
if ($depotComptes) {
|
||||
$table='asso_bilans';
|
||||
// Si le bilan PDF n'est pas déjà sur le disk, on va le chercher !
|
||||
switch ($region) {
|
||||
case 'ASSOCIATION%2FCOMPTE': $infoAnnBalo['typeAsso']='ASS'; break;
|
||||
case 'FONDATION%2FCOMPTE': $infoAnnBalo['typeAsso']='FON'; break;
|
||||
case 'FONDS+DE+DOTATION%2FCOMPTE': $infoAnnBalo['typeAsso']='FOD'; break;
|
||||
case 'AUTRE%2FCOMPTE':
|
||||
default: $infoAnnBalo['typeAsso']='DIV'; break;
|
||||
}
|
||||
$dateAff=$dateCour.' ('.$infoAnnBalo['dateCloture'].')';
|
||||
$infoAnnBalo['Assoc_Date_Declaration']=$dateCour;
|
||||
$tabPdf=getPdfInfo($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']));
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl('http://www.journal-officiel.gouv.fr/'.$infoAnnBalo['pdfLink'], '', '', '', false);
|
||||
@mkdir($repPdfAssoCpt);
|
||||
$fp=@fopen($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']), 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp) {
|
||||
$message.=date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
|
||||
}
|
||||
@fclose($fp);
|
||||
$tabPdf=getPdfInfo($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']));
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
$infoAnnBalo['pdfSize'] = $tabPdf['pdfSize'];
|
||||
$infoAnnBalo['pdfVer'] = $tabPdf['version'];
|
||||
$infoAnnBalo['pdfPage'] = $tabPdf['nbPages'];
|
||||
} else {
|
||||
$table='asso';
|
||||
$tabTmp=explode('/',$infoAnnBalo['Activite']);
|
||||
$tabActivites=array_merge($tabActivites, $tabTmp);
|
||||
}
|
||||
if ($nbAnnDb==1) {
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" déjà en base !'.EOL;
|
||||
// L'annonce est déjà en base !
|
||||
continue;
|
||||
} else {
|
||||
$message.=date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'"... enregistrement'.EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'"... enregistrement'.EOL;
|
||||
}
|
||||
|
||||
if (!$iDb->insert($table, $infoAnnBalo))
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
|
||||
}
|
||||
|
||||
if ($lastJO) {
|
||||
print_r($tabInfosGlobal);
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();
|
||||
}
|
||||
unset($tabAnn);
|
||||
} // Fin boucle région
|
||||
if ($depotComptes)
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
else
|
||||
$dateCour=getNextDate($dateCour);
|
||||
|
||||
} // Fin boucle Data
|
||||
|
||||
if ($depotComptes) {
|
||||
//
|
||||
$AnnDb=$iDb->select('annonces', 'MAX(dateSource) AS dateMAJ', "typeEven=3200", false, MYSQL_ASSOC);
|
||||
$dateMaj=$AnnDb[0]['dateMAJ'];
|
||||
// echo date('Y/m/d - H:i:s') ." - Dernière mise à jour des annonces dépots en collecte en date du $dateMaj.".EOL;
|
||||
|
||||
$AnnDb=$iDb->select('asso_bilans',
|
||||
"Assoc_Nom AS raisonSociale, siren, sirenValide, dateCloture AS dateEffetFinP, Assoc_Date_Declaration AS dateJugement, dateInsert AS dateSource,
|
||||
'3200' AS typeEven, 'DJOFFJ' AS tribunal, 'JS' AS source, Waldec",
|
||||
"dateInsert>'$dateMaj' ORDER BY dateEffetFinP DESC", false, MYSQL_ASSOC);
|
||||
$nbAnnonces=count($AnnDb);
|
||||
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
|
||||
|
||||
foreach ($AnnDb as $i=>$tabInsert) {
|
||||
$tabTmp=$iInsee->getIdentiteLight($tabInsert['siren']);
|
||||
$tabInsert['adresse'] = $tabTmp['Adresse'];
|
||||
$tabInsert['codePostal']= $tabTmp['CP'];
|
||||
$tabInsert['ville'] = $tabTmp['Ville'];
|
||||
$tabInsert['dateInsert']= date('YmdHis');
|
||||
if (trim($tabInsert['Waldec'])<>'')
|
||||
$tabInsert['complement']= 'Identifiant Waldec : '.$tabInsert['Waldec'];
|
||||
unset($tabInsert['Waldec']);
|
||||
//print_r($tabInsert);
|
||||
//die();
|
||||
if (!$iDb->insert('annonces', $tabInsert))
|
||||
echo '';//date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
|
||||
}
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association Comptes', $message);
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script.'. EOL;
|
||||
|
||||
?>
|
@ -1,313 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
function getInfosAnnonceBalo($annonceHtml) {
|
||||
$tabAnnBalo=array();
|
||||
//Société : <b>ARGAN</b><br/>
|
||||
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
|
||||
//if ($tabAnnBalo['Societe_Nom']=='')
|
||||
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>')));
|
||||
//<p>RCS : <b>393430608 </b>
|
||||
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>'));
|
||||
// Catégorie : <b><i> BULLETIN OFFICIEL DE L'AMF </i></b><br/>
|
||||
$tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : <b><i>', '<i>', '</i>'))));
|
||||
// N° d'affaire : <b>0712845</b><br />
|
||||
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
|
||||
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br />
|
||||
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
|
||||
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
|
||||
// (Parution n°<b>95</b>) <br />
|
||||
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
|
||||
/*<p>Annonce au format
|
||||
<a class="grisbleu" href="http://balo.journal-officiel.gouv.fr/html/2007/0808/200708080712646.htm" target="_blank"><b>HTML</b></a> ou
|
||||
<a class="grisbleu" href="https://balo.journal-officiel.gouv.fr/pdf/2007/0808/200708080712646.pdf" target="_blank"><b>PDF</b></a></p>*/
|
||||
$tabAnnBalo['Url_Annonce_Html']=str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p>Annonce au format', 'href="', '" target="_blank"><b>HTML</b></a>')));
|
||||
$tabAnnBalo['Url_Annonce_Pdf']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'target="_blank"><b>HTML</b></a> ou', 'href="', '" target="_blank"><b>PDF</b></a></p>'))));
|
||||
|
||||
return $tabAnnBalo;
|
||||
}
|
||||
|
||||
|
||||
$repBalo='/home/data/balo/'; // Avec slash final SVP !!!
|
||||
$repBaloComp='/home/data/balo/full/'; // Avec slash final SVP !!!
|
||||
|
||||
$tempsMinEntreRequetes=5;
|
||||
$tempsMaxEntreRequetes=30;
|
||||
set_time_limit(0);
|
||||
$iDb=new WDB();/*
|
||||
$iInsee=new MInsee();
|
||||
$iBourse=new MBourse();
|
||||
*/
|
||||
|
||||
$cookie='';
|
||||
$dateDerParution=$dateCour=$dateF=false;
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les dernières annonces BALO sur le site de la DJO.
|
||||
|
||||
Sans aucun paramètre, récupération des dernières Annonces.
|
||||
Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
-l Dernière parution uniquement (*)
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $lastJO=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$dateDebut=substr($argv[$i],3,10);
|
||||
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'n':
|
||||
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
|
||||
break;
|
||||
case 'l':
|
||||
$lastJO=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($lastJO==true) {
|
||||
$strLast=' dernier';
|
||||
$strDates='';
|
||||
}
|
||||
else {
|
||||
$strLast='';
|
||||
if ($dateFin==false) {
|
||||
$dateFin=date('d/m/Y');
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
}
|
||||
if ($dateDebut==false)
|
||||
die($strInfoProg);
|
||||
else
|
||||
$strDates=" du $dateDebut au $dateFin";
|
||||
$dateCour=$dateDeb;
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL;
|
||||
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
|
||||
flush();
|
||||
|
||||
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
|
||||
//for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
|
||||
|
||||
if ($cookie=='') {
|
||||
$referer='';
|
||||
$url='http://www.journal-officiel.gouv.fr/balo/';
|
||||
$page=getUrl($url, '', '', $referer);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
$cookie=$page['header']['Set-Cookie'];
|
||||
echo date('Y/m/d - H:i:s') .' - Cookie = "'. trim($cookie) .'"' . EOL;
|
||||
$dateDerParution=@getTextInHtml($body, 'Dernière parution</A> <span style="font-size:10px">(', '10px">(', ')</span></P>');
|
||||
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
|
||||
}
|
||||
|
||||
if ($lastJO==true) { // Cas récup dernier JO
|
||||
$dateAff=$dateDerParution;
|
||||
$url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast';
|
||||
} else { // On est pas dans la récupération du JO Assoc Jiur
|
||||
$dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour);
|
||||
$dateFmt=str_replace('/', '%2F', $dateAff);
|
||||
$url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher";
|
||||
}
|
||||
|
||||
$page=getUrl($url, $cookie, '', $referer);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
$ctx=@getTextInHtml($body, '<a href="index.php?ctx=', 'ctx=', '&page=');
|
||||
echo date('Y/m/d - H:i:s') .' - Clé Ctx = "'. $ctx .'"' . EOL;
|
||||
|
||||
$nbAnnonces=@getTextInHtml($body, '<h1>RÉSULTAT DE LA RECHERCHE :</h1>', 'recherche :', 'annonce(s) correspondent');
|
||||
//die(print_r($body));
|
||||
$nbPages=ceil($nbAnnonces/10);
|
||||
|
||||
if ($lastJO==true) echo date('Y/m/d - H:i:s') ." - Derniere parution BALO le $dateDerParution de $nbAnnonces annonces ($nbPages pages)...". EOL;
|
||||
else echo date('Y/m/d - H:i:s') ." - Parution BALO du $dateAff de $nbAnnonces annonces ($nbPages pages)...". EOL;
|
||||
if ($nbPages>100) {
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Il y a plus de 100 pages d\'annonces !'. EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
|
||||
$dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2);
|
||||
$AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'");
|
||||
$nbAnnDb=$AnnDb[0][0];
|
||||
|
||||
if ($nbAnnDb==$nbAnnonces) {
|
||||
echo date('Y/m/d - H:i:s') .' - Toutes les annonces du '. $dateAff .' sont en base !'. EOL;
|
||||
if ($lastJO) {
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();
|
||||
}
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
continue;
|
||||
} elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
|
||||
$message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL;
|
||||
echo $message;
|
||||
/* mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
|
||||
mail('lenaoury@gmail.com', 'JO BALO', $message);
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();*/
|
||||
}
|
||||
|
||||
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
|
||||
|
||||
for ($j=1; $j<11 && isset($tabAnnonces[$j]); $j++)
|
||||
$tabAnnBalo[($j-1)]=$tabAnnonces[$j];
|
||||
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
|
||||
|
||||
for ($i=2; $i<=$nbPages; $i++)
|
||||
{
|
||||
$url='http://www.journal-officiel.gouv.fr/balo/index.php?ctx='.$ctx.'&page='.$i;
|
||||
$page=getUrl($url, $cookie, '', $referer, false, 'www.journal-officiel.gouv.fr');
|
||||
$referer=$url;
|
||||
//print_r($page);
|
||||
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
|
||||
|
||||
for ($j=1; $j<11; $j++) {
|
||||
//$k=$j+(10*($i-1));
|
||||
$k=10*($i-1)+($j-1);
|
||||
if ($k<$nbAnnonces)
|
||||
$tabAnnBalo[$k]=$tabAnnonces[$j];
|
||||
}
|
||||
flush();
|
||||
if ($i==2)
|
||||
echo date('Y/m/d - H:i:s') ." - Page $i/$nbPages";
|
||||
else
|
||||
echo ", $i/$nbPages";
|
||||
if ($i==$nbPages)
|
||||
echo '.'.EOL;
|
||||
else
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
|
||||
//print_r($tabAnnBalo[$i]);
|
||||
//die();
|
||||
|
||||
for ($i=0; $i<$nbAnnonces; $i++){
|
||||
$infoAnnBalo=getInfosAnnonceBalo($tabAnnBalo[$i]);
|
||||
$anneeParution=substr($infoAnnBalo['Date_Parution'],0,4);
|
||||
$i2=$i+1;
|
||||
$siren=$infoAnnBalo['Societe_Rcs'];
|
||||
$isin='';
|
||||
|
||||
if ($siren>1000000) {
|
||||
/** Recherche du code ISIN / infos boursières **/
|
||||
$iBourse=new MBourse($siren);
|
||||
$isin=$iBourse->getCodeIsin($siren);
|
||||
$strIsin="(Isin=$isin) ";
|
||||
} else
|
||||
$strIsin="";
|
||||
echo date('Y/m/d - H:i:s') ." - Annonce n°$i2/$nbAnnonces, Siren $siren $strIsin: ".$infoAnnBalo['Societe_Nom'] .EOL;
|
||||
|
||||
$nbBoucles=0;
|
||||
while (1) {
|
||||
$nbBoucles++;
|
||||
$page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
|
||||
// [code] => 301
|
||||
// ['header']['Location'] => http://www.journal
|
||||
if ($page['code']==301) {
|
||||
echo date('Y/m/d - H:i:s') ." - On patiente $nbBoucles fois...". EOL;
|
||||
sleep(3600);
|
||||
} elseif ($page['code']==200) break;
|
||||
else {
|
||||
echo date('Y/m/d - H:i:s') ." - On a patienté $nbBoucles fois avant d'obtenir pour cette URL : ".$infoAnnBalo['Url_Annonce_Html'].EOL;
|
||||
print_r($page);
|
||||
}
|
||||
// echo $infoAnnBalo['Url_Annonce_Html'];
|
||||
// $page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
|
||||
}
|
||||
|
||||
//echo '<table border="1"><tr><td>'. $page['body'] .'</td></tr></table><hr/>';
|
||||
$infoAnnBalo['Annonce_Html']=$page['body'];
|
||||
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
|
||||
|
||||
$tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']));
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl($infoAnnBalo['Url_Annonce_Pdf']);
|
||||
@mkdir($repBalo.$anneeParution);
|
||||
$fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp)
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['Url_Annonce_Pdf']) .' pour le SIREN '. $infoAnnBalo['Societe_Rcs'] . EOL;
|
||||
@fclose($fp);
|
||||
|
||||
$tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']));
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
$infoAnnBalo['pdfSize'] = $tabPdf['pdfSize'];
|
||||
$infoAnnBalo['pdfVer'] = $tabPdf['version'];
|
||||
$infoAnnBalo['pdfPage'] = $tabPdf['nbPages'];
|
||||
|
||||
if (!$iDb->insert('balo', $infoAnnBalo)) {
|
||||
print_r($infoAnnBalo);
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : Insertion impossible de l\'annonce MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
|
||||
}
|
||||
$numParution=$infoAnnBalo['Num_Parution'];
|
||||
}
|
||||
|
||||
/** Téléchargement du dernier balo complet en PDF
|
||||
**/
|
||||
$url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF';
|
||||
if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) {
|
||||
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
|
||||
$page=getUrl($url, '', '', 'http://www.journal-officiel.gouv.fr/balo/', false, 'www.journal-officiel.gouv.fr');
|
||||
@mkdir($repBaloComp.$anneeParution);
|
||||
$fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp)
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL;
|
||||
@fclose($fp);
|
||||
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL;
|
||||
} else
|
||||
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL;
|
||||
$tabPdf=getPdfInfo($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF');
|
||||
if ($tabPdf) {
|
||||
$taillePdf=$tabPdf['pdfSize']/1024;
|
||||
echo date("Y/m/d - H:i:s") . ' - Fichier '.sprintf("%03d", $numParution).'_monte_final.PDF : '.$tabPdf['nbPages']." pages ($taillePdf ko, ".$tabPdf['version'].')'.EOL;
|
||||
}
|
||||
if ($lastJO) {
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO BALO', $message);
|
||||
|
||||
?>
|
@ -1,165 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(FWK_PATH.'common/ftp.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
|
||||
$tabSiren=array(353151459,
|
||||
947151239,
|
||||
303217368,
|
||||
409797230,
|
||||
493200281,
|
||||
378063903,
|
||||
398862078,
|
||||
308101591,
|
||||
410645121,
|
||||
389580606,
|
||||
317898492,
|
||||
405209099,
|
||||
438732083,
|
||||
442825410,
|
||||
451439459,
|
||||
337753149,
|
||||
313525909,
|
||||
379639420,
|
||||
401136312,
|
||||
403058415,
|
||||
331503656,
|
||||
418963005,
|
||||
312904394,
|
||||
332746718,
|
||||
412442022,
|
||||
421615295,
|
||||
504873852,
|
||||
342583796,
|
||||
307016121,
|
||||
408308120,
|
||||
314843277,
|
||||
391806056,
|
||||
433887130,
|
||||
709802599,
|
||||
490257573,
|
||||
438736407,
|
||||
421131558,
|
||||
450249040,
|
||||
341209724,
|
||||
796680668,
|
||||
452643190,
|
||||
388622086,
|
||||
432919108,
|
||||
440099059,
|
||||
344202114,
|
||||
320979834,
|
||||
324569748,
|
||||
334981735,
|
||||
378441919,
|
||||
430410969,
|
||||
448310771,
|
||||
452553175,
|
||||
424232064,
|
||||
420969164,
|
||||
449718071,
|
||||
433032661,
|
||||
398989657,
|
||||
422996280,
|
||||
441029337,
|
||||
302695325,
|
||||
309917623,
|
||||
310966650,
|
||||
335218624,
|
||||
338808785,
|
||||
343712709,
|
||||
348038357,
|
||||
388830903,
|
||||
390048700,
|
||||
392466058,
|
||||
410172159,
|
||||
410971790,
|
||||
414998906,
|
||||
451257547,
|
||||
303573927,
|
||||
305009482,
|
||||
326465028,
|
||||
601720386,
|
||||
380562918,
|
||||
435088919,
|
||||
315044321,
|
||||
309979565,
|
||||
331182691,
|
||||
501870661,
|
||||
408711075,
|
||||
434855169,
|
||||
483872289,
|
||||
391448552,
|
||||
393417522,
|
||||
403547102,
|
||||
555133172,
|
||||
304975279,
|
||||
350148532,
|
||||
417790797,
|
||||
636820201,
|
||||
300434180,
|
||||
344134796,
|
||||
393660329,
|
||||
433604691,
|
||||
378502264,
|
||||
440525376,
|
||||
338385685,
|
||||
301918371,
|
||||
442639662,
|
||||
397658931,
|
||||
309004331,
|
||||
408770758,
|
||||
438026346,
|
||||
409136272,
|
||||
438549065,
|
||||
430344150,
|
||||
417949161,
|
||||
479932428,
|
||||
413496316,
|
||||
573780905,
|
||||
722780665,
|
||||
424443893,
|
||||
329690648,
|
||||
451161806,
|
||||
318732781,
|
||||
403218449,
|
||||
448929604,
|
||||
300237633,
|
||||
383751419,
|
||||
408829224,
|
||||
382626802,
|
||||
421848789,
|
||||
443574926,
|
||||
479466062,
|
||||
484026612,
|
||||
349588541,
|
||||
319587234,
|
||||
380655548,
|
||||
422593491,
|
||||
341284099,
|
||||
393852702,
|
||||
403885320);
|
||||
|
||||
$fp=fopen('./bilansToyotaFS.csv', 'a');
|
||||
fwrite($fp, "siren;mil;dateProvPartenaire;dateInsert;dureeExercice;dateExercicePre;dureeExercicePre;".EOL);
|
||||
|
||||
foreach ($tabSiren as $siren) {
|
||||
$mBil=new MBilans($siren);
|
||||
$tabBilans=@$mBil->listeBilans(true);
|
||||
fwrite($fp, "$siren;");
|
||||
foreach ($tabBilans as $mil=>$bilan) {
|
||||
fwrite($fp, "$mil;". $bilan['dateProvPartenaire'].';'.
|
||||
$bilan['dateInsert'].';'.
|
||||
$bilan['dureeExercice'].';'.
|
||||
$bilan['dateExercicePre'].';'.
|
||||
$bilan['dureeExercicePre']);
|
||||
break;
|
||||
}
|
||||
fwrite($fp, EOL);
|
||||
}
|
||||
|
||||
?>
|
@ -1,99 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
|
||||
Récupération des informations liées au dernier Bilans PDF ou statut PDF disponible pour une entreprise donnée.
|
||||
|
||||
Options :
|
||||
-v Verbosité au maximum
|
||||
-s Dernier Statut PDF disponible
|
||||
-b Dernier Bilan PDF disponible
|
||||
";
|
||||
|
||||
$modeDebug=$type=false;
|
||||
$tabFichier=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 'v': $modeDebug=true; break;
|
||||
case 's': $type='S'; break;
|
||||
case 'b': $type='B'; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
|
||||
if ($type<>'S' && $type<>'B') die('Type de pièces inconnue !');
|
||||
|
||||
$iGreffes=new MGreffes();
|
||||
$iInsee=new MInsee();
|
||||
|
||||
foreach ($tabFichier as $i=>$fichier) {
|
||||
$tabSiren=file($fichier);
|
||||
foreach ($tabSiren as $iSiren=>$siren) {
|
||||
$siren=explode(',',trim($siren));
|
||||
$siren=$siren[0];
|
||||
$tabIdentite=$iInsee->getIdentiteLight($siren);
|
||||
$rs=$tabIdentite['Nom'];
|
||||
$strBase="$iSiren,$siren,$rs";
|
||||
if ($type=='B') {
|
||||
$tabActes=@$iGreffes->getBilansImages($siren);
|
||||
$bilan=@$tabActes[0];
|
||||
$ref=$bilan['ref'];
|
||||
$type=$bilan['type'];
|
||||
$dateCloture=$bilan['dateCloture'];
|
||||
echo $strBase.
|
||||
$bilan['annee'].','.
|
||||
$bilan['type'] .','.
|
||||
$bilan['dateCloture'].','.
|
||||
$bilan['depot_num'] .','.
|
||||
$bilan['vecteurs'] .',';
|
||||
if ($ref<>'') {
|
||||
//echo "http://extranet.scores-decisions.com/pieces/bilan/siren/$siren/ref/$ref/mode/T";
|
||||
echo "http://extranet.scores-decisions.com/pieces/bilan/siren/$siren/mode/T/type/$type/cloture/$dateCloture";
|
||||
echo ',';
|
||||
echo "http://extranet.scores-decisions.com/fichier/greffe/bilan-$siren-$type-$dateCloture.pdf";
|
||||
// http://extranet.scores-decisions.com/fichier//bilan-303217368-sociaux-2013-12-31.pdf
|
||||
}
|
||||
}
|
||||
elseif ($type=='S') {
|
||||
$tabActes=@$iGreffes->getListeActes($siren);
|
||||
$tabActesTmp=array();
|
||||
foreach ($tabActes as $j=>$acte)
|
||||
if (preg_match('/STATUTS/',$acte['acte_lib']))
|
||||
$tabActesTmp[$j]=$acte['acte_date'];
|
||||
arsort($tabActesTmp);
|
||||
reset($tabActesTmp);
|
||||
$j=key($tabActesTmp);
|
||||
$bilan=$tabActes[$j];
|
||||
$ref=$bilan['ref'];
|
||||
echo $strBase.
|
||||
$bilan['depot_date'].','.
|
||||
$bilan['acte_lib'] .','.
|
||||
$bilan['acte_date'].','.
|
||||
$bilan['depot_num'] .','.
|
||||
$bilan['vecteurs'] .',';
|
||||
if ($ref<>'') {
|
||||
echo "http://extranet.scores-decisions.com/pieces/acte/siret/$siren/mode/T/ref/$ref";
|
||||
echo ',';
|
||||
echo "http://extranet.scores-decisions.com/fichier/pdf/acte-$siren-$ref.pdf";
|
||||
}
|
||||
}
|
||||
echo EOL;
|
||||
|
||||
if (!$iGreffes->enCache) randsleep(1,3);
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,356 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(FWK_PATH.'common/ftp.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Récuperer les bilans déposés non encore en base.
|
||||
|
||||
Options :
|
||||
-t Rechercher les bilans source Tessi (*)
|
||||
-b Rechercher les bilans source Bodacc C (*)
|
||||
-s Limiter la recherche aux bilans ou scores en surveillance (*)
|
||||
-i:XXX Reprendre le traitement à la ligne n°XXX
|
||||
-v Mode bavard ou debug
|
||||
|
||||
(*) Option par défaut si aucun argument n'est passé.
|
||||
";
|
||||
$tessi=$bodacc=$enSurveillance=$modeDebug=false;
|
||||
$iReprise=0;
|
||||
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (strtolower(substr($argv[$i],1,1))) {
|
||||
case 't': $tessi=true; break;
|
||||
case 'b': $bodacc=true; break;
|
||||
|
||||
case 's': $enSurveillance=true; break;
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'i': $iReprise=substr($argv[$i],3); break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$tessi && !$bodacc && !$enSurveillance) $tessi=$bodacc=$enSurveillance=true;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des bilans WEB...".EOL;
|
||||
|
||||
$iDb=new WDB();
|
||||
$iDb2=new WDB();
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
$dateMax= getNextDate(date('Ymd'),-15).' 23:59:59';
|
||||
$nbCache=$nbAcces=$nbRowsTot=$iRowTot=0;
|
||||
|
||||
if ($enSurveillance)
|
||||
$strSirenPri=" AND siren IN (SELECT DISTINCT siren FROM surveillances_site WHERE source IN ('bilans','score')) ";
|
||||
else
|
||||
$strSirenPri='';
|
||||
|
||||
$tabQueries=array(
|
||||
/* Collecte */
|
||||
'collecte'=> "SELECT id, siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire, partenaire, dateInsert FROM bilans_deposes WHERE dateInsert>='2010-04-01 00:00:00' AND dateInsert<='$dateMax' AND dateRecupWeb IS NULL $strSirenPri",
|
||||
/* Bodacc C */
|
||||
'bodacc'=> "SELECT id, siren, 0 as nicSiege, Bodacc_Date_Parution*1 AS dateProvPartenaire, dateEffet*1 AS dateExercice, 0 AS dureeExercice, '' AS monnaie, NULL AS chiffreAffaire, 256 AS partenaire, dateInsert FROM bodacc_detail WHERE id>=11015970 AND Rubrique='comptes' $strSirenPri",
|
||||
);
|
||||
|
||||
|
||||
foreach ($tabQueries as $source=>$query) {
|
||||
if ( ($tessi && $source=='collecte') ||
|
||||
($bodacc && $source=='bodacc') )
|
||||
echo date('Y/m/d - H:i:s') ." - Recherche des Bilans par la source '$source'...".EOL;
|
||||
else
|
||||
continue;
|
||||
|
||||
$strLastId='';
|
||||
$lastPos=@file_get_contents(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp');
|
||||
if (!$lastPos) {
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - ... pas de dernière position connue...".EOL;
|
||||
} else {
|
||||
echo date('Y/m/d - H:i:s') ." - ... dernière position connue : '$lastPos'...".EOL;
|
||||
$strLastId=" AND id>=$lastPos";
|
||||
}
|
||||
// Tous les mois, on repart à 0 !
|
||||
if (date('d')*1==1) $strLastId='';
|
||||
|
||||
$res=$iDb->query($query.$strLastId);
|
||||
echo mysql_error().EOL;
|
||||
$nbRows=mysql_num_rows($res);
|
||||
$nbRowsTot+=$nbRows;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows bilans à rechercher par la source '$source'...".EOL;
|
||||
|
||||
// Provisoirement
|
||||
//continue;
|
||||
|
||||
$iRow=0;
|
||||
|
||||
while($bilan=$iDb->fetch(MYSQL_ASSOC)) {
|
||||
$iRow++;
|
||||
$iRowTot++;
|
||||
if ($iRow<$iReprise) continue;
|
||||
$siren=$bilan['siren'];
|
||||
$dateExercice=$bilan['dateExercice'];
|
||||
$dureeExercice=$bilan['dureeExercice'];
|
||||
/** Ce bilan est il déjà en base ? **/
|
||||
$ret=$iDb2->select('bilans', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC);
|
||||
$tabDeja=@$ret[0];
|
||||
if (@$tabDeja['id']*1>0) {
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice déjà en base #".$tabDeja['id'].
|
||||
' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL;
|
||||
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
|
||||
$nbCache++;
|
||||
continue;
|
||||
} elseif ($modeDebug)
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice absent de la base Bilan".EOL;
|
||||
|
||||
/** Ce bilan est il déjà en base 2 ? **/
|
||||
/*$ret=$iDb2->select('bilans2', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC);
|
||||
$tabDeja=@$ret[0];
|
||||
if (@$tabDeja['id']*1>0) {
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - Siren $siren : $dateExercice déjà en base 2 #".$tabDeja['id'].
|
||||
' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL;
|
||||
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
|
||||
continue;
|
||||
}*/
|
||||
|
||||
$chiffreAffaire=$bilan['chiffreAffaire'];
|
||||
$dateProvPartenaire=$bilan['dateProvPartenaire'];
|
||||
$monnaieDep=$bilan['monnaie'];
|
||||
// dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire, partenaire, dateInsert
|
||||
$nic=$bilan['nicSiege'];
|
||||
$siret="$siren".$nic;
|
||||
$mil=substr($bilan['dateExercice'],0,4);
|
||||
//print_r($bilan);
|
||||
|
||||
//$siren=504191230;
|
||||
//$siren=380037671;
|
||||
|
||||
$referer='';
|
||||
$url="http://www.bilansgratuits.fr/comptes/resultcontentComptes.php?motcle=$siren&codpos=&to_do=rechBila&T_option=siren&checkdirigeant=undefined";
|
||||
$tDeb=microtime(true);
|
||||
$page=getUrl($url, '', '', $referer, false, '', '', 60);
|
||||
$duree=round(microtime(true)-$tDeb,3);
|
||||
$body=$page['body'];
|
||||
$taille=round(strlen($body)/1024,1);
|
||||
|
||||
$tabTmp=explode('","', $body);
|
||||
$tabAnnees=$tabInfo=array();
|
||||
|
||||
foreach($tabTmp as $iTmp=>$tmp) {
|
||||
if ($iTmp<2) continue;
|
||||
if (preg_match('/bildates"\:"(.*)$/Ui',$tmp,$matches))
|
||||
$tabInfo['millesimes']=explode(' ',$matches[1]);
|
||||
$tabTmp2=explode('":"', $tmp);
|
||||
switch($tabTmp2[0]) {
|
||||
case 'libcom': $tabInfo['libcom'] = $tabTmp2[1]; break;
|
||||
case 'siren': $tabInfo['siren'] = $tabTmp2[1]; break;
|
||||
case 'nomen': $tabInfo['nomen'] = $tabTmp2[1]; break;
|
||||
case 'apen700': $tabInfo['apen'] = $tabTmp2[1]; break;
|
||||
case 'codpos': $tabInfo['codpos'] = $tabTmp2[1]; break;
|
||||
case 'siret': $tabInfo['siret'] = $tabTmp2[1]; break;
|
||||
case 'tefen': $tabInfo['tefen'] = $tabTmp2[1]; break;
|
||||
case 'bildatesaffich': $tabInfo['refbil'] = $tabTmp2[1]; break;// <a class=\"exe\" onclick=\"javascript:montre('501448096_0','50144809600013','2009')\">2009<\/a>
|
||||
}
|
||||
}
|
||||
if ($siret<>$tabInfo['siret']) $siret=$tabInfo['siret'];
|
||||
$strMil=implode(', ', $tabInfo['millesimes']);
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice, $strMil.".EOL;
|
||||
|
||||
if (!$modeDebug) randsleep(3,7);
|
||||
else randsleep(1,2);
|
||||
//dateExercice, dureeExercice, monnaie, chiffreAffaire,
|
||||
//print_r($tabInfo);
|
||||
//continue;
|
||||
|
||||
foreach ($tabInfo['millesimes'] as $millesime) {
|
||||
/** On ne récupère que le dernier bilan
|
||||
@todo Récupérer tous les bilans non encore en base
|
||||
**/
|
||||
if(substr($dateExercice,0,4)<>substr($millesime,0,4)) continue;
|
||||
|
||||
/** Type de bilan **/
|
||||
if (substr($millesime,4,1)=='S') $typeCpt='S';
|
||||
elseif (substr($millesime,4,1)=='C') continue;//$typeCpt='C';
|
||||
elseif (substr($millesime,4,1)=='') $typeCpt='';
|
||||
else {
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice, $strMil - Type de bilan inconnue '".substr($millesime,4,1)."'".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$url="http://www.bilansgratuits.fr/comptes/visucontentComptes.php?typcmpt=compte_annuel&siren=$siret&millesime=$mil".$typeCpt;
|
||||
// URL=http://www.bilansgratuits.fr/comptes/visucontentComptes.php?typcmpt=compte_annuel&siren=50419123000011&millesime=2009S
|
||||
$tDeb=microtime(true);
|
||||
$page=getUrl($url, '', '', $referer, false, '', '', 60);
|
||||
$duree=round(microtime(true)-$tDeb,3);
|
||||
$body=$page['body'];
|
||||
$taille=round(strlen($body)/1024,1);
|
||||
|
||||
// Raison Sociale
|
||||
$rs=$nbMois=$naf=$dateClot=$monnaie='';
|
||||
if (preg_match("/<td>Désignation de l'entreprise \: <b>(.*)<..b><..td>/Uis", $body, $matches))
|
||||
$rs=$matches[1];
|
||||
elseif (preg_match("/signation de l'entreprise \: <strong(?:.*)>(.*)<..strong>/Uis", $body, $matches))
|
||||
$rs=$matches[1];
|
||||
|
||||
// Durée de l'exercice
|
||||
if (preg_match("/<td>Durée de l'exercice\* \: <b>(.*) mois<..b><..td>/Uis", $body, $matches))
|
||||
$nbMois=$matches[1];
|
||||
elseif (preg_match("/e de l'exercice\* \: <strong(?:.*)>(.*)mois <..strong>/Uis", $body, $matches))
|
||||
$nbMois=trim($matches[1]);
|
||||
|
||||
// NAF
|
||||
if (preg_match("/<td>Code APE \: <b>(.*) -(?:.*)<..b><..td>/Uis", $body, $matches))
|
||||
$naf=$matches[1];
|
||||
elseif (preg_match("/>Code APE \: <strong>(.*)<..strong>/Uis", $body, $matches))
|
||||
$naf=$matches[1];
|
||||
|
||||
if (preg_match("/<td>Date de clôture \: <b>(.*)<..b><..td>/Uis", $body, $matches))
|
||||
$dateClot=strtr($matches[1],array('\\'=>''));
|
||||
else
|
||||
$dateClot=$dateExercice;
|
||||
if (preg_match("/<td>Unité monétaire \: <b>(.*)<..b><..td>/Uis", $body, $matches))
|
||||
$monnaie=$matches[1];
|
||||
else
|
||||
$monnaie=$monnaieDep;
|
||||
$tabPostes=array();
|
||||
if (preg_match_all('/<tr(?:.*)<td(?:.*)([0-9A-Z]{2,3})(?:.*)td>(.*)<..tr>/Uis',$body,$matches)) {
|
||||
foreach($matches[2] as $i=>$ligne) {
|
||||
if ($i>4) {
|
||||
if (preg_match_all('/<td(?:.*)>([ 0-9A-Z]{2,5})<..td>(?:.*)<strong(|....)>(.*)<..strong>/Uis', $ligne, $matches2)) {
|
||||
//print_r($matches2);
|
||||
foreach($matches2[0] as $iTmp=>$tmpPostes) {
|
||||
//$tmpPostes=strtr($tmpPostes,array('\n'=>"\n",'\t'=>"\t",'\r'=>"\r",'\\'=>''));
|
||||
/*if (trim($matches2[2][$iTmp])=='\r\n')*/ $pos=3;
|
||||
//else $pos=2;
|
||||
if (trim($matches2[$pos][$iTmp])<>' ' && trim($matches2[$pos][$iTmp])<>'-')
|
||||
if (preg_match('/^\((.*)\)$/Ui', trim($matches2[$pos][$iTmp]), $matchesPar))
|
||||
$tabPostes[trim($matches2[1][$iTmp])]=strtr($matchesPar[1],array(' '=>''))*-1;
|
||||
else
|
||||
$tabPostes[trim($matches2[1][$iTmp])]=strtr($matches2[$pos][$iTmp],array(' '=>''));
|
||||
// if (trim($matches2[1][$iTmp])=='EI')
|
||||
// echo "$i : $ligne".EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Affectation des zones absentes de l'actif
|
||||
**/
|
||||
if (!isset($tabPostes['AA2']) && isset($tabPostes['AA'])) $tabPostes['AA2']=$tabPostes['AA'];
|
||||
if (!isset($tabPostes['AC1']) && (isset($tabPostes['AB'])||isset($tabPostes['AC']))) $tabPostes['AC1']=$tabPostes['AB']-$tabPostes['AC'];
|
||||
if (!isset($tabPostes['AE1']) && (isset($tabPostes['AD'])||isset($tabPostes['AE']))) $tabPostes['AE1']=$tabPostes['AD']-$tabPostes['AE'];
|
||||
if (!isset($tabPostes['AG1']) && (isset($tabPostes['AF'])||isset($tabPostes['AG']))) $tabPostes['AG1']=$tabPostes['AF']-$tabPostes['AG'];
|
||||
if (!isset($tabPostes['AI1']) && (isset($tabPostes['AH'])||isset($tabPostes['AI']))) $tabPostes['AI1']=$tabPostes['AH']-$tabPostes['AI'];
|
||||
if (!isset($tabPostes['AK1']) && (isset($tabPostes['AJ'])||isset($tabPostes['AK']))) $tabPostes['AK1']=$tabPostes['AJ']-$tabPostes['AK'];
|
||||
if (!isset($tabPostes['AM1']) && (isset($tabPostes['AL'])||isset($tabPostes['AM']))) $tabPostes['AM1']=$tabPostes['AL']-$tabPostes['AM'];
|
||||
if (!isset($tabPostes['AO1']) && (isset($tabPostes['AN'])||isset($tabPostes['AO']))) $tabPostes['AO1']=$tabPostes['AN']-$tabPostes['AO'];
|
||||
if (!isset($tabPostes['AQ1']) && (isset($tabPostes['AP'])||isset($tabPostes['AQ']))) $tabPostes['AQ1']=$tabPostes['AP']-$tabPostes['AQ'];
|
||||
if (!isset($tabPostes['AS1']) && (isset($tabPostes['AR'])||isset($tabPostes['AS']))) $tabPostes['AS1']=$tabPostes['AR']-$tabPostes['AS'];
|
||||
if (!isset($tabPostes['AU1']) && (isset($tabPostes['AT'])||isset($tabPostes['AU']))) $tabPostes['AU1']=$tabPostes['AT']-$tabPostes['AU'];
|
||||
if (!isset($tabPostes['AW1']) && (isset($tabPostes['AV'])||isset($tabPostes['AW']))) $tabPostes['AW1']=$tabPostes['AV']-$tabPostes['AW'];
|
||||
if (!isset($tabPostes['AY1']) && (isset($tabPostes['AX'])||isset($tabPostes['AY']))) $tabPostes['AY1']=$tabPostes['AX']-$tabPostes['AY'];
|
||||
if (!isset($tabPostes['CT1']) && (isset($tabPostes['CS'])||isset($tabPostes['CT']))) $tabPostes['CT1']=$tabPostes['CS']-$tabPostes['CT'];
|
||||
if (!isset($tabPostes['CV1']) && (isset($tabPostes['CU'])||isset($tabPostes['CV']))) $tabPostes['CV1']=$tabPostes['CU']-$tabPostes['CV'];
|
||||
if (!isset($tabPostes['BC1']) && (isset($tabPostes['BB'])||isset($tabPostes['BC']))) $tabPostes['BC1']=$tabPostes['BB']-$tabPostes['BC'];
|
||||
if (!isset($tabPostes['BE1']) && (isset($tabPostes['BD'])||isset($tabPostes['BE']))) $tabPostes['BE1']=$tabPostes['BD']-$tabPostes['BE'];
|
||||
if (!isset($tabPostes['BG1']) && (isset($tabPostes['BF'])||isset($tabPostes['BG']))) $tabPostes['BG1']=$tabPostes['BF']-$tabPostes['BG'];
|
||||
if (!isset($tabPostes['BI1']) && (isset($tabPostes['BH'])||isset($tabPostes['BI']))) $tabPostes['BI1']=$tabPostes['BH']-$tabPostes['BI'];
|
||||
if (!isset($tabPostes['BK1']) && (isset($tabPostes['BJ'])||isset($tabPostes['BK']))) $tabPostes['BK1']=$tabPostes['BJ']-$tabPostes['BK'];
|
||||
if (!isset($tabPostes['BM1']) && (isset($tabPostes['BL'])||isset($tabPostes['BM']))) $tabPostes['BM1']=$tabPostes['BL']-$tabPostes['BM'];
|
||||
if (!isset($tabPostes['BO1']) && (isset($tabPostes['BN'])||isset($tabPostes['BO']))) $tabPostes['BO1']=$tabPostes['BN']-$tabPostes['BO'];
|
||||
if (!isset($tabPostes['BQ1']) && (isset($tabPostes['BP'])||isset($tabPostes['BQ']))) $tabPostes['BQ1']=$tabPostes['BP']-$tabPostes['BQ'];
|
||||
if (!isset($tabPostes['BS1']) && (isset($tabPostes['BR'])||isset($tabPostes['BS']))) $tabPostes['BS1']=$tabPostes['BR']-$tabPostes['BS'];
|
||||
if (!isset($tabPostes['BU1']) && (isset($tabPostes['BT'])||isset($tabPostes['BU']))) $tabPostes['BU1']=$tabPostes['BT']-$tabPostes['BU'];
|
||||
if (!isset($tabPostes['BW1']) && (isset($tabPostes['BV'])||isset($tabPostes['BW']))) $tabPostes['BW1']=$tabPostes['BV']-$tabPostes['BW'];
|
||||
if (!isset($tabPostes['BY1']) && (isset($tabPostes['BX'])||isset($tabPostes['BY']))) $tabPostes['BY1']=$tabPostes['BX']-$tabPostes['BY'];
|
||||
if (!isset($tabPostes['CA1']) && (isset($tabPostes['BZ'])||isset($tabPostes['CA']))) $tabPostes['CA1']=$tabPostes['BZ']-$tabPostes['CA'];
|
||||
if (!isset($tabPostes['CC1']) && (isset($tabPostes['CB'])||isset($tabPostes['CC']))) $tabPostes['CC1']=$tabPostes['CB']-$tabPostes['CC'];
|
||||
if (!isset($tabPostes['CE1']) && (isset($tabPostes['CD'])||isset($tabPostes['CE']))) $tabPostes['CE1']=$tabPostes['CD']-$tabPostes['CE'];
|
||||
if (!isset($tabPostes['CG1']) && (isset($tabPostes['CF'])||isset($tabPostes['CG']))) $tabPostes['CG1']=$tabPostes['CF']-$tabPostes['CG'];
|
||||
if (!isset($tabPostes['CI1']) && (isset($tabPostes['CH'])||isset($tabPostes['CI']))) $tabPostes['CI1']=$tabPostes['CH']-$tabPostes['CI'];
|
||||
if (!isset($tabPostes['CK1']) && (isset($tabPostes['CJ'])||isset($tabPostes['CK']))) $tabPostes['CK1']=$tabPostes['CJ']-$tabPostes['CK'];
|
||||
|
||||
if (!isset($tabPostes['CL2']) && isset($tabPostes['CL'])) $tabPostes['CL2']=$tabPostes['CL'];
|
||||
if (!isset($tabPostes['CM2']) && isset($tabPostes['CM'])) $tabPostes['CM2']=$tabPostes['CM'];
|
||||
if (!isset($tabPostes['CN2']) && isset($tabPostes['CN'])) $tabPostes['CN2']=$tabPostes['CN'];
|
||||
|
||||
if (!isset($tabPostes['1A1']) && (isset($tabPostes['CO'])||isset($tabPostes['1A']))) $tabPostes['1A1']=$tabPostes['CO']-$tabPostes['1A'];
|
||||
|
||||
/** Affectation des zones absentes du passif
|
||||
**/
|
||||
if (!isset($tabPostes['DC']) && isset($tabPostes['EK'])) { $tabPostes['DC']=$tabPostes['EK']; unset($tabPostes['EK']); }
|
||||
if (!isset($tabPostes['DF']) && isset($tabPostes['B1'])) { $tabPostes['DF']=$tabPostes['B1']; unset($tabPostes['B1']); }
|
||||
if (!isset($tabPostes['DG']) && isset($tabPostes['EJ'])) { $tabPostes['DG']=$tabPostes['EJ']; unset($tabPostes['EJ']); }
|
||||
if (!isset($tabPostes['DV']) && isset($tabPostes['EI'])) { $tabPostes['DV']=$tabPostes['EI']; unset($tabPostes['EI']); }
|
||||
|
||||
if ($modeDebug) print_r($tabPostes);
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : Bilan $mil - $rs ($naf) $dateClot $nbMois mois en $monnaie ($duree s, $taille Ko)".EOL;
|
||||
/*if ($taille<100) {
|
||||
print_r($tabPostes);
|
||||
print_r($page);
|
||||
die();
|
||||
}*/
|
||||
|
||||
//dureeExercice monnaie chiffreAffaire
|
||||
/** Contrôle de cohérence **/
|
||||
if (isset($tabPostes['FL']) && $chiffreAffaire<>$tabPostes['FL']
|
||||
&& $source=='collecte') {
|
||||
$ca1=$chiffreAffaire-1;
|
||||
$ca2=$chiffreAffaire+1;
|
||||
if ($ca1<>$tabPostes['FL'] && $ca2<>$tabPostes['FL']) {
|
||||
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : Attention $chiffreAffaire DIFFERENT de ".$tabPostes['FL'].' EUR !'.EOL;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ($typeCpt=='') $typeCpt='N';
|
||||
$strPostes='';
|
||||
foreach($tabPostes as $poste=>$valeur)
|
||||
$strPostes.="$poste=$valeur;";
|
||||
|
||||
$tabInsert=array('siren'=>$siren,
|
||||
'dateProvPartenaire'=>$dateProvPartenaire,
|
||||
'dateExercice'=>$dateExercice,
|
||||
//'dateExercicePre'=>
|
||||
'dureeExercice'=>$dureeExercice,
|
||||
//'dureeExercicePre` tinyint( 2 ) unsigned NOT NULL default '0',
|
||||
'monnaie'=>strtoupper($monnaie),
|
||||
'typeBilan'=>$typeCpt,
|
||||
'monnaieOrigine'=>'EUR',
|
||||
'unite'=>'U',
|
||||
'partenaire'=>7,
|
||||
'postes'=>$strPostes);
|
||||
$ret=$iDb->insert('bilans', $tabInsert);
|
||||
$nbAcces++;
|
||||
|
||||
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>date('Ymd')), "siren=$siren AND dateExercice='$dateExercice'", false);
|
||||
if (!$modeDebug && date('Hi')*1>=1930) {
|
||||
$nbTot=$nbAcces+$nbCache;
|
||||
$pct=@round($nbCache/$nbTot*100,2);
|
||||
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Bilans WEB - Traitement quotidien", "$nbTot/$nbRowTot bilans traités dont $nbCache en cache ($pct %)");
|
||||
die();
|
||||
}
|
||||
if ($modeDebug) randsleep(1,2);
|
||||
else randsleep(7,21);
|
||||
}
|
||||
|
||||
if ($iRow%10==0)
|
||||
file_put_contents(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp', $bilan['id']);
|
||||
}
|
||||
}
|
||||
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Bilans WEB - Traitement quotidien FIN", "Fin du traitement des $nbTot/$nbRowTot bilans dont $nbCache en cache ($pct %)");
|
||||
@unlink(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp');
|
||||
|
||||
?>
|
@ -1,345 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
$tabReg=array( 'Aquitaine',
|
||||
'Alsace',
|
||||
'Auvergne',
|
||||
'Basse-Normandie',
|
||||
'Bourgogne',
|
||||
'Bretagne',
|
||||
'Centre',
|
||||
'Champagne-Ardenne',
|
||||
'Corse',
|
||||
'Franche-Comté',
|
||||
'Haute-Normandie',
|
||||
'Île-de-France',
|
||||
'Languedoc-Roussillon',
|
||||
'Limousin',
|
||||
'Lorraine',
|
||||
'Midi Pyrénées',
|
||||
'Nord-Pas-de-Calais',
|
||||
'Outre-Mer',
|
||||
'Pays-de-la-Loire',
|
||||
'Picardie',
|
||||
'Poitou-Charentes',
|
||||
'Provence-Alpes-Côte-d\'Azur',
|
||||
'Rhône-Alpes',
|
||||
'Etranger');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$repPdf='/home/data/infosreg/djo_infos_fi/'; // Avec slash final SVP !!!
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - DEBUT du script'. EOL;
|
||||
flush();
|
||||
|
||||
|
||||
function getInfosAnnonce($annonceHtml) {
|
||||
$tabRet=array();
|
||||
$tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dd><label>Société : </label><strong>', '<strong>', '</strong></dd>'))));
|
||||
$tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dd><label>ISIN : </label>', '</label>', '</dd>'), array(':'=>'',' '=>''))));
|
||||
$tabRet['docDesc']=trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>'));
|
||||
$tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00';
|
||||
$tabRet['docCategorie']=utf8_decode(strip_tags('<a href="'.trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<div class="resultat_HitGroup">', '<a href="', '</div>'))))));
|
||||
$tabRet['docTitre']=utf8_decode(trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml, '<dd><label>Titre du document : </label>', '"> ', '</a></dd>')))));
|
||||
$tabRet['docLangue']=trim(@getTextInHtml($annonceHtml, '<dd><label>Langue : </label>', '</label>', '</dd>'));
|
||||
$tabRet['pdfLink']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<a href="http://www.info-financiere.fr/', 'href="', '">'))));
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
$tempsMinEntreRequetes=5;
|
||||
$tempsMaxEntreRequetes=30;
|
||||
set_time_limit(0);
|
||||
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=false;
|
||||
$iDb=new WDB();
|
||||
$iInsee=new MInsee();
|
||||
$iBourse=new MBourse();
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les dernières annonces BOAMP sur le site de la DJO.
|
||||
|
||||
Sans aucun paramètre, récupération des dernières Annonces.
|
||||
Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
-l Dernières parutions uniquement (*)
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $lastJO=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$dateDebut=substr($argv[$i],3,10);
|
||||
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'n':
|
||||
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
|
||||
break;
|
||||
case 'l':
|
||||
$lastJO=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($lastJO) {
|
||||
// Voir pour callibrer correctement les dates
|
||||
$dateDeb=getNextDate(date('Ymd'), -4);
|
||||
$dateF =getNextDate(date('Ymd'), 0);
|
||||
} else {
|
||||
if ($dateFin==false) {
|
||||
$dateFin=date('d/m/Y');
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
}
|
||||
if ($dateDebut==false)
|
||||
die($strInfoProg);
|
||||
}
|
||||
$dateCour=$dateDeb;
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération des BOAMP du $dateDebut au $dateFin...".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL;
|
||||
flush();
|
||||
|
||||
while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
|
||||
|
||||
$dateDebut = WDate::dateT('Ymd', 'd/m/Y', $dateCour);
|
||||
$dateFrom = str_replace('/','%2F', $dateDebut);
|
||||
$dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1));
|
||||
$dateTo = str_replace('/','%2F', $dateFin);
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement des annonces d'informations financières du $dateDebut au $dateFin...".EOL;
|
||||
|
||||
$userAgent='Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
|
||||
|
||||
/** Cookie de session **
|
||||
$url='http://www.boamp.fr/index.php?action=afficherFormRechAvancee';
|
||||
$referer='';
|
||||
$page=getUrl($url, '', '', $referer, false);
|
||||
$body=$page['body'];
|
||||
$cookie=@$page['header']['Set-Cookie'];
|
||||
$referer=$url;
|
||||
echo date('Y/m/d - H:i:s') .' - Cookie = "'. trim($cookie) .'"' . EOL;
|
||||
*/
|
||||
foreach ($tabReg as $region) {
|
||||
$tabPost=array( 'action'=>'rechercher',
|
||||
'type_recherche'=>'March%E9s+en+cours',
|
||||
'dep'=>'',
|
||||
'mots'=>'',
|
||||
'ref_ann'=>'',
|
||||
'seuil%5B%5D'=>'',
|
||||
'date_pub_min='=>str_replace('/20','/', $dateFrom),
|
||||
'date_pub_max='=>str_replace('/20','/', $dateTo),
|
||||
'date_reponse_min'=>'jj%2Fmm%2Faa',
|
||||
'date_reponse_max'=>'jj%2Fmm%2Faa',
|
||||
'dep%5B%5D'=>urlencode($region),
|
||||
);
|
||||
$strPost=implode('&', $tabPost);
|
||||
exec('wget --save-cookies cookies.txt http://www.boamp.fr/index.php?action=afficherFormRechAvancee');
|
||||
|
||||
exec('wget --load-cookies cookies.txt --append-output=/tmp/wget2.log --keep-session-cookies --save-headers --output-document=/tmp/wget2.htm --post-data \''.$strPost.'\' "http://www.boamp.fr/index.php"');
|
||||
$str=file_get_contents('/tmp/wget2.htm');
|
||||
die($str);
|
||||
|
||||
//print_r($tabPost);
|
||||
//die();
|
||||
|
||||
// $cookie=str_replace('; path=/', 'xtvrn=$397545$', $cookie);
|
||||
// Cookie[PHPSESSID=f64cf6d8cebcf0cf4a55a176b61dba3d; xtvrn=$397545$]
|
||||
|
||||
$url="http://www.boamp.fr/index.php";
|
||||
$page=getUrl($url, '',/*$cookie, */$tabPost, $referer);
|
||||
$body=$page['body'];
|
||||
print_r($page);
|
||||
die();
|
||||
}
|
||||
|
||||
die();
|
||||
|
||||
if (preg_match('/<div class="nb_resultats">(?:.*)\:(.*)<\/div>/Uim', $body, $matches))
|
||||
$nbAnnonces=trim($matches[1]);
|
||||
else
|
||||
die('Erreur : Aucun résultat trouvé'.EOL);
|
||||
$nbPages=round($nbAnnonces/10);
|
||||
echo date('Y/m/d - H:i:s') . " - Nombre du publication du $dateDebut au $dateFin : $nbAnnonces soit $nbPages page(s)...". EOL;
|
||||
if ($nbPages>100) {
|
||||
echo date('Y/m/d - H:i:s') . " - ERREUR : Arrêt du traitement car il y a plus de 100 pages d'annonces !". EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
if ($nbAnnonces>0) {
|
||||
if (preg_match('/ href="search\.php\?action=changepage&c=(.*)&page=/mUis', $body, $matches)) {
|
||||
$c=$matches[1];
|
||||
echo date('Y/m/d - H:i:s') . " - Identifiant Sesssion = $c". EOL;
|
||||
}
|
||||
elseif ($nbAnnonces<=10)
|
||||
// - de 10 annonces, pas de multipage
|
||||
$c='...';
|
||||
else {
|
||||
print_r($page);
|
||||
die('Erreur : Aucun numéro de session trouvé'.EOL);
|
||||
}
|
||||
|
||||
$dateDb=WDate::DateT('Ymd','Y-m-d',$dateCour);
|
||||
$AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "docDate BETWEEN '$dateDb 00:00:00' AND '$dateDb 23:59:59'", false, MYSQL_ASSOC);
|
||||
$nbAnnDb=$AnnDb[0]['nb'];
|
||||
if ($nbAnnDb>=$nbAnnonces) {
|
||||
echo date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces DJO infos financières du $dateDebut ($dateDb) sont en base ($nbAnnDb) !". EOL;
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
continue;
|
||||
}
|
||||
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
|
||||
$message=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
|
||||
echo $message;
|
||||
/*
|
||||
mail('ylenaour@scores-decisions.com', 'JO Association', $message);
|
||||
mail('lenaoury@gmail.com', 'JO Association', $message);
|
||||
*/
|
||||
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
|
||||
}
|
||||
else
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
|
||||
|
||||
$tabAnnonces=explode('<div class="r_title">', $page['body']);
|
||||
|
||||
for ($j=1; $j<11 && isset($tabAnnonces[$j]); $j++)
|
||||
$tabAnnBalo[($j-1)]=$tabAnnonces[$j];
|
||||
|
||||
if ($nbPages>=2)
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
|
||||
/** Traitement des pages suivantes
|
||||
**/
|
||||
for ($i=2; $i<=$nbPages; $i++)
|
||||
{
|
||||
$url='http://www.info-financiere.fr/search.php?action=changepage&c='. $c .'&page='.$i;
|
||||
$page=getUrl($url, $cookie, '', $referer);
|
||||
$referer=$url;
|
||||
|
||||
$tabAnnonces=explode('<div class="r_title">', $page['body']);
|
||||
|
||||
for ($j=1; $j<11; $j++) {
|
||||
$k=10*($i-1)+($j-1);
|
||||
if ($k<$nbAnnonces)
|
||||
$tabAnnBalo[$k]=$tabAnnonces[$j];
|
||||
}
|
||||
if ($i==2)
|
||||
echo date('Y/m/d - H:i:s') ." - Page $i/$nbPages";
|
||||
else
|
||||
echo ", $i/$nbPages";
|
||||
if ($i==$nbPages)
|
||||
echo '.'.EOL;
|
||||
else
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
|
||||
/** On parse les annonces et on les stocks **/
|
||||
for ($i=0; $i<$nbAnnonces; $i++){
|
||||
$infoAnnBalo=getInfosAnnonce($tabAnnBalo[$i]);
|
||||
$i2=$i+1;
|
||||
|
||||
$AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "isin='".$infoAnnBalo['isin']."' AND docDate='".$infoAnnBalo['docDate']."' AND docLangue='".$infoAnnBalo['docLangue']."' AND pdfLink='".$infoAnnBalo['pdfLink']."'", false, MYSQL_ASSOC);
|
||||
$nbAnnDb=$AnnDb[0]['nb'];
|
||||
|
||||
$tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink']));
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl($infoAnnBalo['pdfLink'], '', '', '', false);
|
||||
@mkdir($repPdf);
|
||||
$fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp) {
|
||||
print_r($infoAnnBalo);
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff, annonce n°$i2/$nbAnnonces, Isin = ". $infoAnnBalo['isin']." : \"". $infoAnnBalo['raisonSociale'] .'" !'.EOL;
|
||||
}
|
||||
@fclose($fp);
|
||||
$tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink']));
|
||||
|
||||
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
$infoAnnBalo['pdfSize'] = $tabPdf['pdfSize'];
|
||||
$infoAnnBalo['pdfVer'] = $tabPdf['version'];
|
||||
$infoAnnBalo['pdfPage'] = $tabPdf['nbPages'];
|
||||
// Infos de debug
|
||||
$infoAnnBalo['sitePage']= round($i2/10);
|
||||
$infoAnnBalo['siteId'] = $i2;
|
||||
if (strlen($infoAnnBalo['isin'])==12)
|
||||
$infoAnnBalo['siren'] = @$iBourse->getCodeSiren($infoAnnBalo['isin']);
|
||||
elseif (strlen($infoAnnBalo['isin'])==11) {
|
||||
for($iIsin=0;$iIsin<10;$iIsin++) {
|
||||
$siren=@$iBourse->getCodeSiren($infoAnnBalo['isin'].$iIsin);
|
||||
if ($siren>0) {
|
||||
$infoAnnBalo['siren'] = $siren;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$dateAff=WDate::dateT('Y-m-d H:i:s', 'd/m/Y', $infoAnnBalo['docDate']);
|
||||
|
||||
if ($nbAnnDb==1) {
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'" déjà en base ('.$infoAnnBalo['docLangue'].') !'.EOL;
|
||||
// L'annonce est déjà en base !
|
||||
continue;
|
||||
} else
|
||||
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'"... enregistrement ('.$infoAnnBalo['docLangue'].') !'.EOL;
|
||||
|
||||
if (!$iDb->insert('balo_ireg', $infoAnnBalo) && mysql_error()<>1062)
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
}
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
die();
|
||||
|
||||
|
||||
/** Téléchargement du dernier balo complet en PDF
|
||||
**/
|
||||
$url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF';
|
||||
if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) {
|
||||
randsleep();
|
||||
$page=getUrl($url, '', '', 'http://www.journal-officiel.gouv.fr/balo/', false, 'www.journal-officiel.gouv.fr');
|
||||
@mkdir($repBaloComp.$anneeParution);
|
||||
$fp=@fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp)
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL;
|
||||
@fclose($fp);
|
||||
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL;
|
||||
} else
|
||||
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL;
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
|
||||
|
||||
?>
|
@ -1,340 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$repPdf='/home/data/infosreg/djo_infos_fi/'; // Avec slash final SVP !!!
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - DEBUT du script'. EOL;
|
||||
flush();
|
||||
|
||||
|
||||
$repPdfJoMc='/home/data/jomc';
|
||||
$urlBaseJoMC='http://cloud.gouv.mc';
|
||||
|
||||
$tabSrub=array( '(Appel À Candidature)'=> array('Even'=>''),
|
||||
'(Association/Fondation)'=> array('CJ'=>92,'Even'=>''),
|
||||
'(Autres)'=> array('Even'=>''),
|
||||
'(Avis - Mise Au Nominatif)'=> array('Even'=>''),
|
||||
'(Avis De Convocation)'=> array('Even'=>''),
|
||||
'(Avis De Gérance)'=> array('Even'=>''),
|
||||
'(Capital Social En Euros)'=> array('Even'=>''),
|
||||
'(Cessation De Paiement)'=> array('Even'=>''),
|
||||
'(Cessions De Commerces)'=> array('Even'=>''),
|
||||
'(Cessions Droit Au Bail)'=> array('Even'=>''),
|
||||
'(Changement De Nom)'=> array('Even'=>''),
|
||||
'(Changement Régime Matrimonial)'=> array('Even'=>''),
|
||||
'(Citations À Comparaître)'=> array('Even'=>''),
|
||||
'(Dissolution Société)'=> array('Even'=>''),
|
||||
'(Donation)'=> array('Even'=>''),
|
||||
'(Extraits Judiciaires)'=> array('Even'=>''),
|
||||
'(Fonds Communs De Placement)'=> array('Even'=>''),
|
||||
'(Liquidation)'=> array('Even'=>''),
|
||||
'(Modification Aux Statuts)'=> array('Even'=>''),
|
||||
'(Résiliation/Droits Locatifs/Bail)'=> array('Even'=>''),
|
||||
'(Sociétés Anonymes)'=> array('CJ'=>55, 'Even'=>''),
|
||||
'(Sociétés Civiles Immobilières)'=> array('CJ'=>6540, 'Even'=>''),
|
||||
'(Sociétés En Commandite)'=> array('CJ'=>53, 'Even'=>''),
|
||||
'(Sociétés En Nom Collectif)'=> array('CJ'=>5202, 'Even'=>''),
|
||||
'(S.A.R.L.)'=> array('CJ'=>5499, 'Even'=>''),
|
||||
'(Ventes Aux Enchères)'=> array('Even'=>''),
|
||||
'()'=> array('Even'=>''),
|
||||
);
|
||||
|
||||
function getInfosAnnonce($annonceHtml) {
|
||||
$tabRet=array();
|
||||
$tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dd><label>Société : </label><strong>', '<strong>', '</strong></dd>'))));
|
||||
$tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dd><label>ISIN : </label>', '</label>', '</dd>'), array(':'=>'',' '=>''))));
|
||||
$tabRet['docDesc']=trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>'));
|
||||
$tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00';
|
||||
$tabRet['docCategorie']=utf8_decode(strip_tags('<a href="'.trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<div class="resultat_HitGroup">', '<a href="', '</div>'))))));
|
||||
$tabRet['docTitre']=utf8_decode(trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml, '<dd><label>Titre du document : </label>', '"> ', '</a></dd>')))));
|
||||
$tabRet['docLangue']=trim(@getTextInHtml($annonceHtml, '<dd><label>Langue : </label>', '</label>', '</dd>'));
|
||||
$tabRet['pdfLink']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<a href="http://www.info-financiere.fr/', 'href="', '">'))));
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
$iReprise=0; // Reprendre au noeud n°0
|
||||
$tempsMinEntreRequetes=5;
|
||||
$tempsMaxEntreRequetes=30;
|
||||
$modeDebug=false;
|
||||
set_time_limit(0);
|
||||
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=$load=false;
|
||||
|
||||
$iDb=new WDB();
|
||||
$iInsee=new MInsee();
|
||||
$iBourse=new MBourse();
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les dernières annonces BOAMP sur le site de la DJO.
|
||||
|
||||
Sans aucun paramètre, récupération des dernières Annonces.
|
||||
Sinon:
|
||||
-r:XXX Reprendre au noeud n°XXX
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-d Verbosité debug
|
||||
-c Chargement détaillé
|
||||
";/*
|
||||
-l Dernières parutions uniquement (*)
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
";*/
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $lastJO=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$modeDebug=true;
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
$lastJO=false;
|
||||
break;
|
||||
case 'r':
|
||||
$iReprise=substr($argv[$i],3)*1;
|
||||
break;
|
||||
case 'n':
|
||||
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
|
||||
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
|
||||
break;
|
||||
case 'c':
|
||||
$load=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($load) {
|
||||
/** @todo Chargement structuré des annonces **/
|
||||
$ret=$iDb->select('bo_monaco', 'id, numParution, dateParution, numAnnonce, titre, categorie, `desc` as description, /*annonceHtml,*/ annonceTxt, pdfLink, pdfNom, pdfSize, pdfVer, pdfPage, dateInsert', "titre='Insertions et Annonces Légales' AND categorie NOT LIKE '%Extraits%Judiciaires%'", false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabAnn) {
|
||||
echo $tabAnn['id']."\t";
|
||||
echo $tabAnn['categorie']."\t";
|
||||
echo $tabAnn['description'].EOL;
|
||||
if (preg_match('/^(.*) \- (.*)"(.*)"(.*)$/Uis',$tabAnn['description'],$matches)) {
|
||||
print_r($matches);
|
||||
}
|
||||
|
||||
//echo $tabAnn['id']."\t";
|
||||
// print_r($tabAnn);
|
||||
/* [titre] => Insertions et Annonces Légales
|
||||
[categorie] => ( Modification aux statuts )
|
||||
[description] => AUGMENTATION DE CAPITAL - MODIFICATION AUX STATUTS
|
||||
SOCIETE A RESPONSABILITE LIMITEE "CONCILIUM S.A.R.L."
|
||||
Etude de Me Henry REY - Notaire
|
||||
2, rue Colonel Bellando de Castro - Monaco
|
||||
[annonceTxt] => Aux termes d'un acte reçu par le notaire soussigné le 20 juillet 2009, il a été procédé à l'augmentation de capital de la société "CONCILI
|
||||
UM S.A.R.L.", ayant son siège 29, rue du Portier, à Monaco, pour le porter de 15.000 EUROS à 30.000 EUROS, par création de 100 parts nouvelles de 150 EUROS ch
|
||||
acune.
|
||||
Une expédition dudit acte a été déposée au Greffe Général des Tribunaux de Monaco pour y être transcrite et affichée conformément à la loi, le 17 septembre 20
|
||||
09.
|
||||
Monaco, le 25 septembre 2009.
|
||||
|
||||
|
||||
Signé : H. REY.
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if ($lastJO) {
|
||||
// Voir pour callibrer correctement les dates
|
||||
$dateDeb=getNextDate(date('Ymd'), -4);
|
||||
$dateF =getNextDate(date('Ymd'), 0);
|
||||
} else {
|
||||
if ($dateFin==false) {
|
||||
$dateFin=date('d/m/Y');
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
}
|
||||
if ($dateDebut==false)
|
||||
die($strInfoProg);
|
||||
}
|
||||
$dateCour=$dateDeb;
|
||||
*/
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération des annonces JO Monégasque du $dateDebut au $dateFin...".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL;
|
||||
flush();
|
||||
|
||||
//while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
|
||||
|
||||
$dateDebut = WDate::dateT('Ymd', 'd/m/Y', $dateCour);
|
||||
$dateFrom = str_replace('/','%2F', $dateDebut);
|
||||
$dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1));
|
||||
$dateTo = str_replace('/','%2F', $dateFin);
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement des annonces du JO Monégasque du $dateDebut au $dateFin...".EOL;
|
||||
|
||||
|
||||
/** Lecture des dates de JO **/
|
||||
$nbAnnParPage=1000;//15;
|
||||
$url="$urlBaseJoMC/DataWeb/jourmon.nsf/%28VDate%29!OpenView&Start=1&Count=$nbAnnParPage";
|
||||
$referer='';
|
||||
$page=getUrl($url, '', '', $referer, false);
|
||||
$body=$page['body'];
|
||||
$referer=$url;
|
||||
if (preg_match_all('/<tr valign="top"><td nowrap align="right"><b><font size="2" color="#008000" face="Arial">(?:.*)<a href="(\/DataWeb\/jourmon\.nsf\/\(VDate\)\!OpenView&Start=([0-9]{1,4})&Count=([0-9]{1,4})&Expand=([0-9]{1,4})#([0-9]{1,4}))" target="_self"><img src="\/icons\/expand.gif" border="0" height="16" width="16" alt="(?:.*)"><\/a><b><font size="2" color="#000080" face="Arial">([0-9]{1,4}) \((.*)\)<\/font><\/b><\/td><td><\/td><\/tr>/Uis', $body, $matches)) {
|
||||
/*print_r($matches);
|
||||
die();*/
|
||||
foreach ($matches[1] as $i=>$urlBo) {
|
||||
$tabBo[$i]=array( 'url'=>$urlBaseJoMC.strtr($urlBo, array('&'=>'&',
|
||||
//'Count='.$nbAnnParPage=>'Count=30',
|
||||
//'Expand='.$matches[4][$i].'#'.$matches[5][$i]=>'Collapse='.$matches[4][$i],
|
||||
)),
|
||||
'date'=>$matches[7][$i],
|
||||
'num'=>$matches[6][$i],
|
||||
);
|
||||
}
|
||||
}
|
||||
/* Referer=http://www.gouv.mc/DataWeb/jourmon.nsf/(VDate)!OpenView&Start=1&Count=30&Collapse=1
|
||||
*/
|
||||
|
||||
foreach ($tabBo as $i=>$infoBo) {
|
||||
|
||||
if ($i<$iReprise) continue;
|
||||
|
||||
/** Cookie de session **/
|
||||
$url=$infoBo['url'];
|
||||
echo date('Y/m/d - H:i:s') ." - BO n° $i, url: $url".EOL;
|
||||
$referer='';
|
||||
$page=getUrl($url, '', '', $referer, false);
|
||||
$body=$page['body'];
|
||||
$cookie=@$page['header']['Set-Cookie'];
|
||||
$referer=$url;
|
||||
|
||||
$urlFirstAnn=trim(@getTextInHtml($body, '<img src="/icons/ecblank.gif" border="0" height="1" width="16" alt=""><font size="2" face="Arial"><a href="', '">', '</a></font></td>'));
|
||||
//OK : <font size="2" face="Arial"><a href="/DataWeb/jourmon.nsf/9bf97b0da6308cfdc12568c40037f873/14e63cc52a17f702c1257508004c2d1c!OpenDocument">SOMMAIRE JOURNAL DE MONACO (PDF) n° 7887 - Vendredi 21 novembre 2008
|
||||
//BUG: <font size="2" face="Arial"><a href="/DataWeb/jourmon.nsf/9bf97b0da6308cfdc12568c40037f873/ba6aed63574ec802c1257501003300ba!OpenDocument">Ordonnance Souveraine n° 1.736 du 18 juillet 2008 portant nomination et titularisation du Chef du Se[root@srv_sd01 ~]#
|
||||
|
||||
if (preg_match('/<a href="(.*)">(.*)n°(.*)-(.*)$/Ui', $urlFirstAnn, $matches)) {
|
||||
$urlFirstAnn=$urlBaseJoMC.trim($matches[1]); // /DataWeb/jourmon.nsf/9bf97b0da6308cfdc12568c40037f873/185efab4012d011ac1257642004eac8c!OpenDocument
|
||||
$joMoLib=trim($matches[2]); // SOMMAIRE JOURNAL DE MONACO (PDF)
|
||||
$joMoNum=trim($matches[3]); // 7932
|
||||
$joMoDate=trim($matches[4]); // Vendredi 2 octobre 2009
|
||||
$joMoDate2=ucwords(strtolower(trim(strtr($joMoDate,array('Lundi'=>'','Mardi'=>'','Mercredi'=>'','Jeudi'=>'','Vendredi'=>'','Samedi'=>'','Dimanche'=>'')))));
|
||||
$joMoDateDb=WDate::dateT('d M Y', 'Ymd', $joMoDate2);
|
||||
//die("$joMoDate2 => $joMoDateDb");
|
||||
} elseif (preg_match('/<a href="(.*)">(.*)$/Ui', $urlFirstAnn, $matches)) {
|
||||
$urlFirstAnn=$urlBaseJoMC.trim($matches[1]);
|
||||
$joMoNum=$infoBo['num']*1;
|
||||
$joMoDate=$infoBo['date'];
|
||||
$joMoDate2=ucwords(strtolower(trim($infoBo['date'])));
|
||||
$joMoDateDb=WDate::dateT('d M Y', 'Ymd', $joMoDate2)*1;
|
||||
$joMoLib='### Pas de sommaire : '.$matches[2].' ###';
|
||||
if ($joMoNum<7332 || $joMoDateDb<19980403) {
|
||||
echo "Pas de ref 1 dans :$urlFirstAnn".EOL."Et date ou N° de JO Monegasque incohérente !".EOL;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - $joMoLib n° $joMoNum du $joMoDate : $urlFirstAnn". EOL;
|
||||
$numPage=0;
|
||||
|
||||
while (true) {
|
||||
$numPage++;
|
||||
$url=$urlFirstAnn;
|
||||
if ($modeDebug)
|
||||
echo date('Y/m/d - H:i:s') ." - $joMoLib n° $joMoNum du $joMoDate : page $numPage, url: $url".EOL;
|
||||
/* $page=getUrl($url, '', '', $referer, false, 'www.gouv.mc');
|
||||
if ($page['code']==302) {
|
||||
$url=@$page['header']['Location'];
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.gouv.mc');
|
||||
}
|
||||
$body=$page['body'];
|
||||
*/
|
||||
exec('wget --tries=5 --timeout=7 --append-output=/tmp/wget2.log --keep-session-cookies --save-headers --output-document=/tmp/wget2.htm "'.$url.'"');
|
||||
$body=file_get_contents('/tmp/wget2.htm');
|
||||
$urlFirstAnn=$urlBaseJoMC.trim(@getTextInHtml($body, '</font></b></div></td><td width="76"><div align="center"><a href="', 'href="', '"><img src="/DataWeb/jourmon.nsf/btrech_r3_c2.gif'));
|
||||
//die($urlFirstAnn);
|
||||
$referer=$url;
|
||||
|
||||
$tabAnn=array();
|
||||
$tabAnn['desc']=trim(strtr(html_entity_decode(strip_tags(@getTextInHtml($body, '<b><font size="2" color="#000080" face="Arial">', 'face="Arial">', '<img src="/DataWeb/jourmon.nsf/'))),array(chr(160)=>' ','’'=>"'", '“'=>'"', '”'=>'"', '€'=>'€')));
|
||||
|
||||
if (preg_match('/(SOMMAIRE JOURNAL DE MONACO(?:.*))n°(.*)-(.*)$/Ui', $tabAnn['desc'], $matches)) {
|
||||
$joMoLib=trim($matches[1]);
|
||||
$joMoNum=trim($matches[2]);
|
||||
$joMoDate=ucwords(strtolower(trim(strtr(trim($matches[3]),array('Lundi'=>'','Mardi'=>'','Mercredi'=>'','Jeudi'=>'','Vendredi'=>'','Samedi'=>'','Dimanche'=>'')))));
|
||||
$joMoDateDb=WDate::dateT('d M Y', 'Ymd', $joMoDate);
|
||||
}
|
||||
|
||||
$tabAnn['numParution']=$joMoNum;
|
||||
$tabAnn['numAnnonce']=$numPage;
|
||||
$tabAnn['dateParution']=$joMoDateDb;
|
||||
|
||||
$titre=trim(strtr(html_entity_decode(@getTextInHtml($body, '<b><font size="2" color="#8f8f8f" face="Arial">', 'face="Arial">', '</font></div></td></tr>')),array(chr(160)=>' ','’'=>"'", '“'=>'"', '”'=>'"', '€'=>'€')));
|
||||
|
||||
$tmp=explode('</font></b>', $titre);
|
||||
$tabAnn['titre']=$tmp[0];
|
||||
$tabAnn['categorie']=strip_tags($tmp[1]);
|
||||
|
||||
$tabAnn['annonceHtml']=trim(strtr(html_entity_decode(@getTextInHtml($body, '<img src="/DataWeb/jourmon.nsf/JoLign01.gif!OpenImageResource" width="557" height="2"></div><br>', '</div>', '<div align="center"><font size="2" color="#800000" face="Arial">___________________________')),array(chr(160)=>' ','’'=>"'", '“'=>'"', '”'=>'"', '€'=>'€')));
|
||||
|
||||
if (preg_match('/<div align="center"><a href="(.*)\.pdf"><img src="(?:.*)" width="110" height="47" alt="(.*)" border="0"><\/a><\/div>/Ui', $tabAnn['annonceHtml'], $matches)) {
|
||||
$tabAnn['pdfLink'] = trim($matches[1]).'.pdf';
|
||||
$tabAnn['pdfNom'] = trim($matches[2]);
|
||||
$tabPdf=getPdfInfo($repPdfJoMc.'/'.$joMoNum.'-'.$numPage.'.pdf');
|
||||
if (!$tabPdf) {
|
||||
$page=getUrl($urlBaseJoMC.$tabAnn['pdfLink'], '', '', '', false);
|
||||
@mkdir($repPdfJoMc);
|
||||
$fp=@fopen($repPdfJoMc.'/'.$joMoNum.'-'.$numPage.'.pdf', 'w');
|
||||
if (!fwrite($fp, $page['body']) || !$fp)
|
||||
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($tabAnn['pdfLink']) ." pour la parution n°$joMoNum, page $numPage !".EOL;
|
||||
@fclose($fp);
|
||||
echo $repPdfJoMc.'/'.$joMoNum.'-'.$numPage.'.pdf';
|
||||
$tabPdf=getPdfInfo($repPdfJoMc.'/'.$joMoNum.'-'.$numPage.'.pdf');
|
||||
//randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
|
||||
}
|
||||
$tabAnn['pdfSize'] = $tabPdf['pdfSize'];
|
||||
$tabAnn['pdfVer'] = $tabPdf['version'];
|
||||
$tabAnn['pdfPage'] = $tabPdf['nbPages'];
|
||||
}
|
||||
//print_r($tabPdf);die();
|
||||
$tabAnn['annonceTxt']=trim(strip_tags($tabAnn['annonceHtml']));
|
||||
|
||||
echo $body.EOL;
|
||||
print_r($tabAnn);
|
||||
//echo date('Y/m/d - H:i:s') ." - Page n° $numPage, titre : $titre".EOL;
|
||||
//echo date('Y/m/d - H:i:s') ." - Page n° $numPage, desc : $desc".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - $joMoLib n° $joMoNum du $joMoDate : page $numPage (".round(strlen($body)/1024,1)." ko)".EOL;
|
||||
if ($modeDebug) {
|
||||
echo $body.EOL;
|
||||
print_r($tabAnn);
|
||||
echo date('Y/m/d - H:i:s') ." - $joMoLib n° $joMoNum du $joMoDate : page $numPage, url suivante : $urlFirstAnn".EOL;
|
||||
}
|
||||
if ($tabAnn['titre']=='' && $tabAnn['categorie']=='' && $tabAnn['desc']=='' && $tabAnn['annonceHtml']=='') break;
|
||||
//$saisie = trim(fgets(STDIN))*1;
|
||||
if (!$iDb->insert('bo_monaco', $tabAnn) && mysql_error()<>1062)
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL;
|
||||
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
|
||||
}
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') ." - Fin du traitement des annonces du JO Monégasque.".EOL;
|
||||
die();
|
||||
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,97 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
//Define cookie file for storage
|
||||
$ckfile = '/tmp/cookies.txt';
|
||||
if (file_exists($ckfile)) unlink($ckfile);
|
||||
|
||||
if ($argc != 4){
|
||||
echo $argv[0].' type annee num';
|
||||
echo "\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
$type = strtoupper($argv[1]);
|
||||
$annee = $argv[2];
|
||||
|
||||
$num = $argv[3];
|
||||
$c = strlen($num);
|
||||
for($i=0;$i<4-$c;$i++){
|
||||
$num = '0'.$num;
|
||||
}
|
||||
$annonce = 1;
|
||||
|
||||
function getPage($url, $curl_data = '', $verbose=false)
|
||||
{
|
||||
global $ckfile;
|
||||
|
||||
//$user_agent = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';
|
||||
//$user_agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
|
||||
$user_agent = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)';
|
||||
|
||||
$post = false;
|
||||
$fields = '';
|
||||
if (is_array($curl_data) && count($curl_data)>0) {
|
||||
foreach($curl_data as $key=>$value) {
|
||||
$fields .= $key.'='.$value.'&';
|
||||
}
|
||||
rtrim($fields,'&');
|
||||
$post = true;
|
||||
}
|
||||
|
||||
$options = array(
|
||||
CURLOPT_RETURNTRANSFER => true, // return web page
|
||||
CURLOPT_HEADER => false, // don't return headers
|
||||
CURLOPT_FOLLOWLOCATION => true, // follow redirects
|
||||
CURLOPT_ENCODING => "", // handle all encodings
|
||||
CURLOPT_USERAGENT => $user_agent, // who am i
|
||||
CURLOPT_AUTOREFERER => true, // set referer on redirect
|
||||
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
|
||||
CURLOPT_TIMEOUT => 120, // timeout on response
|
||||
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
|
||||
CURLOPT_POST => $post, // i am sending post data
|
||||
CURLOPT_POSTFIELDS => $fields, // this are my post vars
|
||||
CURLOPT_SSL_VERIFYHOST => 0, // don't verify ssl
|
||||
CURLOPT_SSL_VERIFYPEER => false, //
|
||||
CURLOPT_VERBOSE => $verbose , //
|
||||
//CURLOPT_COOKIESESSION => true,
|
||||
CURLOPT_COOKIEFILE => $ckfile,
|
||||
CURLOPT_COOKIEJAR => $ckfile, // Stockage du cookie de session
|
||||
);
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt_array($ch,$options);
|
||||
$content = curl_exec($ch);
|
||||
$err = curl_errno($ch);
|
||||
$errmsg = curl_error($ch) ;
|
||||
$header = curl_getinfo($ch);
|
||||
curl_close($ch);
|
||||
|
||||
// $header['errno'] = $err;
|
||||
// $header['errmsg'] = $errmsg;
|
||||
// $header['content'] = $content;
|
||||
return array('header'=>$header, 'content'=>$content);
|
||||
}
|
||||
|
||||
//==> Start
|
||||
$debug = false;
|
||||
|
||||
echo $url = "http://www.bodacc.fr/index.php?action=voir&p=$type&n=$annee$num&a=$annonce";
|
||||
echo "\n";
|
||||
$result = getPage($url);
|
||||
if ($debug) file_put_contents('bodacc1.html', $result['content']);
|
||||
preg_match('/\<a href="index\.php\?action=pdf&index=([0-9]{1,})"\>/', $result['content'], $matches);
|
||||
echo $url = "http://www.bodacc.fr/index.php?action=pdf&index=".$matches[1];
|
||||
echo "\n";
|
||||
$result = getPage($url);
|
||||
|
||||
if (substr($result['content'],0,4)!='%PDF'){
|
||||
if ($debug) file_put_contents('bodacc2.html', $result['content']);
|
||||
echo 'Erreur : pas de PDF'.EOL;
|
||||
exit;
|
||||
}
|
||||
echo strlen($result['content']).' octets'.EOL;
|
||||
file_put_contents("BODACC_".$type."_".$annee."_".$num.".pdf", $result['content']);
|
||||
|
||||
die();
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
558
batch/getCFE.php
558
batch/getCFE.php
@ -1,558 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
/**
|
||||
** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice)
|
||||
** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
|
||||
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
|
||||
**
|
||||
** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!
|
||||
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
|
||||
**/
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
include_once(FWK_PATH.'common/PHPExcel.php');
|
||||
|
||||
$referer='http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/lcfeaf.jsp';
|
||||
$iDb=new WDB();
|
||||
$iDbI=new WDB('insee');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$doCFE=$doAMF=$doBanatic=$modeDebug=false;
|
||||
/*
|
||||
$url='http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01000&type=all';
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.justice.gouv.fr');
|
||||
die($page['body']);
|
||||
*/
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Mise à jour des liens actionnaires et participations.
|
||||
|
||||
Options :
|
||||
-v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
|
||||
-a Traiter les Maires AMF (Noms des maires, tel, fax, web mairies)
|
||||
-b Traiter la base Banatic (EPCI, Président, tel, fax...)
|
||||
-c Traiter les CFE
|
||||
|
||||
";
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
//$tabSiren=array();
|
||||
for ($i=1,$j=0; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'a': $doAMF=true; break;
|
||||
case 'b': $doBanatic=true; break;
|
||||
case 'c': $doCFE=true; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}// else $tabSiren[]=$argv[$i];
|
||||
}
|
||||
|
||||
if ($doBanatic) {
|
||||
$urlBase='https://www.banatic.interieur.gouv.fr/V5/fichiers-en-telechargement/';
|
||||
$url=$urlBase.'fichiers-telech.php';
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
$body=$page['body'];
|
||||
$dateMAJ=false;
|
||||
//$urlGrpListe=$urlGrpCoord=$urlGrpCompe=$urlGrpPerim='';
|
||||
|
||||
$tabRegions=array( 93=>231300021, // REGION PROVENCE-ALPES-COTE D'AZUR
|
||||
25=>231400011, // REGION DE BASSE NORMANDIE
|
||||
94=>232000018, // COLLECTIVITE TERRITORIALE DE CORSE
|
||||
26=>232100016, // REGION DE BOURGOGNE
|
||||
43=>232500017, // REGION DE FRANCHE-COMTE
|
||||
73=>233100015, // REGION DE MIDI PYRENEES
|
||||
72=>233300011, // REGION D'AQUITAINE
|
||||
91=>233400019, // REGION DU LANGUEDOC-ROUSSILLON
|
||||
53=>233500016, // REGION BRETAGNE
|
||||
52=>234400034, // REGION DES PAYS DE LA LOIRE
|
||||
24=>234500023, // REGION CENTRE
|
||||
21=>235100013, // REGION CHAMPAGNE-ARDENNE
|
||||
41=>235700010, // REGION DE LORRAINE
|
||||
31=>235900016, // REGION NORD PAS DE CALAIS
|
||||
83=>236300018, // REGION D'AUVERGNE
|
||||
42=>236700019, // REGION D ALSACE
|
||||
82=>236900015, // REGION RHONE ALPES
|
||||
11=>237500079, // REGION ILE DE FRANCE
|
||||
23=>237600010, // REGION DE HAUTE NORMANDIE
|
||||
22=>238000038, // REGION PICARDIE
|
||||
54=>238600019, // REGION POITOU CHARENTES
|
||||
74=>238708507, // REGION LIMOUSIN
|
||||
1=>239710015, // CONSEIL REGIONAL DE LA GUADELOUPE
|
||||
2=>239720014, // REGION DE MARTINIQUE
|
||||
3=>239730013, // REGION GUYANE
|
||||
4=>239740012, // REGION REUNION
|
||||
);
|
||||
|
||||
$tabZones=array(
|
||||
// Toutes les infos de cette table sont dans 'banatic_coord'
|
||||
'banatic_liste'=> array( "Région siège"=>'region',
|
||||
"Département siège"=>'dept',
|
||||
"Arrondissement siège"=>'arrond',
|
||||
"Commune siège"=>'commune',
|
||||
"N° SIREN"=>'sirenGrp',
|
||||
"Nom du groupement"=>'nomGrp',
|
||||
"Nature juridique"=>'nJur',
|
||||
"Syndicat à la carte"=>'syndCarte',
|
||||
"Groupement interdépartemental"=>'grpInterDep',
|
||||
"Date de création"=>'dateCrea',
|
||||
"Date d'effet"=>'dateEffet',
|
||||
"Mode de répartition des sièges"=>'repSieges',
|
||||
"Autre mode de répartition des sièges"=>'modeRep',
|
||||
"Nombre de membres"=>'nbMbr',
|
||||
"Population"=>'popu',
|
||||
"Nombre de compétences exercées"=>'nbrComp',
|
||||
"Mode de financement"=>'modeFin',
|
||||
"Civilité Président"=>'presCiv',
|
||||
"Prénom Président"=>'presPre',
|
||||
"Nom Président"=>'presNom',
|
||||
),
|
||||
'banatic_comp'=> array( "Région siège"=>'region',
|
||||
"Département siège"=>'dept',
|
||||
"Arrondissement siège"=>'arrond',
|
||||
"Commune siège"=>'commune',
|
||||
"N° SIREN"=>'sirenGrp',
|
||||
"Nom du groupement"=>'nomGrp',
|
||||
"Nature juridique"=>'nJur',
|
||||
"Syndicat à la carte"=>'syndCarte',
|
||||
"Groupement interdépartemental"=>'grpInterDep',
|
||||
"Date de création"=>'dateCrea',
|
||||
"Date d'effet"=>'dateEffet',
|
||||
"Mode de répartition des sièges"=>'repSieges',
|
||||
"Autre mode de répartition des sièges"=>'modeRep',
|
||||
"Nombre de membres"=>'nbMbr',
|
||||
"Population"=>'popu',
|
||||
"Nombre de compétences exercées"=>'nbrComp',
|
||||
"Mode de financement"=>'modeFin',
|
||||
"DGF Bonifiée"=>'dgf',
|
||||
"DSC"=>'dsc',
|
||||
"REOM"=>'reom',
|
||||
"Autre redevance"=>'autreRdv',
|
||||
"TEOM"=>'teom',
|
||||
"Autre taxe"=>'autreTx',
|
||||
"Civilité Président"=>'presCiv',
|
||||
"Prénom Président"=>'presPre',
|
||||
"Nom Président"=>'presNom',
|
||||
"Adresse du siège_1"=>'adr1',
|
||||
"Adresse du siège_2"=>'adr2',
|
||||
"Adresse du siège_3"=>'adr3',
|
||||
//"Code postal du siège - Ville du siège"=>'cpVille',
|
||||
"Code postal du siège Ville du siège"=>'cpVille',
|
||||
"Téléphone du siège"=>'tel',
|
||||
"Fax du siège"=>'fax',
|
||||
"Courriel du siège"=>'mail',
|
||||
"Site internet"=>'web',
|
||||
"Adresse annexe_1"=>'annAdr1',
|
||||
"Adresse annexe_2"=>'annAdr2',
|
||||
"Adresse annexe_3"=>'annAdr3',
|
||||
//"Code postal annexe - Ville annexe"=>'annCpVille',
|
||||
"Code postal annexe Ville annexe"=>'annCpVille',
|
||||
"Téléphone annexe"=>'annTel',
|
||||
"Fax annexe"=>'annFax',
|
||||
),
|
||||
'banatic_peri'=> array( "Région siège"=>'region',
|
||||
"Département siège"=>'dept',
|
||||
"Arrondissement siège"=>'arrond',
|
||||
"Commune siège"=>'commune',
|
||||
"N° SIREN"=>'sirenGrp',
|
||||
"Nom du groupement"=>'nomGrp',
|
||||
"Nature juridique"=>'nJur',
|
||||
"Syndicat à la carte"=>'syndCarte',
|
||||
"Groupement interdépartemental"=>'grpInterDep',
|
||||
"Date de création"=>'dateCrea',
|
||||
"Date d'effet"=>'dateEffet',
|
||||
"Mode de répartition des sièges"=>'repSieges',
|
||||
"Autre mode de répartition des sièges"=>'modeRep',
|
||||
"Nombre de membres"=>'nbMbr',
|
||||
"Population"=>'popu',
|
||||
"Nombre de compétences exercées"=>'nbrComp',
|
||||
"Mode de financement"=>'modeFin',
|
||||
"DGF Bonifiée"=>'dgf',
|
||||
"DSC"=>'dsc',
|
||||
"REOM"=>'reom',
|
||||
"Autre redevance"=>'autreRdv',
|
||||
"TEOM"=>'teom',
|
||||
"Autre taxe"=>'autreTx',
|
||||
"Civilité Président"=>'presCiv',
|
||||
"Prénom Président"=>'presPre',
|
||||
"Nom Président"=>'presNom',
|
||||
"Adresse du siège_1"=>'adr1',
|
||||
"Adresse du siège_2"=>'adr2',
|
||||
"Adresse du siège_3"=>'adr3',
|
||||
"Code postal du siège Ville du siège"=>'cpVille',
|
||||
"Téléphone du siège"=>'tel',
|
||||
"Fax du siège"=>'fax',
|
||||
"Courriel du siège"=>'mail',
|
||||
"Site internet"=>'web',
|
||||
"Adresse annexe_1"=>'annAdr1',
|
||||
"Adresse annexe_2"=>'annAdr2',
|
||||
"Adresse annexe_3"=>'annAdr3',
|
||||
"Code postal annexe Ville annexe"=>'annCpVille',
|
||||
"Téléphone annexe"=>'annTel',
|
||||
"Fax annexe"=>'annFax',
|
||||
"Type"=>'typeMbr',
|
||||
"Siren membre"=>'sirenMbr',
|
||||
"Nom membre"=>'nomMbr',
|
||||
"Représentation-substitution"=>'reprMbr',
|
||||
"Compétence conservée"=>'compConsMbr',
|
||||
"Population membre"=>'popuMbr',
|
||||
"Adhésion siren"=>'sirenAdh',
|
||||
"Adhésion nom"=>'nomAdh',
|
||||
"Adhésion population"=>'popuAdh',
|
||||
),
|
||||
);
|
||||
|
||||
$tabBanatic=array(// 1=>array('table'=>'banatic_liste', 'lib'=>'Liste des groupements'),
|
||||
// 2=>array('table'=>'banatic_coord', 'lib'=>'Coordonnées des groupements'),
|
||||
3=>array('table'=>'banatic_comp', 'lib'=>'Compétences des groupements'),
|
||||
4=>array('table'=>'banatic_peri', 'lib'=>'Périmètre des EPCI à fiscalité propre'),
|
||||
);
|
||||
|
||||
if (preg_match('/<p class="s_titre">Donn..?es mises ..? jour le \: <span>(.*)<\/span><\/p>/Uis', $body, $matches))
|
||||
$dateMAJ=$matches[1];
|
||||
|
||||
if (preg_match('/<li><span>France<\/span>\s+<ul>\s+<li class="file">(.*)<\/li>\s+<li class="file">(.*)<\/li>\s+<li class="file">(.*)<\/li>\s+<li class="file">(.*)<\/li>\s+<\/ul>\s+<\/li>/Uis', $body, $matches)) {
|
||||
//print_r($matches);
|
||||
foreach($tabBanatic as $iFichier=>$tabFichier) {
|
||||
if (preg_match('/<a href="(.*)" class="doc">/Uis', $matches[$iFichier], $matches2)) $tabBanatic[$iFichier]['url']=$urlBase.$matches2[1];
|
||||
echo (date('Y/m/d - H:i:s') .' - Téléchargement de "'. $tabBanatic[$iFichier]['url'] .'"'. EOL);
|
||||
$page=getUrl($tabBanatic[$iFichier]['url'], '', '', $url, false);
|
||||
$body=$page['body'];
|
||||
if(file_put_contents('/tmp/'.$tabBanatic[$iFichier]['table'].'.csv', $body)) {
|
||||
echo (date('Y/m/d - H:i:s') .' - Ecriture de "'. $tabBanatic[$iFichier]['table'] .'"'. EOL);
|
||||
// Chargement de la table
|
||||
$row = 0;
|
||||
$sirenPre=$deptPre=0;
|
||||
if (($handle = fopen('/tmp/'.$tabBanatic[$iFichier]['table'].'.csv', 'r')) !== FALSE) {
|
||||
while (($data = fgetcsv($handle, 2054, "\t")) !== FALSE) {
|
||||
$num = count($data);
|
||||
if ($row==0) {
|
||||
$tabEntetes=$tabEntetesComp=array();
|
||||
for ($c=0; $c<$num; $c++) {
|
||||
if (isset($tabZones[$tabBanatic[$iFichier]['table']][trim($data[$c])]))
|
||||
$tabEntetes[$c]=$tabZones[$tabBanatic[$iFichier]['table']][trim($data[$c])];
|
||||
elseif ($tabBanatic[$iFichier]['table']=='banatic_comp' && $c>39)
|
||||
// $tabEntetes[$c]=$data[$c];
|
||||
$tabEntetesComp[$c]=trim($data[$c]);
|
||||
elseif ($tabBanatic[$iFichier]['table']=='banatic_peri' && $c>48)
|
||||
$tabEntetesComp[$c]=trim($data[$c]);
|
||||
else {
|
||||
$taille=strlen($data[$c]);
|
||||
for($z=0; $z<$taille; $z++) {
|
||||
$car=substr($data[$c],$z,1);
|
||||
echo "$z:$car=chr(".ord($car).')'.EOL;
|
||||
}
|
||||
die(print_r($data,1).$tabBanatic[$iFichier]['table'].EOL.'c='.$c.EOL.$data[$c].EOL.$tabZones['banatic_peri'][$data[$c]].EOL.print_r($tabZones['banatic_peri'],1));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$tabInsert=$tabInsertComp=array();
|
||||
for ($c=0; $c<$num; $c++)
|
||||
if (isset($tabEntetes[$c]))
|
||||
$tabInsert[$tabEntetes[$c]]=$data[$c];
|
||||
elseif (($tabBanatic[$iFichier]['table']=='banatic_comp' && $c>39 && $data[$c]==1) ||
|
||||
($tabBanatic[$iFichier]['table']=='banatic_peri' && $c>48 && $data[$c]==1))
|
||||
$tabInsertComp[]=$tabEntetesComp[$c];
|
||||
//$iDbI->insert($tabBanatic[$iFichier]['table'], $tabInsert, false);
|
||||
if ($tabBanatic[$iFichier]['table']=='banatic_comp' ||
|
||||
$tabBanatic[$iFichier]['table']=='banatic_peri') {
|
||||
$tabInsert['dateInsert']=date('YmdHis');
|
||||
/** Nettoyage des données **/
|
||||
switch(trim(str_replace('.','',$tabInsert['presCiv']))) {
|
||||
case 'Monsieur':
|
||||
case 'Mr':
|
||||
case 'M':
|
||||
$tabInsert['presCiv']='M'; break;
|
||||
case 'Madame':
|
||||
case 'Mme':
|
||||
$tabInsert['presCiv']='Mme'; break;
|
||||
case 'Mademoiselle':
|
||||
case 'Melle':
|
||||
case 'Mlle':
|
||||
$tabInsert['presCiv']='Mlle'; break;
|
||||
}
|
||||
$tabInsert['tel']=strtr($tabInsert['tel'],array('.'=>'',' '=>''));
|
||||
if (strlen($tabInsert['tel'])<10) unset($tabInsert['tel']);
|
||||
$tabInsert['fax']=strtr($tabInsert['fax'],array('.'=>'',' '=>''));
|
||||
if (strlen($tabInsert['fax'])<10) unset($tabInsert['fax']);
|
||||
$tabInsert['annTel']=strtr($tabInsert['annTel'],array('.'=>'',' '=>''));
|
||||
if (strlen($tabInsert['annTel'])<10) unset($tabInsert['annTel']);
|
||||
$tabInsert['annFax']=strtr($tabInsert['annFax'],array('.'=>'',' '=>''));
|
||||
if (strlen($tabInsert['annFax'])<10) unset($tabInsert['annFax']);
|
||||
|
||||
$tmp=explode(' - ', $tabInsert['region']);
|
||||
$tabInsert['region']=$tmp[0];
|
||||
$tabInsert['regionLib']=$tmp[1];
|
||||
$tabInsert['sirenRegion']=$tabRegions[$tmp[0]*1];
|
||||
|
||||
$tmp=explode(' - ', $tabInsert['dept']);
|
||||
$tabInsert['dept']=$tmp[0];
|
||||
$tabInsert['deptLib']=$tmp[1];
|
||||
if ($tabInsert['dept']==$deptPre) $tabInsert['sirenDept']=$sirenDeptPre;
|
||||
else {
|
||||
$ret2=$iDb->select( 'etablissements_old', 'siren', "source=2 AND siege=1 AND actif=1 AND adr_dep='".$tabInsert['dept']."' AND capital>=0 AND cj=7220 AND siren BETWEEN 200000000 AND 299999999", false, MYSQL_ASSOC);
|
||||
$tabInsert['sirenDept']=$sirenDeptPre=@$ret2[0]['siren'];
|
||||
$deptPre=$tabInsert['dept'];
|
||||
}
|
||||
|
||||
$tmp=explode(' - ', $tabInsert['arrond']);
|
||||
$tabInsert['arrond']=$tmp[0];
|
||||
$tabInsert['arrondLib']=$tmp[1];
|
||||
$tmp=explode(' - ', $tabInsert['commune']);
|
||||
$tabInsert['commune']=$tmp[0];
|
||||
$tabInsert['communeLib']=$tmp[1];
|
||||
if (@$tabInsert['sirenGrp']>1000) {
|
||||
if ($sirenPre==$tabInsert['sirenGrp']) $tabInsert['nicGrp']=$nicPre;
|
||||
else {
|
||||
$siren=$tabInsert['sirenGrp'];
|
||||
$ret2=$iDb->select( 'etablissements_old', 'nic', "source=2 AND siege=1 AND actif=1 AND siren=$siren", false, MYSQL_ASSOC);
|
||||
$tabInsert['nicGrp']=@$ret2[0]['nic'];
|
||||
$sirenPre=$siren; $nicPre=$tabInsert['nicGrp'];
|
||||
}
|
||||
}
|
||||
if (@$tabInsert['sirenMbr']>1000) {
|
||||
$siren=$tabInsert['sirenMbr'];
|
||||
$ret2=$iDb->select( 'etablissements_old', 'nic, adr_dep, adr_com', "source=2 AND siege=1 AND actif=1 AND siren=$siren", false, MYSQL_ASSOC);
|
||||
$tabInsert['nicMbr']=@$ret2[0]['nic'];
|
||||
$dep1=@$ret2[0]['adr_dep']*1;
|
||||
if ($dep1>96)
|
||||
$tabInsert['codeInsee']=@substr($ret2[0]['adr_dep'],0,2).$ret2[0]['adr_com'];
|
||||
elseif($dep1>0 && $dep1<10)
|
||||
$tabInsert['codeInsee']='0'.$dep1.''.$ret2[0]['adr_com'];
|
||||
else
|
||||
$tabInsert['codeInsee']=''.$dep1.''.@$ret2[0]['adr_com'];
|
||||
}
|
||||
if (@$tabInsert['sirenAdh']>1000) {
|
||||
$siren=$tabInsert['sirenAdh'];
|
||||
$ret2=$iDb->select( 'etablissements_old', 'nic', "source=2 AND siege=1 AND actif=1 AND siren=$siren", false, MYSQL_ASSOC);
|
||||
$tabInsert['nicAdh']=@$ret2[0]['nic'];
|
||||
}
|
||||
|
||||
if ($tabBanatic[$iFichier]['table']=='banatic_comp')
|
||||
$iDbI->insert('banatic_coor', $tabInsert, false);
|
||||
elseif($tabBanatic[$iFichier]['table']=='banatic_peri')
|
||||
$iDbI->insert('banatic_peri', $tabInsert, false);
|
||||
|
||||
// Ajout des compétences
|
||||
foreach ($tabInsertComp as $iComp=>$cComp) {
|
||||
$iDbI->insert('banatic_comp', array('sirenGrp'=>$tabInsert['sirenGrp'], 'codComp'=>$cComp, 'dateInsert'=>date('YmdHis')), false);
|
||||
mysql_error();
|
||||
}
|
||||
//$tabInsertComp[]=$tabEntetes[$c];
|
||||
}
|
||||
/*print_r($tabInsert);
|
||||
print_r($tabInsertComp);
|
||||
die();*/
|
||||
}
|
||||
$row++;
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
}
|
||||
|
||||
//convertXLStoCSV('/tmp/'.$tabBanatic[$iFichier]['table'].'.xls','/tmp/'.$tabBanatic[$iFichier]['table'].'.csv');
|
||||
}
|
||||
print_r($tabBanatic);
|
||||
}
|
||||
|
||||
//print_r($page);
|
||||
die($dateMAJ.EOL);
|
||||
}
|
||||
|
||||
//$lstCom=$iDb->select('villes', 'codeInsee, TRIM(CONCAT(ARTMAJ,NCC)) as LibCom','codeInsee BETWEEN 85068 AND 91000 GROUP BY codeInsee');// "`Code Insee`<'10000'");
|
||||
$lstCom=$iDb->select('villes', 'codeInsee, TRIM(CONCAT(ARTMAJ,NCC)) as LibCom','siren IS NULL ORDER BY codeInsee ASC');// "`Code Insee`<'10000'");
|
||||
foreach ($lstCom as $i=>$tabCom) {
|
||||
$numInsee=$tabCom['codeInsee'];
|
||||
$dep=substr($numInsee,0,2);
|
||||
if ($dep==97) {
|
||||
$dep=substr($numInsee,0,3);
|
||||
$com=substr($numInsee,3,2);
|
||||
} else
|
||||
$com=substr($numInsee,2,3);
|
||||
if ($doCFE) {
|
||||
$url="http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/Controleur.jsp?ddd=$dep&ccc=$com&service=lcfer&type=NULL&Valider=Valider";
|
||||
$page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr');
|
||||
$body=$page['body'];
|
||||
if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0)
|
||||
{
|
||||
//print_r($page);
|
||||
$cookie=$page['header']['Set-Cookie'];
|
||||
$page=getUrl('http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/lcferf.jsp', $cookie, '', $url, false, 'annuaire-cfe.insee.fr');
|
||||
$body=$page['body'];
|
||||
if (preg_match('/<font size="2" face="Arial, Helvetica, sans-serif" color="#D01010">(?:.*)([\d]{2,3})(?:.*)- (.*) \/ (.*)<\/b><\/font><\/td>/Uis', $body, $matches)) {
|
||||
$depLu=$matches[1];
|
||||
$depLib=$matches[2];
|
||||
$comLib=$matches[3];
|
||||
}
|
||||
|
||||
/*<b>01
|
||||
- AIN / L' ABERGEMENT CLEMENCIAT</b></font></td>*/
|
||||
$tabTmp=explode('<tr bgcolor="#FFFFFF">',$body);
|
||||
//print_r($tabTmp);die();
|
||||
$sleep=false;
|
||||
foreach ($tabTmp as $j=>$tabTrib) {
|
||||
if ($j<2) continue;
|
||||
if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) {
|
||||
$libTri=strip_tags($results[1]);
|
||||
if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI
|
||||
elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM
|
||||
elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM
|
||||
elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC
|
||||
elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR
|
||||
elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR
|
||||
elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS
|
||||
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
|
||||
else die("Libellé CFE '$libTri' inconnu !");
|
||||
} else die('Erreur fatale');/*</b><br>
|
||||
1 RUE JOSEPH BERNIER<br>
|
||||
|
||||
01000 BOURG EN BRESSE<br>
|
||||
Tél : 04 74 32 13 00<br>
|
||||
Fax : 04 74 21 42 63<br>
|
||||
<a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a>
|
||||
</font>*/
|
||||
if (preg_match_all('/(.*)(?:<br>|<\/a>)/Uis', $results[2], $results)) {
|
||||
//print_r($results);die();
|
||||
$results2=$results[1];
|
||||
$adresse1=trim($results2[0]);
|
||||
$adresse2=trim($results2[1]);
|
||||
if (substr($adresse2,0,5)*1>0) {
|
||||
$adresse2='';
|
||||
$i=1;
|
||||
} else $i=2;
|
||||
$cpVille=trim(@$results2[$i]);
|
||||
$cp=substr($cpVille,0,5)*1;
|
||||
$ville=trim(substr($cpVille,5));
|
||||
$tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1;
|
||||
$fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1;
|
||||
if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]);
|
||||
if ($web=='http://') $web='';
|
||||
|
||||
$id=md5($typeTri.$adresse1.$cp.$ville);
|
||||
$str=$tabCom['codeInsee'].";1;$depLu;$depLib;$comLib;$id;$typeTri;$adresse1;$adresse2;$cp;$ville;$cpVille;$tel;$fax;$web";
|
||||
$trib=$iDb->select('tribunaux', 'triId, triCode, triType, triNom, triCP, triTel, triFax', "triType='$typeTri' AND triCommentaire='$id'");
|
||||
if (isset($trib[0]['triId'])) {
|
||||
$id=$trib[0]['triId'];
|
||||
$code=$trib[0]['triCode'];
|
||||
$nom=$trib[0]['triNom'];
|
||||
} else {
|
||||
// Il faut insérer la fiche ID de la compétence
|
||||
$tabAdr=$iInsee->structureVoie($adresse1);
|
||||
$tabInsert=array('triType'=>$typeTri,
|
||||
'triNom'=> $libTri,
|
||||
'triCP'=>$cp,
|
||||
'triWeb'=>$web,
|
||||
'triAdrNum'=>$tabAdr['num'],
|
||||
'triAdrIndRep'=>@$tabAdr['indRep'],
|
||||
'triAdrTypeVoie'=>$tabAdr['typeVoie'],
|
||||
'triAdrVoie'=>$tabAdr['libVoie'],
|
||||
'triAdrComp'=>$adresse2,
|
||||
'triVille'=>$ville,
|
||||
'triTel'=>$tel,
|
||||
'triFax'=>$fax,
|
||||
'triCommentaire'=>$id,
|
||||
);
|
||||
$id=$iDb->insert('tribunaux', $tabInsert);
|
||||
$code='';
|
||||
$nom=$libTri;
|
||||
print_r($tabInsert);
|
||||
$sleep=true;
|
||||
}
|
||||
echo $str;
|
||||
if ($id>0) {
|
||||
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
|
||||
if (!$ret) {
|
||||
echo ' Déjà en base.';
|
||||
}
|
||||
else {
|
||||
echo ' ===> INSERE !!!';
|
||||
$sleep=true;
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$str=$tabCom['codeInsee'].";0;;;".$tabCom['LibCom']."\n";
|
||||
echo $str;
|
||||
}
|
||||
}
|
||||
|
||||
if ($doAMF) {
|
||||
$url="http://www.amf.asso.fr/annuaire/index.asp?refer=commune&dep_n_id=$dep&NUM_INSEE=$numInsee";
|
||||
$page=getUrl($url, '', '', $referer, false);
|
||||
$body=$page['body'];
|
||||
//print_r($page);
|
||||
|
||||
$civ=$nom=$prenom=$tel=$fax=$web='';
|
||||
$siren=0;
|
||||
|
||||
|
||||
if (preg_match('/Téléphone \: <strong>(.*)<\/strong>/Uis', $body, $matches)) {
|
||||
//print_r($page);
|
||||
$tel=$matches[1];
|
||||
//die($tel);
|
||||
}
|
||||
if (preg_match('/Fax \: <strong>(.*)<\/strong>/Uis', $body, $matches))
|
||||
$fax=$matches[1];
|
||||
if (preg_match('/<p>Site web : <a href="(.*)" target="_blank">/Uis', $body, $matches))
|
||||
$web=$matches[1];
|
||||
//http://www.yeun-elez.com/brasparts.php" target="_blank"><span style="color:#"><strong>www.yeun-elez.com/brasparts.php</strong>
|
||||
|
||||
if (preg_match('/<div style="padding-bottom\:30px; padding-top\:10px;">Nom du Maire \: <strong>(.*)<\/strong><\/div>/Uis', $body, $matches)) {
|
||||
$tabNom=explode(' ', $matches[1]);
|
||||
$civ=$tabNom[0];
|
||||
$prenom=$tabNom[1];
|
||||
$nom=$tabNom[2];
|
||||
if (isset($tabNom[3])) die();
|
||||
|
||||
//$depLib=$matches[2];
|
||||
//$comLib=$matches[3];
|
||||
}
|
||||
|
||||
$ret2=$iDb->select( 'etablissements_old',
|
||||
'id, siren, nic, cj, raisonSociale, adr_ville, adr_dep, adr_com, dateInsert*1 AS dateInsert, dateUpdate*1 AS dateUpdate',
|
||||
"source=2 AND siege=1 AND actif=1 AND adr_dep=$dep AND capital>=0 AND cj=7210 AND adr_com=$com AND siren BETWEEN 200000000 AND 299999999", false, MYSQL_ASSOC);
|
||||
$siren=@$ret2[0]['siren'];
|
||||
$nic=@$ret2[0]['nic'];
|
||||
//$rsAct=$ret2[0]['raisonSociale'];
|
||||
|
||||
$tabUpdate=array( 'siren' => $siren,
|
||||
'nic' => $nic,
|
||||
'tel' => $tel,
|
||||
'fax' => $fax,
|
||||
'web' => $web,
|
||||
'maireCiv' => $civ,
|
||||
'maireNom' => $nom,
|
||||
'mairePrenom'=> $prenom,
|
||||
'dateMajAMF'=>date('Ymd'));
|
||||
echo $tabCom['codeInsee'].";0;;;".$tabCom['LibCom'].";$siren;$nic;$tel;$fax;$web;$civ $nom $prenom".EOL;
|
||||
if (!$iDb->update('villes', $tabUpdate, "codeInsee='$numInsee'", false))
|
||||
die(mysql_error());
|
||||
//M. Hugues FOURAGE</strong></div>
|
||||
if (!$modeDebug) randsleep(7, 21);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function convertXLStoCSV($infile,$outfile)
|
||||
{
|
||||
$fileType = PHPExcel_IOFactory::identify($infile);
|
||||
$objReader = PHPExcel_IOFactory::createReader($fileType);
|
||||
|
||||
$objReader->setReadDataOnly(true);
|
||||
$objPHPExcel = $objReader->load($infile);
|
||||
|
||||
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
|
||||
$objWriter->save($outfile);
|
||||
}
|
||||
|
||||
|
||||
die();
|
||||
?>
|
@ -1,665 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(FWK_PATH.'common/ftp.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
/*
|
||||
Serveur FTP :
|
||||
Votre identifiant :
|
||||
Votre mot de passe : 5h-P,z5(*/
|
||||
|
||||
define('AMABIS_FTP_URL', 'ftp.amabis.com');
|
||||
define('AMABIS_FTP_USER', 'refgeo_pack_H');
|
||||
define('AMABIS_FTP_PASS', '5h-P,z5(');
|
||||
define('AMABIS_FTP_REMOTE_DIR', '*.gz');
|
||||
define('AMABIS_LOCAL_DIR', '/home/data/amabis/');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Chargement du flux Cedexa via Amabis.
|
||||
|
||||
Options :
|
||||
-d Mode debug (Verbosité au maximum)
|
||||
-j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee
|
||||
-u Forcer la mise à jour la table identite de l'insee
|
||||
-s=20080430 Réappliquer les évènements depuis cette date
|
||||
|
||||
";
|
||||
$iDb=new WDB('insee');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$modeDebug=$dateReprise=false;
|
||||
$ftpStep=true;
|
||||
$updateInsee=false;
|
||||
$tabFichier=array();
|
||||
|
||||
$nomFichierCharges=array();
|
||||
$nbLignesCharges=$nbSiretInvalidesCharges=0;
|
||||
|
||||
//Initialistation des variables
|
||||
$argv=$_SERVER['argv'];
|
||||
//if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargé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); break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL;
|
||||
|
||||
$db_table='cedexa';
|
||||
if ($ftpStep) {
|
||||
/* Récupération des flux FTP */
|
||||
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL;
|
||||
$ret=ftp_mget(AMABIS_FTP_URL, AMABIS_FTP_USER, AMABIS_FTP_PASS, AMABIS_FTP_REMOTE_DIR, AMABIS_LOCAL_DIR, true);
|
||||
if ($ret===false)
|
||||
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL);
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL;
|
||||
}
|
||||
/** Liste des fichiers quotidiens de l'Insee
|
||||
**/
|
||||
|
||||
$dh = opendir(AMABIS_LOCAL_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
if ($filename<>'.' && $filename<>'..' && substr($filename, -7)=='.txt.gz')
|
||||
$tabFichier[] = $filename;
|
||||
}
|
||||
|
||||
$tabToIdentite=array();
|
||||
/** Chargement des fichiers si nécessaire
|
||||
**/
|
||||
for ($i=0; isset($tabFichier[$i]); $i++)
|
||||
{
|
||||
$nomFichier =$tabFichier[$i];
|
||||
if ($nomFichier<>'AMACDX38c-201001.txt.gz') continue;
|
||||
$idFlux=strtr(strtoupper(basename($nomFichier)),array('EVE.DJ'=>'20'));
|
||||
|
||||
$fp=gzopen(AMABIS_LOCAL_DIR.$nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à 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'");
|
||||
$nbLoaded=$ret[0][0];
|
||||
while (!gzeof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(gzgets($fp, 1024));
|
||||
}
|
||||
if ($nbLoaded>0) {
|
||||
if (--$nbLignes<=$nbLoaded)
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL;
|
||||
else
|
||||
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL);
|
||||
continue;
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
|
||||
$tabToIdentite[]=$idFlux;
|
||||
flush();
|
||||
$finFichier=false;
|
||||
$nbLignes=$nbErreurs=0;
|
||||
gzrewind($fp);
|
||||
|
||||
while (!gzeof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(gzgets($fp, 1024));
|
||||
/* if ($finFichier) {
|
||||
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré !
|
||||
die();
|
||||
} elseif ($a=='')
|
||||
break;
|
||||
*/
|
||||
$codeLigne = substr($a, 0, 1 )*1;
|
||||
if ($nbLignes==1 && $codeLigne==0) {
|
||||
$dateFlux =WDate::dateT('d-m-Y','Y-m-d', substr($a,1,10)); // Date au format jj-mm-ssaa
|
||||
$libFlux = trim( substr($a, 11, 311 )); // Libellé du fichier
|
||||
if ($libFlux=='CEDEXA COMPLET 38')
|
||||
$typeFlux='stock';
|
||||
elseif ($libFlux=='CEDEXA MISE A JOUR 38')
|
||||
$typeFlux='maj38';
|
||||
else {
|
||||
echo date ('Y/m/d - H:i:s')." - Type de flux inconnue pour le fichier n°$i, $nomFichier ($libFlux) !".EOL;
|
||||
die();
|
||||
}
|
||||
} elseif ($nbLignes>1 && $codeLigne==1) {
|
||||
//unset($tabErreur); $nbErr=0;
|
||||
$tabCedex=array('dateFlux'=>$dateFlux);
|
||||
$tabCedex['contrat'] = trim( substr($a, 1, 7 )); // Matricule contrat cedex
|
||||
$tabCedex['hexavia'] = trim( substr($a, 8, 8 )); // Matricule Hexavia de la voie
|
||||
$tabCedex['codePostal'] = trim( substr($a, 16, 5 )); // Code Postal de l'adresse Géographique
|
||||
$tabCedex['filler1'] = trim( substr($a, 21, 1 )); // FILLER
|
||||
$tabCedex['l1_nom'] = trim( substr($a, 22, 38 )); // Raison Sociale
|
||||
$tabCedex['l2_nomComp'] = trim( substr($a, 60, 38 )); // Complément de nom
|
||||
$tabCedex['filler2'] = trim( substr($a, 98, 38 )); // FILLER
|
||||
$tabCedex['l3_compGeo'] = trim( substr($a, 136, 38 )); // Complément au point géographique
|
||||
$tabCedex['l4_numVoie'] = trim( substr($a, 174, 4 )); // Numéro dans la voie
|
||||
$tabCedex['l4_indRep'] = trim( substr($a, 178, 1 )); // Extension du numéro de voie
|
||||
$tabCedex['l4_libVoie'] = trim( substr($a, 179, 32 )); // Libellé de voie
|
||||
$tabCedex['l5_distrib'] = trim( substr($a, 211, 20 )); // Mention spéciale de distribution
|
||||
$tabCedex['l5_numMS'] = trim( substr($a, 231, 5 )); // numéro de mention spéciale
|
||||
$tabCedex['l5_libCom'] = trim( substr($a, 236, 32 )); // Libellé de la commune
|
||||
$tabCedex['l6_codCedex']= trim( substr($a, 268, 5 )); // Code Cedex
|
||||
$tabCedex['l6_achCedex']= trim( substr($a, 273, 32 )); // Libellé de l'acheminement Cedex
|
||||
$tabCedex['codeInsee'] = trim( substr($a, 305, 5 )); // Code Insee de la commune adresse Géographique
|
||||
$tabCedex['filler3'] = trim( substr($a, 310, 1 )); // FILLER
|
||||
$codeMaj = trim( substr($a, 311, 1 )); // Code de Mise à Jour
|
||||
if ($codeMaj=='S') $tabCedex['actif']=0;
|
||||
else $tabCedex['actif']=1;
|
||||
$tabCedex['filler4'] = trim( substr($a, 312, 10 )); // FILLER
|
||||
|
||||
$rs=$tabCedex['l1_nom'];
|
||||
$rs==preg_replace('/[^0-9A-Z]/', ' ', strtr($rs, 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝŸ', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
|
||||
$rs=preg_replace("/^(MLLE |MELLE |MLE |MME |ME |M |MR )/",'', $rs);
|
||||
$rs=trim(preg_replace("/ +/",' ', strtr(' '.$rs.' ',
|
||||
array(' NEE '=>' ', ' DIVORCEE '=>' ', ' DENOMINATION '=>' ',' D NOMINATION '=>' ', ' NOM D USAGE '=>' ', ' ASSOCIATION '=>' ',' CLUB '=>' ', ' SUCCESSION '=>' ', ' CONJOINT '=>' ', ' COLLABORATEUR '=>' ', ' VEUVE '=>' ', // FEU
|
||||
' S E L A R L '=>' ', ' S A R L '=>' ', ' S A S '=>' ', ' S A '=>' ', ' S C I '=>' ', ' S N C '=>' ', ' S C P '=>' ', ' S C E A '=>' ', ' S C A '=>' ', ' E U R L '=>' ', ' E A R L '=>' ', ' E A R '=>' ', ' E A '=>' ', ' S C '=>' ',
|
||||
' SELARL '=>' ', ' SARL '=>' ', ' SAS '=>' ', ' SA '=>' ', ' SCI '=>' ', ' SNC '=>' ', ' SCP '=>' ', ' SCEA '=>' ', ' SCA '=>' ', ' EURL '=>' ', ' ETS '=>' ',
|
||||
' EARL '=>' ', ' EAR '=>' ', ' EA '=>' ',' SC '=>' ',
|
||||
' DE '=>' ',' ET '=>' ',' LA '=>' ',' DU '=>'', ' DES '=>' ', ' L '=>' ', ' SOCIETE '=>' ',' SOC '=>' ', ' MONSIEUR '=>' ', ' MADAME '=>' ', ' STE '=>' ', ' CIVILE '=>' ', ' IMMOBILIERE '=>' ',' LIQUIDATION '=>' ', ' DISSOLUTION '=>' ',
|
||||
))));
|
||||
$adresse=preg_replace('/[^0-9A-Z]/', ' ', strtr($tabCedex['l4_libVoie'], 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝŸ', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
|
||||
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$adresse.' ',
|
||||
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
|
||||
$cp=$tabCedex['codePostal'];
|
||||
|
||||
$tabEtab=@$iInsee->rechercheEtab($rs,$tabCedex['l4_numVoie'].' '.$adresse, $cp,'','',1,0,10);
|
||||
if ($tabEtab['nbReponses']==0)
|
||||
$tabCedex['siren']=$tabCedex['nic']=0;
|
||||
elseif ($tabEtab['nbReponses']==1) {
|
||||
$tabCedex['siren']=$tabEtab['reponses'][0]['Siren'];
|
||||
$tabCedex['nic']=$tabEtab['reponses'][0]['Nic'];
|
||||
// print_r($tabEtab);
|
||||
// die(print_r($tabCedex));
|
||||
}
|
||||
else
|
||||
$tabCedex['siren']=$tabCedex['nic']=0;
|
||||
|
||||
$ret=$iDb->insert($db_table, $tabCedex);
|
||||
if ($ret===false) {
|
||||
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du cedexa ".$tabCedex['contrat']." : ".mysql_error().'!'.EOL;
|
||||
$nbErreurs++;
|
||||
flush();
|
||||
} else
|
||||
$updateInsee=true;
|
||||
|
||||
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s') . " - Erreur : Il y a incohérence entre le code enregistrement '$codeLigne' et sa position dans le fichier : ligne n°$nbLignes !".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
}
|
||||
gzclose($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traité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ées dont $nbSiretInvalides siret invalides !".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé";
|
||||
die();
|
||||
|
||||
/**********************************************************************************************************************************
|
||||
* MISE A JOUR DE LA TABLE IDENTITE
|
||||
**********************************************************************************************************************************/
|
||||
|
||||
if ($updateInsee) {
|
||||
echo ', début de mise à 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';
|
||||
// on lit R pour mettre à 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 (!$dateReprise)//$tabToIdentite
|
||||
sort($tabToIdentite);
|
||||
else
|
||||
$tabToIdentite=array($dateReprise);
|
||||
|
||||
foreach ($tabToIdentite as $idFlux) {
|
||||
//$idFlux='20080114';
|
||||
|
||||
if (!$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 à mettre à jour...".EOL;
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux...".EOL;
|
||||
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux 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 à mettre à jour...".EOL;
|
||||
}
|
||||
$k=$nbInsert=$nbUpdate=$nbDBl=0;
|
||||
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 $etab=array('IDENTITE_PRE'=>'',
|
||||
'NOM'=>'',
|
||||
'ENSEIGNE'=>'',
|
||||
'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();
|
||||
|
||||
$even=trim($ligne['insEVE'])*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éation d'une entreprise
|
||||
case 'M0F':
|
||||
case 'FF': $even=410; break; // Fermeture de l'entreprise
|
||||
case 'OC': $even=130; break; // Création d'un établissement
|
||||
case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement
|
||||
case 'M0R':
|
||||
case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement
|
||||
case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production
|
||||
case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod.
|
||||
case 'OF': $even=430; break; // Fermeture d'un établissement
|
||||
case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'é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 établissement dans le cadre d'un transfert
|
||||
case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un é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
|
||||
|
||||
switch ($even) {
|
||||
case 110: // Création ou réactivation Création d'une entreprise
|
||||
case 120: // Réactivation d'une entreprise
|
||||
case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire
|
||||
case 130: // Création d'un établissement
|
||||
case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire
|
||||
|
||||
switch ($typEtab) {
|
||||
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
case 23: // Établissement fermé (hors transfert)
|
||||
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
break;
|
||||
default:
|
||||
$dateFerET=$dateFerEN=0;
|
||||
$actif=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 400: // Suppression d'un double
|
||||
//$dateFerET=$dateFerEN=0;
|
||||
$actif=-1;
|
||||
continue; // On ignore les suppressions de doublons
|
||||
break;
|
||||
case 410: // Cessation juridique de l'entreprise
|
||||
case 420: // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$dateFerEN=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
/** @todo, il faudrait fermer tous les étabs **/
|
||||
break;
|
||||
case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire
|
||||
case 430: // Fermeture d'un établissement
|
||||
case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire
|
||||
switch ($typEtab) {
|
||||
case 13: // Siège fermé (hors transfert)
|
||||
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
case 23: // Établissement fermé (hors transfert)
|
||||
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
break;
|
||||
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
|
||||
case 16: // Siège modifié (hors transfert) : modification de l'APE de l'établissement
|
||||
case 17: // Siège modifié (hors transfert) : modification de l'identification de l'établissement
|
||||
case 19: // Siège modifié (hors transfert) : autre modification de l'établissement
|
||||
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
|
||||
$dateFerET=$dateFerEN=0;
|
||||
$actif=1;
|
||||
break;
|
||||
default:
|
||||
$actif=-1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
|
||||
case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
|
||||
case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
|
||||
case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
|
||||
switch ($typEtab) {
|
||||
case 9: // Siège après transfert non créé
|
||||
case 8: // Siège avant transfert non fermé
|
||||
case 11: // Siège après transfert créé
|
||||
case 12: // Siège créé (hors transfert)
|
||||
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
|
||||
case 21: // Établissement après transfert créé
|
||||
case 22: // Établissement créé (hors transfert)
|
||||
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
|
||||
case 30: // Établissement avant transfert non fermé
|
||||
case 31: // Établissement après transfert non créé
|
||||
//echo "case even=$even, typeEtab=$typEtab\n";
|
||||
$dateFerET=$dateFerEN=0;
|
||||
$actif=1;
|
||||
break;
|
||||
case 10: // Siège avant transfert fermé
|
||||
case 13: // Siège fermé (hors transfert)
|
||||
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
case 20: // Établissement avant transfert fermé
|
||||
case 23: // Établissement fermé (hors transfert)
|
||||
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
|
||||
case 32: // Établissement supprimé
|
||||
//echo "case even=$even, typeEtab=$typEtab\n";
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
break;
|
||||
default:
|
||||
$actif=-1;
|
||||
break;
|
||||
/*
|
||||
Que fait on pour ces codes ?
|
||||
16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement
|
||||
17 Siège modifié (hors transfert) : modification de l'identification de l'établissement
|
||||
19 Siège modifié (hors transfert) : autre modification de l'établissement
|
||||
26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement
|
||||
27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement
|
||||
29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement*/
|
||||
}
|
||||
break;
|
||||
case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production
|
||||
case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production
|
||||
$actif=1;
|
||||
break;
|
||||
case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production
|
||||
case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$dateFerEN=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
break;
|
||||
case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
break;
|
||||
//case 781:
|
||||
case 795: // SIREN non diffusible
|
||||
$actif=1;
|
||||
break;
|
||||
default:
|
||||
$actif=-1;
|
||||
/*631 Autre modification d'activité du SIREN associé
|
||||
661 Autre modification d'activité au niveau de l'établissement
|
||||
|
||||
710 Modification de l'identification du SIREN
|
||||
711 Modification de l'identification du SIREN suite à correction d'erreur
|
||||
720 Modification de l'adresse ou de l'identification de l'établissement
|
||||
780 Autre modification entraînant la mise à jour d'au moins une variable du répertoire
|
||||
781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur*/
|
||||
}
|
||||
|
||||
//echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL;
|
||||
|
||||
/** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée !
|
||||
**/
|
||||
if ($actif==-1 && (trim($ligne['insEVE'])=='MPF' || trim($ligne['insEVE'])=='MNP')) {
|
||||
// Etablisement présumé fermé mais on laisse actif juridiquement
|
||||
$actif=-1;
|
||||
}
|
||||
elseif ($actif==-1 && ( $destinat*1==3 || // Vendu
|
||||
$destinat=='B' || // Fermé
|
||||
$destinat=='C' || // Supprimé
|
||||
$destinat=='D' || // Mise en location-gérance de la totalité du fonds
|
||||
$destinat=='F' || // Cessation d'activité (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é des terres et des bâtiments agricoles (pour les liasses agricoles)
|
||||
{
|
||||
$dateFerET=$ligne['insDATEVE'];
|
||||
$actif=0;
|
||||
}
|
||||
elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège
|
||||
$destinat*1==8 || // Maintien d'activité, l'établissement devient principal
|
||||
$destinat=='A' || // Maintien d'activité, l'établissement devient secondaire
|
||||
$destinat=='E' || // Mise en location-gérance d'une partie du fonds
|
||||
$destinat=='VP' || // suppression partielle d'activité par vente
|
||||
$destinat=='DP' || // suppression partielle d'activité par disparition
|
||||
$destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire
|
||||
$destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)
|
||||
{
|
||||
$actif=1;
|
||||
}
|
||||
else {
|
||||
if ($modeDebug)
|
||||
echo "$k : $siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)".EOL;
|
||||
}
|
||||
/*
|
||||
9 Autre
|
||||
NR Non renseigné
|
||||
*/
|
||||
|
||||
if ($actif==-1) $arrActif=array();
|
||||
else $arrActif=array('ACTIF'=>$actif);
|
||||
|
||||
if ($dateFerET<>-1) $arrActif=array_merge($arrActif, array('dateFerET'=>$dateFerET));
|
||||
|
||||
if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN));
|
||||
|
||||
/** Zone Identité précédente
|
||||
** contenant tous les anciens nom, sigle et/ou enseigne concaténés
|
||||
** n'ai jamais affiché 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 à jour de l'enseigne de l'établissement
|
||||
** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
|
||||
** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
|
||||
**/
|
||||
$identite_pre=trim($etab['IDENTITE_PRE']);
|
||||
$nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
|
||||
$nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38);
|
||||
if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') {
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, é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)=>'°')));
|
||||
$nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
|
||||
if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') {
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, é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)=>'°')));
|
||||
$sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
|
||||
if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') {
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL;
|
||||
if (strlen($identite_pre)==0)
|
||||
$identite_pre=$sigEntrepEnBase;
|
||||
else
|
||||
$identite_pre.=','.$sigEntrepEnBase;
|
||||
}
|
||||
|
||||
$arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
|
||||
'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché)
|
||||
'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne
|
||||
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
|
||||
'SIEGE'=> $ligne['insSIEGE'], // Siè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ément d'adresse
|
||||
'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spé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éation de l'établissemennt
|
||||
'DCREN'=> trim($ligne['insDCREN']), // Date de cré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'établissement (cf. table APE)
|
||||
|
||||
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'é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))*1,
|
||||
'ADR_COM'=> trim(substr($ligne['insDEPCOM'],2,3))*1,
|
||||
'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é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'établissement
|
||||
**/
|
||||
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'é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é".EOL;
|
||||
$nbInsert++;
|
||||
} else {
|
||||
/**
|
||||
** On modifie la fiche de l'établissement
|
||||
**/
|
||||
$tel=trim($ret2[0]['TEL']);
|
||||
if (trim($ligne['insTEL'])<>'' && $tel=='')
|
||||
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
|
||||
else
|
||||
$arrTel=array();
|
||||
|
||||
$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é".EOL;
|
||||
$nbUpdate++;
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".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és ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL;
|
||||
} else echo ', la table identite n\'est pas mise à jour !'.EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL;
|
||||
$message="Fichier évènements '".implode(',', $nomFichierCharges)."' :
|
||||
- $nbLignesCharges lignes traitées,
|
||||
- $nbSiretInvalidesCharges siret invalides,
|
||||
- $nbErreurs erreurs lors des insertions.
|
||||
";
|
||||
if ($updateInsee) {
|
||||
$message.="
|
||||
Table identité :
|
||||
- $nbInsert créations,
|
||||
- $nbUpdate mises à jour
|
||||
";
|
||||
}
|
||||
$message.=EOL;
|
||||
|
||||
/** Ajout du fichier info de l'INSEE **/
|
||||
foreach ($nomFichierCharges as $nomFichier) {
|
||||
$message.="Informations INSEE pour '$nomFichier' :".EOL;
|
||||
$message.=file_get_contents(AMABIS_LOCAL_DIR.str_replace('*','', AMABIS_FTP_REMOTE_DIR).str_replace('EVE.DJ','EVE.NJ',$nomFichier)).EOL;
|
||||
$message.=EOL;
|
||||
}
|
||||
|
||||
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Fin du traitement de chargement INSEE', $message);
|
||||
|
||||
die();
|
||||
|
||||
?>
|
@ -1,294 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
$tabZones=array(
|
||||
'nom'=>'<th>Nom :(?:.*)<td>(.*)</td>',
|
||||
'adresse'=>'<th>Adresse :(?:.*)<td>(.*)<br />',
|
||||
'adresse2'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(.*)?<br />',
|
||||
'cp'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(?:.*)?<br />(\d\d\d\d\d) ',
|
||||
'ville'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(?:.*)?<br />(?:\d\d\d\d\d) (.*)</td>',
|
||||
'tel'=>'<th>Tél. :(?:.*)<td>(.*)</td>',
|
||||
'fax'=>'<th>Fax :(?:.*)<td>(.*)</td>',
|
||||
'annee'=>'<th>Année d\'inscription :(?:.*)<td>(.*)</td>',
|
||||
'mail'=>'Mail :(?:.*)<td>(?:.*);">(.*)</a></td>',
|
||||
'web'=>'<th>Site web :(?:.*)<td>(.*)</td>',
|
||||
'numCRCC'=>'<th>Compagnie régionale :(?:.*)page=fiche_crcc&id=(.*)&parente=',
|
||||
'fj'=>'<th>Forme juridique :(?:.*)<td>(.*)</td>',
|
||||
'pays'=>'<th>Agréé par (?:.*)<td>(.*)</td>',
|
||||
'reseau'=>'<th>Réseau :(?:.*)<td>(.*)</td>',
|
||||
'adh[nom,idAdh]'=>'<td style="padding-left:20px;">(?:.*)<strong>(.*)</strong>(?:.*)page=fiche&id=(.*)&r=&parente=',
|
||||
);
|
||||
|
||||
$tabCRC=array( '_03'=>'Agen',
|
||||
'_06'=>'Aix en Provence - Bastia',
|
||||
'_09'=>'Amiens',
|
||||
'_12'=>'Angers',
|
||||
'_13'=>'Basse-Terre',
|
||||
'_15'=>'Besançon',
|
||||
'_18'=>'Bordeaux',
|
||||
'_21'=>'Bourges',
|
||||
'_24'=>'Caen',
|
||||
'_27'=>'Chambéry',
|
||||
'_30'=>'Colmar',
|
||||
'_33'=>'Dijon',
|
||||
'_36'=>'Douai',
|
||||
'_95'=>'Fort-de-France',
|
||||
'_39'=>'Grenoble',
|
||||
'_42'=>'Limoges',
|
||||
'_45'=>'Lyon',
|
||||
'_48'=>'Metz',
|
||||
'_51'=>'Montpellier',
|
||||
'_54'=>'Nancy',
|
||||
'_57'=>'Nîmes',
|
||||
'_60'=>'Nouméa',
|
||||
'_63'=>'Orléans',
|
||||
'_66'=>'Paris',
|
||||
'_67'=>'Paris: "CAC inscrits dans le cadre de l\'art. L822-1-3"',
|
||||
'_69'=>'Pau',
|
||||
'_72'=>'Poitiers',
|
||||
'_75'=>'Reims',
|
||||
'_78'=>'Rennes',
|
||||
'_81'=>'Riom',
|
||||
'_84'=>'Rouen',
|
||||
'_07'=>'Saint-Denis de la Réunion',
|
||||
'_87'=>'Toulouse',
|
||||
'_90'=>'Versailles');
|
||||
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
$modeDebug=$modeFiches=false;
|
||||
$numCRCC=0;
|
||||
$strCRCC='';
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
|
||||
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
|
||||
|
||||
Options :
|
||||
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
|
||||
-f Mode fiche
|
||||
-r:XX Numéro de la CRCC
|
||||
|
||||
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
|
||||
|
||||
";*/
|
||||
|
||||
$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 'r': $numCRCC=substr($argv[$i],3); break;
|
||||
case 'f': $modeFiches=true; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB('sdv1');
|
||||
$table='tabCNCC';
|
||||
$urlBase="http://annuaire.cncc.fr/index.php?page=liste";
|
||||
$urlFiche="http://annuaire.cncc.fr/index.php?page=fiche&id=";
|
||||
|
||||
if ($numCRCC>0 && !@array_key_exists("_$numCRCC", $tabCRC))
|
||||
die("Numéro de CRCC inexistant : $numCRCC".EOL);
|
||||
elseif (!$modeFiches)
|
||||
$strCRCC=" de la CRCC '".$tabCRC["_$numCRCC"]."'";
|
||||
elseif ($modeFiches) {
|
||||
$ret=$iDb->select('tabCNCC', 'id, type, numCRCC, nom', "dateUpdate=0", false, MYSQL_ASSOC);
|
||||
$nb=count($ret);
|
||||
foreach($ret as $i=>$tabCAC) {
|
||||
$id=$tabCAC['id'];
|
||||
$url=$urlFiche.$id;
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
//print_r($page);
|
||||
$tabHtml=@html2array($body, $tabZones);
|
||||
foreach ($tabHtml as $zone=>$data) {
|
||||
if (is_array($data)) {
|
||||
foreach ($data as $j=>$tabInsert2) {
|
||||
$tabInsert2['id']=$id;
|
||||
$tabInsert2['num']=$j;
|
||||
$tabInsert2['dateInsert']=date('YmdHis');
|
||||
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
|
||||
if (mysql_errno()==1062) {
|
||||
unset($tabInsert2['dateInsert']);
|
||||
$iDb->update($table.$zone, $tabInsert2, "id=$id AND num=$j", false);
|
||||
} else {
|
||||
print_r($tabInsert2);
|
||||
die(mysql_error());
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif ($zone=='mail')
|
||||
$tabInsert[$zone]=str_replace('[arrobase]','@',$data);
|
||||
else
|
||||
$tabInsert[$zone]=$data;
|
||||
}
|
||||
$iDb->update($table, $tabInsert, "id=$id", false);
|
||||
echo date ('Y/m/d - H:i:s')." - $i/$nb : Mise à jour du CAC n°$id, ".$tabCAC['nom'].'...'.EOL;
|
||||
if ($modeDebug) randsleep(1,2);
|
||||
else randsleep(7,21);
|
||||
}
|
||||
die();
|
||||
}
|
||||
|
||||
$tabZones=array('type'=>'<td align="center"><img src="_img/picto_type_(PM|PP).gif"',
|
||||
'id'=>'page=fiche&id=(.*)&r=',
|
||||
'nom'=>'page=fiche&id=(?:.*)&r=(?:.*)">(.*)</a></td>',
|
||||
);
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des CAC".$strCRCC.'...'.EOL;
|
||||
|
||||
$listeCAC=array();
|
||||
|
||||
$post=array('recherche'=>1,
|
||||
'nature_fiche'=>'toutes',
|
||||
'nom_societe'=>'',
|
||||
'cp_ville'=>'',
|
||||
'crcc'=>$numCRCC,
|
||||
'x'=>0,
|
||||
'y'=>10);
|
||||
$page=getUrl($urlBase, '', $post, '', false);
|
||||
$referer=$urlBase;
|
||||
$body=$page['body'];
|
||||
|
||||
if (preg_match('/<span class="float-left">Nombre de résultats \:(.*)<\/span>/Uis', $body, $matches)) {
|
||||
$nbCAC=trim($matches[1]);
|
||||
$nbPages=ceil($nbCAC/15);
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Liste de $nbCAC CAC sur $nbPages pages.".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Page ";
|
||||
$cookie=$page['header']['Set-Cookie'];
|
||||
$pageCour=1;
|
||||
while(1) {
|
||||
echo "$pageCour/$nbPages, ";
|
||||
$tmpListe=explode('<tr class="ligne_', $body);
|
||||
foreach ($tmpListe as $i=>$tmpCAC) {
|
||||
if ($i==0) continue;
|
||||
$tmpCAC=preg_replace('/<\/table>.*$/Uis', '', $tmpCAC);
|
||||
//echo $i.EOL.$tmpCAC;
|
||||
$tabHtml=@html2array($tmpCAC, $tabZones);
|
||||
$listeCAC[]=$tabHtml;
|
||||
}
|
||||
|
||||
$pageCour++;
|
||||
if ($pageCour>$nbPages) break;
|
||||
//if ($pageCour>100) break;
|
||||
$url=$urlBase.'&p='.$pageCour;
|
||||
$page=getUrl($url, $cookie, '', $referer, false);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
if ($modeDebug) randsleep(1,2);
|
||||
else randsleep(7,21);
|
||||
}
|
||||
|
||||
foreach ($listeCAC as $i=>$tabCAC) {
|
||||
echo $tabCAC['type']."\t".$tabCAC['id']."\t".$tabCAC['nom'].EOL;
|
||||
//$tabCAC['nom']=utf8_decode($tabCAC['nom']);
|
||||
if ($numCRCC>0) $tabCAC['numCRCC']=$numCRCC;
|
||||
//else $tabCAC['numCRCC']=NULL;
|
||||
$tabCAC['dateInsert']=date('YmdHis');
|
||||
$iDb->insert($table, $tabCAC, false);
|
||||
if (mysql_errno()<>0 && mysql_errno()<>1062) echo mysql_error().EOL;
|
||||
}
|
||||
|
||||
die();
|
||||
/*
|
||||
|
||||
$iDeb=$ret[0][0];
|
||||
$nbVides=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Dernier id entreprise '$table' = $iDeb".EOL;
|
||||
µ/
|
||||
|
||||
for($i=$iDeb;;$i++) {
|
||||
//http://www.qualifelec.fr/recherche/fiche.php?idadh=8148&PHPSESSID=i1jgdorhdighojasq5otfpc1v67drkqi
|
||||
$tabInsert=array('id'=>$i);
|
||||
|
||||
$ret=$iDb->select($table, 'raiSoc', "id=$i", false);
|
||||
if (@$ret[0][0]<>'') continue;
|
||||
|
||||
$url=$urlBase.$i;
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
$tabHtml=html2array($body, $tabZones);
|
||||
|
||||
foreach ($tabHtml as $zone=>$data) {
|
||||
if (is_array($data)) {
|
||||
foreach ($data as $j=>$tabInsert2) {
|
||||
$tabInsert2['id']=$i;
|
||||
$tabInsert2['num']=$j;
|
||||
$tabInsert2['dateInsert']=date('YmdHis');
|
||||
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
|
||||
if (mysql_errno()==1062) {
|
||||
unset($tabInsert2['dateInsert']);
|
||||
$iDb->update($table.$zone, $tabInsert2, "id=$i AND num=$j", false);
|
||||
} else {
|
||||
print_r($tabInsert2);
|
||||
die(mysql_error());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
$tabInsert[$zone]=$data;
|
||||
}
|
||||
if (count($tabInsert)<10 || $tabInsert['raiSoc']=='') {
|
||||
$nbVides++;
|
||||
if ($nbVides<20) continue;
|
||||
else {
|
||||
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
|
||||
die();
|
||||
}
|
||||
}
|
||||
$nbVides=0;
|
||||
|
||||
unset($tabInsert['qualifs']);
|
||||
|
||||
if (isset($tabInsert['urlImg']) && $tabInsert['urlImg']<>'') {
|
||||
$urlLogo='http://www.qualifelec.fr/';
|
||||
die($tabInsert['urlImg']);
|
||||
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') {
|
||||
$extension=substr(strrchr($urlLogo,'.'),1);
|
||||
if (!file_exists("/home/data/logos/$siren.$extension")) {
|
||||
$referer='';
|
||||
$tDeb=microtime(true);
|
||||
$page=getUrl($urlLogo, '', '', $referer, false, '', '', 60);
|
||||
$duree=round(microtime(true)-$tDeb,3);
|
||||
$body=$page['body'];
|
||||
$taille=round(strlen($body)/1024,1);
|
||||
file_put_contents("/home/data/logos/$siren.$extension",$body);
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($tabInsert['urlImg']);
|
||||
$tabInsert['dateInsert']=date('YmdHis');
|
||||
if (!$iDb->insert($table, $tabInsert, false)) {
|
||||
if (mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$iDb->update($table, $tabInsert, "id=$i", false);
|
||||
} else {
|
||||
print_r($tabInsert);
|
||||
die(mysql_error());
|
||||
}
|
||||
}
|
||||
|
||||
//die();
|
||||
$nb=count($tabInsert);
|
||||
$nb2=@count($tabInsert2);
|
||||
echo date('Y/m/d H:i:s')." - $i : $nb zones et $nb2 qualifications".EOL;
|
||||
|
||||
if ($modeDebug) randsleep(1,2);
|
||||
else randsleep(7,21);
|
||||
}
|
||||
|
||||
die();
|
||||
*/
|
||||
?>
|
@ -1,721 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||||
include_once(FWK_PATH.'mail/sendMail.php');
|
||||
|
||||
/*
|
||||
00150 Taux de change DGI
|
||||
00151 Taux de change BCE
|
||||
00152 Taux de change Douanes
|
||||
00153 Taux de change Banque Mondiale
|
||||
00159 Taux de change S&D Taux de change du site http://fxtop.com
|
||||
*/
|
||||
|
||||
/** Taux de change DGI (Source 150)
|
||||
**/
|
||||
// Données relatives aux taux (Fichier txt - 272,0 Ko)
|
||||
$urlListeTauxDGI='http://www.economie.gouv.fr/dgfip/fichiers_taux_chancellerie/tauxtxt';
|
||||
// Données relatives aux monnaies (Fichier txt - 18,2 Ko)
|
||||
$urlListeDevDGI='http://www.economie.gouv.fr/dgfip/fichiers_taux_chancellerie/monnaietxt';
|
||||
// Données relatives aux pays (Fichier txt - 29,0 Ko)
|
||||
//http://www.economie.gouv.fr/dgfip/fichiers_taux_chancellerie/paystxt
|
||||
// Données relatives aux barèmes des frais de mission des personnels civils de l'État (Fichier txt - 64,5 Ko)
|
||||
//http://www.economie.gouv.fr/dgfip/fichiers_taux_chancellerie/missiontxt
|
||||
|
||||
/** Taux de change BCE (Source 151)
|
||||
**/
|
||||
$urlListeTauxBCE='https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip';
|
||||
// Histo http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip
|
||||
|
||||
/** Taux de change des Douanes (Source 152)
|
||||
**/
|
||||
$urlListeTauxDouanes='https://pro.douane.gouv.fr/download/downloadurl.asp?file=dropbo/drop.zip';
|
||||
//$urlListeTauxDouanesIni='https://pro.douane.gouv.fr/debweb/cf.srv?etape=initTelechargementTauxTaux';
|
||||
//$urlListeTauxDouanesBase='https://pro.douane.gouv.fr/debweb/';
|
||||
|
||||
/** Taux de change de la Banque Mondiale (Source 153)
|
||||
**/
|
||||
$urlListeTauxBqMonde='http://api.worldbank.org/v2/fr/indicator/pa.nus.fcrf?downloadformat=csv';
|
||||
|
||||
//http://fxtop.com/dev/submithisto.php?FORMAT=CSV&MA=0&YA=1&C1=EUR&C2=USD&A=1&DD1=01&MM1=01&YYYY1=2004&DD2=31&MM2=03&YYYY2=2014&LANG=fr
|
||||
|
||||
$modeDebug=$listeTaux=false;
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère l'historique des cours des devises par rapport à l'euro sur différents serveurs.
|
||||
|
||||
options :
|
||||
-v Mode verbose
|
||||
-l Liste les derniers taux
|
||||
";/*
|
||||
Sans aucun paramètre, récupère le dernier cours pour chaque devise par rapport à l'euro.
|
||||
Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de période (*)
|
||||
-f:JJ/MM/AAAA Date de fin de période (*)
|
||||
-n:X Intervalle MIN en secondes entre les requêtes (défaut=$tmin)
|
||||
-i:X \" MAX \" \" \" \" \" (défaut=$tmax)
|
||||
-p Récupération de la dernière liste des pays (par défaut, une fois par mois, le 1er du mois)
|
||||
-h Récupération de l'historique complet
|
||||
-c=DEV Récupération limité à la devise passée en paramètre
|
||||
|
||||
* : par défaut, le programme récupère le dernier cour pour le jour précédent !
|
||||
";*/
|
||||
//$tabCurrency=array();
|
||||
$argv=$_SERVER['argv'];
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'v': $modeDebug=true; break;
|
||||
case 'l': $listeTaux=true; break;
|
||||
case '-': die($strInfoProg); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n"); break;
|
||||
}
|
||||
}/* else {
|
||||
$tabCurrency[]=$argv[$i];
|
||||
}*/
|
||||
}
|
||||
|
||||
$iDb=new WDb('sdv1');
|
||||
$iDb2=new WDb();
|
||||
|
||||
if ($listeTaux) {
|
||||
$ret=$iDb2->select('tabDevises', 'devIso', "devNewIso='' ORDER BY devIso ASC", false, MYSQL_ASSOC);
|
||||
$tabDevises=array();
|
||||
foreach ($ret as $i=>$tmp) {
|
||||
$tabDevises[$tmp['devIso']]=array();
|
||||
}
|
||||
$ret=$iDb->select('devise_cours', 'devise, source, `date`*1 AS dateJour, valeur, DATE(dateInsert) as jourInsert', '`date`>=20100101 GROUP BY devise, `date`, source', false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tmp) {
|
||||
switch($tmp['source']*1) {
|
||||
// Taux de change DGI
|
||||
case 150: $tabDevises[$tmp['devise']][$tmp['dateJour']]['DGI']=$tmp['valeur']; break;
|
||||
// Taux de change BCE
|
||||
case 151: $tabDevises[$tmp['devise']][$tmp['dateJour']]['BCE']=$tmp['valeur']; break;
|
||||
// Taux de change Douanes
|
||||
case 152: $tabDevises[$tmp['devise']][$tmp['dateJour']]['DOU']=$tmp['valeur']; break;
|
||||
// Taux de change BQM
|
||||
case 153: $tabDevises[$tmp['devise']][$tmp['dateJour']]['BQM']=$tmp['valeur']; break;
|
||||
default; continue; break;
|
||||
}
|
||||
}
|
||||
//print_r($tabDevises);
|
||||
|
||||
$dateDeb='20040101';
|
||||
$dateDeb='20100101';
|
||||
$dateFin=date('Ymd');
|
||||
echo "Devise\tDateCour\tTxDGI\tTxBCE\tTxDouane\tTxBanqueMondiale".EOL;
|
||||
foreach ($tabDevises as $devise=>$tabDates) {
|
||||
$dateCour=$dateDeb;
|
||||
$txDGI_pre=$txBCE_pre=$txDOU_pre=$txBQM_pre='-';
|
||||
while ($dateCour<$dateFin) {
|
||||
echo "$devise\t$dateCour\t";
|
||||
if (isset($tabDevises[$devise][$dateCour]['DGI'])) echo $tabDevises[$devise][$dateCour]['DGI']; else echo $txDGI_pre;
|
||||
echo "\t";
|
||||
if (isset($tabDevises[$devise][$dateCour]['BCE'])) echo $tabDevises[$devise][$dateCour]['BCE']; else echo $txBCE_pre;
|
||||
echo "\t";
|
||||
if (isset($tabDevises[$devise][$dateCour]['DOU'])) echo $tabDevises[$devise][$dateCour]['DOU']; else echo $txDOU_pre;
|
||||
echo "\t";
|
||||
if (isset($tabDevises[$devise][$dateCour]['BQM'])) echo $tabDevises[$devise][$dateCour]['BQM']; else echo $txBQM_pre;
|
||||
echo EOL;
|
||||
if (isset($tabDevises[$devise][$dateCour]['DGI'])) $txDGI_pre=$tabDevises[$devise][$dateCour]['DGI'];
|
||||
if (isset($tabDevises[$devise][$dateCour]['BCE'])) $txBCE_pre=$tabDevises[$devise][$dateCour]['BCE'];
|
||||
if (isset($tabDevises[$devise][$dateCour]['DOU'])) $txDOU_pre=$tabDevises[$devise][$dateCour]['DOU'];
|
||||
if (isset($tabDevises[$devise][$dateCour]['BQM'])) $txBQM_pre=$tabDevises[$devise][$dateCour]['BQM'];
|
||||
$dateCour=getNextDate($dateCour,1);
|
||||
}
|
||||
}
|
||||
die();
|
||||
}
|
||||
|
||||
$strMailInfo='Résultat des téléchargements et de la consolidation des différents taux de change en date du '.date('d/m/Y').' :'.EOL;
|
||||
$nbInsertDGI=$nbInsertBCE=$nbInsertDouanes=$nbInsertBqMonde=0;
|
||||
$nbUpdateDGI=$nbUpdateBCE=$nbUpdateDouanes=$nbUpdateBqMonde=0;
|
||||
$dateDevDGI =$dateDevBCE =$dateDevDouanes =$dateDevBqMonde =0;
|
||||
|
||||
/** Chargement des Taux Historiques de la DGI
|
||||
**/
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des devises de la DGI...'. EOL);
|
||||
$page=getUrl($urlListeTauxDGI, '', '', '', false);
|
||||
if ($page['code']==200) {
|
||||
if ($modeDebug) echo (date('Y/m/d - H:i:s') .' - Lecture des devises de la DGI...'. EOL);
|
||||
$tabTmp=explode(EOL, utf8_decode($page['body']));
|
||||
foreach($tabTmp as $iL=>$tL) {
|
||||
$tC=explode("\t", $tL);
|
||||
if (count($tC)<3) break;
|
||||
// print_r($tC);
|
||||
$devIso=substr($tC[0],-3);
|
||||
$dateDev=WDate::DateT('d/m/Y','Ymd',$tC[1]);
|
||||
$taux=1.0*(substr($tC[2],0,3).'.'.substr($tC[2],3,10));
|
||||
//echo "$iL:$devIso".EOL;
|
||||
if ($dateDev>$dateDevDGI) $dateDevDGI=$dateDev;
|
||||
$tabInsert=array( 'devise'=>$devIso,
|
||||
'source'=>150,
|
||||
'date' =>$dateDev,
|
||||
'valeur'=>$taux,
|
||||
);
|
||||
//print_r($tabInsert);die();
|
||||
if ($iDb->insert('devise_cours', array_merge($tabInsert, array('dateInsert'=>date('YmdHis'))), false))
|
||||
$nbInsertDGI++;
|
||||
elseif ($iDb->update('devise_cours', $tabInsert, "devise='$devIso' AND source=150 AND `date`='$dateDev'", false))
|
||||
$nbUpdateDGI++;
|
||||
//die(print_r($tabInsert, 1));
|
||||
}
|
||||
$dateDevDGI=WDate::DateT('Ymd','d/m/Y',$dateDevDGI);
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises de la DGI : $nbInsertDGI taux ajoutés et $nbUpdateDGI validations.". EOL);
|
||||
$strMailInfo.=" - ajout de $nbInsertDGI taux pour les devises DGI ($nbUpdateDGI taux déjà en base, derniers taux du $dateDevDGI),".EOL;
|
||||
} else
|
||||
$strMailInfo.=" - ERREUR lors de la récupération du flux DGI !".EOL;
|
||||
|
||||
/** Chargement des Taux Historiques de la BCE
|
||||
**/
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des devises de la BCE...'. EOL);
|
||||
$page=getUrl($urlListeTauxBCE, '', '', '', false);
|
||||
if ($page['code']==200) {
|
||||
if (file_put_contents('/tmp/urlListeTauxBCE.zip',$page['body'])) {
|
||||
$zip = new ZipArchive();
|
||||
$zip->open('/tmp/urlListeTauxBCE.zip');
|
||||
//echo "Nombre de fichiers : " . $zip->numFiles . "\n";
|
||||
for ($i=0; $i<$zip->numFiles;$i++) {
|
||||
//echo "index : $i\n";
|
||||
$filename = $zip->getNameIndex($i);
|
||||
//print_r($zip->statIndex($i));
|
||||
if ($zip->extractTo('/tmp/', $filename)) {
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Lecture des devises de la BCE (Extraction réussie de $filename)...".EOL;
|
||||
$tabTmp=file("/tmp/$filename");
|
||||
foreach($tabTmp as $iL=>$tL) {
|
||||
$tC=explode(',', $tL);
|
||||
if ($iL==0) {//print_r($tC);
|
||||
// Gestion de l'entête (Noms des Devises)
|
||||
$tabNomDev=array();
|
||||
foreach($tC as $iC=>$iDev) {
|
||||
if ($iC==0) continue;
|
||||
if (trim($iDev)<>'') $tabNomDev[$iC]=trim($iDev);
|
||||
}
|
||||
} else {
|
||||
foreach($tC as $iC=>$iDev) {
|
||||
if ($iC==0) {
|
||||
$dateDev=$iDev;
|
||||
continue;
|
||||
}
|
||||
if (isset($tabNomDev[$iC])) {
|
||||
if ($iDev<>0) $taux=1/$iDev;
|
||||
else $taux=null;
|
||||
if (str_replace('-','',$dateDev)>$dateDevBCE) $dateDevBCE=str_replace('-','',$dateDev);
|
||||
$tabInsert=array( 'devise'=>$tabNomDev[$iC],
|
||||
'source'=>151,
|
||||
'date' =>$dateDev,
|
||||
'valeur'=>$taux,
|
||||
);
|
||||
if ($iDb->insert('devise_cours', array_merge($tabInsert, array('dateInsert'=>date('YmdHis'))), false))
|
||||
$nbInsertBCE++;
|
||||
elseif ($iDb->update('devise_cours', $tabInsert, "devise='$devIso' AND source=151 AND `date`='$dateDev'", false))
|
||||
$nbUpdateBCE++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$dateDevBCE=WDate::DateT('Ymd','d/m/Y',$dateDevBCE);
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises de la BCE : $nbInsertBCE taux ajoutés et $nbUpdateBCE validations.". EOL);
|
||||
$strMailInfo.=" - ajout de $nbInsertBCE taux pour les devises BCE ($nbUpdateBCE taux déjà en base, derniers taux du $dateDevBCE),".EOL;
|
||||
} else
|
||||
$strMailInfo.=" - ERREUR lors de la récupération du flux BCE !".EOL;
|
||||
|
||||
|
||||
|
||||
/** Chargement des Taux Historiques de la Douane
|
||||
**/
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des devises de la Douane...'. EOL);
|
||||
$page=getUrl($urlListeTauxDouanes, '', '', '', false);
|
||||
if ($page['code']==200) {
|
||||
if (file_put_contents('/tmp/urlListeTauxDouanes.zip',$page['body'])) {
|
||||
$zip = new ZipArchive();
|
||||
$zip->open('/tmp/urlListeTauxDouanes.zip');
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour des devises de la Douane : ".$zip->numFiles." fichiers à traiter.".EOL;
|
||||
for ($i=0; $i<$zip->numFiles;$i++) {
|
||||
//echo "index : $i\n";
|
||||
$filename = $zip->getNameIndex($i);
|
||||
//print_r($zip->statIndex($i));
|
||||
if ($zip->extractTo('/tmp/', $filename)) {
|
||||
// if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour des devises de la Douane : Extraction réussie de $filename".EOL;
|
||||
if ($filename=='DEVISE.xml') {
|
||||
$strXml=file_get_contents("/tmp/$filename");
|
||||
if (preg_match_all('/<ligne><CHAMP1>(.*)<\/CHAMP1><CHAMP2>(.*)<\/CHAMP2><CHAMP3>(.*)<\/CHAMP3><CHAMP4>(.*)<\/CHAMP4><CHAMP5>(.*)<\/CHAMP5><\/ligne>/Uis',$strXml, $matches)) {
|
||||
foreach ($matches[1] as $iX=>$iDevise) {
|
||||
$devIso=$matches[2][$iX];
|
||||
$libDevise=utf8_decode($matches[3][$iX]);
|
||||
$tabUpdate=array( 'devIdDouane' => $iDevise,
|
||||
'devLibDouane' => $libDevise,
|
||||
'devDateDebDouane' => @WDate::DateT('d/m/Y','Y-m-d',$matches[4][$iX]),
|
||||
'devDateFinDouane' => @WDate::DateT('d/m/Y','Y-m-d',$matches[5][$iX]));
|
||||
$ret=$iDb2->select('tabDevises', 'count(*) as nb', "devIso='$devIso'", false);
|
||||
if (@$ret[0]['nb']*1==0) {
|
||||
$iDb2->insert('tabDevises', array_merge($tabUpdate, array('devIso'=>$devIso, 'dateInsert'=>date('YmdHis'))), false);
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour des devises de la Douane : Ajout d'une devise ($devIso - $libDevise)".EOL;
|
||||
$strMailInfo.=" - INFORMATION lors de la mise à jour des devises de la Douane, ajout d'une devise ($devIso - $libDevise),".EOL;
|
||||
}
|
||||
else
|
||||
$iDb2->update('tabDevises', $tabUpdate, "devIso='$devIso'", false);
|
||||
|
||||
if (preg_match('/\s\((.*)\)/Ui', $libDevise, $matches2)) {
|
||||
$tabUpdate=array( 'division' => $matches2[1]);
|
||||
if (!$iDb2->update('tabDevises', $tabUpdate, "devIso='$devIso' AND division IS NULL", false))
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif($filename=='COURSDEVISE.xml') {
|
||||
$strXml=file_get_contents("/tmp/$filename");
|
||||
if (preg_match_all('/<ligne><CHAMP1>(.*)<\/CHAMP1><CHAMP2>(.*)<\/CHAMP2><CHAMP3>(.*)<\/CHAMP3><CHAMP4>(.*)<\/CHAMP4><\/ligne>/Uis',$strXml, $matches)) {
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Lecture des devises de la Douane (Extraction réussie de $filename)...".EOL;
|
||||
$ret=$iDb2->select('tabDevises', 'devIdDouane, devIso', 'devIdDouane IS NOT NULL', false);
|
||||
$tabDevDouanes=array();
|
||||
foreach ($ret as $tmpRet)
|
||||
$tabDevDouanes[$tmpRet['devIdDouane']]=$tmpRet['devIso'];
|
||||
foreach ($matches[1] as $iX=>$iDevise) {
|
||||
$devIso=$tabDevDouanes[$iDevise];
|
||||
$dateDev=@WDate::DateT('d/m/Y','Ymd',$matches[3][$iX]);
|
||||
if ($matches[2][$iX]*1==0) continue;
|
||||
if ($dateDev>$dateDevDouanes) $dateDevDouanes=$dateDev;
|
||||
$taux=1/$matches[2][$iX];
|
||||
$tabInsert=array( 'devise'=>$devIso,
|
||||
'source'=>152,
|
||||
'date' =>$dateDev,
|
||||
'valeur'=>$taux,
|
||||
);
|
||||
//print_r($tabInsert);die();
|
||||
if ($iDb->insert('devise_cours', array_merge($tabInsert, array('dateInsert'=>date('YmdHis'))), false))
|
||||
$nbInsertDouanes++;
|
||||
elseif ($iDb->update('devise_cours', $tabInsert, "devise='$devIso' AND source=152 AND `date`='$dateDev'", false))
|
||||
$nbUpdateDouanes++;
|
||||
}
|
||||
$dateDevDouanes=WDate::DateT('Ymd','d/m/Y',$dateDevDouanes);
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises de la Douane : $nbInsertDouanes taux et $nbUpdateDouanes validations.". EOL);
|
||||
$strMailInfo.=" - ajout de $nbInsertDouanes taux pour les devises de la Douane ($nbUpdateDouanes taux déjà en base, derniers taux du $dateDevDouanes),".EOL;
|
||||
} else
|
||||
$strMailInfo.=" - ERREUR lors de la récupération du flux Douanes !".EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
$strMailInfo.=" - ERREUR lors de la récupération du flux Douanes !".EOL;
|
||||
|
||||
|
||||
|
||||
/** Taux de change de la Banque Mondiale (Source 153)
|
||||
**/
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des devises de la Banque Mondiale...'. EOL);
|
||||
$page=getUrl($urlListeTauxBqMonde, '', '', '', false);
|
||||
if ($page['code']==200) {
|
||||
if (file_put_contents('/tmp/urlListeTauxBqMonde.zip',$page['body'])) {
|
||||
$zip = new ZipArchive();
|
||||
$zip->open('/tmp/urlListeTauxBqMonde.zip');
|
||||
//echo "Nombre de fichiers : " . $zip->numFiles . "\n";
|
||||
for ($i=0; $i<$zip->numFiles;$i++) {
|
||||
//echo "index : $i\n";
|
||||
$filename = $zip->getNameIndex($i);
|
||||
//print_r($zip->statIndex($i));
|
||||
if ($zip->extractTo('/tmp/', $filename)) {
|
||||
//echo "Extraction réussie de $filename".EOL;
|
||||
if ($filename=='pa.nus.fcrf_Indicator_fr_csv_v2.csv') {
|
||||
// Chargement des liens Pays ==> Devise
|
||||
$ret=$iDb2->select('tabPays', 'codPays3, devise', "codPays3 IS NOT NULL AND devise<>''", false);
|
||||
$tabPaysDev=array();
|
||||
foreach ($ret as $tmpRet)
|
||||
$tabPaysDev[$tmpRet['codPays3']]=$tmpRet['devise'];
|
||||
//print_r($tabPaysDev);die();
|
||||
// Lecture des Tx Annuels de la Banque Mondiale
|
||||
// echo "Extraction réussie de $filename".EOL;
|
||||
// if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour des devises de la : Chargemenet des taux...".EOL;
|
||||
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Lecture des devises de la Banque Mondiale (Extraction réussie de $filename)...".EOL;
|
||||
$tabTmp=file("/tmp/$filename");
|
||||
$iL2=0;
|
||||
$tabAnnees=$tabPays=$txUsdEur=array();
|
||||
foreach($tabTmp as $iL=>$tL) {
|
||||
$tC=explode('","', '",'.utf8_decode(trim($tL)).'"');
|
||||
if (count($tC)<4) continue;
|
||||
foreach($tC as $iC=>$tC) {
|
||||
if ($iC==2 && $tC<>'Country Code') $pays=$tC;
|
||||
elseif ($iC>4) {
|
||||
if ($iL2==0) {
|
||||
if ($tC<>'') $tabAnnees[$iC]=$tC;
|
||||
}
|
||||
elseif (isset($tabAnnees[$iC]) && isset($tabPaysDev[$pays]))
|
||||
$tabPays[$tabPaysDev[$pays]][$tabAnnees[$iC]]=$tC;
|
||||
elseif ($pays=='EMU')
|
||||
@$txUsdEur[$tabAnnees[$iC]]=$tC;
|
||||
}
|
||||
}
|
||||
$iL2++;
|
||||
}
|
||||
//print_r($txUsdEur);die();
|
||||
// Conversion USD / EUR des devises
|
||||
foreach ($tabPays as $devIso=>$tabAnnees) {
|
||||
foreach ($tabAnnees as $annee=>$tauxUSD) {
|
||||
if ($tauxUSD=='' || $txUsdEur[$annee]*1==0) continue;
|
||||
// echo 'Tx USD.EUR='.$txUsdEur[$annee].EOL;
|
||||
//if ($txUsdEur[$annee]=='')
|
||||
//if ($devIso<>'USD') // ?
|
||||
$taux=1/($tauxUSD/$txUsdEur[$annee]);
|
||||
$dateDev=$annee.'1231';
|
||||
if ($dateDev>$dateDevBqMonde) $dateDevBqMonde=$dateDev;
|
||||
|
||||
$tabInsert=array( 'devise'=>$devIso,
|
||||
'source'=>153,
|
||||
'date' =>$dateDev,
|
||||
'valeur'=>$taux,
|
||||
);
|
||||
//print_r($tabInsert);//die();
|
||||
if ($iDb->insert('devise_cours', array_merge($tabInsert, array('dateInsert'=>date('YmdHis'))), false))
|
||||
$nbInsertBqMonde++;
|
||||
elseif ($iDb->update('devise_cours', $tabInsert, "devise='$devIso' AND source=153 AND `date`='$dateDev'", false))
|
||||
$nbUpdateBqMonde++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$dateDevBqMonde=WDate::DateT('Ymd','d/m/Y',$dateDevBqMonde);
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises de la Banque Mondiale : $nbInsertBqMonde taux et $nbUpdateBqMonde validations.". EOL);
|
||||
$strMailInfo.=" - ajout de $nbInsertBqMonde taux pour les devises Banque Mondiale ($nbUpdateBqMonde taux déjà en base, derniers taux du $dateDevBqMonde),".EOL;
|
||||
} else
|
||||
$strMailInfo.=" - ERREUR lors de la récupération du flux Banque Mondiale !".EOL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', 'Chargement des devises', $strMailInfo);
|
||||
|
||||
die();
|
||||
|
||||
|
||||
|
||||
|
||||
$page=getUrl($urlListeDevDGI, '', '', '', false);
|
||||
if ($page['code']==200) {
|
||||
$tabTmp=explode(EOL, utf8_decode($page['body']));
|
||||
foreach($tabTmp as $iL=>$tL) {
|
||||
$tC=explode("\t", $tL);
|
||||
if (count($tC)<6) break;
|
||||
print_r($tC);
|
||||
$devIso=substr($tC[0],-3);
|
||||
echo "$iL:$devIso".EOL;
|
||||
$tabUpdate=array( 'devNomDGI' => $tC[1],
|
||||
'devRemDGI' => $tC[3].$tC[4],
|
||||
'devPrincipale' => $tC[5]);
|
||||
if (!$iDb2->update('tabDevises', $tabUpdate, "devIso='$devIso'", true)) {
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
}
|
||||
}
|
||||
/* if (file_put_contents('/tmp/urlListeDevDGI.txt',$page['body'])) {
|
||||
$zip = new ZipArchive();
|
||||
$zip->open('/tmp/urlListeDevDGI.zip');
|
||||
echo "Nombre de fichiers : " . $zip->numFiles . "\n";
|
||||
for ($i=0; $i<$zip->numFiles;$i++) {
|
||||
echo "index : $i\n";
|
||||
$filename = $zip->getNameIndex($i);
|
||||
//print_r($zip->statIndex($i));
|
||||
if ($zip->extractTo('/tmp/', $filename)) {
|
||||
echo "Extraction réussie de $filename".EOL;
|
||||
$tabTmp=file("/tmp/$filename");
|
||||
foreach($tabTmp as $iL=>$tL) {
|
||||
$tC=explode("\t", $tL);
|
||||
// print_r($tC);
|
||||
$devIso=$tC[0];
|
||||
echo "$iL:$devIso".EOL;
|
||||
$tabUpdate=array( 'devNomDGI' => $tC[1],
|
||||
'devDGI' => $tC[2],
|
||||
'devRemDGI' => $tC[3].$tC[4],
|
||||
'devActive' => $tC[5]);
|
||||
if (!$iDb2->update('tabDevises', $tabUpdate, "devIso='$devIso'", true)) {
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
die();
|
||||
|
||||
print_r($page);
|
||||
die();
|
||||
$body=$page['body'];
|
||||
|
||||
|
||||
$repImgDrapeaux='/home/data/logos/drapeaux/';
|
||||
$tabJour=array(0=>'Dim', 1=>'Lun', 2=>'Mar', 3=>'Mer', 4=>'Jeu', 5=>'Ven', 6=>'Sam');
|
||||
|
||||
function getPrevDate($dateCour, $nbJours=1) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)-$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
|
||||
$tmin=10;
|
||||
$tmax=60;
|
||||
set_time_limit(0);
|
||||
$pays=$history=false;
|
||||
$dateDeb=getPrevDate(date('Ymd'), rand(2,10));
|
||||
$dateF=getPrevDate(date('Ymd'));
|
||||
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Recupère les cours des devises par rapport à l'euro.
|
||||
|
||||
Sans aucun paramètre, récupère le dernier cours pour chaque devise par rapport à l'euro.
|
||||
Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de période (*)
|
||||
-f:JJ/MM/AAAA Date de fin de période (*)
|
||||
-n:X Intervalle MIN en secondes entre les requêtes (défaut=$tmin)
|
||||
-i:X \" MAX \" \" \" \" \" (défaut=$tmax)
|
||||
-p Récupération de la dernière liste des pays (par défaut, une fois par mois, le 1er du mois)
|
||||
-h Récupération de l'historique complet
|
||||
-c=DEV Récupération limité à la devise passée en paramètre
|
||||
|
||||
* : par défaut, le programme récupère le dernier cour pour le jour précédent !
|
||||
";
|
||||
$tabCurrency=array();
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']==1) $dernierCour=true;
|
||||
else {
|
||||
for ($i=1; isset($argv[$i]); $i++) {
|
||||
if (substr($argv[$i],0,1)=='-') {
|
||||
switch (substr($argv[$i],1,1)) {
|
||||
case 'd':
|
||||
$dateDebut=substr($argv[$i],3,10);
|
||||
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
|
||||
break;
|
||||
case 'f':
|
||||
$dateFin=substr($argv[$i],3,10);
|
||||
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
|
||||
break;
|
||||
case 'n':
|
||||
$tmin=trim(substr($argv[$i],3))*1;
|
||||
if ($min<0) $tmin=0;
|
||||
break;
|
||||
case 'i':
|
||||
$tmax=trim(substr($argv[$i],3))*1;
|
||||
if ($tmax<5) $tmax=2;
|
||||
break;
|
||||
case 'p':
|
||||
$pays=true;
|
||||
break;
|
||||
case 'h':
|
||||
$history=true;
|
||||
break;
|
||||
case '-':
|
||||
die($strInfoProg);
|
||||
break;
|
||||
default:
|
||||
die('Option '. $argv[$i] . " inconnue !\n");
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$tabCurrency[]=$argv[$i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/** Une fois par mois, récupéreation de la liste des pays et de leur devises
|
||||
**/
|
||||
if($pays || date('d')*1==1) {
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des pays et de leur devise !'. EOL);
|
||||
$crea=$maj=0;
|
||||
$url= 'http://fxtop.com/fr/showpays.php3';
|
||||
$referer= '';
|
||||
$page=getUrl($url, '', '', $referer, false, 'fxtop.com');
|
||||
$body=$page['body'];
|
||||
$referer='http://fxtop.com/fr/showpays.php3';
|
||||
|
||||
$strTmp=@getTextInHtml($body, '<TABLE border=1 cellpadding=0 cellSpacing=0 >', ' >', '</TABLE>');
|
||||
$tabTmp=explode('<TR><TD>', $strTmp);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabLigne=explode('</TD><TD>', $strTmp);
|
||||
if ($i==0) {
|
||||
if (trim($strTmp)<>'')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL);
|
||||
continue;
|
||||
} elseif ($i==1) {
|
||||
// On vérifie que les noms de colonnes et les devises attendues sont les bonnes
|
||||
if (trim(strip_tags($tabLigne[0]))<>'Pays')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Pays" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL);
|
||||
if (trim(strip_tags($tabLigne[1]))<>'Zone')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Zone" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL);
|
||||
if (trim(strip_tags($tabLigne[2]))<>'Devise')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Devise" attendue mais "'.strip_tags($tabLigne[2]).'" trouvé !'. EOL);
|
||||
if (trim(strip_tags($tabLigne[3]))<>'Drapeau')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Drapeau" attendue mais "'.strip_tags($tabLigne[3]).'" trouvé !'. EOL);
|
||||
if (trim(strip_tags($tabLigne[4]))<>'Code Nic')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Code Nic" attendue mais "'.strip_tags($tabLigne[4]).'" trouvé !'. EOL);
|
||||
|
||||
} else {
|
||||
$libPays=trim(strip_tags($tabLigne[0]));
|
||||
$libZone=trim(strip_tags($tabLigne[1]));
|
||||
$devise =trim(strip_tags($tabLigne[2]));
|
||||
$urlDrap=$tabLigne[3];
|
||||
$strTmp=str_replace('<IMG SRC="../ico/', 'http://fxtop.com/ico/', $urlDrap);
|
||||
$tabTmp2=explode('"', $strTmp);
|
||||
$url=$tabTmp2[0];
|
||||
$codPays=trim(strip_tags($tabLigne[4]));
|
||||
$ficImgDrapeaux=basename($url);
|
||||
|
||||
if (!file_exists($repImgDrapeaux.$ficImgDrapeaux)) {
|
||||
$page=getUrl($url, '', '', $referer, false, 'fxtop.com');
|
||||
$body=$page['body'];
|
||||
$fp=fopen($repImgDrapeaux.$ficImgDrapeaux, 'wb');
|
||||
fwrite($fp, $page['body']);
|
||||
fclose($fp);
|
||||
$taille=filesize($repImgDrapeaux.$ficImgDrapeaux);
|
||||
echo(date('Y/m/d - H:i:s') ." - Drapeaux $codPays : $ficImgDrapeaux ($libPays) créé ($taille octets).". EOL);
|
||||
}
|
||||
|
||||
$tabUpdate=array( 'libPaysMajAuto'=>$libPays,
|
||||
'zone'=>$libZone,
|
||||
'drapeau'=>$ficImgDrapeaux,
|
||||
'devise'=>$devise,
|
||||
);
|
||||
$tabInsert=array_merge($tabUpdate, array('codPays'=>$codPays, 'dateInsert'=>date('YmdHis')));
|
||||
if (!$iDb2->insert('tabPays', $tabInsert)) {
|
||||
if (!$iDb2->update('tabPays', $tabUpdate, "codPays='$codPays'", true)) {
|
||||
if (mysql_errno()<>1062)
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
} else
|
||||
$maj++;
|
||||
} else {
|
||||
echo (date('Y/m/d - H:i:s') ." - Création du pays $libPays ($codPays) en $libZone !". EOL);
|
||||
$crea++;
|
||||
}
|
||||
}
|
||||
}
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des pays et de leur devise : $crea création(s) / $maj MAJ.". EOL);
|
||||
}
|
||||
|
||||
|
||||
/** Récupération de la liste des devises
|
||||
**/
|
||||
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour de la liste des devise !'. EOL);
|
||||
$crea=$maj=0;
|
||||
$tabDevisesSite=array();
|
||||
$url= 'http://fxtop.com/fr/historique-taux-change.php';
|
||||
$referer= '';
|
||||
$page=getUrl($url, '', '', $referer, false, 'fxtop.com');
|
||||
$body=$page['body'];
|
||||
$strTmp=@getTextInHtml($body, '<select name=C1 >', 'C1 >', '</select>');
|
||||
$tabTmp=preg_split('/<option (selected | )value="/i', $strTmp);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabLigne=explode('">', $strTmp);
|
||||
if ($i==0) {
|
||||
if (trim($strTmp)<>'')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL);
|
||||
continue;
|
||||
} else {
|
||||
$devise =trim($tabLigne[0]);
|
||||
$libDevPays=trim(strip_tags($tabLigne[1]));
|
||||
if ($devise<>'' && $devise<>'EUR') $tabDevisesSite[]=$devise;
|
||||
$tabUpdate=array( 'devIso'=>$devise,
|
||||
'devNomPays'=>$libDevPays,
|
||||
);
|
||||
if (!$iDb->update('devise_liste', $tabUpdate, "devIso='$devise'", true)) {
|
||||
if (!$iDb->insert('devise_liste', $tabUpdate)) {
|
||||
if (mysql_errno()<>1062)
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
} else {
|
||||
echo (date('Y/m/d - H:i:s') ." - Création de la devise $devise pour $libDevPays !". EOL);
|
||||
$crea++;
|
||||
}
|
||||
} else $maj++;
|
||||
}
|
||||
}
|
||||
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises : $crea création(s) / $maj MAJ.". EOL);
|
||||
|
||||
/** Récupération d'une devise ou de toutes les devises
|
||||
**/
|
||||
if ( !is_array($tabCurrency) || count($tabCurrency)==0 ) {
|
||||
//$tabDevises=mysql_select('tabPays', 'DISTINCT(devise) as dev', "devise<>'EUR' AND devise<>''");
|
||||
// AND devise NOT IN ('AED','AFA','XCD','ALL','AMD','ANG','AON')
|
||||
$tabDevises=array();
|
||||
shuffle($tabDevisesSite);
|
||||
foreach ($tabDevisesSite as $i=>$deviseSite)
|
||||
$tabDevises[]=array(0=>$deviseSite);
|
||||
unset($tabDevisesSite);
|
||||
} else {
|
||||
foreach ($tabCurrency as $currency) {
|
||||
if (in_array ($currency, $tabDevisesSite))
|
||||
$tabDevises[]=array(0=>$currency);
|
||||
else
|
||||
die(date('Y/m/d - H:i:s') ." - ERREUR : Devise '$currency' non gérée par le site distant !". EOL);
|
||||
}
|
||||
}
|
||||
/** Récupération de l'historique des cours ou du cours précédent
|
||||
**/
|
||||
if ($history) $dateDeb='19900101';
|
||||
$DD1=WDate::dateT('Ymd','d', $dateDeb);
|
||||
$MM1=WDate::dateT('Ymd','m', $dateDeb);
|
||||
$YYYY1=WDate::dateT('Ymd','Y', $dateDeb);
|
||||
$DD2=WDate::dateT('Ymd','d', $dateF);
|
||||
$MM2=WDate::dateT('Ymd','m', $dateF);
|
||||
$YYYY2=WDate::dateT('Ymd','Y', $dateF);
|
||||
|
||||
foreach ($tabDevises as $tabDevise) {
|
||||
$devise=$tabDevise[0];
|
||||
if ($dateDeb==$dateF)
|
||||
echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour le $DD1/$MM1/$YYYY1...". EOL);
|
||||
else
|
||||
echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour la période du $DD1/$MM1/$YYYY1 au $DD2/$MM2/$YYYY2...". EOL);
|
||||
$url= "http://fxtop.com/fr/historique-taux-change.php?A=1&B=1&P=&I=1&C1=$devise&C2=EUR&DD1=$DD1&MM1=$MM1&YYYY1=$YYYY1&DD2=$DD2&MM2=$MM2&YYYY2=$YYYY2&btnOK=Chercher";
|
||||
$referer= 'http://fxtop.com/fr/historique-taux-change.php';
|
||||
randsleep($tmin, $tmax);
|
||||
$page=getUrl($url, '', '', $referer, false, 'fxtop.com');
|
||||
$body=$page['body'];
|
||||
|
||||
$strTmp=@getTextInHtml($body, '<BR><TABLE border=1><TR><TD><STRONG>Date</STRONG></TD><TD><STRONG>', '<STRONG>', '</TABLE>');
|
||||
$tabTmp=explode('</TD></TR><TR><TD>', $strTmp);
|
||||
$nbCours=0;
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabLigne=explode('</TD><TD>', $strTmp);
|
||||
if ($i==0) {
|
||||
// On vérifie que les noms de colonnes et les devises attendues sont les bonnes
|
||||
if (strip_tags($tabLigne[0])<>'Date')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Date" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL);
|
||||
if (strip_tags($tabLigne[1])<>$devise.'/EUR')
|
||||
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "'.$devise.'/EUR" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL);
|
||||
} else {
|
||||
$date=$tabLigne[0];
|
||||
if ($i==1) $dateMax=$date;
|
||||
$conv=$tabLigne[1];
|
||||
//echo "$devise;$date;$conv\n";
|
||||
$nbCours++;
|
||||
|
||||
$tabInsert=array( 'devise'=>$devise,
|
||||
'date'=>$date,
|
||||
'valeur'=>$conv,
|
||||
);
|
||||
if (!$iDb->insert('devise_cours', $tabInsert))
|
||||
if (mysql_errno()<>1062)
|
||||
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
|
||||
}
|
||||
}
|
||||
$dateMin=$date;
|
||||
if ($nbCours==1)
|
||||
echo (date('Y/m/d - H:i:s') ." - Devise $devise : 1 valeur ($conv) du $dateMin au $dateMax...". EOL);
|
||||
else
|
||||
echo (date('Y/m/d - H:i:s') ." - Devise $devise : $nbCours valeurs du $dateMin au $dateMax...". EOL);
|
||||
}
|
||||
|
||||
echo date('Y/m/d - H:i:s') .' - FIN du script.'. EOL;
|
||||
|
||||
function getNextDate($dateCour, $nbJours=7) {
|
||||
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
|
||||
return $nextDate;
|
||||
}
|
||||
?>
|
@ -1,250 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
$table='rncs_dirigeants';
|
||||
|
||||
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');
|
||||
|
||||
//define('DIRIGEANTS_LOCAL_DIR', '/home/data/insee/even/');
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Chargement du/des fichier dirigeant en provenance de CSF.
|
||||
|
||||
Options :
|
||||
-d Mode debug (Verbosité au maximum)
|
||||
|
||||
";
|
||||
$iDb=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
|
||||
$modeDebug=false;
|
||||
$ftpStep=true;
|
||||
$updateInsee=true;
|
||||
$tabFichier=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 'j': $ftpStep=false; break;
|
||||
case 'u': $updateInsee=false; break;
|
||||
case '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
|
||||
if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL);
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des dirigeants".EOL;
|
||||
|
||||
global $tabFctCSF;
|
||||
$tabFctCSF=array(
|
||||
'f0100'=>'Administrateur',
|
||||
'f0101'=>'Administrateur délégué',
|
||||
'f0108'=>'Administrateur provisoire',
|
||||
'f0209'=>'Associé-gérant',
|
||||
'f0400'=>'Co-gérant',
|
||||
'f0603'=>'Contrôleur de gestion',
|
||||
'f0709'=>'Directeur général',
|
||||
'f0704'=>'Directeur général délégué',
|
||||
'f0713'=>'Directeur général non administrateur',
|
||||
'f0708'=>'Directeur général unique',
|
||||
'f0900'=>'Gérant',
|
||||
'f1650'=>'Gouverneur',
|
||||
'f1900'=>'Liquidateur',
|
||||
'f1300'=>'Président',
|
||||
'f1301'=>'Président Directeur Général',
|
||||
'f1306'=>'Président du conseil d\'administration',
|
||||
'f1307'=>'Président du conseil de surveillance',
|
||||
'f1308'=>'Président du directoire',
|
||||
'f1401'=>'Représentant en France d\'une société étrangère',
|
||||
'f1651'=>'Sous-gouverneur',
|
||||
'f1800'=>'Vice-président',
|
||||
);
|
||||
/*
|
||||
200 Gérant
|
||||
300 Co-gérant
|
||||
1200 Associé-gérant
|
||||
600 Administrateur
|
||||
100 Président
|
||||
4100 Liquidateur
|
||||
110 Président du conseil d'administration
|
||||
400 Directeur général
|
||||
120 Président Directeur Général
|
||||
900 Président du conseil de surveillance
|
||||
500 Vice-président
|
||||
430 Directeur général délégué
|
||||
4400 Représentant en France d'une société étrangère
|
||||
1300 Contrôleur de gestion
|
||||
700 Président du directoire
|
||||
410 Directeur général non administrateur
|
||||
4300 Administrateur provisoire
|
||||
420 Directeur général unique
|
||||
600 Administrateur délégué
|
||||
150 Sous-gouverneur
|
||||
Gouverneur
|
||||
*/
|
||||
|
||||
function getFctCode($str) {
|
||||
global $tabFctCSF;
|
||||
$key=array_search($str, $tabFctCSF);
|
||||
if ($key) {
|
||||
return str_replace('f','',$key).'';
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
|
||||
for ($i=0; isset($tabFichier[$i]); $i++)
|
||||
{
|
||||
$nomFichier =$tabFichier[$i];
|
||||
|
||||
$fp=fopen($nomFichier, 'r');
|
||||
if (!$fp) {
|
||||
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$nbLignes=0; // Nombre de ligne du fichier
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp, 1024));
|
||||
}
|
||||
|
||||
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier ($nbLignes lignes à traiter) !".EOL;
|
||||
|
||||
//$finFichier=false;
|
||||
$nbLignes=0;
|
||||
rewind($fp);
|
||||
|
||||
/** Traitement de la 1ère ligne **/
|
||||
$a = trim(fgets($fp, 1024));
|
||||
$tab=explode("\t", $a);
|
||||
$erreur='';
|
||||
if ($tab[0]<>'RCS') $erreur='Ligne 1, Champ 1 : libellé RCS attentu';
|
||||
if ($tab[1]<>'RAISON_SOCIAL') $erreur='Ligne 1, Champ 2 : libellé RAISON_SOCIAL attentu';
|
||||
if ($tab[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE attentu';
|
||||
if ($tab[3]<>'NOM') $erreur='Ligne 1, Champ 4 : libellé NOM attentu';
|
||||
if ($tab[4]<>'PRENOM') $erreur='Ligne 1, Champ 5 : libellé PRENOM attentu';
|
||||
if ($tab[5]<>'NOM_NAISSANCE') $erreur='Ligne 1, Champ 6 : libellé NOM_NAISSANCE attentu';
|
||||
if ($tab[6]<>'DATE_NAISSANCE') $erreur='Ligne 1, Champ 7 : libellé DATE_NAISSANCE attentu';
|
||||
if ($tab[7]<>'LIEU_NAISSANCE') $erreur='Ligne 1, Champ 8 : libellé LIEU_NAISSANCE attentu';
|
||||
if ($tab[8]<>'FONCTION') $erreur='Ligne 1, Champ 9 : libellé FONCTION attentu';
|
||||
if ($erreur<>'') {
|
||||
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL;
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
||||
die();
|
||||
}
|
||||
|
||||
$ret=$iDb->query("UPDATE $table SET actif=actif%10 WHERE source='csf'");
|
||||
echo date ('Y/m/d - H:i:s') . " - Les dirigeants CSF sont OK pour la mise à jour ($ret).".EOL;
|
||||
$dateInsert=date('YmdHis');
|
||||
// $ret=$iDb->update($table, array('actif'=>0), '1');
|
||||
// echo date ('Y/m/d - H:i:s')." - Tous les dirigeants ont été passés inactifs ($ret) !".EOL;
|
||||
|
||||
while (!feof($fp))
|
||||
{
|
||||
$nbLignes++;
|
||||
$a = trim(fgets($fp, 1024));
|
||||
|
||||
//unset($tabErreur); $nbErr=0;
|
||||
$tab=explode("\t", $a);
|
||||
|
||||
$tabDir=array();
|
||||
$tabDir['siren'] = $tab[0];
|
||||
if (!$iInsee->valideSiren($tabDir['siren'])) {
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs SIREN invalide ". $tabDir['siren'] .' !'.EOL;
|
||||
$nbSiretInvalides++;
|
||||
} else
|
||||
$nbSiretValides++;
|
||||
|
||||
$tabDir['raisonSociale'] = $tab[1];
|
||||
if (strlen($tabDir['raisonSociale'])>60)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs RAISON_SOCIALE de longueur ". strlen($tabDir['raisonSociale']) .' !'.EOL;
|
||||
$tabDir['civilite'] = $tab[2];
|
||||
if ($tabDir['civilite']<>'M' && $tabDir['civilite']<>'MME' && $tabDir['civilite']<>'MLLE' && $tabDir['civilite']<>'')
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs CIVILITE inconnu '". $tabDir['civilite'] ."' !".EOL;
|
||||
$tabDir['nom'] = $tab[3];
|
||||
if (strlen($tabDir['nom'])>60)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs NOM de longueur ". strlen($tabDir['nom']) .' !'.EOL;
|
||||
$tabDir['prenom'] = $tab[4];
|
||||
if (strlen($tabDir['prenom'])>30)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs PRENOM de longueur ". strlen($tabDir['prenom']) .' !'.EOL;
|
||||
|
||||
$tabDir['naissance_nom'] = $tab[5];
|
||||
if (strlen($tabDir['naissance_nom'])>60)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs NOM_NAISSANCE de longueur ". strlen($tabDir['naissance_nom']) .' !'.EOL;
|
||||
|
||||
$dateIn = $tab[6];
|
||||
$dateOut=@WDate::dateT('m/d/Y','Y-m-d',$dateIn);
|
||||
if ($dateIn<>'')
|
||||
$tabDir['naissance_date']=$dateOut;
|
||||
else
|
||||
$tabDir['naissance_date']='0000-00-00';
|
||||
|
||||
//die(date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs DATE_NAISSANCE in $dateIn donne en out ". $tabDir['naissance_date'] .' !'.EOL);
|
||||
|
||||
$tabDir['naissance_lieu'] = $tab[7];
|
||||
if (strlen($tabDir['naissance_lieu'])>35)
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs LIEU_NAISSANCE de longueur ". strlen($tabDir['naissance_lieu']) .' !'.EOL;
|
||||
|
||||
$tabDir['fonction_lib'] = trim($tab[8]);
|
||||
$tabDir['fonction_code'] = ''.getFctCode($tabDir['fonction_lib']);
|
||||
if ($tabDir['fonction_code']=='' && $tabDir['fonction_lib']=='')
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs FONCTION vide !".EOL;
|
||||
elseif ($tabDir['fonction_code']=='' && $tabDir['fonction_lib']<>'')
|
||||
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs FONCTION inconnu '". $tabDir['fonction_lib'] ."' !".EOL;
|
||||
|
||||
$tabDir['actif']=11;
|
||||
$tabDir['dateInsert']=$dateInsert;
|
||||
$tabDir['source']='csf';
|
||||
|
||||
$tabTmp=$iDb->select($table, 'count(*)',"siren='". $tabDir['siren'] ."' AND ".
|
||||
"civilite='". $tabDir['civilite'] ."' AND ".
|
||||
"nom='". addslashes($tabDir['nom']) ."' AND ".
|
||||
"prenom='". addslashes($tabDir['prenom']) ."' AND ".
|
||||
"naissance_nom='". addslashes($tabDir['naissance_nom'])."' AND ".
|
||||
"naissance_date='". $tabDir['naissance_date'] ."' AND ".
|
||||
"fonction_lib='". addslashes($tabDir['fonction_lib']) ."'");
|
||||
if ($tabTmp[0][0]==0) {
|
||||
$iDb->insert($table, $tabDir);
|
||||
$nbInsert++;
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du dirigeant ". $tabDir['nom']." ".$tabDir['prenom'].", siren=".$tabDir['siren'] .'!'.EOL;
|
||||
} else {
|
||||
$iDb->update($table, $tabDir, "siren='". $tabDir['siren'] ."' AND ".
|
||||
"civilite='". $tabDir['civilite'] ."' AND ".
|
||||
"nom='". addslashes($tabDir['nom']) ."' AND ".
|
||||
"prenom='". addslashes($tabDir['prenom']) ."' AND ".
|
||||
"naissance_nom='". addslashes($tabDir['naissance_nom'])."' AND ".
|
||||
"naissance_date='". $tabDir['naissance_date'] ."' AND ".
|
||||
"fonction_lib='". addslashes($tabDir['fonction_lib']) ."'");
|
||||
$nbUpdate++;
|
||||
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - MAJ ". $tabDir['nom']." ".$tabDir['prenom'].", siren=".$tabDir['siren'] .'!'.EOL;
|
||||
}
|
||||
//echo '?';
|
||||
//$line = trim(fgets(STDIN));
|
||||
}
|
||||
fclose ($fp);
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
|
||||
}
|
||||
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL;
|
||||
|
||||
$ret=$iDb->update($table, array('actif'=>0), "actif=1 AND source='csf'");
|
||||
echo date ('Y/m/d - H:i:s') . " - $ret dirigants CSF on été passés à inactif (car non transmis depuis le dernier chargement) !".EOL;
|
||||
|
||||
$ret=$iDb->update($table, array('actif'=>1), "actif=11 AND source='csf'");
|
||||
echo date ('Y/m/d - H:i:s') . " - Passage à actif de tous les dirigeants CSF chargés ($ret).".EOL;
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des dirigeants".EOL;
|
||||
|
||||
die();
|
||||
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,28 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
$argv=$_SERVER['argv'];
|
||||
if ($_SERVER['argc']<>2) die('Usage : '.basename($argv[0]). " nom_database.nom_table\nRécupère le nombre de valeurs distinctes pour chaque colonne d'une table.\n");
|
||||
$param=$argv[1];
|
||||
$tabParam=explode('.', $param);
|
||||
$db=$tabParam[0];
|
||||
$table=$tabParam[1];
|
||||
|
||||
$iDb=new WDB($db);
|
||||
$ret=$iDb->select($table,'*', '1 LIMIT 0,1', false, MYSQL_ASSOC);
|
||||
if (!$ret) die ("ERREUR : Table $table inexistante : " . mysql_error());
|
||||
|
||||
$tabNameRows=array_keys($ret[0]);
|
||||
|
||||
//print_r($tabNameRows);
|
||||
foreach ($tabNameRows as $i=> $nameRow) {
|
||||
//if ($i<=29) continue;
|
||||
$retV=$iDb->select($table,"COUNT(*) as NbDiff, $nameRow", "1 GROUP BY $nameRow LIMIT 0,1000", true);
|
||||
$retT=$iDb->select($table,"MAX(LENGTH($nameRow))", '1', true);
|
||||
if (count($retV)>=1000)
|
||||
echo "$db.$table, $nameRow : + de 1000 valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n";
|
||||
else
|
||||
echo "$db.$table, $nameRow : ".count($retV)." valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n";
|
||||
flush();
|
||||
}
|
||||
|
||||
?>
|
@ -1,110 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
/**
|
||||
** Ce script récupère les informations relatives à un Domaine .fr
|
||||
** Les domaines .fr doivent être contenu dans un fichier texte séparateur ; ou |
|
||||
**/
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
|
||||
$referer='';
|
||||
$iDb=new WDB();
|
||||
/*
|
||||
$url='http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01000&type=all';
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.justice.gouv.fr');
|
||||
die($page['body']);
|
||||
*/
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Extraction des informations Whois Html de l'Afnic.
|
||||
|
||||
Options :
|
||||
-d Mode debug (Verbosité au maximum)
|
||||
|
||||
";
|
||||
$iDb=new WDB('jo');
|
||||
$iInsee=new MInsee();
|
||||
|
||||
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
|
||||
$modeDebug=false;
|
||||
$tabFichier=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 '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
} else $tabFichier[]=$argv[$i];
|
||||
}
|
||||
|
||||
if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL);
|
||||
|
||||
echo date ('Y/m/d - H:i:s') . " - Début du traitement des Domaines".EOL;
|
||||
|
||||
foreach ($tabFichier as $i=>$fichier) {
|
||||
$fileDomaines=file($fichier);
|
||||
$fp=fopen($fichier.'.out','a');
|
||||
$fic=basename($fichier);
|
||||
foreach ($fileDomaines as $j=>$ligne) {
|
||||
if (strpos(trim($ligne),'#')!==0 && strpos(trim($ligne),';')!==0) {
|
||||
$tabTmp=split('[\||;]', $ligne);
|
||||
$dom=trim($tabTmp[0]);
|
||||
$nom=strtoupper(trim($tabTmp[1]));
|
||||
$tabRet=array( 'raisonSociale'=>$nom,
|
||||
'web'=>'www.'.$dom,
|
||||
);
|
||||
$query=$iDb->select('infos_entrep', 'siren, raisonSociale', "web like '%.$dom%'");
|
||||
if (count($query)==0) {
|
||||
$page=getUrl('http://www.afnic.fr/outils/whois/'.$dom, '', '', '', false, 'www.afnic.fr');
|
||||
$siren=$tel=$mail='';
|
||||
$strTmp=$page['body'];
|
||||
if (preg_match('/<span class=h1> Nom de domaine \: <\/span><span class=bleuvif>(.*)<img src="\/images\/x_orange.gif" border="0" align="middle" height="2" width="50%"><\/p>/Uis', $strTmp, $matches2))
|
||||
$strTmp=$matches2[1];
|
||||
// die($strTmp);
|
||||
if (preg_match('/<b>Date de création : <\/b>(.*)<br>/Uis', $strTmp, $matches2))
|
||||
$dateCre=$matches2[1];
|
||||
if (preg_match('/<b>Date anniversaire : <\/b>(.*)<br>/Uis', $strTmp, $matches2))
|
||||
$dateAnn=$matches2[1];
|
||||
|
||||
if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)Téléphone : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2))
|
||||
$tel=str_replace(' ','.',trim(str_replace('+33 ','0',$matches2[1])));
|
||||
if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)<b>Courrier électronique : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2))
|
||||
$mail=trim(strip_tags($matches2[1]));
|
||||
if (preg_match('/http\:\/\/www\.euridile\.com\/index_vitrine\.ow\?afnic_numrcs=(.*)"/Ui', $strTmp,$matches2))
|
||||
$siren=$matches2[1];
|
||||
elseif (preg_match('/SIREN (.*) INSEE"/Ui', $strTmp,$matches2))
|
||||
die(print_r($matches2));
|
||||
$tabRet['siren']=$siren;
|
||||
|
||||
$str=";$fic;$j;$dom;$siren;$tel;$mail;$dateCre;$dateAnn;$nom";
|
||||
$query=$iDb->select('infos_entrep', 'raisonSociale, web, tel, mail', "siren='$siren'");
|
||||
if (count($query)==0) {
|
||||
$iDb->insert('infos_entrep', $tabRet);
|
||||
$nbInsert++;
|
||||
echo date ('Y/m/d - H:i:s') . " $str ... AJOUT\n";
|
||||
} elseif (/*strlen($query[0]['web'])<8*/
|
||||
levenshtein($nom, preg_replace('/\.FR$/',strtoupper($dom)))<5
|
||||
)
|
||||
$iDb->update('infos_entrep', $tabRet, "siren='$siren'");
|
||||
$nbUpdate++;
|
||||
echo date ('Y/m/d - H:i:s') . " $str ... MAJ\n";
|
||||
} else echo date ('Y/m/d - H:i:s') . " $str ... SITE DEJA EXISTANT pour ce SIREN\n";
|
||||
fwrite($fp, $str."\n");
|
||||
//die(print_r(($query)));
|
||||
randsleep(7,21);
|
||||
}
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s') . " ;$fic;$j;$dom;SIREN;TEL;MAIL;CREA;RENEW;$nom DEJA EN BASE";
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
?>
|
@ -1,157 +0,0 @@
|
||||
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||||
<?php
|
||||
|
||||
include_once(FWK_PATH.'common/curl.php');
|
||||
include_once(FWK_PATH.'common/chiffres.php');
|
||||
include_once(FWK_PATH.'common/dates.php');
|
||||
$modeDebug=false;
|
||||
|
||||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||||
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
|
||||
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
|
||||
|
||||
Options :
|
||||
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
|
||||
|
||||
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
|
||||
|
||||
";*/
|
||||
|
||||
$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 '-':
|
||||
case '?': die($strInfoScript); break;
|
||||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
|
||||
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
|
||||
**
|
||||
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
|
||||
**/
|
||||
|
||||
$iDb=new WDB('sdv1');
|
||||
$table='ecoartisan';
|
||||
$urlBase='http://www.eco-artisan.net/renovation/je-trouve-un-eco-artisan-r.html?no_cache=1&ecoartisan=';
|
||||
$tabZones=array(
|
||||
'fj'=>'<dt>Forme juridique :</dt><dd>(.*)</dd>', //
|
||||
'raiSoc'=>'<dt>Raison sociale :</dt><dd>(.*)</dd>', //
|
||||
'siret'=>'<dt>SIRET : </dt><dd>(.*)</dd>', //
|
||||
'chef'=>'<dt>Nom du chef d\'entreprise :</dt><dd>(.*)</dd>', //
|
||||
'chefCiv'=>'<dt>Civilit(?:.*) du chef d\'entreprise :</dt><dd>(.*)</dd>',
|
||||
'adresse'=>'<dt>Adresse :</dt><dd>(.*)</dd>', //
|
||||
'adresse2'=>'<dt>Compl(?:.*)ment d\'adresse :</dt><dd>(.*)</dd>',
|
||||
'cp'=>'<dt>Code postal :</dt><dd>(.*)</dd>', //
|
||||
'ville'=>'<dt>Ville :</dt><dd>(.*)</dd>', //
|
||||
'tel'=>'<dt>T(?:..?)l :</dt><dd>(.*)</dd>', //
|
||||
'fax'=>'<dt>Fax :</dt><dd>(.*)</dd>', //
|
||||
'mail'=>'<dt>E-mail :</dt><dd>(.*)<', //
|
||||
'web'=>'<dt>Site internet :</dt><dd>(.*)<', //
|
||||
'mob'=>'<dt>Mobile :</dt><dd>(.*)</dd>',
|
||||
'zoneInter'=>'<dt>Zone d\'intervention :</dt><dd>(.*)</dd>',
|
||||
'activitePri'=>'<dt>Activit(?:.*)principale :</dt><dd>(.*)</dd>', //
|
||||
'activite[actCode,actLib]'=>'\t\t\t\t\t\t\t<dt>(.*) :</dt><dd>(.*)</dd>',
|
||||
);
|
||||
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL;
|
||||
|
||||
$ret=$iDb->select($table, 'MAX(id)', '1', false);
|
||||
$iDeb=$ret[0][0];
|
||||
$nbVides=0;
|
||||
echo date ('Y/m/d - H:i:s')." - Dernier id entreprise '$table' = $iDeb".EOL;
|
||||
|
||||
for($i=$iDeb;;$i++) {
|
||||
$tabInsert=array('id'=>$i);
|
||||
|
||||
$ret=$iDb->select($table, 'raiSoc', "id=$i", false);
|
||||
if (@$ret[0][0]<>'') continue;
|
||||
|
||||
$url=$urlBase.$i;
|
||||
$page=getUrl($url, '', '', '', false);
|
||||
$referer=$url;
|
||||
$body=$page['body'];
|
||||
//die($body);
|
||||
|
||||
$tabHtml=html2array($body, $tabZones);
|
||||
// print_r($tabHtml);
|
||||
// die();
|
||||
foreach ($tabHtml as $zone=>$data) {
|
||||
if (is_array($data)) {
|
||||
foreach ($data as $j=>$tabInsert2) {
|
||||
// Deb spécifique ecoartisan
|
||||
$tmp=explode(' ',$tabInsert2['actCode']);
|
||||
$last=end($tmp);
|
||||
if ($last*1==0) continue;
|
||||
// Fin spécifique ecoartisan
|
||||
$tabInsert2['id']=$i;
|
||||
$tabInsert2['num']=$j;
|
||||
$tabInsert2['dateInsert']=date('YmdHis');
|
||||
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
|
||||
if (mysql_errno()==1062) {
|
||||
unset($tabInsert2['dateInsert']);
|
||||
$iDb->update($table.$zone, $tabInsert2, "id=$i AND num=$j", false);
|
||||
} else {
|
||||
print_r($tabInsert2);
|
||||
die(mysql_error());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
$tabInsert[$zone]=$data;
|
||||
}
|
||||
if (count($tabInsert)<10 || $tabInsert['raiSoc']=='' || substr($tabInsert['raiSoc'],0,3)=='###') {
|
||||
$nbVides++;
|
||||
if ($nbVides<50) continue;
|
||||
else {
|
||||
echo date('Y/m/d H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
|
||||
die();
|
||||
}
|
||||
}
|
||||
$nbVides=0;
|
||||
|
||||
unset($tabInsert['activite']);
|
||||
/*
|
||||
if (isset($tabInsert['urlImg']) && $tabInsert['urlImg']<>'') {
|
||||
$urlLogo='http://www.qualifelec.fr/';
|
||||
die($tabInsert['urlImg']);
|
||||
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') {
|
||||
$extension=substr(strrchr($urlLogo,'.'),1);
|
||||
if (!file_exists("/home/data/logos/$siren.$extension")) {
|
||||
$referer='';
|
||||
$tDeb=microtime(true);
|
||||
$page=getUrl($urlLogo, '', '', $referer, false, '', '', 60);
|
||||
$duree=round(microtime(true)-$tDeb,3);
|
||||
$body=$page['body'];
|
||||
$taille=round(strlen($body)/1024,1);
|
||||
file_put_contents("/home/data/logos/$siren.$extension",$body);
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($tabInsert['urlImg']);*/
|
||||
$tabInsert['dateInsert']=date('YmdHis');
|
||||
if (!$iDb->insert($table, $tabInsert, false)) {
|
||||
if (mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$iDb->update($table, $tabInsert, "id=$i", false);
|
||||
} else {
|
||||
print_r($tabInsert);
|
||||
die(mysql_error());
|
||||
}
|
||||
}
|
||||
|
||||
//die();
|
||||
$nb=count($tabInsert);
|
||||
$nb2=@count($tabInsert2);
|
||||
echo date('Y/m/d H:i:s')." - $i : $nb zones et $nb2 qualifications".EOL;
|
||||
|
||||
if ($modeDebug) randsleep(1,2);
|
||||
else randsleep(7,21);
|
||||
}
|
||||
|
||||
die();
|
||||
|
||||
?>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user