Inclusion detection de défaillance
This commit is contained in:
parent
2dc866f460
commit
d575ee9f84
@ -2447,17 +2447,17 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
'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
|
||||
'702A', // Location de logements
|
||||
'702A', // Location de logements
|
||||
'6820A', // Location de logements
|
||||
'6820B', // Location de terrains et d'autres biens immobiliers
|
||||
'551A', // Hôtels touristiques avec restaurant
|
||||
'551A', // Hôtels touristiques avec restaurant
|
||||
'5610A', // Restauration traditionnelle
|
||||
'741J', // Administration d'entreprises
|
||||
'741J', // Administration d'entreprises
|
||||
'7010Z', // Activités des sièges sociaux
|
||||
'552C', // Exploitation de terrains de camping
|
||||
'702C', // Location d'autres biens immobiliers
|
||||
'551C', // Hôtels touristiques sans restaurant
|
||||
'553A', // Restauration de type traditionnel
|
||||
'552C', // Exploitation de terrains de camping
|
||||
'702C', // Location d'autres biens immobiliers
|
||||
'551C', // Hôtels touristiques sans restaurant
|
||||
'553A', // Restauration de type traditionnel
|
||||
);
|
||||
if (in_array($tabInsee['APE_ENT'], $tabNafTourisme)
|
||||
|| in_array($tabInsee['APE_ETAB'], $tabNafTourisme)) {
|
||||
@ -2563,98 +2563,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
));
|
||||
}
|
||||
|
||||
// --- Situation Juridique
|
||||
if (intval($siren) > 100) {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "=== Situation Juridique ===\n");
|
||||
}
|
||||
$tabProcol = $this->getAnnoncesLegales($siren, 0, 'P', false);
|
||||
if (count($tabProcol) > 0) {
|
||||
$tabDates = array();
|
||||
foreach ($tabProcol as $iProcol => $procol) {
|
||||
$tabDates[] = $procol['dateJugement'];
|
||||
}
|
||||
rsort($tabDates);
|
||||
$dateProcol = str_replace('-', '', $tabDates[0])*1;
|
||||
// Plan
|
||||
if ($this->dureePlan > 0 && date('Ymd') < $this->finPlan) {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "Plan (PL) : ".$this->dureePlan."-".$this->finPlan."\n", FILE_APPEND);
|
||||
}
|
||||
$tabRet['SituationJuridique'] = 'PL';
|
||||
}
|
||||
// Plan révolu
|
||||
elseif ($this->dureePlan > 0 && date('Ymd') >= $this->finPlan) {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "Plan revolu : ".$this->dureePlan."-".$this->finPlan."\n", FILE_APPEND);
|
||||
}
|
||||
$tabRet['SituationJuridique'] = '';
|
||||
}
|
||||
// Appel de jugement
|
||||
elseif ($this->appelJugement) {
|
||||
$tabRet['SituationJuridique'] = 'PA';
|
||||
}
|
||||
// Jugement de cloture après LJ
|
||||
elseif ($this->SituationCloture) {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "Cloture (CL) "."\n", FILE_APPEND);
|
||||
}
|
||||
$tabRet['SituationJuridique'] = 'CL';
|
||||
}
|
||||
// En cours de procédure
|
||||
else {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "Procol (P) "."\n", FILE_APPEND);
|
||||
}
|
||||
$tabRet['SituationJuridique'] = 'P';
|
||||
}
|
||||
|
||||
// RAZ SituationJuridique si cutoff plus récent que dernière procol
|
||||
$stmt = $this->conn->executeQuery("SELECT encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate FROM jo.scores_cutoff WHERE siren=$siren");
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$result = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||||
if ($result['scoreSolv'] > 0) {
|
||||
//Tri des dates de procol
|
||||
$tabDates = array();
|
||||
foreach ($tabProcol as $iProcol=>$procol) {
|
||||
$tabDates[] = $procol['dateJugement'];
|
||||
}
|
||||
rsort($tabDates);
|
||||
$dateProcol = str_replace('-', '', $tabDates[0])*1;
|
||||
if ($result['dateUpdate'] > $result['dateInsert']) {
|
||||
$dateMaj = str_replace('-', '', $result['dateUpdate']);
|
||||
} else {
|
||||
$dateMaj = str_replace('-', '', $result['dateInsert']);
|
||||
}
|
||||
if ($dateProcol <= $dateMaj) {
|
||||
$tabRet['SituationJuridique'] = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif (count($this->getAnnoncesLegales($siren, 0, 'A', false)) > 0) {
|
||||
$tabRet['SituationJuridique'] = 'A';
|
||||
} elseif (count($this->getAnnoncesLegales($siren, 0, 'D', false)) > 0) {
|
||||
$tabRet['SituationJuridique'] = 'D';
|
||||
}
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "SituationJuridique = ".$tabRet['SituationJuridique']."\n", FILE_APPEND);
|
||||
}
|
||||
// Fin Situation Juridique
|
||||
|
||||
// Date de dernière mise à jour
|
||||
$tabAnn = $this->getAnnoncesLegales($siren, 0, '', false, false);
|
||||
$tabDates=array();
|
||||
foreach ($tabAnn as $iAnn=>$ann) {
|
||||
$tabDates[] = $ann['dateInsertionSD'];
|
||||
}
|
||||
rsort($tabDates);
|
||||
$tabRet['dateMajANN'] = Metier_Util_Date::dateT('Y-m-d', 'Y-m-d', $tabDates[0]);
|
||||
if ($tabRet['dateMajANN'] == '--') {
|
||||
$tabRet['dateMajANN'] = '';
|
||||
}
|
||||
$timer['getAnnoncesLegales']=microtime(true);
|
||||
}
|
||||
|
||||
if (($tabInsee['CJ'] > 0 && $tabInsee['CJ'] < 20
|
||||
|| $tabInsee['CJ'] > 999 && $tabInsee['CJ'] < 2000) && $tabInsee['DIR_FCT']=='') {
|
||||
$tabRet['dir1Titre'] = self::$tabFct['PP'];
|
||||
@ -3168,7 +3076,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
$tabRet['Ville'] = $entrep['commune'];
|
||||
}
|
||||
}
|
||||
$timer['infosRNCS']=microtime(true);
|
||||
$timer['infosRNCS'] = microtime(true);
|
||||
} elseif ($siren > 1000) {
|
||||
// Recherche au RM
|
||||
$stmt = $this->conn->executeQuery("SELECT siren, actif, numRM, denomination,
|
||||
@ -3287,7 +3195,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
) {
|
||||
if ($this->debugtime) {
|
||||
file_put_contents(LOG_PATH.'/accesDistant.log', date('YmdHis').";$siren;MGreffes Avant\n", FILE_APPEND);
|
||||
$tdeb=microtime(1);
|
||||
$tdeb = microtime(1);
|
||||
}
|
||||
|
||||
$iGeffes = new Metier_Partenaires_MGreffes($this->iDb);
|
||||
@ -3295,19 +3203,19 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
$iRncs = new Metier_Partenaires_MRncs($this->iDb);
|
||||
|
||||
if ($this->debugtime) {
|
||||
$duree=round(microtime(1)-$tdeb, 3);
|
||||
$duree = round(microtime(1)-$tdeb, 3);
|
||||
file_put_contents(LOG_PATH.'/accesDistant.log', date('YmdHis').";$siren;MGreffes APRES ($duree s)\n", FILE_APPEND);
|
||||
}
|
||||
|
||||
if ($etabG) {
|
||||
if ($tabRet['numRC']=='') {
|
||||
$tabRet['numRC'] = $etabG['NumRC2'];
|
||||
$tabRet['numRC'] = $etabG['NumRC2'];
|
||||
}
|
||||
if ($tabRet['Tribunal']=='') {
|
||||
$tabRet['Tribunal'] = $iRncs->getCodeBodaccTribunal($etabG['NumGreffe']);
|
||||
$tabRet['Tribunal'] = $iRncs->getCodeBodaccTribunal($etabG['NumGreffe']);
|
||||
}
|
||||
if (str_replace('-', '', $tabRet['dateImmat'])*1==0) {
|
||||
$tabRet['dateImmat']= $etabG['DateCreation'];
|
||||
$tabRet['dateImmat'] = $etabG['DateCreation'];
|
||||
}
|
||||
if (str_replace('-', '', $tabRet['dateRad'])*1==0) {
|
||||
$tabRet['dateRad'] = $etabG['DateRadiation'];
|
||||
@ -3316,10 +3224,10 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
}
|
||||
}
|
||||
if (preg_match('/[A-Z]/i', substr($tabRet['AutreId'], 2, 2)) || $tabRet['AutreId']=='') {
|
||||
$tabRet['AutreId'] = $etabG['NumRC2'];
|
||||
$tabRet['AutreId'] = $etabG['NumRC2'];
|
||||
}
|
||||
}
|
||||
$timer['infosInfogreffes']=microtime(true);
|
||||
$timer['infosInfogreffes'] = microtime(true);
|
||||
}
|
||||
|
||||
// Si il n'y a aucun établissement actif et qu'on est radié au RCS : on part chercher la dernière annonce de Radiation au Bodacc
|
||||
@ -3328,7 +3236,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
// Il y a au moins une annonce de radiation au Bodacc
|
||||
if (count($tabRad) > 0) {
|
||||
if ($tabRet['SituationJuridique'] == '') {
|
||||
$tabRet['SituationJuridique']='RP';
|
||||
$tabRet['SituationJuridique'] ='RP';
|
||||
}
|
||||
$dateEff = str_replace('-', '', $tabRad[0]['dateEffet'])*1;
|
||||
$dateJug = str_replace('-', '', $tabRad[0]['dateJugement'])*1;
|
||||
@ -3439,7 +3347,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
// Numero de Registre du métier si nécessaire
|
||||
if (($tabRet['FJ']==1100 || $tabRet['FJ']==1300 || $tabRet['FJ']==11 || $tabRet['FJ']==13 || $tabInsee['APRM'] != '')
|
||||
&& ($tabRet['Dept']=='2A' || $tabRet['Dept']=='2B' || $tabRet['Dept']<98)) {
|
||||
// Artisan Commerçant OU Artisan en FRANCE
|
||||
// Artisan Commerçant OU Artisan en FRANCE
|
||||
$tabRet['NumRM'] = $siren.' RM '.$tabRet['Dept'];
|
||||
// Ajaccio
|
||||
if ($tabRet['Dept'] == '2A') {
|
||||
@ -3453,28 +3361,74 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
}
|
||||
}
|
||||
|
||||
// Recherche des infos boursières
|
||||
$iBourse = new Metier_Partenaires_MBourse($siren, $this->iDb);
|
||||
// Recherche des infos boursières
|
||||
$iBourse = new Metier_Partenaires_MBourse($siren, $this->iDb);
|
||||
$bourse = $iBourse->getInfosBourse($siren);
|
||||
$tabRet['Bourse'] = array(
|
||||
'placeCotation' => $bourse['placeCotation'],
|
||||
'nombreTitres' => $bourse['nombreTitres'],
|
||||
'capitalisation' => $bourse['close']*$bourse['nombreTitres'],
|
||||
'derCoursDate' => $bourse['date'],
|
||||
'derCoursCloture' => $bourse['close']
|
||||
);
|
||||
'placeCotation' => $bourse['placeCotation'],
|
||||
'nombreTitres' => $bourse['nombreTitres'],
|
||||
'capitalisation' => $bourse['close']*$bourse['nombreTitres'],
|
||||
'derCoursDate' => $bourse['date'],
|
||||
'derCoursCloture' => $bourse['close']
|
||||
);
|
||||
$timer['infosBoursieres']=microtime(true);
|
||||
}
|
||||
|
||||
// --- Situation Juridique | Plouf Plouf
|
||||
if (intval($siren) > 100) {
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "=== Situation Juridique ===\n");
|
||||
}
|
||||
$annoncesList = $this->getAnnoncesLegales($siren);
|
||||
if (count($annonceList) > 0) {
|
||||
$detect = new Metier_Defaillance_Detect();
|
||||
$detect->setFJ($tabInsee['CJ']);
|
||||
$detect->setInseeActif($tabInsee['ACTIF']);
|
||||
$detect->setEtabActif($nbEtab);
|
||||
if ($tabRet['numGreffe']*1 > 0) {
|
||||
$detect->setGreffe(1);
|
||||
}
|
||||
$detect->setRcsActif($tabRet['EntActiveRCS']);
|
||||
if (isset($entrep['numRM'])) {
|
||||
$detect->setRM(1);
|
||||
}
|
||||
$detect->setBilanCloture($val); //@todo : date de cloture
|
||||
// Parcours des annonces
|
||||
foreach ($annonceList as $annonce) {
|
||||
$ann = new stdClass(); // @todo remplir les données, voir les dates
|
||||
$ann->code = '';
|
||||
$ann->txt = '';
|
||||
$ann->date = '';
|
||||
$detect->parse($ann);
|
||||
}
|
||||
// @todo : SituationJuridique => plus haut
|
||||
$tabRet['SituationJuridique'] = $detect->getSituation();
|
||||
}
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "SituationJuridique = ".$tabRet['SituationJuridique']."\n", FILE_APPEND);
|
||||
}
|
||||
// Fin Situation Juridique
|
||||
|
||||
// Date de dernière mise à jour
|
||||
if (count($annonceList) > 0) {
|
||||
$annonceLast = end($annonceList);
|
||||
$tabRet['dateMajANN'] = Metier_Util_Date::dateT('Y-m-d', 'Y-m-d', $annonceLast['dateInsertionSD']);
|
||||
if ($tabRet['dateMajANN'] == '--') {
|
||||
$tabRet['dateMajANN'] = '';
|
||||
}
|
||||
}
|
||||
$timer['getAnnoncesLegales'] = microtime(true);
|
||||
}
|
||||
|
||||
// Date de dernière mise à jour
|
||||
$lastMaj=str_replace('-', '', $tabRet['DateMajINSEE'])*1;
|
||||
$lastMaj = str_replace('-', '', $tabRet['DateMajINSEE'])*1;
|
||||
if (str_replace('-', '', $tabRet['DateMajRCS'])*1 > $lastMaj) {
|
||||
$lastMaj = str_replace('-', '', $tabRet['DateMajRCS'])*1;
|
||||
}
|
||||
if (str_replace('-', '', $tabRet['bilanDateMaj'])*1>$lastMaj) {
|
||||
if (str_replace('-', '', $tabRet['bilanDateMaj'])*1 > $lastMaj) {
|
||||
$lastMaj = str_replace('-', '', $tabRet['bilanDateMaj'])*1;
|
||||
}
|
||||
if (str_replace('-', '', $tabRet['dateMajANN'])*1>$lastMaj) {
|
||||
if (str_replace('-', '', $tabRet['dateMajANN'])*1 > $lastMaj) {
|
||||
$lastMaj = str_replace('-', '', $tabRet['dateMajANN'])*1;
|
||||
}
|
||||
$tabRet['dateMajIdentite'] = Metier_Util_Date::dateT('Ymd', 'Y-m-d', $lastMaj);
|
||||
|
Loading…
Reference in New Issue
Block a user