Merge from 2.0
This commit is contained in:
commit
c17f767aef
@ -970,26 +970,24 @@ private static $tabEvenements=array(
|
||||
* La première ligne ne contient pas de NOM PRENOM car il s'agit de la 1ère ligne
|
||||
*/
|
||||
foreach ($tabAdministration as $i=>$ligne) {
|
||||
|
||||
/*
|
||||
file_put_contents('coucou.log','Ligne : '.$ligne."\n", FILE_APPEND);
|
||||
|
||||
preg_match("/(.*)gérants?(.*)$/i", $ligne, $matches);
|
||||
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
|
||||
|
||||
preg_match("/(.*)g.rants?(.*)$/i", $ligne, $matches);
|
||||
preg_match("/(.*)g.rants?(.*)$/iu", $ligne, $matches);
|
||||
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
|
||||
|
||||
preg_match("/(.*)g.rants?(.*)$/i", utf8_decode($ligne), $matches);
|
||||
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
|
||||
*/
|
||||
*/
|
||||
|
||||
/** On recherche la fonction et son code fonction de la ligne */
|
||||
foreach ($this->tabDirigeants as $fonction=>$numFct) {
|
||||
|
||||
file_put_contents('coucou.log','Fonction : '.$fonction, FILE_APPEND);
|
||||
//file_put_contents('coucou.log','Fonction : '.$fonction, FILE_APPEND);
|
||||
//@todo : provisoire table bdd en utf8
|
||||
if (preg_match("/(.*)$fonction(.*)$/i", utf8_decode($ligne), $matches)) {
|
||||
//file_put_contents('coucou.log',"Matched \n", FILE_APPEND);
|
||||
if (preg_match("/(.*)$fonction(.*)$/iu", $ligne, $matches)) {
|
||||
file_put_contents('coucou.log',"Matched \n", FILE_APPEND);
|
||||
$tabCodeFct[$i]=$numFct;
|
||||
$tabFonctions[$i]=@preg_replace("/($strFonctions)/i", '', $tabAdministration[$i+1]);
|
||||
if(@preg_match("/(partant|ancien|suppression|cha.g|d.part|d.mis(si|is)on|r.vocation)/i", $tabAdministration[$i+1]))
|
||||
|
@ -1348,7 +1348,7 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
||||
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
||||
"e.siren=$siren $strActif ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||
"e.siren=$siren $strActif ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||
} else {
|
||||
$listeEtab=$this->iDb->select('etablissements e',
|
||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||||
@ -2269,7 +2269,7 @@ print_r($tabTmp, true));
|
||||
'TrancheCALib'=>self::$tabTCA[$tabInsee['TCA']],
|
||||
'TrancheCAexp'=>$tabInsee['TCAEXP'],
|
||||
'TrancheCAexpLib'=>self::$tabTCAexp[$tabInsee['TCAEXP']],
|
||||
|
||||
'TrancheCAType'=>'I',
|
||||
'AnneeEffEn'=>$tabInsee['DEFEN'],
|
||||
'AnneeEffEt'=>$tabInsee['DEFET'],
|
||||
'AnneeTCA'=>$tabInsee['TCA_AN'],
|
||||
@ -2301,6 +2301,19 @@ print_r($tabTmp, true));
|
||||
// MODET,
|
||||
);
|
||||
|
||||
/** Estimation du Chiffre d'affaires **/
|
||||
$cj1=substr($tabInsee['CJ'],0,1)*1;
|
||||
if ($tabRet['TrancheCA']*1==0 && $tabInsee['ACTIF']==1 && $tabInsee['CJ']<>1800 && $tabInsee['CJ']<>1900 && $cj1<>7 && $cj1<>8 && $cj1<>9) {
|
||||
$caEstime=$this->getCAnafEffectif($tabInsee['APE_ENT'], $tabInsee['EFF_ENT']);
|
||||
$tabRet['TrancheCA']=$this->getTca($caEstime);
|
||||
$tabRet['TrancheCALib']=self::$tabTCA[$tabRet['TrancheCA']];
|
||||
if ($tabRet['TrancheCA']*1>0) {
|
||||
$tabRet['TrancheCAType']='E';
|
||||
$tabRet['AnneeTCA']=date('Y')-2;
|
||||
}
|
||||
}
|
||||
|
||||
/** Si tourisme, recherche du classeement **/
|
||||
$tabNafTourisme=array( '5510Z', // Hôtels et hébergement similaire
|
||||
'5520Z', // Hébergement touristique et autre hébergement de co
|
||||
'5530Z', // Terrains de camping et parcs pour caravanes ou véh
|
||||
@ -3002,6 +3015,7 @@ print_r($tmp, true));
|
||||
$rep=$this->iDb->select('bilans', 'siren, dateExercice, dureeExercice, monnaie, typeBilan, unite, postes, dateProvPartenaire, dateInsert', "siren=$siren AND typeBilan IN ('N','S') ORDER BY dateExercice DESC", false, MYSQL_ASSOC);
|
||||
$entrep=$rep[0];
|
||||
if (isset($entrep['dateExercice'])) {
|
||||
$tabRet['bilanAnnee'] = substr($entrep['dateExercice'],0,4);
|
||||
$tabRet['bilanDate'] = $entrep['dateExercice'];
|
||||
$tabRet['bilanMois'] = $entrep['dureeExercice'];
|
||||
$tabRet['bilanDevise'] = $entrep['monnaie'];
|
||||
@ -3055,6 +3069,9 @@ print_r($tmp, true));
|
||||
$tabRet['TypeExploitation']=10;
|
||||
}
|
||||
$timer['infosBilan']=microtime(true);
|
||||
} elseif($caEstime>0 && $tabInsee['ACTIF']==1) {
|
||||
$tabRet['bilanAnnee'] = date('Y')-2;
|
||||
$tabRet['bilanFLestime']=$caEstime;
|
||||
}
|
||||
|
||||
/** CA Estimé si aucune info Bilan au TCA Insee
|
||||
@ -4940,7 +4957,7 @@ function getProColPart($siren, $rubrique='', $forceVerif=false, $idAnnonce=0) {
|
||||
$tabAnnees[]=$an;
|
||||
$strAnnees.=implode(',', $tabAnnees).')';
|
||||
}
|
||||
$tabImportExport=$this->iDb->select('importExport', 'importExport, annee, /*siren, raisonSociale, naf, categorie, adresse,*/ rangNational, deptSiege', "1 $strImportExport $strAnnees AND siren=$siren ORDER BY annee DESC, importExport ASC",false, MYSQL_ASSOC);
|
||||
$tabImportExport=$this->iDb->select('importExport', 'importExport, annee, /*siren, raisonSociale, naf, categorie, adresse,*/ rangNational, deptSiege', "1 $strImportExport $strAnnees AND siren=$siren ORDER BY annee DESC, importExport ASC", false, MYSQL_ASSOC);
|
||||
return $tabImportExport;
|
||||
}
|
||||
|
||||
@ -5678,21 +5695,51 @@ function getProColPart($siren, $rubrique='', $forceVerif=false, $idAnnonce=0) {
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** Donne la tranche de CA à partir du CA réel
|
||||
* @param double $montantCA Chiffre d'affaires réel ou estimé
|
||||
* @return integer Tranche de CA
|
||||
*/
|
||||
public 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
|
||||
}
|
||||
|
||||
/** CA Moyen par salarié pour un secteur donné
|
||||
** @param string $naf Naf de l'entreprise
|
||||
** @param integer $effectif Effectif de l'entreprise
|
||||
**/
|
||||
public function getCAnafEffectif($naf, $effectif=0) {
|
||||
$tabTmp=$this->iDb->select('ratios_secteurs', 'id, naf5, annee, SUM(montant), SUM(nombre), SUM(montant)/SUM(nombre) AS moyenne', "naf5='$naf' AND id=267 AND ANNEE>(SELECT MAX(annee) FROM ratios_secteurs WHERE naf5='$naf' AND id=267)-2 GROUP BY id, naf5", true, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) {
|
||||
$caSecteur=round($tabTmp[0]['moyenne']*1000);
|
||||
// Encours moyen secteur * nb salariés
|
||||
if ($effectif>0) return $caSecteur*$effectif;
|
||||
else return $caSecteur;
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*$tabSiren[$even['insDATEVE']]=array('rs'=>$even['insNOMEN'],
|
||||
'sigle'=>$even['insSIGLE'],
|
||||
'ape'=>$even['insAPEN700'],
|
||||
'nic'=>$even['insNICSIEGE'],
|
||||
'cj'=>$even['insCJ'],
|
||||
);
|
||||
$tabSiret[$even['insNIC']][$even['insDATEVE']]
|
||||
= array('ens'=>$even['insENSEIGNE'],
|
||||
'ape'=>$even['insAPET700'],
|
||||
'adresse'=>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'],
|
||||
'effectif'=>$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].')',
|
||||
);
|
||||
*/
|
||||
|
||||
function getInfoPrecedente($tabSir, $dateEven, $even) {
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee, getInfoPrecedente avant le $dateEven pour '$even'", print_r($tabSir, true));
|
||||
|
@ -220,9 +220,9 @@ $tabPostesDGI=array(
|
||||
'1T'=>'Prêts et autres immobilisations financières (brut)',
|
||||
'LQ'=>'TOTAL IV (brut)',
|
||||
'0G'=>'TOTAL GENERAL (I+II+III+IV) (brut)',
|
||||
'L9'=>'Sur sol propre dont Composant',
|
||||
'L9'=>'Sur sol propre dont Composant',
|
||||
'M1'=>'Sur sol d\'autrui dont Composant',
|
||||
'M2'=>'Installation générale, aménagement, agencement dont Composant',
|
||||
'M2'=>'Installation générale, aménagement, agencement dont Composant',
|
||||
'M3'=>'Installations techniques, matériel et outillage industriels dont Composant',
|
||||
'KB'=>'Frais d\'établissement de Rech. et Dev. TOTAL I (réév.)',
|
||||
'KE'=>'Autres postes d\'immobilisations incorporelles TOTAL II (réév.)',
|
||||
@ -737,16 +737,16 @@ $tabPostesDGI=array(
|
||||
'VF'=>'(2) Prêts et avances consentis aux associés (pers. phys.)',
|
||||
'7Y'=>'Emprunts obligataires convertibles (1)',
|
||||
'7Z'=>'Autres emprunts obligataires (1)',
|
||||
'VG'=>'Emprunts et dettes auprès des établissements de crédits (1) : à 1 an maximum',
|
||||
'VH'=>'Emprunts et dettes auprès des établissements de crédits (1) : à + 1 an',
|
||||
'VG'=>'Emprunts et dettes auprès des établissements de crédits (1) : à 1 an maximum',
|
||||
'VH'=>'Emprunts et dettes auprès des établissements de crédits (1) : à + 1 an',
|
||||
'8A'=>'Emprunts,dettes financières divers (1)(2)',
|
||||
'8B'=>'Fournisseurs comptes rattachées',
|
||||
'8C'=>'Personnels et comptes rattachés',
|
||||
'8D'=>'SS et autres organisme sociaux',
|
||||
'8E'=>'Etat et autres collectivités publiques : Impôts sur les bénéfices',
|
||||
'VW'=>'Etat et autres collectivités publiques : T.V.A.',
|
||||
'VX'=>'Etat et autres collectivités publiques : Obligations cautionnées',
|
||||
'VQ'=>'Etat et autres collectivités publiques : Autes impôts, taxes et assimilés',
|
||||
'VW'=>'Etat et autres collectivités publiques : T.V.A.',
|
||||
'VX'=>'Etat et autres collectivités publiques : Obligations cautionnées',
|
||||
'VQ'=>'Etat et autres collectivités publiques : Autes impôts, taxes et assimilés',
|
||||
'8J'=>'Dettes sur immo, comptes rattachés',
|
||||
'VI'=>'Groupe et associés (2)',
|
||||
'8K'=>'Autres dettes',
|
||||
@ -1045,13 +1045,13 @@ $tabGreffe2Sd=array(
|
||||
'E1J'=>'IU',
|
||||
'E1K'=>'IV',
|
||||
'E3L'=>'IW',
|
||||
'E3M'=>'IX',
|
||||
'E3M'=>'IX',
|
||||
'E3N'=>'NN',
|
||||
// IMMO Fin
|
||||
'E4A'=>'IZ',
|
||||
'E4B'=>'I0',
|
||||
'E3R'=>'I1',
|
||||
'E3S'=>'I2',
|
||||
'E3S'=>'I2',
|
||||
'E3T'=>'NM',
|
||||
'E3U'=>'NP',
|
||||
|
||||
@ -1085,7 +1085,7 @@ $tabGreffe2Sd=array(
|
||||
'J1X'=>'VP2',
|
||||
'J1Y'=>'VC2',
|
||||
'J1Z'=>'VR2',
|
||||
'J2A'=>'VS2',
|
||||
'J2A'=>'VS2',
|
||||
|
||||
'J2B'=>'7Y1',
|
||||
'J2C'=>'7Z1',
|
||||
@ -1165,7 +1165,7 @@ $tabGreffe2Sd=array(
|
||||
'M2L'=>'ZK1',
|
||||
|
||||
);
|
||||
|
||||
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class MGreffes {
|
||||
@ -1177,12 +1177,14 @@ class MGreffes {
|
||||
public $libErreur='';
|
||||
public $cookie='';
|
||||
public $iDb;
|
||||
private $iInsee;
|
||||
public $enCache=false;
|
||||
|
||||
|
||||
function __construct() {
|
||||
$this->iDb=new WDB();
|
||||
$this->iInsee=new MInsee();
|
||||
}
|
||||
|
||||
|
||||
function getIdentite($siren, $refresh=false) {
|
||||
$res=$this->iDb->select('greffes_identite', 'id, siren, nom, nomCommercial, adresse, adresse2, cp, ville, enseigne, siege, fj, fjLib, naf, nafLib, numRC, numRC2, typeRCS, numGreffe, libGreffe, dateCreation, dateRadiation, dateCloture, ca, res, eff, dateInsert', "siren=$siren");
|
||||
if (count($res)>0 && !$refresh) {
|
||||
@ -1220,7 +1222,7 @@ class MGreffes {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/newRechercheEntreprise.xml';
|
||||
$postData=array( 'denomination'=>'',
|
||||
'commune'=>'',
|
||||
@ -1241,7 +1243,7 @@ class MGreffes {
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
@ -1274,11 +1276,11 @@ class MGreffes {
|
||||
$fp=fopen('./infogreffe.log', 'a');
|
||||
fwrite($fp, $this->body);
|
||||
fclose($fp);
|
||||
|
||||
|
||||
//005480256R.C.S.STNAZAIRE
|
||||
$nomCom=$adr=$adr2=$cpVille=$cp=$ville=$ens=$dateRad=$dateCre=$dateCloture=$ca=$res=$eff='';
|
||||
|
||||
$strSiren=htm2txt(@getTextInHtml($this->body, '<div class="text-rcs" id="libelleRcsGreffe" style="margin-left:0px; margin-right: 0px;">', '0px;">', '</div>'));
|
||||
|
||||
$strSiren=htm2txt(@getTextInHtml($this->body, '<div class="text-rcs" id="libelleRcsGreffe" style="margin-left:0px; margin-right: 0px;">', '0px;">', '</div>'));
|
||||
//511 054 843 R.S.A.C. NARBONNE
|
||||
/*if (preg_match("/((?:[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}))/", $strSiren, $matches)) {
|
||||
print_r($matches);
|
||||
@ -1294,7 +1296,7 @@ class MGreffes {
|
||||
$greffe_lib=trim(preg_replace('/^Spécial des Entrepreneurs Individuels à Responsabilité Limitée/','',trim(implode(' ', $tabTmp))));
|
||||
} else
|
||||
$greffe_lib=trim(preg_replace('/^inscrit au R.C.S./','',trim(implode(' ', $tabTmp))));
|
||||
|
||||
|
||||
$strTmp=@getTextInHtml($this->body, '<td class=\'content\'>IDENTITE</td></tr></table></div>', '</tr></table></div>', '<span class="span-planAcces">');
|
||||
$siege=htm2txt(@getTextInHtml($strTmp, '<span id="fiche.etablissement.type" class="ficheidentite-texte-standard-italic-gras">', 'gras">', '</span>'));
|
||||
if ($siege=='Siège social') $siege=1; else $siege=0;
|
||||
@ -1303,10 +1305,10 @@ class MGreffes {
|
||||
|
||||
if (preg_match('/<span id="fiche.denomination" class="texte-standard">(?:.*)Enseigne \:(.*)</Uis',$this->body,$matches))
|
||||
$ens=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/<span id="fiche.denomination" class="texte-standard">(?:.*)Nom commercial \:(.*)</Uis',$this->body,$matches))
|
||||
$nomCom=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/<\/span>(.*)<div>(.*)<br\/>(.*)<br\/>(.*)<br\/>(.*)<br\/>/Uis',$strTmp,$matches)) {
|
||||
// Adresse sur 5 lignes
|
||||
$adr=htm2txt(trim($matches[4]));
|
||||
@ -1333,7 +1335,7 @@ class MGreffes {
|
||||
$cp=substr($cpVille,0,5);
|
||||
$ville=trim(substr($cpVille,5));
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Activit(?:.*)\(code NAF\)(?:.*)title="(.*)">(.*)<\/span>/Uis',$this->body,$matches)) {
|
||||
$naf=$matches[2];
|
||||
$nafLib=htm2txt(ucfirst(strtolower($matches[1])));
|
||||
@ -1342,7 +1344,7 @@ class MGreffes {
|
||||
$siege=1;
|
||||
} else {
|
||||
$matches=array();
|
||||
preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Forme juridique<\/span><br\/><span id="fiche.forme.juridique" class="texte-standard">(.*)<\/span>/Uis',$this->body,$matches);
|
||||
preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Forme juridique<\/span><br\/><span id="fiche.forme.juridique" class="texte-standard">(.*)<\/span>/Uis',$this->body,$matches);
|
||||
}
|
||||
$cjLib=prepareString(@strtoupper(trim($matches[1])));
|
||||
$capitalType='SOC';
|
||||
@ -1440,7 +1442,7 @@ class MGreffes {
|
||||
case 'SARL D'ARCHITECTURE': $cj=5499; break;
|
||||
case 'SARL D'INTERET COLLECTIF ET AGRICOLE A CAPITAL VARIABLE': $cj=5432; $capitalType='VAR'; break;
|
||||
case 'SARL NON MEMBRE DE LA CE OU NON PARTIE A L'ACCORD SUR L'ESPACE ECONOMIQUE EUR.': $cj=3120; break;
|
||||
case 'SARL SOCIETE A ASSOCIE UNIQUE': $cj=5498; break;
|
||||
case 'SARL SOCIETE A ASSOCIE UNIQUE': $cj=5498; break;
|
||||
case 'SARL SOUS FORME DE EURL': $cj=5498; break;
|
||||
case 'SARL UNIPERSONNELLE SPORTIVE': $cj=5498; break;
|
||||
case 'SARL UNIPERSONNELLE': $cj=5498; break;
|
||||
@ -1642,7 +1644,7 @@ class MGreffes {
|
||||
else
|
||||
$cjLib=ucfirst(strtolower($cjLib));
|
||||
|
||||
|
||||
|
||||
if (preg_match('/<input type="hidden" name="greffe" value="(.*)">/Uis',$this->body,$matches)) {
|
||||
$greffe_num=$matches[1];
|
||||
}
|
||||
@ -1673,7 +1675,7 @@ class MGreffes {
|
||||
if (preg_match('/<span class="text-standard">(?:.*)Effectif \:(.*)<br/Uis',$this->body,$matches)) {
|
||||
$eff=strtr(trim($matches[1]),array(chr(160)=>'',' '=>'','k'=>'000','K'=>'000','€'=>'','personnes'=>''));
|
||||
}
|
||||
|
||||
|
||||
$numRC=$greffe_mil.$greffe_sta.$greffe_chr;
|
||||
if (strlen($numRC)>4 && strlen($numRC)<10) {
|
||||
if ($numRC<>'' && substr($numRC,0,2)*1>=30)
|
||||
@ -1684,7 +1686,7 @@ class MGreffes {
|
||||
$numRC2='';
|
||||
} else
|
||||
$numRC2=$numRC;
|
||||
|
||||
|
||||
/** Insertion en base de données **/
|
||||
$tabInsert=array( 'siren' => $siren,
|
||||
'nom' => $nom,
|
||||
@ -1716,7 +1718,7 @@ class MGreffes {
|
||||
//sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug identite $siren", $this->body);
|
||||
// 997536917
|
||||
}
|
||||
|
||||
|
||||
|
||||
$tabRet=array( 'id' => $id,// A calculer après insert
|
||||
'Pertinence' => 100,
|
||||
@ -1751,7 +1753,7 @@ class MGreffes {
|
||||
);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getListeEtab($siren) {
|
||||
//POSTDATA=
|
||||
$tabIdentite=$this->getIdentite($siren, true);
|
||||
@ -1789,7 +1791,6 @@ class MGreffes {
|
||||
}
|
||||
}
|
||||
|
||||
$iInsee=new MInsee();
|
||||
foreach ($tabNumRC as $i=>$docId) {
|
||||
$nom=$nomCom=$adr=$adr2=$cp=$ville=$ens=$siege=$nafEtab=$greffe_num=$typeRCS=$greffe_lib=$numRC=$numRC2='';
|
||||
$siege=$princip=0;
|
||||
@ -1797,14 +1798,14 @@ class MGreffes {
|
||||
|
||||
/* [22] => ^M
|
||||
AUTOMOBILES PEUGEOT^M
|
||||
|
||||
|
||||
PARC DU GRIFFON 38 AV DES GEORGE S DE CAB RIES BP 258 . 13747 VITROLLES - Etablissement Secondaire^M
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
if (preg_match('/^(.*)<\/a>/Uis', $tabEtabs[$i], $matches))
|
||||
$nom=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/^(?:.*)<\/a>(?:.*)<br \/>(.*) - /Uis', $tabEtabs[$i], $matches)) {
|
||||
if (preg_match('/Enseigne \:(.*)<br\/>(.*)/Uis',$matches[1],$matches2)) {
|
||||
$ens=htm2txt(trim($matches2[1]));
|
||||
@ -1812,17 +1813,17 @@ class MGreffes {
|
||||
} elseif (preg_match('/Nom commercial \:(.*)<br\/>(.*)/Uis',$matches[1],$matches2)) {
|
||||
$nomCom=htm2txt(trim($matches2[1]));
|
||||
$adr=htm2txt(trim($matches2[2]));
|
||||
} else
|
||||
$adr=htm2txt(trim($matches[1]));
|
||||
$tabAdr=$iInsee->structureVoie($adr.'.');
|
||||
} else
|
||||
$adr=htm2txt(trim($matches[1]));
|
||||
$tabAdr=$this->iInsee->structureVoie($adr.'.');
|
||||
}
|
||||
|
||||
|
||||
if (preg_match("/([0-9]{3,3} [0-9]{3,3} [0-9]{3,3}) (R\.C\.S\.|R\.S\.A\.C\.) (.*)<br/Uis", $tabEtabs[$i], $matches)) {
|
||||
$siren=$matches[1];
|
||||
$typeRCS=$matches[2];
|
||||
$greffe_lib=htm2txt(trim($matches[3]));
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/<br\/>(.*)$/sUi', $tabEtabs[$i], $matches))
|
||||
$nafEtab=htm2txt(trim($matches[1]));
|
||||
|
||||
@ -1832,11 +1833,11 @@ class MGreffes {
|
||||
$princip=1;
|
||||
elseif (preg_match('/- Siège Social/Uis', htm2txt($tabEtabs[$i])))
|
||||
$siege=1;
|
||||
|
||||
|
||||
if (preg_match('/<span class="text-orange-xsmall">Radié<\/span>/Uis', $tabEtabs[$i]))
|
||||
$actif=0;
|
||||
|
||||
|
||||
|
||||
$greffe_num = substr($docId,0,4);
|
||||
$numRC = substr($docId,4,8);
|
||||
if (strlen($numRC)>4 && strlen($numRC)<10) {
|
||||
@ -1848,7 +1849,7 @@ class MGreffes {
|
||||
$numRC2='';
|
||||
} else
|
||||
$numRC2=$numRC;
|
||||
|
||||
|
||||
$tabEt[$i]=@array( 'docId' => $docId, //
|
||||
'nom' => $nom, //
|
||||
'nomCommercial' => $nomCom, //
|
||||
@ -1877,15 +1878,15 @@ class MGreffes {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/** http://www.infogreffe.fr/infogreffe/listEtablissement.do?ets=552144503&index=RCS
|
||||
** numRC des établissements :
|
||||
** http://www.infogreffe.fr/infogreffe/getEntrepDetail.do?docId=330290B017760010
|
||||
** http://www.infogreffe.fr/infogreffe/getEntrepDetail.do?docId=130379B005800010
|
||||
**/
|
||||
|
||||
|
||||
|
||||
|
||||
/** Génère une requète sur le Web Service Infogreffe et récupère le résultat
|
||||
**
|
||||
** @param unknown_type $siren
|
||||
@ -1921,13 +1922,13 @@ class MGreffes {
|
||||
case 'rcs': break;
|
||||
}*/
|
||||
|
||||
// Par défaut, le résultat ne provient pas du cache
|
||||
// Par défaut, le résultat ne provient pas du cache
|
||||
$this->enCache=false;
|
||||
|
||||
/** Par défaut les documents avec des liens vers les actes ne sont pas périsables
|
||||
**/
|
||||
if ($option=='')
|
||||
$perisable=true;
|
||||
$perisable=true;
|
||||
else
|
||||
$perisable=false;
|
||||
/*`siren` , `dateRequete` , `strXml` , `type` , , `codeErreur`
|
||||
@ -1948,12 +1949,12 @@ FROM ``*/
|
||||
$errMsg=$xml;
|
||||
}
|
||||
//echo 'Une requête dans le cache <br/>';
|
||||
}// else
|
||||
}// else
|
||||
//echo 'Pas de requête dans le cache <br/>';
|
||||
|
||||
|
||||
if (INFOGREFFE_DISPO_WS && (
|
||||
!$this->enCache ||
|
||||
($perisable && $dateReq*1<>date('Ymd')) ||
|
||||
!$this->enCache ||
|
||||
($perisable && $dateReq*1<>date('Ymd')) ||
|
||||
($this->enCache && !$perisable && strlen($xml)<=200))) {
|
||||
$query=$this->requeteInfogreffe($siren,$idCommande,$type, $vecteur, $option);
|
||||
$xml=$this->getInfogreffeXML($query);
|
||||
@ -1961,10 +1962,10 @@ FROM ``*/
|
||||
$sirenQuery=$sirenReponse=0;
|
||||
if (preg_match('/<num_siren>(.*)<\/num_siren>/Uis', $query, $matches))
|
||||
$sirenQuery=$matches[1];
|
||||
|
||||
|
||||
if (preg_match('/<num_siren>(.*)<\/num_siren>/Uis', $xml, $matches))
|
||||
$sirenReponse=$matches[1];
|
||||
|
||||
|
||||
/** Réponse pour un autre siren, sans erreur ! **/
|
||||
if ($sirenQuery<>$sirenReponse && strlen($xml)>=200)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug requete $siren,$idCommande,$type, $vecteur, $option", "Debug requete $siren,$idCommande,$type, $vecteur, $option
|
||||
@ -2002,10 +2003,10 @@ $xml");
|
||||
//echo EOL.'Insertion réponse Infogreffe'.EOL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le résultat du webservice infogreffe.
|
||||
* @param string $req
|
||||
@ -2025,7 +2026,7 @@ function getInfogreffeXML($req){
|
||||
//$url='https://wsrcte.experian.fr/WSContextInfogreffe/INFOGREFFE';
|
||||
else
|
||||
$url = INFOGREFFE_WS_URL;
|
||||
|
||||
|
||||
$req = utf8_encode($req);
|
||||
debugLog('I', "Accès Infogreffe WS Avant = $url", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$post = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://webservices.infogreffe.fr/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getProduitsWebServicesXML><param0 xsi:type="xsd:string">'.$req.'</param0></ns1:getProduitsWebServicesXML></SOAP-ENV:Body></SOAP-ENV:Envelope>';
|
||||
@ -2036,16 +2037,16 @@ function getInfogreffeXML($req){
|
||||
$fpErr=fopen(LOG_PATH.'/curlDebug.log', 'a');
|
||||
curl_setopt($ch, CURLOPT_STDERR, $fpErr);
|
||||
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
|
||||
|
||||
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE,TRUE);
|
||||
curl_setopt($ch, CURLOPT_POST, TRUE);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
|
||||
|
||||
|
||||
$output = curl_exec($ch);
|
||||
fclose($fpErr);
|
||||
|
||||
|
||||
$xml = str_replace("<?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><SOAP-ENV:Body><ns0:getProduitsWebServicesXMLResponse xmlns:ns0='urn:local' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><return xsi:type='xsd:string'>", '', $output);
|
||||
$xml = str_replace('</return></ns0:getProduitsWebServicesXMLResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>','', $xml);
|
||||
// $firephp->log($xml,'XML');
|
||||
@ -2106,7 +2107,7 @@ function requeteInfogreffe($siren, $idCommande=0, $type='BS', $vecteur='XL', $op
|
||||
'<type_requete>S</type_requete>'.
|
||||
'<media>WS</media>'.
|
||||
'<mode_diffusion>';
|
||||
|
||||
|
||||
if ($type=='AC' && $option=='' && $vecteur=='XL')
|
||||
$req.= '<mode type="T"/>'.
|
||||
'<mode type="C"/>';
|
||||
@ -2170,15 +2171,15 @@ function getListeBilans($siren, $type='*') {
|
||||
|
||||
$result = $xpath->query("//listeBilanSaisi/bilanSaisi/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
$title = $xpath->query ('millesime', $annonce);
|
||||
$mil=trim($title->item(0)->nodeValue);
|
||||
/*<>7501</greffe>
|
||||
<>55</dossier_millesime>
|
||||
<dossier_statut>B</dossier_statut>
|
||||
/*<>7501</greffe>
|
||||
<>55</dossier_millesime>
|
||||
<dossier_statut>B</dossier_statut>
|
||||
<dossier_chrono>*/
|
||||
$title = $xpath->query ('num_gest/greffe', $annonce);
|
||||
$dgre=trim($title->item(0)->nodeValue);
|
||||
@ -2188,7 +2189,7 @@ function getListeBilans($siren, $type='*') {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
$title = $xpath->query ('type_comptes', $annonce);
|
||||
$typeCpt=strtolower(trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('liasse', $annonce);
|
||||
@ -2205,7 +2206,7 @@ function getListeBilans($siren, $type='*') {
|
||||
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$num_depot=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$ref=$mil."_$typeCpt-".str_replace('-', '',$millesime)."-$dgre-$dmil-$dsta-$dchr-$num_depot";
|
||||
|
||||
/*elseif ($type=='C') $presta=2001;
|
||||
@ -2241,7 +2242,7 @@ function getListeBilans($siren, $type='*') {
|
||||
@$iDb->insert('greffes_actes', $tabInsert);*/
|
||||
}
|
||||
//print_r($tabRet2);
|
||||
|
||||
|
||||
/** Ajout des dates de clotures précédentes et des durées d'exercices **/
|
||||
foreach ($tabRet2 as $i=>$ret) {
|
||||
$tabRet[$ret['index']]=$ret;
|
||||
@ -2260,16 +2261,16 @@ function getListeBilans($siren, $type='*') {
|
||||
$tabRet[$ret['index']]['dateExercicePre']=str_replace('-', '',$millesimePre);
|
||||
$tabRet[$ret['index']]['dureeExercicePre']=$delta2;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::getListeBilans sur $siren", $xml.EOL.print_r($tabRet, true).EOL.'enCache='.$this->enCache.EOL);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getBilan($siren, $ref='') {
|
||||
global $tabGreffe2Sd;
|
||||
global $tabPostesDGI;
|
||||
|
||||
|
||||
$tabRet=$tabPostes=array();
|
||||
$xml=$this->getProduitWS($siren,'BS',0,'XL',$ref);
|
||||
//die($xml);
|
||||
@ -2278,11 +2279,11 @@ function getBilan($siren, $ref='') {
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$title = $xpath->query ('//bilanSaisi/liasse');
|
||||
$liasse=strtoupper(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$result = $xpath->query("//bilanSaisi/page/poste/.");
|
||||
if (count($result)>0) {
|
||||
//echo count($result).EOL;
|
||||
|
||||
|
||||
/** On parse chaque Poste du Bilans en XML pour récupérer les infos **/
|
||||
foreach ($result as $poste) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
@ -2322,10 +2323,10 @@ function getBilan($siren, $ref='') {
|
||||
$tabPostes[$codeSd]=$valeur;
|
||||
}
|
||||
$tabRet['POSTES']=$tabPostes;
|
||||
|
||||
|
||||
$tabRet['DATE_FRAICHE_BILAN']=date('Ymd');
|
||||
$tabRet['MONNAIE_LIV_UNITE']='';
|
||||
|
||||
|
||||
$title = $xpath->query('//bilanSaisi/date_cloture');
|
||||
$tabRet['DATE_CLOTURE']=WDate::dateT('Y-m-d','d/m/Y',trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('//bilanSaisi/duree_exo');
|
||||
@ -2366,7 +2367,7 @@ function getBilan($siren, $ref='') {
|
||||
$title = $xpath->query ('//bilanSaisi/devise');
|
||||
$tabRet['MONNAIE_ORI']=trim($title->item(0)->nodeValue);
|
||||
if ($tabRet['MONNAIE_ORI']=='') $tabRet['MONNAIE_ORI']='EUR';
|
||||
|
||||
|
||||
// Conversion en EUR car on ne livre qu'en EUROS !
|
||||
if ($tabRet['MONNAIE_ORI']<>'EUR') {
|
||||
if ($tabRet['MONNAIE_ORI']=='FRF') {
|
||||
@ -2384,11 +2385,11 @@ function getBilan($siren, $ref='') {
|
||||
$tabRet['MONNAIE']='EUR';
|
||||
$tabBilan['SOURCE']=10; // 167 avant
|
||||
/*
|
||||
<denomination>AUTOMOBILES PEUGEOT</denomination>
|
||||
<adresse>75 AV DE LA GRANDE ARMEE</adresse>
|
||||
<code_postal>75016</code_postal>
|
||||
<ville>PARIS</ville>
|
||||
<pays />
|
||||
<denomination>AUTOMOBILES PEUGEOT</denomination>
|
||||
<adresse>75 AV DE LA GRANDE ARMEE</adresse>
|
||||
<code_postal>75016</code_postal>
|
||||
<ville>PARIS</ville>
|
||||
<pays />
|
||||
*/
|
||||
}
|
||||
return $tabRet;
|
||||
@ -2437,12 +2438,12 @@ function getListeActes($siren) {
|
||||
</mode_diffusion>
|
||||
</acte>
|
||||
</depot_acte>
|
||||
|
||||
|
||||
</liste_depot_acte>**/
|
||||
|
||||
$result = $xpath->query("//liste_depot_acte/depot_acte/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/*// N° Gestion
|
||||
@ -2525,7 +2526,7 @@ function getListeActes($siren) {
|
||||
'vecteurC'=>$vecteurC,
|
||||
);
|
||||
}
|
||||
}*/
|
||||
}*/
|
||||
// Greffes et RC
|
||||
$title = $xpath->query ('num_gest/greffe', $annonce);
|
||||
$dgre=trim($title->item(0)->nodeValue);
|
||||
@ -2535,7 +2536,7 @@ function getListeActes($siren) {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
// Dépôt
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$depot_num=strtolower(trim($title->item(0)->nodeValue));
|
||||
@ -2545,7 +2546,7 @@ function getListeActes($siren) {
|
||||
// Siren
|
||||
$title = $xpath->query ("num_siren", $annonce);
|
||||
$num_siren = $title->item(0)->nodeValue;
|
||||
|
||||
|
||||
// Actes
|
||||
$actes = $xpath->query("acte/.", $annonce);
|
||||
$nbVecteurT=$nbActes=0;
|
||||
@ -2584,7 +2585,7 @@ function getListeActes($siren) {
|
||||
if ($title->length==1) //$vecteurC = true;
|
||||
$tabVecteurs[]='C';
|
||||
}
|
||||
|
||||
|
||||
if ($date_acte=='') $date=$date_depot; else $date=$date_acte;
|
||||
|
||||
$tabRet[]=array( 'siren' => $siren,
|
||||
@ -2632,9 +2633,9 @@ function getListesProcolVentes() {
|
||||
Referer[http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=5]
|
||||
Cookie[webabacus_id=1259143571392-1; JSESSIONID=5g2VLTDbHFBLJVnPv9TVbNYm17w9KfL90pvPLtdtTj6qydH2D120!1981381761!1657286441]
|
||||
Données POST:
|
||||
|
||||
|
||||
|
||||
2 GET
|
||||
2 GET
|
||||
3 GET http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?page=2
|
||||
Referer[http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do]
|
||||
Cookie[webabacus_id=1259143571392-1; JSESSIONID=5g2VLTDbHFBLJVnPv9TVbNYm17w9KfL90pvPLtdtTj6qydH2D120!1981381761!1657286441]
|
||||
@ -2650,7 +2651,7 @@ function getListesProcolVentes() {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=1';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false);
|
||||
$this->body=$page['body'];
|
||||
@ -2662,8 +2663,8 @@ function getListesProcolVentes() {
|
||||
//$this->cookie=$page['header']['Set-Cookie'];*/
|
||||
$this->referer=$url;
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
die();
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do';
|
||||
$postData=array( 'radImmatRad'=>'FN',
|
||||
'departement'=>'',
|
||||
@ -2684,17 +2685,17 @@ function getListesProcolVentes() {
|
||||
$this->referer=$url;
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr');
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?rebuild=true';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr');
|
||||
$this->body=$page['body'];
|
||||
@ -2702,7 +2703,7 @@ function getListesProcolVentes() {
|
||||
$this->header=$page['header'];
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
|
||||
if ($this->codeRetour==302) {
|
||||
$this->referer=$url;
|
||||
$url='http://www.infogreffe.fr/infogreffe/entrepListe.do?index=rcs';
|
||||
@ -2724,7 +2725,7 @@ function getListesProcolVentes() {
|
||||
$fp=fopen('./infogreffe.log', 'a');
|
||||
fwrite($fp, $this->body);
|
||||
fclose($fp);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2742,10 +2743,10 @@ function getBilansImages($siren, $ref='') {
|
||||
$dom_object = new DomDocument2();
|
||||
$dom_object->loadXML($xml);
|
||||
// create DOMXPath object with our DOMObject
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$result = $xpath->query("//liste_bilan_complet/bilan_complet/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
@ -2760,15 +2761,15 @@ function getBilansImages($siren, $ref='') {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
$title = $xpath->query ('type_comptes', $annonce);
|
||||
$typeCpt=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$title = $xpath->query ('date_cloture', $annonce);
|
||||
$millesime=strtolower(trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('date_cloture_iso', $annonce);
|
||||
$dateClotureIso=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$num_depot=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
@ -2777,7 +2778,7 @@ function getBilansImages($siren, $ref='') {
|
||||
$tabVecteurs=array();
|
||||
$vecteurs = $xpath->query("mode_diffusion/.", $annonce);
|
||||
foreach ($vecteurs as $vecteur) {
|
||||
$title = $xpath->query ("mode[@type='T']", $vecteur);
|
||||
$title = $xpath->query ("mode[@type='T']", $vecteur);
|
||||
if ($title->length==1) //$vecteurT = true;
|
||||
$tabVecteurs[]='T';
|
||||
$title = $xpath->query ("mode[@type='C']", $vecteur);
|
||||
@ -2788,7 +2789,7 @@ function getBilansImages($siren, $ref='') {
|
||||
|
||||
$tabRet[]=array( 'siren' => $siren,
|
||||
'numRC' => $dmil.'-'.$dsta.'-'.$dchr,
|
||||
'numGreffe' => $dgre,
|
||||
'numGreffe' => $dgre,
|
||||
'annee' => $mil,
|
||||
'type' => $typeCpt,
|
||||
'dateClotureAff' => $millesime,
|
||||
@ -2813,9 +2814,9 @@ function getBilansImages($siren, $ref='') {
|
||||
);
|
||||
if (!$iDb->insert('greffes_bilans', $tabInsert))
|
||||
if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes='$typeCpt'"))
|
||||
$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes=''");
|
||||
$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes=''");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::getListeBilans sur $siren", $xml.EOL.print_r($tabRet, true));
|
||||
return $tabRet;
|
||||
@ -2828,15 +2829,15 @@ function getInfosCessions($siren) {
|
||||
$tabCes=$ret[0];
|
||||
if (count($ret)>1)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug getInfosCessions $siren", "Plus de 1 cession pour ce siren");
|
||||
//id, siren, nom, libGreffe, inscrit, etat, dateImmat,
|
||||
//id, siren, nom, libGreffe, inscrit, etat, dateImmat,
|
||||
//pdfLink, pdfSize, pdfVer, pdfPage, ,
|
||||
// dateLimite, mandataire, dateInsert
|
||||
// dateLimite, mandataire, dateInsert
|
||||
return array( 'cessJuge'=> $tabCes['etat'],
|
||||
'cessDateJuge'=>$tabCes['dateJuge'],
|
||||
'cessDateConv'=>$tabCes['dateConv'],
|
||||
'cessDateLJS'=> $tabCes['dateLJS'],
|
||||
'cessDateInv'=> $tabCes['dateInventaire'],
|
||||
'cessDateBod'=> $tabCes['dateBodacc'],
|
||||
'cessDateBod'=> $tabCes['dateBodacc'],
|
||||
'cessCAdec'=> $tabCes['caDeclare'],
|
||||
'cessEffectif'=>$tabCes['effectif'],
|
||||
'cessDesc'=> $tabCes['descriptif'],
|
||||
@ -2862,7 +2863,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/newRechercheEntreprise.xml';
|
||||
$postData=array( 'denomination'=>'',
|
||||
'commune'=>'',
|
||||
@ -2878,13 +2879,13 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
/*
|
||||
* Déprécié le 6 octobre 2010
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
@ -2914,7 +2915,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=1';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
@ -2925,7 +2926,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=5';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
@ -2936,7 +2937,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(2);
|
||||
|
||||
|
||||
// Premier POST pour obtenir la liste des RJ ou LJ à céder !
|
||||
$url='http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do';
|
||||
$postData=array('radImmatRad'=>'FN',
|
||||
@ -2957,7 +2958,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
*8 Plus de 500M euros
|
||||
*/
|
||||
);
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -2969,7 +2970,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
$nbCessions=trim($matches[1]);
|
||||
$nbPages=ceil($nbCessions/10);
|
||||
sleep(1);
|
||||
|
||||
|
||||
/** Liste des entreprises **/
|
||||
$tabCessions=array();
|
||||
$nbInsert=$nbDeja=0;
|
||||
@ -2978,8 +2979,8 @@ function getListeCessions($typeProcedure='rj') {
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?rebuild=true';
|
||||
else
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?page='.$iPage;
|
||||
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -2987,7 +2988,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$tabStrCessions=explode('<td class="titre" style="vertical-align:top;font-weight:normal">',$this->body);
|
||||
foreach($tabStrCessions as $k=>$strCession) {
|
||||
if($k==0) continue;
|
||||
@ -3018,11 +3019,11 @@ function getListeCessions($typeProcedure='rj') {
|
||||
//@$k2++;
|
||||
$urlPre=$url;
|
||||
$nomPdf=$page['header']['Location'];
|
||||
//echo "Redirection #$k2 : ".$page['header']['Location'].EOL;
|
||||
//echo "Redirection #$k2 : ".$page['header']['Location'].EOL;
|
||||
$page=getUrl($page['header']['Location'], $this->cookie, '', $urlPre, false);//, 'www.infogreffe.fr', false, '', '', 21);
|
||||
}
|
||||
$strPdf=$page['body'];
|
||||
$pdfSizeIn=$page['header']['Content-Length'];
|
||||
$pdfSizeIn=$page['header']['Content-Length'];
|
||||
$tabInfo['pdfLink']=$nomPdf;
|
||||
/*
|
||||
$tabPdf=getPdfInfo($repPdfGreffesCessions.'/'.basename($nomPdf));
|
||||
@ -3066,7 +3067,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
return array( 'insert'=>$nbInsert,
|
||||
'update'=>$nbDeja);//$tabCessions;
|
||||
// echo "$nbCessions cessions sur $nbPages pages".EOL;
|
||||
// echo "$nbCessions cessions sur $nbPages pages".EOL;
|
||||
// die();
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,11 @@
|
||||
|
||||
class MLiens {
|
||||
|
||||
public $siren=0;
|
||||
|
||||
public $siren=0;
|
||||
private $iDb;
|
||||
private $iInsee;
|
||||
public $tabSirenVisites;
|
||||
|
||||
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
|
||||
|
||||
private static $tabFct=array( 'ADM'=>'Administrateur',
|
||||
@ -32,6 +35,8 @@ class MLiens {
|
||||
|
||||
public function __construct($siren) {
|
||||
$this->siren=$siren;
|
||||
$this->iDb=new WDB();
|
||||
$this->iInsee=new MInsee();
|
||||
}
|
||||
|
||||
/** Retourne les actionnaires du siren
|
||||
@ -40,18 +45,17 @@ class MLiens {
|
||||
**/
|
||||
public function getActionnaires($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$iInsee=new MInsee();
|
||||
$iDb=new WDB();
|
||||
$tabIdentite=$iInsee->getIdentiteLight($siren);
|
||||
$tabIdentite=$this->iInsee->getIdentiteLight($siren);
|
||||
//echo $siren;
|
||||
//print_r($tabIdentite);
|
||||
$nic=$tabIdentite['Nic'];
|
||||
$tab=$iDb->select('liens',
|
||||
$tab=$this->iDb->select('liens',
|
||||
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, actif, source, dateLien*1 AS dateLien, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
|
||||
"Siren1='$siren' AND ActionPart=1 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC);
|
||||
//$tabActiDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='AC' ORDER BY PourcentageDetenu DESC");
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug $siren ($actifsUniquement)", print_r($tab,true)) ;
|
||||
$sourcePre=$unique=false;
|
||||
$pctTot=0;
|
||||
$tabRet=array();
|
||||
foreach ($tab as $i=>$lien) {
|
||||
if ($lien['source']>=1700) $source=1700;
|
||||
@ -70,7 +74,7 @@ class MLiens {
|
||||
$codPays=strtoupper($lien['Pays']);
|
||||
$libPays='';
|
||||
if ($codPays<>'' && $codPays<>'FRA') {
|
||||
$tmp=$iDb->select('tabPays', 'libPays', "codPays3='$codPays'", true, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('tabPays', 'libPays', "codPays3='$codPays'", true, MYSQL_ASSOC);
|
||||
$libPays=$tmp[0]['libPays'];
|
||||
}
|
||||
if ($lien['MajMin']=='F') $majMin='A';
|
||||
@ -86,10 +90,15 @@ class MLiens {
|
||||
break;
|
||||
}
|
||||
$dateMaj=$lien['dateLien'];
|
||||
$pctLien=$lien['Pmin']*1;
|
||||
$pctTot+=$pctLien;
|
||||
// On évite d'afficher des totaux de détention > à 100%
|
||||
if($pctTot>100) $pctLien=0;
|
||||
|
||||
if ($lien['dateInsert']>$dateMaj) $dateMaj=$lien['dateInsert'];
|
||||
if ($lien['dateUpdate']>$dateMaj) $dateMaj=$lien['dateUpdate'];
|
||||
$tabRet[]=array( 'Pmin' => number_format($lien['Pmin']*1,2,',',''),
|
||||
'PminNum' => $lien['Pmin']*1,
|
||||
$tabRet[]=array( 'Pmin' => number_format($pctLien,2,',',''),
|
||||
'PminNum' => $pctLien,
|
||||
'MajMin' => $majMin,
|
||||
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
|
||||
'Pays' => $libPays,
|
||||
@ -102,7 +111,7 @@ class MLiens {
|
||||
}
|
||||
$sourcePre=$source;
|
||||
}
|
||||
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
switch ($tabIdentite['FJ']*1) {
|
||||
case 7112: // Autorité administrative indépendante
|
||||
@ -112,7 +121,7 @@ class MLiens {
|
||||
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
|
||||
case 7381: // Organisme consulaire
|
||||
/** Ces établissements sont dans le fichier des tribunaux **/
|
||||
$tmp=$iDb->select('tribunaux', 'triSiret, triNom, dateUpdate', "triId=(SELECT triIdSup FROM tribunaux WHERE triSiret LIKE '$siren%' LIMIT 1)", true, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('tribunaux', 'triSiret, triNom, dateUpdate', "triId=(SELECT triIdSup FROM tribunaux WHERE triSiret LIKE '$siren%' LIMIT 1)", true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
//$sirenCC=substr(,0,9);
|
||||
//if ($siren*1<>$sirenCC*1)
|
||||
@ -204,7 +213,7 @@ class MLiens {
|
||||
else
|
||||
$strCodeInsee="codeInsee IN ('2A$comm','2B$comm','20$comm') ";
|
||||
|
||||
$tmp=$iDb->select('insee.insee_tabVillesEpci', 'typEPCI, codEPCI, libEPCI, libCommune', $strCodeInsee, true, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('insee.insee_tabVillesEpci', 'typEPCI, codEPCI, libEPCI, libCommune', $strCodeInsee, true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
switch($tabCC['typEPCI']) {
|
||||
case 'CA': $typeCC="Communauté d'agglomérations"; break; // CJ=7348
|
||||
@ -233,7 +242,7 @@ class MLiens {
|
||||
$dept=substr($siren,2,2);
|
||||
if ($dept*1>95)
|
||||
$dept=substr($siren,2,3);
|
||||
$tmp=$iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
$tmp=$this->iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
'd.codeRegionInsee, r.REGION, r.CHEFLIEU, r.NC',
|
||||
"numdep='$dept' AND d.codeRegionInsee=r.REGION", true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
@ -246,8 +255,8 @@ class MLiens {
|
||||
// 23 350 00 16 => Bon
|
||||
// 23 350 00 00 => Mauvais
|
||||
$sirenCom='23'.$dept3.'00'.$iSir2;
|
||||
if ($iInsee->valideSiren($sirenCom)) {
|
||||
if ($iInsee->sirenExiste($sirenCom)) {
|
||||
if ($this->iInsee->valideSiren($sirenCom)) {
|
||||
if ($this->iInsee->sirenExiste($sirenCom)) {
|
||||
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement) $sirenCom existe !", '') ;
|
||||
break;
|
||||
}
|
||||
@ -274,7 +283,7 @@ class MLiens {
|
||||
else $strFonctions='';
|
||||
$adresse=end(explode(' ', $tabIdentite['AdresseVoie']));
|
||||
$codePostal=$tabIdentite['CP'];
|
||||
$tab=$iDb->select('rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf, dateInsert, dateUpdate',
|
||||
$tab=$this->iDb->select('rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf, dateInsert, dateUpdate',
|
||||
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
|
||||
$majMin='+';
|
||||
if (count($tab)>1) $majMin='-';
|
||||
@ -286,7 +295,7 @@ class MLiens {
|
||||
$nbRep=$maxRep=200;
|
||||
$pertinence=$avecSiren=true;
|
||||
|
||||
$etabs=$iInsee->rechercheEtab($lien['nom'].' '.$lien['prenom'], $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
$etabs=$this->iInsee->rechercheEtab($lien['nom'].' '.$lien['prenom'], $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
$tabSiren=array();
|
||||
foreach ($etabs['reponses'] as $etab) {
|
||||
$tabTmp=preg_split('/( +|\/|\*)/', $etab['Nom']);
|
||||
@ -296,22 +305,6 @@ class MLiens {
|
||||
if ($etab['FJ']==1800 && $rsEtab==$rsLien)
|
||||
$tabSiren[]=$etab['Siren'];
|
||||
}
|
||||
/*
|
||||
'Nom'=>prepareString(strtr($etab['Nom'],'/*',' ')),
|
||||
'Nom2'=>prepareString($etab['Nom2']),
|
||||
'Sigle'=>prepareString($etab['Sigle']),
|
||||
'Enseigne'=>prepareString($etab['Enseigne']),
|
||||
'Adresse'=>prepareString($etab['Adresse']),
|
||||
'CP'=>$etab['CP'],
|
||||
'Ville'=>prepareString($etab['Ville']),
|
||||
'Tel'=>$etab['Tel'],
|
||||
'Fax'=>$etab['Fax'],
|
||||
'Nic'=>$etab['Nic'],
|
||||
'Actif'=>$etab['Actif'],
|
||||
'NafEtab'=>$etab['NafEtab'], // Etablissement
|
||||
'NafEtabLib'=>prepareString($etab['NafEtabLib']),
|
||||
'NafEnt'=>$etab['NafEnt'], // Entreprise
|
||||
'NafEntLib'=>prepareString($etab['NafEntLib']),*/
|
||||
$tabSiren2=array_unique($tabSiren);
|
||||
if (count($tabSiren2==1)) $siren2=end($tabSiren2);
|
||||
else $siren2=$lien['dirSiren'];
|
||||
@ -338,11 +331,11 @@ class MLiens {
|
||||
$nom=$pays=$dateMAJ='';
|
||||
$ppPm='P';
|
||||
$pct=0;
|
||||
$entrep2=$iInsee->getIdentiteLight($siren);
|
||||
$entrep2=$this->iInsee->getIdentiteLight($siren);
|
||||
$nom2=$entrep2['Nom'];
|
||||
$pays2='FRA';
|
||||
if (substr($entrep2['FJ'],0,1)*1<>1) $ppPm='M';
|
||||
$entrep=$iInsee->getIdentiteLight($siren2);
|
||||
$entrep=$this->iInsee->getIdentiteLight($siren2);
|
||||
$nom=strtr($entrep['Nom'],'/*',' ');
|
||||
$pays='FRA';
|
||||
$tabUpdate=array( 'Pmin'=> $pct,
|
||||
@ -360,12 +353,12 @@ class MLiens {
|
||||
'actif'=> 1,
|
||||
'source'=> 1600,
|
||||
'dateInsert'=> date('YmdHis')));
|
||||
$res=$iDb->select('liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
|
||||
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
|
||||
if ($res[0][0]>0) {
|
||||
if (!$iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
|
||||
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
|
||||
$errMaj=1016166;
|
||||
} else {
|
||||
if (!$iDb->insert('liens', $tabInsert1, true))
|
||||
if (!$this->iDb->insert('liens', $tabInsert1, true))
|
||||
$errMaj=1016167;
|
||||
}
|
||||
|
||||
@ -378,19 +371,19 @@ class MLiens {
|
||||
'actif'=> 1,
|
||||
'source'=> 1600,
|
||||
'dateInsert'=> date('YmdHis')));
|
||||
$res=$iDb->select('liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
|
||||
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
|
||||
if ($res[0][0]>0) {
|
||||
if (!$iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
|
||||
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
|
||||
$errMaj=1016168;
|
||||
} else {
|
||||
if (!$iDb->insert('liens', $tabInsert2, true))
|
||||
if (!$this->iDb->insert('liens', $tabInsert2, true))
|
||||
$errMaj=1016169;
|
||||
}
|
||||
|
||||
/** Insertion du dirigeant pour l'actionnaire en base **/
|
||||
$dirs=$iDb->select('rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
|
||||
$dirs=$this->iDb->select('rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
|
||||
if (count($dirs)==0) {
|
||||
$iDb->insert('rncs_dirigeants', array( 'siren' => $siren2,
|
||||
$this->iDb->insert('rncs_dirigeants', array( 'siren' => $siren2,
|
||||
'raisonSociale' => $nom,
|
||||
'civilite' => $lien['civilite'],
|
||||
'typeDir' => $lien['typeDir'],
|
||||
@ -416,7 +409,7 @@ class MLiens {
|
||||
}
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
$tabNotice=$iInsee->getInfosNotice($siren, $nic);
|
||||
$tabNotice=$this->iInsee->getInfosNotice($siren, $nic);
|
||||
if ($tabNotice['insRECME']*1>0) {
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
@ -441,9 +434,10 @@ class MLiens {
|
||||
**/
|
||||
public function getParticipations($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$iDb=new WDB();
|
||||
$tab=$iDb->select('liens LEFT JOIN tabPays ON codPays3=Pays', 'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, libPays, actif, source', "Siren1='$siren' AND ActionPart=2 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
|
||||
// $tabPartDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='PA' ORDER BY PourcentageDetenu DESC");
|
||||
$tab=$this->iDb->select(
|
||||
'liens l LEFT JOIN tabPays ON codPays3=Pays',
|
||||
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, libPays, actif, source, dateLien*1 AS dateLien, DATE(l.dateInsert)*1 AS dateInsert, DATE(l.dateUpdate)*1 AS dateUpdate',
|
||||
"Siren1='$siren' AND ActionPart=2 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
|
||||
$tabRet=array();
|
||||
$sourcePre=false;
|
||||
foreach ($tab as $i=>$lien) {
|
||||
@ -475,8 +469,7 @@ class MLiens {
|
||||
}
|
||||
|
||||
// if (count($tabRet)==0) {
|
||||
$iInsee=new MInsee();
|
||||
$tabTmp=$iInsee->getIdentiteLight($siren);
|
||||
$tabTmp=$this->iInsee->getIdentiteLight($siren);
|
||||
switch ($tabTmp['FJ']*1) {
|
||||
case 7112: // Autorité administrative indépendante
|
||||
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
|
||||
@ -485,7 +478,7 @@ class MLiens {
|
||||
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
|
||||
case 7381: // Organisme consulaire
|
||||
/** Ces établissements sont dans le fichier des tribunaux **/
|
||||
$tmp=$iDb->select('tribunaux t1', 't1.triSiret, t1.triNom', "t1.triIdSup=(SELECT t2.triId FROM tribunaux t2 WHERE t2.triSiret LIKE '$siren%' AND t2.triId<>t1.triId LIMIT 1)", true, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('tribunaux t1', 't1.triSiret, t1.triNom', "t1.triIdSup=(SELECT t2.triId FROM tribunaux t2 WHERE t2.triSiret LIKE '$siren%' AND t2.triId<>t1.triId LIMIT 1)", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCC) {
|
||||
// $sirenCC=substr($tabCC['triSiret'],0,9);
|
||||
if ($tabCC['triSiret']*1<>0) //$siren*1<>$sirenCC*1)
|
||||
@ -507,7 +500,7 @@ class MLiens {
|
||||
//case 'CC': $typeCC="Communauté de communes"; break; // CJ=73
|
||||
//case 'CU': $typeCC="Communauté urbaine"; break; // CJ=73
|
||||
//case 'SAN': $typeCC="Syndicat d'agglomérations nouvelles"; break; // CJ=73
|
||||
$tmp=$iDb->select('insee.insee_tabVillesEpci', 'typEPCI, libEPCI, codeInsee, libCommune', "codEPCI='$siren'", true, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('insee.insee_tabVillesEpci', 'typEPCI, libEPCI, codeInsee, libCommune', "codEPCI='$siren'", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCom) {
|
||||
$dept=substr($tabCom['codeInsee'],0,2);
|
||||
if ($dept=='2A' || $dept=='2B' || $dept=='20')
|
||||
@ -519,7 +512,7 @@ class MLiens {
|
||||
$comm=substr($tabCom['codeInsee'],2,3);
|
||||
for ($iSir=0; $iSir<10; $iSir++) {
|
||||
$sirenCom='21'.$dept.$comm.$iSir;
|
||||
if ($iInsee->valideSiren($sirenCom)) break;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) break;
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
@ -547,7 +540,7 @@ class MLiens {
|
||||
$deptD=$dept.'00';
|
||||
$deptF=$dept.'99';
|
||||
}
|
||||
$tmp=$iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
$tmp=$this->iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
'd.numDep, d.libdep, d.codeRegionInsee, r.REGION, r.CHEFLIEU, r.NC',
|
||||
"r.CHEFLIEU BETWEEN '$deptD' AND '$deptF' AND d.codeRegionInsee=r.REGION", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCom) {
|
||||
@ -556,7 +549,7 @@ class MLiens {
|
||||
else $dept3=$dept.'0';
|
||||
for ($iSir=0; $iSir<10; $iSir++) {
|
||||
$sirenCom='22'.$dept3.'001'.$iSir;
|
||||
if ($iInsee->valideSiren($sirenCom)) break;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) break;
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
@ -573,6 +566,7 @@ class MLiens {
|
||||
break;
|
||||
}
|
||||
// }
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Liens $siren", print_r($tabRet,true)) ;
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
@ -586,22 +580,22 @@ class MLiens {
|
||||
|
||||
|
||||
public function getMaisonMereFr($siren, $debug=false, $tabSirenVisites=array()) {
|
||||
$tabSirenVisites[]=$siren;
|
||||
$this->tabSirenVisites=$tabSirenVisites;
|
||||
$this->tabSirenVisites[]=$siren;
|
||||
$tabA=$this->getActionnaires($siren, true);
|
||||
$majTrouve=false;
|
||||
$iInsee=new MInsee();
|
||||
foreach ($tabA as $i=>$lien) {
|
||||
$sirenMere=$lien['Siren'];
|
||||
// Afin de ne pas boucler à l'infini si le siren est déjà dans la sructure !
|
||||
//echo "je cherche $sirenMere dans ";
|
||||
//print_r($tabSirenVisites);
|
||||
if (in_array($sirenMere, $tabSirenVisites)) {
|
||||
if (in_array($sirenMere, $this->tabSirenVisites)) {
|
||||
//echo "TROUVE !!!".EOL;
|
||||
continue;
|
||||
}// else
|
||||
//echo "inconnu".EOL;
|
||||
|
||||
if ($debug && $sirenMere>1000) $tabIdentiteA=$iInsee->getIdentiteLight($sirenMere);
|
||||
if ($debug && $sirenMere>1000) $tabIdentiteA=$this->iInsee->getIdentiteLight($sirenMere);
|
||||
else $tabIdentiteA['Nom']='';
|
||||
if ($siren*1==$sirenMere*1) {
|
||||
if ($debug) echo "D. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
|
||||
@ -610,12 +604,12 @@ class MLiens {
|
||||
elseif($sirenMere>100 && $lien['PminNum']>50) {
|
||||
if ($debug) echo "A. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
|
||||
$majTrouve=true;
|
||||
return $this->getMaisonMereFr($sirenMere, $debug, $tabSirenVisites);
|
||||
return $this->getMaisonMereFr($sirenMere, $debug, $this->tabSirenVisites);
|
||||
}
|
||||
elseif($sirenMere>100 && $lien['MajMin']=='+' && !$majTrouve) {
|
||||
if ($debug) echo "B. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
|
||||
$majTrouve=true;
|
||||
return $this->getMaisonMereFr($sirenMere, $debug, $tabSirenVisites);
|
||||
return $this->getMaisonMereFr($sirenMere, $debug, $this->tabSirenVisites);
|
||||
}
|
||||
elseif ($sirenMere<100) {
|
||||
if ($debug) echo "C. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
|
||||
@ -632,13 +626,11 @@ class MLiens {
|
||||
|
||||
public function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true) {
|
||||
$appel++;
|
||||
//echo "0, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren DEBUT".EOL;
|
||||
$tabP=$this->getParticipations($siren, $actifsUniquement);
|
||||
$iInsee=new MInsee();
|
||||
foreach ($tabP as $i=>$lien) {
|
||||
$sirenFille=$lien['Siren']*1;
|
||||
if ($sirenFille>1000) {
|
||||
$tabIdentiteP=$iInsee->getIdentiteLight($sirenFille);
|
||||
$tabIdentiteP=$this->iInsee->getIdentiteLight($sirenFille);
|
||||
$nomP=$tabIdentiteP['Nom'];
|
||||
} else {
|
||||
$nomP=$lien['RaisonSociale'];
|
||||
@ -648,7 +640,8 @@ class MLiens {
|
||||
if ($codPays<>'' && $codPays<>'France')
|
||||
$libPays=" ($codPays)";
|
||||
|
||||
for($j=0;$j<=$appel; $j++) echo "|\t";
|
||||
for($j=0;$j<$appel; $j++) echo "|\t";
|
||||
|
||||
if ($lien['PminNum']>0)
|
||||
$pct=$lien['PminNum'].'%';
|
||||
elseif ($lien['MajMin']=='+')
|
||||
@ -659,69 +652,35 @@ class MLiens {
|
||||
$pct=$lien['MajMin'];
|
||||
|
||||
echo "+ $sirenFille ($pct) : ".$nomP.$libPays;
|
||||
/*
|
||||
echo "$sirenFille>100".EOL;
|
||||
echo $lien['PminNum'].">=".$pctMin.EOL;
|
||||
echo $lien['MajMin']."==+".EOL;
|
||||
echo "$niveauCour<=$nbNiveau";
|
||||
*/
|
||||
|
||||
if ($siren*1==$sirenFille*1) {
|
||||
echo "[D]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
echo "[D]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
elseif($sirenFille>100 && ($lien['PminNum']>=$pctMin || $lien['MajMin']=='+') && $niveauCour<=$nbNiveaux) {
|
||||
$tabSiren[]=$siren;
|
||||
$niveauCour++;
|
||||
if (in_array($sirenFille,$tabSiren))
|
||||
echo "[Adeja]".EOL;//echo ", $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
echo "[Adeja]".EOL;
|
||||
else {
|
||||
echo "[A]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement);
|
||||
echo "[A]".EOL;
|
||||
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement, $format);
|
||||
}
|
||||
}
|
||||
elseif($sirenFille>100 && ($lien['PminNum']<$pctMin || $lien['MajMin']=='-')) {
|
||||
echo "[B]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
echo "[B]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
//$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $tabSiren);
|
||||
}
|
||||
elseif ($sirenFille<100) {
|
||||
echo "[C]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
echo "[C]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
//return $tabSiren;
|
||||
}
|
||||
else {
|
||||
echo "[E]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
//$tabSiren=array_merge(array($siren), $tabSiren);
|
||||
echo "[E]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
//return $tabSiren;
|
||||
//die("Cas pas prévue $siren, $sirenFille, ".$lien['Pmin'].', '.$lien['MajMin'].EOL);
|
||||
}
|
||||
}
|
||||
/*
|
||||
foreach ($tabP as $i=>$lien) {
|
||||
$sirenFille=$lien['Siren'];
|
||||
// $tabIdentiteP=$iInsee->getIdentiteLight($sirenFille);
|
||||
//for($j=1;$j<=$niveauCour; $j++) echo "|\t";
|
||||
// echo "+ $sirenFille (". $lien['PminNum']."%) : ".$tabIdentiteP['Nom'];
|
||||
/*
|
||||
echo "$sirenFille>100".EOL;
|
||||
echo $lien['PminNum'].">=".$pctMin.EOL;
|
||||
echo $lien['MajMin']."==+".EOL;
|
||||
echo "$niveauCour<=$nbNiveau";
|
||||
*
|
||||
if($sirenFille>100 && ($lien['PminNum']>=$pctMin || $lien['MajMin']=='+') && $niveauCour<=$nbNiveaux) {
|
||||
$tabSiren[]=$siren;
|
||||
$niveauCour++;
|
||||
if (!in_array($sirenFille,$tabSiren)) {
|
||||
//echo "[A]".EOL;//, $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren détient à ".$lien['Pmin']." (".$lien['MajMin'].") : ".$tabIdentiteP['Nom']." ($sirenFille)".EOL;
|
||||
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
//echo 'Fin Normale'.EOL;
|
||||
//echo "[F], $sirenIni, $sirenMere, $appel, $niveauCour/$nbNiveaux, $siren FIN".EOL;
|
||||
|
||||
|
||||
return array_unique($tabSiren);
|
||||
}
|
||||
|
||||
@ -751,6 +710,111 @@ class MLiens {
|
||||
);
|
||||
return rechercheAct($formR, $deb, $nbRep, $maxRep);
|
||||
}
|
||||
|
||||
/** Retourne les informations relatives au groupe du siren donné
|
||||
** @param string $siren Siren de l'entreprise
|
||||
**/
|
||||
public function getInfoGroupe($siren) {
|
||||
if ($siren<1000) return false;
|
||||
$tmp=$this->iDb->select('etablissements_act',
|
||||
'raisonSociale, enseigne, sigle, identite_pre, adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com, tel, fax, siren, sirenGrp',
|
||||
"siren=(SELECT sirenGrp FROM etablissements_act WHERE siren=$siren AND siege=1) LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$tabEnt=$tmp[0];
|
||||
$sirenGrp=$tabEnt['siren'];
|
||||
//print_r($tabEnt);
|
||||
if ($sirenGrp<1000) return false;
|
||||
/** Table des Nafs5 => Secteurs **/
|
||||
$tmp=$this->iDb->select('tabNaf5', 'codNaf2, codNaf1', '1 GROUP BY codNAf2', false, MYSQL_ASSOC);
|
||||
$tabNAf2=array();
|
||||
foreach ($tmp as $tmp2) {
|
||||
$tabNAf2[$tmp2['codNaf2']]=$tmp2['codNaf1'];
|
||||
}
|
||||
|
||||
$tabNaf2Lib=array( 'A'=>'Agriculture, sylviculture et pêche',
|
||||
'B'=>'Industries extractives',
|
||||
'C'=>'Industrie manufacturière',
|
||||
'D'=>'Production et distribution d\'électricité, de gaz, de vapeur et d\'air conditionné',
|
||||
'E'=>'Production et distribution d\'eau ; assainissement, gestion des déchets et dépollution',
|
||||
'F'=>'Construction',
|
||||
'G'=>'Commerce ; réparation d\'automobiles et de motocycles',
|
||||
'H'=>'Transports et entreposage',
|
||||
'I'=>'Hébergement et restauration',
|
||||
'J'=>'Information et communication',
|
||||
'K'=>'Activités financières et d\'assurance',
|
||||
'L'=>'Activités immobilières',
|
||||
'M'=>'Activités spécialisées, scientifiques et techniques',
|
||||
'N'=>'Activités de services administratifs et de soutien',
|
||||
'O'=>'Administration publique',
|
||||
'P'=>'Enseignement',
|
||||
'Q'=>'Santé humaine et action sociale',
|
||||
'R'=>'Arts, spectacles et activités récréatives',
|
||||
'S'=>'Autres activités de services',
|
||||
'T'=>'Activités des ménages en tant qu\'employeurs ; activités indifférenciées des ménages en tant que producteurs de biens et services pour usage propre',
|
||||
'U'=>'Activités extra-territoriales',
|
||||
);
|
||||
|
||||
$tabRet=array( 'grpNom' => $tabEnt['raisonSociale'],
|
||||
'grpEnseigne' => $tabEnt['enseigne'],
|
||||
'grpSigle' => $tabEnt['sigle'],
|
||||
//'grpEnseigne' => $tabEnt['identite_pre'],
|
||||
'grpAdrNum' => $tabEnt['adr_num'],
|
||||
'grpAdrBtq' => $tabEnt['adr_btq'],
|
||||
'grpAdrTypeVoie'=> $tabEnt['adr_typeVoie'],
|
||||
'grpadrLibVoie' => $tabEnt['adr_libVoie'],
|
||||
'grpAdrComp' => $tabEnt['adr_comp'],
|
||||
'grpAdrCP' => $tabEnt['adr_cp'],
|
||||
'grpAdrVille' => $tabEnt['adr_ville'],
|
||||
'grpAdrDep' => $tabEnt['adr_dep'],
|
||||
'grpAdrCom' => $tabEnt['adr_com'],
|
||||
'grpTel' => $tabEnt['tel'],
|
||||
'grpFax' => $tabEnt['fax'],
|
||||
'grpSiren' => $tabEnt['siren'],
|
||||
//'grpSirenGrp' => $tabEnt['sirenGrp'],
|
||||
);
|
||||
$tmp=$this->iDb->select('etablissements_act',
|
||||
'eff_entrep, dateCrea_ent AS dateCrea, dateImmat*1 AS dateImmat, bilFK, bilFL, ape_entrep, avisCs',
|
||||
"sirenGrp=$sirenGrp AND siege=1", false, MYSQL_ASSOC);
|
||||
$grpNbEnt=$grpEffectif=$grpCAExp=$grpCA=0;
|
||||
$grpDateCrea=$grpDateImmat=date('Ymd');
|
||||
foreach ($tmp as $tabEnt) {
|
||||
$grpNbEnt++;
|
||||
$grpEffectif+=$tabEnt['eff_entrep'];
|
||||
if ($grpDateCrea>$tabEnt['dateCrea'] && $tabEnt['dateCrea']>=19000101) $grpDateCrea=$tabEnt['dateCrea'];
|
||||
if ($grpDateImmat>$tabEnt['dateImmat'] && $tabEnt['dateImmat']>=19000101) $grpDateImmat=$tabEnt['dateImmat'];
|
||||
$grpCAExp+=$tabEnt['bilFK'];
|
||||
$grpCA+=$tabEnt['bilFL'];
|
||||
/* @$tabApe5[''.$tabEnt['ape_entrep']]['nb']++;
|
||||
@$tabApe5[''.$tabEnt['ape_entrep']]['ca']+=$tabEnt['bilFL'];
|
||||
@$tabApe5[''.$tabEnt['ape_entrep']]['eff']+=$tabEnt['eff_entrep'];*/
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['nb']++;
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['ca']+=$tabEnt['bilFL'];
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['eff']+=$tabEnt['eff_entrep'];
|
||||
|
||||
@$tabAvis[$tabEnt['avisCs']]++;
|
||||
}
|
||||
foreach ($tabSecteur as $secteur=>$tmp) {
|
||||
$tabSecteur2[$secteur]['activite']=$tabNaf2Lib[$secteur];
|
||||
$tabSecteur2[$secteur]['nb']=$tmp['nb'];
|
||||
$tabSecteur2[$secteur]['nb_tx']=round($tmp['nb']*100/$grpNbEnt,2);
|
||||
$tabSecteur2[$secteur]['ca']=$tmp['ca'];
|
||||
$tabSecteur2[$secteur]['ca_tx']=round($tmp['ca']*100/$grpCA,2);
|
||||
$tabSecteur2[$secteur]['eff']=$tmp['eff'];
|
||||
$tabSecteur2[$secteur]['eff_tx']=round($tmp['eff']*100/$grpEffectif,2);
|
||||
}
|
||||
$tabRet['grpNbEntrep']=$grpNbEnt;
|
||||
$tabRet['grpEffectif']=$grpEffectif;
|
||||
if ($grpDateCrea<$grpDateImmat)
|
||||
$tabRet['grpAnneCreation']=substr($grpDateCrea,0,4);
|
||||
else
|
||||
$tabRet['grpAnneCreation']=substr($grpDateImmat,0,4);
|
||||
$tabRet['grpCAExport']=$grpCAExp;
|
||||
$tabRet['grpCA']=$grpCA;
|
||||
if ($grpCA>=500000000) $tabRet['grpGrandGroupeFr']=1; else $tabRet['grpGrandGroupeFr']=0;
|
||||
// $tabRet['ape5']=$tabApe5;
|
||||
$tabRet['secteur']=$tabSecteur2;
|
||||
//$tabRet['avisCs']=$tabAvis;
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -10,6 +10,7 @@ class MQualibat {
|
||||
private $accesDist=true;
|
||||
private $iDb;
|
||||
private $iBodacc;
|
||||
private $iInsee;
|
||||
|
||||
public $enCache=false;
|
||||
public $force=false;
|
||||
@ -19,6 +20,7 @@ class MQualibat {
|
||||
$this->accesDist=$accesDist;
|
||||
$this->iDb=new WDb('sdv1');
|
||||
$this->iBodacc=new MBodacc();
|
||||
$this->$iInsee=new MInsee();
|
||||
}
|
||||
|
||||
private function getCodeFctDirigeant($strLibDirigeant, $siren=0) {
|
||||
@ -39,12 +41,11 @@ class MQualibat {
|
||||
elseif (preg_match("/resp.{1,16}Expl/i")) return 37;
|
||||
elseif (preg_match("/di.{1,16}Expl/i")) return 7;
|
||||
elseif (preg_match("/Chef.{1,6}Ent/i")) {
|
||||
$iInsee=new MInsee();
|
||||
$tabTmp=$iInsee->getIdentiteLight($siren);
|
||||
$tabTmp=$this->iInsee->getIdentiteLight($siren);
|
||||
if ($tabTmp['FJ']>=1000 && $tabTmp['FJ']<2000) return 1050;
|
||||
else die($tabTmp);
|
||||
}
|
||||
else return false;
|
||||
else return false;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -96,7 +97,7 @@ class MQualibat {
|
||||
"1","ReprÉsentant SociÉtÉ PrÉsidente"
|
||||
"1","Vice-président"
|
||||
|
||||
Gérer en fonction du code CJ
|
||||
Gérer en fonction du code CJ
|
||||
"128","Chef D'entreprise"
|
||||
"2","Chef Ent."
|
||||
"3","Chef Entr."
|
||||
@ -129,7 +130,7 @@ Gérer en fonction du code CJ
|
||||
|
||||
return array_diff($tabQualibatCalc, $tabQualibatBase);
|
||||
}
|
||||
|
||||
|
||||
public function getInfosQualibat($siren, $idQualibat=0) {
|
||||
if ($siren*1>1000)
|
||||
$strWhere="siren=$siren";
|
||||
@ -268,7 +269,7 @@ Gérer en fonction du code CJ
|
||||
$dirs=trim($matches[1]);
|
||||
/* <tr>
|
||||
<td>
|
||||
Monsieur EPP Olivier
|
||||
Monsieur EPP Olivier
|
||||
</td>
|
||||
<td>
|
||||
Gérant
|
||||
@ -290,7 +291,7 @@ Gérer en fonction du code CJ
|
||||
'nom'=>strtoupper(trim(substr($strNom,$pDeb,65))),
|
||||
'prenom'=>ucwords(strtolower(trim(substr($strNom,$pDeb+66)))),
|
||||
'fonction'=>$libFonction,
|
||||
'fonctionCode'=>$this->getCodeFctDirigeant($libFonction, $siren),
|
||||
'fonctionCode'=>$this->getCodeFctDirigeant($libFonction, $siren),
|
||||
);
|
||||
}
|
||||
//print_r($tabRet['dirigeants']);
|
||||
@ -299,7 +300,7 @@ Gérer en fonction du code CJ
|
||||
|
||||
/** Insertion de l'entreprise
|
||||
**/
|
||||
$tabInsert=array_merge($tabRet,
|
||||
$tabInsert=array_merge($tabRet,
|
||||
array( 'idQualibatAttribue'=>1,
|
||||
'dateInsert'=>date('YmdHis'),
|
||||
'dateDeb'=>@$tabDateAttrib[0],
|
||||
@ -339,4 +340,4 @@ Gérer en fonction du code CJ
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -2,25 +2,6 @@
|
||||
require_once 'Metier/partenaires/classMPrivileges.php';
|
||||
require_once 'Metier/partenaires/classMMarques.php';
|
||||
|
||||
/**
|
||||
* CA Moyen par salarié pour un secteur donné
|
||||
* @param string $naf
|
||||
* @param int $effectif
|
||||
*/
|
||||
function getCAnafEffectif($naf, $effectif=0)
|
||||
{
|
||||
$iDb = new WDB("jo");
|
||||
$tabTmp = $iDb->select('ratios_secteurs', 'id, naf5, annee, SUM(montant), SUM(nombre), SUM(montant)/SUM(nombre) AS moyenne', "naf5='$naf' AND id=267 AND ANNEE>(SELECT MAX(annee) FROM ratios_secteurs WHERE naf5='$naf' AND id=267)-2 GROUP BY id, naf5", true, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) {
|
||||
$caSecteur = round($tabTmp[0]['moyenne']*1000);
|
||||
// Encours moyen secteur * nb salariés
|
||||
if ($effectif>0) return $caSecteur*$effectif;
|
||||
else return $caSecteur;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @param unknown_type $siren
|
||||
@ -2175,8 +2156,8 @@ AltmanCote=$scoreAltmanB".EOL.print_r($tabInfosNotation,true);
|
||||
if ($EFFECTIF>0) $CAESTIME=$caSecteur*$EFFECTIF;
|
||||
else $CAESTIME=$caSecteur;
|
||||
*/
|
||||
$CAESTIME=getCAnafEffectif($naf, $EFFECTIF);
|
||||
|
||||
$CAESTIME=$iInsee->getCAnafEffectif($naf, $EFFECTIF);
|
||||
|
||||
if ($CABILAN>0) $CABIOUES=$CABILAN;
|
||||
else $CABIOUES=$CAESTIME;
|
||||
|
||||
|
@ -5,5 +5,9 @@ defaut = false;
|
||||
|
||||
[0.3]
|
||||
actif = true;
|
||||
defaut = false;
|
||||
|
||||
[0.4]
|
||||
actif = true;
|
||||
defaut = true;
|
||||
|
2
library/WsScore/Entreprise/v0.4/Changelog
Normal file
2
library/WsScore/Entreprise/v0.4/Changelog
Normal file
@ -0,0 +1,2 @@
|
||||
Chiffre d'affaire estimé
|
||||
nomUsage pour getDirigeants
|
66
library/WsScore/Entreprise/v0.4/Entreprise.ini
Normal file
66
library/WsScore/Entreprise/v0.4/Entreprise.ini
Normal file
@ -0,0 +1,66 @@
|
||||
Type[] = "ErrorType"
|
||||
Type[] = "StatusReturn"
|
||||
Type[] = "SearchReturn"
|
||||
Type[] = "SearchEntrepriseReturn"
|
||||
Type[] = "SearchDirReturn"
|
||||
Type[] = "DirigeantsReturn"
|
||||
Type[] = "AnnoncesReturn"
|
||||
Type[] = "InseeReturn"
|
||||
Type[] = "TvaReturn"
|
||||
Type[] = "LiensReturn"
|
||||
Type[] = "InfosRegReturn"
|
||||
Type[] = "ListeBilansReturn"
|
||||
Type[] = "SetSurveillanceReturn"
|
||||
Type[] = "SurveillancesReturn"
|
||||
Type[] = "ListeEtablissementsReturn"
|
||||
Type[] = "RatiosReturn"
|
||||
Type[] = "RechercheAnnonceReturn"
|
||||
Type[] = "Identite"
|
||||
Type[] = "GeoInfos"
|
||||
Type[] = "IdentiteBilan"
|
||||
Type[] = "IdentiteBourse"
|
||||
Type[] = "AutreSiren"
|
||||
Type[] = "EntrepriseCriteres"
|
||||
Type[] = "DirigeantCriteres"
|
||||
Type[] = "EntrepriseItem"
|
||||
Type[] = "EntrepriseDirItem"
|
||||
Type[] = "Etablissement"
|
||||
Type[] = "Dirigeant"
|
||||
Type[] = "Annonce"
|
||||
Type[] = "AnnonceEvenement"
|
||||
Type[] = "Actionnaire"
|
||||
Type[] = "Participation"
|
||||
Type[] = "InseeEven"
|
||||
Type[] = "InfosReg"
|
||||
Type[] = "InfosBourse"
|
||||
Type[] = "ListeBilans"
|
||||
Type[] = "SurveillancesFiltre"
|
||||
Type[] = "Surveillance"
|
||||
Type[] = "Bilan"
|
||||
Type[] = "BilanPoste"
|
||||
Type[] = "RechercheAnnonceCriteres"
|
||||
Type[] = "AnnonceItem"
|
||||
Type[] = "RatiosBilansInfos"
|
||||
Type[] = "RatiosInfos"
|
||||
Type[] = "RatiosSecteur"
|
||||
Type[] = "Ratios"
|
||||
Type[] = "Rapport"
|
||||
Type[] = "Indiscore"
|
||||
Type[] = "Scores"
|
||||
Type[] = "IndiscoreVariables"
|
||||
Type[] = "CA_Y"
|
||||
Type[] = "IndiscoreImportExport"
|
||||
Type[] = "IndiscoreInfosNotations"
|
||||
Type[] = "IndiscorePaiement"
|
||||
Type[] = "IndiscorePaiementDetail"
|
||||
Type[] = "IndiscoreNotesStructure"
|
||||
Type[] = "IndiscoreBilans"
|
||||
Type[] = "AdresseDomEnt"
|
||||
Type[] = "InfosIris"
|
||||
Type[] = "BanquesReturn"
|
||||
Type[] = "Banque"
|
||||
Type[] = "ListeCompetencesReturn"
|
||||
Type[] = "Competence"
|
||||
Type[] = "IdentiteProcol"
|
||||
Type[] = "Organe"
|
||||
Type[] = "AutreSiret"
|
3277
library/WsScore/Entreprise/v0.4/Entreprise.php
Normal file
3277
library/WsScore/Entreprise/v0.4/Entreprise.php
Normal file
File diff suppressed because it is too large
Load Diff
3585
library/WsScore/Entreprise/v0.4/Types.php
Normal file
3585
library/WsScore/Entreprise/v0.4/Types.php
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user