Merge from branch 1.2
This commit is contained in:
commit
798907e7cf
@ -1,6 +1,49 @@
|
||||
<?php
|
||||
class Metier_Common_Mail
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Envoi un email
|
||||
* @param unknown $from
|
||||
* @param unknown $to
|
||||
* @param unknown $subject
|
||||
* @param string $text
|
||||
* @param string $html
|
||||
* @param array $tabAttachedFiles
|
||||
*/
|
||||
public function send($from, $to, $subject, $text='', $html='', $tabAttachedFiles=array())
|
||||
{
|
||||
$to = preg_split("/[\s,;]+/", $to);
|
||||
|
||||
$mail = new Scores_Mail_Method();
|
||||
$mail->setFrom($from);
|
||||
if ( count($to) > 0 ) {
|
||||
foreach ( $to as $item ) {
|
||||
$mail->addTo($item);
|
||||
}
|
||||
}
|
||||
$mail->setSubject($subject);
|
||||
if ($text!='') {
|
||||
$mail->setBodyText($text);
|
||||
}
|
||||
|
||||
if ($html!='') {
|
||||
$mail->setBodyHtml($html);
|
||||
}
|
||||
|
||||
if ( count($tabAttachedFiles) > 0 ) {
|
||||
foreach ($tabAttachedFiles as $file) {
|
||||
$at = new Zend_Mime_Part( file_get_contents( $file ) );
|
||||
$mail->addAttachment($at);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$mail->execute();
|
||||
} catch (Zend_Mail_Transport_Exception $e) {
|
||||
file_put_contents(LOG_PATH.'/sendMailError.log', date('Y-m-d H:i:s')." - ".$e->getMessage()."\n", FILE_APPEND);
|
||||
} catch (Zend_Mail_Protocol_Exception $e) {
|
||||
file_put_contents(LOG_PATH.'/sendMailError.log', date('Y-m-d H:i:s')." - ".$e->getMessage()."\n", FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
3351
library/Metier/bodacc/BodaccCJ.php
Normal file
3351
library/Metier/bodacc/BodaccCJ.php
Normal file
File diff suppressed because it is too large
Load Diff
@ -2618,4 +2618,18 @@ return array(
|
||||
'Version' => 18,
|
||||
'LienEtab' => 0,
|
||||
),
|
||||
'1120' => array(
|
||||
'libEven' => "Exécution du plan de sauvegarde",
|
||||
'Bodacc_Code' => "BODA",
|
||||
'Rubrique' => "procol",
|
||||
'Version' => 18,
|
||||
'LienEtab' => 0,
|
||||
),
|
||||
'3500' => array(
|
||||
'libEven' => "Dépôt des comptes annuels (entreprise du secteur Bancaire)",
|
||||
'Bodacc_Code' => "BODC",
|
||||
'Rubrique' => "comptes",
|
||||
'Version' => 18,
|
||||
'LienEtab' => 0,
|
||||
),
|
||||
);
|
||||
|
@ -41,48 +41,3 @@ class MBalo
|
||||
return $even;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MBoamp
|
||||
{
|
||||
public function getCodEvenSd($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
$codEvenBoamp=str_replace('R','',$codEvenBoamp)*1;
|
||||
switch ($codEvenBoamp) {
|
||||
case 10: $libEvenSd='Annulation'; break;
|
||||
case 11: $libEvenSd='Annulation - Rectificatif'; break;
|
||||
case 20: $libEvenSd='Rectificatif'; break;
|
||||
case 22: $libEvenSd='Procédures accélérées'; break;
|
||||
case 30: $libEvenSd='Avis d\'appel public à la concurrence - Délai d\'urgence'; break;
|
||||
case 33: $libEvenSd='Avis de mise en concurrence'; break;
|
||||
case 44: $libEvenSd='Concessions'; break;
|
||||
case 50: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 51: $libEvenSd='Avis informatifs'; break;
|
||||
case 55: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 6 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 8 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 81: $libEvenSd='Avis d\'attribution - Annulation'; break;
|
||||
case 82: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 83: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 84: $libEvenSd='Avis d\'attribution comportant des lots infructueux'; break;
|
||||
case 9 : $libEvenSd='Résultat de marché'; break;
|
||||
case 91: $libEvenSd='Résultat de marché - Annulation'; break;
|
||||
case 92: $libEvenSd='Résultat de marché - Rectificatif'; break;
|
||||
case 93: $libEvenSd='Résultat de marché Infructueux/Sans suite'; break;
|
||||
case 94: $libEvenSd='Résultat de marché comportant des lots infructueux'; break;
|
||||
case 96: $libEvenSd='Annulation/Rectificatif/Sans suite/Infructueux'; break;
|
||||
default: $libEvenSd=$strEvenBoamp; break;
|
||||
}
|
||||
if ($strEvenBoamp<>'') return $libEvenSd;
|
||||
|
||||
return substr('95'.$codEvenBoamp.'00',0,4)*1;
|
||||
}
|
||||
|
||||
public function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
return $this->getCodEvenSd($codEvenBoamp, $strEvenBoamp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
42
library/Metier/bodacc/classMBoamp.php
Normal file
42
library/Metier/bodacc/classMBoamp.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
class MBoamp
|
||||
{
|
||||
public function getCodEvenSd($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
$codEvenBoamp=str_replace('R','',$codEvenBoamp)*1;
|
||||
switch ($codEvenBoamp) {
|
||||
case 10: $libEvenSd='Annulation'; break;
|
||||
case 11: $libEvenSd='Annulation - Rectificatif'; break;
|
||||
case 20: $libEvenSd='Rectificatif'; break;
|
||||
case 22: $libEvenSd='Procédures accélérées'; break;
|
||||
case 30: $libEvenSd='Avis d\'appel public à la concurrence - Délai d\'urgence'; break;
|
||||
case 33: $libEvenSd='Avis de mise en concurrence'; break;
|
||||
case 44: $libEvenSd='Concessions'; break;
|
||||
case 50: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 51: $libEvenSd='Avis informatifs'; break;
|
||||
case 55: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 6 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 8 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 81: $libEvenSd='Avis d\'attribution - Annulation'; break;
|
||||
case 82: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 83: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 84: $libEvenSd='Avis d\'attribution comportant des lots infructueux'; break;
|
||||
case 9 : $libEvenSd='Résultat de marché'; break;
|
||||
case 91: $libEvenSd='Résultat de marché - Annulation'; break;
|
||||
case 92: $libEvenSd='Résultat de marché - Rectificatif'; break;
|
||||
case 93: $libEvenSd='Résultat de marché Infructueux/Sans suite'; break;
|
||||
case 94: $libEvenSd='Résultat de marché comportant des lots infructueux'; break;
|
||||
case 96: $libEvenSd='Annulation/Rectificatif/Sans suite/Infructueux'; break;
|
||||
default: $libEvenSd=$strEvenBoamp; break;
|
||||
}
|
||||
if ($strEvenBoamp<>'') return $libEvenSd;
|
||||
|
||||
return substr('95'.$codEvenBoamp.'00',0,4)*1;
|
||||
}
|
||||
|
||||
public function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
return $this->getCodEvenSd($codEvenBoamp, $strEvenBoamp);
|
||||
}
|
||||
|
||||
}
|
@ -545,7 +545,7 @@ class MBodacc
|
||||
'Secr.taires?'=>1600,
|
||||
'Liquidateurs?'=>1900,
|
||||
);
|
||||
|
||||
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($db = null)
|
||||
@ -555,7 +555,7 @@ class MBodacc
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
|
||||
/** Charge toute la table des tribunaux pour ne pas lancer systématiquement des requètes sur le serveur MySQL
|
||||
** lors des intégrations de Bodacc
|
||||
**/
|
||||
@ -1067,7 +1067,7 @@ class MBodacc
|
||||
|
||||
/** Détermine les NOMs et PRENOMs dans une chaine de caractère
|
||||
**/
|
||||
function getNomPrenomGenre($strNomPrenom) {
|
||||
public function getNomPrenomGenre($strNomPrenom) {
|
||||
$noms=$prenoms=$genre='';
|
||||
$tabMots=preg_split('/( +|\.+)/', $strNomPrenom);
|
||||
//print_r($tabMots);
|
||||
@ -1094,7 +1094,7 @@ class MBodacc
|
||||
}
|
||||
|
||||
|
||||
function getNumPageAnnonce($bodaccCode, $annee, $num)
|
||||
public function getNumPageAnnonce($bodaccCode, $annee, $num)
|
||||
{
|
||||
$tabRet=array();
|
||||
$bodacc=$this->iDb->select('jo.bodacc',
|
||||
@ -1123,7 +1123,7 @@ class MBodacc
|
||||
** @param int $jjJug Jour du jugement dans le mois
|
||||
** @return bool
|
||||
**/
|
||||
function isAudienceCivile($tribunal, $dateJug, $jourJug, $jjJug, $texteAnnonce) {
|
||||
public function isAudienceCivile($tribunal, $dateJug, $jourJug, $jjJug, $texteAnnonce) {
|
||||
//echo "Tribunal=$tribunal, Date='$dateJug', Jour de la semaine='$jourJug', Jour du mois='$jjJug'".EOL;
|
||||
$tribunal=trim($tribunal);
|
||||
$droitLocal=false;
|
||||
@ -1175,7 +1175,7 @@ class MBodacc
|
||||
return 0;
|
||||
}
|
||||
|
||||
function getJALparDep($dep)
|
||||
public function getJALparDep($dep)
|
||||
{
|
||||
$tabRet=array();
|
||||
$rep=$this->iDb->select('jo.tabJAL', 'id, dep, nomJal, siteWeb, email, adresse, cp, ville, tel, fax, parution, aboAnnuel, infos',
|
||||
@ -1186,7 +1186,7 @@ class MBodacc
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getListeJalCollecte()
|
||||
public function getListeJalCollecte()
|
||||
{
|
||||
$tabRet=array();
|
||||
$rep=$this->iDb->select('jo.tabJAL', 'id, nomJal', 'sedDateAbo<>0 GROUP BY nomJal ORDER BY nomJal ASC', false, MYSQL_ASSOC);
|
||||
@ -1196,7 +1196,7 @@ class MBodacc
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getActiviteReelle($siren, $fj)
|
||||
public function getActiviteReelle($siren, $fj)
|
||||
{
|
||||
$strEvenVtLg=" AND Rubrique<>'ventes' AND typeEven NOT LIKE '%2700%' AND typeEven NOT LIKE '%2701%' AND typeEven NOT LIKE '%2702%' AND typeEven NOT LIKE '%2703%' AND typeEven NOT LIKE '%2710%' AND typeEven NOT LIKE '%2720%' AND typeEven NOT LIKE '%2721%' AND typeEven NOT LIKE '%2725%' AND typeEven NOT LIKE '%2730%' AND typeEven NOT LIKE '%2740%' AND typeEven NOT LIKE '%2750%' AND typeEven NOT LIKE '%2800%' AND typeEven NOT LIKE '%2840%' AND typeEven NOT LIKE '%2850%' AND typeEven NOT LIKE '%2851%' AND typeEven NOT LIKE '%2860%' AND typeEven NOT LIKE '%2870%' AND typeEven NOT LIKE '%2875%' AND typeEven NOT LIKE '%2880%' AND typeEven NOT LIKE '%2881%' AND typeEven NOT LIKE '%2885%' AND typeEven NOT LIKE '%2890%' AND typeEven NOT LIKE '%2891%' AND typeEven NOT LIKE '%2892%' ";
|
||||
/** Recherche de l'activité réelle **/
|
||||
@ -1240,16 +1240,10 @@ class MBodacc
|
||||
return $tabRet['Activite'];
|
||||
}
|
||||
|
||||
function getCodeFormeJur($strFJ)
|
||||
public function getCodeFormeJur($strFJ)
|
||||
{
|
||||
global $tabCjBodacc;
|
||||
if (count($tabCjBodacc)<1)
|
||||
require_once 'Metier/bodacc/configMBodacc.php';
|
||||
|
||||
$strFJ=strtoupper(trim(preg_replace('/[^a-z]/i','',$strFJ)));
|
||||
|
||||
return @$tabCjBodacc[$strFJ];
|
||||
$tabCjBodacc = include 'Metier/bodacc/BodaccCJ.php';
|
||||
$strFJ = strtoupper(trim(preg_replace('/[^a-z]/i','',$strFJ)));
|
||||
return $tabCjBodacc[$strFJ];
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,7 @@ global $timer;
|
||||
|
||||
require_once 'Metier/bodacc/classMBodacc.php';
|
||||
require_once 'Metier/bodacc/classMBalo.php';
|
||||
require_once 'Metier/bodacc/classMBoamp.php';
|
||||
require_once 'Metier/partenaires/classMTva.php';
|
||||
require_once 'Metier/partenaires/classMMap.php';
|
||||
require_once 'Metier/partenaires/classMAmabis.php';
|
||||
@ -3171,7 +3172,9 @@ class MInsee
|
||||
|
||||
// --- Situation Juridique
|
||||
if (intval($siren) > 100) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Debut"."\n");
|
||||
$tabProcol = $this->getAnnoncesLegales($siren, 0, 'P', false);
|
||||
if ($this->debug) file_put_contents('procol.log', print_r($tabProcol,1)."\n", FILE_APPEND);
|
||||
if ( count($tabProcol) > 0 ) {
|
||||
$tabDates = array();
|
||||
foreach ($tabProcol as $iProcol => $procol) {
|
||||
@ -3179,11 +3182,14 @@ class MInsee
|
||||
}
|
||||
rsort($tabDates);
|
||||
$dateProcol = str_replace('-','',$tabDates[0])*1;
|
||||
// Plan
|
||||
if ($this->dureePlan>0 && date('Ymd')<$this->finPlan) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Plan (PL) : ".$this->dureePlan."-".$this->finPlan."\n", FILE_APPEND);
|
||||
$tabRet['SituationJuridique'] = 'PL';
|
||||
}
|
||||
// Plan révolu
|
||||
elseif ($this->dureePlan>0 && date('Ymd')>=$this->finPlan) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Plan revolu : ".$this->dureePlan."-".$this->finPlan."\n", FILE_APPEND);
|
||||
$tabRet['SituationJuridique'] = '';
|
||||
}
|
||||
// Appel de jugement
|
||||
@ -3192,6 +3198,7 @@ class MInsee
|
||||
}
|
||||
// En cours de procédure
|
||||
else {
|
||||
if ($this->debug) file_put_contents('procol.log', "Procol (P) "."\n", FILE_APPEND);
|
||||
$tabRet['SituationJuridique'] = 'P';
|
||||
}
|
||||
$tabTmp = $this->iDb->select('jo.scores_cutoff', 'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
@ -3214,12 +3221,12 @@ class MInsee
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} elseif (count($this->getAnnoncesLegales($siren, 0, 'A', false)) > 0) {
|
||||
$tabRet['SituationJuridique'] = 'A';
|
||||
} elseif (count($this->getAnnoncesLegales($siren, 0, 'D', false)) > 0) {
|
||||
$tabRet['SituationJuridique'] = 'D';
|
||||
$tabRet['SituationJuridique'] = 'D';
|
||||
}
|
||||
if ($this->debug) file_put_contents('procol.log', "SituationJuridique = ".$tabRet['SituationJuridique']."\n", FILE_APPEND);
|
||||
// Fin Situation Juridique
|
||||
|
||||
// Date de dernière mise à jour
|
||||
@ -3234,9 +3241,8 @@ class MInsee
|
||||
$timer['getAnnoncesLegales']=microtime(true);
|
||||
}
|
||||
|
||||
if ( ($tabInsee['CJ']>0 && $tabInsee['CJ']<20 || $tabInsee['CJ']>999 && $tabInsee['CJ']<2000) &&
|
||||
$tabInsee['DIR_FCT']=='') {
|
||||
$tabRet['dir1Titre'] = self::$tabFct['PP'];
|
||||
if ( ($tabInsee['CJ']>0 && $tabInsee['CJ']<20 || $tabInsee['CJ']>999 && $tabInsee['CJ']<2000) && $tabInsee['DIR_FCT']=='') {
|
||||
$tabRet['dir1Titre'] = self::$tabFct['PP'];
|
||||
}
|
||||
|
||||
if ($tabInsee['CIVILITE']>0 && $tabRet['dir1NomPrenom']=='') {
|
||||
@ -4900,8 +4906,9 @@ class MInsee
|
||||
if ($type == 'bodacc') {
|
||||
$tabEven = explode(';', $annonce['typeEven']);
|
||||
foreach ($tabEven as $even) {
|
||||
if ( intval($even)!=0 ) {
|
||||
if ( intval($even) != 0 ) {
|
||||
if ( ($this->dureePlan==0 || $this->dureePlan==120) && in_array($even, $evenDetect) ) {
|
||||
if ($this->debug) file_put_contents('procol.log', "BODACC MATCH DUREE PLAN \n", FILE_APPEND);
|
||||
//file_put_contents('plan.log', "MATCH DUREE PLAN : ", FILE_APPEND);
|
||||
// --- Lecture dureePlan dans annonce
|
||||
$this->debutPlan = str_replace('-','',$annonce['dateJugement']); // SSAAMMJJ
|
||||
@ -4929,6 +4936,7 @@ class MInsee
|
||||
$this->debutPlan = $annonce['DATE']; // SSAAMMJJ
|
||||
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonceTxt'], $matches)) {
|
||||
$this->dureePlan = $matches[1]*12; // 10 ans = 120 mois
|
||||
if ($this->debug) file_put_contents('procol.log', "HISTO MATCH DUREE PLAN \n", FILE_APPEND);
|
||||
}
|
||||
// --- Duree du Plan par défaut sur FJ et par défaut
|
||||
if ($this->dureePlan<1 || $this->dureePlan>120 ) {
|
||||
@ -5424,7 +5432,7 @@ class MInsee
|
||||
);
|
||||
}
|
||||
}
|
||||
// --- Detection procédure collective
|
||||
// --- Detection plan
|
||||
if ($visualisation === false) {
|
||||
$this->getAnnoncesLegalesPlan('bodacc', $fj, $ann);
|
||||
}
|
||||
@ -5442,7 +5450,9 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
if ($ann['Rubrique']=='procol') $procol = true;
|
||||
if ($ann['Rubrique']=='procol') {
|
||||
$procol = true;
|
||||
}
|
||||
|
||||
$dateCes=str_replace('-','', $ann['dateCessationActivite'])*1;
|
||||
$dateDeb=str_replace('-','', $ann['dateDebutActivite'])*1;
|
||||
@ -5501,7 +5511,9 @@ class MInsee
|
||||
|
||||
if ($ann['JAL']==1) $Bodacc_Code='BODA';
|
||||
elseif ($ann['JAL']==200) $Bodacc_Code='BODB';
|
||||
if ($ann['CODEVE']>49 && $ann['CODEVE']<80) $procol=true;
|
||||
if ($ann['CODEVE']>49 && $ann['CODEVE']<80) {
|
||||
$procol = true;
|
||||
}
|
||||
|
||||
if ($ann['CODEVE']<20) $rub='creations'; // 4xxx
|
||||
elseif ($ann['CODEVE']<=25) $rub='ventes'; // 5xxx
|
||||
@ -5533,7 +5545,7 @@ class MInsee
|
||||
'LibEven' => $this->iBodacc->getEvenement($newCodeEven)
|
||||
);
|
||||
|
||||
// --- Detection procédure collective
|
||||
// --- Detection plan
|
||||
if ($visualisation === false) {
|
||||
$this->getAnnoncesLegalesPlan('histo', $fj, $ann);
|
||||
}
|
||||
@ -5736,7 +5748,7 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
// --- Detection procédure collective
|
||||
// --- Detection plan
|
||||
if ($visualisation === false) {
|
||||
$this->getAnnoncesLegalesPlan('annonce', $fj, $ann);
|
||||
}
|
||||
@ -5817,45 +5829,50 @@ class MInsee
|
||||
// --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives
|
||||
if ($rubrique=='P') {
|
||||
// Si plan recherche des annonces suivantes
|
||||
if ($this->dureePlan > 0) {
|
||||
if ($this->dureePlan > 0) {
|
||||
if ($this->debug) file_put_contents('procol.log', "Elimination du plan\n", FILE_APPEND);
|
||||
ksort($tabJugements);
|
||||
// Tableau chronologique des dates de jugement => code jugement
|
||||
foreach ($tabJugements as $dateJuge => $codeJuge) {
|
||||
$dateCompare = intval(str_replace('-', '', $dateJuge));
|
||||
if ($this->debug) file_put_contents('procol.log', $dateJuge.'>'.$this->debutPlan."\n", FILE_APPEND);
|
||||
// Si plan suivi de SV, RJ, LJ ou clôture alors pas de plan
|
||||
if ($dateJuge>$this->debutPlan & (
|
||||
if ($dateCompare>$this->debutPlan & (
|
||||
($codeJuge>=1100 && $codeJuge<=1101)|| // Sauvegarde
|
||||
($codeJuge>=1200 && $codeJuge<=1202)|| $codeJuge==1211|| // RJ
|
||||
($codeJuge>=1300 && $codeJuge<=1313)|| // LJ
|
||||
($codeJuge>=1500 && $codeJuge<=1504) ) ) { // Cloture
|
||||
$this->dureePlan = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($this->debug) file_put_contents('procol.log', "Durée du plan :".$this->dureePlan."\n", FILE_APPEND);
|
||||
}
|
||||
|
||||
// Tableau ante-chronologique des dates de jugement ==> code jugement
|
||||
// --- Tableau ante-chronologique des dates de jugement ==> code jugement
|
||||
krsort($tabJugements);
|
||||
$evenFirst = current($tabJugements);
|
||||
$derProcol = str_replace('-','', key($tabJugements))*1;
|
||||
|
||||
//@todo : Mettre en cache
|
||||
// --- Evenements effaçant l'indicateur P dans Situation Juridique
|
||||
$tabNoProcol = array();
|
||||
$tmp = $this->iDb->select('jo.tabEvenements', 'codEven, affProcol', 'affProcol>0', false, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tmp2) {
|
||||
$tabNoProcol[$tmp2['codEven']] = $tmp2['affProcol'];
|
||||
}
|
||||
|
||||
// --- Evenements effaçant l'indicateur P dans Situation Juridique
|
||||
if (array_key_exists($evenFirst, $tabNoProcol)) {
|
||||
switch ($tabNoProcol[$evenFirst]) {
|
||||
// PAS DE MENTION DE LA PROCOL
|
||||
case 1:
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 1\n", FILE_APPEND);
|
||||
$tabRet = array();
|
||||
break;
|
||||
// Ne pas mentionner la procol si CJ=1xxx
|
||||
case 2:
|
||||
if (substr($tabId['FJ'],0,1)*1==1) {
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 2\n", FILE_APPEND);
|
||||
$tabRet = array();
|
||||
} elseif ($tabId['Actif']*1 > 0 && substr($tabId['FJ'],0,1)*1 != 9) {
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 2", FILE_APPEND);
|
||||
$maxLatence = date('Ymd',mktime(0,0,0,(substr($derProcol,4,2)*1)+1,substr($derProcol,6,2),substr($derProcol,0,4)));
|
||||
if (date('Ymd') > $maxLatence) {
|
||||
$tabRet = array();
|
||||
@ -5865,11 +5882,13 @@ class MInsee
|
||||
// Pas Procol si actif RCS
|
||||
case 3:
|
||||
if ($tabId['Actif']*1>0) {
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 3\n", FILE_APPEND);
|
||||
$tabRet = array();
|
||||
}
|
||||
break;
|
||||
// Le dernier jugement est un appel => Procol Suspendu
|
||||
case 4:
|
||||
if ($this->debug) file_put_contents('procol.log', "affProcol = 4\n", FILE_APPEND);
|
||||
$this->appelJugement = true;
|
||||
break;
|
||||
}
|
||||
@ -5880,6 +5899,7 @@ class MInsee
|
||||
if ($derProcol < $dateTropAncienne && $tabId['Actif']*1 > 0) {
|
||||
$derPr = $classWDate->dateT('Ymd','d/m/Y', $derProcol);
|
||||
$tabRet = array();
|
||||
if ($this->debug) file_put_contents('procol.log', "Procédure trop ancienne plus de 12 ans et actif\n", FILE_APPEND);
|
||||
}
|
||||
// --- En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement
|
||||
elseif ( ($evenFirst>=1300 && $evenFirst<=1313 && $evenFirst!=1310) || ($evenFirst>=1500 && $evenFirst<=1504)) {
|
||||
@ -5892,6 +5912,7 @@ class MInsee
|
||||
}
|
||||
}
|
||||
if ($derExercice>$derProcol) {
|
||||
if ($this->debug) file_put_contents('procol.log', "En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement\n", FILE_APPEND);
|
||||
$derEx = $classWDate->dateT('Ymd', 'd/m/Y', $derExercice);
|
||||
$derPr = $classWDate->dateT('Ymd', 'd/m/Y', $derProcol);
|
||||
$tabRet = array();
|
||||
@ -6441,25 +6462,10 @@ class MInsee
|
||||
if (($tabRet['isin']<>'' || trim($tmp[0])<>'') && trim($tmp[0])<>$tabRet['isin']) {
|
||||
if (trim($tmp[0])<>'' && $tabRet['isin']=='')
|
||||
$tabRet['isin']=$isin;
|
||||
// else
|
||||
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentitePart sur $siren ISIN différents", "Les codes ISIN du siren $siren sont différents en base et chez notre partenaire : ".$tabRet['isin'].' différent de '.trim($tmp[0]).EOL.print_r($tabRet, true));
|
||||
} elseif ($isin<>'') $tabRet['isin']=$isin;
|
||||
|
||||
$tabRet['bourseIsin']=$tabRet['isin'];
|
||||
|
||||
/*
|
||||
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
|
||||
$tabTmp=explode('<a href="', $infosDispo);
|
||||
foreach ($tabTmp as $k=>$lien) {
|
||||
preg_match('/^(.*)">(.*)<\/a>/i', $lien, $matches);
|
||||
if ($matches[2]<>'') $this->tabInfos[$matches[2]]=$matches[1];
|
||||
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];
|
||||
elseif (substr($matches[2], 0, 6)=='bilan ') $this->tabBilans[]=substr($matches[2], 6,strlen($matches[2])-6);
|
||||
}*
|
||||
$tabRet['activite']=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
|
||||
$tabRet['naf']=trim(@getTextInHtml($this->body, '<a href="../chaineeco_dynaeco/DynaEco.asp?cnaf=', 'cnaf=', '&'));
|
||||
//$tabRet=array();
|
||||
*/
|
||||
if ($tabRet['web']=='' || $tabRet['web']=='http://') {
|
||||
$tabRet['web']=trim($this->findSiteWeb($rs));
|
||||
}
|
||||
@ -6494,8 +6500,6 @@ class MInsee
|
||||
$tabInsert=array_merge($tabUpdate,array('siren'=>$siren));
|
||||
if (!$this->iDb->insert('jo.infos_entrep', $tabInsert))
|
||||
$this->iDb->update('jo.infos_entrep', $tabUpdate, "siren=$siren");
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentitePart sur $siren après accès Distant", print_r($tabRet, true));
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
@ -6757,9 +6761,6 @@ class MInsee
|
||||
'id, libActivite, listeActivite, naf5, naf4, codAn8, listeCJ, nomAutorite',
|
||||
"naf5='$naf5en' OR naf5='$naf5et' OR naf4='$naf4en' OR
|
||||
naf4='$naf4et' OR codAn8='$an8en' OR codAn8='$an8et'", false, MYSQL_ASSOC);
|
||||
/* @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Activités réglementées sur $siren",
|
||||
"naf5='$naf5en' OR naf5='$naf5et' OR naf4='$naf4en' OR naf4='$naf4et' OR codAn8='$an8en' OR codAn8='$an8et'".EOL.
|
||||
print_r($ret, true));*/
|
||||
foreach ($ret as $iRet=>$tabAct) {
|
||||
// Filtre 'listeActivite' : Si défini, on recherche la présence de mots dans l'activité
|
||||
if (trim($tabAct['listeActivite'])<>'') {
|
||||
@ -7053,7 +7054,6 @@ class MInsee
|
||||
foreach ($ret as $iRet=>$tabCpf) {
|
||||
$tabRet[$tabCpf['codCpf']]=$tabCpf['libCpf'];
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::listeProduits sur $naf", print_r($tabRet, true));
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
@ -7131,8 +7131,6 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
//die();
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::listeProduits sur $naf", print_r($tabRet, true));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -7292,13 +7290,6 @@ class MInsee
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$trouve) {
|
||||
/*@sendMail( 'production@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
"classMInsee::getInfosIris sur $codeCommune pas de RIVOLI sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 1a)",
|
||||
"Plusieurs codes IRIS pour un même rivoli".EOL.print_r($ret, true));
|
||||
print_r($ret);*/
|
||||
// die("TROP DE RIVOLI POUR '$codeCommune' et '$adrLibVoie2' ($adrNum, $adrIndRep, $adrTypVoie)");
|
||||
}
|
||||
} else
|
||||
return $tabRet;
|
||||
}
|
||||
@ -7339,9 +7330,8 @@ class MInsee
|
||||
}
|
||||
}
|
||||
if (count($ret2)<>1) {
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple KO sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 1a)", "Plusieurs codes IRIS pour le même rivoli".EOL.print_r($ret, true));
|
||||
|
||||
} else {
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple ok sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 1b)", "Plusieurs codes IRIS pour le même rivoli".EOL.print_r($ret2, true).EOL.print_r($ret, true));
|
||||
$ret=$ret2;
|
||||
}
|
||||
}
|
||||
@ -7365,7 +7355,6 @@ class MInsee
|
||||
} else {
|
||||
//typVoie, libVoie, rivoli, typeNum 1:chiffres impaires, 2:chiffres paires
|
||||
//numd, indd, numf, indf
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple KO sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 2)", "Plusieurs codes IRIS pour le même rivoli".EOL.print_r($ret, true));
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
@ -323,8 +323,6 @@ class MFacto
|
||||
}
|
||||
}
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Paiements", $libProfil.EOL.'Profil payeur = '. $this->profilPayeur .EOL.print_r($tabPaie, true).EOL);
|
||||
|
||||
return $libProfil;
|
||||
}
|
||||
|
||||
@ -391,7 +389,6 @@ class MFacto
|
||||
}
|
||||
}
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Tableaux des Paiements", 'Paiements par montants :'.EOL.print_r($tabMtAn2, true).EOL.EOL.'Paiements par trimestres :'.EOL.print_r($tabNbr2, true).EOL.print_r($tabNbr, true).EOL.print_r($tabMtAn, true).EOL);
|
||||
return array(
|
||||
'parMont'=>$tabMtAn2,
|
||||
'parTrim'=>$tabNbr2
|
||||
|
@ -1168,6 +1168,7 @@ $tabGreffe2Sd=array(
|
||||
|
||||
require_once 'framework/common/curl.php';
|
||||
require_once 'framework/common/mysql.php';
|
||||
require_once 'Metier/Common/Mail.php';
|
||||
|
||||
class MGreffes
|
||||
{
|
||||
@ -3026,12 +3027,13 @@ class MGreffes
|
||||
$sirenReponse=$matches[1];
|
||||
|
||||
/** Réponse pour un autre siren, sans erreur ! **/
|
||||
$mail = new Metier_Common_Mail();
|
||||
if ($sirenQuery<>$sirenReponse && strlen($xml)>=200)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
$mail->send('debug@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
"classMGreffes.php : Debug requete $siren,$idCommande,$type, $vecteur, $option",
|
||||
"Debug requete $siren,$idCommande,$type, $vecteur, $option \nQUERY: $query \nREPONSE: $xml");
|
||||
elseif ($type=='BS' && strlen($xml)>=200 && $option<>'' && ENV<>'PRD')
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
$mail->send('debug@scores-decisions.com', 'ylenaour@scores-decisions.com',
|
||||
"classMGreffes.php : Debug requete $siren,$idCommande,$type, $vecteur, $option",
|
||||
"Debug requete $siren,$idCommande,$type, $vecteur, $option \nQUERY: $query \nREPONSE:$xml");
|
||||
|
||||
@ -3232,7 +3234,8 @@ class MGreffes
|
||||
elseif (($typeCpt=='sociaux' || $typeCpt=='') && $liasse==2033) $type='S';
|
||||
elseif (($typeCpt=='sociaux' || $typeCpt=='') && ($liasse=='A' || $liasse=='B') ) $type=$liasse;
|
||||
else {
|
||||
sendMail('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Type de bilan inconnue pour $siren", $xml);
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Type de bilan inconnue pour $siren", $xml);
|
||||
}
|
||||
$title = $xpath->query ('date_cloture', $annonce);
|
||||
$millesime=strtolower(trim($title->item(0)->nodeValue));
|
||||
@ -3368,12 +3371,14 @@ class MGreffes
|
||||
elseif ($typeCpt=='consolides' && $liasse==2050)
|
||||
$tabRet['TYPE_BILAN']=$tabRet['CONSOLIDE']='C';
|
||||
else {
|
||||
sendMail('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Type de bilan inconnue pour $siren", $xml);
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Type de bilan inconnue pour $siren", $xml);
|
||||
}
|
||||
$title = $xpath->query ('//bilanSaisi/num_siren');
|
||||
$tabRet['SIREN']=trim($title->item(0)->nodeValue);
|
||||
if ($siren*1<>$tabRet['SIREN']*1) {
|
||||
sendMail('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Siren différents dans le bilan reçu $siren<>".$tabRet['SIREN'], $xml);
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', " classMGreffes.php : Siren différents dans le bilan reçu $siren<>".$tabRet['SIREN'], $xml);
|
||||
return array();
|
||||
}
|
||||
$title = $xpath->query ('//bilanSaisi/codeAPE');
|
||||
@ -3394,18 +3399,13 @@ class MGreffes
|
||||
)
|
||||
$tabPostes[''.$poste]=round($valeur/6.55957);
|
||||
}
|
||||
} else//if ($liasse<>'A' && $liasse<>'B')
|
||||
sendMail('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Devise '".$tabRet['MONNAIE_ORI']."' inconnue pour $siren", $xml);
|
||||
} else {
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('erreur@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Devise '".$tabRet['MONNAIE_ORI']."' inconnue pour $siren", $xml);
|
||||
}
|
||||
}
|
||||
$tabRet['MONNAIE']='EUR';
|
||||
$tabBilan['SOURCE']=10; // 167 avant
|
||||
/*
|
||||
<denomination>AUTOMOBILES PEUGEOT</denomination>
|
||||
<adresse>75 AV DE LA GRANDE ARMEE</adresse>
|
||||
<code_postal>75016</code_postal>
|
||||
<ville>PARIS</ville>
|
||||
<pays />
|
||||
*/
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
@ -3640,7 +3640,6 @@ class MGreffes
|
||||
'dateInsert' => date('YmdHis'),
|
||||
);
|
||||
@$iDb->insert('jo.greffes_actes', $tabInsert);
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::Debug getListeActes($siren)", print_r($tabInsert,true).mysql_error()) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3842,7 +3841,6 @@ class MGreffes
|
||||
}
|
||||
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::getListeBilans sur $siren", $xml.EOL.print_r($tabRet, true));
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
@ -3851,8 +3849,10 @@ class MGreffes
|
||||
$ret=$this->iDb->select('jo.greffes_cessions', 'id, siren, nom, libGreffe, inscrit, etat, dateImmat, dateJuge, dateConv, dateLJS, dateInventaire, dateBodacc, caDeclare, effectif, descriptif, pdfLink, pdfSize, pdfVer, pdfPage, descDateDepot, dateLimite, mandataire, dateInsert', "siren=$siren", false, MYSQL_ASSOC);
|
||||
if (count($ret)>0) {
|
||||
$tabCes=$ret[0];
|
||||
if (count($ret)>1)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug getInfosCessions $siren", "Plus de 1 cession pour ce siren");
|
||||
if (count($ret)>1) {
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug getInfosCessions $siren", "Plus de 1 cession pour ce siren");
|
||||
}
|
||||
//id, siren, nom, libGreffe, inscrit, etat, dateImmat,
|
||||
//pdfLink, pdfSize, pdfVer, pdfPage, ,
|
||||
// dateLimite, mandataire, dateInsert
|
||||
|
@ -59,7 +59,6 @@ class MLiens
|
||||
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, actif, source, dateLien*1 AS dateLien, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
|
||||
"Siren1='$siren' AND ActionPart=1 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC);
|
||||
//$tabActiDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='AC' ORDER BY PourcentageDetenu DESC");
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug $siren ($actifsUniquement)", print_r($tab,true)) ;
|
||||
$sourcePre=$unique=false;
|
||||
$pctTot=0;
|
||||
$tabRet=array();
|
||||
@ -269,7 +268,6 @@ class MLiens
|
||||
$sirenCom='23'.$dept3.'00'.$iSir2;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) {
|
||||
if ($this->iInsee->sirenExiste($sirenCom)) {
|
||||
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement) $sirenCom existe !", '') ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -460,7 +458,6 @@ class MLiens
|
||||
}
|
||||
}*/
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement)", print_r($tabRet,true)) ;
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
@ -608,7 +605,6 @@ class MLiens
|
||||
break;
|
||||
}
|
||||
// }
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Liens $siren", print_r($tabRet,true)) ;
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ class MOrias
|
||||
private $codeRetour = 0;
|
||||
private $accesDist=true;
|
||||
private $iDb;
|
||||
|
||||
|
||||
public $enCache=false;
|
||||
public $force=false;
|
||||
public $annee=0;
|
||||
@ -17,7 +17,7 @@ class MOrias
|
||||
function __construct($accesDist = true, $db = null)
|
||||
{
|
||||
$this->accesDist = $accesDist;
|
||||
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
@ -39,12 +39,12 @@ class MOrias
|
||||
$strWhere='1';
|
||||
$this->annee=date('Y')*1;
|
||||
}
|
||||
|
||||
|
||||
$ret=$this->iDb->select('sdv1.orias','MAX(numOrias) AS numOrias', $strWhere, false, MYSQL_ASSOC);
|
||||
//die($strWhere);
|
||||
return sprintf('%08d',$ret[0]['numOrias']);
|
||||
}
|
||||
|
||||
|
||||
public function getInfosOrias($siren, $numOrias=0)
|
||||
{
|
||||
//die('numOrias 1:"'.$numOrias.'"');
|
||||
@ -57,7 +57,7 @@ class MOrias
|
||||
// die($strWhere);
|
||||
//die('numOrias 2:"'.$numOrias.'"');
|
||||
} else return false;
|
||||
|
||||
|
||||
/* echo "=================================================================================================".EOL;
|
||||
echo "==== SELECT siren, id, nom, cp, ville, adresse, numOrias FROM orias WHERE $strWhere;".EOL;
|
||||
echo "=================================================================================================".EOL;
|
||||
@ -88,7 +88,7 @@ class MOrias
|
||||
return false;
|
||||
}
|
||||
} else return false;
|
||||
|
||||
|
||||
if ($numOrias>0) {
|
||||
$url='http://www.orias.fr/orias/public/index.html';
|
||||
$post=array('menu%3AiasSearchForm'=>'menu%3AiasSearchForm',
|
||||
@ -127,7 +127,7 @@ class MOrias
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if ($url=='http://www.orias.fr/orias/public/intermediaire.html') {
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, '', '', 24);
|
||||
$this->referer=$url;
|
||||
@ -135,28 +135,27 @@ class MOrias
|
||||
echo "Recherche par Orias : url=$url".EOL;
|
||||
die(print_r($page));
|
||||
} /* else { */
|
||||
|
||||
|
||||
// Liste contenant l'entreprise
|
||||
$url='http://www.orias.fr/orias/public/list.html';
|
||||
randsleep(1,2);
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, '', '', 24);
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
|
||||
|
||||
if (preg_match('/<td>R\é\;sultat\(s\) de votre recherche \:(?:.*)<strong>(.*)<(?:.*)Interm\é\;diaire\(s\)/Uis',$this->body, $matches)) {
|
||||
$nbInter=trim($matches[1])*1;
|
||||
if ($nbInter==0) return false;
|
||||
if ($nbInter>1) {
|
||||
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMOrias::getInfosOrias sur $siren", "Plus de 1 intermédiaire recensé... Merci de gérer le cas !");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Initalisation du tableau retour
|
||||
$tabRet=array('siren'=>$siren);
|
||||
|
||||
|
||||
//id="formResult:intermediariesList:13910
|
||||
|
||||
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell haut " id="formResult\:intermediariesList\:(.*)\:j_id_id117">(?:.*)<center>(.*)<\/center>/Uis',$this->body, $matches)) {
|
||||
$tabRet['id']=trim($matches[1]);
|
||||
$tabRet['nom']=html_entity_decode(trim($matches[2]));
|
||||
@ -169,7 +168,7 @@ class MOrias
|
||||
}
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell r.adresse " id="formResult\:intermediariesList\:(?:.*)\:j_id_id133">(.*)<\/td>/Uis',$this->body, $matches))
|
||||
$tabRet['adresse']=html_entity_decode(trim($matches[1]));
|
||||
|
||||
|
||||
$tabRet['actif']=1;
|
||||
$tabRet['numOriasAttribue']=1;
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell r.immat " id="formResult\:intermediariesList\:(?:.*)\:j_id_id138">(?:.*|)(<span style="white-space\: no-wrap;">|Radi\é\; le \:)(.*)(?:<\/span>|<\/td>)/Uis',$this->body, $matches)) {
|
||||
@ -188,7 +187,7 @@ class MOrias
|
||||
|
||||
$tabTmp=explode("<a href=\"#\" onclick=\"if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('formResult'),{'", $this->body);
|
||||
// die($this->body);
|
||||
|
||||
|
||||
foreach ($tabTmp as $i=>$strCat) {
|
||||
if ($i==0) {
|
||||
if (count($tabTmp)==1) {
|
||||
@ -203,13 +202,13 @@ class MOrias
|
||||
//echo "$i:$strCat";
|
||||
//die();
|
||||
//:formResult:intermediariesList:107501:j_id_id159:0:j_id_id166':'formResult:intermediariesList:107501:j_id_id159:0:j_id_id166','intermediaryIdParam':'107501','intermediaryRoleIdParam':'Mia'},'');}return false">
|
||||
|
||||
|
||||
if (preg_match('/<span style="text-align\: left">(.*)<\/span>/Ui',$strCat, $matches))
|
||||
$tabCat['categorie']=html_entity_decode(trim($matches[1]));
|
||||
if (preg_match('/intermediaryRoleIdParam\'\:\'(.*)\'/Uis',$strCat, $matches))
|
||||
$tabCat['cat']=$matches[1];
|
||||
//print_r($tabCat);
|
||||
|
||||
|
||||
if ($i==1) { // Tout est dans la même page Html
|
||||
// Construction du lien vers la fiche d'identité de l'entreprise
|
||||
$url='http://www.orias.fr/orias/public/list.html';
|
||||
@ -232,7 +231,7 @@ class MOrias
|
||||
$tmpCat=explode('class="dr-tbpnl-cntnt-pstn rich-tabpanel-content-position"', $page['body']);
|
||||
//die(print_r($page,1));
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/<dd class="col3">Date d\'inscription \: <strong>(.*)<\/strong><\/dd>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['dateInscription']=/*Wdate::dateT('d/m/y', 'Y-m-d', */trim($matches[1]);//);
|
||||
if (preg_match('/<td align="right"(?: |)>Statut \:<\/td>(.*)<\/strong>/Uis',$tmpCat[$i], $matches))
|
||||
@ -263,18 +262,18 @@ class MOrias
|
||||
$tabCat['encaissement']=0;
|
||||
else
|
||||
$tabCat['encaissement']=1;
|
||||
|
||||
|
||||
if (preg_match('/<span class="txt_ssTitre">(?:.*)Nature de l\'activit\é\; d\'interm\é\;diation(.*)<\/dd>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['nature']=html_entity_decode(trim(strip_tags($matches[1])));
|
||||
|
||||
|
||||
if (preg_match('/<td width="50%" valign="top" align="left">\- Etats dans lesquels cet interm\é\;diaire exerce en libre prestation de service(.*)<\/table>(.*)<\/tr>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['paysPresta']=trim(strip_tags($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/<td width="222" align="left">\- Etats dans lesquels cet interm\é\;diaire exerce en libert\é\; d\'\é\;tablissement(.*)<\/table>(.*)<\/tr>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['paysEtab']=trim(strip_tags($matches[1]));
|
||||
|
||||
|
||||
$tabRet['categories'][]=$tabCat;
|
||||
|
||||
|
||||
$tabInsert=$tabRet;
|
||||
unset($tabInsert['categories']);
|
||||
$tabInsert=array_merge($tabInsert, $tabCat, array('dateInsert'=>date('YmdHis')));
|
||||
|
@ -74,7 +74,6 @@ class MTva
|
||||
|
||||
$page=getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15);
|
||||
$duree = round(microtime_float()-$tdeb, 3);
|
||||
//sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com', "classMTva sur $siren en $duree", print_r($page, true));
|
||||
if ($page['err_num']<>0) {
|
||||
debugLog('W', 'TVA Erreur CURL n°'. $page['err_num'] .', '. $page['err_msg'] ." sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
|
@ -28,10 +28,10 @@ class ICotation
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
|
||||
$this->reTrtAuto = $retraitementAutomatique;
|
||||
$this->tabBilan = $tabBilan;
|
||||
|
||||
|
||||
$this->tabNaf21['0162Z']='927C';
|
||||
$this->tabNaf21['0210Z']='020A';
|
||||
$this->tabNaf21['0220Z']='020B';
|
||||
@ -725,9 +725,9 @@ class ICotation
|
||||
$this->tabNaf21['9604Z']='930K';
|
||||
$this->tabNaf21['9609Z']='930N';
|
||||
$this->tabNaf21['9900Z']='990Z';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** Tableau des CA moyens / Salariés, Pondérations et effectifs moyens
|
||||
**/
|
||||
$this->tabMedians=array('000Z'=>array('CAm'=>180, 'Coef'=>0, 'YPm'=>22),
|
||||
@ -1467,8 +1467,8 @@ class ICotation
|
||||
'930N'=>array('CAm'=>3670, 'Coef'=>0, 'YPm'=>4),
|
||||
'950Z'=>array('CAm'=>10, 'Coef'=>0, 'YPm'=>0),
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/** Situat° Remarque Notation Equiv. Grades Probabilité de
|
||||
** financière BDF Moody's Grades S&P défaillance
|
||||
**/
|
||||
@ -1487,7 +1487,7 @@ class ICotation
|
||||
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
|
||||
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
|
||||
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
|
||||
|
||||
|
||||
$this->tabLibActivite[0]='';
|
||||
$this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro';
|
||||
$this->tabLibActivite[3]='Industries Alimentaires : Collecte et 1ère transformation';
|
||||
@ -1506,7 +1506,7 @@ class ICotation
|
||||
$this->tabLibActivite[11]='Hôtellerie et Loisirs / Activités immobilières';
|
||||
$this->tabLibActivite[16]='Banques. Assurances. Activités financières';
|
||||
$this->tabLibActivite[17]='Agriculture. Sylviculture. Pêche. Aquaculture';
|
||||
|
||||
|
||||
$this->tabActivite[15]=array('512A');
|
||||
$this->tabActivite[3]=array('151A','151C','152','153E','155','157','159G','159J','159N','159Q');
|
||||
$this->tabActivite[5]=array('159A','159F');
|
||||
@ -1524,7 +1524,7 @@ class ICotation
|
||||
$this->tabActivite[11]=array('923','925','926','927','551','552','553','554','555','702');
|
||||
$this->tabActivite[16]=array('651','660','672','652E','652A','652C','652F','671');
|
||||
$this->tabActivite[17]=array('751','990','752','990','701');
|
||||
|
||||
|
||||
$this->tabR[1][0]=array();
|
||||
$this->tabR[1][1]=array('0:15.5','15.5:21.7','21.7:25','25:29.1','29.1:33.4','33.4:37','37:40','40:42.6','42.6:44.9','44.9:100');
|
||||
$this->tabR[1][2]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
|
||||
@ -1543,7 +1543,7 @@ class ICotation
|
||||
$this->tabR[1][15]=array('0:15.5','15.5:21.7','21.7:25','25:29.1','29.1:33.4','33.4:37','37:40','40:42.6','42.6:44.9','44.9:100');
|
||||
$this->tabR[1][16]=array('0:6.8','6.8:8.9','8.9:10','10:11.4','11.4:12.8','12.8:14','14:15','15:15.9','15.9:16.6','16.6:100');
|
||||
$this->tabR[1][17]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
|
||||
|
||||
|
||||
$this->tabR[2][0]=array();
|
||||
$this->tabR[2][1]=array('1.8:','1.6:1.8','1.5:1.6','1.4:1,5','1.2:1.4','1.0:1.2','0.9:1.0','0.8:0,9','0.7:0,8','0:0.7');
|
||||
$this->tabR[2][2]=array('2.2:','1.9:2.2','1.8:1.9','1.6:1.8','1.4:1.6','1.2:1.4','1.0:1.2','0.9:1.0','0.7:0.9','0:0.7');
|
||||
@ -1562,7 +1562,7 @@ class ICotation
|
||||
$this->tabR[2][15]=array('2.2:','1.9:2.2','1.7:1.9','1.5:1.7','1.2:1.5','1.0:1.2','0.8:1.0','0.7:0.8','0.5:0.7','0:0.5');
|
||||
$this->tabR[2][16]=array('10.1:','8.8:10.1','8:8.8','7:8','5.8:7','4.8:5.8','4:4.8','3.3:4','2.8:3.3','0:2.8');
|
||||
$this->tabR[2][17]=array('2.2:','1.9:2.2','1.8:1.9','1.6:1.8','1.4:1.6','1.2:1.4','1:1.2','0.9:1','0.7:0.9','0:0.7');
|
||||
|
||||
|
||||
$this->tabR[3][0]=array();
|
||||
$this->tabR[3][1]=array('4.4:','4:4.4','3.8:4','3.5:3.8','3.1:3.5','2.8:3.1','2.5:2.8','2.2:2.5','2:2.2','0:2');
|
||||
$this->tabR[3][2]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
|
||||
@ -1581,7 +1581,7 @@ class ICotation
|
||||
$this->tabR[3][15]=array('6.9:','6.3:6.9','6.0:6.3','5.5:6.0','5.0:5.5','4.5:5.0','4.0:4.5','3.6:4.0','3.2:3.6','0:3.2');
|
||||
$this->tabR[3][16]=array('10.9:','9.7:10.9','9:9.7','8:9','6.8:8','5.8:6.8','5:5.8','4.3:5','3.7:4.3','0:3.7');
|
||||
$this->tabR[3][17]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
|
||||
|
||||
|
||||
$this->tabR[4][0]=array();
|
||||
$this->tabR[4][1]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
|
||||
$this->tabR[4][2]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
|
||||
@ -1600,7 +1600,7 @@ class ICotation
|
||||
$this->tabR[4][15]=array('0:2.9','2.9:3.4','3.4:3.7','3.7:4.3','4.3:5.2','5.2:6.2','6.2:7.5','7.5:9.1','9.1:10.9','10.9:');
|
||||
$this->tabR[4][16]=array('0:1.1','1.1:1.2','1.2:1.3','1.3:1.4','1.4:1.6','1.6:1.8','1.8:2','2:2.2','2.2:2.5','2.5:');
|
||||
$this->tabR[4][17]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
|
||||
|
||||
|
||||
$this->tabR[5][0]=array();
|
||||
$this->tabR[5][1]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
|
||||
$this->tabR[5][2]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
|
||||
@ -1619,7 +1619,7 @@ class ICotation
|
||||
$this->tabR[5][15]=array('-99:-38.3','-38.3:-36.3','-36.3:-35.0','-35:-33','-33.0:-30','-30:-27.7','-27.7:-25.0','-25.0:-22.3','-22.3:-19.7','-19.7:');
|
||||
$this->tabR[5][16]=array('-99:-41.7','-41.7:-34.7','-34.7:-30','-30:-23','-23:-13.7','-13.7:-4.3','-4.3:5','5:14.3','14.3:23.7','23.7:');
|
||||
$this->tabR[5][17]=array(':-58.3','-58.3:53.3','-53.3:-50','-50:-45','-45:-38.3','-38.3:-31.7','-31.7:-25','-25:-18.3','-18.3:-11.7','-11.7:');
|
||||
|
||||
|
||||
$this->tabR[6][0]=array();
|
||||
$this->tabR[6][1]=array('0:6','6:6.6','6.6:7','7:7.6','7.6:8.4','8.4:9.2','9.2:10','10:10.8','10.8:11.6','11.6:');
|
||||
$this->tabR[6][2]=array('0:6','6:6.6','6.6:7','7:7.6','7.6:8.4','8.4:9.2','9.2:10','10:10.8','10.8:11.6','11.6:');
|
||||
@ -1729,10 +1729,10 @@ class ICotation
|
||||
}
|
||||
|
||||
/** Retourne la marge commerciale
|
||||
** Elle est <EFBFBD>gale <EFBFBD> la diff<EFBFBD>rence entre les ventes de marchandises et le co<EFBFBD>t d'achat des marchandises vendues.
|
||||
** Attention : La marge commerciale concerne seulement les entreprises commerciales (activit<EFBFBD> = revente de marchandises en l'<EFBFBD>tat).
|
||||
** Elle est égale à la différence entre les ventes de marchandises et le cout d'achat des marchandises vendues.
|
||||
** Attention : La marge commerciale concerne seulement les entreprises commerciales (activité = revente de marchandises en l'<EFBFBD>tat).
|
||||
**
|
||||
** @param $exPre Exercice pr<EFBFBD>c<EFBFBD>dent ?
|
||||
** @param $exPre Exercice précédent ?
|
||||
** @return double Marge Commerciale en unit<EFBFBD> du bilan
|
||||
**/
|
||||
function calculMargeCommerciale ($exPre=false) {
|
||||
@ -1757,22 +1757,22 @@ class ICotation
|
||||
else
|
||||
return @$this->tabBilan['FF'] + @$this->tabBilan['FI'] + @$this->tabBilan['FM'] + @$this->tabBilan['FN'] ;
|
||||
}
|
||||
/** Retourne la Valeur ajout<EFBFBD>e
|
||||
** La VA repr<EFBFBD>sente la cr<EFBFBD>ation de valeur lors de l'exercice
|
||||
/** Retourne la Valeur ajoutée
|
||||
** La VA représente la création de valeur lors de l'exercice
|
||||
** VA = Production + Marge Commerciale - consommations de biens et services en provenance des tiers
|
||||
** Plus la valeur ajout<EFBFBD>e est importante et moins grand est le recours aux tiers.
|
||||
** La valeur ajout<EFBFBD>e donne une indication de l'activit<69> de l'entreprise <EFBFBD> laquelle elle se rapporte.
|
||||
** Le ratio : Valeur ajout<EFBFBD>e / Chiffre d'affaire ou Production, s'il se rapproche de 1, indique une entreprise "int<EFBFBD>gr<EFBFBD>e", c'est <EFBFBD> dire qui fait peu appel <EFBFBD> des tiers.
|
||||
** La diff<EFBFBD>rence entre la production et la consommation accro<EFBFBD>t la valeur de la production nationale.
|
||||
** De ce fait, on peut d<EFBFBD>finir la valeur ajout<EFBFBD>e comme une contribution que l'entreprise et son personnel apporte <EFBFBD> l'<EFBFBD>conomie du pays.
|
||||
** La valeur ajout<EFBFBD>e est partag<EFBFBD>e entre :
|
||||
** Plus la valeur ajoutée est importante et moins grand est le recours aux tiers.
|
||||
** La valeur ajoutée donne une indication de l'activit<69> de l'entreprise à laquelle elle se rapporte.
|
||||
** Le ratio : Valeur ajout<EFBFBD>e / Chiffre d'affaire ou Production, s'il se rapproche de 1, indique une entreprise "intégrée", c'est à dire qui fait peu appel <EFBFBD> des tiers.
|
||||
** La différence entre la production et la consommation accroît la valeur de la production nationale.
|
||||
** De ce fait, on peut définir la valeur ajoutée comme une contribution que l'entreprise et son personnel apporte à l'économie du pays.
|
||||
** La valeur ajoutée est partaée entre :
|
||||
** - le personnel de l'entreprise, aux moyens de salaires et de prestations sociales,
|
||||
** - les fournisseurs de capitaux, aussi bien de capitaux emprunt<EFBFBD>s par l'interm<72>diaire de banques, que de fournisseurs de capitaux propres par l'interm<EFBFBD>diaire de paiement de dividendes,
|
||||
** - l'Etat et les collectivit<EFBFBD>s locales par l'interm<EFBFBD>diaire de l'imp<EFBFBD>t,
|
||||
** - les fournisseurs de capitaux, aussi bien de capitaux empruntés par l'intermédiaire de banques, que de fournisseurs de capitaux propres par l'interm<EFBFBD>diaire de paiement de dividendes,
|
||||
** - l'Etat et les collectivités locales par l'intermédiaire de l'imp<EFBFBD>t,
|
||||
** - l'Entreprise pour compenser l'usure des actifs et pour s'autofinancer.
|
||||
**
|
||||
** @param $exPre Exercice pr<EFBFBD>c<EFBFBD>dent ?
|
||||
** @return double Valeur ajout<EFBFBD>e en unit<EFBFBD> du bilan
|
||||
** @param $exPre Exercice précédent ?
|
||||
** @return double Valeur ajoutée en unité du bilan
|
||||
**/
|
||||
function calculValeurAjoutee ($exPre=false) {
|
||||
if ($exPre)
|
||||
@ -1783,7 +1783,7 @@ class ICotation
|
||||
- ( @$this->tabBilan['FU'] + @$this->tabBilan['FV'] + @$this->tabBilan['FW'] ) ;
|
||||
}
|
||||
|
||||
/** Score Zbis pr<EFBFBD>sum<EFBFBD> de la BDF
|
||||
/** Score Zbis présumé de la BDF
|
||||
**
|
||||
**/
|
||||
function scoreZbis() {
|
||||
@ -1917,23 +1917,12 @@ class ICotation
|
||||
if ($r6<-100) $r6=-100; elseif ($r6>150) $r6=150;
|
||||
|
||||
$t=0.57 + $r1*-0.0635 + r2*0.0183 + $r3*0.0471 + $r4*-0.0246 + $r5*0.0115 + $r6*-0.0096;
|
||||
/*sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Afdcc1",
|
||||
"Score Afdcc = $t
|
||||
t=0.57 + $r1*-0.0635 + r2*0.0183 + $r3*0.0471 + $r4*-0.0246 + $r5*0.0115 + $r6*-0.0096
|
||||
Avec
|
||||
r1=$r1
|
||||
r2=$r2
|
||||
r3=$r3
|
||||
r4=$r4
|
||||
r5=$r5
|
||||
r6=$r6
|
||||
".EOL.print_r($this->tabBilan, true));*/
|
||||
|
||||
return $t;
|
||||
}
|
||||
|
||||
function scoreAfdcc2($naf, $trancheEffectif) {
|
||||
/** Ind<EFBFBD>pendance financi<63>re */
|
||||
/** Indépendance financière */
|
||||
$denom= @$this->tabBilan['DL'] + @$this->tabBilan['DO'] + @$this->tabBilan['DR'] + @$this->tabBilan['DS']
|
||||
+ @$this->tabBilan['DT'] + @$this->tabBilan['DU'] + @$this->tabBilan['DV'] - @$this->tabBilan['EH']
|
||||
+ @$this->tabBilan['ED'] + @$this->tabBilan['BK'] - @$this->tabBilan['AA'] - @$this->tabBilan['CM'];
|
||||
@ -2195,19 +2184,6 @@ class ICotation
|
||||
$enBourse='Coci<63>t<EFBFBD> non c<>t<EFBFBD>';
|
||||
}
|
||||
|
||||
/*sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Altman $enBourse",
|
||||
"Score Altman = $t
|
||||
t=1.2*$x1 + 1.4*$x2 + 3.3*$x3 + 0.6*$x4 + $x5;
|
||||
Avec
|
||||
x1=$x1
|
||||
x2=$x2
|
||||
x3=$x3
|
||||
x4=$x4
|
||||
x5=$x5
|
||||
".EOL.
|
||||
print_r($bourse, true).EOL.
|
||||
print_r($this->tabBilan, true));*/
|
||||
|
||||
return $t;
|
||||
}
|
||||
|
||||
@ -2679,13 +2655,14 @@ class ICotation
|
||||
$this->tabNotation[$notation][5] .';'; // Probbilit<69> de d<>faillance
|
||||
break;
|
||||
case 'array':
|
||||
$str = array( 'SituationFinanciere' =>utf8_encode($this->tabNotation[$notation][0]), // Situation financi<63>re
|
||||
'Notation' =>utf8_encode($this->tabNotation[$notation][1]), // Notation
|
||||
//'EquivalenceBDF' =>$this->tabNotation[$notation][2], // Equivalence BDF
|
||||
//$this->tabNotation[$notation][3] .';'. // Grades Moody's
|
||||
//$this->tabNotation[$notation][4] .';'. // Grades S&P
|
||||
'ProbabiliteDefaut' =>utf8_encode($this->tabNotation[$notation][5]), // Probbilit<69> de d<>faillance
|
||||
);
|
||||
$str = array(
|
||||
'SituationFinanciere' =>$this->tabNotation[$notation][0], // Situation financiére
|
||||
'Notation' =>$this->tabNotation[$notation][1], // Notation
|
||||
//'EquivalenceBDF' =>$this->tabNotation[$notation][2], // Equivalence BDF
|
||||
//$this->tabNotation[$notation][3] .';'. // Grades Moody's
|
||||
//$this->tabNotation[$notation][4] .';'. // Grades S&P
|
||||
'ProbabiliteDefaut' =>$this->tabNotation[$notation][5], // Probbilité de défaillance
|
||||
);
|
||||
break;
|
||||
}
|
||||
return $str;
|
||||
|
@ -3,7 +3,6 @@
|
||||
require_once 'Metier/partenaires/classMPrivileges.php';
|
||||
require_once 'Metier/partenaires/classMMarques.php';
|
||||
require_once 'Metier/scores/classMRegression.php';
|
||||
require_once 'Metier/partenaires/classMLiens2.php';
|
||||
require_once 'Metier/scores/classMSolvabilite.php';
|
||||
require_once 'Metier/scores/classMRatios.php';
|
||||
|
||||
@ -189,23 +188,23 @@ function getTxRendement($annee)
|
||||
* @param string $unite
|
||||
* @param string $signe
|
||||
*/
|
||||
function number_format2($nombre,$decimales,$sepDec,$sepMil,$unite,$signe)
|
||||
function number_format2($nombre, $decimales, $sepDec, $sepMil, $unite, $signe)
|
||||
{
|
||||
if (round($nombre,$decimales) == round($nombre)) {
|
||||
$decimales = 0;
|
||||
}
|
||||
if ($signe == '+') {
|
||||
if ($nombre > 0) {
|
||||
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} elseif ($nombre<0) {
|
||||
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} else {
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
}
|
||||
} elseif ($signe=='!') {
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} else {
|
||||
return number_format($nombre,$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format($nombre,$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
}
|
||||
}
|
||||
|
||||
@ -282,11 +281,11 @@ function formatRatio($ratio, $id, $unite, $forceSigne='')
|
||||
}
|
||||
|
||||
/**
|
||||
* Fomattage des variables pour affichage
|
||||
* Formattage des variables pour affichage
|
||||
* @param string $variable
|
||||
* @param int $longeur
|
||||
* @param string $fonction
|
||||
* @return unknown|string|mixed|Ambigous <string, unknown>
|
||||
* @return mixed
|
||||
*/
|
||||
function formatValeur($variable, $longeur=0, $fonction='')
|
||||
{
|
||||
@ -327,140 +326,175 @@ function formatValeur($variable, $longeur=0, $fonction='')
|
||||
}
|
||||
}
|
||||
}
|
||||
// --- Formattage variable [...]DATE
|
||||
elseif (preg_match('/DATE$/', $nomVar)) {
|
||||
$strTmp = eval("return $valeur;");
|
||||
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
|
||||
}
|
||||
// --- Formattage variable [...]DATEp[NNNN]
|
||||
elseif (preg_match('/DATEp[0-9]{0,}$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
|
||||
}
|
||||
// --- Formattage variable [...]MMAA
|
||||
elseif (preg_match('/MMAA$/', $nomVar)) {
|
||||
//DELAIPAY_MMAA ne marche pas !
|
||||
$strTmp=eval("return $valeur;");
|
||||
return $classWdate->dateT('Y-m','M Y', $strTmp);
|
||||
}
|
||||
// --- Formattage variable [...]_MT
|
||||
elseif (preg_match('/_MT$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
return number_format($strTmp,2,',',' ').' €';
|
||||
return number_format($strTmp,2,',',' ').' €';
|
||||
}
|
||||
// --- Formattage variable [...]_NB
|
||||
elseif (preg_match('/_NB$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
return number_format($strTmp,0,',',' ');
|
||||
}
|
||||
// --- Formattage variable [...]_EU
|
||||
elseif (preg_match('/_EU$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
if ($strTmp>=0 && $strTmp<10 || $strTmp>-10 && $strTmp<=0)
|
||||
return number_format($strTmp,2,',',' ').' €';
|
||||
return number_format($strTmp,2,',',' ').' €';
|
||||
elseif ($strTmp>=10 && $strTmp<5000 || $strTmp>-5000 && $strTmp<=10)
|
||||
return number_format($strTmp,0,',',' ').' €';
|
||||
return number_format($strTmp,0,',',' ').' €';
|
||||
elseif ($strTmp<=-10000000 || $strTmp>=10000000)
|
||||
return number_format($strTmp/1000000,0,',',' ').' M€';
|
||||
return number_format($strTmp/1000000,0,',',' ').' M€';
|
||||
else
|
||||
return number_format($strTmp/1000,0,',',' ').' K€';
|
||||
return number_format($strTmp/1000,0,',',' ').' K€';
|
||||
}
|
||||
// --- Formattage variable [...]_POURC
|
||||
elseif (preg_match('/_POURC$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
if ($strTmp>=10 || $strTmp<=-10)
|
||||
return number_format($strTmp,0,',',' ').' %';
|
||||
return number_format($strTmp,0,',',' ').' %';
|
||||
elseif ($strTmp>=1 || $strTmp<=-1)
|
||||
return number_format($strTmp,1,',',' ').' %';
|
||||
return number_format($strTmp,1,',',' ').' %';
|
||||
else
|
||||
return number_format($strTmp,3,',',' ').' %';
|
||||
return number_format($strTmp,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable [...]CAPITAL
|
||||
elseif (preg_match('/CAPITAL$/', $nomVar)) {
|
||||
return number_format($CAPITAL,0,',', ' ').' €';
|
||||
}
|
||||
// --- Formattage variable [...]CAPITAL_PRE
|
||||
elseif (preg_match('/CAPITAL_PRE$/', $nomVar)) {
|
||||
return number_format($CAPITAL_PRE,0,',',' ').' €';
|
||||
return number_format($CAPITAL_PRE,0,',',' ').' €';
|
||||
}
|
||||
// --- Formattage variable [...]CAPITAL_MTACTION
|
||||
elseif (preg_match('/CAPITAL_MTACTION$/', $nomVar)) {
|
||||
return number_format($CAPITAL_MTACTION,0,',',' ').' €';
|
||||
return number_format($CAPITAL_MTACTION,0,',',' ').' €';
|
||||
}
|
||||
// --- Formattage variable [...]CAPITAL_NBACTION
|
||||
elseif (preg_match('/CAPITAL_NBACTION$/', $nomVar)) {
|
||||
return number_format($CAPITAL_NBACTION,0,',',' ');
|
||||
}
|
||||
// --- Formattage variable CAESTIME
|
||||
elseif (preg_match('/^CAESTIME$/', $nomVar)) {
|
||||
return number_format($CAESTIME/1000,0,',',' ').' k€';
|
||||
return number_format($CAESTIME/1000,0,',',' ').' k€';
|
||||
}
|
||||
// --- Formattage variable CABIOUES
|
||||
elseif (preg_match('/^CABIOUES$/', $nomVar)) {
|
||||
return number_format($CABIOUES/1000,0,',',' ').' k€';
|
||||
return number_format($CABIOUES/1000,0,',',' ').' k€';
|
||||
}
|
||||
// --- Formattage variable [...]DIMMAT
|
||||
elseif (preg_match('/DIMMAT$/', $nomVar)) {
|
||||
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DIMMAT),0,8)));
|
||||
}
|
||||
// --- Formattage variable [...]DCREN
|
||||
elseif (preg_match('/DCREN$/',$nomVar)) {
|
||||
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DCREN),0,8)));
|
||||
}
|
||||
// --- Formattage variable [...]MARCHEVOL
|
||||
elseif (preg_match('/MARCHEVOL$/', $nomVar)) {
|
||||
if (abs($MARCHEVOL)>=5) return round($MARCHEVOL).' %';
|
||||
else return number_format($MARCHEVOL,3,',',' ').' %';
|
||||
else return number_format($MARCHEVOL,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable [...]MARCHEPART
|
||||
elseif (preg_match('/MARCHEPART$/', $nomVar)) {
|
||||
if (abs($MARCHEPART)>=5) return round($MARCHEPART).' %';
|
||||
else return number_format($MARCHEPART,3,',',' ').' %';
|
||||
else return number_format($MARCHEPART,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable [...]MARCHEPARTp
|
||||
elseif (preg_match('/MARCHEPARTp$/', $nomVar)) {
|
||||
if (abs($MARCHEPARTp)>=5) return round($MARCHEPARTp).' %';
|
||||
else return number_format($MARCHEPARTp,3,',',' ').' %';
|
||||
else return number_format($MARCHEPARTp,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable [...]MARCHEPARTEVOL
|
||||
elseif (preg_match('/MARCHEPARTEVOL$/', $nomVar)) {
|
||||
if (abs($MARCHEPARTEVOL)>=5) return round($MARCHEPARTEVOL).' %';
|
||||
else return number_format($MARCHEPARTEVOL,3,',',' ').' %';
|
||||
else return number_format($MARCHEPARTEVOL,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable [...]MARCHE
|
||||
elseif (preg_match('/MARCHE$/', $nomVar)) {
|
||||
if ($MARCHE<10000) return number_format($MARCHE,0,',',' ').' €';
|
||||
elseif ($MARCHE<1000000) return number_format($MARCHE/1000,0,',',' ').' K€';
|
||||
elseif ($MARCHE<1000000000) return number_format($MARCHE/1000000,0,',',' ').' M€';
|
||||
else return number_format($MARCHE/1000000000,0,',',' ').' milliards d\'€';
|
||||
if ($MARCHE<10000) return number_format($MARCHE,0,',',' ').' €';
|
||||
elseif ($MARCHE<1000000) return number_format($MARCHE/1000,0,',',' ').' K€';
|
||||
elseif ($MARCHE<1000000000) return number_format($MARCHE/1000000,0,',',' ').' M€';
|
||||
else return number_format($MARCHE/1000000000,0,',',' ')." milliards d'€";
|
||||
}
|
||||
// --- Formattage variable [...]MARCHE
|
||||
elseif (preg_match('/MARCHEp$/', $nomVar)) {
|
||||
if ($MARCHEp<10000) return number_format($MARCHEp,0,',',' ').' €';
|
||||
elseif ($MARCHEp<1000000) return number_format($MARCHEp/1000,0,',',' ').' K€';
|
||||
elseif ($MARCHEp<1000000000)return number_format($MARCHEp/1000000,0,',',' ').' M€';
|
||||
else return number_format($MARCHEp/1000000000,0,',',' ').' milliards d\'€';
|
||||
if ($MARCHEp<10000) return number_format($MARCHEp,0,',',' ').' €';
|
||||
elseif ($MARCHEp<1000000) return number_format($MARCHEp/1000,0,',',' ').' K€';
|
||||
elseif ($MARCHEp<1000000000)return number_format($MARCHEp/1000000,0,',',' ').' M€';
|
||||
else return number_format($MARCHEp/1000000000,0,',',' ')." milliards d'€";
|
||||
}
|
||||
// --- Formattage variable [...]MARCHEp
|
||||
elseif (preg_match('/^CA_Y\[(.*)\]/U', $nomVar, $matches2)) {
|
||||
return number_format($CA_Y[$matches2[1]]/1000,0,',',' ').' K€';
|
||||
}
|
||||
// --- Formattage variable CA_Y[*]
|
||||
elseif (preg_match('/^RCAI_Y\[(.*)\]/U', $nomVar, $matches2)) {
|
||||
return number_format($RCAI_Y[$matches2[1]]/1000,0,',',' ').' K€';
|
||||
}
|
||||
// --- Formattage variable [...]_MT || [...]_TAUX
|
||||
elseif (preg_match('/(_COEF|_TAUX)$/', $nomVar)) {
|
||||
$strTmp=eval("return $valeur;");
|
||||
return number_format($strTmp,2,',','').' %';
|
||||
return number_format($strTmp,2,',','').' %';
|
||||
}
|
||||
// --- Formattage variable SIREN
|
||||
elseif (preg_match('/^SIREN$/', $nomVar)) {
|
||||
return sprintf("%09s", $SIREN);
|
||||
}
|
||||
// --- Formattage variable SIRET
|
||||
elseif (preg_match('/^SIRET$/', $nomVar)) {
|
||||
return sprintf("%09s", substr($SIRET,0,9)).chr(160).substr($SIRET,-5);
|
||||
}
|
||||
// --- Formattage variable SIRENMERE
|
||||
elseif (preg_match('/^SIRENMERE$/', $nomVar)) {
|
||||
return sprintf("%09s", $SIRENMERE);
|
||||
}
|
||||
// --- Formattage variable SIRETMERE
|
||||
elseif (preg_match('/^SIRETMERE$/', $nomVar)) {
|
||||
return sprintf("%09s", substr($SIRETMERE,0,9)).chr(160).substr($SIRETMERE,-5);
|
||||
}
|
||||
// --- Formattage variable SIRENFILLE
|
||||
elseif (preg_match('/^SIRENFILLE$/', $nomVar)) {
|
||||
return sprintf("%09s", $SIRENFILLE);
|
||||
}
|
||||
// --- Formattage variable SIRETFILLE
|
||||
elseif (preg_match('/^SIRETFILLE$/', $nomVar)) {
|
||||
return sprintf("%09s", substr($SIRETFILLE,0,9)).chr(160).substr($SIRETFILLE,-5);
|
||||
}
|
||||
// --- Formattage variable TVAINTRA
|
||||
elseif (preg_match('/^TVAINTRA$/', $nomVar)) {
|
||||
return substr($TVAINTRA,0,2).' '.substr($TVAINTRA,2,2).' '.substr($TVAINTRA,4);
|
||||
}
|
||||
// --- Formattage variable DELAIPAY
|
||||
elseif (preg_match('/^DELAIPAY$/', $nomVar)) {
|
||||
return number_format($DELAIPAY,0,',',' ').' jours';
|
||||
}
|
||||
// --- Formattage variable DELAIPAYp
|
||||
elseif (preg_match('/^DELAIPAYp$/', $nomVar)) {
|
||||
return number_format($DELAIPAYp,0,',',' ').' jours';
|
||||
}
|
||||
// --- Formattage variable SCOREDEFTAUX
|
||||
elseif (preg_match('/^SCOREDEFTAUX$/', $nomVar)) {
|
||||
if ($SCOREDEFTAUX>=5) return round($SCOREDEFTAUX).' %';
|
||||
else return number_format($SCOREDEFTAUX,3,',',' ').' %';
|
||||
else return number_format($SCOREDEFTAUX,3,',',' ').' %';
|
||||
}
|
||||
// --- Formattage variable BILANANNEE
|
||||
elseif (preg_match('/BILANANNEE$/', $nomVar)) {
|
||||
return $BILANANNEE;
|
||||
}
|
||||
@ -482,6 +516,7 @@ function format($matches)
|
||||
$strRetour='$'.$matches[1];
|
||||
$strUnite='';
|
||||
|
||||
// --- Moyenne
|
||||
if (preg_match("/\{MOY\(R\[(\d+)\],(\d+)\)/Ui", $strRetour, $matches2)) {
|
||||
$tmpRatioId=$matches2[1]*1;
|
||||
$tmpAnnees =$matches2[2]*1;
|
||||
@ -494,9 +529,13 @@ function format($matches)
|
||||
elseif ($iMoy==4) $valeur+=$Rp4[$tmpRatioId];
|
||||
}
|
||||
return formatRatio('', $valeur/$tmpAnnees, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']));
|
||||
} elseif (preg_match('/\{GRAPH\((.*)\)\}/Ui', $strRetour, $matches2)) {
|
||||
}
|
||||
// --- Graphique
|
||||
elseif (preg_match('/\{GRAPH\((.*)\)\}/Ui', $strRetour, $matches2)) {
|
||||
return $matches[1];
|
||||
} elseif (preg_match('/\$\{(\+|!|)(Rp4|Rp3|Rp2|Rp|Rs|Rsp|Rap|Ra|Rdiff|Revolp2|Revolp|Revol|R|regR)\[(\d+)\]\}/Ui', $strRetour, $matches2)) {
|
||||
}
|
||||
// --- Ratios
|
||||
elseif (preg_match('/\$\{(\+|!|)(Rp4|Rp3|Rp2|Rp|Rs|Rsp|Rap|Ra|Rdiff|Revolp2|Revolp|Revol|R|regR)\[(\d+)\]\}/Ui', $strRetour, $matches2)) {
|
||||
$tmpRatio=$matches2[2];
|
||||
$tmpRatioId=$matches2[3]*1;
|
||||
if ($matches2[1]=='+') $forceSigne='+';
|
||||
@ -539,11 +578,14 @@ function format($matches)
|
||||
elseif ($tmpRatio=='regR')
|
||||
return formatRatio($regR, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
|
||||
|
||||
} elseif (preg_match('/\$\{(.*)\((\d+)\)\}/Ui', $strRetour, $matches2)) {
|
||||
}
|
||||
// --- Valeur
|
||||
elseif (preg_match('/\$\{(.*)\((\d+)\)\}/Ui', $strRetour, $matches2)) {
|
||||
$tmpVar=$matches2[1];
|
||||
$tmpVarLen=$matches2[2]*1;
|
||||
return formatValeur('$'.$tmpVar, $tmpVarLen);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
return formatValeur($strRetour);
|
||||
}
|
||||
|
||||
@ -1120,15 +1162,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
$CABILAN=$R[6];
|
||||
|
||||
/**
|
||||
* Tableau des ratios secteurs
|
||||
* Requete BDD
|
||||
*/
|
||||
// Ratios Secteur en fonction des dernières années de bilans
|
||||
$MARCHE=$MARCHEp=$MARCHEVOL=$MARCHEPART=$MARCHEPARTp=$MARCHEPARTEVOL='';
|
||||
$MARCHESAL=$MARCHESALp=$MARCHENBENT=$MARCHENBENTp='';
|
||||
$tabRatiosSecteurs=$Rtot=array();
|
||||
if (count($tabAnnees)>0)
|
||||
{
|
||||
if (count($tabAnnees)>0) {
|
||||
if (strlen($naf)>4) $strNaf=" AND naf5='$naf' ";
|
||||
else $strNaf=" AND naf4='$naf' ";
|
||||
if (count($tabAnnees)>2) $strAnnees='AND annee BETWEEN '.$tabAnnees[2].' AND '.$tabAnnees[0];
|
||||
@ -1191,10 +1229,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
}
|
||||
}
|
||||
// Pour la comparaison
|
||||
/** @todo
|
||||
//MARCHEVOLUMEVOL // Le % d'évolution du volume
|
||||
**/
|
||||
|
||||
$MARCHE=$Rtot[0][5]; // Taille du marché en ME
|
||||
$MARCHEp=$Rtot[1][5]; // Taille du marché précédent en ME
|
||||
@ -1217,7 +1251,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
$timer['regression']=microtime(true);
|
||||
|
||||
/** Détection fine de l'état de fermeture éventuel à l'INSEE **/
|
||||
// --- Détection fine de l'état de fermeture éventuel à l'INSEE
|
||||
$tabTmp = $iDb->select('insee.insee_even', 'insEVE, insDATEVE',
|
||||
"insSIREN=$siren AND insEVE IN ('400','410','420','425','MPF','MNP') ORDER BY insDATEVE DESC",
|
||||
INDISCORE_DEBUG, MYSQL_ASSOC);
|
||||
@ -1225,22 +1259,28 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$tabModif=$tabTmp[0];
|
||||
$ETATINSEE_MMAA=substr($tabModif['insDATEVE'],0,7);
|
||||
switch(''.$tabModif['insEVE']) {
|
||||
case '400': // Suppression d'un double
|
||||
$ACTIFINSEE=false; // On force la désactivation
|
||||
// Suppression d'un double
|
||||
case '400':
|
||||
$ACTIFINSEE=false;
|
||||
$ETATINSEE='SUPD';
|
||||
break;
|
||||
case '410': // Cessation juridique de l'entreprise
|
||||
// Cessation juridique de l'entreprise
|
||||
case '410':
|
||||
if (!$ACTIFINSEE) $ETATINSEE='JURF';
|
||||
break;
|
||||
case '420': // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
|
||||
case '425': // Absence d'activité d'une entreprise suite à une mise à jour au répertoire //
|
||||
// Absence d'activité de l'entreprise (cessation économique de l.entreprise)
|
||||
case '420':
|
||||
// Absence d'activité d'une entreprise suite à une mise à jour au répertoire
|
||||
case '425':
|
||||
if (!$ACTIFINSEE) $ETATINSEE='ECOF';
|
||||
break;
|
||||
case 'MPF': // Présumé Fermé
|
||||
$ETATINSEE='PFER'; // Présumé fermé
|
||||
// Présumé Fermé
|
||||
case 'MPF':
|
||||
$ETATINSEE='PFER';
|
||||
break;
|
||||
case 'MNP': // NPAI ?
|
||||
$ETATINSEE='NPAI'; // Au moins un NPAI
|
||||
// NPAI
|
||||
case 'MNP':
|
||||
$ETATINSEE='NPAI';
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1368,7 +1408,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$nmp3=$tabBilan[3]['DUREE_MOIS'];
|
||||
$nmp4
|
||||
**/
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Bilans manquant", "$lastDepot, $nbMoisMax, ".$depot['dateEffet'].", $ANNONCEBODCMANQDATE");
|
||||
$ANNONCEBODCMANQDATE=date('Y-m-d', mktime(0, 0, 0, $classWdate->dateT('Y-m-d', 'm', $depot['dateEffet']), $classWdate->dateT('Y-m-d', 'd', $depot['dateEffet']), $classWdate->dateT('Y-m-d', 'Y', $depot['dateEffet'])+1));
|
||||
$ANNONCEBODCMANQ_AA=substr($ANNONCEBODCMANQDATE,0,4);
|
||||
}
|
||||
@ -1381,9 +1420,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
|
||||
// Publications régulieres et 12 mois identiques
|
||||
if ( ($nbMoisBilDate+1) == $nbMoisBilCumul
|
||||
|| $nbMoisBilDate == $nbMoisBilCumul
|
||||
|| ($nbMoisBilDate-1) == $nbMoisBilCumul ) {
|
||||
if ( ($nbMoisBilDate+1) == $nbMoisBilCumul || $nbMoisBilDate == $nbMoisBilCumul || ($nbMoisBilDate-1) == $nbMoisBilCumul ) {
|
||||
$ANNONCEBODCREGUL = 1;
|
||||
// Annonces BODACC de changement de date d'exercice
|
||||
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2303));
|
||||
@ -1991,7 +2028,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$RJMERE=$RJFILLE=false;
|
||||
$SITUACT=$NICMERE=$SIRENMERE=$SIRETMERE=$NOMMERE='';
|
||||
|
||||
$lienM = new MLiens2($siren, 'siren');
|
||||
$lienM = new SdMetier_Liens_Base($siren, 'siren');
|
||||
|
||||
//Actionnaire
|
||||
$tabA = $lienM->getActionnaires(null, true);
|
||||
@ -2057,9 +2094,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$timer['participations']=microtime(true);
|
||||
|
||||
$tabBil=array();
|
||||
if ($NBBILAN == 0)
|
||||
{
|
||||
$noteSolvabilite=round($noteStructure)*5; // La note finale est sur 100
|
||||
if ($NBBILAN == 0) {
|
||||
$noteSolvabilite = round($noteStructure) * 5; // La note finale est sur 100
|
||||
/** Pas de bilan mais capital elevé **/
|
||||
if ($ACTIFRNCS && $FJURRNCS1>1 && $FJURRNCS1<7) {
|
||||
if ($CAPITAL < 9000) $NOTECAP20=3;
|
||||
@ -2075,8 +2111,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
else $NOTECAP20=19;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
$numBil = $i = 0;
|
||||
foreach ($tabBilan as $item)
|
||||
{
|
||||
@ -2261,7 +2296,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
for($iTmp=1; $iTmp<7; $iTmp++)
|
||||
$strNote.=$tabTmp[$iTmp]." : ".$numerateur[$iTmp].'/'.$denominateur[$iTmp].'='.$note[$iTmp].' (Borné à '.$noteB[$iTmp].')'.EOL;
|
||||
$strNote.="Note Financière=$noteFin Conan Holder=$scoreConanH Afdcc1=$scoreAfdcc1 Afdcc2=$scoreAfdcc2note (Classe $scoreAfdcc2) Z=$scoreZ CCF=$valeurCCF ($pDef36) Altman=$scoreAltman AltmanCote=$scoreAltmanB".EOL.print_r($tabInfosNotation,true);
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Structure Score Financier", $strNote);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2285,7 +2319,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
// Au cas ou !
|
||||
if ($noteSolvabilite>90) $noteSolvabilite=90;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Debug Solva1=$noteSolvabilite/100", '...');
|
||||
|
||||
$SCORECONF=100;
|
||||
|
||||
@ -2355,7 +2388,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$timer['getDirigeants'] = microtime(true);
|
||||
//debugLog('I', 'SCOREDIR = '. print_r($dirs,1), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$DIR_NB=$NBDIRLIENS=$NBDIRSCI=$NBDIRSCIADR=0;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeants", print_r($dirs, true));
|
||||
if (count($dirs) > 0 ) {
|
||||
foreach ($dirs as $nb => $dir)
|
||||
{
|
||||
@ -2391,7 +2423,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
[Ville] => LA MEIGNANNE
|
||||
*/
|
||||
$nbFctDirSciAdr++;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeant $DIR_NB", print_r($tabDiri, true).EOL.print_r($tabIdentite,true));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2407,8 +2438,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
// Nombre de SCI maximum dirigé par un des dirigeants à l'adresse (inclus dans les autres NBDIR...)
|
||||
if ($nbFctDirSciAdr>$NBDIRSCIADR) $NBDIRSCIADR=$nbFctDirSciAdr;
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeant $DIR_NB", print_r($tabDir, true));
|
||||
}
|
||||
|
||||
switch ($dir['Cinf']) {
|
||||
@ -2462,36 +2491,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
$timer['traitementDirigeants'] = microtime(true);
|
||||
|
||||
/** On vérifie s'il y a un cuteoff
|
||||
* @todo Attention, si modif après dateInsert/dateUpdate (procol, impayé, etc...) ne plus
|
||||
* prendre en compte le cuteoff
|
||||
*
|
||||
**/
|
||||
$ENQUETE='';
|
||||
$tabTmp=$iDb->select('jo.scores_cutoff', 'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate', "siren=$siren", INDISCORE_DEBUG, MYSQL_ASSOC);
|
||||
$timer['scores_cutoff'] = microtime(true);
|
||||
if (isset($tabTmp[0]['encours'])) {
|
||||
if($tabTmp[0]['dateUpdate']>$tabTmp[0]['dateInsert']) {
|
||||
$dateMaj=$tabTmp[0]['dateUpdate'];
|
||||
} else {
|
||||
$dateMaj=$tabTmp[0]['dateInsert'];
|
||||
}
|
||||
if ($classWdate->nbMoisEntre($dateMaj, date('Ymd'))<=$ENQUETELIM) {
|
||||
$encoursForce=$tabTmp[0]['encours'];
|
||||
if ($tabTmp[0]['scoreConf']<>null) $SCORECONF=$tabTmp[0]['scoreConf'];
|
||||
if ($SCORECONF>$ENQUETEMAXI) $SCORECONF=$ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreDir'] <>null) $SCOREDIRI=$tabTmp[0]['scoreDir'];
|
||||
if ($SCOREDIRI>$ENQUETEMAXI) $SCOREDIRI=$ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreSolv']<>null) $ENQUETE=$noteSolvabilite=$tabTmp[0]['scoreSolv'];
|
||||
if ($ENQUETE>$ENQUETEMAXI) $ENQUETE=$ENQUETEMAXI;
|
||||
// Permet de supprimer la prise en compte de la procol
|
||||
if ($ENQUETE>0) {
|
||||
$tabIdentite['SituationJuridique']=$ANNONCEPC='';
|
||||
$ANNONCELJ=$ANNONCERJ=$ANNONCESV=$PLANMODIF=$PLAN=$ANNONCEPC_OBS=$ELIMINE=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Affichage des informations de paiement dans le score **/
|
||||
$COTEOK_MMAA=$IMPAYE_MMAA=$PRIVILEGES_MMAA=$RISQUEGROUPE_MMAA='';
|
||||
$DEFAUT_MMAA=$LCASSUR_MMAA=$RISQUEIMPAYE_MMAA=$CSFACTO_MMAA='';
|
||||
@ -2509,7 +2508,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$DELAIPAY=$iFacto->DELAIPAY;
|
||||
$DELAIPAYp=$iFacto->DELAIPAYp;
|
||||
$DELAIPAY_MMAA=$iFacto->DELAIPAY_MMAA;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Facto", print_r($infoFacto, true).EOL."Profil payeur='$libProfilPayeur'".EOL);
|
||||
if (isset($infoFacto[0])) {
|
||||
$nivRisquePaiement=$infoFacto[0]['risque'];
|
||||
$MODIFPAIDATE=$infoFacto[0]['DateEven'];
|
||||
@ -2686,9 +2684,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
else $noteSolvMax=56;
|
||||
}
|
||||
|
||||
//ICI//
|
||||
//$noteSolvabilite
|
||||
|
||||
if ($tabIdentite['SituationJuridique']=='PL') {
|
||||
$SCOREDIRI-=20;
|
||||
$SCORECONF+=10;
|
||||
@ -2701,69 +2696,87 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if ($noteSolvabilite>$noteSolvMax) $noteSolvabilite=$noteSolvMax;
|
||||
$timer['privileges']=microtime(true);
|
||||
|
||||
/**/
|
||||
$MODIFDERDATE=$MODIFINSEEDATE;
|
||||
// Rcs
|
||||
if ($MODIFRNCSDATE>$MODIFDERDATE) $MODIFDERDATE=$MODIFRNCSDATE;
|
||||
// Annonces
|
||||
if ($ANNONCEDERDATE>$MODIFDERDATE) $MODIFDERDATE=$ANNONCEDERDATE;
|
||||
// Bilans
|
||||
/** @todo if ($MODIFBILDATE>$MODIFDERDATE) $MODIFDERDATE=$MODIFBILDATE;**/
|
||||
// Paiements
|
||||
if ($MODIFPAIDATE>$MODIFDERDATE) $MODIFDERDATE=$MODIFPAIDATE;
|
||||
|
||||
/** Commentaire Dirigeance **/
|
||||
if ($SCOREDIRI>=70)
|
||||
$analyseDir='L\'étude de la dirigeance ne relève aucun problème.';
|
||||
elseif ($SCOREDIRI>=40)
|
||||
$analyseDir='L\'étude de la dirigeance retient notre attention.';
|
||||
elseif ($SCOREDIRI>0)
|
||||
$analyseDir='L\'étude de la dirigeance attire toute notre attention.';
|
||||
else {
|
||||
$analyseDir='L\'étude de la dirigeance révèle des anomalies.';
|
||||
$SCOREDIRI=0;
|
||||
$MODIFDERDATE = $MODIFINSEEDATE;
|
||||
if ($MODIFPAIDATE > $MODIFDERDATE) $MODIFDERDATE = $MODIFPAIDATE;
|
||||
// Rcs
|
||||
if ($MODIFRNCSDATE > $MODIFDERDATE) $MODIFDERDATE = $MODIFRNCSDATE;
|
||||
// Annonces
|
||||
if ($ANNONCEDERDATE > $MODIFDERDATE) $MODIFDERDATE = $ANNONCEDERDATE;
|
||||
|
||||
// --- Cut Off
|
||||
$ENQUETE='';
|
||||
$tabTmp=$iDb->select('jo.scores_cutoff',
|
||||
'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
|
||||
"siren=$siren", INDISCORE_DEBUG, MYSQL_ASSOC);
|
||||
$timer['scores_cutoff'] = microtime(true);
|
||||
if (count($tabTmp) > 0) {
|
||||
if($tabTmp[0]['dateUpdate']>$tabTmp[0]['dateInsert']) {
|
||||
$dateMaj=$tabTmp[0]['dateUpdate'];
|
||||
} else {
|
||||
$dateMaj=$tabTmp[0]['dateInsert'];
|
||||
}
|
||||
if ($classWdate->nbMoisEntre($dateMaj, date('Ymd'))<=$ENQUETELIM) {
|
||||
$encoursForce=$tabTmp[0]['encours'];
|
||||
if ($tabTmp[0]['scoreConf']<>null) $SCORECONF=$tabTmp[0]['scoreConf'];
|
||||
if ($SCORECONF>$ENQUETEMAXI) $SCORECONF=$ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreDir'] <>null) $SCOREDIRI=$tabTmp[0]['scoreDir'];
|
||||
if ($SCOREDIRI>$ENQUETEMAXI) $SCOREDIRI=$ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreSolv']<>null) $ENQUETE=$noteSolvabilite=$tabTmp[0]['scoreSolv'];
|
||||
if ($ENQUETE>$ENQUETEMAXI) $ENQUETE=$ENQUETEMAXI;
|
||||
// Permet de supprimer la prise en compte de la procol
|
||||
if ($ENQUETE>0) {
|
||||
$tabIdentite['SituationJuridique']=$ANNONCEPC='';
|
||||
$ANNONCELJ=$ANNONCERJ=$ANNONCESV=$PLANMODIF=$PLAN=$ANNONCEPC_OBS=$ELIMINE=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Commentaire Conformité **/
|
||||
if ($tabIdentite['SituationJuridique']=='P'){
|
||||
$noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
|
||||
$analyseConf='L\'entreprise est en procédure collective';
|
||||
} elseif ($tabIdentite['SituationJuridique']=='D'){
|
||||
$noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
|
||||
$analyseConf='L\'entreprise est dissoute';
|
||||
} elseif ($tabIdentite['Actif']==0){
|
||||
$noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
|
||||
$analyseConf='L\'entreprise n\'est pas en activité';
|
||||
} elseif ($SCORECONF>=70)
|
||||
$analyseConf='L\'analyse de la conformité est correcte.';
|
||||
elseif ($SCORECONF>=40)
|
||||
$analyseConf='L\'analyse de la conformité est acceptable.';
|
||||
elseif ($SCORECONF>0)
|
||||
$analyseConf='L\'analyse de la conformité est sensible.';
|
||||
else {
|
||||
$analyseConf='L\'analyse de la conformité est très sensible.';
|
||||
$SCORECONF=0;
|
||||
}
|
||||
// --- Commentaire Dirigeance
|
||||
if ($SCOREDIRI>=70) {
|
||||
$analyseDir="L'étude de la dirigeance ne relève aucun problème.";
|
||||
} elseif ($SCOREDIRI>=40) {
|
||||
$analyseDir="L'étude de la dirigeance retient notre attention.";
|
||||
} elseif ($SCOREDIRI>0) {
|
||||
$analyseDir="L'étude de la dirigeance attire toute notre attention.";
|
||||
} else {
|
||||
$analyseDir="L'étude de la dirigeance révèle des anomalies.";
|
||||
$SCOREDIRI=0;
|
||||
}
|
||||
|
||||
/** Commentaire Solvabilité **/
|
||||
if ($noteFin>0) $noteSolv=($noteStructure+$noteFin)/2;
|
||||
else $noteSolv=($noteStructure+$noteFin)/5;
|
||||
if ($noteSolv>=15) $analyseSolv='Excellente';
|
||||
elseif ($noteSolv>=12) $analyseSolv='Bonne';
|
||||
elseif ($noteSolv>=10) $analyseSolv='Correcte';
|
||||
elseif ($noteSolv>=8) $analyseSolv='Moyenne';
|
||||
elseif ($noteSolv>=6) $analyseSolv='Délicate';
|
||||
else $analyseSolv='Inquiétante';
|
||||
if ($noteSolvabilite>=40 && $analyseSolv=='Inquiétante') $analyseSolv='Correcte';
|
||||
// --- Commentaire Conformité
|
||||
if ($tabIdentite['SituationJuridique']=='P') {
|
||||
$noteSolvabilite = $SCORECONF = $SCOREDIRI = 0;
|
||||
$analyseConf = "L'entreprise est en procédure collective";
|
||||
} elseif ($tabIdentite['SituationJuridique']=='D') {
|
||||
$noteSolvabilite = $SCORECONF = $SCOREDIRI = 0;
|
||||
$analyseConf = "L'entreprise est dissoute";
|
||||
} elseif ($tabIdentite['Actif']==0) {
|
||||
$noteSolvabilite = $SCORECONF = $SCOREDIRI = 0;
|
||||
$analyseConf = "L'entreprise n'est pas en activité";
|
||||
} elseif ($SCORECONF>=70) {
|
||||
$analyseConf = "L'analyse de la conformité est correcte.";
|
||||
} elseif ($SCORECONF>=40) {
|
||||
$analyseConf = "L'analyse de la conformité est acceptable.";
|
||||
} elseif ($SCORECONF>0) {
|
||||
$analyseConf = "L'analyse de la conformité est sensible.";
|
||||
} else {
|
||||
$analyseConf = "L'analyse de la conformité est très sensible.";
|
||||
$SCORECONF = 0;
|
||||
}
|
||||
|
||||
/** CA Moyen par salarié pour un secteur donné
|
||||
**/
|
||||
/*$tabTmp=$iDb->select('jo.ratios_secteurs', 'id, naf5, annee, SUM(montant), SUM(nombre), SUM(montant)/SUM(nombre) AS moyenne', "naf5='$naf' AND id=267 AND ANNEE>(SELECT MAX(annee) FROM ratios_secteurs WHERE naf5='$naf' AND id=267)-2 GROUP BY id, naf5", true, MYSQL_ASSOC);
|
||||
$caSecteur=round($tabTmp[0]['moyenne']*1000);
|
||||
// Encours moyen secteur * nb salariés
|
||||
if ($EFFECTIF>0) $CAESTIME=$caSecteur*$EFFECTIF;
|
||||
else $CAESTIME=$caSecteur;
|
||||
*/
|
||||
// --- Commentaire Solvabilité
|
||||
if ($noteFin>0) $noteSolv=($noteStructure+$noteFin)/2;
|
||||
else $noteSolv=($noteStructure+$noteFin)/5;
|
||||
if ($noteSolv>=15) $analyseSolv = 'Excellente';
|
||||
elseif ($noteSolv>=12) $analyseSolv = 'Bonne';
|
||||
elseif ($noteSolv>=10) $analyseSolv = 'Correcte';
|
||||
elseif ($noteSolv>=8) $analyseSolv = 'Moyenne';
|
||||
elseif ($noteSolv>=6) $analyseSolv = 'Délicate';
|
||||
else $analyseSolv = 'Inquiétante';
|
||||
if ($noteSolvabilite>=40 && $analyseSolv=='Inquiétante') $analyseSolv = 'Correcte';
|
||||
|
||||
// --- CA Moyen par salarié pour un secteur donné
|
||||
$CAESTIME = $iInsee->getCAnafEffectif($naf, $EFFECTIF);
|
||||
|
||||
if ($CABILAN>0) $CABIOUES=$CABILAN;
|
||||
@ -2774,45 +2787,45 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
// Ou à l'encours ini CS car pas d'informations négatives
|
||||
if ($encoursCS>$encoursIni) $encoursIni=$encoursCS;
|
||||
|
||||
$ENCOURS=$encoursIni;
|
||||
$ENCOURS = $encoursIni;
|
||||
$encoursEstime=0;
|
||||
$timer['camoyen']=microtime(true);
|
||||
|
||||
// L'encours de trésorerie prend 1/6è de 1/12è de la Trésorerie
|
||||
if ($R[63]>0) $encoursTR=$R[63]/72;
|
||||
if ($R[63] > 0) {
|
||||
$encoursTR=$R[63]/72;
|
||||
}
|
||||
|
||||
if ($noteSolvabilite>=40) {
|
||||
if ($noteSolvabilite >= 40) {
|
||||
if ($HOLDING) {
|
||||
// Cas des Holding
|
||||
$ENCOURS=$tabIdentite['Capital']/12;
|
||||
$ENCOURS = $tabIdentite['Capital'] / 12;
|
||||
if (@$tabBil[0]['FondsPr']>0) {
|
||||
$encoursFP=(($tabBil[0]['FondsPr'])/72);
|
||||
if ($encoursFP>$ENCOURS) $ENCOURS=$encoursFP;
|
||||
} elseif ($encoursTR>$ENCOURS) $ENCOURS=$encoursTR;
|
||||
|
||||
$encoursFP = $tabBil[0]['FondsPr'] / 72;
|
||||
if ($encoursFP > $ENCOURS) {
|
||||
$ENCOURS=$encoursFP;
|
||||
}
|
||||
} elseif ($encoursTR>$ENCOURS) {
|
||||
$ENCOURS=$encoursTR;
|
||||
}
|
||||
} elseif (isset($tabBil[0])) {
|
||||
/** SI BILAN : L'encours théorique de base est plafonnée au CA/36
|
||||
**/
|
||||
// SI BILAN : L'encours théorique de base est plafonnée au CA/36
|
||||
if ($tabBil[0]['CA']>0) $ENCOURS=(($tabBil[0]['CA'])/36);
|
||||
if ($encoursCS>$ENCOURS) $ENCOURS=$encoursCS;
|
||||
/** @todo Gérer les encours pour les sociétés avec CA ridicule et FP énormes **/
|
||||
|
||||
/** Plafond à 25% des fonds propres ou à 1000 ? si FP<0
|
||||
**/
|
||||
// Plafond à 25% des fonds propres ou à 1000 euros si FP<0
|
||||
if ($tabBil[0]['FondsPr']>0) $plafond=$tabBil[0]['FondsPr']/4;
|
||||
elseif ($R[63]>0) $plafond=$R[63]/12;
|
||||
|
||||
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
|
||||
|
||||
} else {
|
||||
/** Détermination de l'encours sans bilans
|
||||
**/
|
||||
// Encours estimé = CA Estimé / 72
|
||||
// Encours estimé = CA Estimé / 72 - sans bilans
|
||||
if ($CAESTIME>0) $encoursEstime=$CAESTIME/36;
|
||||
}
|
||||
|
||||
/** Plafond des encours en fonction de la note / 100
|
||||
**/
|
||||
// Plafond des encours en fonction de la note / 100
|
||||
if ($noteSolvabilite> 65) $plafond=500000;
|
||||
elseif ($noteSolvabilite> 60) $plafond=350000;
|
||||
elseif ($noteSolvabilite> 55) $plafond=250000;
|
||||
@ -2831,9 +2844,9 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
// Si l'entreprise à moins de 12 mois, on divise son encours estimé par 2
|
||||
if ($encoursEstime>0) {
|
||||
$dateCre=$tabIdentite['DateCreaEn']*1;
|
||||
if ($dateCre==0 || ( ($tabIdentite['DateCreaEt']*1)>0 &&
|
||||
$dateCre>$tabIdentite['DateCreaEt']*1) )
|
||||
if ($dateCre==0 || ( ($tabIdentite['DateCreaEt']*1)>0 && $dateCre>$tabIdentite['DateCreaEt']*1) ) {
|
||||
$dateCre=$tabIdentite['DateCreaEt']*1;
|
||||
}
|
||||
if ($dateCre+10000>date('Ymd')*1) {
|
||||
$encoursEstime=$encoursEstime/2;
|
||||
$libEncours='Encours limité étant donné la jeunesse de la structure.';
|
||||
@ -2841,12 +2854,13 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
|
||||
// Si encours sans bilan, l'encours donné est la moyenne de l'encours capital + l'encours estimé
|
||||
if ($encoursEstime>0 && $ENCOURS>0)
|
||||
$ENCOURS=($ENCOURS+$encoursEstime)/2;
|
||||
if ($encoursEstime > 0 && $ENCOURS > 0) {
|
||||
$ENCOURS = ($ENCOURS + $encoursEstime) / 2;
|
||||
}
|
||||
// Si l'encours est forcé, on en tiens compte !
|
||||
if ($encoursForce<>NULL)
|
||||
$ENCOURS=$encoursForce;
|
||||
|
||||
if ($encoursForce != null) {
|
||||
$ENCOURS = $encoursForce;
|
||||
}
|
||||
switch ($FJUR2) {
|
||||
case 11:
|
||||
case 12:
|
||||
@ -3040,7 +3054,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if ($ANNONCEPC<>'') {
|
||||
// Intervenants
|
||||
$tabInter = $iRncs->getIntervenants($SIREN);
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : INTERVENANTS", print_r($tabInter,true));
|
||||
$ANNONCEPC_INT1_TIT=$tabInter[0]['admfonction']; // Titre de l'intervenant
|
||||
$ANNONCEPC_INT1=$tabInter[0]['admnom']; // NOM Prénom et adresse complète
|
||||
$ANNONCEPC_INT2_TIT=$tabInter[1]['admfonction'];
|
||||
@ -3171,9 +3184,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$RISQUEACTBASSIN[]=$tabBassins[$tabArret['codeBassin']]; // Libellé risque lié à la localisation l'un des etablissements (INNONDATION, TREMBLEMENT DE TERRE etc..)
|
||||
}
|
||||
$RISQUEACTBASSIN=trim(implode(', ', $RISQUEACTBASSIN)); // Le ou les libellés des bassins hydrographiques concernés
|
||||
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Bassins", print_r($tabTmp, true).EOL.
|
||||
$strCom.EOL.
|
||||
print_r($tabBassins, true).EOL);*/
|
||||
$timer['risquesBassins']=microtime(true);
|
||||
|
||||
/** INFOS Orias **/
|
||||
@ -3194,14 +3204,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
$timer['orias']=microtime(true);
|
||||
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace 1",'');
|
||||
|
||||
/** Liste des marques **/
|
||||
$MARQUENB_INT=0; // Nombre de marques déposées à l'international
|
||||
$MARQUENB_EUR=0; // Nombre de marques déposées en EUROPE
|
||||
$MARQUENB_FR=0; // Nombre de marques déposées en FRANCE
|
||||
$tabMarques['WW']=$tabMarques['EU']=$tabMarques['FR']=array();
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Marques", print_r($ret,true));
|
||||
$iMarque = new MMarques($iDb);
|
||||
$ret = $iMarque->getMarques($siren);
|
||||
if ($ret!==false && count($ret)>0) {
|
||||
@ -3229,7 +3236,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$timer['marques']=microtime(true);
|
||||
|
||||
/** Marchés publics **/
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Marchés Publiques", print_r($ret,true));
|
||||
$MARCHEPUBLIC3_NB=0; // Nombre de marchés public / 3 dernières années
|
||||
$MARCHEPUBLIC3_MT=0; // Montant cumulé des marchés public / 3 dernières années
|
||||
$MARCHEPUBLICDER_OBJ=''; // Objet du dernier MP remporté
|
||||
@ -3469,8 +3475,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if ($tabTmp)
|
||||
$ACTIVREG=$tabTmp['libActivite']; // Libellé de l'activité règlementé
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace 3",'');
|
||||
|
||||
$NBSUIVICLI=0; // Nombre de clients suivants cette entreprise
|
||||
$NBSOCSEC=0; // Nombre de siren composants les ratios secteurs
|
||||
$NBSOCSECPUB=0; // Nombre de siren du secteurs devant publier
|
||||
@ -3636,14 +3640,12 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
} else
|
||||
$strTmp='ERREUR DE FORMULE LORS DE LA GENERATION DU COMMENTAIRE no '.$idxC;
|
||||
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace10,$idxC=$strTmp2", 'ici');
|
||||
|
||||
//@eval('\$strTmp="'.$strTmp2.'";');
|
||||
$strTmp=eval("return \"$strTmp2\";");
|
||||
|
||||
$tabComment[$idxC]=preg_replace('/<\/i>(?:<br\/>)<\/i>/i','</i>', $debLigne.prepareString($strTmp).$finLigne);//." ($idxC, $ordre)";
|
||||
if (substr($strTmp,0,17)=='ERREUR DE FORMULE') {
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : $strTmp","Formules : ".EOL.$strTmp2);
|
||||
|
||||
}
|
||||
// echo " ($ordre)<br/>";
|
||||
$tableauPre=$tableau;
|
||||
@ -3653,7 +3655,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if ($tableau) $tabComment[$idxC].='</table>';
|
||||
|
||||
$timer['finIndiscore']=microtime(true);
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace20", 'ici');
|
||||
|
||||
} // Fin Génération des commentaires
|
||||
|
||||
@ -3711,7 +3712,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$duree=round($time-$timeDeb,3);
|
||||
$strTime.="---------------------\nTOTAL : $duree secondes\n";
|
||||
file_put_contents('time.log', "Indiscore sur $siren : Durées ".$strTime.EOL.$strNote.EOL.$variables.EOL.print_r($tabRatiosInfos,true));
|
||||
//sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com', "Indiscore sur $siren : Durées ".ENV, $strTime.EOL.$strNote.EOL.$variables.EOL.print_r($tabRatiosInfos,true));
|
||||
}
|
||||
|
||||
// EntActiveRCS
|
||||
@ -3870,7 +3870,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
else $tabRet['TendanceIndiscore']='Stable';
|
||||
}
|
||||
|
||||
//Scores identique au précedent, simple mise à jour
|
||||
// --- Scores identique au précedent, simple mise à jour
|
||||
if ($indiScore==$indiScorePre && $ENCOURS==$encoursPre && $dateScore<>0 )
|
||||
{
|
||||
$tabUpdate2 = array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs);
|
||||
@ -3879,7 +3879,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Calcul de l'effectif réel
|
||||
// --- Calcul de l'effectif réel
|
||||
$EffectifEn = $tabIdentite['Effectif'];
|
||||
$bilanAgeMax = 3 * 12; //Age maximum du dernier bilan en mois
|
||||
if (!empty($tabIdentite['bilanDate']) && intval($tabIdentite['bilanYP'])>0 ) {
|
||||
|
@ -992,7 +992,7 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
e.actif,
|
||||
e.ape_etab,
|
||||
e.ape_entrep
|
||||
FROM dirigeants d, etablissements e LEFT OUTER JOIN tabPays ON codePaysInsee = IF(adr_dep=99,adr_com,null), bodacc_fonctions l
|
||||
FROM jo.dirigeants d, jo.etablissements e LEFT OUTER JOIN jo.tabPays ON codePaysInsee = IF(adr_dep=99,adr_com,null), jo.bodacc_fonctions l
|
||||
WHERE d.fonction_code=l.codeFct AND d.id IN (";
|
||||
|
||||
$i = 0;
|
||||
@ -1002,7 +1002,7 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
$i++;
|
||||
}
|
||||
$requeteDB .= ") AND e.id = (";
|
||||
$requeteDB .= "SELECT tmp.id FROM etablissements tmp ";
|
||||
$requeteDB .= "SELECT tmp.id FROM jo.etablissements tmp ";
|
||||
$requeteDB .= "WHERE tmp.siren=d.siren ORDER by tmp.actif DESC, tmp.siege DESC LIMIT 1";
|
||||
$requeteDB .= ") ORDER BY e.actif DESC, e.siege DESC, e.rang DESC";
|
||||
|
||||
@ -1012,6 +1012,10 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
$resDB = $gDatabaseJO->query($requeteDB);
|
||||
|
||||
if (!$resDB) {
|
||||
file_put_contents(LOG_PATH . '/mysql.log', $gDatabaseJO->error, FILE_APPEND);
|
||||
}
|
||||
|
||||
// Reponse
|
||||
$ligneDir = array();
|
||||
|
||||
|
542
library/SdMetier/Liens/Base.php
Normal file
542
library/SdMetier/Liens/Base.php
Normal file
@ -0,0 +1,542 @@
|
||||
<?php
|
||||
class SdMetier_Liens_Base
|
||||
{
|
||||
/**
|
||||
* Company Reference id
|
||||
* @var int
|
||||
*/
|
||||
protected $idRef = null;
|
||||
|
||||
/**
|
||||
* Company SIREN
|
||||
* @var string
|
||||
*/
|
||||
protected $siren = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Db_Adapter_Abstract
|
||||
*/
|
||||
protected $db;
|
||||
|
||||
/**
|
||||
* Array to list id find during list of childrens
|
||||
* @var array
|
||||
*/
|
||||
protected $findId = array();
|
||||
|
||||
/**
|
||||
* Coutry List ISO3 => Label
|
||||
* @var array
|
||||
*/
|
||||
protected $country = null;
|
||||
|
||||
/**
|
||||
* Stop the process to looks for company group head
|
||||
* @var boolean
|
||||
*/
|
||||
public $stopAtFirstIsin = false;
|
||||
|
||||
/**
|
||||
* Stop the process to looks for physical person
|
||||
* @var boolean
|
||||
*/
|
||||
public $stopAtPP = true;
|
||||
|
||||
/**
|
||||
* Databas table name
|
||||
* @var string
|
||||
*/
|
||||
protected $_schema = 'jo';
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $id
|
||||
* @param string $type ref|siren
|
||||
* @param Zend_Db_Adapter $db
|
||||
* @throws SoapFault
|
||||
*/
|
||||
public function __construct($id, $type = 'ref', $db = null)
|
||||
{
|
||||
//Get defaut database adapter
|
||||
if( $db === null ) {
|
||||
$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
|
||||
} else {
|
||||
$this->db = $db;
|
||||
Zend_Db_Table_Abstract::setDefaultAdapter($db);
|
||||
}
|
||||
|
||||
//Get Id
|
||||
if ( $type == 'siren' ) {
|
||||
$this->siren = $id;
|
||||
$refM = new Application_Model_JoLiensRef();
|
||||
$sql = $refM->select()->where('siren=?', $id)->where('dateSuppr=0');
|
||||
$result = $refM->fetchRow($sql);
|
||||
if ( $result !== null ) {
|
||||
$this->idRef = $result->id;
|
||||
}
|
||||
} else {
|
||||
$this->idRef = $id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les actionnaires
|
||||
* @param int $id
|
||||
* @param boolean $actif
|
||||
* @return array Tableau d'actionnaires
|
||||
*/
|
||||
public function getActionnaires($id = null, $actif = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
$liens = array();
|
||||
|
||||
if ( null === $id ) {
|
||||
return $liens;
|
||||
}
|
||||
|
||||
try {
|
||||
$sql = $this->db->select()
|
||||
->from(array('l'=>$this->_schema.'.liens2'),
|
||||
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
|
||||
'dateEffetLien', 'dateInsert', 'dateUpdate'))
|
||||
->where('idPar=?', $id)
|
||||
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idAct=r.id',
|
||||
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
|
||||
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
|
||||
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
|
||||
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
|
||||
'idLoc1Type', 'idLoc1Num', 'idLoc2Type', 'idLoc2Num', 'idLoc3Type', 'idLoc3Num',
|
||||
))
|
||||
->order('PDetention DESC');
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('l.actif=?',0);
|
||||
} else {
|
||||
$sql->where('l.actif=?',1);
|
||||
}
|
||||
}
|
||||
|
||||
//Don't display deleted - anomaly
|
||||
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
|
||||
|
||||
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
|
||||
} catch (Zend_Db_Exception $e) {
|
||||
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
|
||||
}
|
||||
|
||||
return $liens;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les participations
|
||||
* @param int $id
|
||||
* @param boolean $actif
|
||||
* @return array Tableau des participations
|
||||
*/
|
||||
public function getParticipations($id = null, $actif = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
if ( false === $actif ) {
|
||||
$actif = 0;
|
||||
} else {
|
||||
$actif = 1;
|
||||
}
|
||||
|
||||
$liens = array();
|
||||
|
||||
if ( null === $id ) {
|
||||
return $liens;
|
||||
}
|
||||
|
||||
try {
|
||||
$sql = $this->db->select()
|
||||
->from(array('l'=>$this->_schema.'.liens2'),
|
||||
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
|
||||
'dateEffetLien', 'dateInsert', 'dateUpdate'))
|
||||
->where('idAct=?', $id)
|
||||
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idPar=r.id',
|
||||
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
|
||||
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
|
||||
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
|
||||
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
|
||||
'idLoc1Type', 'idLoc1Num', 'idLoc2Type', 'idLoc2Num', 'idLoc3Type', 'idLoc3Num',
|
||||
))
|
||||
->order('PDetention DESC');
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('l.actif=?',0);
|
||||
} else {
|
||||
$sql->where('l.actif=?',1);
|
||||
}
|
||||
}
|
||||
|
||||
//Don't display deleted - anomaly
|
||||
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
|
||||
|
||||
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
|
||||
} catch (Zend_Db_Exception $e) {
|
||||
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
|
||||
}
|
||||
|
||||
return $liens;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonctions de direction
|
||||
* @param boolean $actif
|
||||
* @return Zend_Db_Table_Rowset_Abstract
|
||||
*/
|
||||
public function getDirections($actif = null)
|
||||
{
|
||||
if ( null === $this->siren ) {
|
||||
$refM = new Application_Model_JoLiensRef();
|
||||
$rows = $refM->find($this->idRef);
|
||||
$siren = str_pad($rows->current()->siren, 9, '0', STR_PAD_LEFT);
|
||||
} else {
|
||||
$siren = $this->siren;
|
||||
}
|
||||
|
||||
$result = array();
|
||||
|
||||
if ( null !== $siren && intval($siren) != 0 )
|
||||
{
|
||||
try {
|
||||
$directionsM = new Application_Model_JoRncsDirigeants();
|
||||
$sql = $directionsM->select()->from($directionsM, array(
|
||||
'LPAD(siren, 9, 000000000) AS siren','raisonSociale', 'dirSiren', 'dirRS', 'civilite', 'nom',
|
||||
'prenom', 'naissance_date', 'naissance_lieu', 'fonction_code', 'fonction_lib'
|
||||
))->where("typeDir IN ('PM', 'PP')")->where('dirSiren=?', $siren);
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('actif=?',0);
|
||||
} else {
|
||||
$sql->where('actif=?',1);
|
||||
}
|
||||
}
|
||||
$sql->order('fonction_code DESC');
|
||||
$sql->order('raisonSociale ASC');
|
||||
|
||||
$result = $directionsM->fetchAll($sql);
|
||||
} catch (Zend_Db_Exception $e) {
|
||||
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne la maison mère
|
||||
* @param int $id
|
||||
* Id de la fiche de départ
|
||||
* @param int $detention
|
||||
* Niveau de détention (Une filiale est une entreprise détenue à plus de 50% par une autre entreprise)
|
||||
* @return int
|
||||
*/
|
||||
public function getHead($id = null, $detention = 0)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
//Add ID to the list of known
|
||||
$this->findId[] = $id;
|
||||
|
||||
//Through the list
|
||||
$liens = $this->getActionnaires($id, true);
|
||||
|
||||
//Find the following up entity
|
||||
if ( count($liens)>0 ) {
|
||||
foreach ( $liens as $item ) {
|
||||
//Don't through again and again
|
||||
if ( in_array($item->idAct, $this->findId) ) {
|
||||
return $item->idAct;
|
||||
} elseif ( $this->stopAtFirstIsin === true && !empty($item->isin)) {
|
||||
break;
|
||||
}
|
||||
//Remove physical person
|
||||
elseif ( $item->PpPm == 'PP' && $this->stopAtPP ) {
|
||||
continue;
|
||||
}
|
||||
//Same id
|
||||
elseif ( $item->idAct == $id ) {
|
||||
return $id;
|
||||
}
|
||||
//PDetention>50
|
||||
elseif ( $item->PDetention > 50 && $item->idAct > 1000 ) {
|
||||
return $this->getHead($item->idAct, $detention);
|
||||
}
|
||||
//MajMin=+
|
||||
elseif ( $item->PDetention > $detention && $item->MajMin == '+' && $item->idAct > 1000 ) {
|
||||
return $this->getHead($item->idAct, $detention);
|
||||
}
|
||||
//--
|
||||
elseif ( $item->PDetention > $detention && $item->idAct > 1000 ) {
|
||||
return $this->getHead($item->idAct, $detention);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les éléments identitaire présent dans lienRef
|
||||
* @param string $id
|
||||
* @return Zend_Db_Table_Rowset_Abstract
|
||||
*/
|
||||
public function getIdentity($id = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
$refM = new Application_Model_JoLiensRef();
|
||||
$row = $refM->find($id);
|
||||
if (null !== $row) {
|
||||
return $row->current();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne l'arborescence pour les groupes
|
||||
* @param int $pctMin
|
||||
* @param int $nbNiveaux
|
||||
* @return array
|
||||
*/
|
||||
public function getTree( $pctMin=33, $nbNiveaux=10 )
|
||||
{
|
||||
//Get identity to stop at isin
|
||||
$itemWithIsin = null;
|
||||
if ( $this->stopAtFirstIsin === true ) {
|
||||
$id = $this->idRef;
|
||||
$identity = $this->getIdentity($this->idRef);
|
||||
if ( !empty($identity->isin) ) {
|
||||
$itemWithIsin = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $itemWithIsin !== true ) {
|
||||
//Récupération de la maison mère
|
||||
$id = $this->getHead(null, 50);
|
||||
//Informations de la maison mère
|
||||
$identity = $this->getIdentity($id);
|
||||
}
|
||||
|
||||
$this->findId = array();
|
||||
$this->findId[] = $identity->id;
|
||||
|
||||
$nom = $identity->RS;
|
||||
if ( $identity->nom != '') {
|
||||
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
|
||||
}
|
||||
|
||||
if ( $this->country === null ) {
|
||||
$this->country = $this->getCountry();
|
||||
}
|
||||
|
||||
$pays = $identity->adresse_pays;
|
||||
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
|
||||
$pays = $this->country[$identity->adresse_pays];
|
||||
}
|
||||
|
||||
//Retour
|
||||
$tabRet = array (
|
||||
'id' => $identity->id,
|
||||
'name' => $nom,
|
||||
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
|
||||
'pmin' => $item->PDetention,
|
||||
'pays' => $pays,
|
||||
'children' => $this->getTreeRecursive($identity->id, $pctMin, 1, $nbNiveaux),
|
||||
);
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne un sous élement de l'arborescence pour les groupes
|
||||
* @param int $id
|
||||
* @param int $pctMin
|
||||
* @param int $niveau
|
||||
* @param int $nbNiveaux
|
||||
* @return array
|
||||
*/
|
||||
public function getTreeRecursive( $id, $pctMin=33, $niveau=0, $nbNiveaux=10 )
|
||||
{
|
||||
if ( $niveau > $nbNiveaux ) return array();
|
||||
$niveau++;
|
||||
|
||||
$tabRet = array();
|
||||
$participations = $this->getParticipations($id, true);
|
||||
if ( count($participations)>0 ) {
|
||||
foreach ( $participations as $item ) {
|
||||
if ( $item->PDetention > $pctMin ) {
|
||||
$identity = $this->getIdentity($item->idPar);
|
||||
|
||||
$nom = $identity->RS;
|
||||
if ( $identity->nom != '') {
|
||||
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
|
||||
}
|
||||
|
||||
if ($this->country === null) {
|
||||
$this->country = $this->getCountry();
|
||||
}
|
||||
|
||||
$pays = $identity->adresse_pays;
|
||||
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
|
||||
$pays = $this->country[$identity->adresse_pays];
|
||||
}
|
||||
|
||||
$data = array (
|
||||
'id' => $identity->id,
|
||||
'name' => $nom,
|
||||
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
|
||||
'pmin' => $item->PDetention,
|
||||
'pays' => $pays,
|
||||
'children' => array(),
|
||||
);
|
||||
//Pour éviter d'avoir des boucles infinis
|
||||
if ( !in_array($identity->id, $this->findId) ){
|
||||
$this->findId[] = $identity->id;
|
||||
$data['children'] = $this->getTreeRecursive($identity->id, $pctMin, $niveau, $nbNiveaux);
|
||||
}
|
||||
$tabRet[] = $data;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return multitype:NULL
|
||||
*/
|
||||
public function getCAC40()
|
||||
{
|
||||
$sql = "SELECT isin, nom, MAX(`date`) AS dateMAJ FROM sdv1.bourse_listes WHERE lstCode='xcac40p' GROUP BY lstCode, isin HAVING MAX(`date`) ORDER BY dateMAJ DESC;";
|
||||
$result = $this->db->query($sql);
|
||||
|
||||
$output = array();
|
||||
foreach ( $result as $item ) {
|
||||
$output[] = $item->isin;
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param number $pctMin
|
||||
* @return array
|
||||
*/
|
||||
public function getGroupeCAC40( $pctMin=50 )
|
||||
{
|
||||
$listeIsin = $this->getCAC40();
|
||||
$isin = implode(",",$listeIsin);
|
||||
|
||||
$refM = new Application_Model_JoLiensRef();
|
||||
$sql = $refM->select()
|
||||
->where("idLoc1Type=63")->where("idLoc1Num IN (?)", $isin)
|
||||
->orWhere("idLoc2Type=63")->where("idLoc2Num IN (?)", $isin)
|
||||
->orWhere("idLoc3Type=63")->where("idLoc3Num IN (?)", $isin);
|
||||
|
||||
$result = $refM->fetchAll($sql);
|
||||
|
||||
$this->findId = array();
|
||||
|
||||
$output = array();
|
||||
if ( $result->count()>0 ) {
|
||||
foreach ( $result as $item ) {
|
||||
$output = $output + $this->getListeGroupeCAC40($item->id, $pctMin);
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param int $id
|
||||
* @param number $pctMin
|
||||
* @return array
|
||||
*/
|
||||
public function getListeGroupeCAC40($id, $pctMin=50 )
|
||||
{
|
||||
$participations = $this->getParticipations($id, true);
|
||||
$output = array();
|
||||
if ( count($participations)>0 ) {
|
||||
foreach ( $participations as $item ) {
|
||||
if ( $item->PDetention > $pctMin ) {
|
||||
$identity = $this->getIdentity($item->idPar);
|
||||
|
||||
if ( intval($identity->siren)!=0 ) {
|
||||
$output[] = $identity->siren;
|
||||
}
|
||||
|
||||
if ( !in_array($identity->id, $this->findId) ){
|
||||
$this->findId[] = $identity->id;
|
||||
$output = $output + $this->getListeGroupeCAC40($identity->id, $pctMin);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param number $pctMin
|
||||
* @return boolean
|
||||
*/
|
||||
public function isInGroupeCAC40( $pctMin=50 )
|
||||
{
|
||||
//Si pas d'actionnaires => false
|
||||
if ( count($this->getActionnaires()) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$listeInGroupeCAC40 = $this->getGroupeCAC40($pctMin);
|
||||
if ( in_array($this->siren, $listeInGroupeCAC40) ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all countries
|
||||
*/
|
||||
protected function getCountry()
|
||||
{
|
||||
$countryM = new Application_Model_JoTabPays();
|
||||
$sql = $countryM->select()
|
||||
->from($countryM, array('codPays3', 'libPays'))
|
||||
->where('codPays3 IS NOT NULL');
|
||||
$rows = $countryM->fetchAll($sql);
|
||||
if ( $rows !== null ) {
|
||||
$data = array();
|
||||
foreach($rows as $item) {
|
||||
$data[$item->codPays3] = $item->libPays;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -2,7 +2,6 @@
|
||||
require_once 'Metier/partenaires/classMPrivileges.php';
|
||||
require_once 'Metier/partenaires/classMMarques.php';
|
||||
require_once 'Metier/scores/classMRegression.php';
|
||||
require_once 'Metier/partenaires/classMLiens2.php';
|
||||
require_once 'Metier/scores/classMSolvabilite.php';
|
||||
require_once 'Metier/scores/classMRatios.php';
|
||||
require_once 'Metier/scores/classMProjection.php';
|
||||
@ -15,6 +14,12 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
*/
|
||||
public $debug = false;
|
||||
|
||||
/**
|
||||
* Enregistrement timer
|
||||
* @var array
|
||||
*/
|
||||
protected $timer = null;
|
||||
|
||||
/**
|
||||
* Connexion de la base de données
|
||||
* @var object
|
||||
@ -231,7 +236,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
public function getScoreSecteur($naf5)
|
||||
{
|
||||
if (len($naf)<>5) return false;
|
||||
$tabTmp=$iDb->select( 'jo.scores_surveillance',
|
||||
$tabTmp=$iDb->select('jo.scores_surveillance',
|
||||
'naf, AVG(indiScore) AS score100moy, AVG(indiScore20) AS score20moy, AVG(encours) AS encoursMoy, MAX(indiScoreDate) AS lastScore, COUNT(siren) AS nbSiren',
|
||||
"naf='$naf5' AND actif=1", false, MYSQL_ASSOC);
|
||||
if ( count($tabTmp)>0 ) {
|
||||
@ -295,16 +300,16 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
if ($signe == '+') {
|
||||
if ($nombre > 0) {
|
||||
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} elseif ($nombre<0) {
|
||||
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} else {
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
}
|
||||
} elseif ($signe=='!') {
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
} else {
|
||||
return number_format($nombre,$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
return number_format($nombre,$decimales,$sepDec,$sepMil).' '.$unite;
|
||||
}
|
||||
}
|
||||
|
||||
@ -381,7 +386,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
|
||||
/**
|
||||
* Fomattage des variables pour affichage
|
||||
* Formattage des variables pour affichage
|
||||
* @param string $var
|
||||
* @param int $longeur
|
||||
* @param string $fonction
|
||||
@ -405,6 +410,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
} else {
|
||||
$tableZemet = 'ZEMET1994';
|
||||
}
|
||||
// Cette variable a un libellé associé
|
||||
if (isset($this->tabVariables[$tableZemet][$this->RPET.$this->ZEMET]['art'])) {
|
||||
return $this->tabVariables[$tableZemet][$this->RPET.$this->ZEMET]['art'];
|
||||
} else {
|
||||
@ -1385,7 +1391,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$nmp3=$tabBilan[3]['DUREE_MOIS'];
|
||||
$nmp4
|
||||
**/
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Bilans manquant", "$lastDepot, $nbMoisMax, ".$depot['dateEffet'].", $ANNONCEBODCMANQDATE");
|
||||
$this->ANNONCEBODCMANQDATE=date('Y-m-d', mktime(0, 0, 0, $classWdate->dateT('Y-m-d', 'm', $depot['dateEffet']), $classWdate->dateT('Y-m-d', 'd', $depot['dateEffet']), $classWdate->dateT('Y-m-d', 'Y', $depot['dateEffet'])+1));
|
||||
$this->ANNONCEBODCMANQ_AA=substr($this->ANNONCEBODCMANQDATE,0,4);
|
||||
}
|
||||
@ -1398,14 +1403,11 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
|
||||
// Publications régulieres et 12 mois identiques
|
||||
if ( ($nbMoisBilDate+1) == $nbMoisBilCumul
|
||||
|| $nbMoisBilDate == $nbMoisBilCumul
|
||||
|| ($nbMoisBilDate-1)==$nbMoisBilCumul ) {
|
||||
if ( ($nbMoisBilDate+1) == $nbMoisBilCumul || $nbMoisBilDate == $nbMoisBilCumul || ($nbMoisBilDate-1)==$nbMoisBilCumul ) {
|
||||
$this->ANNONCEBODCREGUL=1;
|
||||
// Annonces BODACC de changement de date d'exercice
|
||||
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2303));
|
||||
if (count($tabDepotCpt)>0) $this->ANNONCEBODCREGUL=2;
|
||||
|
||||
}
|
||||
// Pas de publication régulière des comptes
|
||||
else {
|
||||
@ -2011,7 +2013,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$this->RJMERE=$this->RJFILLE=false;
|
||||
$this->SITUACT=$this->NICMERE=$this->SIRENMERE=$this->SIRETMERE=$this->NOMMERE='';
|
||||
|
||||
$lienM = new MLiens2($siren, 'siren');
|
||||
$lienM = new SdMetier_Liens_Base($siren, 'siren');
|
||||
|
||||
// Actionnaire
|
||||
$tabA = $lienM->getActionnaires(null, true);
|
||||
@ -2077,9 +2079,8 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$timer['participations']=microtime(true);
|
||||
|
||||
$tabBil=array();
|
||||
if ($this->NBBILAN == 0)
|
||||
{
|
||||
$noteSolvabilite=round($noteStructure)*5; // La note finale est sur 100
|
||||
if ($this->NBBILAN == 0) {
|
||||
$noteSolvabilite = round($noteStructure) * 5; // La note finale est sur 100
|
||||
/** Pas de bilan mais capital elevé **/
|
||||
if ($this->ACTIFRNCS && $this->FJURRNCS1>1 && $this->FJURRNCS1<7) {
|
||||
if ($this->CAPITAL < 9000) $this->NOTECAP20=3;
|
||||
@ -2095,8 +2096,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
else $this->NOTECAP20=19;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
$numBil = $i = 0;
|
||||
foreach ($tabBilan as $item)
|
||||
{
|
||||
@ -2281,7 +2281,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
for($iTmp=1; $iTmp<7; $iTmp++)
|
||||
$strNote.=$tabTmp[$iTmp]." : ".$numerateur[$iTmp].'/'.$denominateur[$iTmp].'='.$note[$iTmp].' (Borné à '.$noteB[$iTmp].')'.EOL;
|
||||
$strNote.="Note Financière=$noteFin Conan Holder=$scoreConanH Afdcc1=$scoreAfdcc1 Afdcc2=$scoreAfdcc2note (Classe $scoreAfdcc2) Z=$scoreZ CCF=$valeurCCF ($pDef36) Altman=$scoreAltman AltmanCote=$scoreAltmanB".EOL.print_r($tabInfosNotation,true);
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Structure Score Financier", $strNote);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2305,7 +2304,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
|
||||
// Au cas ou !
|
||||
if ($noteSolvabilite>90) $noteSolvabilite=90;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Debug Solva1=$noteSolvabilite/100", '...');
|
||||
|
||||
$this->SCORECONF=100;
|
||||
|
||||
@ -2375,7 +2373,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$timer['getDirigeants'] = microtime(true);
|
||||
//debugLog('I', 'SCOREDIR = '. print_r($dirs,1), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->DIR_NB=$this->NBDIRLIENS=$this->NBDIRSCI=$this->NBDIRSCIADR=0;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeants", print_r($dirs, true));
|
||||
if (count($dirs) > 0 ) {
|
||||
foreach ($dirs as $nb => $dir) {
|
||||
if ($dir['Ancien']==0 && preg_match('/G.rant|Personne|Pr.sident|Directeur|Repr.sentant/Uisu', $dir['Titre'])) {
|
||||
@ -2410,7 +2407,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
[Ville] => LA MEIGNANNE
|
||||
*/
|
||||
$nbFctDirSciAdr++;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeant $this->DIR_NB", print_r($tabDiri, true).EOL.print_r($tabIdentite,true));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2427,7 +2423,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
// Nombre de SCI maximum dirigé par un des dirigeants à l'adresse (inclus dans les autres NBDIR...)
|
||||
if ($nbFctDirSciAdr>$this->NBDIRSCIADR) $this->NBDIRSCIADR=$nbFctDirSciAdr;
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Dirigeant $DIR_NB", print_r($tabDir, true));
|
||||
}
|
||||
|
||||
switch ($dir['Cinf']) {
|
||||
@ -2481,36 +2476,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
$timer['traitementDirigeants'] = microtime(true);
|
||||
|
||||
// --- Cut Off
|
||||
$this->ENQUETE='';
|
||||
if ($this->companyEvenDateStop === null) {
|
||||
$tabTmp = $this->db->select('jo.scores_cutoff',
|
||||
'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
|
||||
"siren=$siren", $this->debug, MYSQL_ASSOC);
|
||||
$timer['scores_cutoff'] = microtime(true);
|
||||
if (isset($tabTmp[0]['encours'])) {
|
||||
if($tabTmp[0]['dateUpdate']>$tabTmp[0]['dateInsert']) {
|
||||
$dateMaj=$tabTmp[0]['dateUpdate'];
|
||||
} else {
|
||||
$dateMaj=$tabTmp[0]['dateInsert'];
|
||||
}
|
||||
if ($classWdate->nbMoisEntre($dateMaj, date('Ymd'))<=$this->ENQUETELIM) {
|
||||
$encoursForce=$tabTmp[0]['encours'];
|
||||
if ($tabTmp[0]['scoreConf']<>null) $this->SCORECONF=$tabTmp[0]['scoreConf'];
|
||||
if ($this->SCORECONF>$this->ENQUETEMAXI) $this->SCORECONF=$this->ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreDir'] <>null) $this->SCOREDIRI=$tabTmp[0]['scoreDir'];
|
||||
if ($this->SCOREDIRI>$this->ENQUETEMAXI) $this->SCOREDIRI=$this->ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreSolv']<>null) $this->ENQUETE=$noteSolvabilite=$tabTmp[0]['scoreSolv'];
|
||||
if ($this->ENQUETE>$this->ENQUETEMAXI) $this->ENQUETE=$this->ENQUETEMAXI;
|
||||
// Permet de supprimer la prise en compte de la procol
|
||||
if ($this->ENQUETE>0) {
|
||||
$tabIdentite['SituationJuridique']=$this->ANNONCEPC='';
|
||||
$this->ANNONCELJ=$this->ANNONCERJ=$this->ANNONCESV=$this->PLANMODIF=$this->PLAN=$this->ANNONCEPC_OBS=$this->ELIMINE=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Affichage des informations de paiement dans le score **/
|
||||
$this->COTEOK_MMAA=$this->IMPAYE_MMAA=$this->PRIVILEGES_MMAA=$this->RISQUEGROUPE_MMAA='';
|
||||
$this->DEFAUT_MMAA=$this->LCASSUR_MMAA=$this->RISQUEIMPAYE_MMAA=$this->CSFACTO_MMAA='';
|
||||
@ -2528,7 +2493,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$this->DELAIPAY=$iFacto->DELAIPAY;
|
||||
$this->DELAIPAYp=$iFacto->DELAIPAYp;
|
||||
$this->DELAIPAY_MMAA=$iFacto->DELAIPAY_MMAA;
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Facto", print_r($infoFacto, true).EOL."Profil payeur='$libProfilPayeur'".EOL);
|
||||
if (isset($infoFacto[0])) {
|
||||
$nivRisquePaiement=$infoFacto[0]['risque'];
|
||||
$this->MODIFPAIDATE=$infoFacto[0]['DateEven'];
|
||||
@ -2668,20 +2632,20 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
|
||||
if ($this->IMPAYE) {
|
||||
$this->SCORECONF-=10;
|
||||
if ($this->PRIVILEGES) $noteSolvMax-=10;
|
||||
elseif ($this->SOCIETE_COTE) $noteSolvMax=61;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB && $this->CAPITAL<750000) $noteSolvMax=40;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB && $this->CAPITAL<750000) $noteSolvMax=42;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB && $this->CAPITAL<1500000) $noteSolvMax=45;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB && $this->CAPITAL<1500000) $noteSolvMax=47;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB ) $noteSolvMax=50;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB) $noteSolvMax=51;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE) && $this->CAPITAL<750000) $noteSolvMax=45;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE) && $this->CAPITAL<1500000) $noteSolvMax=50;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE)) $noteSolvMax=52;
|
||||
elseif ($this->CAPITAL<750000) $noteSolvMax=47;
|
||||
elseif ($this->CAPITAL<1500000) $noteSolvMax=50;
|
||||
else $noteSolvMax=52;
|
||||
if ($this->PRIVILEGES) $noteSolvMax-=10;
|
||||
elseif ($this->SOCIETE_COTE) $noteSolvMax=61;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB && $this->CAPITAL<750000) $noteSolvMax=40;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB && $this->CAPITAL<750000) $noteSolvMax=42;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB && $this->CAPITAL<1500000) $noteSolvMax=45;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB && $this->CAPITAL<1500000) $noteSolvMax=47;
|
||||
elseif ($this->NBBILAN==0 && $this->FJURPUB ) $noteSolvMax=50;
|
||||
elseif ($this->NBBILAN==0 && !$this->FJURPUB) $noteSolvMax=51;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE) && $this->CAPITAL<750000) $noteSolvMax=45;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE) && $this->CAPITAL<1500000) $noteSolvMax=50;
|
||||
elseif ($this->NBBILAN>0 && $this->FJURPUB && ($this->BILANVIEUX||$this->BILANMANQUE)) $noteSolvMax=52;
|
||||
elseif ($this->CAPITAL<750000) $noteSolvMax=47;
|
||||
elseif ($this->CAPITAL<1500000) $noteSolvMax=50;
|
||||
else $noteSolvMax=52;
|
||||
}
|
||||
|
||||
if ($this->ANNONCEHOM>0) {
|
||||
@ -2717,7 +2681,42 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$timer['privileges']=microtime(true);
|
||||
|
||||
// Paiements
|
||||
if ($this->MODIFPAIDATE>$this->MODIFDERDATE) $this->MODIFDERDATE=$this->MODIFPAIDATE;
|
||||
$this->MODIFDERDATE = $this->MODIFINSEEDATE;
|
||||
if ($this->MODIFPAIDATE>$this->MODIFDERDATE) $this->MODIFDERDATE = $this->MODIFPAIDATE;
|
||||
// Rcs
|
||||
if ($this->MODIFRNCSDATE > $this->MODIFDERDATE) $this->MODIFDERDATE = $this->MODIFRNCSDATE;
|
||||
// Annonces
|
||||
if ($this->ANNONCEDERDATE > $this->MODIFDERDATE) $this->MODIFDERDATE = $this->ANNONCEDERDATE;
|
||||
|
||||
// --- Cut Off
|
||||
$this->ENQUETE='';
|
||||
if ($this->companyEvenDateStop === null) {
|
||||
$tabTmp = $this->db->select('jo.scores_cutoff',
|
||||
'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
|
||||
"siren=$siren", $this->debug, MYSQL_ASSOC);
|
||||
$timer['scores_cutoff'] = microtime(true);
|
||||
if (count($tabTmp) > 0) {
|
||||
if($tabTmp[0]['dateUpdate']>$tabTmp[0]['dateInsert']) {
|
||||
$dateMaj=$tabTmp[0]['dateUpdate'];
|
||||
} else {
|
||||
$dateMaj=$tabTmp[0]['dateInsert'];
|
||||
}
|
||||
if ($classWdate->nbMoisEntre($dateMaj, date('Ymd'))<=$this->ENQUETELIM) {
|
||||
$encoursForce=$tabTmp[0]['encours'];
|
||||
if ($tabTmp[0]['scoreConf']<>null) $this->SCORECONF=$tabTmp[0]['scoreConf'];
|
||||
if ($this->SCORECONF>$this->ENQUETEMAXI) $this->SCORECONF=$this->ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreDir'] <>null) $this->SCOREDIRI=$tabTmp[0]['scoreDir'];
|
||||
if ($this->SCOREDIRI>$this->ENQUETEMAXI) $this->SCOREDIRI=$this->ENQUETEMAXI;
|
||||
if ($tabTmp[0]['scoreSolv']<>null) $this->ENQUETE=$noteSolvabilite=$tabTmp[0]['scoreSolv'];
|
||||
if ($this->ENQUETE>$this->ENQUETEMAXI) $this->ENQUETE=$this->ENQUETEMAXI;
|
||||
// Permet de supprimer la prise en compte de la procol
|
||||
if ($this->ENQUETE>0) {
|
||||
$tabIdentite['SituationJuridique']=$this->ANNONCEPC='';
|
||||
$this->ANNONCELJ=$this->ANNONCERJ=$this->ANNONCESV=$this->PLANMODIF=$this->PLAN=$this->ANNONCEPC_OBS=$this->ELIMINE=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- Commentaire Dirigeance
|
||||
if ($this->SCOREDIRI>=70) {
|
||||
@ -2763,7 +2762,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
else $analyseSolv = 'Inquiétante';
|
||||
if ($noteSolvabilite>=40 && $analyseSolv=='Inquiétante') $analyseSolv = 'Correcte';
|
||||
|
||||
/** CA Moyen par salarié pour un secteur donné **/
|
||||
// --- CA Moyen par salarié pour un secteur donné
|
||||
$this->CAESTIME = $iInsee->getCAnafEffectif($naf, $this->EFFECTIF);
|
||||
|
||||
if ($this->CABILAN>0) $this->CABIOUES=$this->CABILAN;
|
||||
@ -2779,7 +2778,9 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$timer['camoyen']=microtime(true);
|
||||
|
||||
// L'encours de trésorerie prend 1/6è de 1/12è de la Trésorerie
|
||||
if ($this->R[63]>0) $encoursTR = $this->R[63]/72;
|
||||
if ($this->R[63] > 0) {
|
||||
$encoursTR = $this->R[63]/72;
|
||||
}
|
||||
|
||||
if ($noteSolvabilite>=40) {
|
||||
if ($this->HOLDING) {
|
||||
@ -2836,12 +2837,14 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
|
||||
// Si encours sans bilan, l'encours donné est la moyenne de l'encours capital + l'encours estimé
|
||||
if ($encoursEstime>0 && $this->ENCOURS>0)
|
||||
$this->ENCOURS=($this->ENCOURS+$encoursEstime)/2;
|
||||
if ($encoursEstime > 0 && $this->ENCOURS > 0) {
|
||||
$this->ENCOURS = ($this->ENCOURS + $encoursEstime) / 2;
|
||||
}
|
||||
// Si l'encours est forcé, on en tiens compte !
|
||||
if ($encoursForce<>NULL)
|
||||
$this->ENCOURS=$encoursForce;
|
||||
|
||||
if ($encoursForce != null) {
|
||||
$this->ENCOURS = $encoursForce;
|
||||
}
|
||||
|
||||
switch ($this->FJUR2) {
|
||||
case 11:
|
||||
case 12:
|
||||
@ -3033,7 +3036,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
if ($this->ANNONCEPC<>'') {
|
||||
// Intervenants
|
||||
$tabInter = $iRncs->getIntervenants($this->SIREN);
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : INTERVENANTS", print_r($tabInter,true));
|
||||
$this->ANNONCEPC_INT1_TIT=$tabInter[0]['admfonction']; // Titre de l'intervenant
|
||||
$this->ANNONCEPC_INT1=$tabInter[0]['admnom']; // NOM Prénom et adresse complète
|
||||
$this->ANNONCEPC_INT2_TIT=$tabInter[1]['admfonction'];
|
||||
@ -3164,9 +3166,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$this->RISQUEACTBASSIN[]=$tabBassins[$tabArret['codeBassin']]; // Libellé risque lié à la localisation l'un des etablissements (INNONDATION, TREMBLEMENT DE TERRE etc..)
|
||||
}
|
||||
$this->RISQUEACTBASSIN=trim(implode(', ', $this->RISQUEACTBASSIN)); // Le ou les libellés des bassins hydrographiques concernés
|
||||
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Bassins", print_r($tabTmp, true).EOL.
|
||||
$strCom.EOL.
|
||||
print_r($tabBassins, true).EOL);*/
|
||||
$timer['risquesBassins']=microtime(true);
|
||||
|
||||
/** INFOS Orias **/
|
||||
@ -3187,14 +3186,11 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
$timer['orias']=microtime(true);
|
||||
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace 1",'');
|
||||
|
||||
/** Liste des marques **/
|
||||
$this->MARQUENB_INT=0; // Nombre de marques déposées à l'international
|
||||
$this->MARQUENB_EUR=0; // Nombre de marques déposées en EUROPE
|
||||
$this->MARQUENB_FR=0; // Nombre de marques déposées en FRANCE
|
||||
$tabMarques['WW']=$tabMarques['EU']=$tabMarques['FR']=array();
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Marques", print_r($ret,true));
|
||||
$iMarque = new MMarques($this->db);
|
||||
$ret = $iMarque->getMarques($siren);
|
||||
if ($ret!==false && count($ret)>0) {
|
||||
@ -3222,7 +3218,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$timer['marques']=microtime(true);
|
||||
|
||||
/** Marchés publics **/
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Marchés Publiques", print_r($ret,true));
|
||||
$this->MARCHEPUBLIC3_NB=0; // Nombre de marchés public / 3 dernières années
|
||||
$this->MARCHEPUBLIC3_MT=0; // Montant cumulé des marchés public / 3 dernières années
|
||||
$this->MARCHEPUBLICDER_OBJ=''; // Objet du dernier MP remporté
|
||||
@ -3462,8 +3457,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
if ($tabTmp)
|
||||
$this->ACTIVREG=$tabTmp['libActivite']; // Libellé de l'activité règlementé
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace 3",'');
|
||||
|
||||
$this->NBSUIVICLI=0; // Nombre de clients suivants cette entreprise
|
||||
$this->NBSOCSEC=0; // Nombre de siren composants les ratios secteurs
|
||||
$this->NBSOCSECPUB=0; // Nombre de siren du secteurs devant publier
|
||||
@ -3629,14 +3622,12 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
} else
|
||||
$strTmp='ERREUR DE FORMULE LORS DE LA GENERATION DU COMMENTAIRE no '.$idxC;
|
||||
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace10,$idxC=$strTmp2", 'ici');
|
||||
|
||||
//@eval('\$strTmp="'.$strTmp2.'";');
|
||||
$strTmp=eval("return \"$strTmp2\";");
|
||||
|
||||
$tabComment[$idxC]=preg_replace('/<\/i>(?:<br\/>)<\/i>/i','</i>', $debLigne.prepareString($strTmp).$finLigne);//." ($idxC, $ordre)";
|
||||
if (substr($strTmp,0,17)=='ERREUR DE FORMULE') {
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : $strTmp","Formules : ".EOL.$strTmp2);
|
||||
|
||||
}
|
||||
// echo " ($ordre)<br/>";
|
||||
$tableauPre=$tableau;
|
||||
@ -3646,7 +3637,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
if ($tableau) $tabComment[$idxC].='</table>';
|
||||
|
||||
$timer['finIndiscore']=microtime(true);
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace20", 'ici');
|
||||
|
||||
} // Fin Génération des commentaires
|
||||
|
||||
@ -3704,7 +3694,6 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
$duree=round($time-$timeDeb,3);
|
||||
$strTime.="---------------------\nTOTAL : $duree secondes\n";
|
||||
file_put_contents('time.log', "Indiscore sur $siren : Durées ".$strTime.EOL.$strNote.EOL.$variables.EOL.print_r($tabRatiosInfos,true));
|
||||
//sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com', "Indiscore sur $siren : Durées ".ENV, $strTime.EOL.$strNote.EOL.$variables.EOL.print_r($tabRatiosInfos,true));
|
||||
}
|
||||
|
||||
// EntActiveRCS
|
||||
@ -3863,7 +3852,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
|
||||
if ($this->companyEvenDateStop === null) {
|
||||
//Scores identique au précedent, simple mise à jour
|
||||
// --- Scores identique au précedent, simple mise à jour
|
||||
if ($indiScore==$indiScorePre && $this->ENCOURS==$encoursPre && $dateScore<>0 ) {
|
||||
$tabUpdate2 = array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs);
|
||||
if (!$this->db->update('jo.scores_surveillance', $tabUpdate2, "siren=$siren", false, 0, true)) {
|
||||
@ -3871,7 +3860,7 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Calcul de l'effectif réel
|
||||
// --- Calcul de l'effectif réel
|
||||
$EffectifEn = $tabIdentite['Effectif'];
|
||||
$bilanAgeMax = 3 * 12; //Age maximum du dernier bilan en mois
|
||||
if (!empty($tabIdentite['bilanDate']) && intval($tabIdentite['bilanYP'])>0 ) {
|
||||
|
453
library/SdMetier/Sfr/RulesPo-1.4.php
Normal file
453
library/SdMetier/Sfr/RulesPo-1.4.php
Normal file
@ -0,0 +1,453 @@
|
||||
<?php
|
||||
return array(
|
||||
0 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
1 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
2 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
3 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
4 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '5000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '9'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
5 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '5000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '10'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
6 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '5000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '11'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
7 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '10000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '12'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
8 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '10000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '13'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
9 => array(
|
||||
'name' => 'PO-Date-GE',
|
||||
'value' => '10000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '14'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
10 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
11 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
12 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
13 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
14 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '6000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '9'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
15 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '6000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '4'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '10'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
16 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '6000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '11'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
17 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '9000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '12'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
18 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '9000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '13'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
19 => array(
|
||||
'name' => 'PO-Date-PME',
|
||||
'value' => '9000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '14'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
20 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
21 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
22 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
23 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
24 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1500',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '9'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
25 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '1500',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '4'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '10'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
26 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '2000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '11'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
27 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '2000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '12'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
28 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '2000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '13'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
29 => array(
|
||||
'name' => 'PO-Date-TPE',
|
||||
'value' => '2000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '14'),
|
||||
2 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
30 => array(
|
||||
'name' => 'PO-STD-GE',
|
||||
'value' => '6000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
31 => array(
|
||||
'name' => 'PO-STD-GE',
|
||||
'value' => '6000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
32 => array(
|
||||
'name' => 'PO-STD-GE',
|
||||
'value' => '10000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
33 => array(
|
||||
'name' => 'PO-STD-GE',
|
||||
'value' => '20000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
),
|
||||
),
|
||||
34 => array(
|
||||
'name' => 'PO-STD-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
35 => array(
|
||||
'name' => 'PO-STD-PME',
|
||||
'value' => '3000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
36 => array(
|
||||
'name' => 'PO-STD-PME',
|
||||
'value' => '3700',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
37 => array(
|
||||
'name' => 'PO-STD-PME',
|
||||
'value' => '5000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
38 => array(
|
||||
'name' => 'PO-STD-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '5'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
39 => array(
|
||||
'name' => 'PO-STD-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '6'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
40 => array(
|
||||
'name' => 'PO-STD-TPE',
|
||||
'value' => '1000',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '7'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
41 => array(
|
||||
'name' => 'PO-STD-TPE',
|
||||
'value' => '1500',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '8'),
|
||||
1 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'TPE'),
|
||||
),
|
||||
),
|
||||
);
|
160
library/SdMetier/Sfr/RulesVord-1.4.php
Normal file
160
library/SdMetier/Sfr/RulesVord-1.4.php
Normal file
@ -0,0 +1,160 @@
|
||||
<?php
|
||||
return array(
|
||||
0 => array(
|
||||
'name' => 'VORd-11.1',
|
||||
'value' => 'STOP',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'ContratAge', 'type' => 'EGAL', 'value' => 'UNDEFINE'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'EGAL', 'value' => 'UNDEFINE'),
|
||||
),
|
||||
),
|
||||
1 => array(
|
||||
'name' => 'VORd-11.2',
|
||||
'value' => 'CONTINUE',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
),
|
||||
),
|
||||
2 => array(
|
||||
'name' => 'VORd-11.3',
|
||||
'value' => 'CONTINUE',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '-1'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'EGAL', 'value' => 'UNDEFINE', 'define' => array( 'var' => 'IR', 'value' => '8')),
|
||||
),
|
||||
),
|
||||
3 => array(
|
||||
'name' => 'VORd-10.1',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société dont la solvabilité est limitée et qui rencontre des difficultés de paiement : Faire une DEC pour tout acte éligible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FEU', 'type' => 'EGAL', 'value' => 'VERT'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MAX', 'value' => '25'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '9'),
|
||||
5 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '12'),
|
||||
),
|
||||
),
|
||||
4 => array(
|
||||
'name' => 'VORd-10.2',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FEU', 'type' => 'EGAL', 'value' => 'VERT'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '24'),
|
||||
4 => array( 'var' => 'ContratAge', 'type' => 'MAX', 'value' => '36'),
|
||||
5 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '9'),
|
||||
6 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '12'),
|
||||
),
|
||||
),
|
||||
5 => array(
|
||||
'name' => 'VORd-10.3',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FEU', 'type' => 'EGAL', 'value' => 'VERT'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MAX', 'value' => '25'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '11'),
|
||||
5 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '14'),
|
||||
),
|
||||
),
|
||||
6 => array(
|
||||
'name' => 'VORd-10.4',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société dont la solvabilité est limitée et qui rencontre des difficultés de paiement : Faire une DEC pour tout acte éligible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '2,1'),
|
||||
1 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '35'),
|
||||
),
|
||||
),
|
||||
7 => array(
|
||||
'name' => 'VORd-10.5',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '2'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '5'),
|
||||
2 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '36'),
|
||||
3 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '7'),
|
||||
),
|
||||
),
|
||||
8 => array(
|
||||
'name' => 'VORd-10.6',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société dont la solvabilité est limitée et qui rencontre des difficultés de paiement : Faire une DEC pour tout acte éligible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'EntrepRecente', 'type' => 'EGAL', 'value' => '1'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '2,1'),
|
||||
2 => array( 'var' => 'ContratAge', 'type' => 'MAX', 'value' => '36'),
|
||||
),
|
||||
),
|
||||
9 => array(
|
||||
'name' => 'VORd-10.7',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société dont la solvabilité est limitée et qui rencontre des difficultés de paiement : Faire une DEC pour tout acte éligible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'EntrepRecente', 'type' => 'EGAL', 'value' => '1'),
|
||||
1 => array( 'var' => 'ContratAge', 'type' => 'MAX', 'value' => '25'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
3 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '9'),
|
||||
5 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '12'),
|
||||
),
|
||||
),
|
||||
10 => array(
|
||||
'name' => 'VORd-10.8',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'EntrepRecente', 'type' => 'EGAL', 'value' => '1'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '36'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '11'),
|
||||
),
|
||||
),
|
||||
11 => array(
|
||||
'name' => 'VORd-10.8-2',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'EntrepRecente', 'type' => 'EGAL', 'value' => '1'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '4,9'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '7,1'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '24'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '13'),
|
||||
),
|
||||
),
|
||||
12 => array(
|
||||
'name' => 'VORd-10.9',
|
||||
'value' => 'VERT',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FEU', 'type' => 'EGAL', 'value' => 'ROUGE'),
|
||||
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '2'),
|
||||
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '5'),
|
||||
3 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '36'),
|
||||
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '3'),
|
||||
),
|
||||
),
|
||||
);
|
@ -2,7 +2,7 @@
|
||||
return array(
|
||||
0 => array(
|
||||
'name' => 'VORp-1.0',
|
||||
'value' => 'CONTINUE',
|
||||
'value' => 'DEFINE',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
|
164
library/SdMetier/Sfr/RulesVorp-1.4.php
Normal file
164
library/SdMetier/Sfr/RulesVorp-1.4.php
Normal file
@ -0,0 +1,164 @@
|
||||
<?php
|
||||
return array(
|
||||
0 => array(
|
||||
'name' => 'VORp-1.0',
|
||||
'value' => 'DEFINE',
|
||||
'comment' => "",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'IsCAC', 'type' => 'EGAL', 'value' => '1', 'define' => array( 'var' => 'TypeEntrep', 'value' => 'CAC')),
|
||||
1 => array( 'var' => 'Effectif', 'type' => 'MIN', 'value' => '499', 'define' => array( 'var' => 'TypeEntrep', 'value' => 'GE')),
|
||||
2 => array( 'var' => 'Effectif', 'type' => 'MIN', 'value' => '3', 'define' => array( 'var' => 'TypeEntrep', 'value' => 'PME')),
|
||||
3 => array( 'var' => 'Effectif', 'type' => 'MIN', 'value' => '-1', 'define' => array( 'var' => 'TypeEntrep', 'value' => 'TPE')),
|
||||
4 => array( 'var' => 'Effectif', 'type' => 'EGAL', 'value' => 'UNDEFINE', 'define' => array( 'var' => 'TypeEntrep', 'value' => 'TPE')),
|
||||
),
|
||||
),
|
||||
1 => array(
|
||||
'name' => 'VORp-2.1',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Pas de limite de crédit sur ce siren",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'NAF', 'type' => 'LIST', 'value' => 'TabAdminNaf', 'define' => array( 'var' => 'IsAdmin', 'value' => '1')),
|
||||
),
|
||||
),
|
||||
2 => array(
|
||||
'name' => 'VORp-2.2',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Pas de limite de crédit sur ce siren",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FJ', 'type' => 'LIST', 'value' => 'TabAdminFj', 'define' => array( 'var' => 'IsAdmin', 'value' => '1')),
|
||||
),
|
||||
),
|
||||
3 => array(
|
||||
'name' => 'VORp-3.1',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société de droit étranger : faire une DEC si volonté de poursuivre l'affaire",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'NAF', 'type' => 'LIST', 'value' => 'TabEtrangerNaf', 'define' => array( 'var' => 'IsEtranger', 'value' => '1')),
|
||||
),
|
||||
),
|
||||
4 => array(
|
||||
'name' => 'VORp-3.2',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Société de droit étranger : faire une DEC si volonté de poursuivre l'affaire",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FJ', 'type' => 'LIST', 'value' => 'TabEtrangerFj', 'define' => array( 'var' => 'IsEtranger', 'value' => '1')),
|
||||
),
|
||||
),
|
||||
5 => array(
|
||||
'name' => 'VORp-4.1',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Cette société fait l'objet d'un Redressement Judiciaire : faire une DEC si volonté de poursuivre l'affaire",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '6'),
|
||||
1 => array( 'var' => 'RJ', 'type' => 'EGAL', 'value' => '1'),
|
||||
),
|
||||
),
|
||||
6 => array(
|
||||
'name' => 'VORp-4.2',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Cette société fait l'objet d'une liquidation judiciaire : pas d'entrée en relation possible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '6'),
|
||||
1 => array( 'var' => 'LJ', 'type' => 'EGAL', 'value' => '1'),
|
||||
),
|
||||
),
|
||||
7 => array(
|
||||
'name' => 'VORp-4.3',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Cette société fait l'objet d'une Sauvegarde Judiciaire : faire une DEC si volonté de poursuivre l'affaire",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '6'),
|
||||
1 => array( 'var' => 'SV', 'type' => 'EGAL', 'value' => '1'),
|
||||
),
|
||||
),
|
||||
8 => array(
|
||||
'name' => 'VORp-4.4',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Cette entreprise n'est pas active à l'INSEE : pas d'entrée en relation possible",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '6'),
|
||||
1 => array( 'var' => 'InseeActif', 'type' => 'EGAL', 'value' => '0'),
|
||||
),
|
||||
),
|
||||
9 => array(
|
||||
'name' => 'VORp-5.0',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Faire une DEC si dépassement de la PO proposée",
|
||||
'po' => 1,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '16'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '9'),
|
||||
2 => array( 'var' => 'InseeAge', 'type' => 'MAX', 'value' => '37', 'define' => array( 'var' => 'EntrepRecente', 'value' => '1')),
|
||||
3 => array( 'var' => 'TypeEntrep', 'type' => 'MIN', 'value' => 'PME'),
|
||||
),
|
||||
),
|
||||
10 => array(
|
||||
'name' => 'VORp-7.0',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Cette entreprise fait l'objet d'une sauvegarde : faire une DEC si dépassement de la PO",
|
||||
'po' => 1,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'FEU', 'type' => 'EGAL', 'value' => 'ROUGE'),
|
||||
1 => array( 'var' => 'SV', 'type' => 'EGAL', 'value' => '1'),
|
||||
2 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '4'),
|
||||
),
|
||||
),
|
||||
11 => array(
|
||||
'name' => 'VORp-8.0',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Pas de limite de crédit sur ce siren",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'GE'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'EGAL', 'value' => '9'),
|
||||
),
|
||||
),
|
||||
12 => array(
|
||||
'name' => 'VORp-9.0',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Pas de limite de crédit sur ce siren",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'TypeEntrep', 'type' => 'EGAL', 'value' => 'CAC'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '5'),
|
||||
),
|
||||
),
|
||||
13 => array(
|
||||
'name' => 'VORp-6.1',
|
||||
'value' => 'ROUGE',
|
||||
'comment' => "Solvabilité et pérennité compromise : faire une DEC si volonté de poursuivre l'affaire",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '6'),
|
||||
),
|
||||
),
|
||||
14 => array(
|
||||
'name' => 'VORp-6.2',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Faire une DEC si dépassement de la PO proposée",
|
||||
'po' => 1,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '10'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '5'),
|
||||
),
|
||||
),
|
||||
15 => array(
|
||||
'name' => 'VORp-6.3',
|
||||
'value' => 'VERT',
|
||||
'comment' => "Pas de limite de crédit sur ce siren",
|
||||
'po' => 0,
|
||||
'params' => array(
|
||||
0 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '21'),
|
||||
1 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '9'),
|
||||
),
|
||||
),
|
||||
);
|
@ -13,7 +13,7 @@ class SdMetier_Sfr_Scoring
|
||||
* Version of rules (for loading static files)
|
||||
* @var double
|
||||
*/
|
||||
protected $version = '1.1';
|
||||
protected $version = '1.4';
|
||||
|
||||
/**
|
||||
* Put in error when not calculated
|
||||
@ -430,7 +430,7 @@ class SdMetier_Sfr_Scoring
|
||||
$this->RulesVORD = include realpath(dirname(__FILE__)) . '/RulesVord-'.$this->version.'.php';
|
||||
$this->RulesPO = include realpath(dirname(__FILE__)) . '/RulesPo-'.$this->version.'.php';
|
||||
|
||||
if ($this->debug) file_put_contents('sfr.log', "DEBUT\n");
|
||||
if ($this->debug) file_put_contents('sfr.log', "\nDEBUT\n", FILE_APPEND);
|
||||
|
||||
}
|
||||
|
||||
@ -625,7 +625,7 @@ class SdMetier_Sfr_Scoring
|
||||
$this->ValIndiscore = null;
|
||||
$this->ValDateCalculIndiscore = null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//GetAnnoncesLegales
|
||||
@ -660,8 +660,7 @@ class SdMetier_Sfr_Scoring
|
||||
|
||||
//Entreprise coté au CAC
|
||||
/*$this->ValIsCAC = 0;
|
||||
require_once 'Metier/partenaires/classMLiens2.php';
|
||||
$lienM = new MLiens2($siren, 'siren');
|
||||
$liensM = new SdMetier_Liens_Base($siren, 'siren');
|
||||
if ( $lienM->isInGroupeCAC40() ) {
|
||||
$this->ValIsCAC = 1;
|
||||
}
|
||||
@ -674,7 +673,6 @@ class SdMetier_Sfr_Scoring
|
||||
$this->ValIndiscore = $indiscore['Indiscore20'];
|
||||
$this->ValDateCalculIndiscore = date('Y-m-d');
|
||||
}
|
||||
if ($this->debug) file_put_contents('sfr.log', "INDISCORE = ".$this->ValIndiscore."\n", FILE_APPEND);
|
||||
|
||||
//Vérification des valeurs avant traitement
|
||||
$verif = array('NAF', 'FJ', 'InseeActif', 'InseeAge');
|
||||
@ -684,6 +682,12 @@ class SdMetier_Sfr_Scoring
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ($this->ValEffectif == '') {
|
||||
$this->ValEffectif = null;
|
||||
}
|
||||
|
||||
if ($this->debug) file_put_contents('sfr.log', "INDISCORE = ".$this->ValIndiscore."\n", FILE_APPEND);
|
||||
if ($this->debug) file_put_contents('sfr.log', "EFFECTIF = ".$this->ValEffectif."\n", FILE_APPEND);
|
||||
|
||||
//Rules
|
||||
$ruleType = array( 'VORP' , 'VORD' , 'PO');
|
||||
|
Loading…
Reference in New Issue
Block a user