474 lines
21 KiB
PHP
474 lines
21 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
|
|
define('NOW', date('YmdHis'));
|
|
define('TODAY', substr(NOW, 0, 8));
|
|
define('YEAR', substr(TODAY, 0, 4));
|
|
define('MONTH', substr(TODAY, 4, 2));
|
|
define('DAY', substr(TODAY, 6, 2));
|
|
|
|
error_reporting(E_ALL & ~E_NOTICE);
|
|
include_once(FWK_PATH.'common/chiffres.php');
|
|
include_once(FWK_PATH.'common/dates.php');
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
|
include_once(FWK_PATH.'common/dates.php');
|
|
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
|
Mise à jour quotidienne des scores secteurs / profils entreprise S&D.
|
|
|
|
Options :
|
|
-d:SSAAMMJJ Initialiser tous les scores secteurs depuis SSAAMMJJ
|
|
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
|
|
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
|
|
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
|
|
-v Mode bavard
|
|
|
|
";
|
|
|
|
$dateDeb=$dateFin=0;
|
|
$initStatProfil=$initStatSecteur=$modeDebug=false;
|
|
|
|
for ($i=1; isset($argv[$i]); $i++) {
|
|
if (substr($argv[$i],0,1)=='-') {
|
|
switch (strtolower(substr($argv[$i],1,1))) {
|
|
case 'd':
|
|
$dateDeb=substr($argv[$i],3)*1;
|
|
break;
|
|
case 'f':
|
|
$dateFin=substr($argv[$i],3)*1;
|
|
break;
|
|
case 'p':
|
|
$initStatProfil=true;
|
|
break;
|
|
case 's':
|
|
$initStatSecteur=true;
|
|
break;
|
|
case 'v':
|
|
$modeDebug=true;
|
|
break;
|
|
case '-':
|
|
case '?':
|
|
die($strInfoScript);
|
|
break;
|
|
default:
|
|
die('Option '. $argv[$i] . ' inconnue !'.EOL);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
$iDb=new WDB('jo');
|
|
$iDb2=new WDB('jo');
|
|
$iDbHisto=new WDB('historiques');
|
|
|
|
$iInsee=new MInsee();
|
|
|
|
|
|
function getNaf5($naf4ou5) {
|
|
$iDb=new WDB('insee');
|
|
$tabTmp=$iDb->select( 'naf_conv', 'nafOut', "nafIn='$naf4ou5'");
|
|
return $tabTmp[0]['nafOut'];
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
|
|
|
|
/** Recherche de la dernière date de MAJ
|
|
**/
|
|
if (!$dateDeb) {
|
|
echo date ('Y/m/d - H:i:s')." - Préparation des procédures à vérifier.".EOL;
|
|
$tabLast=$iDb->select( 'scores_secteurs',
|
|
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
|
|
'1');
|
|
$lastUpdate=$tabLast[0]['lastInsert'];
|
|
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
|
|
echo date('Y/m/d - H:i:s') ." - La dernière vérification des procédures date de $lastUpdate !".EOL;
|
|
} else {
|
|
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
|
|
if ($dateFin) {
|
|
$strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR
|
|
dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) ";
|
|
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs du $lastUpdate au $dateFin !".EOL;
|
|
} else {
|
|
$strDateFin='';
|
|
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs depuis le $lastUpdate !".EOL;
|
|
}
|
|
}
|
|
|
|
|
|
/** Traitements mensuels
|
|
**/
|
|
if (DAY*1==1 || $initStatSecteur) {
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs mensuelles.".EOL;
|
|
$fields='ape_entrep, COUNT(*) AS nbEntrep';
|
|
$where="source=2 AND actif=1 AND siege=1 GROUP BY ape_entrep ORDER BY ape_entrep ASC";
|
|
|
|
/** Initialisation des scores secteurs **/
|
|
$tabTmp=$iDb->select('etablissements_old', $fields, $where, false, MYSQL_ASSOC);
|
|
if (mysql_errno()==1146)
|
|
$tabTmp=$iDb->select('etablissements', $fields, $where, false, MYSQL_ASSOC);
|
|
|
|
$nbApe=count($tabTmp);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbApe stats secteurs mensuelles à initialiser...".EOL;
|
|
|
|
$annee=YEAR;
|
|
$mois=MONTH;
|
|
$nbInsert=$nbUpdate=0;
|
|
foreach ($tabTmp as $secteur) {
|
|
$naf=$secteur['ape_entrep'];
|
|
$tabInsert=array('naf5'=> $naf,
|
|
'annee'=> YEAR,
|
|
'mois'=> MONTH,
|
|
'nbEntrep'=> $secteur['nbEntrep'],
|
|
'dateInsert'=> NOW,
|
|
);
|
|
if ($iDb2->insert('scores_secteurs', $tabInsert))
|
|
$nbInsert++;
|
|
else {
|
|
$iDb2->update('scores_secteurs', $tabInsert, "naf5='$naf' AND annee=$annee AND mois=$mois");
|
|
$nbUpdate++;
|
|
}
|
|
|
|
}
|
|
echo date ('Y/m/d - H:i:s')." - $nbInsert secteurs initialisées et $nbUpdate mis à jour.".EOL;
|
|
}
|
|
|
|
if (DAY*1==1 || $initStatProfil) {
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Préparation des stats profils mensuelles.".EOL;
|
|
|
|
/** Initialisation des scores profils **/
|
|
//$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, SUBSTRING(CJ,1,2) as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
|
|
$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, CJ as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
|
|
"SIEGE=1 AND ACTIF=1 GROUP BY APE_ENT, dep, FJur, anneeCrea, TCA", false, MYSQL_ASSOC, true);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbPro stats profils mensuelles à initialiser...".EOL;
|
|
$annee=YEAR;
|
|
$mois=MONTH;
|
|
$nbInsert=$nbUpdate=0;
|
|
while ($secteur=$iDb->fetch(MYSQL_ASSOC)) {
|
|
//foreach ($tabTmp as $secteur) {
|
|
$naf=$secteur['APE_ENT'];
|
|
$dep=$secteur['dep'];
|
|
$fj=$secteur['FJur'];
|
|
$anneeCrea=$secteur['anneeCrea'];
|
|
$trEff=$secteur['TEFF_ENT'];
|
|
$trCA=$secteur['TCA'];
|
|
$tabInsert=array('annee'=> YEAR,
|
|
'mois'=> MONTH,
|
|
'naf5'=> $naf,
|
|
'depSiege'=> $dep,
|
|
'formeJur'=> $fj,
|
|
'anneeCrea'=> $anneeCrea,
|
|
'trEffectif'=> $trEff,
|
|
'trCA'=> $trCA,
|
|
'nbEntrep'=> $secteur['nbEntrep'],
|
|
'dateInsert'=> NOW,
|
|
);
|
|
if ($iDb2->insert('scores_profils', $tabInsert))
|
|
$nbInsert++;
|
|
else {
|
|
$iDb2->update('scores_profils', $tabInsert, "annee=$annee AND mois=$mois AND naf5='$naf' AND depSiege=$dep AND formeJur=$fj AND anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA");
|
|
$nbUpdate++;
|
|
}
|
|
}
|
|
echo date ('Y/m/d - H:i:s')." - $nbInsert profils initialisées et $nbUpdate mis à jour.".EOL;
|
|
}
|
|
|
|
|
|
if (!$initStatProfil && !$initStatSecteur) {
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les interdictions quotidiennes.".EOL;
|
|
$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
|
|
|
|
/** Mise à jour des Jugements FP IG **/
|
|
$nbAnnonces=$iDb->select(
|
|
'bodacc_detail',
|
|
'siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert, dateUpdate',
|
|
"siren>1000 AND (dateInsert>'$lastUpdate' OR dateUpdate>'$lastUpdate') $strDateFin
|
|
AND dateJugement>='2005-01-01' AND
|
|
(typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%')
|
|
ORDER BY dateSource ASC;",
|
|
false, MYSQL_ASSOC, true);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'interdictions à vérifier...".EOL;
|
|
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$siren=$annonce['siren'];
|
|
$typeEven=$annonce['typeEven'];
|
|
$dateJuge=$annonce['dateJugement'];
|
|
$dateInsert=$annonce['dateInsert'];
|
|
/** Initialisation des scores secteurs **/
|
|
$tabTmp=explode('-', $dateJuge);
|
|
$annee=$tabTmp[0];
|
|
$mois=$tabTmp[1];
|
|
$tabIdentite=$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
|
$naf=$tabIdentite['NafEnt'];
|
|
if (strlen($naf)<5) $naf=getNaf5($naf);
|
|
|
|
$fj=$tabIdentite['FJ'];
|
|
$dep=$tabIdentite['Dept'];
|
|
if ($dep>96 && $dep<99) $dep=''.$dep.substr($tabIdentite['codeCommune'],0,1);
|
|
$anneeCrea=$tabIdentite['DateCreaEn'];
|
|
if ($anneeCrea>$tabIdentite['DateCreaEt']) $anneeCrea=$tabIdentite['DateCreaEt'];
|
|
$trEff=$tabIdentite['EffEnTr'];
|
|
$trCA=$tabIdentite['TrancheCA'];
|
|
|
|
/** Mise à jour des scores secteurs **/
|
|
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
|
|
$tabTmp=$iDb2->select( 'scores_secteurs',
|
|
'nbInter, nbEntrep, annee, mois',
|
|
"naf5='$naf' AND annee=$annee AND mois=$mois",
|
|
false, MYSQL_ASSOC);
|
|
if (count($tabTmp)>0) $nbInter=$tabTmp[0]['nbInter'] + 1;
|
|
else $nbInter=1;
|
|
|
|
$tabUpdate=array('nbInter'=> $nbInter);
|
|
$retTmp=$iDb2->update('scores_secteurs', $tabUpdate, "naf5='$naf' AND annee=$annee AND mois=$mois");
|
|
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
|
$tabInsert=array_merge($tabUpdate, array( 'naf5'=>$naf,
|
|
'annee'=>$annee,
|
|
'mois'=>$mois,
|
|
'dateInsert'=>date('YmdHis'),
|
|
));
|
|
$iDb2->insert('scores_secteurs', $tabInsert);
|
|
if ($modeDebug) echo "SECTEURS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbInsertSecteur++;
|
|
} else {
|
|
if ($modeDebug) echo "SECTEURS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbUpdateSecteur++;
|
|
}
|
|
if ($modeDebug) echo EOL;
|
|
|
|
/** Mise à jour des scores profils **/
|
|
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
|
|
$tabTmp=$iDb2->select( 'scores_profils',
|
|
'nbInter, nbEntrep, annee, mois',
|
|
"annee=$annee AND mois=$mois AND naf5='$naf' AND depSiege=$dep AND formeJur=$fj AND anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA",
|
|
false, MYSQL_ASSOC);
|
|
if (count($tabTmp)>0) $nbInter=$tabTmp[0]['nbInter'] + 1;
|
|
else $nbInter=1;
|
|
|
|
$tabUpdate=array('nbInter'=> $nbInter);
|
|
$retTmp=$iDb2->update('scores_profils', $tabUpdate, "annee=$annee AND mois=$mois AND naf5='$naf' AND depSiege=$dep AND formeJur=$fj AND anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA");
|
|
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
|
$tabInsert=array_merge($tabUpdate, array( 'annee'=>$annee,
|
|
'mois'=>$mois,
|
|
'naf5'=>$naf,
|
|
'depSiege'=>$dep,
|
|
'formeJur'=>$fj,
|
|
'anneeCrea'=>$anneeCrea,
|
|
'trEffectif'=>$trEff,
|
|
'trCA'=>$trCA,
|
|
'dateInsert'=>date('YmdHis'),
|
|
));
|
|
$iDb2->insert('scores_profils', $tabInsert);
|
|
if ($modeDebug) echo "PROFILS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbInsertProfil++;
|
|
} else {
|
|
if ($modeDebug) echo "PROFILS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbUpdateProfil++;
|
|
}
|
|
if ($modeDebug) echo EOL;
|
|
}
|
|
echo date ('Y/m/d - H:i:s')." - Interdictions : $nbAnnonces annonces vérifiées.".EOL;
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ.".EOL;
|
|
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ.".EOL;
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les interdictions quotidiennes.".EOL;
|
|
|
|
|
|
|
|
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
|
|
$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
|
|
|
|
/** Initialisation des scores secteurs **/
|
|
$query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND ( typeEven LIKE '%1100%' OR typeEven LIKE '%1101%' OR typeEven LIKE '%1200%' OR typeEven LIKE '%1201%' OR typeEven LIKE '%1202%' OR typeEven LIKE '%1207%' OR typeEven LIKE '%1209%' OR typeEven LIKE '%1210%' OR typeEven LIKE '%1211%' OR typeEven LIKE '%1212%' OR typeEven LIKE '%1214%' OR typeEven LIKE '%1216%' OR typeEven LIKE '%1300%' OR typeEven LIKE '%1301%' OR typeEven LIKE '%1302%' OR typeEven LIKE '%1303%' OR typeEven LIKE '%1304%' OR typeEven LIKE '%1305%' OR typeEven LIKE '%1306%' OR typeEven LIKE '%1307%' OR typeEven LIKE '%1308%' OR typeEven LIKE '%1309%' OR typeEven LIKE '%1310%' OR typeEven LIKE '%1311%' OR typeEven LIKE '%1312%' OR typeEven LIKE '%1313%' OR typeEven LIKE '%1410%' OR typeEven LIKE '%1415%' OR typeEven LIKE '%1416%' OR typeEven LIKE '%1417%' OR typeEven LIKE '%1418%' OR typeEven LIKE '%1419%' OR typeEven LIKE '%1507%' OR typeEven LIKE '%1515%' OR typeEven LIKE '%1540%' OR typeEven LIKE '%1541%' OR typeEven LIKE '%1542%' OR typeEven LIKE '%1543%' OR typeEven LIKE '%1544%' OR typeEven LIKE '%1545%' OR typeEven LIKE '%1546%' OR typeEven LIKE '%1550%' OR typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1602%' OR typeEven LIKE '%1603%' OR typeEven LIKE '%1604%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR typeEven LIKE '%1999%' ))
|
|
UNION
|
|
(SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND typeEven IN (1100,/*Ouverture sauvegarde*/
|
|
1101,/*Jugement arrêtant plan de sauvegarde*/
|
|
1200,/*Redressement Judiciaire*/
|
|
1201,/*Conversion sauvegarde en Redressement Judiciaire*/
|
|
1202,/*Renouvellement de la période d'observation*/
|
|
1207,/*Règlements amiables*/
|
|
1209,/*Règlement judiciaire*/
|
|
1210,/*Production de titres et créances*/
|
|
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
|
|
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
|
|
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
|
|
1216,/*Autre avis de dépôt*/
|
|
1300,/*Conversion Redressement Judiciaire en Liquidation Judiciaire*/
|
|
1301,/*Ouverture Liquidation Judiciaire*/
|
|
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
|
|
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
|
|
1304,/*Réouverture Liquidation Judiciaire*/
|
|
1305,/*Liquidation Judiciaire*/
|
|
1306,/*Liquidation Judiciaire simplifiée*/
|
|
1307,/*Conversion sauvegarde en Liquidation Judiciaire*/
|
|
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
|
|
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
|
|
1310,/*Procédure d'insolvabilité européenne*/
|
|
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
|
|
1312,/*Liquidation Judiciaire avec continuation d'exploitation*/
|
|
1313,/*Liquidation Judiciaire sans remise des accessoires*/
|
|
1410,/*Suite règlement/liquidation*/
|
|
1415,/*Prolongement du plan cession*/
|
|
1416,/*Jugement constatant la bonne exécution du plan*/
|
|
1417,/*Jugement d'extension de liquidation judiciaire*/
|
|
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
|
|
1419,/*Jugement d'extension d'une procédure de sauvegarde*/
|
|
1507,/*Extrait d'arrêt de la cour d'appel*/
|
|
1515,/*Arrêt divers*/
|
|
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
|
|
1541,/*Rétractation de prononcé de liquidation judiciaire sur tierce opposition*/
|
|
1542,/*Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition*/
|
|
1543,/*Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition*/
|
|
1544,/*Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition*/
|
|
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
|
|
1546,/*Autre rétractation sur tierce opposition*/
|
|
1550,/*Jugement d'homologation de l'accord*/
|
|
1600,/*Faillite personnelle*/
|
|
1601,/*Interdiction de gérer*/
|
|
1602,/*Jugement de réhabilitation*/
|
|
1603,/*Liquidation de biens*/
|
|
1604,/*Banqueroute
|
|
1605,/*Jugement autorisant la reprise des poursuites individuelles*/
|
|
1610,/*Faillite personnelle (Loi de 1985)*/
|
|
1611,/*Interdiction de gérer (Loi de 1985)*/
|
|
1999 /*Autre procédure collective*/ )
|
|
) ORDER BY dateSource ASC;";
|
|
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
|
|
$res=$iDb->query($query);
|
|
$nbAnnonces=mysql_num_rows($res);
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'ouverture à vérifier...".EOL;
|
|
$sirenPre=false;
|
|
|
|
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$siren=$annonce['siren'];
|
|
if ($siren==$sirenPre) continue;
|
|
|
|
$typeEven=$annonce['typeEven'];
|
|
$dateJuge=$annonce['dateJugement'];
|
|
$dateInsert=$annonce['dateInsert'];
|
|
/** Initialisation des scores secteurs **/
|
|
$query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren=$siren AND (dateInsert<'$dateInsert' OR dateJugement<'$dateJuge') AND Rubrique='procol')
|
|
UNION
|
|
(SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren=$siren AND (dateInsert<'$dateInsert' OR dateJugement<'$dateJuge') AND typeEven BETWEEN 1100 AND 1999) ORDER BY siren;";
|
|
//echo date ('Y/m/d - H:i:s')." - $query".EOL;
|
|
$res2=$iDb2->query($query);
|
|
$nbProcol=mysql_num_rows($res2);
|
|
|
|
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert ";
|
|
|
|
if ($nbProcol>0) {
|
|
if ($modeDebug) echo "($nbProcol ProCol)".EOL;
|
|
$nbDejaProcol++;
|
|
} else {
|
|
$strIdAnn=" AND e.CODEVE BETWEEN 50 AND 79 AND e.DATE>=".(YEAR-12).MONTH.DAY;
|
|
$res2=$iDbHisto->select(
|
|
'entrep e, texte x, tribunaux t',
|
|
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt, t.triNom, t.triSiret',
|
|
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.CODTRI=t.triCode $strIdAnn AND e.DATE BETWEEN 19960101 AND 20041231 GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
|
$nbProcolHisto=count($res2);
|
|
if ($nbProcolHisto>0) {
|
|
if ($modeDebug) echo "($nbProcolHisto ProCol histo.)".EOL;
|
|
$nbDejaProcol++;
|
|
} else {
|
|
if ($modeDebug) echo "NOUVELLE PROCEDURE ";
|
|
$nbNouvProcol++;
|
|
// Ajouter dans la table
|
|
$tabTmp=explode('-', $dateJuge);
|
|
$annee=$tabTmp[0];
|
|
// if ($annee<2007) continue;
|
|
$mois=$tabTmp[1];
|
|
$tabIdentite=$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
|
$naf=$tabIdentite['NafEnt'];
|
|
if (strlen($naf)<5) $naf=getNaf5($naf);
|
|
|
|
$fj=$tabIdentite['FJ'];
|
|
$dep=$tabIdentite['Dept'];
|
|
if ($dep>96 && $dep<99) $dep=''.$dep.substr($tabIdentite['codeCommune'],0,1);
|
|
$anneeCrea=$tabIdentite['DateCreaEn'];
|
|
if ($anneeCrea>$tabIdentite['DateCreaEt']) $anneeCrea=$tabIdentite['DateCreaEt'];
|
|
$trEff=$tabIdentite['EffEnTr'];
|
|
$trCA=$tabIdentite['TrancheCA'];
|
|
|
|
/** Mise à jour des scores secteurs **/
|
|
$tabTmp=$iDb2->select( 'scores_secteurs',
|
|
'nbProcol, nbEntrep, annee, mois',
|
|
"naf5='$naf' AND annee=$annee AND mois=$mois",
|
|
false, MYSQL_ASSOC);
|
|
if (count($tabTmp)>0) $nbProcDB=$tabTmp[0]['nbProcol'] + 1;
|
|
else $nbProcDB=1;
|
|
|
|
$tabUpdate=array('nbProcol'=> $nbProcDB);
|
|
$retTmp=$iDb2->update('scores_secteurs', $tabUpdate, "naf5='$naf' AND annee=$annee AND mois=$mois");
|
|
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
|
$tabInsert=array_merge($tabUpdate, array( 'naf5'=>$naf,
|
|
'annee'=>$annee,
|
|
'mois'=>$mois,
|
|
'dateInsert'=>date('YmdHis'),
|
|
));
|
|
$iDb2->insert('scores_secteurs', $tabInsert);
|
|
if ($modeDebug) echo "SECTEURS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbInsertSecteur++;
|
|
} else {
|
|
if ($modeDebug) echo "SECTEURS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbUpdateSecteur++;
|
|
}
|
|
if ($modeDebug) echo EOL;
|
|
|
|
/** Mise à jour des scores profils **/
|
|
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE ";
|
|
|
|
$tabTmp=$iDb2->select( 'scores_profils',
|
|
'nbProcol, nbEntrep, annee, mois',
|
|
"annee=$annee AND mois=$mois AND naf5='$naf' AND depSiege=$dep AND formeJur=$fj AND
|
|
anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA",
|
|
false, MYSQL_ASSOC);
|
|
if (count($tabTmp)>0) $nbProcDB=$tabTmp[0]['nbProcol'] + 1;
|
|
else $nbProcDB=1;
|
|
|
|
$tabUpdate=array('nbProcol'=> $nbProcDB);
|
|
$retTmp=$iDb2->update('scores_profils', $tabUpdate, "annee=$annee AND mois=$mois AND naf5='$naf' AND
|
|
depSiege=$dep AND formeJur=$fj AND anneeCrea=$anneeCrea AND trEffectif='$trEff' AND trCA=$trCA");
|
|
if (!$retTmp || $iDb2->getAffectedRows()==0) {
|
|
$tabInsert=array_merge($tabUpdate, array( 'annee'=>$annee,
|
|
'mois'=>$mois,
|
|
'naf5'=>$naf,
|
|
'depSiege'=>$dep,
|
|
'formeJur'=>$fj,
|
|
'anneeCrea'=>$anneeCrea,
|
|
'trEffectif'=>$trEff,
|
|
'trCA'=>$trCA,
|
|
'dateInsert'=>date('YmdHis'),
|
|
));
|
|
$iDb2->insert('scores_profils', $tabInsert);
|
|
if ($modeDebug) echo "PROFILS:INSERT=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbInsertProfil++;
|
|
} else {
|
|
if ($modeDebug) echo "PROFILS:UPDATE=>$nbProcDB ($naf/$annee-$mois)";
|
|
$nbUpdateProfil++;
|
|
}
|
|
|
|
if ($modeDebug) echo EOL;
|
|
}
|
|
}
|
|
$sirenPre=$siren;
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
|
|
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
|
|
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin du traitement.".EOL;
|
|
|
|
?>
|