batch/1.1/old/calculScores.php
2013-06-19 08:24:49 +00:00

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