diff --git a/library/Metier/insee/classMInsee.php b/library/Metier/insee/classMInsee.php index 412692ec..de45f081 100644 --- a/library/Metier/insee/classMInsee.php +++ b/library/Metier/insee/classMInsee.php @@ -3174,7 +3174,7 @@ class MInsee if (intval($siren) > 100) { if ($this->debug) file_put_contents('procol.log', "Debut"."\n"); $tabProcol = $this->getAnnoncesLegales($siren, 0, 'P', false); - if ($this->debug) file_put_contents('procol.log', print_r($tabProcol,1)."\n", FILE_APPEND); + if ($this->debug) file_put_contents('procol.log', "tabProcol = ".print_r($tabProcol,1)."\n", FILE_APPEND); if ( count($tabProcol) > 0 ) { $tabDates = array(); foreach ($tabProcol as $iProcol => $procol) { @@ -5818,7 +5818,7 @@ 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); + 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 - Trier ante-chronologique foreach ($tabRet as $i => $ann) { @@ -5827,13 +5827,10 @@ class MInsee $item->dateISO8601 = $ann['dateJugement']; $item->code = $ann['evenements'][0]['CodeEven']; $tabJugements[] = $item; - // Derniere date de procol + // Dernier evenement de procol if ($i == 0) { - $evenProcolDateLast = $item->date; - } - // Premier evenement - if ($i == count($tabRet)-1) { - $evenProcolFirst = $item->code; + $evenProcolLastDate = $item->date; + $evenProcolLast = $item->code; } } // --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives @@ -5845,14 +5842,18 @@ class MInsee krsort($tabJugements); foreach ($tabJugements as $i => $j) { // Si plan suivi de SV, RJ, LJ ou clôture alors pas de plan - 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 + if ($j->date > $this->debutPlan && in_array($j->code, array( + // Sauvegarde + 1100, 1101, + // RJ + 1200, 1201, 1202, 1211, 1217, + // LJ + 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, + // Extension SV, LJ, RJ + 1417, 1418, 1419, + // Cloture + 1500, 1501, 1502, 1503, 1504, 1514 + ))) { $this->dureePlan = 0; } if ($this->debug) file_put_contents('procol.log', $j->date.'>'.$this->debutPlan.', Jugement='.$j->code."\n", FILE_APPEND); @@ -5865,14 +5866,15 @@ class MInsee foreach ($tmp as $tmp2) { $tabNoProcol[$tmp2['codEven']] = $tmp2['affProcol']; } - if (array_key_exists($evenProcolFirst, $tabNoProcol)) { - switch ($tabNoProcol[$evenProcolFirst]) { + if (array_key_exists($evenProcolLast, $tabNoProcol)) { + if ($this->debug) file_put_contents('procol.log', "Effacement Procol\n", FILE_APPEND); + switch ($tabNoProcol[$evenProcolLast]) { // PAS DE MENTION DE LA PROCOL case 1: if ($this->debug) file_put_contents('procol.log', "affProcol = 1\n", FILE_APPEND); $tabRet = array(); break; - // Ne pas mentionner la procol si CJ=1xxx + // Ne pas mentionner la procol si CJ=1xxx OU si actif et CJ!=9xxx et even de plus d'un mois case 2: if (substr($tabId['FJ'],0,1)*1==1) { if ($this->debug) file_put_contents('procol.log', "affProcol = 2\n", FILE_APPEND); @@ -5880,9 +5882,9 @@ class MInsee } 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($evenProcolDateLast,4,2)*1+1, - substr($evenProcolDateLast,6,2), - substr($evenProcolDateLast,0,4))); + substr($evenProcolLastDate,4,2)*1+1, + substr($evenProcolLastDate,6,2), + substr($evenProcolLastDate,0,4))); if (date('Ymd') > $maxLatence) { $tabRet = array(); } @@ -5904,14 +5906,14 @@ class MInsee } // --- Procédure trop ancienne plus de 12 ans et actif $dateTropAncienne = (date('Ymd')*1)-120000; - if ($evenProcolDateLast < $dateTropAncienne && $tabId['Actif']*1 > 0) { - $derPr = $classWDate->dateT('Ymd','d/m/Y', $evenProcolDateLast); + if ($evenProcolLastDate < $dateTropAncienne && $tabId['Actif']*1 > 0) { + $derPr = $classWDate->dateT('Ymd','d/m/Y', $evenProcolLastDate); $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 ( ($evenProcolFirst>=1300 && $evenProcolFirst<=1313 && $evenProcolFirst!=1310) - || ($evenProcolFirst>=1500 && $evenProcolFirst<=1504) ) { + elseif ( in_array($evenProcolLast, array(1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1311,1312,1313)) + || in_array($evenProcolLast, array(1500,1501,1502,1503,1504))) { $mBil = new MBilans($siren, $this->iDb); $tabBilans = $mBil->listeBilans($accesDist); $derExercice = 0;