Gestion de l'effacement du plan
This commit is contained in:
parent
d3c9ed4b34
commit
5e780ab91a
@ -4909,7 +4909,6 @@ class MInsee
|
||||
if ( intval($even) != 0 ) {
|
||||
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);
|
||||
//file_put_contents('plan.log', "MATCH DUREE PLAN : ", 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) ) {
|
||||
@ -5364,10 +5363,8 @@ class MInsee
|
||||
$sqlAnnonceWhere = "a.siren=$siren";
|
||||
$sqlAnnonceWhere.= $sqlAnnonceRubrique;
|
||||
$sqlAnnonceWhere.= " AND a.tribunal=t.triCode AND a.dateSuppr=0";
|
||||
if ($visualisation === true) {
|
||||
// --- Ne pas afficher les annonces si la procédure à plus de 4 mois
|
||||
$sqlAnnonceWhere.= " AND a.dateJugement > DATE_SUB(NOW(), INTERVAL 24 MONTH)";
|
||||
}
|
||||
// --- Ne pas utiliser les annonces si la procédure à plus de 4 mois
|
||||
$sqlAnnonceWhere.= " AND a.dateJugement > DATE_SUB(NOW(), INTERVAL 24 MONTH)";
|
||||
$sqlAnnonceWhere.= " GROUP BY a.siren, a.dateJugement, a.typeEven ORDER BY a.dateJugement DESC";
|
||||
$sqlAnnonce = $this->getAnnoncesLegalesAnnonce()." WHERE ".$sqlAnnonceWhere;
|
||||
}
|
||||
@ -5821,46 +5818,55 @@ class MInsee
|
||||
if ($visualisation === false) {
|
||||
// --- Si il y a des annonces
|
||||
if (count($tabRet) > 0) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Even ".print_r($tabRet,1)."\n", FILE_APPEND);
|
||||
$tabJugements = array();
|
||||
// --- Liste des jugements principaux - élimination des secondaires
|
||||
// --- Liste des jugements principaux, élimination des secondaires - Trier ante-chronologique
|
||||
foreach ($tabRet as $i => $ann) {
|
||||
$tabJugements[$ann['dateJugement']] = $ann['evenements'][0]['CodeEven'];
|
||||
$item = new stdClass();
|
||||
$item->date = str_replace('-','', $ann['dateJugement']);
|
||||
$item->dateISO8601 = $ann['dateJugement'];
|
||||
$item->code = $ann['evenements'][0]['CodeEven'];
|
||||
$tabJugements[] = $item;
|
||||
// Derniere date de procol
|
||||
if ($i == 0) {
|
||||
$evenProcolDateLast = $item->date;
|
||||
}
|
||||
// Premier evenement
|
||||
if ($i == count($tabRet)-1) {
|
||||
$evenProcolFirst = $item->code;
|
||||
}
|
||||
}
|
||||
// --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives
|
||||
if ($rubrique=='P') {
|
||||
// Si plan recherche des annonces suivantes
|
||||
if ($this->dureePlan > 0) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Elimination du plan\n", FILE_APPEND);
|
||||
ksort($tabJugements);
|
||||
// Tableau chronologique des dates de jugement => code jugement
|
||||
foreach ($tabJugements as $dateJuge => $codeJuge) {
|
||||
$dateCompare = intval(str_replace('-', '', $dateJuge));
|
||||
if ($this->debug) file_put_contents('procol.log', $dateJuge.'>'.$this->debutPlan."\n", FILE_APPEND);
|
||||
krsort($tabJugements);
|
||||
foreach ($tabJugements as $i => $j) {
|
||||
// Si plan suivi de SV, RJ, LJ ou clôture alors pas de plan
|
||||
if ($dateCompare>$this->debutPlan & (
|
||||
($codeJuge>=1100 && $codeJuge<=1101)|| // Sauvegarde
|
||||
($codeJuge>=1200 && $codeJuge<=1202)|| $codeJuge==1211|| // RJ
|
||||
($codeJuge>=1300 && $codeJuge<=1313)|| // LJ
|
||||
($codeJuge>=1500 && $codeJuge<=1504) ) ) { // Cloture
|
||||
if ($j->date > $this->debutPlan & (
|
||||
($j->code>=1100 && $j->code<=1101) || // Sauvegarde
|
||||
($j->code>=1200 && $j->code<=1202) || // RJ
|
||||
in_array($j->code, array(1211,1217)) || // RJ
|
||||
($j->code>=1300 && $j->code<=1314) || // LJ
|
||||
in_array($j->code, array(1417,1418,1419)) || // Extension SV, LJ, RJ
|
||||
($j->code>=1500 && $j->code<=1504) || // Cloture
|
||||
in_array($j->code, array(1514)))) { // Cloture
|
||||
$this->dureePlan = 0;
|
||||
}
|
||||
if ($this->debug) file_put_contents('procol.log', $j->date.'>'.$this->debutPlan.', Jugement='.$j->code."\n", FILE_APPEND);
|
||||
}
|
||||
if ($this->debug) file_put_contents('procol.log', "Durée du plan :".$this->dureePlan."\n", FILE_APPEND);
|
||||
}
|
||||
|
||||
// --- Tableau ante-chronologique des dates de jugement ==> code jugement
|
||||
krsort($tabJugements);
|
||||
$evenFirst = current($tabJugements);
|
||||
$derProcol = str_replace('-','', key($tabJugements))*1;
|
||||
|
||||
// --- Evenements effaçant l'indicateur P dans Situation Juridique
|
||||
$tabNoProcol = array();
|
||||
$tmp = $this->iDb->select('jo.tabEvenements', 'codEven, affProcol', 'affProcol>0', false, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tmp2) {
|
||||
$tabNoProcol[$tmp2['codEven']] = $tmp2['affProcol'];
|
||||
}
|
||||
if (array_key_exists($evenFirst, $tabNoProcol)) {
|
||||
switch ($tabNoProcol[$evenFirst]) {
|
||||
if (array_key_exists($evenProcolFirst, $tabNoProcol)) {
|
||||
switch ($tabNoProcol[$evenProcolFirst]) {
|
||||
// PAS DE MENTION DE LA PROCOL
|
||||
case 1:
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 1\n", FILE_APPEND);
|
||||
@ -5873,7 +5879,10 @@ class MInsee
|
||||
$tabRet = array();
|
||||
} elseif ($tabId['Actif']*1 > 0 && substr($tabId['FJ'],0,1)*1 != 9) {
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 2", FILE_APPEND);
|
||||
$maxLatence = date('Ymd',mktime(0,0,0,(substr($derProcol,4,2)*1)+1,substr($derProcol,6,2),substr($derProcol,0,4)));
|
||||
$maxLatence = date('Ymd',mktime(0,0,0,
|
||||
substr($evenProcolDateLast,4,2)*1+1,
|
||||
substr($evenProcolDateLast,6,2),
|
||||
substr($evenProcolDateLast,0,4)));
|
||||
if (date('Ymd') > $maxLatence) {
|
||||
$tabRet = array();
|
||||
}
|
||||
@ -5893,16 +5902,16 @@ class MInsee
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// --- Procédure trop ancienne plus de 12 ans et actif
|
||||
$dateTropAncienne = (date('Ymd')*1)-120000;
|
||||
if ($derProcol < $dateTropAncienne && $tabId['Actif']*1 > 0) {
|
||||
$derPr = $classWDate->dateT('Ymd','d/m/Y', $derProcol);
|
||||
if ($evenProcolDateLast < $dateTropAncienne && $tabId['Actif']*1 > 0) {
|
||||
$derPr = $classWDate->dateT('Ymd','d/m/Y', $evenProcolDateLast);
|
||||
$tabRet = array();
|
||||
if ($this->debug) file_put_contents('procol.log', "Procédure trop ancienne plus de 12 ans et actif\n", FILE_APPEND);
|
||||
}
|
||||
// --- En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement
|
||||
elseif ( ($evenFirst>=1300 && $evenFirst<=1313 && $evenFirst!=1310) || ($evenFirst>=1500 && $evenFirst<=1504)) {
|
||||
elseif ( ($evenProcolFirst>=1300 && $evenProcolFirst<=1313 && $evenProcolFirst!=1310)
|
||||
|| ($evenProcolFirst>=1500 && $evenProcolFirst<=1504) ) {
|
||||
$mBil = new MBilans($siren, $this->iDb);
|
||||
$tabBilans = $mBil->listeBilans($accesDist);
|
||||
$derExercice = 0;
|
||||
@ -5911,30 +5920,27 @@ class MInsee
|
||||
$derExercice = $bilan['dateExercice'];
|
||||
}
|
||||
}
|
||||
if ($derExercice>$derProcol) {
|
||||
if ($derExercice > $evenProcolDateLast) {
|
||||
if ($this->debug) file_put_contents('procol.log', "En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement\n", FILE_APPEND);
|
||||
$derEx = $classWDate->dateT('Ymd', 'd/m/Y', $derExercice);
|
||||
$derPr = $classWDate->dateT('Ymd', 'd/m/Y', $derProcol);
|
||||
$derPr = $classWDate->dateT('Ymd', 'd/m/Y', $evenProcolDateLast);
|
||||
$tabRet = array();
|
||||
}
|
||||
}
|
||||
}
|
||||
// --- Dissolution mais bilan après événements
|
||||
elseif ($rubrique == 'D') {
|
||||
// Tableau ante-chronologique des dates de jugement ==> code jugement
|
||||
krsort($tabJugements);
|
||||
$mBil = new MBilans($siren, $this->iDb);
|
||||
$tabBilans = $mBil->listeBilans(false, 3);
|
||||
$derExercice = 0;
|
||||
$derProcol = str_replace('-','',key($tabJugements))*1;
|
||||
foreach ($tabBilans as $idx => $bilan){
|
||||
if ($bilan['dateExercice'] > $derExercice) {
|
||||
$derExercice = $bilan['dateExercice'];
|
||||
}
|
||||
}
|
||||
if ($derExercice > $derProcol) {
|
||||
$derEx = $classWDate->dateT('Ymd','d/m/Y',$derExercice);
|
||||
$derPr = $classWDate->dateT('Ymd','d/m/Y',$derProcol);
|
||||
if ($derExercice > $evenProcolDateLast) {
|
||||
$derEx = $classWDate->dateT('Ymd','d/m/Y', $derExercice);
|
||||
$derPr = $classWDate->dateT('Ymd','d/m/Y', $evenProcolDateLast);
|
||||
$tabRet = array();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user