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

850 lines
43 KiB
PHP

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
$table='annonces';
/*
ALTER TABLE `annonces` ADD `inter5type` CHAR( 1 ) NOT NULL AFTER `inter4nom`,
ADD `inter5id` SMALLINT( 5 ) UNSIGNED ZEROFILL NOT NULL AFTER `inter5type`,
ADD `inter5nom` VARCHAR( 255 ) NOT NULL AFTER `inter5id`;
*/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(FWK_PATH.'common/ftp.php');
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
define('CSF_FTP_DIR', '/home/data/ftp/creditsafe/send/');
define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des fichier défaillances en provenance de CSF.
Options :
-j Ne pas charger les jugements INPI S&D en Amont
-c Ne pas charger les défaillances CSF
-d Mode debug (Verbosité au maximum)
-i Ne pas poser de questions interactives.
-t Charger en test (implique -j -d)
";
$iDb=new WDB('jo');
$iInsee=new MInsee();
$iBodacc=new MBodacc();
$iRncs=new MRncs();
$iGreffe=new MGreffes();
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=$nbSiretRetraitement=0;
$modeDebug=false; // Mode débug
$questions=true; // Questions interactives autorisées
$loadInpiLocal=true; // Charger d'abord les derniers jugements INPI IMR locaux
$loadCSF=true; // Charger les jugements Greffes via CSF
$tabFichier=$tabFichLigneCmd=array();
$message=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv'];
for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'd': $modeDebug=true; break;
case 'i': $questions=false; break;
case 'j': $loadInpiLocal=false; break;
case 'c': $loadCSF=false; break;
case 't': $table='annonces2';
$modeDebug=$questions=true;
$loadInpiLocal=false;
break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
} else $tabFichLigneCmd[]=$argv[$i];
}
if (count($tabFichLigneCmd)==0) {
$dh = opendir(CSF_FTP_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.csv')
$tabFichier[] = $filename;
}
sort($tabFichier);
} else $tabFichier=$tabFichLigneCmd;
if ($loadInpiLocal) {
$ret=$iGreffe->getListeCessions();
$nbInsert=$ret['insert'];
$nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja;
$message.="Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL;
$ret=$iGreffe->getListeCessions('lj');
$nbInsert=$ret['insert'];
$nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja;
$message.="Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL;
$nbAnnUpdateJ=$nbAnnInsertJ=0; // Jugements
$nbAnnUpdateE=$nbAnnInsertE=0; // Evènements
$tabTmp=$iDb->select($table, 'MAX(dateInsert) as lastInsert',"source='PP' AND typeEven<2000", false, MYSQL_ASSOC);
$dateMaj=$tabTmp[0]['lastInsert'];
//$dateMaj='2009-07-01 01:00:00';
/**
** Jugements INPI
**/
$AnnDb=$iDb->select('rncs_jugements j, rncs_entrep e',
"j.siren, e.sirenValide, j.codeEven AS typeEven, j.dateEffet AS dateJugement,
adm1type AS inter1type, adm1id AS inter1id, CONCAT(adm1nom,' ',adm1adr1,' ',adm1adr2,' ',adm1adrCP,' ',adm1adrVille) as inter1nom,
adm2type AS inter2type, adm2id AS inter2id, CONCAT(adm2nom,' ',adm2adr1,' ',adm2adr2,' ',adm2adrCP,' ',adm2adrVille) as inter2nom,
j.flux AS dateSource, j.dateInsert, 'PP' AS source, e.triCode AS tribunal, e.raisonSociale",
"j.dateInsert>'$dateMaj' AND j.siren=e.siren AND DATEDIFF(NOW(), j.dateEffet)<=90", false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb);
$message.="Il y a $nbAnnonces annonce(s) jugements INPI IMR depuis le dernier chargement du $dateMaj :\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonce(s) jugements INPI IMR depuis le dernier chargement du $dateMaj.".EOL;
foreach ($AnnDb as $i=>$tabInsert) {
$siren=$tabInsert['siren'];
$dateJugement=$tabInsert['dateJugement'];
$typeEven=$tabInsert['typeEven'];
//echo "$siren $dateJugement $typeEven".EOL;
//$tabTmp=@$iInsee->getIdentiteEntreprise($tabInsert['siren']);
$tabTmp=@$iInsee->getIdentiteLight($tabInsert['siren']);
$tabInsert['adresse'] = $tabTmp['Adresse'];
$tabInsert['codePostal'] = $tabTmp['CP'];
$tabInsert['ville'] = $tabTmp['Ville'];
// On recherche s'il y a eu un même jugement au cours de 3 derniers mois
$tabTmp=$iDb->select($table, 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
/*inter5type, inter5id, inter5nom,*/ dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren AND ABS(DATEDIFF(dateJugement, '$dateJugement'))<60 AND typeEven=$typeEven", false, MYSQL_ASSOC);
echo date ('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren : ".count($tabTmp).EOL;
$tabEnbase=$tabTmp[0];
if (isset($tabEnbase['id'])) {
$dateJugementEnBase=$tabEnbase['dateJugement'];
// On garde la source Originel
unset($tabInsert['source']);
unset($tabInsert['dateInsert']);
if ($dateJugementEnBase<>$dateJugement) {
if ($tabEnbase['source']<>'GC') {
echo "ATTENTION : JUGEMENT UN AUTRE JOUR DEJA EN BASE ($dateJugementEnBase<>$dateJugement) :".EOL;
}
}
else
echo 'JUGEMENT le même JOUR déjà en base :'.EOL;
// On liste les types de mandataires enregistrés par les greffes ou autre
$tabMandEnBase=$tabMandSav=array();
for ($iMand=1;$iMand<6;$iMand++)
if (trim($tabEnbase['inter'.$iMand.'type'])<>'')
$tabMandEnBase[$iMand]=trim($tabEnbase['inter'.$iMand.'type']);
// On garde les infos mandataires déjà en base et correctement renseignées
for ($iInsert=1;$iInsert<5;$iInsert++) {
for ($iMand=1; $iMand<6 && isset($tabMandEnBase[$iMand]);$iMand++)
if (in_array($tabInsert['inter'.$iInsert.'type'], $tabMandEnBase)) {
if ($tabInsert['inter'.$iInsert.'type']==$tabMandEnBase[$iMand]) {
if ($tabEnbase['inter'.$iMand.'type']<>'')
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabInsert['inter'.$iInsert.'type'];
else
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabInsert['inter'.$iMand.'type'];
if ($tabEnbase['inter'.$iMand.'id']*1==0)
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabInsert['inter'.$iInsert.'id'];
else
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabEnbase['inter'.$iMand.'id'];
if ($tabEnbase['inter'.$iMand.'nom']<>'')
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabInsert['inter'.$iInsert.'nom'];
else
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabInsert['inter'.$iMand.'nom'];
}
} else {
$tabMandSav[$tabMandEnBase[$iMand]]['type'] =$tabEnbase['inter'.$iMand.'type'];
$tabMandSav[$tabMandEnBase[$iMand]]['id'] =$tabEnbase['inter'.$iMand.'id'];
$tabMandSav[$tabMandEnBase[$iMand]]['nom'] =$tabEnbase['inter'.$iMand.'nom'];
}
}
$iInsert=1;
foreach ($tabMandEnBase as $typeMand) {
$tabInsert['inter'.$iInsert.'type']=$tabMandSav[$typeMand]['type'];
$tabInsert['inter'.$iInsert.'id']=$tabMandSav[$typeMand]['id'];
$tabInsert['inter'.$iInsert.'nom']=$tabMandSav[$typeMand]['nom'];
$iInsert++;
if ($iInsert==6) {
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, plus de 4 intervenants dans la procédure pour $siren".EOL.print_r($tabMandSav, true).EOL.
"Annonce en base :".EOL.
print_r($tabEnbase, true).EOL.
"Informations à mettre à jour :".EOL.
print_r($tabInsert, true).EOL);
//die("Trop d'intervenants".EOL);
}
}
echo 'EN BASE :'.EOL;
print_r($tabEnbase);
echo 'MODIFICATIONS :'.EOL;
print_r($tabInsert);
echo 'Mandataires :'.EOL;
print_r($tabMandSav);
if ($modeDebug) $line = trim(fgets(STDIN));
// On met toujours la date INPI en base !
if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugementEnBase' AND typeEven=$typeEven", false, MYSQL_ASSOC)) {
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} else {
$nbAnnUpdateJ++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
}
} else {
if (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
$tabInsert['typeEven']*1==1505 || // Appel de jugement
$tabInsert['typeEven']*1==1506 || // Infirmation Jugement
$tabInsert['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
$tabInsert['typeEven']*1==1515 || // Arrêt divers
$tabInsert['typeEven']*1==1517 || // Rectification d'une erreur matérielle
$tabInsert['typeEven']*1==1520 || // Ordonnance
$tabInsert['typeEven']*1==1525 || // Appel du ministère public
$tabInsert['typeEven']*1==1999) { // Autre procol)
$tabInsert['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $i : Annonce INPI à retraiter manuellement ". $tabInsert['siren'] .' !'.EOL;
$nbSiretRetraitement++;
}
if (!$iDb->insert($table, array_merge($tabInsert,array('dateInsert'=>date('YmdHis'))))) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'insertion du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
}
/*
echo 'JUGEMENT LE MEME JOUR DEJA EN BASE :'.EOL;
print_r($tabEnbase);
echo 'MODIFICATIONS :'.EOL;
print_r($tabInsert);
$line = trim(fgets(STDIN));
}
} else
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} else {*/
$nbAnnInsertJ++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
}
}
$message.=" $nbAnnInsertJ ajouts et $nbAnnUpdateJ mises à jours sur $nbAnnonces annonces et $nbSiretRetraitement annonces à retraiter !\r\n\r\n".EOL;
} else
echo date('Y/m/d - H:i:s') ." - On ignore le chargement des annonce(s) jugements INPI IMR !".EOL;
if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) {
if (!$loadCSF)
die(date ('Y/m/d - H:i:s') . " - On ignore le chargement des défaillances".EOL);
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des défaillances".EOL;
global $tabCodeEven;
$tabCodeEven=array( 'LJ' => 1305, // Liquidation Judiciaire
'LJS' => 1306, // Liquidation Judiciaire Simplifiee
'PDS' => 1100, // Procedure De Sauvegarde
'PS' => 1101, // Plan De Sauvegarde
'RJ' => 1200, // Redressement Judiciaire
'RJS' => 1200, // Redressement Judiciaire Simplifié ?
'CCJ_DIV'=>1999, // Autres jugements et ordonnances
'CI' => 1503, // Clôture pour insuffisance d'actif
'CSL' => 1307, // Conversion de la sauvegarde en LJ
'CSR' => 1201, // Conversion de la sauvegarde en RJ
'DOP' => 1215, // Désignation des organes de procédure
'EC' => 1203, // Dépôt de l'état de collocation
'EOPC' => 1511, // Cloture du plan de cession
'EOPDS' => 1500, // Cloture de la procédure de sauvegarde
'EOPS' => 1513, // Cloture du plan de sauvegarde
'EORJ' => 1512, // Cloture de la procédure de redressement judiciaire
'EXLJ' => 1417, // Extension de la liquidation judiciaire
'EXPDS' => 1419, // Extension de la procédure de sauvegarde
'EXRJ' => 1418, // Extension de la procédure de redresseent judiciaire
'FP' => 1600, // Faillite personnelle
'JCC' => 1501, // Jugement de clôture après cession
'JEP' => 1502, // Extinction du passif
'JIG' => 1601, // Interdiction de gérer
'LB' => 1603, // Liquidation de biens
'PC' => 1411, // Plan de cession
'PCL' => 1411, // Plan de cession avec location-gérance
'PCM' => 1408, // Jugement lié au plan de cession
'PCP' => 1412, // Plan de cession partielle
'PCR' => 1413, // Plan de continuation/Redressement
'PCRM' => 1409, // Jugement lié au plan de continuation/redressement
'PR' => 1407, // Jugement lié au projet de répartition
'PSM' => 1407, // Jugement lié au plan de sauvegarde
'RGJ' => 1209, // Règlement judiciaire
'STOP_LJ'=>1544, // Rétractation de jugement de liquidation judiciaire
'STOP_PCL'=>1506, // Rétractation de jugement => Infirmation Jugement
'STOP_RJ'=>1543, // Rétractation de jugement de redressement judiciaire
'CRE' => 1210, // Jugement lié aux créances => Production de titres et créances
'AMP' => 1525, // Appel du ministère public => Appel de jugement
'HC' => 1445, // Homologation de concordat => Jugement d'homologation de l'accord
'HP' => 1460, // Plan homologué => Jugement d'homologation de l'accord
'CP' => 1010, // Cessation de paiement
'PA' => 1430, // Jugement autorisant la poursuite d'activité
'PUB' => 1700, // Décision soumise à publicité
'SEP' => 1435, // Suspension de l'éxecution provisoire
'SP' => 1436, // Suspension provisoire des poursuites
);
/*
elseif ($libEven=='Liquid.judiciaire Simplifiee') $typeEven='1306';
elseif ($libEven=='Plan De Cession') $typeEven='1411';
elseif ($libEven=='
elseif ($libEven=='Plan De Redressement') $typeEven='1414';
elseif ($libEven=='Conciliation') $typeEven='1150';
elseif ($libEven=='Infirmat Liquid Judiciaire') $typeEven='1506';
*/
function getCodeEven($codeEven) {
global $tabCodeEven;
return $tabCodeEven[$codeEven];
}
for ($i=0; isset($tabFichier[$i]); $i++)
{
$nomFichier =$tabFichier[$i];
$fp=fopen(CSF_FTP_DIR.$nomFichier, 'r');
if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
$nbLignes=0; // Nombre de ligne du fichier
while (!feof($fp))
{
$nbLignes++;
$a = trim(fgets($fp, 1024));
}
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
//$finFichier=false;
$ligne=1;
rewind($fp);
/** Traitement de la 1ère ligne **/
$a = trim(fgets($fp, 2048));
$tab=explode("\t", $a);
$erreur='';
if (strtoupper($tab[ 0])<>'REF_CLIENT') $erreur.='Ligne 1, Champ 1 : libellé REF_CLIENT attentu';
if (strtoupper($tab[ 1])<>'DATE_FRAICHEUR') $erreur.='Ligne 1, Champ 2 : libellé DATE_FRAICHEUR attentu';
if (strtoupper($tab[ 2])<>'RCS') $erreur.='Ligne 1, Champ 3 : libellé RCS attentu';
if (strtoupper($tab[ 3])<>'RAISON_SOCIALE') $erreur.='Ligne 1, Champ 4 : libellé RAISON_SOCIALE attentu';
if (strtoupper($tab[ 4])<>'ADRESSE1') $erreur.='Ligne 1, Champ 5 : libellé ADRESSE1 attentu';
if (strtoupper($tab[ 5])<>'ADRESSE2') $erreur.='Ligne 1, Champ 6 : libellé ADRESSE2 attentu';
if (strtoupper($tab[ 6])<>'ADRESSE3') $erreur.='Ligne 1, Champ 7 : libellé ADRESSE3 attentu';
if (strtoupper($tab[ 7])<>'CCJ_CSFR') $erreur.='Ligne 1, Champ 8 : libellé CCJ_CSFR attentu';
if (strtoupper($tab[ 8])<>'CCJ_DATE') $erreur.='Ligne 1, Champ 9 : libellé CCJ_DATE attentu';
if (strtoupper($tab[ 9])<>'TRIBUNAL') $erreur.='Ligne 1, Champ 10 : libellé TRIBUNAL attentu';
if (strtoupper($tab[10])<>'MANDATAIRE') $erreur.='Ligne 1, Champ 11 : libellé MANDATAIRE attentu';
if (strtoupper($tab[11])<>'REF_CSFR') $erreur.='Ligne 1, Champ 12 : libellé REF_CSFR attentu';
//Ref_client date_fraicheur RCS Raison_sociale adresse1 adresse2 adresse3 CCJ_CSFR
//CCJ_date Tribunal mandataire Ref_csfr
if ($erreur<>'') {
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
//$dateInsert=date('YmdHis');
while (!feof($fp))
{
$ligne++;
$a = trim(fgets($fp, 1024));
if ($a=='') continue;
//if ($modeDebug) echo "Ligne $ligne Déb: '$a'".EOL;
//unset($tabErreur); $nbErr=0;
$tab=explode("\t", $a);
$tabAnn=array();
if ($tab[0]<>'SandD')
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs REF_CLIENT différent de 'SandD' (".$tab[0].') !'.EOL;
$siren=$tabAnn['siren'] = $tab[2];
if (!$iInsee->valideSiren($tabAnn['siren'])) {
$tabAnn['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs SIREN invalide ". $tabAnn['siren'] .' !'.EOL;
$nbSiretInvalides++;
} else {
$tabAnn['sirenValide']=1;
$nbSiretValides++;
}
$tabAnn['raisonSociale'] = $tab[3];
if (strlen($tabAnn['raisonSociale'])>60)
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs RAISON_SOCIALE de longueur ". strlen($tabAnn['raisonSociale']) .' !'.EOL;
$tabAnn['adresse'] = $tab[4];
$cpVille = $tab[5];
$tabAnn['codePostal'] = substr($cpVille,0,5);
$tabAnn['ville'] = trim(substr($cpVille,5));
$dep=substr($cpVille,0,2)*1;
if (!$iInsee->isDepartement($dep)) {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Département '$dep' inconnu !".EOL;
//die($a);
//echo '?';
//$line = trim(fgets(STDIN));
}
$dateIn = $tab[1];
if (strlen($dateIn)<>19)
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs DATE_FRAICHEUR de longueur ". strlen($dateIn) .' !'.EOL;
$tabAnn['dateSource'] = /*@WDate::dateT('Y-m-d','Y-m-d',*/$dateIn/*)*/;
/* $dateIn = $tab[6];
$dateOut=@WDate::dateT('m/d/Y','Y-m-d',$dateIn);
if ($dateIn<>'') $tabAnn['naissance_date']=$dateOut;
else $tabAnn['naissance_date']='0000-00-00';*/
$dateJugeKbis = $tab[8];
if (strlen($dateJugeKbis)<>19)
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs CCJ_DATE de longueur ".strlen($dateJugeKbis).' !'.EOL;
else
$dateJugeKbis=Wdate::dateT('Y-m-d', 'Ymd', $dateJugeKbis);
$codeJugementCSF = $tab[7];
$tabAnn['typeEven'] = getCodeEven($codeJugementCSF)*1;
if ($tabAnn['typeEven']==0) {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs CCJ_CSFR (Code Jugement CSF) inconnu '$codeJugementCSF' !".EOL;
}
$source= trim($tab[11]);
if ($source=='G' || $source=='I'/* || $source=='P'*/) {
//if ($modeDebug) echo "Ligne $ligne SRC: '$a'".EOL;
$tribunal = trim($tab[9]);
$tabAnn['tribunal'] = $iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), $dep);
//if ($modeDebug) echo "Ligne $ligne TRI1: '$a'".EOL;
if (!$tabAnn['tribunal']) {
$tabAnn['tribunal'] = $iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), 0);
//if ($modeDebug) echo "Ligne $ligne TRI2: '$a'".EOL;
if (!$tabAnn['tribunal']) {
if ($tribunal=='AIX') $tabAnn['tribunal']='AIXC';
elseif ($tribunal=='MONT DE MARSAN') $tabAnn['tribunal']='MONTMC';
elseif ($tribunal=='SALON DE PROVENCE') $tabAnn['tribunal']='SALONC';
elseif ($tribunal=='BAGNERES DE BIGORRE') $tabAnn['tribunal']='BAGNEC';
elseif ($tribunal=='OLORON STE MARIE') $tabAnn['tribunal']='OLOROC';
elseif ($tribunal=='LE PUY EN VELAY') $tabAnn['tribunal']='LEPUYC';
elseif ($tribunal=='CLERMONT L HERAULT') $tabAnn['tribunal']='CLHERC';
elseif ($source=='G' && $tribunal=='' && $dep==23) $tabAnn['tribunal']='GUEREC';
elseif ($source=='G' && $tribunal=='' && $dep==26) $tabAnn['tribunal']='ROMANC';
elseif ($source=='G' && $tribunal=='' && $dep==27) $tabAnn['tribunal']='BERNAC';
elseif ($source=='G' && $tribunal=='' && $dep==48) $tabAnn['tribunal']='MENDEC';
elseif ($source=='G' && $tribunal=='' && $tabAnn['siren']>100) {
//if ($modeDebug) echo "Ligne $ligne TRI3: '$a'".EOL;
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
//if ($modeDebug) echo "Ligne $ligne TRI4: '$a'".EOL;
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
//if ($modeDebug) echo "Ligne $ligne TRI5: '$a'".EOL;
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
$tabAnn['tribunal']=$trib['triCode'];
break;
}
//if ($modeDebug) echo "Ligne $ligne TRI6: '$a'".EOL;
if (!$tabAnn['tribunal']) {
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='G' && $trib['triStatut']=='Actif') {
$tab['tribunal']=$trib['triCode'];
break;
}
}
//if ($modeDebug) echo "Ligne $ligne TRI9: '$a'".EOL;
}
elseif ($source=='P' && $dep>0 && $dep<977) {
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
// En fonction du département 67,68 et de la CJ 1xxx non commerçant, Associations : TGI
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
$tabAnn['tribunal']=$trib['triCode'];
break;
}
if (!$tabAnn['tribunal']) {
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='G' && $trib['triStatut']=='Actif') {
$tab['tribunal']=$trib['triCode'];
break;
}
}
if (!$tabAnn['tribunal']) {
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='M' && $trib['triStatut']=='Actif') {
$tab['tribunal']=$trib['triCode'];
break;
}
}
if (!$tabAnn['tribunal']) {
foreach ($tabTribunaux as $trib)
if ($trib['triType']=='P' && $trib['triStatut']=='Actif') {
$tab['tribunal']=$trib['triCode'];
break;
}
}
}
else {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes : Tribunal CSF inconnu '$tribunal' (Dept.=$dep, source=$source) !".EOL;
$tabAnn['tribunal']=$tribunal.'*';
if ($source<>'P' && $source<>'I') { /* On insert le jugement uniquement si on l'a pas déjà en base ! */
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren']." : '$a' - Problème de tribunal".EOL;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement CSF : Problème de tribunal', "Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
}
}
}
}
if ($source=='I') {
$tabAnn['source'] = 'JC';
$tabAnn['dateJugement'] = $dateJugeKbis;
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
if ($tabIdentite['SituationJuridique']<>'P') {
if ($dateJugeKbis>date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y')))) {
if ($tabAnn['typeEven']<>1445) {
// L'entreprise n'est pas connue comme en Procol et le jugement à mois de 6 mois !
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source JC, siren=".$tabAnn['siren']." : '$a'".EOL;
sendMail('production@scores-decisions.com', 'prod@scores-decisions.com', 'Chargement CSF : Procol inconnue', "Ligne $ligne/$nbLignes, source Kairos via CSF, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
} else continue;
} else continue;
} else {
// Provisoirement, on ignore l'annonce car déjà en procol
/** @todo
Si dernière annonce = SV, RJ, LJ prendre la nouv. annonce si suite du jugement
**/
continue;
}
} else {
$tabAnn['source'] = $source.'C';
$texte = trim(@$tab[10]);
/*JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 15/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE, SOUS LE NUMÉRO 2010J00041 DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX , JUGE COMMISSAIRE M. CHIKAR , JUGE COMMISSAIRE SUPPLÉANT M. HAMON , MET FIN À LA MISSION DE L'ADMINISTRATEUR ME TULIER RUE RENÉ CASSIN IMMEUBLE LE MAZIÈRE - 4ÈME ÉTAGE 91000 EVRY
*/
$regExDate='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{4,4})';
$regExDate2='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{2,2})';
$regExDateLong='(([0-9]{1,2}|1er)\s+(janvier|février|fevrier|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre|decembre)\s+([0-9]{4,4}))';
//SUIVANT JUGEMENT RENDU LE 27 AVRIL 2010, LE TRIBUNAL DE COMMERCE DE BOBIGNY A PRONONCE L'OUVERTURE D'UNE PROCEDURE DE REDRESSEMENT JUDICIAIRE
if (preg_match("/(JGT|JUGEMENT|prononc|ORDONNANCE).{1,75}\s+EN\s+DATE\s+DU\s+$regExDate/Uis", $texte, $matches)) {
//echo $texte.EOL;
$dateJuge=$matches[2];
echo "A, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
/*print_r($matches);
die();*/
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDate/Uis", $texte, $matches)) {
$dateJuge=$matches[2];
echo "B1, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDate2/Uis", $texte, $matches)) {
$dateJuge=$matches[2];
echo "B2, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
} elseif (preg_match("/DATE\s+D(?:\+|')EFFET(?:\s+\:?\s+)$regExDate/Uis", $texte, $matches)) {
$dateJuge=$matches[1];
echo "C, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
/* print_r($matches);
die();*/
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).{1,120}(?:DU|RENDUE? LE)\s+$regExDateLong/Ui", $texte, $matches)) {
$dateJuge=Wdate::dateT('dMY', 'd/m/Y',$matches[2]);
echo "D, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
/*print_r($matches);
die();*/
} elseif (preg_match("/(JGT|JUGEMENT|ORDONNANCE).RENDU.{1,80}(?: DU| LE)\s+$regExDate/Uis", $texte, $matches)) {
$dateJuge=$matches[2];
echo "D2, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
} elseif (preg_match("/JGT|JUGEMENT.{1,55}\s+$regExDate\s+/Ui", $texte, $matches)) {
$dateJuge=$matches[1];
echo "E, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
/*print_r($matches);
die();*/
//
} elseif (preg_match("/Arr.t de la Cour d.Appel (?:.*) du\s+$regExDate\s+/Uis", $texte, $matches)) {
$dateJuge=$matches[1];
echo "F, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
} else {
/*
Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives du Tribunal de Commerce de Vienne en date du 02/02/2010 décidant de l'APPLICATION DE LA LIQUIDATION JUDICIAIRE SIMPLIFIEE
410946008 : Jugement kbis du 20100413. DATE TEXTE !
*/
echo "$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE NON TROUVEE !!!".EOL;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, date texte non trouvée pour le siren $siren :
$texte
Jugement kbis du ".$tabAnn['dateJugement'].EOL);
echo $texte.EOL;
if ($modeDebug || $questions) {
while(1) {
echo "Entrez la date du jugement au format JJ/MM/AAAA ?".EOL;
$dateJuge = trim(fgets(STDIN));
$line=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/')));
if ($line>=0 && $line<date('Ymd')) break;
}
}
else die("$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE !".EOL);
}//JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 08/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE,
$dateJuge=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/')));
$dateJugeMin=date('Ymd', mktime(0, 0, 0,
WDate::dateT('Ymd','m',$dateJugeKbis),
WDate::dateT('Ymd','d',$dateJugeKbis)-60,
WDate::dateT('Ymd','Y',$dateJugeKbis)));
if ($dateJuge>=$dateJugeMin && $dateJuge<=$dateJugeKbis)
$tabAnn['dateJugement']=$dateJuge;
else
$tabAnn['dateJugement']=$dateJugeKbis;
echo "Date de jugement RETENUE : ".$tabAnn['dateJugement'].EOL;
echo $texte.EOL;
//if ($modeDebug) $line = trim(fgets(STDIN));
if (preg_match('/Arr.t.{1,15}Cour.{1,15}Appel.{1,75}INFIRM/is', $texte, $matches)) {
if (preg_match('INFIRM/is', $texte, $matches))
$tabAnn['typeEven']=1506; // Rétractation de jugement => Infirmation Jugement
else
$tabAnn['typeEven']=1507; // Arret de la cours d'appel
$tabAnn['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
$nbSiretRetraitement++;
} elseif (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
$tabAnn['typeEven']*1==1505 || // Appel de jugement
$tabAnn['typeEven']*1==1506 || // Infirmation Jugement
$tabAnn['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
$tabAnn['typeEven']*1==1515 || // Arrêt divers
$tabAnn['typeEven']*1==1517 || // Rectification d'une erreur matérielle
$tabAnn['typeEven']*1==1520 || // Ordonnance
$tabAnn['typeEven']*1==1525 || // Appel du ministère public
$tabAnn['typeEven']*1==1999) { // Autre procol)
$tabAnn['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
$nbSiretRetraitement++;
}
if (preg_match('/CESSATION.{1,35}PAIEMENTS(.*)/is', $texte, $matches)) {
if (preg_match("/FIXE AU\s+$regExDate.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2))
$tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches2[1], array('.'=>'/','-'=>'/'))));
elseif (preg_match("/FIXE AU\s+$regExDateLong.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2))
$tabAnn['dateCessationPaiement']=Wdate::dateT('dMY', 'Ymd', $matches2[1]);
elseif (preg_match("/\s+$regExDate/Uis", substr($matches[1],0,35), $matches))
$tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches[1], array('.'=>'/','-'=>'/'))));
elseif (preg_match("/\s+$regExDateLong/Ui", $texte, $matches))
$tabAnn['dateCessationPaiement']=Wdate::dateT('dMY', 'Ymd',$matches[1]);
}
$jugeCommissaire=$jugeCommissaireSup='';
if (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
$jugeCommissaire=strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'',','=>''));
$jugeCommissaireSup=strtr(strtoupper(preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',$matches[2])),array('TITULAIRE'=>'',':'=>'',','=>''));
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
$jugeCommissaireSup=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1])),array(':'=>''));
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)$/Uis', $texte, $matches)) {
$jugeCommissaire=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'')));
}
$adm=$mand=$liq='';
if (preg_match('/ADMINISTRATEUR(.*)MANDATAIRE(.*)$/Uis', $texte, $matches)) {
preg_match('/^(.*\d{5,5}.*,)/Uis', $matches[1], $matches);
$adm=strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'',':'=>'',','=>''));
preg_match('/^(.*\d{5,5}.*,)/Uis', $matches[2], $matches);
$mand=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
} elseif (preg_match('/ADMINISTRATEUR(.*)$/Uis', $texte, $matches)) {
$adm=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
}
if (preg_match('/MANDATAIRE(.*)$/Uis', $texte, $matches)) {
preg_match('/^(.*\d{5,5}.*(,|)$)/Uis', $matches[1], $matches);
$mand=preg_replace('/(,|LIQUIDATEUR|ADMINISTRATEUR).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
}
if (preg_match('/LIQUIDATEUR(.*)$/Uis', $texte, $matches)) {
preg_match('/^(.*\d{5,5}.*(,|)$)/Uis', $matches[1], $matches);
$liq=preg_replace('/(,|MANDATAIRE|ADMINISTRATEUR).*/','',strtr(strtoupper($matches[1]),array('JUDICIAIRE'=>'','*'=>'',':'=>'')));
}
$numero='';
if (preg_match('/NUM(?:E|é|è)RO\s+([A-Z0-9\.\/,-]{8,20})\s+/Uis', $texte, $matches)) {
$tabAnn['numero']=trim(strtoupper($matches[1]));
}
/*
OUVERTURE PERIODE D'OBSERVATION DE SIX MOIS
OUVRE UNE PÉRIODE D'OBSERVATION EXPIRANT LE 28/07/2010
DATE D'EFFET : 27/01/2010
MET FIN À LA MISSION DE L'ADMINISTRATEUR ME AVEZOU 5 BD DE L'EUROPE 91050 EVRY CEDEX
DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX ,
SUIVANT ORDONNANCE RENDUE LE 15 JANVIER 2010 PAR LE TRIBUNAL DE COMMERCE DE NANTES, MR LE JUGE-COMMISSAIRE A MIS FIN A LA MISSION DE ME A. DOLLEY, MANDATAIRE JUDICIAIRE.
*/
$iMand=1;
if (trim($adm)<>'') {
$tabAnn['inter'.$iMand.'type']='A';
//$tabAnn['inter'.$iMand.'id']=?;
$tabAnn['inter'.$iMand.'nom']=trim($adm);
$iMand++;
}
if (trim($mand)<>'') {
$tabAnn['inter'.$iMand.'type']='M';
//$tabAnn['inter'.$iMand.'id']=?;
$tabAnn['inter'.$iMand.'nom']=trim($mand);
$iMand++;
}
if (trim($liq)<>'') {
$tabAnn['inter'.$iMand.'type']='L';
//$tabAnn['inter'.$iMand.'id']=?;
$tabAnn['inter'.$iMand.'nom']=trim($liq);
$iMand++;
}
if (trim($jugeCommissaire)<>'') {
$tabAnn['inter'.$iMand.'type']='J';
//$tabAnn['inter'.$iMand.'id']=?;
$tabAnn['inter'.$iMand.'nom']=trim($jugeCommissaire);
$iMand++;
}
if (trim($jugeCommissaireSup)<>'') {
$tabAnn['inter'.$iMand.'type']='K';
//$tabAnn['inter'.$iMand.'id']=?;
$tabAnn['inter'.$iMand.'nom']=trim($jugeCommissaireSup);
$iMand++;
}
if ($iMand==1)
$tabAnn['annonce']=strtolower($texte);
else
$tabAnn['infosBrutes']=strtoupper($texte);
/*
JUGE COMMISSAIRE : MONSIEUR SWIDERSKI,
JUGE COMMISSAIRE : MONSIEUR NOEL,
ADMINISTRATEUR : SCP THEVENOT PERDEREAU EN LA PERSONNE DE ME THEVENOT 131 BD MALESHERBES 75017 PARIS, AVEC POUR MISSION : d'assister,
MANDATAIRE JUDICIAIRE : MAITRE COURTOUX DIDIER 62 BD DE SÉBASTOPOL 75003 PARIS,
PERIODE D'OBSERVATION EXPIRANT LE 26/03/2010,
Juge Commissaire Mme Lefebvre H. ,
Juge Commissaire suppléant M. Bejui F. ,
Administrateur Me Bleriot Philippe 26 Chemin de la Madeleine 93000 Bobigny avec pour mission de : d'assister le débiteur dans ses actes de gestion ,
Mandataire judiciaire SCP Moyrand - Bally en la personne de Maître Pascal Bally 14/16 Rue de Lorraine 93000 Bobigny
période d'observation expirant le 26/07/2010 .
*/
//if ($tabAnn['complement']<>'') $tabAnn['complement']='Mandataire : '.$tabAnn['complement'];
}
//$tabAnn['dateInsert']=$dateInsert;
if (isset($tabAnn['tribunal']) && strlen($tabAnn['tribunal'])<3) $tabAnn['tribunal']='INCONU';
if (isset($tabAnn['inter5id']) || isset($tabAnn['inter5type']) || isset($tabAnn['inter5nom'])) {
unset($tabAnn['inter5type']);
unset($tabAnn['inter5id']);
unset($tabAnn['inter5nom']);
}
$tabTmp=$iDb->select($table, 'id, siren, sirenValide, strEven, raisonSociale, adresse, codePostal, ville, dateSource, dateJugement, typeEven, tribunal, source, complement',"siren='".$tabAnn['siren']."' AND dateJugement='".$tabAnn['dateJugement'] ."' AND typeEven =".$tabAnn['typeEven'], false, MYSQL_ASSOC);
if (count($tabTmp)==0) {
$iDb->insert($table, array_merge($tabAnn,array('dateInsert'=>date('YmdHis'))));
if (mysql_errno()>0) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
print_r($tabAnn);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
if ($modeDebug) $line = trim(fgets(STDIN));
else die("ERREUR SQL".EOL);
}
$nbInsert++;
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
} else {
$tabAnnEnBase=$tabTmp[0];
$even=$tabAnnEnBase['typeEven'];
$trib=trim($tabAnnEnBase['tribunal']);
$comp=trim($tabAnnEnBase['complement']);
if ($tabAnn['typeEven']<>$even) {
print_r($tabAnn);
echo(date ('Y/m/d - H:i:s') . " - Jugement différent $even par rapport à ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
}
if (strlen($trib)>1 && $trib<>'INCONU' && $tabAnn['tribunal']<>$trib) {
echo (date ('Y/m/d - H:i:s') . " - Nouveau tribunal différent ".$tabAnn['tribunal']." par rapport à $trib pour l'annonce ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
unset($tabAnn['tribunal']);
}
if (strlen($comp)==0 && @$tabAnn['complement']<>'') {
//$tabAnn['complement']=$tabAnn['complement'];
echo (date ('Y/m/d - H:i:s') . " - Ajout du complément ".$tabAnn['complement'].' pour '. $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
} elseif (strlen($comp)>1 && $tabAnn['complement']<>$comp) {
echo date ('Y/m/d - H:i:s') . " - Complément différent ".$tabAnn['complement'].EOL;
echo "par rapport à $comp ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL;
$sortie=false;
if ($questions) {
while($sortie==false) {
echo 'Voulez vous conserver l\'ancien mandataire ? (Oui/Ajout/Non)';
$line = trim(fgets(STDIN));
if ($line=='O' || $line=='o') { $sortie=true; unset($tabAnn['complement']); }
elseif ($line=='N' || $line=='n' || $line=='') { $sortie=true; }
elseif ($line=='A' || $line=='a') { $sortie=true; $tabAnn['complement']="$comp, ".$tabAnn['complement'];}
}
}
}
echo date ('Y/m/d - H:i:s') . " - MAJ du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
if (count($tabTmp)>1) {
print_r($tabAnn);
echo date ('Y/m/d - H:i:s') . " - ERREUR : Jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' présent plusieurs fois !'.EOL;
//die();
}
$iDb->update($table,$tabAnn,'id='.$tabAnnEnBase['id']);
if (mysql_errno()>0) {
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
print_r($tabAnn);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
if ($modeDebug) $line = trim(fgets(STDIN));
else die("ERREUR SQL 2".EOL);
}
/*echo mysql_error().EOL."En base:".EOL;
print_r($tabAnnEnBase);
echo mysql_error().EOL."A mettre à jour :".EOL;
print_r($tabAnn);
echo "?";
$sdfqsd=trim(fgets(STDIN));*/
$nbUpdate++;
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Ligne $ligne : MAJ du jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .'!'.EOL;
}
}
//if ($modeDebug) echo "Ligne $ligne Fin: '$a'".EOL;
}
fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
if ($table=='annonces2') {
echo date ('Y/m/d - H:i:s')." - Chargement en test. Arrêt du traitement...".EOL;
die("TABLE ANNONCE 2".EOL);
}
if (bzip2(CSF_FTP_DIR.$nomFichier, CSF_BACKUP_DIR.$nomFichier)) {
unlink(CSF_FTP_DIR.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
}
}
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter !".EOL;
$message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n";
$message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter).".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL;
}
else {
$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier CSF à traiter !".EOL;
}
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement annonces Greffes', $message);
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement annonces Greffes', $message);
echo date ('Y/m/d - H:i:s') . " - Fin du traitement.".EOL;
die();
?>