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);
|
||||
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
|
||||
|
||||
preg_match("/(.*)g.rants?(.*)$/i", utf8_decode($ligne), $matches);
|
||||
preg_match("/(.*)g.rants?(.*)$/iu", $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]))
|
||||
|
@ -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));
|
||||
|
@ -1177,10 +1177,12 @@ 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) {
|
||||
@ -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;
|
||||
@ -1814,7 +1815,7 @@ class MGreffes {
|
||||
$adr=htm2txt(trim($matches2[2]));
|
||||
} else
|
||||
$adr=htm2txt(trim($matches[1]));
|
||||
$tabAdr=$iInsee->structureVoie($adr.'.');
|
||||
$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)) {
|
||||
|
@ -3,6 +3,9 @@
|
||||
class MLiens {
|
||||
|
||||
public $siren=0;
|
||||
private $iDb;
|
||||
private $iInsee;
|
||||
public $tabSirenVisites;
|
||||
|
||||
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
|
||||
|
||||
@ -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,
|
||||
@ -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,68 +652,34 @@ 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,8 +41,7 @@ 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);
|
||||
}
|
||||
@ -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,7 +2156,7 @@ 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