Indicateur procédure collective, correction dernier evénements

This commit is contained in:
Michael RICOIS 2016-02-15 15:21:45 +00:00
parent 5e780ab91a
commit 903c286c4f

View File

@ -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;