Suppression élément SituationJuridique :
- Implémentation arbre de décisions - Test sur entrep Madelec Aero
This commit is contained in:
parent
2ec4fe7aa7
commit
b5bcb212e4
@ -302,12 +302,17 @@ class Metier_Defaillance_Detect
|
||||
$this->SituationDateStart = $this->EvenDateJugement;
|
||||
$this->situationEnd();
|
||||
|
||||
$dateEnd = $this->SituationDateEnd;
|
||||
if ($this->Situation == 'PL') {
|
||||
$dateEnd = $this->PlanDateEnd;
|
||||
}
|
||||
|
||||
// Enregistrement dans la timeline
|
||||
$this->Timeline[] = array(
|
||||
'Situation' => $this->Situation,
|
||||
'Even' => $this->Even,
|
||||
'DateStart' => $this->SituationDateStart,
|
||||
'DateEnd' => $this->SituationDateEnd,
|
||||
'DateEnd' => $dateEnd,
|
||||
);
|
||||
file_put_contents('procol.log', print_r($this->Timeline, 1)."\n", FILE_APPEND);
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ return array(
|
||||
1201, //Conversion sauvegarde en Redressement Judiciaire
|
||||
1202, //Renouvellement de la période d'observation
|
||||
1203, //Avis de dépôt de l'état de collocation
|
||||
1204, //Avis de dépôt de l'état des créances
|
||||
//1204, //Avis de dépôt de l'état des créances
|
||||
1205, //Avis de dépôt de l'état des créances complémentaires nées après jugement d'ouverture
|
||||
1206, //Avis de dépôt de l'état des créances nées après jugement d'ouverture
|
||||
1207, //Règlements amiables
|
||||
@ -88,8 +88,8 @@ return array(
|
||||
1410, //Suite de jugement/règlement/liquidation
|
||||
1411, //Arrêt du plan de cession
|
||||
1412, //Arrêt du plan de cession partielle
|
||||
1413, //Arrêt du plan de continuation
|
||||
1414, //Arrêt du plan de redressement
|
||||
//1413, //Arrêt du plan de continuation
|
||||
//1414, //Arrêt du plan de redressement => Supprimer les éléments
|
||||
1415, //Prolongement du plan cession
|
||||
1416, //Jugement constatant la bonne exécution du plan
|
||||
1417, //Jugement d'extension de liquidation judiciaire
|
||||
|
@ -2986,10 +2986,10 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
$tabRet['sigleLong'] = strtoupper($entrep['sigle']);
|
||||
}
|
||||
$tabRet['dateImmat'] = $entrep['dateImma'];
|
||||
$tabRet['dateRad'] = $entrep['dateRad'];
|
||||
$tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100);
|
||||
$tabRet['CapitalDev'] = $entrep['capitalDevIso'];
|
||||
$tabRet['CapitalType'] = trim(strtoupper(substr($entrep['capitalType'], 0, 1)));
|
||||
$tabRet['dateRad'] = $entrep['dateRad'];
|
||||
$tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100);
|
||||
$tabRet['CapitalDev'] = $entrep['capitalDevIso'];
|
||||
$tabRet['CapitalType'] = trim(strtoupper(substr($entrep['capitalType'], 0, 1)));
|
||||
|
||||
// Par défaut, la Forme juridique qui fait foie est celle de l'INPI
|
||||
$fjInpi=$entrep['cj']*1;
|
||||
@ -3029,10 +3029,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
// On signal que l'entreprise est radié du RCS
|
||||
else {
|
||||
$tabRet['EntActiveRCS'] = 0;
|
||||
// On signal que l'entreprise est radié du RCS
|
||||
if ($tabRet['SituationJuridique'] == '') {
|
||||
$tabRet['SituationJuridique'] = 'RR';
|
||||
}
|
||||
}
|
||||
|
||||
// Spécificité EIRL
|
||||
@ -3151,10 +3147,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
// On signal que l'entreprise est radié du RCS
|
||||
else {
|
||||
$tabRet['EntActiveRCS'] = 0;
|
||||
// On signal que l'entreprise est radié du RCS
|
||||
if ($tabRet['SituationJuridique'] == '') {
|
||||
$tabRet['SituationJuridique'] = 'RR';
|
||||
}
|
||||
}
|
||||
|
||||
$tabRet['NomCommercial']=$entrep['nomCommercial'];
|
||||
@ -3169,27 +3161,24 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
$tabRet['dir1Code']='1050';
|
||||
}
|
||||
|
||||
if ($accesDist &&
|
||||
if ($accesDist
|
||||
// Département couvert par Infogreffe
|
||||
!in_array($tabRet['Dept'], array(57, 67, 68, 97, 98, 99)) &&
|
||||
&& !in_array($tabRet['Dept'], array(57, 67, 68, 97, 98, 99)) &&
|
||||
// Forme Juridique présente au greffe
|
||||
($tabInsee['CJ']==1100 ||
|
||||
$tabInsee['CJ']==1200 ||
|
||||
$tabInsee['CJ']==1300 ||
|
||||
$tabInsee['CJ']==1700 ||
|
||||
($tabInsee['CJ']>=3100 && $tabInsee['CJ']<=3299) ||
|
||||
($tabInsee['CJ']>=4100 && $tabInsee['CJ']<=4199) ||
|
||||
($tabInsee['CJ']>=5100 && $tabInsee['CJ']<=5899) ||
|
||||
($tabInsee['CJ']>=6100 && $tabInsee['CJ']<=6599) ||
|
||||
$tabInsee['CJ']==9900 ||
|
||||
preg_match('/EIRL/', $nom) || preg_match('/EIRL/', $nom2) ||
|
||||
preg_match('/EIRL/', $tabRet['Sigle']) || preg_match('/EIRL/', $tabRet['Enseigne']) ||
|
||||
preg_match('/EIRL/', $tabRet['Adresse']) || preg_match('/EIRL/', $tabRet['Adresse2'])
|
||||
) &&
|
||||
($tabInsee['CJ']==1700 || // Agents commerciaux (uniquement au Greffes RSAC)
|
||||
$tabRet['numRC']=='' || // Numéro de RCS absent = Anomalie (<à3%)
|
||||
$tabRet['Tribunal']=='' || // Tribunal absent = anomalie
|
||||
str_replace('-', '', $tabRet['dateImmat'])*1==0 || // Pas de date d'immat = anomalie (<à9%)
|
||||
(in_array($tabInsee['CJ'], array(1100, 1200, 1300, 1700, 9900))
|
||||
|| ($tabInsee['CJ']>=3100 && $tabInsee['CJ']<=3299)
|
||||
|| ($tabInsee['CJ']>=4100 && $tabInsee['CJ']<=4199)
|
||||
|| ($tabInsee['CJ']>=5100 && $tabInsee['CJ']<=5899)
|
||||
|| ($tabInsee['CJ']>=6100 && $tabInsee['CJ']<=6599)
|
||||
|| preg_match('/EIRL/', $nom) || preg_match('/EIRL/', $nom2)
|
||||
|| preg_match('/EIRL/', $tabRet['Sigle'])
|
||||
|| preg_match('/EIRL/', $tabRet['Enseigne'])
|
||||
|| preg_match('/EIRL/', $tabRet['Adresse'])
|
||||
|| preg_match('/EIRL/', $tabRet['Adresse2']) )
|
||||
&& ($tabInsee['CJ']==1700 || // Agents commerciaux (uniquement au Greffes RSAC)
|
||||
$tabRet['numRC']=='' || // Numéro de RCS absent = Anomalie (<à3%)
|
||||
$tabRet['Tribunal']=='' || // Tribunal absent = anomalie
|
||||
str_replace('-', '', $tabRet['dateImmat'])*1==0 || // Pas de date d'immat = anomalie (<à9%)
|
||||
($nbEtab*1==0 && str_replace('-', '', $tabRet['dateRad'])*1==0) // Inactif sans date de RAD
|
||||
)
|
||||
) {
|
||||
@ -3217,12 +3206,11 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
if (str_replace('-', '', $tabRet['dateImmat'])*1==0) {
|
||||
$tabRet['dateImmat'] = $etabG['DateCreation'];
|
||||
}
|
||||
|
||||
if (str_replace('-', '', $tabRet['dateRad'])*1==0) {
|
||||
$tabRet['dateRad'] = $etabG['DateRadiation'];
|
||||
if (str_replace('-', '', $tabRet['dateRad'])*1>0 && $tabRet['SituationJuridique']=='') {
|
||||
$tabRet['SituationJuridique']='RR';
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match('/[A-Z]/i', substr($tabRet['AutreId'], 2, 2)) || $tabRet['AutreId']=='') {
|
||||
$tabRet['AutreId'] = $etabG['NumRC2'];
|
||||
}
|
||||
@ -3230,38 +3218,16 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
$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
|
||||
if (($nbEtab*1)==0 || (isset($entrep['numGreffe']) && $entrep['actif']==0 && $entrep['dateRadNum']==0)) {
|
||||
$tabRad = $this->getAnnoncesLegales($siren, 0, 'R');
|
||||
// Il y a au moins une annonce de radiation au Bodacc
|
||||
if (count($tabRad) > 0) {
|
||||
if ($tabRet['SituationJuridique'] == '') {
|
||||
$tabRet['SituationJuridique'] ='RP';
|
||||
}
|
||||
$dateEff = str_replace('-', '', $tabRad[0]['dateEffet'])*1;
|
||||
$dateJug = str_replace('-', '', $tabRad[0]['dateJugement'])*1;
|
||||
$datePar = str_replace('-', '', $tabRad[0]['DateParution'])*1;
|
||||
if ($dateEff > 0) {
|
||||
$tabRet['dateRad'] = $dateEff;
|
||||
} elseif ($dateJug > 0) {
|
||||
$tabRet['dateRad'] = $dateJug;
|
||||
} elseif ($datePar > 0) {
|
||||
$tabRet['dateRad'] = $datePar;
|
||||
}
|
||||
}
|
||||
$timer['infosRadiation'] = microtime(true);
|
||||
}
|
||||
|
||||
// Eléments Financiers en provenance du dernier Bilan
|
||||
$stmt = $this->conn->executeQuery("SELECT siren, dateExercice, dureeExercice, monnaie,
|
||||
typeBilan, unite, postes, dateProvPartenaire, dateInsert FROM jo.bilans
|
||||
WHERE siren=$siren AND typeBilan IN ('N','S') ORDER BY dateExercice DESC LIMIT 0,1");
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$entrep = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||||
$tabRet['bilanAnnee'] = substr($entrep['dateExercice'], 0, 4);
|
||||
$tabRet['bilanAnnee'] = substr($entrep['dateExercice'], 0, 4);
|
||||
$tabRet['bilanDate'] = $entrep['dateExercice'];
|
||||
$tabRet['bilanMois'] = $entrep['dureeExercice'];
|
||||
$tabRet['bilanDevise'] = $entrep['monnaie'];
|
||||
$tabRet['bilanDevise'] = $entrep['monnaie'];
|
||||
if ($entrep['dateProvPartenaire'] > 0) {
|
||||
$tabRet['bilanDateMaj'] = Metier_Util_Date::dateT('Ymd', 'Y-m-d', $entrep['dateProvPartenaire']);
|
||||
} else {
|
||||
@ -3269,13 +3235,13 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
}
|
||||
|
||||
switch (strtoupper(trim($entrep['unite']))) {
|
||||
case 'M': $unite = 'M'; break;
|
||||
case 'K': $unite = 'K'; break;
|
||||
default: $unite = 'U'; break;
|
||||
case 'M': $unite = 'M'; break;
|
||||
case 'K': $unite = 'K'; break;
|
||||
default: $unite = 'U'; break;
|
||||
}
|
||||
$tabTmp = explode(';', $entrep['postes']);
|
||||
$tabBilan = array();
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
foreach ($tabTmp as $i => $strTmp) {
|
||||
$tabTmp2 = explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ($unite == 'K' && $tabTmp2[0] != 'YP' && $tabTmp2[0] != 'YP1' && $tabTmp2[0] != '376') {
|
||||
@ -3287,7 +3253,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
}
|
||||
}
|
||||
}
|
||||
if (strtoupper($entrep['typeBilan'])=='S') {
|
||||
if (strtoupper($entrep['typeBilan']) == 'S') {
|
||||
$mBil = new Metier_Partenaires_MBilans(0, $this->iDb);
|
||||
$tabTmp = $mBil->bilanSimplifie2Normal($tabBilan);
|
||||
$tabBilan = array_merge($tabTmp, $tabBilan);
|
||||
@ -3371,42 +3337,66 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
'derCoursDate' => $bourse['date'],
|
||||
'derCoursCloture' => $bourse['close']
|
||||
);
|
||||
$timer['infosBoursieres']=microtime(true);
|
||||
$timer['infosBoursieres'] = microtime(true);
|
||||
}
|
||||
|
||||
// --- Situation Juridique | Plouf Plouf
|
||||
// --- Situation Juridique
|
||||
$situation = '';
|
||||
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();
|
||||
$detect = new Metier_Defaillance_Detect();
|
||||
$detect->setFJ($tabInsee['CJ']);
|
||||
$detect->setInseeActif($tabInsee['ACTIF']);
|
||||
$detect->setEtabActif($nbEtab);
|
||||
if ($tabRet['numGreffe']*1 > 0) {
|
||||
$detect->setGreffe(1);
|
||||
}
|
||||
if ($this->debug) {
|
||||
file_put_contents('procol.log', "SituationJuridique = ".$tabRet['SituationJuridique']."\n", FILE_APPEND);
|
||||
$detect->setRcsActif($tabRet['EntActiveRCS']);
|
||||
if (isset($entrep['numRM'])) {
|
||||
$detect->setRM(1);
|
||||
}
|
||||
$detect->setBilanCloture($tabRet['bilanDate']);
|
||||
if (isset($tabRet['dateRad'])) {
|
||||
$detect->setGreffeRadiation($tabRet['dateRad']);
|
||||
}
|
||||
if (count($annoncesList) > 0) {
|
||||
// Parcours annonces
|
||||
$tabJugements = array();
|
||||
foreach ($annoncesList as $i => $ann) {
|
||||
$date = str_replace('-','', $ann['dateJugement']);
|
||||
if (intval($date) == 0) {
|
||||
$date = str_replace('-','', $ann['dateEffet']);
|
||||
}
|
||||
if (intval($date) == 0) {
|
||||
$date = str_replace('-','', $ann['dateParution']);
|
||||
}
|
||||
if (!empty($date)) {
|
||||
$tabJugements[$date] = $ann;
|
||||
}
|
||||
}
|
||||
ksort($tabJugements);
|
||||
foreach ($tabJugements as $ann) {
|
||||
$annFormat = new stdClass();
|
||||
$date = str_replace('-', '', $ann['dateJugement']);
|
||||
if (intval($date) == 0) {
|
||||
$date = str_replace('-', '', $ann['dateEffet']);
|
||||
}
|
||||
$annFormat->date = $date;
|
||||
$annFormat->code = $ann['evenements'][0]['CodeEven'];
|
||||
$annFormat->txt = $ann['texteAnnonce'];
|
||||
|
||||
$detect->parse($annFormat);
|
||||
$situation = $detect->getSituation();
|
||||
|
||||
// Date de radiation
|
||||
if ($situation == 'RP') {
|
||||
$timeline = $detect->getTimeline();
|
||||
$last = end($timeline);
|
||||
$tabRet['dateRad'] = $last->DateStart;
|
||||
}
|
||||
}
|
||||
}
|
||||
$tabRet['SituationJuridique'] = $situation;
|
||||
// Fin Situation Juridique
|
||||
|
||||
// Date de dernière mise à jour
|
||||
|
Loading…
Reference in New Issue
Block a user