récupération branch de michael wenservice

This commit is contained in:
benoitpotier 2017-04-10 12:08:37 +02:00
parent 59285193eb
commit 990640b044
4 changed files with 460 additions and 465 deletions

View File

@ -1,7 +1,7 @@
<?php <?php
class Metier_Defaillance_Detect class Metier_Defaillance_Detect
{ {
protected $debug = false; protected $debug = true;
/** /**
* Code de la forme juridique * Code de la forme juridique
@ -23,7 +23,7 @@ class Metier_Defaillance_Detect
/** /**
* Actif RCS * Actif RCS
* @var unknown * @var int
*/ */
protected $RcsActif; protected $RcsActif;
@ -34,7 +34,7 @@ class Metier_Defaillance_Detect
protected $EtabActifNb; protected $EtabActifNb;
/** /**
* Rgsitre des métiers * Registre des métiers
* @var int * @var int
*/ */
protected $NumRM; protected $NumRM;
@ -45,6 +45,13 @@ class Metier_Defaillance_Detect
*/ */
protected $IsRCS; protected $IsRCS;
/**
* Date Radiation au Greffe
* @var int
* Date au format AAAAMMJJ
*/
protected $GreffeRadiationDate;
protected $Situation = ''; protected $Situation = '';
protected $SituationDateStart; protected $SituationDateStart;
protected $SituationDateEnd; protected $SituationDateEnd;
@ -63,11 +70,18 @@ class Metier_Defaillance_Detect
protected $ProcolMaxYear = 12; protected $ProcolMaxYear = 12;
protected $Even; protected $Even;
protected $EvenDateJugement; protected $EvenDate;
protected $EvenTxt; protected $EvenTxt;
protected $EvenDelete = 0; protected $EvenDelete = 0;
protected $DateToday; protected $EvenIndex = 0;
protected $EvenNb = 0;
/**
* Date de référence (aujourd'hui la majorité du temps)
* @var string
*/
protected $DateRef;
/** /**
* Timeline des événements de défaillance * Timeline des événements de défaillance
@ -87,7 +101,7 @@ class Metier_Defaillance_Detect
} }
// Définir la date du jour // Définir la date du jour
$this->DateToday = date('Ymd'); $this->DateRef = date('Ymd');
// Liste des événements au départ d'une procol // Liste des événements au départ d'une procol
$this->ListEvenProcol = include __DIR__ . '/EvenProcol.php'; $this->ListEvenProcol = include __DIR__ . '/EvenProcol.php';
@ -105,41 +119,85 @@ class Metier_Defaillance_Detect
$this->ListEvenProcolDelete = include __DIR__ . '/ProcolDelete.php'; $this->ListEvenProcolDelete = include __DIR__ . '/ProcolDelete.php';
} }
public function setEvenNb($val)
{
$this->EvenNb = $val;
}
/**
* Code Forme Juridique
* @param string $val
*/
public function setFJ($val) public function setFJ($val)
{ {
$this->FJ = $val; $this->FJ = $val;
} }
/**
* Date de cloture du bilan
* @param int $val
* Date au format AAAAMMJJ
*/
public function setBilanCloture($val) public function setBilanCloture($val)
{ {
$this->BilanCloture = $val; $this->BilanCloture = $val;
} }
/**
* Insee Actif
* @param int $val
*/
public function setInseeActif($val) public function setInseeActif($val)
{ {
$this->InseeActif = $val; $this->InseeActif = $val;
} }
/**
* RCS Actif
* @param int $val
*/
public function setRcsActif($val) public function setRcsActif($val)
{ {
$this->RcsActif = $val; $this->RcsActif = $val;
} }
/**
* Nombre d'etablissement Actif
* @param int $val
*/
public function setEtabActif($val) public function setEtabActif($val)
{ {
$this->EtabActifNb = $val; $this->EtabActifNb = $val;
} }
/**
* Est présent au registre des métiers
* @param int $val
*/
public function setRM($val) public function setRM($val)
{ {
$this->IsRM = $val; $this->IsRM = $val;
} }
/**
* Est présent au Greffe
* @param int $val
*/
public function setGreffe($val) public function setGreffe($val)
{ {
$this->IsRCS = $val; $this->IsRCS = $val;
} }
/**
* Date de radiation au Greffe
* @param string $date
*/
public function setGreffeRadiation($date)
{
$date = intval(str_replace('-', '', $date));
$this->GreffeRadiationDate = $date;
}
/** /**
* Retourne la situation * Retourne la situation
* @return string * @return string
@ -206,8 +264,9 @@ class Metier_Defaillance_Detect
public function parse($ann) public function parse($ann)
{ {
$this->Even = $ann->code; $this->Even = $ann->code;
$this->EvenDateJugement = $ann->date; $this->EvenDate = $ann->date;
$this->EvenTxt = $ann->txt; $this->EvenTxt = $ann->txt;
$this->EvenIndex++;
if ($this->debug) { if ($this->debug) {
file_put_contents('procol.log', "Annonce : ".$ann->date . '-' . $ann->code."\n", FILE_APPEND); file_put_contents('procol.log', "Annonce : ".$ann->date . '-' . $ann->code."\n", FILE_APPEND);
@ -226,7 +285,7 @@ class Metier_Defaillance_Detect
} }
// --- Variable pour le plan // --- Variable pour le plan
$this->PlanDateStart = $this->EvenDateJugement; $this->PlanDateStart = $this->EvenDate;
$this->planPeriod($this->EvenTxt); $this->planPeriod($this->EvenTxt);
$this->planEnd(); $this->planEnd();
@ -253,17 +312,24 @@ class Metier_Defaillance_Detect
$result = $this->params($rule['params']); $result = $this->params($rule['params']);
if ($result === true) { if ($result === true) {
// Defintion paramètres situation // Defintion paramètres situation
$this->SituationDateStart = $this->EvenDateJugement; $this->SituationDateStart = $this->EvenDate;
$this->situationEnd(); $this->situationEnd();
$dateEnd = $this->SituationDateEnd;
if ($this->Situation == 'PL') {
$dateEnd = $this->PlanDateEnd;
}
// Enregistrement dans la timeline // Enregistrement dans la timeline
$this->Timeline[] = array( $this->Timeline[] = array(
'Situation' => $this->Situation, 'Situation' => $this->Situation,
'Even' => $this->Even, 'Even' => $this->Even,
'DateStart' => $this->SituationDateStart, 'DateStart' => $this->SituationDateStart,
'DateEnd' => $this->SituationDateEnd, 'DateEnd' => $dateEnd,
); );
file_put_contents('procol.log', print_r($this->Timeline, 1)."\n", FILE_APPEND); if ($this->debug) {
file_put_contents('procol.log', print_r($this->Timeline, 1)."\n", FILE_APPEND);
}
} }
if ($this->debug) { if ($this->debug) {

View File

@ -16,32 +16,32 @@ return array(
'name' => 'PLAN', 'name' => 'PLAN',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'PlanPeriod', 'op' => 'EGAL', 'value'=> array(0,120)), //array('var' => 'PlanPeriod', 'op' => 'EGAL', 'value'=> array(0,120)),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => array( array('var' => 'Even', 'op' => 'EGAL', 'value' => array(
'1407', // Modification de plan 1407, // Modification de plan
'1409', // Modification du plan de continuation 1409, // Modification du plan de continuation
'1413', // Arrêt du plan de continuation 1413, // Arrêt du plan de continuation
'1414', // Arrêt du plan de redressement 1414, // Arrêt du plan de redressement
'1101', // Arrêt du plan de sauvegarde 1101, // Arrêt du plan de sauvegarde
)), )),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'PL'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'PL'),
), ),
), ),
// -- Period par defaut // --- Period par defaut
array( array(
'name' => 'PLAN-DUREE-DEFAUT1', 'name' => 'PLAN-DUREE-DEFAUT1',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'PlanPeriod', 'op' => 'MAX', 'value'=> 1), array('var' => 'PlanPeriod', 'op' => 'MAX', 'value'=> 1),
array( 'var' => 'PlanPeriod', 'op' => 'SET', 'value' => 120), array('var' => 'PlanPeriod', 'op' => 'SET', 'value' => 120),
), ),
), ),
array( array(
'name' => 'PLAN-DUREE-DEFAUT2', 'name' => 'PLAN-DUREE-DEFAUT2',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'PlanPeriod', 'op' => 'MIN', 'value'=> 120), array('var' => 'PlanPeriod', 'op' => 'MIN', 'value'=> 120),
array( 'var' => 'PlanPeriod', 'op' => 'SET', 'value' => 120), array('var' => 'PlanPeriod', 'op' => 'SET', 'value' => 120),
), ),
), ),
// --- Period par default pour FJ spécifique // --- Period par default pour FJ spécifique
@ -49,8 +49,8 @@ return array(
'name' => 'PLAN-DUREE-FJ1', 'name' => 'PLAN-DUREE-FJ1',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'PlanPeriod', 'op' => 'MAX', 'value'=> 1), array('var' => 'PlanPeriod', 'op' => 'MAX', 'value'=> 1),
array( 'var' => 'FJ', 'op' => 'EGAL', 'value' => array( array('var' => 'FJ', 'op' => 'EGAL', 'value' => array(
16,1600, // Exploitant agricole 16,1600, // Exploitant agricole
63,6316,6317,6318, // Société coopérative agricole 63,6316,6317,6318, // Société coopérative agricole
5431,5432,5531,5532, // SMIA, SICA 5431,5432,5531,5532, // SMIA, SICA
@ -58,7 +58,7 @@ return array(
6533,6534,6535, // GAEC, GFA, Gpt Agricole Foncier 6533,6534,6535, // GAEC, GFA, Gpt Agricole Foncier
6597,6598, 6597,6598,
)), )),
array( 'var' => 'PlanPeriod', 'op' => 'SET', 'value' => 180), array('var' => 'PlanPeriod', 'op' => 'SET', 'value' => 180),
), ),
), ),
// --- Period par default pour FJ spécifique // --- Period par default pour FJ spécifique
@ -66,8 +66,8 @@ return array(
'name' => 'PLAN-DUREE-FJ2', 'name' => 'PLAN-DUREE-FJ2',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'PlanPeriod', 'op' => 'MIN', 'value'=> 120), array('var' => 'PlanPeriod', 'op' => 'MIN', 'value'=> 120),
array( 'var' => 'FJ', 'op' => 'EGAL', 'value' => array( array('var' => 'FJ', 'op' => 'EGAL', 'value' => array(
16,1600, // Exploitant agricole 16,1600, // Exploitant agricole
63,6316,6317,6318, // Société coopérative agricole 63,6316,6317,6318, // Société coopérative agricole
5431,5432,5531,5532, // SMIA, SICA 5431,5432,5531,5532, // SMIA, SICA
@ -75,7 +75,7 @@ return array(
6533,6534,6535, // GAEC, GFA, Gpt Agricole Foncier 6533,6534,6535, // GAEC, GFA, Gpt Agricole Foncier
6597,6598, 6597,6598,
)), )),
array( 'var' => 'PlanPeriod', 'op' => 'SET', 'value' => '180'), array('var' => 'PlanPeriod', 'op' => 'SET', 'value' => '180'),
), ),
), ),
// --- Elimination du plan : période atteinte // --- Elimination du plan : période atteinte
@ -83,9 +83,9 @@ return array(
'name' => 'PLAN-PERIOD-ATTEINTE', 'name' => 'PLAN-PERIOD-ATTEINTE',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'),
array( 'var' => 'PlanDateEnd', 'op' => 'MIN', 'value' => 'DateToday'), array('var' => 'PlanDateEnd', 'op' => 'MIN', 'value' => 'DateRef'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Elimination du plan : appel de jugement // --- Elimination du plan : appel de jugement
@ -93,9 +93,9 @@ return array(
'name' => 'PLAN-APPEL-JUGEMENT', 'name' => 'PLAN-APPEL-JUGEMENT',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 4), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 4),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'PA'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'PA'),
), ),
), ),
// --- Elimination du plan : cutoff // --- Elimination du plan : cutoff
@ -103,10 +103,10 @@ return array(
'name' => 'PLAN-CUT-OFF', 'name' => 'PLAN-CUT-OFF',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'PL'),
array( 'var' => 'Cutoff', 'op' => 'EGAL', 'value' => true), array('var' => 'Cutoff', 'op' => 'EGAL', 'value' => true),
array( 'var' => 'ScoreSolv', 'op' => 'MIN', 'value' => 0), array('var' => 'ScoreSolv', 'op' => 'MIN', 'value' => 0),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Début de procol // --- Début de procol
@ -114,8 +114,8 @@ return array(
'name' => 'PROCOL-START', 'name' => 'PROCOL-START',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenProcol'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenProcol'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'P'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'P'),
), ),
), ),
// --- Pas de mention de la procol // --- Pas de mention de la procol
@ -123,9 +123,9 @@ return array(
'name' => 'PROCOL-EFFACEMENT-1', 'name' => 'PROCOL-EFFACEMENT-1',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 1), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Ne pas mentionner la procol si CJ=1xxx // --- Ne pas mentionner la procol si CJ=1xxx
@ -133,11 +133,11 @@ return array(
'name' => 'PROCOL-EFFACEMENT-2.1', 'name' => 'PROCOL-EFFACEMENT-2.1',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 2), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 2),
array( 'var' => 'FJ', 'op' => 'MIN', 'value' => 1000), array('var' => 'FJ', 'op' => 'MIN', 'value' => 1000),
array( 'var' => 'FJ', 'op' => 'MAX', 'value' => 1999), array('var' => 'FJ', 'op' => 'MAX', 'value' => 1999),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Ne pas mentionner la procol si actif et CJ!=9xxx et even de plus d'un mois // --- Ne pas mentionner la procol si actif et CJ!=9xxx et even de plus d'un mois
@ -145,12 +145,12 @@ return array(
'name' => 'PROCOL-EFFACEMENT-2.2', 'name' => 'PROCOL-EFFACEMENT-2.2',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 2), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 2),
array( 'var' => 'InseeActif', 'op' => 'EGAL', 'value' => 1), array('var' => 'InseeActif', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'FJ', 'op' => 'MAX', 'value' => 9000), array('var' => 'FJ', 'op' => 'MAX', 'value' => 9000),
array( 'var' => 'SituationNbMonthPast', 'op' => 'MIN', 'value' => 1), array('var' => 'SituationNbMonthPast', 'op' => 'MIN', 'value' => 1),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Pas Procol si actif RCS // --- Pas Procol si actif RCS
@ -158,10 +158,10 @@ return array(
'name' => 'PROCOL-EFFACEMENT-3', 'name' => 'PROCOL-EFFACEMENT-3',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 3), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 3),
array( 'var' => 'RcsActif', 'op' => 'EGAL', 'value' => 1), array('var' => 'RcsActif', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Le dernier jugement est un appel => Procol Suspendu // --- Le dernier jugement est un appel => Procol Suspendu
@ -169,9 +169,9 @@ return array(
'name' => 'PROCOL-EFFACEMENT-4', 'name' => 'PROCOL-EFFACEMENT-4',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 4), array('var' => 'EvenDelete', 'op' => 'EGAL', 'value' => 4),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'PA'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'PA'),
), ),
), ),
// --- Procédure trop ancienne plus de 12 ans et actif // --- Procédure trop ancienne plus de 12 ans et actif
@ -179,10 +179,10 @@ return array(
'name' => 'PROCOL-ANCIEN', 'name' => 'PROCOL-ANCIEN',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'InseeActif', 'op' => 'EGAL', 'value' => 1), array('var' => 'InseeActif', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'SituationDateEnd', 'op' => 'MAX', 'value' => 'DateToday'), array('var' => 'SituationDateEnd', 'op' => 'MAX', 'value' => 'DateRef'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement // --- En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement
@ -190,13 +190,13 @@ return array(
'name' => 'PROCOL-CLOTURE-LJ-BILAN', 'name' => 'PROCOL-CLOTURE-LJ-BILAN',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => array( array('var' => 'Even', 'op' => 'EGAL', 'value' => array(
1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1311,1312,1313, 1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1311,1312,1313,
1500,1501,1502,1503,1504 1500,1501,1502,1503,1504
)), )),
array( 'var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'DateToday'), array('var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'EvenDate'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- En Procol mais présence d'une annonce LJ avec Bilan publié ultérieurement, uniquement FJ!=1xxx // --- En Procol mais présence d'une annonce LJ avec Bilan publié ultérieurement, uniquement FJ!=1xxx
@ -204,17 +204,17 @@ return array(
'name' => 'PROCOL-CLOTURE', 'name' => 'PROCOL-CLOTURE',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'FJ', 'op' => 'MIN', 'value' => 1999), array('var' => 'FJ', 'op' => 'MIN', 'value' => 1999),
//Si l'evenement procol de départ, précédent est //Si l'evenement procol de départ, précédent est
array( 'var' => 'SituationLastEven', 'op' => 'EGAL', 'value' => array( array('var' => 'SituationLastEven', 'op' => 'EGAL', 'value' => array(
1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1311,1312,1313,1314,1417 1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1311,1312,1313,1314,1417
)), )),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => array( array('var' => 'Even', 'op' => 'EGAL', 'value' => array(
1502,1503 1502,1503
)), )),
array( 'var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'DateToday'), array('var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'EvenDate'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'CL'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'CL'),
), ),
), ),
// --- En procol mais cutoff manuel // --- En procol mais cutoff manuel
@ -222,10 +222,10 @@ return array(
'name' => 'PROCOL-CUT-OFF', 'name' => 'PROCOL-CUT-OFF',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'), array('var' => 'Situation', 'op' => 'EGAL', 'value' => 'P'),
array( 'var' => 'Cutoff', 'op' => 'EGAL', 'value' => true), array('var' => 'Cutoff', 'op' => 'EGAL', 'value' => true),
array( 'var' => 'ScoreSolv', 'op' => 'MIN', 'value' => 0), array('var' => 'ScoreSolv', 'op' => 'MIN', 'value' => 0),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Absorbé ?? ICI uniquement lorsque Situation = '' // --- Absorbé ?? ICI uniquement lorsque Situation = ''
@ -233,9 +233,9 @@ return array(
'name' => 'ABSORPTION', 'name' => 'ABSORPTION',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenAbsorption'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenAbsorption'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'A'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'A'),
), ),
), ),
// --- Dissolution ?? ICI uniquement lorsque Situation = '' // --- Dissolution ?? ICI uniquement lorsque Situation = ''
@ -243,9 +243,9 @@ return array(
'name' => 'DISSOLUTION', 'name' => 'DISSOLUTION',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenDissolution'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenDissolution'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'D'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'D'),
), ),
), ),
// --- Dissolution mais bilan après événements ?? ICI uniquement lorsque Situation = '' // --- Dissolution mais bilan après événements ?? ICI uniquement lorsque Situation = ''
@ -253,10 +253,10 @@ return array(
'name' => 'DISSOLUTION-AVEC-BILAN', 'name' => 'DISSOLUTION-AVEC-BILAN',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenDissolution'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenDissolution'),
array( 'var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'EvenDateJugement'), array('var' => 'BilanCloture', 'op' => 'MIN', 'value' => 'EvenDate'),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array('var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Radiation RM // --- Radiation RM
@ -264,10 +264,10 @@ return array(
'name' => 'RADIATION-RM', 'name' => 'RADIATION-RM',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'IsRM', 'op' => 'EGAL', 'value' => 1), array('var' => 'IsRM', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0), array('var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'RR'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'RR'),
), ),
), ),
// --- Radiation RCS // --- Radiation RCS
@ -275,10 +275,22 @@ return array(
'name' => 'RADIATION-RCS', 'name' => 'RADIATION-RCS',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'IsRCS', 'op' => 'EGAL', 'value' => 1), array('var' => 'IsRCS', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0), array('var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'RR'), array('var' => 'EvenNb', 'op' => 'MIN', 'value' => 'EvenIndex'),
array('var' => 'Situation', 'op' => 'SET', 'value' => 'RR'),
),
),
// --- Radiation RCS avec Date
array(
'name' => 'RADIATION-DATE',
'value' => 'CONTINUE',
'params' => array(
array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array('var' => 'GreffeRadiationDate', 'op' => 'MIN', 'value' => 0),
array('var' => 'EvenNb', 'op' => 'MIN', 'value' => 'EvenIndex'),
array('var' => 'Situation', 'op' => 'SET', 'value' => 'RR'),
), ),
), ),
// --- Radiation Publié 1 // --- Radiation Publié 1
@ -286,22 +298,22 @@ return array(
'name' => 'RADIATION-PUB1', 'name' => 'RADIATION-PUB1',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenRadiation'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenRadiation'),
array( 'var' => 'EtabActifNb', 'op' => 'EGAL', 'value' => 0), array('var' => 'EtabActifNb', 'op' => 'EGAL', 'value' => 0),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'RP'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'RP'),
), ),
), ),
// Radiation Publié 2 // --- Radiation Publié 2
array( array(
'name' => 'RADIATION-PUB2', 'name' => 'RADIATION-PUB2',
'value' => 'CONTINUE', 'value' => 'CONTINUE',
'params' => array( 'params' => array(
array( 'var' => 'Situation', 'op' => 'EGAL', 'value' => ''), array('var' => 'Situation', 'op' => 'EGAL', 'value' => ''),
array( 'var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenRadiation'), array('var' => 'Even', 'op' => 'EGAL', 'value' => 'ListEvenRadiation'),
array( 'var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0), array('var' => 'InseeActif', 'op' => 'EGAL', 'value' => 0),
array( 'var' => 'IsRCS', 'op' => 'EGAL', 'value' => 1), array('var' => 'IsRCS', 'op' => 'EGAL', 'value' => 1),
array( 'var' => 'Situation', 'op' => 'SET', 'value' => 'RP'), array('var' => 'Situation', 'op' => 'SET', 'value' => 'RP'),
), ),
), ),
); );

View File

@ -44,7 +44,7 @@ return array(
1201, //Conversion sauvegarde en Redressement Judiciaire 1201, //Conversion sauvegarde en Redressement Judiciaire
1202, //Renouvellement de la période d'observation 1202, //Renouvellement de la période d'observation
1203, //Avis de dépôt de l'état de collocation 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 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 1206, //Avis de dépôt de l'état des créances nées après jugement d'ouverture
1207, //Règlements amiables 1207, //Règlements amiables
@ -88,8 +88,8 @@ return array(
1410, //Suite de jugement/règlement/liquidation 1410, //Suite de jugement/règlement/liquidation
1411, //Arrêt du plan de cession 1411, //Arrêt du plan de cession
1412, //Arrêt du plan de cession partielle 1412, //Arrêt du plan de cession partielle
1413, //Arrêt du plan de continuation //1413, //Arrêt du plan de continuation
1414, //Arrêt du plan de redressement //1414, //Arrêt du plan de redressement => Supprimer les éléments
1415, //Prolongement du plan cession 1415, //Prolongement du plan cession
1416, //Jugement constatant la bonne exécution du plan 1416, //Jugement constatant la bonne exécution du plan
1417, //Jugement d'extension de liquidation judiciaire 1417, //Jugement d'extension de liquidation judiciaire

View File

@ -86,14 +86,29 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
*/ */
protected $logger; protected $logger;
protected $iDb;
/** /**
* MInsee * MInsee
*/ */
public function __construct($db = null) public function __construct($db = null)
{ {
$this->conn = Zend_Registry::get('doctrine'); if ($db === null) {
$this->iBodacc = new Metier_Bodacc_MBodacc(); $this->iDb = new Metier_Util_Db();
} else {
$this->iDb = $db;
}
$this->conn = Zend_Registry::get('doctrine');
$this->iBodacc = new Metier_Bodacc_MBodacc();
}
/**
* Set Logger from app registry
*/
public function setLogger()
{
if (Zend_Registry::isRegistered('logger')) { if (Zend_Registry::isRegistered('logger')) {
$this->logger = Zend_Registry::get('logger'); $this->logger = Zend_Registry::get('logger');
} }
@ -359,9 +374,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
*/ */
public function rechercheDir($nom, $prenom='', $fonction='', $dateNaiss='', $villeNaiss='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) public function rechercheDir($nom, $prenom='', $fonction='', $dateNaiss='', $villeNaiss='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
{ {
if ($this->logger !== null) { Metier_Util_Log::write('I', "rechercheDir de $nom, $prenom, $fonction, $dateNaiss, $villeNaiss (Max Rep=$nbRep)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->logger->info("rechercheDir de $nom, $prenom, $fonction, $dateNaiss, $villeNaiss (Max Rep=$nbRep)");
}
$jour = $mois = $annee = ''; $jour = $mois = $annee = '';
if ($dateNaiss != '' && $dateNaiss != '//' && $dateNaiss != '0/0/0') { if ($dateNaiss != '' && $dateNaiss != '//' && $dateNaiss != '0/0/0') {
$tabDateNaiss = explode('/', $dateNaiss); $tabDateNaiss = explode('/', $dateNaiss);
@ -1243,9 +1256,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
IF (e.adr_dep=99, (SELECT libPays FROM jo.tabPays p WHERE p.codePaysInsee=e.adr_com) , 'France') AS libPays"; IF (e.adr_dep=99, (SELECT libPays FROM jo.tabPays p WHERE p.codePaysInsee=e.adr_com) , 'France') AS libPays";
if ($typeId == 'TEL') { if ($typeId == 'TEL') {
if ($this->logger !== null) { Metier_Util_Log::write('I', "Recherche par TEL de $id avec un maximum de $nbRep réponses", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->logger->info("Recherche par TEL de $id avec un maximum de $nbRep réponses");
}
try { try {
$stmt = $this->conn->executeQuery("SELECT count(*) AS nb FROM jo.etablissements $stmt = $this->conn->executeQuery("SELECT count(*) AS nb FROM jo.etablissements
WHERE TEL=$id OR FAX=$id $filtreActif"); WHERE TEL=$id OR FAX=$id $filtreActif");
@ -1482,7 +1493,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
'Capital' => $etab['capital'], 'Capital' => $etab['capital'],
'CapitalDev' => $etab['capitalDev'], 'CapitalDev' => $etab['capitalDev'],
'TrancheCA' => $etab['tca'], 'TrancheCA' => $etab['tca'],
'TrancheCALib' => isset(self::$tabTCA[$etab['tca']])?self::$tabTCA[$etab['tca']]:null, 'TrancheCALib' => self::$tabTCA[$etab['tca']],
'EffEnTr' => $etab['teff_entrep'], 'EffEnTr' => $etab['teff_entrep'],
'EffEnTrLib' => self::$tabEffectif[$etab['teff_entrep']], 'EffEnTrLib' => self::$tabEffectif[$etab['teff_entrep']],
'EffEtTr' => $etab['teff_etab'], 'EffEtTr' => $etab['teff_etab'],
@ -1787,37 +1798,33 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$date = $this->companyEvenDateStop; $date = $this->companyEvenDateStop;
} }
$sql = "SELECT CONCAT(LPAD(e.insSIREN,9,0), LPAD(e.insNIC,5,0)) AS Siret, $db = Zend_Db_Table_Abstract::getDefaultAdapter();
LPAD(e.insSIREN,9,0) AS Siren, $sql = $db->select()
LPAD(e.insNIC,5,0) AS Nic, ->from(array('e'=>'insee_even'), array(
e.insSIEGE AS Siege, 'CONCAT(LPAD(e.insSIREN,9,0), LPAD(e.insNIC,5,0)) AS Siret',
e.insNOMEN AS Nom, 'LPAD(e.insSIREN,9,0) AS Siren',
e.insCODPOS AS CP, 'LPAD(e.insNIC,5,0) AS Nic',
e.insCJ AS FJ, 'insSIEGE AS Siege',
e.insAPEN700 AS NafEnt, 'insNOMEN AS Nom',
e.insAPEN700 AS NafEtab, 'insCODPOS AS CP',
e.insTEFEN AS EffEnTr, 'insCJ AS FJ',
e.insEFENCENT AS Effectif, 'insAPEN700 AS NafEnt',
e.insDCRET AS DateCreaEt, 'insAPEN700 AS NafEtab',
e.insDCREN AS DateCreaEn, 'insTEFEN AS EffEnTr',
e.insEVE, 'insEFENCENT AS Effectif',
i.insRECME AS RECME 'insDCRET AS DateCreaEt',
FROM insee.insee_even e 'insDCREN AS DateCreaEn',
LEFT OUTER JOIN insee.insee_notices i ON (i.insSIREN=e.insSIREN AND i.insNIC=e.insNIC) 'insEVE',
WHERE e.insSIREN=:siren AND idFlux<:date ORDER BY idFlux DESC, insSIEGE DESC LIMIT 0,1"; ), 'insee')
try { ->joinLeft(array('i'=>'insee_notices'), 'i.insSIREN=e.insSIREN AND i.insNIC=e.insNIC', array(
$stmt = $this->conn->prepare($sql); 'insRECME AS RECME',
$stmt->bindValue('siren', $siren); ), 'insee')
$stmt->bindValue('date', $date); ->where('e.insSIREN = ?', $siren)
$stmt->execute(); ->where('idFlux < ?', $date)
} catch (\Doctrine\DBAL\DBALException $e) { ->order('idFlux DESC')->order('insSIEGE DESC')->limit(1);
if ($this->logger !== null) { $result = $db->fetchRow($sql, null, Zend_Db::FETCH_ASSOC);
$this->logger->error($e->getMessage()); if ($result !== null) {
} $identite = $result;
}
if ($stmt->rowCount() > 0) {
$identite = $stmt->fetch(\PDO::FETCH_ASSOC);
} }
// --- Recherche dans le stock // --- Recherche dans le stock
else { else {
@ -1827,37 +1834,31 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
break; break;
} }
} }
$sql = $db->select()
$sql = "SELECT CONCAT(LPAD(e.SIREN,9,0), LPAD(e.NIC,5,0)) AS Siret, ->from(array('e'=>$notice), array(
LPAD(e.SIREN,9,0) AS Siren, 'CONCAT(LPAD(SIREN,9,0), LPAD(NIC,5,0)) AS Siret',
LPAD(e.NIC,5,0) AS Nic, 'LPAD(SIREN,9,0) AS Siren',
e.SIEGE AS Siege, 'LPAD(NIC,5,0) AS Nic',
e.NOMEN_LONG AS Nom, 'SIEGE AS Siege',
e.CODPOS AS CP, 'NOMEN_LONG AS Nom',
e.CJ AS FJ, 'CODPOS AS CP',
e.APEN700 AS NafEnt, 'CJ AS FJ',
e.APEN700 AS NafEtab, 'APEN700 AS NafEnt',
e.TEFEN AS EffEnTr, 'APEN700 AS NafEtab',
e.EFENCENT AS Effectif, 'TEFEN AS EffEnTr',
e.DCRET AS DateCreaEt, 'EFENCENT AS Effectif',
insDCREN AS DateCreaEn 'DCRET AS DateCreaEt',
i.insRECME AS RECME 'insDCREN AS DateCreaEn',
FROM insee.$notice e ), 'historiques')
LEFT OUTER JOIN insee.insee_notices i ON (i.insSIREN=e.SIREN AND i.insNIC=e.NIC) ->joinLeft(array('i'=>'insee_notices'), 'i.insSIREN=e.SIREN AND i.insNIC=e.NIC', array(
WHERE e.insSIREN=:siren AND idFlux<:date ORDER BY idFlux DESC, insSIEGE DESC LIMIT 0,1"; 'insRECME AS RECME',
try { ), 'insee')
$stmt = $this->conn->prepare($sql); ->where('e.insSIREN = ?', $siren)
$stmt->bindValue('siren', $siren); ->where('idFlux < ?', $date)
$stmt->bindValue('date', $date); ->order('idFlux DESC')->order('insSIEGE DESC')->limit(1);
$stmt->execute(); $result = $db->fetchRow($sql, null, Zend_Db::FETCH_ASSOC);
} catch (\Doctrine\DBAL\DBALException $e) { if ($result !== null) {
if ($this->logger !== null) { $identite = $result;
$this->logger->error($e->getMessage());
}
}
if ($stmt->rowCount() > 0) {
$identite = $stmt->fetch(\PDO::FETCH_ASSOC);
} }
} }
if (count($identite) > 0) { if (count($identite) > 0) {
@ -1880,22 +1881,15 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} }
// --- Capital // --- Capital
$sql = "SELECT valeur FROM jo.rncs_modifs $sql = $db->select()
WHERE champs='capitalMontant' AND siren=:siren AND flux<:date ->from('rncs_modifs', array('valeur'), 'jo')
ORDER BY flux DESC LIMIT 0,1"; ->where('champs = ?', 'capitalMontant')
try { ->where('siren = ? ', $siren)
$stmt = $this->conn->prepare($sql); ->where('flux < ?', $date)
$stmt->bindValue('siren', $siren); ->order('flux DESC')->limit(1);
$stmt->bindValue('date', $date); $result = $db->fetchRow($sql, null, Zend_Db::FETCH_OBJ);
$stmt->execute();
} catch (\Doctrine\DBAL\DBALException $e) {
if ($this->logger !== null) {
$this->logger->error($e->getMessage());
}
}
$identite['Capital'] = ''; $identite['Capital'] = '';
if ($stmt->rowCount() > 0) { if ($result !== null) {
$result = $stmt->fetch(\PDO::FETCH_OBJ);
$identite['Capital'] = $result->valeur; $identite['Capital'] = $result->valeur;
} }
@ -2245,9 +2239,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$iTva = new Metier_Partenaires_MTva(); $iTva = new Metier_Partenaires_MTva();
$iTva->setCompanyId($siren); $iTva->setCompanyId($siren);
if ($tabInsee['ACTIF']==1 && (date('H')<10 || date('H')>=18)) { $iTva->setRemote();
$iTva->setRemote();
}
$iTva->getTVA(); $iTva->getTVA();
$vatNumber = $iTva->vatNumber; $vatNumber = $iTva->vatNumber;
$vatDefined = $iTva->vatDefined; $vatDefined = $iTva->vatDefined;
@ -2663,17 +2655,17 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
'5510Z', // Hôtels et hébergement similaire '5510Z', // Hôtels et hébergement similaire
'5520Z', // Hébergement touristique et autre hébergement de co '5520Z', // Hébergement touristique et autre hébergement de co
'5530Z', // Terrains de camping et parcs pour caravanes ou véh '5530Z', // Terrains de camping et parcs pour caravanes ou véh
'702A', // Location de logements '702A', // Location de logements
'6820A', // Location de logements '6820A', // Location de logements
'6820B', // Location de terrains et d'autres biens immobiliers '6820B', // Location de terrains et d'autres biens immobiliers
'551A', // Hôtels touristiques avec restaurant '551A', // Hôtels touristiques avec restaurant
'5610A', // Restauration traditionnelle '5610A', // Restauration traditionnelle
'741J', // Administration d'entreprises '741J', // Administration d'entreprises
'7010Z', // Activités des sièges sociaux '7010Z', // Activités des sièges sociaux
'552C', // Exploitation de terrains de camping '552C', // Exploitation de terrains de camping
'702C', // Location d'autres biens immobiliers '702C', // Location d'autres biens immobiliers
'551C', // Hôtels touristiques sans restaurant '551C', // Hôtels touristiques sans restaurant
'553A', // Restauration de type traditionnel '553A', // Restauration de type traditionnel
); );
if (in_array($tabInsee['APE_ENT'], $tabNafTourisme) if (in_array($tabInsee['APE_ENT'], $tabNafTourisme)
|| in_array($tabInsee['APE_ETAB'], $tabNafTourisme)) { || in_array($tabInsee['APE_ETAB'], $tabNafTourisme)) {
@ -2792,149 +2784,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");
}
$tabAnn = $this->getAnnoncesLegales($siren, 0, '', false, false);
if (count($tabAnn) > 0) {
// Date de dernière mise à jour
$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'] = '';
} else {
$dateAnnLastCompare = DateTime::createFromFormat('Y-m-d', $tabRet['dateMajANN']);
}
// Procol
$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
try {
$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'] = '';
}
}
}
} catch (\Doctrine\DBAL\DBALException $e) {
if ($this->logger !== null) {
$this->logger->error($e->getMessage());
}
}
}
// Absorption
if ($identite['SituationJuridique'] == '') {
$tabAnn = $this->getAnnoncesLegales($siren, 0, 'A', false);
$nbAnn = count($tabAnn);
if ($nbAnn > 0) {
if ($this->debug) {
file_put_contents('procol.log', "DETECTION ABSORPTION\n", FILE_APPEND);
}
$dateAnn = $tabAnn[$nbAnn-1]['dateInsertionSD'];
$dateAnnCompare = DateTime::createFromFormat('Y-m-d H:i:s', $dateAnn);
$dateAnnCompare->add(new DateInterval('P364D'));
if ($dateAnnCompare > $dateAnnLastCompare) {
$tabRet['SituationJuridique'] = 'A';
if ($this->debug) {
file_put_contents('procol.log', "Entreprise absorbée\n", FILE_APPEND);
}
}
}
}
// Dissolution
if ($identite['SituationJuridique'] == '') {
$tabAnn = $this->getAnnoncesLegales($siren, 0, 'D', false);
$nbAnn = count($tabAnn);
if ($nbAnn > 0) {
if ($this->debug) {
file_put_contents('procol.log', "DETECTION DISSOLUTION\n", FILE_APPEND);
}
$dateAnn = $tabAnn[$nbAnn-1]['dateInsertionSD'];
$dateAnnCompare = DateTime::createFromFormat('Y-m-d H:i:s', $dateAnn);
$dateAnnCompare->add(new DateInterval('P364D'));
if ($dateAnnCompare > $dateAnnLastCompare) {
$tabRet['SituationJuridique'] = 'D';
if ($this->debug) {
file_put_contents('procol.log', "Entreprise dissolue\n", FILE_APPEND);
}
}
}
}
}
if ($this->debug) {
file_put_contents('procol.log', "SituationJuridique = ".$tabRet['SituationJuridique']."\n", FILE_APPEND);
}
$timer['getAnnoncesLegales'] = microtime(true);
} // Fin Situation Juridique
if (($tabInsee['CJ'] > 0 && $tabInsee['CJ'] < 20 if (($tabInsee['CJ'] > 0 && $tabInsee['CJ'] < 20
|| $tabInsee['CJ'] > 999 && $tabInsee['CJ'] < 2000) && $tabInsee['DIR_FCT']=='') { || $tabInsee['CJ'] > 999 && $tabInsee['CJ'] < 2000) && $tabInsee['DIR_FCT']=='') {
$tabRet['dir1Titre'] = self::$tabFct['PP']; $tabRet['dir1Titre'] = self::$tabFct['PP'];
@ -3423,34 +3272,34 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
if (strtoupper(trim($entrep['sigle'])) != strtoupper(trim($tabRet['Sigle']))) { if (strtoupper(trim($entrep['sigle'])) != strtoupper(trim($tabRet['Sigle']))) {
$tabRet['sigleLong'] = strtoupper($entrep['sigle']); $tabRet['sigleLong'] = strtoupper($entrep['sigle']);
} }
$tabRet['dateImmat'] = $entrep['dateImma']; $tabRet['dateImmat'] = $entrep['dateImma'];
$tabRet['dateRad'] = $entrep['dateRad']; $tabRet['dateRad'] = $entrep['dateRad'];
$tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100); $tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100);
$tabRet['CapitalDev'] = $entrep['capitalDevIso']; $tabRet['CapitalDev'] = $entrep['capitalDevIso'];
$tabRet['CapitalType'] = trim(strtoupper(substr($entrep['capitalType'], 0, 1))); $tabRet['CapitalType'] = trim(strtoupper(substr($entrep['capitalType'], 0, 1)));
// Par défaut, la Forme juridique qui fait foie est celle de l'INPI // Par défaut, la Forme juridique qui fait foie est celle de l'INPI
$fjInpi = $entrep['cj']*1; $fjInpi = $entrep['cj']*1;
if ($tabRet['FJ']*1 != $fjInpi && $fjInpi>0) { if ($tabRet['FJ']*1 != $fjInpi && $fjInpi>0) {
$tabRet['FJ2'] = $tabRet['FJ']; $tabRet['FJ2'] = $tabRet['FJ'];
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib']; $tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
$tabRet['FJ'] = $fjInpi; $tabRet['FJ'] = $fjInpi;
$tabRet['FJ_lib'] = $this->getLibelleFJ($fjInpi); $tabRet['FJ_lib'] = $this->getLibelleFJ($fjInpi);
} else { } else {
$tabRet['FJ2'] = $tabRet['FJ']; $tabRet['FJ2'] = $tabRet['FJ'];
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib']; $tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
} }
if ($fjInpi >= 1000 && $fjInpi < 2000) { if ($fjInpi >= 1000 && $fjInpi < 2000) {
$tabRet['dir1Titre'] = 'Personne physique'; $tabRet['dir1Titre'] = 'Personne physique';
$tabRet['dir1Code'] = '1050'; $tabRet['dir1Code'] = '1050';
$tabRet['dir1NomPrenom'] = strtoupper($entrep['nom']).' '. $tabRet['dir1NomPrenom'] = strtoupper($entrep['nom']).' '.
ucwords(strtolower($entrep['prenom'])); ucwords(strtolower($entrep['prenom']));
$tabRet['dir1Nom'] = strtoupper($entrep['nom']); $tabRet['dir1Nom'] = strtoupper($entrep['nom']);
$tabRet['dir1Prenom'] = ucwords(strtolower($entrep['prenom'])); $tabRet['dir1Prenom'] = ucwords(strtolower($entrep['prenom']));
$tabRet['dir1NomUsage'] = strtoupper($entrep['nomUsage']); $tabRet['dir1NomUsage'] = strtoupper($entrep['nomUsage']);
$tabRet['dir1DateNaiss'] = $entrep['dateNaiss']; $tabRet['dir1DateNaiss'] = $entrep['dateNaiss'];
$tabRet['dir1LieuNaiss'] = $entrep['lieuNaiss']; $tabRet['dir1LieuNaiss'] = $entrep['lieuNaiss'];
$tabRet['dir1Genre'] = $entrep['sexe']; $tabRet['dir1Genre'] = $entrep['sexe'];
} }
if ($tabRet['DateMajRCS'] == '') { if ($tabRet['DateMajRCS'] == '') {
@ -3467,10 +3316,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
// On signal que l'entreprise est radié du RCS // On signal que l'entreprise est radié du RCS
else { else {
$tabRet['EntActiveRCS'] = 0; $tabRet['EntActiveRCS'] = 0;
// On signal que l'entreprise est radié du RCS
if ($tabRet['SituationJuridique'] == '') {
$tabRet['SituationJuridique'] = 'RR';
}
} }
// Spécificité EIRL // Spécificité EIRL
@ -3600,10 +3445,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
// On signal que l'entreprise est radié du RCS // On signal que l'entreprise est radié du RCS
else { else {
$tabRet['EntActiveRCS'] = 0; $tabRet['EntActiveRCS'] = 0;
// On signal que l'entreprise est radié du RCS
if ($tabRet['SituationJuridique'] == '') {
$tabRet['SituationJuridique'] = 'RR';
}
} }
$tabRet['NomCommercial'] = $rmEntrep['nomCommercial']; $tabRet['NomCommercial'] = $rmEntrep['nomCommercial'];
@ -3623,24 +3464,25 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$tabRet['dir1Code'] = '1050'; $tabRet['dir1Code'] = '1050';
} }
if ($accesDist && if ($accesDist
// Département couvert par Infogreffe // 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 // Forme Juridique présente au greffe
(in_array($tabInsee['CJ'], array(1100,1200,1300,1700,9900)) || (in_array($tabInsee['CJ'], array(1100, 1200, 1300, 1700, 9900))
($tabInsee['CJ']>=3100 && $tabInsee['CJ']<=3299) || || ($tabInsee['CJ']>=3100 && $tabInsee['CJ']<=3299)
($tabInsee['CJ']>=4100 && $tabInsee['CJ']<=4199) || || ($tabInsee['CJ']>=4100 && $tabInsee['CJ']<=4199)
($tabInsee['CJ']>=5100 && $tabInsee['CJ']<=5899) || || ($tabInsee['CJ']>=5100 && $tabInsee['CJ']<=5899)
($tabInsee['CJ']>=6100 && $tabInsee['CJ']<=6599) || || ($tabInsee['CJ']>=6100 && $tabInsee['CJ']<=6599)
preg_match('/EIRL/', $nom) || preg_match('/EIRL/', $nom2) || || preg_match('/EIRL/', $nom) || preg_match('/EIRL/', $nom2)
preg_match('/EIRL/', $tabRet['Sigle']) || preg_match('/EIRL/', $tabRet['Enseigne']) || || preg_match('/EIRL/', $tabRet['Sigle'])
preg_match('/EIRL/', $tabRet['Adresse']) || preg_match('/EIRL/', $tabRet['Adresse2']) || preg_match('/EIRL/', $tabRet['Enseigne'])
) || preg_match('/EIRL/', $tabRet['Adresse'])
&& ($tabInsee['CJ'] == 1700 || // Agents commerciaux (uniquement au Greffes RSAC) || preg_match('/EIRL/', $tabRet['Adresse2']) )
$tabRet['numRC'] == '' || // Numéro de RCS absent = Anomalie (<à3%) && ($tabInsee['CJ']==1700 || // Agents commerciaux (uniquement au Greffes RSAC)
$tabRet['Tribunal'] == '' || // Tribunal absent = anomalie $tabRet['numRC']=='' || // Numéro de RCS absent = Anomalie (<à3%)
str_replace('-', '', $tabRet['dateImmat'])*1 == 0 || // Pas de date d'immat = anomalie (<à9%) $tabRet['Tribunal']=='' || // Tribunal absent = anomalie
($nbEtab*1 == 0 && str_replace('-', '', $tabRet['dateRad'])*1 == 0) // Inactif sans date de RAD 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
) )
) { ) {
if ($this->debugtime) { if ($this->debugtime) {
@ -3653,7 +3495,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$iRncs = new Metier_Partenaires_MRncs(); $iRncs = new Metier_Partenaires_MRncs();
if ($this->debugtime) { 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); file_put_contents(LOG_PATH.'/accesDistant.log', date('YmdHis').";$siren;MGreffes APRES ($duree s)\n", FILE_APPEND);
} }
@ -3667,12 +3509,11 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
if (str_replace('-', '', $tabRet['dateImmat'])*1 == 0) { 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']; if (str_replace('-', '', $tabRet['dateRad'])*1==0) {
if (str_replace('-', '', $tabRet['dateRad'])*1 > 0 && $tabRet['SituationJuridique'] == '') { $tabRet['dateRad'] = $etabG['DateRadiation'];
$tabRet['SituationJuridique'] = 'RR';
}
} }
if (preg_match('/[A-Z]/i', substr($tabRet['AutreId'], 2, 2)) || $tabRet['AutreId']=='') { if (preg_match('/[A-Z]/i', substr($tabRet['AutreId'], 2, 2)) || $tabRet['AutreId']=='') {
$tabRet['AutreId'] = $etabG['NumRC2']; $tabRet['AutreId'] = $etabG['NumRC2'];
} }
@ -3685,9 +3526,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$tabRad = $this->getAnnoncesLegales($siren, 0, 'R'); $tabRad = $this->getAnnoncesLegales($siren, 0, 'R');
// Il y a au moins une annonce de radiation au Bodacc // Il y a au moins une annonce de radiation au Bodacc
if (count($tabRad) > 0) { if (count($tabRad) > 0) {
if ($tabRet['SituationJuridique'] == '') {
$tabRet['SituationJuridique'] = 'RP';
}
$dateEff = str_replace('-', '', $tabRad[0]['dateEffet'])*1; $dateEff = str_replace('-', '', $tabRad[0]['dateEffet'])*1;
$dateJug = str_replace('-', '', $tabRad[0]['dateJugement'])*1; $dateJug = str_replace('-', '', $tabRad[0]['dateJugement'])*1;
$datePar = str_replace('-', '', $tabRad[0]['DateParution'])*1; $datePar = str_replace('-', '', $tabRad[0]['DateParution'])*1;
@ -3830,15 +3668,84 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$timer['infosBoursieres'] = microtime(true); $timer['infosBoursieres'] = microtime(true);
} }
// --- Situation Juridique
$situation = '';
if (intval($siren) > 100) {
$annoncesList = $this->getAnnoncesLegales($siren);
$annoncesNb = count($annoncesList);
$detect = new Metier_Defaillance_Detect();
$detect->setEvenNb($annoncesNb);
$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($tabRet['bilanDate']);
if (isset($tabRet['dateRad'])) {
$detect->setGreffeRadiation($tabRet['dateRad']);
}
if ($annoncesNb > 0) {
// Parcours annonces
$tabJugements = array();
foreach ($annoncesList as $i => $ann) {
$date = str_replace('-','', $ann['dateJugement']);
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['dateParution']);
}
$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
if ($annoncesNb > 0) {
$annonceLast = end($annoncesList);
$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 // 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) { if (str_replace('-', '', $tabRet['DateMajRCS'])*1 > $lastMaj) {
$lastMaj = str_replace('-', '', $tabRet['DateMajRCS'])*1; $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; $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; $lastMaj = str_replace('-', '', $tabRet['dateMajANN'])*1;
} }
$tabRet['dateMajIdentite'] = Metier_Util_Date::dateT('Ymd', 'Y-m-d', $lastMaj); $tabRet['dateMajIdentite'] = Metier_Util_Date::dateT('Ymd', 'Y-m-d', $lastMaj);
@ -4877,42 +4784,13 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
*/ */
public function getAnnoncesLegalesPlan($type, $fj, $annonce) public function getAnnoncesLegalesPlan($type, $fj, $annonce)
{ {
// --- Bodacc
if ($type == 'bodacc') {
$tabEven = explode(';', $annonce['typeEven']);
foreach ($tabEven as $even) {
$this->matchPlanDuree($even, $annonce['dateJugement'], $annonce['annonce']);
}
}
// --- Annonce
if ($type == 'annonce') {
$this->matchPlanDuree($annonce['typeEven'], $annonce['dateJugement'], $annonce['annonce']);
}
// --- Historique
if ($type == 'histo') {
$this->matchPlanDuree($annonce['CODEVE'], $annonce['DATE'], $annonce['annonceTxt']);
}
}
/**
*
*/
protected function matchPlanDuree($eve, $date, $txt)
{
if ($this->debug) {
file_put_contents('procol.log', "MATCH DUREE PLAN : ", FILE_APPEND);
}
$evenDetect = array( $evenDetect = array(
'75', // Histo
'1407', // Modification de plan '1407', // Modification de plan
'1409', // Modification du plan de continuation '1409', // Modification du plan de continuation
'1413', // Arrêt du plan de continuation '1413', // Arrêt du plan de continuation
'1414', // Arrêt du plan de redressement '1414', // Arrêt du plan de redressement
'1101', // Arrêt du plan de sauvegarde '1101', // Arrêt du plan de sauvegarde
); );
$fjDetect = array( $fjDetect = array(
16,1600, // Exploitant agricole 16,1600, // Exploitant agricole
63,6316,6317,6318, // Société coopérative agricole 63,6316,6317,6318, // Société coopérative agricole
@ -4922,41 +4800,80 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
6597,6598, 6597,6598,
); );
if (in_array($eve, $evenDetect)) { // --- Bodacc
if (($this->dureePlan == 0 || $this->dureePlan == 120)) { if ($type == 'bodacc') {
// --- Lecture dureePlan dans annonce $tabEven = explode(';', $annonce['typeEven']);
$this->debutPlan = str_replace('-', '', $date); // SSAAMMJJ foreach ($tabEven as $even) {
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $txt, $matches)) { if (intval($even)!=0) {
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois if (($this->dureePlan==0 || $this->dureePlan==120) && in_array($even, $evenDetect)) {
if ($this->debug) {
file_put_contents('procol.log', "BODACC MATCH DUREE PLAN \n", FILE_APPEND);
}
// --- Lecture dureePlan dans annonce
$this->debutPlan = str_replace('-', '', $annonce['dateJugement']); // SSAAMMJJ
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonce'], $matches)) {
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois
}
// --- Duree du Plan par défaut sur FJ et par défaut
if ($this->dureePlan<1 || $this->dureePlan>120) {
if (in_array($fj, $fjDetect)) {
$this->dureePlan = 180; // 15 ans
} else {
$this->dureePlan = 120; // 10 ans = 120 mois
}
}
$this->finPlan = Metier_Util_Date::period2Days($this->debutPlan, $this->dureePlan.' mois');
}
} }
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+mois?/Uisu', $txt, $matches)) { }
$this->dureePlan = $matches[1]; }
// --- Historique
if ($type == 'histo') {
if (($this->dureePlan==0 || $this->dureePlan==120) && $annonce['CODEVE']==75) { // Modification de plan
$this->debutPlan = $annonce['DATE']; // SSAAMMJJ
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonceTxt'], $matches)) {
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois
if ($this->debug) {
file_put_contents('procol.log', "HISTO MATCH DUREE PLAN \n", FILE_APPEND);
}
} }
// --- Duree du Plan par défaut sur FJ et par défaut // --- Duree du Plan par défaut sur FJ et par défaut
if ($this->dureePlan < 1 || $this->dureePlan > 120) { if ($this->dureePlan<1 || $this->dureePlan>120) {
if (in_array($fj, $fjDetect)) { if (in_array($fj, $fjDetect)) {
$this->dureePlan = 180; // 15 ans $this->dureePlan = 180; // 15 ans
} else { } else {
$this->dureePlan = 120; // 10 ans = 120 mois $this->dureePlan = 120; // 10 ans = 120 mois
} }
} }
if ($this->debug) {
file_put_contents('procol.log', $this->dureePlan." mois", FILE_APPEND);
}
$this->finPlan = Metier_Util_Date::period2Days($this->debutPlan, $this->dureePlan.' mois'); $this->finPlan = Metier_Util_Date::period2Days($this->debutPlan, $this->dureePlan.' mois');
} }
} }
if ($this->debug) { // --- Annonce
file_put_contents('procol.log', "\n", FILE_APPEND); if ($type == 'annonce') {
if (($this->dureePlan<1 || $this->dureePlan==120) && in_array($annonce['typeEven'], $evenDetect)) {
$this->debutPlan = str_replace('-', '', $annonce['dateJugement']); // SSAAMMJJ
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonce'], $matches)) {
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois
} elseif (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonce'], $matches)) {
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois
}
if ($this->dureePlan<1 || $this->dureePlan>120) {
if (in_array($fj, $fjDetect)) {
$this->dureePlan = 180; // 15 ans
} else {
$this->dureePlan = 120; // 10 ans = 120 mois
}
}
$this->finPlan = Metier_Util_Date::period2Days($this->debutPlan, $this->dureePlan.' mois');
}
} }
} }
protected function getAnnoncesLegalesEffacement($siren, $rubrique, $tabRet) protected function getAnnoncesLegalesEffacement($siren, $rubrique, $tabRet)
{ {
if ($this->debug) {
file_put_contents('procol.log', "Effacement Procol\n", FILE_APPEND);
}
$effacement = false; $effacement = false;
$MaxPeriodProcol = 80000; $MaxPeriodProcol = 80000;
// --- Si il y a des annonces // --- Si il y a des annonces
@ -4966,9 +4883,13 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
// --- Liste des jugements principaux - Tri chronologique par date de jugement // --- Liste des jugements principaux - Tri chronologique par date de jugement
foreach ($tabRet as $i => $ann) { foreach ($tabRet as $i => $ann) {
$item = new stdClass(); $item = new stdClass();
$dateEff = str_replace('-', '', $ann['dateEffet'])*1;
$dateJug = str_replace('-', '', $ann['dateJugement'])*1; $dateJug = str_replace('-', '', $ann['dateJugement'])*1;
$datePar = str_replace('-', '', $ann['DateParution'])*1; $datePar = str_replace('-', '', $ann['DateParution'])*1;
if ($dateJug > 0) { if ($dateEff > 0) {
$item->date = $dateEff;
$item->dateISO8601 = $ann['dateEffet'];
} elseif ($dateJug > 0) {
$item->date = $dateJug; $item->date = $dateJug;
$item->dateISO8601 = $ann['dateJugement']; $item->dateISO8601 = $ann['dateJugement'];
} elseif ($datePar > 0) { } elseif ($datePar > 0) {
@ -4991,7 +4912,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
// --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives // --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives
if ($rubrique == 'P') { if ($rubrique == 'P') {
if ($this->debug) { if ($this->debug) {
file_put_contents('procol.log', "Rubrique P\n", FILE_APPEND); file_put_contents('procol.log', "Rubrique P = ".print_r($tabRet, 1)."\n", FILE_APPEND);
} }
// Si plan recherche des annonces suivantes // Si plan recherche des annonces suivantes
if ($this->dureePlan > 0) { if ($this->dureePlan > 0) {
@ -5015,7 +4936,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
1417, 1418, 1419, 1417, 1418, 1419,
// Cloture // Cloture
1500, 1501, 1502, 1503, 1504, 1514 ))) { 1500, 1501, 1502, 1503, 1504, 1514 ))) {
$this->dureePlan = 0; $this->dureePlan = 0;
} }
} }
if ($this->debug) { if ($this->debug) {
@ -5589,6 +5510,9 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} }
} }
if ($this->debug && $rubrique == 'D') {
file_put_contents('procol.log', $sql."\n", FILE_APPEND);
}
try { try {
$stmt = $this->conn->executeQuery($sql); $stmt = $this->conn->executeQuery($sql);
} catch (\Doctrine\DBAL\DBALException $e) { } catch (\Doctrine\DBAL\DBALException $e) {
@ -5858,8 +5782,6 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$adresse.=ucfirst(strtolower($ann['adresse'])).', '; $adresse.=ucfirst(strtolower($ann['adresse'])).', ';
$adresse=trim(preg_replace('/^0+/', '', preg_replace('/ +/', ' ', $adresse))); $adresse=trim(preg_replace('/^0+/', '', preg_replace('/ +/', ' ', $adresse)));
if(!isset($ann['siren'])){$ann['siren']=null;}
if(!isset($ann['triNom'])){$ann['triNom']=null;}
if (preg_match('/(3100|3200|3300|3999)/', $ann['typeEven'].';'.$ann['strEven'])) { if (preg_match('/(3100|3200|3300|3999)/', $ann['typeEven'].';'.$ann['strEven'])) {
$depotComptes = true; $depotComptes = true;
$strRCS = 'Siren : '. $ann['siren'] . '. '; $strRCS = 'Siren : '. $ann['siren'] . '. ';
@ -6396,9 +6318,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} }
} }
if ($this->logger !== null) { Metier_Util_Log::write('I', "getAnnoncesBoamp(siren=$siren, idAnnonce=$idAnnonce, $idA)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->logger->info("getAnnoncesBoamp(siren=$siren, idAnnonce=$idAnnonce, $idA)");
}
return $tabRet; return $tabRet;
} }
@ -6456,9 +6376,8 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
*/ */
public function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100) public function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100)
{ {
if ($this->logger !== null) { Metier_Util_Log::write('I', "Début getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->logger->info("Début getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce)");
}
$siretMin = $siren.'00000'; $siretMin = $siren.'00000';
$siretMax = $siren.'99999'; $siretMax = $siren.'99999';
$strIdAnn = ''; $strIdAnn = '';
@ -6561,9 +6480,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} }
} }
if ($this->logger !== null) { Metier_Util_Log::write('I', "Fin getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce) : ".count($tabRet).' annonce(s)', __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->logger->info("Fin getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce) : ".count($tabRet).' annonce(s)');
}
return $tabRet; return $tabRet;
} }