1353 lines
62 KiB
PHP
1353 lines
62 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||
<?php
|
||
$table='annonces';
|
||
|
||
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.'insee/classMInsee.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
|
||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||
include_once(FWK_PATH.'mail/sendMail.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
||
|
||
define('TESSI_FTP_DIR', '/home/data/ftp/tessi/send/');
|
||
define('TESSI_BACKUP_DIR', '/home/data/jal/tessi/');
|
||
|
||
error_reporting(E_ALL ^ E_NOTICE);
|
||
|
||
$tabFJurTessi=array('ADMIN' => 74,
|
||
'ADMINISTRATION' => 74,
|
||
'OFF P' => 1400,
|
||
'OFF' => 1400,
|
||
'OFFICIER PUBLIC' => 1400,
|
||
'AG' => 1500,
|
||
'AGENT COMMERCIAL' => 1500,
|
||
'AGT C' => 1700,
|
||
'AGT' => 1700,
|
||
'ASS G' => 1800,
|
||
'ASSOCIE GERANT' => 1800,
|
||
'ASS' => 1800,
|
||
'AFF P' => 1900,
|
||
'AFF' => 1900,
|
||
'AFFAIRE PERSONNELLE' => 1900,
|
||
'ASSOC' => 9220,
|
||
'ASSOCIATION' => 9220,
|
||
'CE' => 83,
|
||
'COMITE D\'ENTREPRISE' => 83,
|
||
'COM S' => 5306,
|
||
'COM' => 5306,
|
||
'COMMANDITE SIMPLE' => 5306,
|
||
'EARL' => 6598, // Exploitation agricole à responsabilité limitée
|
||
'ETABLISSEMENT PUBLIC' => 73,
|
||
'ETPUB' => 73,
|
||
'EURL' => 5498, // SARLU
|
||
'EXP A' => 1600,
|
||
'EXP' => 1600,
|
||
'EXPLOITATION AGRICOLE' => 1600,
|
||
'FOND' => 9300,
|
||
'FONDATION' => 9300,
|
||
'GEIE' => 6210, // Groupement européen d'intérêt économique
|
||
'GIE' => 6220,
|
||
'INDIV' => 2110, // Indivision entre personnes physiques
|
||
'INDIVISION' => 2110,
|
||
'ORG' => 84,
|
||
'ORGANISME PRIVE' => 84,
|
||
'PLIB' => 1500,
|
||
'PROFESSION LIBERALE' => 1500,
|
||
'S COO' => 6560, // Autre société civile coopérative
|
||
'SOCIETE ANONYME' => 5599,
|
||
'SA' => 5599,
|
||
'SA DIRECTOIRE' => 5699,
|
||
'SADIR' => 5699, // SA à directoire
|
||
'SARL' => 5499,
|
||
'SRL' => 5499,
|
||
'SAS' => 5710,
|
||
'STE ACTIONS SIMPLIFIEE'=> 5710,
|
||
'SASU' => 5720, // Société par actions simplifiée à associé unique
|
||
'SAS UNIPERSONNNELLE' => 5720,
|
||
'SCACT' => 6597, // ???
|
||
'SOC COMMANDITE/ACTION' => 5308,
|
||
'SDRET' => 3120, // Société étrangère immatriculée au RCS
|
||
'SOCIETE ETRANGERE' => 3290,
|
||
'SNC' => 5202,
|
||
'SOC EN NOM COLLECTIF' => 5202,
|
||
'S CIV' => 6599,
|
||
'SOCIETE CIVILE' => 6599,
|
||
'SOCIETE DE FAIT' => 22,
|
||
'SYND' => 84,
|
||
'SYNDICAT' => 84,
|
||
/*
|
||
'SOCIETE MUTUELLE' => 0,
|
||
'S MUT' => 0,
|
||
'SPRL' => 0,
|
||
'SRL' => 0,
|
||
'S FA' => 0,
|
||
'COOPERATIVE' => 0,
|
||
*/
|
||
'STE EN PARTICIPATION' => 23,
|
||
'S PAR' => 23,
|
||
'SAM' => 6411, // Société d'assurance mutuelle
|
||
'C EPG' => 5196, // Caisse d'épargne et de prévoyance à forme coopérative
|
||
'CAISSE D\'EPARGNE' => 5196, // Caisse d'épargne et de prévoyance à forme coopérative
|
||
'EPIC' => 4140, // Établissement public local à caractère industriel ou commercial
|
||
);
|
||
|
||
$tabLibDate=array( 0=>'Date',
|
||
1=>'Date début activité',
|
||
2=>'Date d\'effet',
|
||
3=>'Date de cessation d\'activité',
|
||
4=>'Date de radiation',
|
||
5=>'Date de clôture compte annuel',
|
||
6=>'Date du plan de continuation',
|
||
7=>'Date de cessation de paiement',
|
||
8=>'Date du bilan',
|
||
9=>'Date arrêté du bilan',
|
||
10=>'Date de perte',
|
||
11=>'Date événement',
|
||
12=>'Date de parution',
|
||
13=>'Date de parution revue',
|
||
14=>'Date clôture procédure',
|
||
15=>'Date de début d\'interdiction de gérer',
|
||
16=>'Date arrêt plan de cession',
|
||
17=>'Date de levée d\'interdiction de gérer',
|
||
18=>'Date de faillite personnelle',
|
||
19=>'Date de jugement',
|
||
20=>'Date du plan de redressement',
|
||
21=>'Date de la rétraction',
|
||
22=>'Date de la liquidition amiable',
|
||
23=>'Date de la fusion absorption',
|
||
24=>'Date du plan de cession',
|
||
25=>'Date du 1er avis Bodacc',
|
||
26=>'Date début de la revue de parution',
|
||
27=>'Date fin de la revue de parution',
|
||
28=>'A compter du',
|
||
);
|
||
|
||
$tabEvenTessi=array('AVIS00'=> 2312, // Modification diverse
|
||
'AVIS03'=> 1300, // Conversion de redressement judiciaire en liquidation judiciaire
|
||
'AVIS04'=> 1212, // Conversion de liquidation judiciaire en redressement judiciaire
|
||
'AVIS05'=> 1407, // Plan de redressement
|
||
'AVIS06'=> 1506, // Jugement rétracté
|
||
'AVIS07'=> 2212, // Liquidation amiable
|
||
'AVIS08'=> 2725, // Fusion / Absorption
|
||
'AVIS09'=> 2200, // Cessation d'activité
|
||
'AVIS10'=> 1411, // Plan de redressement par cession
|
||
'AVIS11'=> 1436, // Suspension provisoire de poursuites
|
||
'AVIS12'=> 5999, // Ventes et cessions
|
||
'CREATION'=> 4000, // Création d'entreprise
|
||
'JUGEMENT01'=> 1200, // Redressement judiciaire
|
||
'JUGEMENT02'=> 1305, // Liquidation judiciaire
|
||
'JUGEMENT12'=> 1010, // Déclaration de cessation de paiement // Nouveau évènements AVRIL 2009
|
||
'JUGEMENT42'=> 1050, // Homologation de la conciliation // " " " "
|
||
'JUGEMENT43'=> 1055, // Résolution de la conciliation // " " " "
|
||
'JUGEMENT44'=> 1100, // Procédure de sauvegarde
|
||
'JUGEMENT45'=> 1101, // Plan de sauvegarde
|
||
'JUGEMENT46'=> 1513, // Résolution du plan de sauvegarde
|
||
'JUGEMENT47'=> 1508, // Exécution du plan de sauvegarde Extinction du plan de sauv. ?
|
||
'JUGEMENT48'=> 1201, // Conversion de la sauvegarde en RJ
|
||
'JUGEMENT49'=> 1307, // Conversion de la sauvegarde en LJ
|
||
'JUGEMENT50'=> 1419, // Extension de la sauvegarde
|
||
'JUGEMENT51'=> 1504, // Jugement de cloture en l'absence de plan
|
||
'JUGEMENT52'=> 1416, // Jugement constatant la fin des difficultés constatnt bonne exécution du plan ?
|
||
'JUGEMENT53'=> 1431, // Jugement de cessation partielle d'activité ????
|
||
'JUGEMENT54'=> 1510, // Jugement rejetant le plan de sauvegarde
|
||
'JUGEMENT55'=> 1306, // Liquidation judiciaire simplifiée
|
||
'JUGEMENT56'=> 1208, // Projet de répartition entre créanciers(LJS)
|
||
'JUGEMENT57'=> 1309, // Reprise de la procédure de LJS
|
||
'JUGEMENT58'=> 1511, // Résolution du plan de cession
|
||
'JUGEMENT59'=> 1308, // Fin du régime de LJS
|
||
'JUGEMENT60'=> 1500, // Jugement de cloture de la procédure de sauvegarde
|
||
);
|
||
|
||
$tabModifsTessi=array( 1=>'Modification de la forme juridique',
|
||
2=>'Modification du capital',
|
||
3=>'Modification des dirigeants',
|
||
4=>'Modification de la raison sociale',
|
||
5=>'Modification de l\'adresse',
|
||
6=>'Modification des pertes',
|
||
7=>'Modification du chiffre d\'affaire',
|
||
8=>'Modification de la date de fin d\'activité',//????
|
||
);
|
||
|
||
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
||
Chargement du/des fichier des annonces collecte JAL Tessi.
|
||
|
||
Options :
|
||
-d Mode debug (Verbosité au maximum)
|
||
-i Ne pas poser de questions interactives.
|
||
|
||
|
||
";
|
||
$iDb=new WDB('jo');
|
||
$iInsee=new MInsee();
|
||
$iBodacc=new MBodacc();
|
||
|
||
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
|
||
$modeDebug=false; // Mode débug
|
||
$questions=true; // Questions interactives autorisées ?
|
||
$tabFichier=$tabFichLigneCmd=array();
|
||
|
||
$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 '-':
|
||
case '?': die($strInfoScript); break;
|
||
default: die('Option '. $argv[$i] . " inconnue !\n");
|
||
}
|
||
} else $tabFichLigneCmd[]=$argv[$i];
|
||
}
|
||
/**define('', '/home/data/ftp/tessi/send/');
|
||
define('TESSI_BACKUP_DIR', '/home/data/ftp/tessi/send/');*/
|
||
if (count($tabFichLigneCmd)==0) {
|
||
$dh = opendir(TESSI_FTP_DIR);
|
||
while (false !== ($filename = readdir($dh))) {
|
||
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
|
||
$tabFichier[] = $filename;
|
||
}
|
||
sort($tabFichier);
|
||
}
|
||
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier d'annonces Collecte Tessi à traiter !".EOL);
|
||
|
||
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des annonces Collecte Tessi...".EOL;
|
||
|
||
$tabTmp=$iDb->select('tabMandataires', "id, CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) AS Mandataire, REPLACE(REPLACE(tel, '.', ' '), ' ', '') AS Telephone, type", "tel<>'' ORDER BY Telephone ASC", true, MYSQL_ASSOC);
|
||
$telPre=false;
|
||
foreach ($tabTmp as $mand) {
|
||
$tel=$mand['Telephone'];
|
||
if ($tel<>$telPre)
|
||
$tabMandSD[$tel]=array( 'id'=>$mand['id'],
|
||
'mandataire'=>$mand['Mandataire'],
|
||
'type'=>$mand['type'],
|
||
);
|
||
}
|
||
|
||
for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
|
||
{
|
||
$nomFichier=$tabFichier[$iFic];
|
||
$ref=false; // La date du flux, contenue dans la ref du fichier n'a pas encore été lue !!
|
||
|
||
$dom_object = new DomDocument2();
|
||
$dom_object->load(TESSI_FTP_DIR.$nomFichier);
|
||
// create DOMXPath object with our DOMObject
|
||
$xpath = new Domxpath($dom_object);
|
||
|
||
$result = $xpath->query("//document/annonce/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
} else echo date ('Y/m/d - H:i:s') . " - Fichier n°$iFic, $nomFichier en cours de traitement...".EOL;
|
||
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud PCL_REDIFF
|
||
**/
|
||
$tabAnnonces=array();
|
||
foreach ($result as $annonce) {
|
||
|
||
$tabAnnonce=$tabBilan=array();
|
||
$tabAnnonce['texte']='';
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
$elem=$dom->createElement('annonce');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonce['xml']=$dom->saveXML();
|
||
|
||
/*
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
*/
|
||
/** Récupération de la catéforie d'évènement TESSI
|
||
** 10 : Créations (on ignore)
|
||
** 20 : Vente et cession
|
||
** 30 : Modification mutation diverse
|
||
** 40 : Radiation
|
||
** 50 : Procédure collective
|
||
**/
|
||
$title = $xpath->query ('evenement/codeEvenement', $annonce);
|
||
$tabAnnonce['even']=$title->item(0)->nodeValue;
|
||
@$tabCptAnn[$tabAnnonce['even']][0]++;
|
||
/* if ($tabAnnonce['even']==10)
|
||
continue;
|
||
*/
|
||
|
||
|
||
/** Tableau des dates de l'annonce
|
||
**/
|
||
$title = $xpath->query ('evenement/dates/date/.', $annonce);
|
||
$tabDates=array();
|
||
foreach ($title as $i=>$dates) {
|
||
$title = $xpath->query ('dat', $dates);
|
||
$tabDates[$i]['dateAff']= $title->item(0)->nodeValue;
|
||
$tabDates[$i]['date'] = $dateBodacc=WDate::dateT('d/m/Y', 'Ymd', $title->item(0)->nodeValue);
|
||
$title = $xpath->query ('type', $dates);
|
||
$tabDates[$i]['type'] = $title->item(0)->nodeValue;
|
||
$tabDates[$i]['lib'] = $tabLibDate[$tabDates[$i]['type']];
|
||
if ($tabDates[$i]['type']==7) // Date de cessation de paiement
|
||
$tabAnnonce['dateCessationPaiement']=$tabDates[$i]['date'];
|
||
elseif ($tabDates[$i]['type']== 0 || // Date
|
||
$tabDates[$i]['type']== 1 || // Date début activité
|
||
$tabDates[$i]['type']== 2 || // Date d'effet
|
||
$tabDates[$i]['type']==28 || // A compter du
|
||
$tabDates[$i]['type']==17 || // Date de levée d'interdiction de gérer
|
||
$tabDates[$i]['type']== 8 || // Date du bilan
|
||
$tabDates[$i]['type']== 9 || // Date arrêté du bilan
|
||
$tabDates[$i]['type']== 5 ) {// Date de clôture compte annuel
|
||
$tabAnnonce['dateEffetFinP']=$tabDates[$i]['date'];
|
||
} elseif ($tabDates[$i]['type']==12 || // Date de parution
|
||
$tabDates[$i]['type']==13 ) { // Date de parution revue
|
||
$tabAnnonce['dateSource']=$tabDates[$i]['date'];
|
||
} elseif ($tabDates[$i]['type']==11 || // Date événement
|
||
$tabDates[$i]['type']==3 || // Date cessation d'activité
|
||
$tabDates[$i]['type']==4 || // Date de radiation
|
||
$tabDates[$i]['type']==6 || // Date du plan de continuation
|
||
$tabDates[$i]['type']==10 || // Date de perte
|
||
$tabDates[$i]['type']==15 || // Date de début d'interdiction de gérer
|
||
$tabDates[$i]['type']==14 || // Date clôture procédure',
|
||
$tabDates[$i]['type']==16 || // Date arrêt plan de cession',
|
||
$tabDates[$i]['type']==18 || // Date de faillite personnelle',
|
||
$tabDates[$i]['type']==19 || // Date de jugement',
|
||
$tabDates[$i]['type']==20 || // Date du plan de redressement',
|
||
$tabDates[$i]['type']==21 || // Date de la rétraction',
|
||
$tabDates[$i]['type']==22 || // Date de la liquidition amiable',
|
||
$tabDates[$i]['type']==23 || // Date de la fusion absorption',
|
||
$tabDates[$i]['type']==24) { // Date du plan de cession
|
||
$tabAnnonce['dateJugement']=$tabDates[$i]['date'];
|
||
}
|
||
//$tabAnnonce['texte'].=$tabLibDate[$tabDates[$i]['type']].' : '.$tabDates[$i]['date'].'. ';
|
||
}
|
||
$tabAnnonce['dates']=$tabDates;
|
||
|
||
$title = $xpath->query ('evenement/detailNature', $annonce);
|
||
$tabAnnonce['libEven']=$title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('evenement/idNature', $annonce);
|
||
$tabAnnonce['codeEven']=$title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('evenement/numAnnonce', $annonce);
|
||
$tabAnnonce['numAnnonce']=$title->item(0)->nodeValue;
|
||
//echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce'];
|
||
|
||
/** Initialisation du première évènement en fonction de la classification TESSI **/
|
||
$title = $xpath->query ('evenement/nature', $annonce);
|
||
$tabAnnonce['nature']=trim($title->item(0)->nodeValue);
|
||
$tabAnnonce['tabEven']=array();
|
||
$tabAnnonce['tabEven'][]=$tabEvenTessi[$tabAnnonce['nature']];
|
||
@$tabCptAnn[$tabAnnonce['even']][$tabEvenTessi[$tabAnnonce['nature']]]++;
|
||
|
||
/** Tableau des modifications
|
||
**/
|
||
$title = $xpath->query ('evenement/modifications/modification/.', $annonce);
|
||
$tabModifs=array();
|
||
$modifCapital=false;
|
||
foreach ($title as $i=>$modifs) {
|
||
$title = $xpath->query ('date', $modifs);
|
||
$tabModifs[$i]['dateAff']= $title->item(0)->nodeValue;
|
||
$tabModifs[$i]['date'] = WDate::dateT('d/m/Y', 'Ymd', $title->item(0)->nodeValue);
|
||
$title = $xpath->query ('devise', $modifs);
|
||
$tabModifs[$i]['devise'] = $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('montant', $modifs);
|
||
$tabModifs[$i]['montant'] = $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('montantVente', $modifs);
|
||
$tabModifs[$i]['montantVente'] = $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nbreMoisModif', $modifs);
|
||
$tabModifs[$i]['nbreMoisModif'] = $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('type', $modifs);
|
||
$tabModifs[$i]['type'] = $title->item(0)->nodeValue;
|
||
$tabModifs[$i]['typeLib'] = $tabModifsTessi[$tabModifs[$i]['type']];
|
||
switch ($tabModifs[$i]['type']) {
|
||
case 1: $tabAnnonce['tabEvenDef']=2307; break; // 1 Modification de la forme juridique
|
||
case 2: $tabAnnonce['tabEvenDef']=2101; break; // 2 Modification du capital
|
||
case 3: $tabAnnonce['tabEvenDef']=2315; break; // 3 Modification des dirigeants
|
||
case 4: $tabAnnonce['tabEvenDef']=2308; break; // 4 Modification de la raison sociale
|
||
case 5: $tabAnnonce['tabEvenDef']=2300; break; // 5 Modification de l'adresse
|
||
case 6: $tabAnnonce['tabEvenDef']=2319; break; // 6 Modification des pertes
|
||
case 7: $tabAnnonce['tabEvenDef']=3999; break; // 7 Modification du chiffre d'affaire
|
||
case 8: $tabAnnonce['tabEvenDef']=2200; break; // 8 Modification de la date de fin d'activité
|
||
default:
|
||
print_r($tabAnnonce);
|
||
echo $tabModifsTessi[$tabModifs[$i]['type']].' ('.$tabModifs[$i]['type'].') inconnu !';
|
||
die();//@ICI
|
||
}
|
||
}
|
||
$tabAnnonce['modifs']=$tabModifs;
|
||
|
||
$title = $xpath->query ('texte', $annonce);
|
||
$tabAnnonce['texte']=utf8_decode($title->item(0)->nodeValue);
|
||
if(preg_match('/ANTEBODACC\((.*)\)/Uis', $tabAnnonce['texte'], $matches)) {
|
||
switch(strtoupper($matches[1])) {
|
||
case 'G': // Greffe
|
||
$tabAnnonce['source']='JTG';
|
||
break;
|
||
case 'J': // Journal régional d'information légale
|
||
$tabAnnonce['source']='JTJ';
|
||
break;
|
||
case 'R': // Revue BODACC
|
||
$tabAnnonce['source']='JTR';
|
||
break;
|
||
default:
|
||
$tabAnnonce['source']='JT'.strtoupper($matches[1]);
|
||
break;
|
||
}
|
||
} else
|
||
$tabAnnonce['source']='';
|
||
|
||
if(preg_match('/MODIFICATIONS \:(.*)$/Uis', $tabAnnonce['texte'], $matches)) {
|
||
$tabAnnonce['modification']=$matches[1];
|
||
if (preg_match('/pas prononcer la dissolution de la societe(.*)capitaux propres devenus inferieurs a la moitie du capital/Uis',
|
||
$tabAnnonce['modification']) ||
|
||
preg_match('/Capitaux propres inferieurs a la moitie du capital social/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2319;
|
||
@$tabCptAnn[$tabAnnonce['even']][2319]++;
|
||
}
|
||
if (preg_match('/CHANGEMENT DE DIRIGEANTS/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2315;
|
||
@$tabCptAnn[$tabAnnonce['even']][2315]++;
|
||
}
|
||
if (preg_match('/MODIFICATION DE LA RAISON SOCIALE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2308;
|
||
@$tabCptAnn[$tabAnnonce['even']][2308]++;
|
||
}
|
||
if (preg_match('/TRANSFERT DU SIEGE SOCIAL/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2901;
|
||
@$tabCptAnn[$tabAnnonce['even']][2901]++;
|
||
}
|
||
if (preg_match('/TRANSFERT D.UN ETABLISSEMENT SECONDAIRE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2900;
|
||
@$tabCptAnn[$tabAnnonce['even']][2900]++;
|
||
}
|
||
|
||
if (preg_match('/LIQUIDATION AMIABLE DECIDEE LE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2212; // Nouvel évènement en avril 2009
|
||
@$tabCptAnn[$tabAnnonce['even']][2212]++;
|
||
}
|
||
if (preg_match('/L.ENTREPRISE A DECIDE DE CESSER SON ACTIVITE LE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2200;
|
||
@$tabCptAnn[$tabAnnonce['even']][2200]++;
|
||
}
|
||
|
||
if (preg_match('/CHANGEMENT DE LA FORME JURIDIQUE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2307;
|
||
@$tabCptAnn[$tabAnnonce['even']][2307]++;
|
||
if (preg_match('/ANCIENNE FORME \: (.*) NOUVELLE FORME \: (.*)$/Uis', $tabAnnonce['modification'], $matches)) {
|
||
$tabAnnonce['fj_old']=trim(str_replace('.','',$matches[1]));
|
||
$tabTmp=explode(' ', trim(substr(str_replace('.','',$matches[2]),0,5)));
|
||
if ($tabTmp[0]=='S') $tabTmp[0]=trim(substr(str_replace('.','',$matches[2]),0,5));
|
||
$tabAnnonce['fj_new']=$tabTmp[0];
|
||
if (isset($tabFJurTessi[$tabAnnonce['fj_new']]))
|
||
$tabAnnonce['newFJur']=$tabFJurTessi[$tabAnnonce['fj_new']];
|
||
elseif ($tabAnnonce['fj_new']=='TEXTE' ||
|
||
$tabAnnonce['fj_new']=='ORG' ||
|
||
$tabAnnonce['fj_new']=='AUGME' ||
|
||
$tabAnnonce['fj_new']=='S MUT')
|
||
$tabAnnonce['newFJur']=0;
|
||
else {
|
||
print_r($tabAnnonce);
|
||
echo 'Forme juridique inconnue : "'.$tabAnnonce['fj_new'].'"'.EOL;
|
||
if ($questions) {
|
||
while(1) {
|
||
echo 'Saisir la forme juridique (1100, 1200, 1900, 5499, etc...) pour "'.$tabAnnonce['fj_new'].'" ?'.EOL;
|
||
$line = trim(fgets(STDIN))*1;
|
||
if ($line>1000 && $line<9999) break;
|
||
}
|
||
$tabAnnonce['newFJur']=$line;
|
||
} else {
|
||
$message.='Arrêt du traitement, forme juridique inconnue : "'.$tabAnnonce['fj_new'].'"'.EOL;
|
||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur Chargement annonces JAL - Forme Jur inconnue', $message);
|
||
die();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
/*Capitaux propres inferieurs a la moitie du capital social sur le bila n arrete au 30/09/2009
|
||
* LE CHIFFRE D'AFFAIRES H.T CONSTATE SUR LE BILAN ARRETE AU 30/09/2009 POUR UNE DUREE DE 6 MOIS EST DE 2 311 914 EUR.</texte>*/
|
||
if (preg_match('/LE CHIFFRE D.AFFAIRES H\.T CONSTATE SUR LE BILAN/Uis', $tabAnnonce['modification'])) {
|
||
if (preg_match('/ARRETE AU (.{1,10}) POUR UNE DUREE DE (.*) MOIS EST DE (.*) EUR/Uis', $tabAnnonce['modification'], $matches)) {
|
||
//echo $tabAnnonce['modification'].EOL;
|
||
$tabBilan=array('dateClot' => WDate::dateT('d/m/Y', 'Ymd', trim($matches[1])),
|
||
'periode' => trim($matches[2]),
|
||
'montantCA' => trim(str_replace(' ','',$matches[3])),
|
||
);
|
||
}
|
||
}
|
||
|
||
if (preg_match('/REDUCTION DU CAPITAL SOCIAL LE/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2100;
|
||
@$tabCptAnn[$tabAnnonce['even']][2100]++;
|
||
$modifCapital=true;
|
||
} elseif (preg_match('/AUGMENTATION DU CAPITAL SOCIAL/Uis', $tabAnnonce['modification'])) {
|
||
$tabAnnonce['tabEven'][]=2102;
|
||
@$tabCptAnn[$tabAnnonce['even']][2102]++;
|
||
$modifCapital=true;
|
||
}
|
||
|
||
if (in_array(1506, $tabAnnonce['tabEven'])) {
|
||
$tabAnnonce['commentaire']=$tabAnnonce['modification'];
|
||
} elseif ($modifCapital) {
|
||
$commentaire='';
|
||
if (preg_match('/ANCIEN CAPITAL(?:\s*|\D*|\:*) (\d*)(?:\s)/Uis', $tabAnnonce['modification'],$matches))
|
||
$tabAnnonce['capital_old']=$matches[1];
|
||
if (preg_match('/NOUVEAU CAPITAL(?:\s*|\D*|\:*) (\d*)(?:\s)/Uis', $tabAnnonce['modification'],$matches))
|
||
$tabAnnonce['capital_new']=$matches[1];
|
||
|
||
if (preg_match('/(ABSORPTION DE PERTES POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Absorption de pertes pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(APPORT EN NUMERAIRE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Apport en numéraire pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(ARRONDISSEMENT GLOBAL EURO POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Arrondissement global pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(CONVERSION DE CREANCES POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Conversion de créances pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(DIMINUTION DU NB.VAL NOMINALE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Diminution du nombre et/ou de la valeur nominale pour un motant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(INCORPORATION DE RESERVES POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Incorporation de réserves pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(REDUCTION DE VALEUR NOMINALE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Réduction de la valeur nominale pour un motant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(REDUCTION DU NOMBRE ACT.PARTS POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Réduction du nombre d\'actions ou de parts pour un motant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(SOUSCRIPTION NOUVELLE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Souscription nouvelle pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(ABSORPTION D.UNE AUTRE SOCIETE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Absorption d\'une societe pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(APPORT EN NATURE POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Apport en nature pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(CONVERSION D.OBLIG. EN ACTIONS POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Conversion d\'obligations en actions pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
if (preg_match('/(INCORP. DE CPTE COURANT D.ASS POUR)(?:\s*|\D*|\:*)(\d*)(?:\D)$/Uis', $tabAnnonce['modification'],$matches))
|
||
$commentaire.='Incorporation du compte courant d\'associé pour un montant de '.number_format($matches[2],0,',',' ').' EUR. ';
|
||
|
||
$tabAnnonce['commentaire']=$commentaire;
|
||
}
|
||
|
||
/*
|
||
CETTE SOCIETE A FAIT L'OBJET D'UN PLAN DE REDRESSEMENT PAR CESSION LE 02/04/2009 COMMISSAIRE AU PLAN JOSSE MARIE JOSE ...
|
||
CETTE SOCIETE A FAIT L'OBJET D'UN PLAN DE REDRESSEMENT PAR CESSION LE 03/04/09 CESSIONNAIRE : LOIRE OFFSET TITOULET 42000 ST ETIENNE 382.
|
||
FONDS CEDE A BOULANGERIE LE PETIT POUCET LE 04/04/2009 360000.
|
||
FONDS CEDE LE 30/03/2009 280000.
|
||
JUGEMENT DE CONVERSION DE RJ EN LIQUID. JUDICIAIRE LE 31/03/2009 PAR DECISION DU TRIBUNAL DE COMMERCE DE PAU LIQUIDATEUR JUDICIAIRE: ME...
|
||
JUGEMENT DE LIQUIDATION JUDICIAIRE DU 04/11/08 RETRACTE LE 12/03/09 PAR DECISION DU TRIBUNAL DE COMMERCE DE LYON.
|
||
JUGEMENT DE REDRESSEMENT JUDICIAIRE DU 20/03/2009 RETRACTE LE 03/04/2 PAR DECISION DU TRIBUNAL DE COMMERCE DE TARASCON.
|
||
JUGEMENT RAPPORTANT LA LIQUID. JUDICIAIRE EN RJ LE 02/04/2009 PAR DECISION DU TRIBUNAL DE COMMERCE DE LYON MANDATAIRE JUDICIAIRE WALCZAK ...
|
||
LE CHIFFRE D'AFFAIRES H.T CONSTATE SUR LE BILAN ARRETE AU 30/04/2008 POUR UNE DUREE DE 11 MOIS EST DE 830 109 EUR.
|
||
PLAN DE REDRESSEMENT DU 01/04/2009 ARRETE PAR LE : TRIBUNAL DE COMMERCE DE ORLEANS COMMISSAIRE AU PLAN SAULNIER 6 RUE DES ANGLAISES 45000 ORLEANS.
|
||
SOCIETE ABSORBEE PAR ABTEY CHOCOLATERIE SIREN 946351376 RTE NATIONALE 466 68990 LE 31/03/2009.
|
||
*/
|
||
if (count($tabAnnonce['tabEven'])==1 && $tabAnnonce['even']==30) {
|
||
// On est sur une MMD sans précisions, on charge la MMD par défaut de l'évènement TESSI
|
||
$tabAnnonce['tabEven'][]=$tabAnnonce['tabEvenDef'];
|
||
// $tabModifications[]=$matches[1];
|
||
}
|
||
}
|
||
|
||
/** Type de tribunal
|
||
** C : Tribunal de Commerce
|
||
** C ou G : Tribunal de Commerce ou tribunal de Grande Instance
|
||
** F : ORIGINE GREFFE
|
||
** G : Tribunal de Grande Instance
|
||
** M : Tribunal Mixte de Commerce
|
||
** P : ORIGINE PRESSE
|
||
** T : Tribunal d’Instance
|
||
**/
|
||
$title = $xpath->query ('evenement/natureTribunal', $annonce);
|
||
$tabAnnonce['natureTribunal']=trim($title->item(0)->nodeValue);
|
||
|
||
$title = $xpath->query ('evenement/objet', $annonce);
|
||
$tabAnnonce['objet']=trim($title->item(0)->nodeValue);
|
||
|
||
$title = $xpath->query ('evenement/source', $annonce);
|
||
if ($tabAnnonce['source']=='')
|
||
$tabAnnonce['source']=trim($title->item(0)->nodeValue);
|
||
|
||
/** Type d'évènement :
|
||
** 1=Insertion, 2=Rectificatif, 3=Additif
|
||
*/
|
||
$title = $xpath->query ('evenement/typeEvenement/type', $annonce);
|
||
$tabAnnonce['typeAnnonce']=$title->item(0)->nodeValue;
|
||
switch ($tabAnnonce['typeAnnonce']) {
|
||
case 1: break;
|
||
//@ICI
|
||
case 2: die('Rectificatif'); break;
|
||
case 3: die('Additif'); break;
|
||
default: die('?'); break;
|
||
}
|
||
|
||
$title = $xpath->query ('evenement/villeTribunal', $annonce);
|
||
$tabAnnonce['villeTribunal']=$title->item(0)->nodeValue;
|
||
$tabAnnonce['tribunal']='';
|
||
|
||
$title = $xpath->query ('idTransfert', $annonce);
|
||
$tabAnnonce['idTransfert']=$title->item(0)->nodeValue;
|
||
|
||
if (!$ref) {
|
||
/** Recherche de la date de génération du fichier une seule fois pour l'ensemble des annonces
|
||
** Sert pour le numéro d'annonce unique au format (sed) AAnumJour . numAnnonce (tessi)
|
||
**/
|
||
$title = $xpath->query ('ref', $annonce);
|
||
$ref=utf8_decode($title->item(0)->nodeValue);
|
||
if(preg_match('/ANTEBODACC du (.*) n/Uis', $ref, $matches)) {
|
||
$dateFichier=WDate::dateT('d/m/Y', 'Ymd', $matches[1]);
|
||
$anneeJour=''.date('y', mktime(0,0,0,substr($dateFichier,4,2),substr($dateFichier,6,2),substr($dateFichier,0,4))).
|
||
sprintf("%03s", date('z', mktime(0,0,0,substr($dateFichier,4,2),substr($dateFichier,6,2),substr($dateFichier,0,4))));
|
||
}
|
||
}
|
||
|
||
/** Tableau des représentants
|
||
**/
|
||
$title = $xpath->query ('representants/representant/.', $annonce);
|
||
$tabDir=array(); // Tableau des mandataires
|
||
$tabDirTmp=array(); // Tableau des mandataires qui doivent être enregistrés comme dirigeant (Liquidateurs amiables)
|
||
foreach ($title as $i=>$dir) {
|
||
$title = $xpath->query ('adresses/adresse/rue', $dir);
|
||
$tabDir[$i]['adrVoie']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('adresses/adresse/codePostal', $dir);
|
||
$tabDir[$i]['adrCP']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('adresses/adresse/ville', $dir);
|
||
$tabDir[$i]['adrVille']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('adresses/adresse/region', $dir);
|
||
$tabDir[$i]['adrNumRegion']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('adresses/adresse/pays', $dir);
|
||
$tabDir[$i]['adrPays']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('adresses/adresse/telephone', $dir);
|
||
$tabDir[$i]['telephone']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('fonction', $dir);
|
||
$tabDir[$i]['fonction']= utf8_decode($title->item(0)->nodeValue);
|
||
|
||
$title = $xpath->query ('nom', $dir);
|
||
$tabDir[$i]['nom']= utf8_decode($title->item(0)->nodeValue);
|
||
|
||
$title = $xpath->query ('civilite', $dir);
|
||
$tabDir[$i]['civilite']= utf8_decode($title->item(0)->nodeValue);
|
||
|
||
$title = $xpath->query ('complementNom', $dir);
|
||
$complementNom= utf8_decode($title->item(0)->nodeValue);
|
||
if ($tabDir[$i]['fonction']=='Liquidateur amiable') {
|
||
$tabDir[$i]['prenom']=str_replace(' ','', $complementNom);
|
||
$tabDirTmp[]=$tabDir[$i];
|
||
$i--;
|
||
} else {
|
||
$tabDir[$i]['$complementNom']=str_replace(' ','', $complementNom);
|
||
$strMand=$tabDir[$i]['civilite'].' '.$tabDir[$i]['nom'].' '.$tabDir[$i]['prenom'].' '.$tabDir[$i]['adrVoie'].' '.$tabDir[$i]['adrCP'].' '.$tabDir[$i]['adrVille'];
|
||
//$tabMand[]=$strMand;
|
||
$tabDir[$i]['mandId'] = $tabMandSD[$tabDir[$i]['telephone']]['id']*1;
|
||
$tabDir[$i]['mandAff'] = $strMand; //$tabMandSD[$tabDir[$i]['telephone']]['mandataire'];
|
||
$tabDir[$i]['mandType'] = $tabMandSD[$tabDir[$i]['telephone']]['type'];
|
||
if ($tabDir[$i]['mandId']==0) {
|
||
$tabDir[$i]['mandAff'] = $strMand;
|
||
if ($tabDir[$i]['telephone']*1>0)
|
||
$tabDir[$i]['mandAff'].=', Téléphone : '.$tabDir[$i]['telephone'];
|
||
switch ($tabDir[$i]['fonction']) {
|
||
case 'Commissaire au plan': $tabDir[$i]['mandType']='C'; break;
|
||
case 'Mandataire': $tabDir[$i]['mandType']='M'; break;
|
||
case 'Représentant des créanciers': $tabDir[$i]['mandType']='R'; break;
|
||
case 'Liquidateur judiciaire':
|
||
case 'Liquidateur': $tabDir[$i]['mandType']='L'; break;
|
||
case 'Administrateur judiciaire': $tabDir[$i]['mandType']='A'; break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$tabAnnonce['representants']=$tabDir;
|
||
|
||
/** Tableau des sociétés concernées par l'annonce
|
||
**/
|
||
$title = $xpath->query ('societes/societe/.', $annonce);
|
||
$tabSoc=array();
|
||
foreach ($title as $i=>$soc) {
|
||
$title = $xpath->query ('activite', $soc);
|
||
$tabSoc[$i]['activite']= $title->item(0)->nodeValue;
|
||
|
||
/** Nouvelle adresse **/
|
||
$title = $xpath->query ('nouvelleAdresse/rue', $soc);
|
||
$tabSoc[$i]['adrVoie']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/complementRue', $soc);
|
||
$tabSoc[$i]['adrComp1']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/localite', $soc);
|
||
$tabSoc[$i]['adrComp2']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/codePostal', $soc);
|
||
$tabSoc[$i]['adrCP']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/ville', $soc);
|
||
$tabSoc[$i]['adrVille']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/region', $soc);
|
||
$tabSoc[$i]['adrNumRegion']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/pays', $soc);
|
||
$tabSoc[$i]['adrPays']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nouvelleAdresse/telephone', $soc);
|
||
$newTel= $title->item(0)->nodeValue;
|
||
$tabSoc[$i]['telephone']=$newTel;
|
||
|
||
/** Ancienne adresse **/
|
||
$title = $xpath->query ('ancienneAdresse/rue', $soc);
|
||
$tabSoc[$i]['adrOldVoie']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/complementRue', $soc);
|
||
$tabSoc[$i]['adrOldComp1']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/localite', $soc);
|
||
$tabSoc[$i]['adrOldComp2']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/codePostal', $soc);
|
||
$tabSoc[$i]['adrOldCP']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/ville', $soc);
|
||
$tabSoc[$i]['adrOldVille']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/region', $soc);
|
||
$tabSoc[$i]['adrOldNumRegion']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/pays', $soc);
|
||
$tabSoc[$i]['adrOldPays']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('ancienneAdresse/telephone', $soc);
|
||
$oldTel= $title->item(0)->nodeValue;
|
||
$tabSoc[$i]['telephoneOld']=$oldTel;
|
||
|
||
/** Codes Tessi **/
|
||
$title = $xpath->query ('id', $soc);
|
||
$tabSoc[$i]['idSociete']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nafIndcMaj', $soc);
|
||
$tabSoc[$i]['nafIndcMaj']= $title->item(0)->nodeValue;
|
||
|
||
/** Identité **/
|
||
$title = $xpath->query ('nace', $soc);
|
||
$tabSoc[$i]['nace']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('naf', $soc);
|
||
$tabSoc[$i]['naf']= $title->item(0)->nodeValue;
|
||
|
||
$title = $xpath->query ('siren', $soc);
|
||
$siren=$title->item(0)->nodeValue;
|
||
$tabSoc[$i]['siren']=$siren;
|
||
|
||
$title = $xpath->query ('nic', $soc);
|
||
$nic=$title->item(0)->nodeValue;
|
||
$tabSoc[$i]['nic']= $nic;
|
||
|
||
$title = $xpath->query ('profil', $soc);
|
||
$tabSoc[$i]['profil']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('raisonSociale', $soc);
|
||
$tabSoc[$i]['raisonSociale']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('complementNom', $soc);
|
||
$tabSoc[$i]['raisonSociale2']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('sigle', $soc);
|
||
$tabSoc[$i]['sigle']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('enseigne', $soc);
|
||
$tabSoc[$i]['enseigne']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('nomCommercial', $soc);
|
||
$tabSoc[$i]['nomCommercial']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('typeEtablissement', $soc);
|
||
$tabSoc[$i]['typEtab']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('formeJuridique', $soc);
|
||
$tabSoc[$i]['formeJuridique']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('capital', $soc);
|
||
$tabSoc[$i]['capitalMt']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('deviseCapital', $soc);
|
||
$tabSoc[$i]['capitalDev']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('villeRcs', $soc);
|
||
$tabSoc[$i]['rcsVille']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('type', $soc);
|
||
$tabSoc[$i]['rcsType']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('registreCommerce', $soc);
|
||
$tabSoc[$i]['rcsNum']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('repertoireMetiers', $soc);
|
||
$tabSoc[$i]['rmNum']= $title->item(0)->nodeValue;
|
||
|
||
/** On enregistre les téléphones dans la table appropriée **/
|
||
if ($newTel)
|
||
$iDb->insert('telephonie', array( 'siren'=>$siren,
|
||
'nic'=>$nic,
|
||
'dateProvPartenaire'=>$tabAnnonce['dateSource'],
|
||
'typeTel'=>'tel',
|
||
'actif'=>1,
|
||
'telephone'=>$newTel,
|
||
'partenaire'=>234,
|
||
)
|
||
);
|
||
if ($oldTel<>'')
|
||
$iDb->insert('telephonie', array( 'siren'=>$siren,
|
||
'nic'=>$nic,
|
||
'dateProvPartenaire'=>$tabAnnonce['dateSource'],
|
||
'typeTel'=>'tel',
|
||
'actif'=>0,
|
||
'telephone'=>$oldTel,
|
||
'partenaire'=>234,
|
||
)
|
||
);
|
||
|
||
if ($tabAnnonce['even']==10) { // On ignore les annonces de création en collecte (source INSEE)
|
||
echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce']." ignorée (création)".EOL;
|
||
continue(2);
|
||
} elseif (count($tabBilan)>0) {
|
||
/** Si le bilan n'est pas déjà saisit, on l'ajoute dans la table de la collecte **/
|
||
$tabTmp=$iDb->select('bilans', 'id', "siren=$siren AND dateExercice='".$tabBilan['dateClot']."' AND dureeExercice=".$tabBilan['periode'], true, MYSQL_ASSOC);
|
||
if ($tabTmp[0][0]==0)
|
||
$iDb->insert('bilans_deposes', array( 'siren'=>$siren,
|
||
'nicSiege'=>$nic,
|
||
'dateProvPartenaire'=>$tabAnnonce['dateSource'],
|
||
'dateExercice'=>$tabBilan['dateClot'],
|
||
'dureeExercice'=>$tabBilan['periode'],
|
||
'monnaie'=>'EUR',
|
||
'chiffreAffaire'=>$tabBilan['montantCA'],
|
||
'partenaire'=>234,
|
||
)
|
||
);
|
||
// On ignore les annonces de dépot des comptes en collecte (source INPI ou Greffe probablement)
|
||
/*if (in_array(2312, $tabAnnonce['tabEven']) && count($tabAnnonce['tabEven'])>1) {
|
||
print_r($tabAnnonce['tabEven']);
|
||
$tabAnnonce['tabEven']=array_diff($tabAnnonce['tabEven'], array(2312));
|
||
}*/
|
||
if (in_array(3999, $tabAnnonce['tabEven']) && count($tabAnnonce['tabEven'])>0) {
|
||
// print_r($tabAnnonce['tabEven']);
|
||
$tabAnnonce['tabEven']=array_diff($tabAnnonce['tabEven'], array(3999));
|
||
}
|
||
if (count($tabAnnonce['tabEven'])==1 && in_array(2312, $tabAnnonce['tabEven'])) {
|
||
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce']." ignorée (dépôt des comptes)".EOL;
|
||
continue(2);
|
||
}
|
||
} elseif ($tabAnnonce['even']==30 || $tabAnnonce['even']==40) { // On regarde les évènements si pas Vente et cession (20) ou Procédure collective (50)
|
||
if (in_array(2212, $tabAnnonce['tabEven']) || // Liquidation amiable
|
||
in_array(2307, $tabAnnonce['tabEven']) || // Modif Forme Jur.
|
||
in_array(2319, $tabAnnonce['tabEven']) || // Perte de la moitie du capital
|
||
in_array(2700, $tabAnnonce['tabEven']) || // Fusion
|
||
in_array(2720, $tabAnnonce['tabEven']) || // Absorption
|
||
in_array(2725, $tabAnnonce['tabEven']) // Fusion/Absorption
|
||
) {
|
||
echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce']." conservée (MMD ou Radiation :".implode(', ', $tabAnnonce['tabEven']).")".EOL;
|
||
} else {
|
||
echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce']." ignorée (MMD ou Radiation:".implode(', ', $tabAnnonce['tabEven']).")".EOL;
|
||
continue(2);
|
||
}
|
||
}
|
||
|
||
$dep=substr($tabSoc[$i]['adrCP'],0,2)*1;
|
||
if (!$iInsee->isDepartement($dep)) {
|
||
$dep=substr($tabSoc[$i]['adrOldCP'],0,2)*1;
|
||
if (!$iInsee->isDepartement($dep) && $modeDebug) echo date ('Y/m/d - H:i:s')." - Département '$dep' inconnu !".EOL;
|
||
}
|
||
|
||
/* Type de tribunal
|
||
C : Tribunal de Commerce
|
||
C ou G : Tribunal de Commerce ou tribunal de Grande Instance
|
||
F : ORIGINE GREFFE
|
||
G : Tribunal de Grande Instance
|
||
M : Tribunal Mixte de Commerce
|
||
P : ORIGINE PRESSE
|
||
T : Tribunal d’Instance
|
||
$tabAnnonce['natureTribunal']=$title->item(0)->nodeValue;*/
|
||
if ($dep>0 && $tabAnnonce['tribunal']=='') {
|
||
$tribunal = trim($tabAnnonce['villeTribunal']);
|
||
if ($tribunal=='NC' && $siren>100) {
|
||
$tabIdentite=$iInsee->getIdentiteEntreprise($siren,$nic,0,false,false);
|
||
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
|
||
foreach ($tabTribunaux as $trib) {
|
||
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
|
||
$tabAnnonce['tribunal']=$trib['triCode'];
|
||
break;
|
||
}
|
||
}
|
||
if (!$tabAnnonce['tribunal']) {
|
||
foreach ($tabTribunaux as $trib)
|
||
if ($trib['triType']=='G' && $trib['triStatut']=='Actif') {
|
||
$tabAnnonce['tribunal']=$trib['triCode'];
|
||
break;
|
||
}
|
||
}
|
||
if (!$tabAnnonce['tribunal']) {
|
||
foreach ($tabTribunaux as $trib)
|
||
if ($trib['triType']=='M' && $trib['triStatut']=='Actif') {
|
||
$tabAnnonce['tribunal']=$trib['triCode'];
|
||
break;
|
||
}
|
||
}
|
||
if (!$tabAnnonce['tribunal']) {
|
||
foreach ($tabTribunaux as $trib)
|
||
if ($trib['triType']=='P' && $trib['triStatut']=='Actif') {
|
||
$tabAnnonce['tribunal']=$trib['triCode'];
|
||
break;
|
||
}
|
||
}
|
||
} elseif ($tribunal<>'NC') {
|
||
$tabAnnonce['tribunal'] = $iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), $dep);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
$tabAnnonce['tribunal']=$iBodacc->getTribunalCode('TRIBUNAL DE COMMERCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), 0);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
$tabAnnonce['tribunal']=$iBodacc->getTribunalCode('TRIBUNAL DE GRANDE INSTANCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), $dep);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
$tabAnnonce['tribunal']=$iBodacc->getTribunalCode('TRIBUNAL DE GRANDE INSTANCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), 0);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
$tabAnnonce['tribunal']=$iBodacc->getTribunalCode('TRIBUNAL D\'INSTANCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), $dep);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
$tabAnnonce['tribunal']=$iBodacc->getTribunalCode('TRIBUNAL D\'INSTANCE '.strtr(strtoupper(' '.$tribunal.' '),array(' ST '=>' SAINT ')), 0);
|
||
if (!$tabAnnonce['tribunal']) {
|
||
if ($tribunal=='AIX') $tabAnnonce['tribunal']='AIXC';
|
||
elseif ($tribunal=='MONT DE MARSAN') $tabAnnonce['tribunal']='MONTMC';
|
||
elseif ($tribunal=='SALON DE PROVENCE') $tabAnnonce['tribunal']='SALONC';
|
||
elseif ($tribunal=='BAGNERES DE BIGORRE') $tabAnnonce['tribunal']='BAGNEC';
|
||
elseif ($tribunal=='OLORON STE MARIE') $tabAnnonce['tribunal']='OLOROC';
|
||
elseif ($tribunal=='LE PUY EN VELAY') $tabAnnonce['tribunal']='LEPUYC';
|
||
elseif ($tribunal=='CLERMONT L HERAULT') $tabAnnonce['tribunal']='CLHERC';
|
||
elseif ($tribunal=='BRIVE-LA-GAILLARDE') $tabAnnonce['tribunal']='BRIVEC';
|
||
elseif ($tribunal=='LE PUY') $tabAnnonce['tribunal']='LEPUYC';
|
||
elseif ($tribunal=='FORT DE FRANCE') $tabAnnonce['tribunal']='FORTFM';
|
||
elseif ($tribunal=='DIGNE-LES-BAINS') $tabAnnonce['tribunal']='DIGNEG';
|
||
elseif ($tribunal=='CHARLEVILLE') $tabAnnonce['tribunal']='CHMEZC';
|
||
elseif ($tribunal=='BOULOGNE') $tabAnnonce['tribunal']='BOULOC';
|
||
elseif ($tribunal=='TC DE MENDE') $tabAnnonce['tribunal']='MENDEC';
|
||
elseif ($tribunal=='THONON') $tabAnnonce['tribunal']='THONOC';
|
||
elseif ($tribunal=='TC DE ANNECY') $tabAnnonce['tribunal']='ANNECC';
|
||
elseif ($tribunal=='GRAY-VESOUL') $tabAnnonce['tribunal']='GRAYC';
|
||
elseif ($tribunal=='SALON') $tabAnnonce['tribunal']='SALONC';
|
||
elseif ($tribunal=='VILLEFRANCHE SUR SAONE-TARARE') $tabAnnonce['tribunal']='VILTAC';
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Tribunal Tessi inconnu '$tribunal' (Dept.=$dep, source=".$tabAnnonce['natureTribunal'].", siren=$siren) !".EOL;
|
||
if ($questions) {
|
||
while(1) {
|
||
echo "Saisir le code tribunal (table jo.tribunaux champ triCode) pour $tribunal ?".EOL;
|
||
$line = trim(fgets(STDIN));
|
||
if (strlen($line)>=4 && strlen($line)<=6) break;
|
||
}
|
||
$tabAnnonce['tribunal']=$line;
|
||
} else {
|
||
$message.="Arrêt du traitement, Tribunal inconnu : '$tribunal'".EOL;
|
||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur Chargement annonces JAL - Tribunal inconnu', $message);
|
||
die();
|
||
}
|
||
// die();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} elseif ($modeDebug) echo (date ('Y/m/d - H:i:s')." - Tribunal Tessi inconnu '$tribunal' (Dept.=$dep, source=".$tabAnnonce['natureTribunal'].", siren=$siren) !".EOL);
|
||
}
|
||
|
||
//echo date ('Y/m/d - H:i:s')." - Département '$dep'. Recherche du tribunal '$tribunal'. Siren=$siren. ".$tabSoc[$i]['raisonSociale'].' => '.$tabAnnonce['tribunal'].EOL;
|
||
|
||
|
||
/** Profil Société :
|
||
** 0 Acheteur 1 Vendeur
|
||
** 2 Ancien, 3 Nouveau, 4 Actuel
|
||
** 6 Absorbée 7 Absorbante
|
||
** 5 Particulier
|
||
** 8 Propriétaire
|
||
**/
|
||
$title = $xpath->query ('profil', $soc);
|
||
$tabSoc[$i]['profil']= $title->item(0)->nodeValue;
|
||
|
||
/** Dirigeants **/
|
||
$title = $xpath->query ('dirigeants/dirigeant/.', $soc);
|
||
$tabDir=array();
|
||
foreach ($title as $j=>$dir) {
|
||
$title = $xpath->query ('adresse/rue', $dir);
|
||
$tabDir[$j]['adrVoie']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('adresse/codePostal', $dir);
|
||
$tabDir[$j]['adrCP']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('adresse/ville', $dir);
|
||
$tabDir[$j]['adrVille']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('adresse/region', $dir);
|
||
$tabDir[$j]['adrNumRegion']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('adresse/pays', $dir);
|
||
$tabDir[$j]['adrPays']= $title->item(0)->nodeValue;
|
||
$title = $xpath->query ('adresse/telephone', $dir);
|
||
$tabDir[$j]['telephone']= $title->item(0)->nodeValue;
|
||
|
||
// Fonction, Nom & Prénom
|
||
$title = $xpath->query ('fonction', $dir);
|
||
$tabDir[$j]['fonction']= utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('nom', $dir);
|
||
$tabDir[$j]['nom']= utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('prenom', $dir);
|
||
$tabDir[$j]['prenom']= utf8_decode($title->item(0)->nodeValue);
|
||
// Profil du dirigeant : 1=Ancien, 2=Nouveau, 3=Actuel
|
||
$title = $xpath->query ('profil', $dir);
|
||
$tabDir[$j]['profil']= $title->item(0)->nodeValue;
|
||
// Qualificatif : 1=Propriétaire / 2=Associé de fait
|
||
$title = $xpath->query ('qualificatif', $dir);
|
||
$tabDir[$j]['qualificatif']= $title->item(0)->nodeValue;
|
||
|
||
// Civilité
|
||
$title = $xpath->query ('civilite', $dir);
|
||
$tabDir[$j]['civilite']= $title->item(0)->nodeValue;
|
||
// nomJeuneFille
|
||
$title = $xpath->query ('nomJeuneFille', $dir);
|
||
$tabDir[$j]['nomJeuneFille']= $title->item(0)->nodeValue;
|
||
// nomUsage
|
||
$title = $xpath->query ('nomUsage', $dir);
|
||
$tabDir[$j]['nomUsage']= $title->item(0)->nodeValue;
|
||
// conjoint
|
||
$title = $xpath->query ('conjoint', $dir);
|
||
$tabDir[$j]['conjoint']= $title->item(0)->nodeValue;
|
||
// nationalite
|
||
$title = $xpath->query ('nationalite', $dir);
|
||
$tabDir[$j]['nationalite']= $title->item(0)->nodeValue;
|
||
|
||
}
|
||
$tabSoc[$i]['dirigeants']=array_merge($tabDir,$tabDirTmp);
|
||
}
|
||
$tabAnnonce['etabs']=$tabSoc;
|
||
|
||
$tabAnnonces[]=$tabAnnonce;
|
||
//echo date ('Y/m/d - H:i:s')." - Annonce n°".$tabAnnonce['numAnnonce']." OK".EOL;
|
||
}
|
||
|
||
//print_r($tabAnnonces);
|
||
//die();
|
||
|
||
//print_r($tabModifications);
|
||
echo date ('Y/m/d - H:i:s') . " - Fin de la lecture du flux XML : ".count($tabAnnonces). ' annonces à traiter...'.EOL;
|
||
|
||
/** Boucle de lecture du tableau d'annonce pour Insertion en base
|
||
**/
|
||
foreach ($tabAnnonces as $annonce) {
|
||
|
||
$dateJugement=$annonce['dateJugement']*1;
|
||
$dateEffet=$annonce['dateEffetFinP']*1;
|
||
if ($dateJugement==0) {
|
||
$dateJugement=$annonce['dateEffetFinP'];
|
||
$dateEffet=0;
|
||
}
|
||
|
||
/** Boucle de lecture du tableau d'entreprises pour Insertion en base
|
||
**/
|
||
if (!is_array($annonce['etabs']))
|
||
print_r($annonce);
|
||
|
||
foreach ($annonce['etabs'] as $tabSoc) {
|
||
|
||
// On initialise le tableau des codes évènements génériques de l'annonce
|
||
$annonce['tabEven2']=array_unique($annonce['tabEven']);
|
||
if (in_array(2312, $annonce['tabEven2']) && count($annonce['tabEven2'])>1) {
|
||
// Il faut enlever l'évènement 2312 MMD par défaut
|
||
$annonce['tabEven2']=array_diff($annonce['tabEven2'], array(2312));
|
||
}
|
||
$complement=$annonce['commentaire'];
|
||
$montantVente=0;
|
||
$oppo='';
|
||
|
||
if ($annonce['even']==20) {
|
||
// En fonction du code profil Société, on détermine :
|
||
if ($tabSoc['profil']*1==6) {
|
||
// Fusion : Entité absorbée
|
||
$annonce['tabEven2']=array_merge($annonce['tabEven2'],array(2720));
|
||
$complement.=trim(preg_replace('/ +/', ' ', strtr($annonce['modification'], array('PROFIL : VENDEUR'=>'', 'PROFIL : ABSORBÉE'=>'', '.'=>' ', ' SIRET '=>', RCS ', ' SIREN '=>', RCS ', "\r"=>' ', "\n"=>' ', "\t"=>' ', chr(160)=>' '))));
|
||
} elseif ($tabSoc['profil']*1==7) {
|
||
// Fusion : Entité absorbante
|
||
$annonce['tabEven2']=array_merge($annonce['tabEven2'],array(2700));
|
||
//$complement.=$annonce['modification'].'. ';
|
||
if (preg_match('/SOCIETE \:(.*)MODIFICATIONS \:(.*)$/Uis', $annonce['texte'], $matches))
|
||
$complement.=trim(preg_replace('/ +/', ' ', 'ABSORPTION DE LA SOCIETE '.strtr($matches[1], array('PROFIL : VENDEUR'=>'', 'PROFIL : ABSORBÉE'=>'', '.'=>' ', ' SIRET '=>', RCS ', ' SIREN '=>', RCS ', "\r"=>' ', "\n"=>' ', "\t"=>' ', chr(160)=>' '))));
|
||
} elseif ($tabSoc['profil']*1==1) {
|
||
// Vente/Cession : Vendeur
|
||
$annonce['tabEven2']=array_merge($annonce['tabEven2'],array(5500,5103));
|
||
//if (preg_match('/(\d*)(?:\s|\D)$/Uis', $annonce['texte'], $matches))
|
||
if (preg_match('/(\d*)(?:\s|\D)\s+EURO/Uis', $annonce['texte'], $matches))
|
||
if ($matches[1]*1>0) {
|
||
$montantVente=$matches[1];
|
||
$strMontant=' pour un montant de '.number_format($montantVente,0,',',' ').' EUR';
|
||
}
|
||
if (preg_match('/OPPOSITION\: (.*\d{5,5}.*)$/Uis', $annonce['texte'], $matches)) {
|
||
$oppo=$matches[1];
|
||
}
|
||
$complement.=trim(preg_replace('/ +/', ' ', strtr($annonce['modification'], array('PROFIL : VENDEUR'=>'', 'PROFIL : ABSORBÉE'=>'', '.'=>' ', ' SIRET '=>', RCS ', ' SIREN '=>', RCS ', "\r"=>' ', "\n"=>' ', "\t"=>' ', chr(160)=>' ')))).$strMontant;
|
||
} elseif ($tabSoc['profil']*1==0) {
|
||
// Vente/Cession : Acheteur
|
||
$annonce['tabEven2']=array_merge($annonce['tabEven2'],array(5700,5103));
|
||
//$complement.=$annonce['modification'].'. ';
|
||
// 40000 EURO
|
||
// OPPOSITION: ME ALAIN CORNAILLE 7 RUE DE SELLES 59400 CAMBRAI pour un montant de 2 010 EUR
|
||
//if (preg_match('/(\d*)(?:\s|\D)$/Uis', $annonce['texte'], $matches))
|
||
if (preg_match('/(\d*)(?:\s|\D)\s+EURO/Uis', $annonce['texte'], $matches))
|
||
if ($matches[1]*1>0) {
|
||
$montantVente=$matches[1];
|
||
$strMontant=' pour un montant de '.number_format($montantVente,0,',',' ').' EUR';
|
||
}
|
||
if (preg_match('/OPPOSITION\: (.*\d{5,5}.*)$/Uis', $annonce['texte'], $matches)) {
|
||
$oppo=$matches[1];
|
||
}
|
||
if (preg_match('/SOCIETE \:(.*)MODIFICATIONS \:(.*)$/Uis', $annonce['texte'], $matches))
|
||
$complement.=trim(preg_replace('/ +/', ' ', 'ACHAT DU FOND A LA SOCIETE '.strtr($matches[1], array('PROFIL : VENDEUR'=>'', ' SIRET '=>', RCS ', ' SIREN '=>', RCS ', "\r"=>' ', "\n"=>' ', "\t"=>' ', chr(160)=>' ')))).$strMontant;
|
||
}
|
||
/**
|
||
** 0 Acheteur 1 Vendeur
|
||
** 2 Ancien, 3 Nouveau, 4 Actuel
|
||
** 5 Particulier
|
||
** 8 Propriétaire
|
||
**/
|
||
}
|
||
|
||
// Permet de renuméroter les clefs tableau à partir de 0
|
||
$annonce['tabEven2']=explode(';',implode(';',$annonce['tabEven2']));
|
||
|
||
// Récupère le 1er code évènement séparément...
|
||
$typeEven=$annonce['tabEven2'][0];
|
||
|
||
// ... et ensuite, les autres dans une chaine de caractères séparateur point virgule
|
||
$tabEven=array();
|
||
for($i=1; isset($annonce['tabEven2'][$i]); $i++)
|
||
$tabEven[]=$annonce['tabEven2'][$i];
|
||
$strEven=implode(';',$tabEven);
|
||
|
||
$siren=$tabSoc['siren'];
|
||
if ($iInsee->valideSiren($siren)) $sirenValide=1;
|
||
else $sirenValide=0;
|
||
$nic=$tabSoc['nic'];
|
||
|
||
$newTel=$tabSoc['telephone'];
|
||
$oldTel=$tabSoc['telephoneOld'];
|
||
|
||
$rs=$tabSoc['raisonSociale'];
|
||
$adresse=$tabSoc['adrVoie'];
|
||
$cp=$tabSoc['adrCP'];
|
||
$ville=$tabSoc['adrVille'];
|
||
|
||
$strNewAdresse=ucwords(strtolower($adresse));
|
||
if ($tabSoc['adrComp1']<>'')
|
||
$strNewAdresse.=', '.$tabSoc['adrComp1'];
|
||
if ($tabSoc['adrComp2']<>'')
|
||
$strNewAdresse.=', '.$tabSoc['adrComp2'];
|
||
$strNewAdresse.=trim(', '.$cp.' '.$ville);
|
||
if ($tabSoc['adrPays']<>'')
|
||
$strNewAdresse.=' ('.$tabSoc['adrPays'].')';
|
||
|
||
if ($cp*1<1000) {
|
||
$adresse=$tabSoc['adrOldVoie'];
|
||
$cp=$tabSoc['adrOldCP'];
|
||
$ville=$tabSoc['adrOldVille'];
|
||
}
|
||
$strOldAdresse=ucwords(strtolower($adresse));
|
||
if ($tabSoc['adrOldComp1']<>'')
|
||
$strOldAdresse.=', '.$tabSoc['adrOldComp1'];
|
||
if ($tabSoc['adrOldComp2']<>'')
|
||
$strOldAdresse.=', '.$tabSoc['adrOldComp2'];
|
||
$strOldAdresse.=trim(', '.$cp.' '.$ville);
|
||
if ($tabSoc['adrOldPays']<>'')
|
||
$strOldAdresse.=' ('.$tabSoc['adrOldPays'].')';
|
||
|
||
/*On renseigne les anciennes et nouvelles adresse uniquement si changement il y a ! */
|
||
if (!in_array(2900, $annonce['tabEven']) && !in_array(2901, $annonce['tabEven']) )
|
||
$strNewAdresse='';
|
||
|
||
$montant='';
|
||
|
||
// Si modification de capital (2100, 2101 ou 2102...)
|
||
if (in_array(2100, $annonce['tabEven2']) || in_array(2101, $annonce['tabEven2']) || in_array(2102, $annonce['tabEven2']))
|
||
$montant=$annonce['capital_new'];
|
||
elseif (in_array(5999, $annonce['tabEven2']) || in_array(5103, $annonce['tabEven2']) ||
|
||
in_array(5500, $annonce['tabEven2']) || in_array(5700, $annonce['tabEven2'])) {
|
||
$montant=$annonce['montantVente']*1;
|
||
if ($montant==0) $montant=$annonce['montant'];
|
||
if ($montant==0) $montant=$montantVente;
|
||
if ($oppo<>'')
|
||
$annonce['representants'][]=array( 'mandId'=>0,
|
||
'mandAff'=>$oppo,
|
||
'mandType'=>'O'
|
||
);
|
||
}
|
||
|
||
if (in_array(2307, $annonce['tabEven2']) && $annonce['newFJur']==0) {
|
||
$annonce['newFJur']=$tabFJurTessi[$annonce['formeJuridique']];
|
||
}
|
||
|
||
//$actionsNb=$tabAnnonce['capital_new'];
|
||
|
||
$nouvDir='';
|
||
foreach (@$tabSoc['dirigeants'] as $tabDir) {
|
||
if ($tabDir['nom']<>'' && // Si le nom est absent
|
||
!(count($tabSoc['dirigeants'])==1 && ($tabDir['profil']*1)==1)) { // ou si seul l'ancien dirigeant est mentionné on ignore la MAJ de l'administration
|
||
|
||
if (($tabDir['profil']*1)==1)
|
||
$nouvDir.='Ancien ';
|
||
elseif (($tabDir['profil']*1)==2)
|
||
$nouvDir.='Nouveau ';
|
||
|
||
if ($tabDir['fonction']<>'')
|
||
$nouvDir.=$tabDir['fonction'].' : ';
|
||
elseif (($tabDir['qualificatif']*1)==1)
|
||
$nouvDir.='Propriétaire : ';
|
||
elseif (($tabDir['qualificatif']*1)==2)
|
||
$nouvDir.='Associé de fait : ';
|
||
|
||
if ($tabDir['civilite']<>'')
|
||
$nouvDir.=ucfirst($tabDir['civilite']).' ';
|
||
if ($tabDir['nom']<>'')
|
||
$nouvDir.=strtoupper($tabDir['nom']).' ';
|
||
if ($tabDir['prenom']<>'')
|
||
$nouvDir.=ucwords($tabDir['prenom']).' ';
|
||
|
||
if ($tabDir['nomJeuneFille']<>'')
|
||
$nouvDir.='né(e) '.strtoupper($tabDir['nomJeuneFille']).' ';
|
||
if ($tabDir['nomUsage']<>'')
|
||
$nouvDir.='nom d\'usage '.strtoupper($tabDir['nomUsage']).' ';
|
||
if ($tabDir['conjoint']<>'')
|
||
$nouvDir.='(conjoint : '.strtoupper($tabDir['conjoint']).') ';
|
||
|
||
if ($tabDir['nationalite']<>'')
|
||
$nouvDir.='. Nationalité : '.ucwords($tabDir['nationalite']).' ';
|
||
|
||
$nouvDir.='. ';
|
||
}
|
||
}
|
||
|
||
// if (strlen($strOldAdresse)>8)
|
||
// $complement.=' Ancienne adresse : '. $strOldAdresse;
|
||
|
||
$iMand=0;
|
||
$tabMand=array();
|
||
foreach ($annonce['representants'] as $tabDir) {
|
||
$iMand++;
|
||
$tabMand['inter'.$iMand.'id']=$tabDir['mandId'];
|
||
$tabMand['inter'.$iMand.'nom']=$tabDir['mandAff'];
|
||
$tabMand['inter'.$iMand.'type']=$tabDir['mandType'];
|
||
}
|
||
|
||
if ($nouvDir=='' && in_array(2315, $annonce['tabEven2'])) {
|
||
// Il faut supprimer l'even 2315 : Changement de dirigeant
|
||
$annonce['tabEven2']=array_diff($annonce['tabEven2'], array(2315));
|
||
// S'il n'y a plus d'évènement, on ignore l'annonce
|
||
if (count($annonce['tabEven2'])==0) continue;
|
||
|
||
// Sinon...
|
||
$annonce['tabEven2']=explode(';',implode(';',$annonce['tabEven2']));
|
||
// Récupère le 1er code évènement séparément...
|
||
$typeEven=$annonce['tabEven2'][0];
|
||
// ... et ensuite, les autres dans une chaine de caractères séparateur point virgule
|
||
$tabEven=array();
|
||
for($i=1; isset($annonce['tabEven2'][$i]); $i++)
|
||
$tabEven[]=$annonce['tabEven2'][$i];
|
||
$strEven=implode(';',$tabEven);
|
||
}
|
||
|
||
$tabUpdate=array_merge($tabMand,
|
||
array( 'raisonSociale'=>$rs,
|
||
'sirenValide'=>$sirenValide,
|
||
'adresse'=>$adresse,
|
||
'codePostal'=>$cp,
|
||
'ville'=>$ville,
|
||
'typeEven'=>$typeEven,
|
||
'strEven'=>$strEven,
|
||
'dateCessationPaiement'=>$annonce['dateCessationPaiement'],
|
||
'dateEffetFinP'=>$dateEffet,
|
||
'tribunal'=>$annonce['tribunal'],
|
||
'montant'=>$montant,
|
||
'actionsNb'=>$actionsNb,
|
||
'nouvFJ'=>$annonce['newFJur'],
|
||
'complement'=>$complement,
|
||
|
||
//'nouvActivite></nouvActivite>
|
||
'nouvDir'=>$nouvDir,
|
||
'nouvAdr'=>$strNewAdresse,
|
||
|
||
'idAnnonce'=>$anneeJour.sprintf("%05s", $annonce['numAnnonce']),
|
||
|
||
)
|
||
);
|
||
|
||
/*
|
||
$tabSoc[$i]['idSociete']= $title->item(0)->nodeValue;
|
||
$tabSoc[$i]['nafIndcMaj']= $title->item(0)->nodeValue;
|
||
$tabSoc[$i]['nace']= $title->item(0)->nodeValue;
|
||
$tabSoc[$i]['naf']= $title->item(0)->nodeValue;*/
|
||
|
||
//$tabSoc[$i]['profil']= $title->item(0)->nodeValue;
|
||
/* */
|
||
/*
|
||
switch ($tabAnnonce['natureTribunal']) {
|
||
case 'C': // Tribunal de Commerce
|
||
case 'C ou G' : // Tribunal de Commerce ou tribunal de Grande Instance
|
||
case 'F': // ORIGINE GREFFE
|
||
$source='GT';
|
||
break;
|
||
case 'G': // Tribunal de Grande Instance
|
||
case 'M': // Tribunal Mixte de Commerce
|
||
case 'T': // Tribunal d’Instance
|
||
$source='PT';
|
||
break;
|
||
default:*/
|
||
//$source='JT';
|
||
/* break;
|
||
}*/
|
||
|
||
if ($annonce['source']<>'') $source=$annonce['source'];
|
||
else $source='JT';
|
||
|
||
$tabInsert=array_merge(array( 'siren'=>$siren,
|
||
'dateJugement'=>$dateJugement,
|
||
'dateSource'=>$annonce['dateSource'],
|
||
'source'=>$source,
|
||
'dateInsert'=>date('YmdHis'),
|
||
), $tabUpdate);
|
||
|
||
// echo "A insérer :".EOL;
|
||
// print_r($tabInsert);
|
||
|
||
$tabTmp=$iDb->select($table, "id, siren, typeEven, strEven, raisonSociale, adresse, codePostal, ville, dateJugement, dateCessationPaiement, dateEffetFinP, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, tribunal, montant, actionsNb, complement, nouvActivite, nouvDir, nouvAdr, nouvFJ, annonce, source, parutionIdJal, parutionNum, dateSource, idSaisie, dateInsert", "siren=$siren AND dateJugement='$dateJugement' AND typeEven='$typeEven'", true, MYSQL_ASSOC);
|
||
|
||
if (count($tabTmp)>0) {
|
||
$annBase=$tabTmp[0];
|
||
|
||
if ($annBase['source']=='GC' || $annBase['source']=='PC' ||
|
||
$annBase['source']=='') {
|
||
if ($annBase['source']=='') $tabUpdate['source']=$annonce['source'];
|
||
$iDb->update($table, $tabUpdate, "siren=$siren AND dateJugement='$dateJugement' AND typeEven='$typeEven'");
|
||
$nbUpdateEven[$typeEven]++;
|
||
$nbUpdate++;
|
||
}
|
||
// $line = trim(fgets(STDIN));
|
||
} else {
|
||
$ret=$iDb->insert($table, $tabInsert);
|
||
$nbInsertEven[$typeEven]++;
|
||
$nbInsert++;
|
||
if (!$ret && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion du siren $siren en base impossible sur l'annonce ".$annonce['numAnnonce'].'!'.EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($annonce);
|
||
die();
|
||
//@ICI
|
||
}
|
||
}
|
||
|
||
/*echo 'ORIGINAL'.EOL;
|
||
print_r($annonce['xml']);
|
||
echo "====================================================".EOL;*/
|
||
}
|
||
}
|
||
|
||
//print_r($tabCptAnn);
|
||
|
||
//print_r(array_unique($tabMand));
|
||
|
||
$message =date ('Y/m/d - H:i:s') . " - Nombre d'annonces de Créations (ignorées) ............. ". (@$tabCptAnn[10][0])*1 .EOL;
|
||
$message.=date ('Y/m/d - H:i:s') . " - Nombre d'annonces de Vente et cession ................. ". (@$tabCptAnn[20][0])*1 .EOL;
|
||
$message.=date ('Y/m/d - H:i:s') . " - Nombre d'annonces de Modification mutation diverse .... ". (@$tabCptAnn[30][0])*1 .EOL;
|
||
$message.=date ('Y/m/d - H:i:s') . " - Nombre d'annonces de Radiation ........................ ". (@$tabCptAnn[40][0])*1 .EOL;
|
||
$message.=date ('Y/m/d - H:i:s') . " - Nombre d'annonces de Procédure collective ............. ". (@$tabCptAnn[50][0])*1 .EOL;
|
||
|
||
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ.".EOL;
|
||
if (bzip2(TESSI_FTP_DIR.$nomFichier, TESSI_BACKUP_DIR.$nomFichier)) {
|
||
unlink(TESSI_FTP_DIR.$nomFichier);
|
||
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichier vient d'être historisé.".EOL;
|
||
}
|
||
echo $message;
|
||
|
||
echo date ('Y/m/d - H:i:s') . " - DETAIL des insertions :".EOL;
|
||
//print_r($nbInsertEven);
|
||
|
||
echo date ('Y/m/d - H:i:s') . " - DETAIL des mises à jours :".EOL;
|
||
//print_r($nbUpdateEven);
|
||
|
||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement annonces JAL', $message);
|
||
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement annonces JAL', $message);
|
||
}
|
||
|
||
|
||
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des annonces Collecte Tessi.".EOL;
|
||
|
||
die();
|
||
|
||
?>
|