Import lib Metier : injection de la base de données pour limiter le nombre de connection
This commit is contained in:
parent
a227320021
commit
8a46e059cf
@ -545,9 +545,17 @@ class MBodacc
|
||||
'Secr.taires?'=>1600,
|
||||
'Liquidateurs?'=>1900,
|
||||
);
|
||||
|
||||
protected $iDb;
|
||||
|
||||
public function __construct()
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} 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
|
||||
**/
|
||||
@ -581,8 +589,7 @@ class MBodacc
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('tribunaux', 'triCode, triNom, triCP, triSiret', "triCode IS NOT NULL");
|
||||
$rep=$this->iDb->select('jo.tribunaux', 'triCode, triNom, triCP, triSiret', "triCode IS NOT NULL");
|
||||
$tabTribunaux=array();
|
||||
foreach($rep as $k=>$trib) {
|
||||
$dep=substr($trib['triCP'],0,2)*1;
|
||||
@ -601,8 +608,7 @@ class MBodacc
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('bodacc_fonctions', 'codeFct, libelle', '1');
|
||||
$rep=$this->iDb->select('jo.bodacc_fonctions', 'codeFct, libelle', '1');
|
||||
$tabRet=array();
|
||||
foreach($rep as $tabFct)
|
||||
$tabRet[$tabFct['codeFct']*1]=$tabFct['libelle'];
|
||||
@ -628,8 +634,7 @@ class MBodacc
|
||||
{
|
||||
$tabTribunaux = array();
|
||||
|
||||
$iDb = new WDB();
|
||||
$rep = $iDb->select('tribunaux t, tribunauxInsee i',
|
||||
$rep = $this->iDb->select('jo.tribunaux t, jo.tribunauxInsee i',
|
||||
't.triId, t.triIdSup, i.CodeInsee, t.triCode, t.triType, t.triNom, t.triCP, LPAD(t.triTel,10,0) AS triTel,
|
||||
LPAD(t.triFax,10,0) AS triFax, t.triWeb, t.triMail, t.triSiret, t.triAdrNum, t.triAdrIndRep,
|
||||
t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire,
|
||||
@ -659,15 +664,14 @@ class MBodacc
|
||||
t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire,
|
||||
t.triNumGreffe';
|
||||
|
||||
$iDb = new WDB();
|
||||
if ( $dep<96 ) {
|
||||
$rep = $iDb->select(
|
||||
'tribunaux t', $fields,
|
||||
$rep = $this->iDb->select(
|
||||
'jo.tribunaux t', $fields,
|
||||
"t.triCP BETWEEN '".$dep."000' AND '".$dep."999' ORDER BY t.triType ASC", false, MYSQL_ASSOC
|
||||
);
|
||||
} else {
|
||||
$rep = $iDb->select(
|
||||
'tribunaux t', $fields,
|
||||
$rep = $this->iDb->select(
|
||||
'jo.tribunaux t', $fields,
|
||||
"t.triCP BETWEEN '".$dep."00' AND '".$dep."99' ORDER BY t.triType ASC", false, MYSQL_ASSOC
|
||||
);
|
||||
}
|
||||
@ -682,8 +686,7 @@ class MBodacc
|
||||
/** Donne la cours d'appel d'un tribunal par son code **/
|
||||
public function getTribunalIdCA($codeTribunal)
|
||||
{
|
||||
$iDb = new WDB();
|
||||
$rep = $iDb->select('tribunaux', 'triIdSup', "triCode='$codeTribunal'");
|
||||
$rep = $this->iDb->select('jo.tribunaux', 'triIdSup', "triCode='$codeTribunal'");
|
||||
return $rep[0][0];
|
||||
}
|
||||
|
||||
@ -699,8 +702,7 @@ class MBodacc
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('tabEvenements', 'codEven, libEven, Bodacc_Code, Rubrique, version, lienEtab', '1', false, MYSQL_ASSOC);
|
||||
$rep = $this->iDb->select('jo.tabEvenements', 'codEven, libEven, Bodacc_Code, Rubrique, version, lienEtab', '1', false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach($rep as $k=>$even) {
|
||||
//$tabTmp=array($trib['codEven']=>$trib['libEven']);
|
||||
@ -724,8 +726,7 @@ class MBodacc
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('bodacc_devises', 'libDeviseBodacc, devIso', '1', false, MYSQL_ASSOC);
|
||||
$rep=$this->iDb->select('jo.bodacc_devises', 'libDeviseBodacc, devIso', '1', false, MYSQL_ASSOC);
|
||||
$tabDevises=array();
|
||||
foreach($rep as $k=>$trib) {
|
||||
$tabTmp=array($trib['libDeviseBodacc']=>$trib['devIso']);
|
||||
@ -935,8 +936,7 @@ class MBodacc
|
||||
** @return bool
|
||||
**/
|
||||
public function addDeviseBodacc($strDevise, $deviseIso) {
|
||||
$iDb=new WDB();
|
||||
if (!$iDb->insert('bodacc_devises', array( 'libDeviseBodacc'=>$strDevise,
|
||||
if (!$this->iDb->insert('jo.bodacc_devises', array( 'libDeviseBodacc'=>$strDevise,
|
||||
'devIso'=>$deviseIso,
|
||||
'dateInsert'=>date('YmdHis')),true))
|
||||
return false;
|
||||
@ -1068,12 +1068,11 @@ class MBodacc
|
||||
/** Détermine les NOMs et PRENOMs dans une chaine de caractère
|
||||
**/
|
||||
function getNomPrenomGenre($strNomPrenom) {
|
||||
$iDb=new WDB('npaipp');
|
||||
$noms=$prenoms=$genre='';
|
||||
$tabMots=preg_split('/( +|\.+)/', $strNomPrenom);
|
||||
//print_r($tabMots);
|
||||
foreach ($tabMots as $i=>$prenom) {
|
||||
$tabPrenoms=$iDb->select('pp_prenoms', 'prenom, genre, mixte, nbTot',
|
||||
$tabPrenoms=$this->iDb->select('npaipp.pp_prenoms', 'prenom, genre, mixte, nbTot',
|
||||
"prenom='".addslashes($prenom)."' AND nbTot>100 ORDER BY nbTot DESC",
|
||||
false, MYSQL_ASSOC);
|
||||
if (count($tabPrenoms)>0) {
|
||||
@ -1095,13 +1094,12 @@ class MBodacc
|
||||
}
|
||||
|
||||
|
||||
function getNumPageAnnonce($bodaccCode, $annee, $num) {
|
||||
|
||||
function getNumPageAnnonce($bodaccCode, $annee, $num)
|
||||
{
|
||||
$tabRet=array();
|
||||
$iDb=new WDB();
|
||||
$bodacc=$iDb->select('bodacc',
|
||||
'Bodacc_Code, Bodacc_Annee_Parution, Bodacc_Num, Num_Annonce, Tribunal_Dept, Tribunal_Code, Rubrique_Bodacc, length(annonce) as Long',
|
||||
"Bodacc_Code='$bodaccCode' AND Bodacc_Annee_Parution=$annee AND Bodacc_Num=$num");
|
||||
$bodacc=$this->iDb->select('jo.bodacc',
|
||||
'Bodacc_Code, Bodacc_Annee_Parution, Bodacc_Num, Num_Annonce, Tribunal_Dept, Tribunal_Code, Rubrique_Bodacc, length(annonce) as Long',
|
||||
"Bodacc_Code='$bodaccCode' AND Bodacc_Annee_Parution=$annee AND Bodacc_Num=$num");
|
||||
|
||||
foreach ($bodacc as $k=>$ann) {
|
||||
$tabRet[$k]=array( 'BodaccCode'=>$ann['Bodacc_Code'],
|
||||
@ -1177,10 +1175,10 @@ class MBodacc
|
||||
return 0;
|
||||
}
|
||||
|
||||
function getJALparDep($dep) {
|
||||
function getJALparDep($dep)
|
||||
{
|
||||
$tabRet=array();
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('tabJAL', 'id, dep, nomJal, siteWeb, email, adresse, cp, ville, tel, fax, parution, aboAnnuel, infos',
|
||||
$rep=$this->iDb->select('jo.tabJAL', 'id, dep, nomJal, siteWeb, email, adresse, cp, ville, tel, fax, parution, aboAnnuel, infos',
|
||||
"dep=$dep", false, MYSQL_ASSOC);
|
||||
foreach($rep as $k=>$jal) {
|
||||
$tabRet[]=$jal;
|
||||
@ -1188,21 +1186,21 @@ class MBodacc
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getListeJalCollecte() {
|
||||
function getListeJalCollecte()
|
||||
{
|
||||
$tabRet=array();
|
||||
$iDb=new WDB();
|
||||
$rep=$iDb->select('tabJAL', 'id, nomJal', 'sedDateAbo<>0 GROUP BY nomJal ORDER BY nomJal ASC', false, MYSQL_ASSOC);
|
||||
$rep=$this->iDb->select('jo.tabJAL', 'id, nomJal', 'sedDateAbo<>0 GROUP BY nomJal ORDER BY nomJal ASC', false, MYSQL_ASSOC);
|
||||
foreach($rep as $k=>$jal) {
|
||||
$tabRet['_'.$jal['id']]=$jal['nomJal'];
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getActiviteReelle($siren, $fj) {
|
||||
$iDb=new WDB();
|
||||
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 **/
|
||||
$bodacc=$iDb->select( 'bodacc_detail', 'Activite', "siren=$siren AND Activite<>'' AND Activite NOT LIKE 'non precis%' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$bodacc=$this->iDb->select('jo.bodacc_detail', 'Activite', "siren=$siren AND Activite<>'' AND Activite NOT LIKE 'non precis%' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$annCap=@$bodacc[0];
|
||||
if ($fj<7000 || $fj>7999)
|
||||
$tabRet['Activite']=trim(/*preg_replace("/Adjonction.{1,7}activit(?:e|é)(?:.|)\:", '', */$annCap['Activite']);//);
|
||||
@ -1213,14 +1211,14 @@ class MBodacc
|
||||
$fj>9000 && $fj<9400) ) {
|
||||
$siretMin=(''.$siren.'00000')*1;
|
||||
$siretMax=(''.$siren.'99999')*1;
|
||||
$bodacc=$iDb->select( 'asso', 'Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_NObjet', "siren=$siren AND (Assoc_Objet<>'' OR Assoc_NObjet<>'') ORDER BY Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$bodacc=$this->iDb->select('jo.asso', 'Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_NObjet', "siren=$siren AND (Assoc_Objet<>'' OR Assoc_NObjet<>'') ORDER BY Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$annCap=@$bodacc[0];
|
||||
$tabRet['Activite']=trim($annCap['Assoc_NObjet']);
|
||||
if ($tabRet['Activite']=='') $tabRet['Activite']=trim($annCap['Assoc_Objet']);
|
||||
if ($tabRet['Web']=='') $tabRet['Web']=trim($annCap['Assoc_Web']);
|
||||
if ($tabRet['Mail']=='') $tabRet['Mail']=trim($annCap['Assoc_Mail']);
|
||||
} elseif ($tabRet['Activite']=='' && ($fj<7000 || $fj>7999)) {
|
||||
$bodaccHisto=$iDb->select( 'historiques.entrep e, historiques.texte x',
|
||||
$bodaccHisto=$this->iDb->select( 'historiques.entrep e, historiques.texte x',
|
||||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
|
||||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19890101 AND 20041231 AND x.annonceTxt LIKE '%ctivit%' GROUP BY e.ANBASE ORDER BY e.DATE DESC", false, MYSQL_ASSOC);
|
||||
if (count($bodaccHisto)>0) {
|
||||
@ -1242,7 +1240,8 @@ class MBodacc
|
||||
return $tabRet['Activite'];
|
||||
}
|
||||
|
||||
function getCodeFormeJur($strFJ) {
|
||||
function getCodeFormeJur($strFJ)
|
||||
{
|
||||
global $tabCjBodacc;
|
||||
if (count($tabCjBodacc)<1)
|
||||
require_once 'Metier/bodacc/configMBodacc.php';
|
||||
|
@ -691,7 +691,7 @@ class MInsee
|
||||
}
|
||||
|
||||
$this->tabCodeVoie = $this->getTabCodeVoie();
|
||||
$this->iBodacc = new MBodacc();
|
||||
$this->iBodacc = new MBodacc($this->iDb);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1837,7 +1837,7 @@ class MInsee
|
||||
$nbTot=$tabTmp[0][0];
|
||||
$listeEtab=$this->iDb->select('etablissements e',
|
||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, LPAD(e.siren, 9, 0) as siren, LPAD(e.nic, 5, 0), e.siege, ".
|
||||
"e.raisonSociale, e.enseigne, e.sigle, LPAD(e.adr_num,4,0) AS adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||
"e.adr_comp, LPAD(e.adr_cp,5,0) AS adr_cp, e.adr_ville, e.adr_dep, LPAD(e.adr_com,3,0) AS adr_com, LPAD(e.tel,10,0) AS tel, LPAD(e.fax,10,0) AS fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||||
"TEL=$id OR FAX=$id $filtreActif ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||
@ -1871,7 +1871,7 @@ class MInsee
|
||||
$nbTot=$tabTmp[0][0];
|
||||
$listeEtab=$this->iDb->select('etablissements e',
|
||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||||
"e.raisonSociale, e.enseigne, e.sigle, LPAD(e.adr_num,4,0) AS adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||
"e.adr_comp, LPAD(e.adr_cp,5,0) AS adr_cp, e.adr_ville, e.adr_dep, LPAD(e.adr_com,3,0) AS adr_com, LPAD(e.tel,10,0) AS tel, LPAD(e.fax,10,0) AS fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
||||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||||
"autre_id IN ('$strId') $filtreActif $strDep ORDER BY siege DESC $limit", false, MYSQL_ASSOC);
|
||||
@ -2218,7 +2218,7 @@ class MInsee
|
||||
|
||||
/** Si le siren est valide, on part chez Infogreffe **/
|
||||
if (count($listeEtab)==0 && $this->valideSiren($siren) && $accesDist) {
|
||||
$iGeffes=new MGreffes();
|
||||
$iGeffes=new MGreffes($this->iDb);
|
||||
$etabG=$iGeffes->getIdentite($siren);
|
||||
if ($etabG) {
|
||||
$adr=$this->structureVoie($etabG['Adresse']);
|
||||
@ -2399,7 +2399,7 @@ class MInsee
|
||||
$tdeb=microtime(1);
|
||||
}
|
||||
|
||||
$iAmabis = new MAmabis();
|
||||
$iAmabis = new MAmabis($this->iDb);
|
||||
$repAmabis = $iAmabis->getZonage($etab['adr_num'],$etab['adr_btq'],$etab['adr_typeVoie'],$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']), false, 'TEST', false);
|
||||
$duree=round(microtime(1)-$tdeb,3);
|
||||
|
||||
@ -2424,7 +2424,7 @@ class MInsee
|
||||
$tdeb=microtime(1);
|
||||
}
|
||||
|
||||
$iTva = new MTva($siren, $accesDist);
|
||||
$iTva = new MTva($siren, $accesDist, $this->iDb);
|
||||
$vatNumber = $iTva->vatNumber;
|
||||
$vatDefined = $iTva->vatDefined;
|
||||
|
||||
@ -3306,13 +3306,13 @@ class MInsee
|
||||
$tabRet['numGreffe'] = $etabG['NumGreffe'];
|
||||
$tabRet['numRC'] = $etabG['NumRC2'];
|
||||
$tabRet['Enseigne'] = $etabG['Enseigne'];
|
||||
$iRncs=new MRncs();
|
||||
$iRncs=new MRncs($this->iDb);
|
||||
$tabRet['Tribunal'] = $iRncs->getCodeBodaccTribunal($etabG['NumGreffe']);
|
||||
}
|
||||
if ($tabRet['Siege']==1 && $tabRet['Actif'] && $tabRet['Tribunal']=='')
|
||||
$tabRet['Tribunal']=$tabCodeTri;
|
||||
|
||||
$rep=$this->iDb->select('rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, dateRad*1 AS dateRadNum, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
$rep = $this->iDb->select('rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, dateRad*1 AS dateRadNum, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
$entrep=$rep[0];
|
||||
if (isset($entrep['numGreffe'])) { //ETRANGER//
|
||||
$tabRet['numGreffe'] = $entrep['numGreffe'];
|
||||
@ -3525,7 +3525,7 @@ class MInsee
|
||||
}
|
||||
|
||||
$iGeffes = new MGreffes($this->iDb);
|
||||
$iRncs = new MRncs();
|
||||
$iRncs = new MRncs($this->iDb);
|
||||
$etabG = $iGeffes->getIdentite($siren);
|
||||
|
||||
if($this->debugtime) {
|
||||
@ -3682,8 +3682,8 @@ class MInsee
|
||||
}
|
||||
|
||||
/** Recherche des infos boursières **/
|
||||
$iBourse=new MBourse($siren);
|
||||
$bourse=$iBourse->getInfosBourse($siren);
|
||||
$iBourse = new MBourse($siren, $this->iDb);
|
||||
$bourse = $iBourse->getInfosBourse($siren);
|
||||
$tabRet['Bourse']=array('placeCotation'=>$bourse['placeCotation'],
|
||||
'nombreTitres'=>$bourse['nombreTitres'],
|
||||
'capitalisation'=>$bourse['close']*$bourse['nombreTitres'],
|
||||
@ -3788,7 +3788,6 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
$iBodacc=new MBodacc();
|
||||
$bodaccHisto=$this->iDb->select(
|
||||
'historiques.entrep e, historiques.texte x',
|
||||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
|
||||
@ -3803,7 +3802,7 @@ class MInsee
|
||||
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
||||
if (preg_match('/Administration(?:.|)\:(.*)(?:Adresse.*|Commentaires?|Activit(?:e|é)|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.)(?:.|)\:/Uisu', $ann['annonceTxt'], $matches)) {
|
||||
$iDir=0;
|
||||
$tabAdministration = $iBodacc->getDirigeants($matches[1]);
|
||||
$tabAdministration = $this->iBodacc->getDirigeants($matches[1]);
|
||||
foreach ($tabAdministration as $tabDir) {
|
||||
$nom = trim(strtr(preg_replace('/ +/',' ', $tabDir['nom']), array(
|
||||
"Modification d'"=>'',
|
||||
@ -3825,7 +3824,7 @@ class MInsee
|
||||
if ($nom<>'') {
|
||||
$tabRet[] = array(
|
||||
'Fonction' => $tabDir['fonction'],
|
||||
'Titre' => $iBodacc->getFctDir($tabDir['fonction']),//.' ('.$tabDir['fonction'].')',
|
||||
'Titre' => $this->iBodacc->getFctDir($tabDir['fonction']),//.' ('.$tabDir['fonction'].')',
|
||||
'Societe' => $tabDir['rs'],
|
||||
'Nom' => $nom,
|
||||
'Prenom' => $tabDir['prenom'],
|
||||
|
@ -5,10 +5,17 @@ ini_set('default_socket_timeout', 30);
|
||||
class MAmabis
|
||||
{
|
||||
protected $client;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct()
|
||||
public function __construct($db = null)
|
||||
{
|
||||
$this->client = new SoapClient(null, array(
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->client = new SoapClient(null, array(
|
||||
'location' => 'http://sw2.amabis.com:5100/',
|
||||
'uri' => 'http://www.amabis.com/ns.xsd',
|
||||
'connection_timeout' => 2,
|
||||
@ -48,14 +55,13 @@ class MAmabis
|
||||
}
|
||||
}
|
||||
|
||||
$iDb=new WDB();
|
||||
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
|
||||
$ville=addslashes($ville);
|
||||
$majForcee=false;
|
||||
|
||||
$ret=$iDb->select( 'zonage', 'zus, zru, zfu, cucs, rnvpStatut, rnvpCorr, rnvpTrt, adr3, adr4, adr5, adr6, adr7, numVoieA, indRepA,
|
||||
typeVoieAlong, typeVoieAcourt, corpVoie, motDir, motDirD, libVoieSec, adr4n32, adr4n38, clePostaleVoie,
|
||||
secteur, cleRoutage, cpx, cleAd, codPaysIso2, codPaysIso3, libPays, codeInsee',
|
||||
$ret = $this->iDb->select('jo.zonage', 'zus, zru, zfu, cucs, rnvpStatut, rnvpCorr, rnvpTrt, adr3, adr4, adr5, adr6, adr7, numVoieA, indRepA,
|
||||
typeVoieAlong, typeVoieAcourt, corpVoie, motDir, motDirD, libVoieSec, adr4n32, adr4n38, clePostaleVoie,
|
||||
secteur, cleRoutage, cpx, cleAd, codPaysIso2, codPaysIso3, libPays, codeInsee',
|
||||
"address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
|
||||
$zones=@$ret[0];
|
||||
if (count($ret)>0) {
|
||||
@ -198,14 +204,14 @@ class MAmabis
|
||||
$adresseL=addslashes($adresse);
|
||||
$villeL=addslashes($ville);
|
||||
|
||||
$ret=$iDb->select('zonage', 'dateInsert*1 as dateInsert', "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
$ret = $this->iDb->select('jo.zonage', 'dateInsert*1 as dateInsert', "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
$dateInsert=@$ret[0]['dateInsert']*1;
|
||||
$iDb->update('zonage', array_merge($tabUpdate,array('dateInsert'=>$dateInsert)), "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
$this->iDb->update('jo.zonage', array_merge($tabUpdate,array('dateInsert'=>$dateInsert)), "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
//echo "Mise à jour de l'adresse du $dateInsert pour address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'".EOL;
|
||||
}
|
||||
|
||||
if ($dateInsert==0) {
|
||||
$iDb->insert('zonage', array_merge($tabInsert,$tabUpdate), false);
|
||||
$this->iDb->insert('jo.zonage', array_merge($tabInsert,$tabUpdate), false);
|
||||
//echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".EOL;
|
||||
}
|
||||
|
||||
@ -227,7 +233,7 @@ class MAmabis
|
||||
'source' => 'Amabis',
|
||||
'dateInsert'=> date('YmdHis'),
|
||||
);
|
||||
$iDb->insert('villesCP', $tabInsert, false);
|
||||
$this->iDb->insert('jo.villesCP', $tabInsert, false);
|
||||
//echo mysql_error().EOL;
|
||||
}
|
||||
|
||||
@ -257,7 +263,7 @@ class MAmabis
|
||||
/** Zonages AFR et ZRR
|
||||
**/
|
||||
$codeInsee=substr($codeRivoli,0,5);
|
||||
$ret=$iDb->select( 'zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
|
||||
$ret = $this->iDb->select('jo.zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
|
||||
$tabRep['ZRR']=$tabRep['AFR']='NON';
|
||||
foreach ($ret as $zones)
|
||||
switch ($zones['typeZone']) {
|
||||
|
@ -489,7 +489,7 @@ class MBilans
|
||||
}
|
||||
|
||||
if ($accesPartenaire) {
|
||||
$iGreffe = new MGreffes();
|
||||
$iGreffe = new MGreffes($this->iDb);
|
||||
$tabRet=$tabRet2=$iGreffe->getListeBilans($this->siren);
|
||||
} else {
|
||||
$tabRet=$tabRet2=array();
|
||||
@ -598,7 +598,7 @@ class MBilans
|
||||
|
||||
$bilan = null;
|
||||
|
||||
$iGreffe = new MGreffes();
|
||||
$iGreffe = new MGreffes($this->iDb);
|
||||
$ret = $this->iDb->select('bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB' $strSansBilansWeb", false, MYSQL_ASSOC);
|
||||
|
@ -3,13 +3,22 @@ require_once 'framework/common/curl.php';
|
||||
|
||||
class MBourse
|
||||
{
|
||||
var $siren=false;
|
||||
|
||||
public function __construct($siren=0) {
|
||||
$this->siren=$siren;
|
||||
protected $siren = false;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($siren=0, $db = null)
|
||||
{
|
||||
$this->siren = $siren;
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function getLibSource($source) {
|
||||
public function getLibSource($source)
|
||||
{
|
||||
switch ($source) {
|
||||
case 'B': return 'Business Wire'; break;
|
||||
case 'H': return 'Hugin'; break;
|
||||
@ -25,7 +34,8 @@ class MBourse
|
||||
** @param string $isin
|
||||
** @return bool
|
||||
**/
|
||||
function isIsin($isin) {
|
||||
function isIsin($isin)
|
||||
{
|
||||
if (strlen(trim($isin))) {
|
||||
$cle = substr($isin, -1);
|
||||
$isinLeft = substr($isin, 0, strlen($isin)-1);
|
||||
@ -52,12 +62,12 @@ class MBourse
|
||||
** @param integer $siren
|
||||
** @return string
|
||||
**/
|
||||
function getCodeIsin($siren=false) {
|
||||
$iDb=new WDB();
|
||||
function getCodeIsin($siren=false)
|
||||
{
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
$tabTmp=$iDb->select('infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
|
||||
$tabTmp = $this->iDb->select('jo.infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
|
||||
return trim(@$tabTmp[0]['isin']);
|
||||
}
|
||||
|
||||
@ -66,9 +76,9 @@ class MBourse
|
||||
** @param string $isin Code ISIN
|
||||
** @return integer
|
||||
**/
|
||||
function getCodeSiren($isin) {
|
||||
$iDb=new WDB();
|
||||
$tabTmp=$iDb->select('infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
|
||||
function getCodeSiren($isin)
|
||||
{
|
||||
$tabTmp = $this->iDb->select('jo.infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
|
||||
return trim($tabTmp[0]['siren']);
|
||||
}
|
||||
|
||||
@ -85,15 +95,14 @@ class MBourse
|
||||
$isin = $this->getCodeIsin($siren);
|
||||
$tabRet=array();
|
||||
if ($isin!='') {
|
||||
$iDb = new WDB('presse');
|
||||
|
||||
$sqlID = '';
|
||||
if (null !== $id) {
|
||||
$sqlID=" AND id=$id ";
|
||||
}
|
||||
|
||||
$bodacc=$iDb->select(
|
||||
'articles',
|
||||
$bodacc = $this->iDb->select(
|
||||
'presse.articles',
|
||||
'id, companyName, companyIsin, companySiren, companyWebSite, pressReleaseDate, pressReleaseTitle, '.
|
||||
'pressReleaseText, pressReleaseHtml, pressReleaseAttachments, pressReleaseUrl, source, dateInsert',
|
||||
"companyIsin='$isin' $sqlID ORDER BY pressReleaseDate DESC", true, MYSQL_ASSOC);
|
||||
@ -134,9 +143,9 @@ class MBourse
|
||||
** @param integer $siren
|
||||
** @return unknown
|
||||
**/
|
||||
function getInfosBourse($siren=false) {
|
||||
function getInfosBourse($siren=false)
|
||||
{
|
||||
global $timer;
|
||||
$iDb=new WDB('sdv1');
|
||||
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
@ -145,19 +154,20 @@ class MBourse
|
||||
$timer['infosBoursieres-getCodeIsin']=microtime(true);
|
||||
$tabRet=array();
|
||||
if ($isin<>'') {
|
||||
$tabRes=$iDb->select( 'bourse_isin b, bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY c.`date` DESC, c.`heure` DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$tabRes = $this->iDb->select(
|
||||
'sdv1.bourse_isin b, sdv1.bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY c.`date` DESC, c.`heure` DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
|
||||
$tabRet=$tabRes[0];
|
||||
$timer['infosBoursieres-infosIsin']=microtime(true);
|
||||
|
||||
$tabRes=$iDb->select( 'bourse_cours',
|
||||
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
|
||||
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
|
||||
$tabRes = $this->iDb->select('sdv1.bourse_cours',
|
||||
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
|
||||
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
|
||||
$tabTmp=$tabRes[0];
|
||||
$tabRet['coursMin']=$tabTmp['coursMin'];
|
||||
$tabRet['coursMoy']=$tabTmp['coursMoy'];
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
class MCadastre
|
||||
{
|
||||
var $siren=false;
|
||||
var $iDb;
|
||||
protected $siren = false;
|
||||
protected $iDb;
|
||||
|
||||
/** Droits des locaux **/
|
||||
private static $tabCodeDroit=array(
|
||||
@ -122,9 +122,14 @@ class MCadastre
|
||||
'VI'=>'Vignes',
|
||||
);
|
||||
|
||||
public function __construct($siren=0) {
|
||||
$this->siren=$siren;
|
||||
$this->iDb=new WDb('sdv1');
|
||||
public function __construct($siren=0, $db = null)
|
||||
{
|
||||
$this->siren = $siren;
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -137,7 +142,7 @@ class MCadastre
|
||||
if (!$siren) $siren=$this->siren;
|
||||
|
||||
$tabTmp=$this->iDb->select(
|
||||
'cad_perloc l, cad_permor e',
|
||||
'sdv1.cad_perloc l, sdv1.cad_permor e',
|
||||
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
|
||||
l.CCODRO, l.CCOCOM, l.CCOPRF, l.CCOSEC, l.DNUPLA, l.DNUBAT, l.DESC, l.DNIV, l.DPOR, l.CCONLC, l.CCOAFF0, l.DSUPOD0, l.CCOAFF1, l.DSUPOD1, l.CCOAFF2, l.DSUPOD2, l.CCOAFF3, l.DSUPOD3, l.CCOAFF4, l.DSUPOD4, l.CCOAFF5, l.DSUPOD5, l.CCOAFF6, l.DSUPOD6, l.CCOAFF7, l.DSUPOD7, l.CCOAFF8, l.DSUPOD8, l.CCOAFF9, l.DSUPOD9, l.CCODEP, l.DLICOM, l.CCORIV, l.CNAVOI, l.DLIVOI, l.DNUVOI, l.DLTNUV',
|
||||
"e.DSIREN=$siren AND e.INTCIF=l.INTCIF AND e.DNUPER=l.DNUPER", false, MYSQL_ASSOC);
|
||||
@ -216,7 +221,7 @@ class MCadastre
|
||||
$siren=$this->siren;
|
||||
|
||||
$tabTmp=$this->iDb->select(
|
||||
'cad_perpar p, cad_permor e',
|
||||
'sdv1.cad_perpar p, sdv1.cad_permor e',
|
||||
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
|
||||
p.CCODRO, p.CCOCOM, p.CCOPRF, p.CCOSEC, p.DNUPLA, p.DCNPAR, p.DSGRPF0, p.DCNSUF0, p.DSGRPF1, p.DCNSUF1, p.DSGRPF2, p.DCNSUF2, p.DSGRPF3, p.DCNSUF3, p.DSGRPF4, p.DCNSUF4, p.DSGRPF5, p.DCNSUF5, p.DSGRPF6, p.DCNSUF6, p.DSGRPF7, p.DCNSUF7, p.DSGRPF8, p.DCNSUF8, p.DSGRPF9, p.DCNSUF9, p.CCODEP, p.DLICOM, p.CCORIV, p.CNAVOI, p.DLIVOI, p.DNUVOI, p.DLTNUV',
|
||||
"e.DSIREN=$siren AND e.INTCIF=p.INTCIF AND e.DNUPER=p.DNUPER", false, MYSQL_ASSOC);
|
||||
|
@ -74,10 +74,8 @@ class MCoface {
|
||||
public $tabFil=array();
|
||||
public $tabEtab=array();
|
||||
|
||||
function __construct($siren) {
|
||||
|
||||
// $iDb=new WDB();
|
||||
|
||||
function __construct($siren)
|
||||
{
|
||||
$referer='';
|
||||
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.cofacerating.fr', '', 10);
|
||||
|
@ -1,123 +0,0 @@
|
||||
<?
|
||||
require_once 'framework/common/curl.php';
|
||||
require_once 'framework/common/dates.php';
|
||||
require_once 'Metier/partenaires/classMEuridile.php';
|
||||
|
||||
class MBilans {
|
||||
|
||||
public $siren;
|
||||
|
||||
function __construct($siren) {
|
||||
$this->siren=$siren;
|
||||
}
|
||||
|
||||
function __destruct() {}
|
||||
|
||||
/** Adapter cette classe pour qu'elle utilise la classe MEuridile et la base Bilans Local **/
|
||||
|
||||
/** Liste des dirigeants actifs
|
||||
**/
|
||||
function listeDirigeants() {
|
||||
$iDb2=new WDB('jo');
|
||||
$ret=$iDb2->select( 'bilans',
|
||||
'typeBilan, dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine',
|
||||
"siren='$this->siren' ORDER BY dateExercice DESC");
|
||||
$tabRet=array();
|
||||
$iDb=new WDB('jo');
|
||||
$ret2=$iDb->select( 'bodacc_detail',
|
||||
'Bodacc_Date_Parution, dateEffet, typeEven',
|
||||
//Num_Annonce, RC, raisonSociale, FJ, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, Bodacc_Num
|
||||
"siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC");
|
||||
$dateDerDepot=WDate::dateT('Y-m-d','Ymd',@$ret2[0]['dateEffet'])*1;
|
||||
$dateDerExercice=$ret[0]['dateExercice']*1;
|
||||
if ($dateDerDepot<>0) {
|
||||
$this->dernierExerciceDepose = WDate::dateT('Y-m-d','d/m/Y',@$ret2[0]['dateEffet']);
|
||||
$this->dernierExerciceDeposeLe = WDate::dateT('Y-m-d','d/m/Y',@$ret2[0]['Bodacc_Date_Parution']);
|
||||
}
|
||||
/*
|
||||
//echo date('Y/m/d - H:i:s') ." - Dernier depot le ". $ret2[0]['Bodacc_Date_Parution'] .", dernier en base = $dateDerExercice !<br/>\n";
|
||||
if ( $dateDerDepot>$dateDerExercice ||
|
||||
( $dateDerDepot==0 && $dateDerExercice<date('Ymd', mktime(0,0,0, date('m')-18, date('d'), date('Y'))) ) ) {*/
|
||||
$rncs=new MEuridile();
|
||||
$tabRet=$rncs->listBilans($this->siren);
|
||||
//}
|
||||
foreach ($ret as $i=>$bil) {
|
||||
$millesime=WDate::dateT('Ymd','d/m/Y',$bil['dateExercice']);
|
||||
$tabRet[$bil['typeBilan'].$millesime]=array(
|
||||
'dateProvPartenaire'=>$bil['dateProvPartenaire'],
|
||||
'dureeExercice' =>$bil['dureeExercice'],
|
||||
'dateExercicePre' =>$bil['dateExercicePre'],
|
||||
'dureeExercicePre' =>$bil['dureeExercicePre'],
|
||||
'monnaie' =>$bil['monnaieOrigine'],
|
||||
'source' =>1,
|
||||
);
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getBilan($millesime='', $typeBilan='N', $refPart=0) {
|
||||
$millesime=WDate::dateT('d/m/Y','Ymd',$millesime);
|
||||
$iDb2=new WDB('insee');
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesime'", true);
|
||||
$bilan=$ret[0];
|
||||
if (count($ret)==0) {
|
||||
$rncs=new MEuridile($this->siren);
|
||||
$tabBilan=$rncs->getBilan($refPart);
|
||||
|
||||
if ($tabBilan) {
|
||||
$strPostes='';
|
||||
foreach ($tabBilan['POSTES'] as $poste=>$valeur)
|
||||
$strPostes.="$poste=$valeur;";
|
||||
$tabInsert=array( 'siren' =>$this->siren,
|
||||
'dateProvPartenaire'=>$tabBilan['DATE_FRAICHE_BILAN'],
|
||||
'dateExercice' =>WDate::dateT('d/m/Y','Ymd',$tabBilan['DATE_CLOTURE']),
|
||||
'dateExercicePre' =>WDate::dateT('d/m/Y','Ymd',$tabBilan['DATE_CLOTURE_PRE']),
|
||||
'dureeExercice' =>$tabBilan['DUREE_MOIS'],
|
||||
'dureeExercicePre' =>$tabBilan['DUREE_MOIS_PRE'],
|
||||
'monnaie' =>$tabBilan['MONNAIE'],
|
||||
'typeBilan' =>$tabBilan['TYPE_BILAN'],
|
||||
'monnaieOrigine' =>$tabBilan['MONNAIE_ORI'],
|
||||
'unite' =>$tabBilan['MONNAIE_LIV_UNITE'],
|
||||
'postes' =>$strPostes,
|
||||
'partenaire' =>2,
|
||||
);
|
||||
$iDb2->insert('bilans', $tabInsert);
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesime'");
|
||||
$bilan=$ret[0];
|
||||
}
|
||||
}
|
||||
$tabBilan=array();
|
||||
$tabBilan['SIREN'] = $this->siren;
|
||||
$tabBilan['DATE_FRAICHE_BILAN'] = $bilan['dateProvPartenaire']; // SSAAMMJJ
|
||||
$tabBilan['DATE_CLOTURE'] = $bilan['dateExercice']; // SSAAMMJJ
|
||||
$tabBilan['DATE_CLOTURE_PRE'] = $bilan['dateExercicePre']; // SSAAMMJJ
|
||||
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
|
||||
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
|
||||
$tabBilan['MONNAIE'] = $bilan['monnaie'];
|
||||
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
|
||||
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
|
||||
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
|
||||
if ($bilan['monnaie']=='EUR') $monnaie='€'; else $monnaie=$bilan['monnaie'];
|
||||
switch (strtoupper($bilan['unite'])) {
|
||||
case 'K': $unite='K'; break;
|
||||
case 'U':
|
||||
case ' ':
|
||||
case '' : $unite=''; break;
|
||||
case 'M': $unite='M'; break;
|
||||
default: die('Unite Bilan ('. $bilan['unite'] .') non prise en charge !'); break;
|
||||
}
|
||||
$tabBilan['devise'] = /*$unite.*/$monnaie;
|
||||
|
||||
$tabTmp=explode(';', $bilan['postes']);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1]))
|
||||
if ($unite=='K' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1') $tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
elseif ($unite=='M' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1') $tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
else $tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
return $tabBilan;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -27,44 +27,44 @@ class MFacto
|
||||
public $DELAIPAYp='';
|
||||
public $DELAIPAY_MMAA='';
|
||||
|
||||
private $tabInfoCS=array(
|
||||
'_00'=>array('risque'=>0,'type'=>'OK', 'libInt'=>'Néant', 'libExt'=>'Aucune difficulté significative ne nous a été signalée'),
|
||||
'_10'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_11'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Retard de paiement - Prorogation', 'libExt'=>'A suivre. Retard(s) de paiement(s) signalé(s)'),
|
||||
'_12'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé Groupe Facto', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_13'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF (sup. à limite)', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_15'=>array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES URSSAF', 'libExt'=>'A surveiller. Présence de privilèges'),
|
||||
'_16'=>array('risque'=>3,'type'=>'PR', 'libInt'=>'AUTRES PRIVILEGES', 'libExt'=>'A surveiller. Présence de Privilèges'),
|
||||
'_20'=>array('risque'=>4,'type'=>'BL', 'libInt'=>'LIQUIDATION JUDICIAIRE', 'libExt'=>'Liquidation Judiciaire'),
|
||||
'_21'=>array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
|
||||
'_22'=>array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
|
||||
'_23'=>array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
|
||||
'_24'=>array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe à suivre'),
|
||||
'_25'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_26'=>array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
|
||||
'_27'=>array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
|
||||
'_28'=>array('risque'=>4,'type'=>'BH', 'libInt'=>'HOMOLOGATION CONCILIATION / REG.AMIABLE', 'libExt'=>'Conciliation, Homologation ou règlement amiable'),
|
||||
'_29'=>array('risque'=>1,'type'=>'BF', 'libInt'=>'FUSION - ABSORPTION', 'libExt'=>'Fusion/Absorption'),
|
||||
'_30'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'MAUVAISE COTE BDF : .8 ou .9', 'libExt'=>"Présence d'impayé(s)"),
|
||||
'_31'=>array('risque'=>1,'type'=>'TC', 'libInt'=>'CESSATION ANNONCEE', 'libExt'=>'Fin d\'activité programmée'),
|
||||
'_33'=>array('risque'=>4,'type'=>'BS', 'libInt'=>'PROCEDURE DE SAUVEGARDE JUGEMENT', 'libExt'=>'Procédure de Sauvegarde'),
|
||||
'_34'=>array('risque'=>4,'type'=>'BV', 'libInt'=>'PLAN DE SAUVEGARDE', 'libExt'=>'Plan de sauvegarde'),
|
||||
'_35'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'ANALYSE FINANCIERE NEGATIVE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_36'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'BILAN NEGATIF', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_37'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'TRESORERIE SERREE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_39'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_43'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'LC SFAC', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_45'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'REFUS SFAC DOM-TOM', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
//'_47'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'LISTE CONFIDENTIELLE LEASER', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_50'=>array('risque'=>2,'type'=>'KO', 'libInt'=>'LIENS AVEC UNE ORGANISATION TERRORISTE', 'libExt'=>'Attention, liens internationaux très risqués'),
|
||||
private $tabInfoCS = array(
|
||||
'_00' => array('risque'=>0,'type'=>'OK', 'libInt'=>'Néant', 'libExt'=>'Aucune difficulté significative ne nous a été signalée'),
|
||||
'_10' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_11' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Retard de paiement - Prorogation', 'libExt'=>'A suivre. Retard(s) de paiement(s) signalé(s)'),
|
||||
'_12' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé Groupe Facto', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_13' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF (sup. à limite)', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_15' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES URSSAF', 'libExt'=>'A surveiller. Présence de privilèges'),
|
||||
'_16' => array('risque'=>3,'type'=>'PR', 'libInt'=>'AUTRES PRIVILEGES', 'libExt'=>'A surveiller. Présence de Privilèges'),
|
||||
'_20' => array('risque'=>4,'type'=>'BL', 'libInt'=>'LIQUIDATION JUDICIAIRE', 'libExt'=>'Liquidation Judiciaire'),
|
||||
'_21' => array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
|
||||
'_22' => array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
|
||||
'_23' => array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
|
||||
'_24' => array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe à suivre'),
|
||||
'_25' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_26' => array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
|
||||
'_27' => array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
|
||||
'_28' => array('risque'=>4,'type'=>'BH', 'libInt'=>'HOMOLOGATION CONCILIATION / REG.AMIABLE', 'libExt'=>'Conciliation, Homologation ou règlement amiable'),
|
||||
'_29' => array('risque'=>1,'type'=>'BF', 'libInt'=>'FUSION - ABSORPTION', 'libExt'=>'Fusion/Absorption'),
|
||||
'_30' => array('risque'=>3,'type'=>'IP', 'libInt'=>'MAUVAISE COTE BDF : .8 ou .9', 'libExt'=>"Présence d'impayé(s)"),
|
||||
'_31' => array('risque'=>1,'type'=>'TC', 'libInt'=>'CESSATION ANNONCEE', 'libExt'=>'Fin d\'activité programmée'),
|
||||
'_33' => array('risque'=>4,'type'=>'BS', 'libInt'=>'PROCEDURE DE SAUVEGARDE JUGEMENT', 'libExt'=>'Procédure de Sauvegarde'),
|
||||
'_34' => array('risque'=>4,'type'=>'BV', 'libInt'=>'PLAN DE SAUVEGARDE', 'libExt'=>'Plan de sauvegarde'),
|
||||
'_35' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'ANALYSE FINANCIERE NEGATIVE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_36' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'BILAN NEGATIF', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_37' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'TRESORERIE SERREE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_39' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_43' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC SFAC', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_45' => array('risque'=>2,'type'=>'LC', 'libInt'=>'REFUS SFAC DOM-TOM', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
//'_47' =>array('risque'=>2,'type'=>'LC', 'libInt'=>'LISTE CONFIDENTIELLE LEASER', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_50' => array('risque'=>2,'type'=>'KO', 'libInt'=>'LIENS AVEC UNE ORGANISATION TERRORISTE', 'libExt'=>'Attention, liens internationaux très risqués'),
|
||||
//Nouveaux regroupements GE
|
||||
'_I' =>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayés', 'libExt'=>"A surveiller. Présence d'impayé(s) dans les 12 derniers mois"),
|
||||
'_P' =>array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES', 'libExt'=>'A surveiller. Présence de privilèges dans les 24 derniers mois'),
|
||||
'_D' =>array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_T' =>array('risque'=>2,'type'=>'LC', 'libInt'=>'LC Quelconque', 'libExt'=>"Nombreuses demandes d'avis de crédit"),
|
||||
'_I' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayés', 'libExt'=>"A surveiller. Présence d'impayé(s) dans les 12 derniers mois"),
|
||||
'_P' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES', 'libExt'=>'A surveiller. Présence de privilèges dans les 24 derniers mois'),
|
||||
'_D' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_T' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC Quelconque', 'libExt'=>"Nombreuses demandes d'avis de crédit"),
|
||||
);
|
||||
|
||||
private $tabTranches=array(
|
||||
private $tabTranches = array(
|
||||
0=>6,
|
||||
30=>36,
|
||||
60=>66,
|
||||
@ -74,7 +74,7 @@ class MFacto
|
||||
180=>999,
|
||||
);
|
||||
|
||||
private $tabMontants=array(
|
||||
private $tabMontants = array(
|
||||
1=>500,
|
||||
2=>2000,
|
||||
10=>10000,
|
||||
@ -85,9 +85,13 @@ class MFacto
|
||||
999=>999999
|
||||
);
|
||||
|
||||
function __construct()
|
||||
public function __construct($db = null)
|
||||
{
|
||||
$this->iDb = new WDB('sdv1');
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function setTypeFic($typeFic)
|
||||
@ -139,7 +143,7 @@ class MFacto
|
||||
public function getCoteSpeciale($siren)
|
||||
{
|
||||
$ret=$this->iDb->select(
|
||||
'ge_cs2',
|
||||
'sdv1.ge_cs2',
|
||||
'siren, cs, dateFin, dateInsert, dateConf',
|
||||
"siren=$siren AND (dateSuppr=0 OR dateConf>dateSuppr) AND (dateFin=0 OR dateFin>NOW()) AND cs NOT IN (20,22,27,33,34) ORDER BY dateConf DESC, dateInsert DESC", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
@ -166,7 +170,7 @@ class MFacto
|
||||
|
||||
public function getCoteSpecialeOld($siren)
|
||||
{
|
||||
$ret=$this->iDb->select( 'ge_cs c LEFT JOIN ge_acheteurs a ON a.NUMACH=c.NUMGFH',
|
||||
$ret=$this->iDb->select( 'sdv1.ge_cs c LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=c.NUMGFH',
|
||||
'DATMAJ1, NUMGFH, CSAVAN, CSAPRE, SIRENE',
|
||||
"a.SIRENE=$siren ORDER BY a.SIRENE ASC, c.DATMAJ1 DESC", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
@ -196,7 +200,7 @@ class MFacto
|
||||
else // En mois par défaut
|
||||
$strGroupBy="GROUP BY mois HAVING nbPieces>2 ";
|
||||
|
||||
$ret=$this->iDb->select( 'ge_paiements p LEFT JOIN ge_acheteurs a ON a.NUMACH=p.NUMACH',
|
||||
$ret=$this->iDb->select( 'sdv1.ge_paiements p LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=p.NUMACH',
|
||||
"p.NUMACH, DATE_FORMAT(p.DATPIE, '%Y-%m') AS mois,
|
||||
CONCAT(DATE_FORMAT(p.DATPIE,'%Y'),'-',IF(DATE_FORMAT(p.DATPIE,'%m')<4,1,IF(DATE_FORMAT(p.DATPIE,'%m')<7,2,IF(DATE_FORMAT(p.DATPIE,'%m')<10,3,4)))) AS trimestre,
|
||||
count(*) AS nbPieces,
|
||||
|
@ -39,7 +39,6 @@ curl_multi_remove_handle($ch1);
|
||||
curl_multi_remove_handle($ch2);
|
||||
curl_multi_close($mh);
|
||||
|
||||
// $iDb=new WDB();
|
||||
|
||||
$referer='';
|
||||
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
|
||||
|
@ -19,11 +19,17 @@ class MMarques {
|
||||
private $iInsee;
|
||||
public $siren;
|
||||
|
||||
function __construct() {
|
||||
//$this->partGetSession();
|
||||
function __construct($db = null)
|
||||
{
|
||||
$this->partConnection();
|
||||
$this->iDb=new WDB('bopi');
|
||||
$this->iInsee=new MInsee();
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->iInsee=new MInsee($this->iDb);
|
||||
}
|
||||
|
||||
function __destruct() {
|
||||
@ -41,7 +47,7 @@ class MMarques {
|
||||
$strSql="1 ";
|
||||
if ($siren>0) $strSql.="AND sirenDeposant=$siren ";
|
||||
if ($idDepot>0) $strSql.="AND numeroMarque=$idDepot ";
|
||||
$res=$this->iDb->select('marques', 'nomMarque, rayonMarque, detailDeposant, sirenDeposant, dateDepot, lieuDepot, numeroMarque, classesMarque, periMarque, detailDeposant, detailMandataire, detailStatut, dateExpir, idObjetImg, idObjetPdf', "$strSql ORDER BY dateDepot DESC");
|
||||
$res=$this->iDb->select('bopi.marques', 'nomMarque, rayonMarque, detailDeposant, sirenDeposant, dateDepot, lieuDepot, numeroMarque, classesMarque, periMarque, detailDeposant, detailMandataire, detailStatut, dateExpir, idObjetImg, idObjetPdf', "$strSql ORDER BY dateDepot DESC");
|
||||
if (count($res)>0) {
|
||||
foreach ($res as $i=>$marque) {
|
||||
if ($marque['nomMarque']==' ') $nomMarque='(figurative)';
|
||||
@ -77,7 +83,7 @@ class MMarques {
|
||||
$marques[$i]['UrlLien']='';
|
||||
|
||||
//Produits et Services
|
||||
$resPS=$this->iDb->select('marques_classes', 'remarque', "numeroMarque=$idDepot");
|
||||
$resPS=$this->iDb->select('bopi.marques_classes', 'remarque', "numeroMarque=$idDepot");
|
||||
if (count($resPS)>0) {
|
||||
$txt = array();
|
||||
foreach ($resPS as $item) {
|
||||
@ -87,7 +93,7 @@ class MMarques {
|
||||
}
|
||||
|
||||
//Historique
|
||||
$resHisto=$this->iDb->select('marques_histo', 'histo2', "numeroMarque=$idDepot ORDER BY dat DESC");
|
||||
$resHisto=$this->iDb->select('bopi.marques_histo', 'histo2', "numeroMarque=$idDepot ORDER BY dat DESC");
|
||||
if (count($resHisto)>0) {
|
||||
$txt = array();
|
||||
foreach ($resHisto as $item) {
|
||||
@ -320,7 +326,7 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
else
|
||||
$tabMarque['typeMarque']='Semi-Figurative';
|
||||
/*
|
||||
Une marque verbale
|
||||
Une marque verbale
|
||||
composée d'un ou plusieurs termes qui peuvent s'écrire ou se prononcer,
|
||||
c'est à dire par exemple un nom de naissance ou patronymique (par exemple : Guy Degrenne), une dénomination arbitraire créée de toutes pièces (par exemple : Yoplait) , un mot détourné de son sens, un slogan (par exemple : Parce que vous le valez bien)
|
||||
|
||||
@ -428,17 +434,17 @@ Une marque figurative
|
||||
$tabInsert['dateInsert']=$dateInsert;
|
||||
//print_r($tabInsert);
|
||||
//die();
|
||||
$ret=$this->iDb->insert('marques', $tabInsert);
|
||||
$ret=$this->iDb->insert('bopi.marques', $tabInsert);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
//echo "Erreur INSERT 'marques' : ".mysql_error().EOL;
|
||||
//die();
|
||||
} elseif (mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
if (!$this->iDb->update('marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
|
||||
if (!$this->iDb->update('bopi.marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
|
||||
//echo "Erreur UPDATE 'marques' : ".mysql_error().EOL;
|
||||
//die();
|
||||
}
|
||||
$ret=$this->iDb->select('marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
|
||||
$ret=$this->iDb->select('bopi.marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
|
||||
$ret=$ret[0]['id'];
|
||||
$updateTodo=true;
|
||||
}
|
||||
@ -451,7 +457,7 @@ Une marque figurative
|
||||
'remarque'=>$classe,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
$ret2=$this->iDb->insert('marques_classes', $tabInsert);
|
||||
$ret2=$this->iDb->insert('bopi.marques_classes', $tabInsert);
|
||||
if (!$ret2 && mysql_errno()<>1062) {
|
||||
echo "Erreur 'marques_classes' : ".mysql_error().EOL;
|
||||
print_r($tabInsert);
|
||||
@ -459,7 +465,7 @@ Une marque figurative
|
||||
die("Erreur 'marques_classes' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
$this->iDb->update('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -471,7 +477,7 @@ Une marque figurative
|
||||
'pays'=>$pays,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
$ret2=$this->iDb->insert('marques_pays', $tabInsert);
|
||||
$ret2=$this->iDb->insert('bopi.marques_pays', $tabInsert);
|
||||
if (!$ret2 && mysql_errno()<>1062) {
|
||||
echo "Erreur 'marques_pays' : ".mysql_error().EOL;
|
||||
print_r($tabInsert);
|
||||
@ -479,7 +485,7 @@ Une marque figurative
|
||||
die("Erreur 'marques_pays' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
$this->iDb->update('bopi.marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -491,7 +497,7 @@ Une marque figurative
|
||||
'priorite'=>$prio,
|
||||
'dateInsert'=>$dateInsert,
|
||||
);
|
||||
$ret2=$this->iDb->insert('marques_priorite', $tabInsert);
|
||||
$ret2=$this->iDb->insert('bopi.marques_priorite', $tabInsert);
|
||||
if (!$ret2 && mysql_errno()<>1062) {
|
||||
echo "Erreur 'marques_priorite' : ".mysql_error().EOL;
|
||||
print_r($tabInsert);
|
||||
@ -499,7 +505,7 @@ Une marque figurative
|
||||
die("Erreur 'marques_priorite' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
$this->iDb->update('bopi.marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -509,7 +515,7 @@ Une marque figurative
|
||||
$tabInsert['id2']=$i;
|
||||
$tabInsert['numeroMarque']=$tabMarque['numeroMarque'];
|
||||
$tabInsert['dateInsert']=$dateInsert;
|
||||
$ret2=$this->iDb->insert('marques_histo', $tabInsert);
|
||||
$ret2=$this->iDb->insert('bopi.marques_histo', $tabInsert);
|
||||
if (!$ret2 && mysql_errno()<>1062) {
|
||||
echo "Erreur 'marques_histo' : ".mysql_error().EOL;
|
||||
print_r($tabInsert);
|
||||
@ -517,7 +523,7 @@ Une marque figurative
|
||||
die("Erreur 'marques_histo' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
$this->iDb->update('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -630,10 +636,10 @@ Une marque figurative
|
||||
'nbMarques' => $nbMarques,
|
||||
'dateInsert'=> date('YmdHis'),
|
||||
);
|
||||
$ret=$this->iDb->insert('infos_bopi', $tabInsert);
|
||||
$ret=$this->iDb->insert('bopi.infos_bopi', $tabInsert);
|
||||
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
|
||||
foreach ($tabMarques as $i=>$tabInsert) {
|
||||
$ret=$this->iDb->insert('infos_bopi_marques', $tabInsert);
|
||||
$ret=$this->iDb->insert('bopi.infos_bopi_marques', $tabInsert);
|
||||
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?
|
||||
|
||||
class MOrias {
|
||||
|
||||
<?php
|
||||
class MOrias
|
||||
{
|
||||
private $referer ='';
|
||||
private $body = '';
|
||||
private $header = '';
|
||||
@ -15,15 +14,22 @@ class MOrias {
|
||||
public $annee=0;
|
||||
public $erreur='';
|
||||
|
||||
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
|
||||
$this->accesDist=$accesDist;
|
||||
$this->iDb=new WDb('sdv1');
|
||||
function __construct($accesDist = true, $db = null)
|
||||
{
|
||||
$this->accesDist = $accesDist;
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function getMaxOrias($annee=0) {
|
||||
public function getMaxOrias($annee=0)
|
||||
{
|
||||
if ($annee*1>0 && $annee*1<100) {
|
||||
$this->annee='20'.$annee;
|
||||
$annee++;
|
||||
$annee++;
|
||||
$strWhere="(numOrias/1000000)<=$annee";
|
||||
} elseif ($annee*1>1900 && $annee*1<9999) {
|
||||
$this->annee=$annee;
|
||||
@ -34,12 +40,13 @@ class MOrias {
|
||||
$this->annee=date('Y')*1;
|
||||
}
|
||||
|
||||
$ret=$this->iDb->select('orias','MAX(numOrias) AS numOrias', $strWhere, false, MYSQL_ASSOC);
|
||||
$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) {
|
||||
public function getInfosOrias($siren, $numOrias=0)
|
||||
{
|
||||
//die('numOrias 1:"'.$numOrias.'"');
|
||||
if ($siren*1>1000)
|
||||
$strWhere="siren=$siren";
|
||||
@ -55,11 +62,11 @@ class MOrias {
|
||||
echo "==== SELECT siren, id, nom, cp, ville, adresse, numOrias FROM orias WHERE $strWhere;".EOL;
|
||||
echo "=================================================================================================".EOL;
|
||||
*/
|
||||
$ret=$this->iDb->select('orias','siren, id, nom, cp, ville, adresse, numOrias, numOriasAttribue', $strWhere, false, MYSQL_ASSOC);
|
||||
$ret=$this->iDb->select('sdv1.orias','siren, id, nom, cp, ville, adresse, numOrias, numOriasAttribue', $strWhere, false, MYSQL_ASSOC);
|
||||
if (!$this->force && count($ret)>0) {
|
||||
$this->enCache=true;
|
||||
$tabRet=$ret[0];//array();
|
||||
$ret=$this->iDb->select('orias','categorie, cat, dateInscription, typeStatut, rcsVille, rcsCode, rcsSiren, contact, encaissement, nature, paysPresta, paysEtab',$strWhere, false, MYSQL_ASSOC);
|
||||
$ret=$this->iDb->select('sdv1.orias','categorie, cat, dateInscription, typeStatut, rcsVille, rcsCode, rcsSiren, contact, encaissement, nature, paysPresta, paysEtab',$strWhere, false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabTmp)
|
||||
$tabRet['categories'][]=$tabTmp;
|
||||
//die('numOrias 3:"'.$numOrias.'"');
|
||||
@ -90,7 +97,7 @@ class MOrias {
|
||||
'menu%3AiasSearchForm%3AiasSearch'=>'menu%3AiasSearchForm%3AiasSearch',
|
||||
);
|
||||
} else {
|
||||
// Recherche avec Siren
|
||||
// Recherche avec Siren
|
||||
$url='http://www.orias.fr/orias/public/rechercheavance.html';
|
||||
$post=array('j_id_id45'=>'j_id_id45',
|
||||
'j_id_id45%3Aj_id_id52'=>'',
|
||||
@ -101,7 +108,7 @@ class MOrias {
|
||||
'j_id_id45%3Aj_id_id175'=>'',
|
||||
'javax.faces.ViewState'=>$this->codeRetour,
|
||||
'j_id_id45%3Aj_id_id203'=>'j_id_id45%3Aj_id_id203');
|
||||
$this->referer='http://www.orias.fr/orias/public/list.html';
|
||||
$this->referer='http://www.orias.fr/orias/public/list.html';
|
||||
}
|
||||
randsleep(1,2);
|
||||
$page=getUrl($url, $this->cookie, $post, $this->referer, false, '', '', 15);
|
||||
@ -116,7 +123,7 @@ class MOrias {
|
||||
$this->erreur='Numéro Orias inexistant';
|
||||
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
|
||||
if ($numOrias<$this->getMaxOrias())
|
||||
$this->iDb->insert('orias', $tabInsert);
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -126,7 +133,7 @@ class MOrias {
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
echo "Recherche par Orias : url=$url".EOL;
|
||||
die(print_r($page));
|
||||
die(print_r($page));
|
||||
} /* else { */
|
||||
|
||||
// Liste contenant l'entreprise
|
||||
@ -187,7 +194,7 @@ class MOrias {
|
||||
if (count($tabTmp)==1) {
|
||||
$tabInsert=array_merge($tabRet, array('dateInsert'=>date('YmdHis')));
|
||||
//print_r($tabInsert);
|
||||
$this->iDb->insert('orias', $tabInsert);
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
}
|
||||
$tabRet['categories']=array();
|
||||
continue;
|
||||
@ -235,7 +242,7 @@ class MOrias {
|
||||
$tabCat['rcsCode']=trim(strtr(strip_tags($matches[2]), array(' '=>'',' '=>'',chr(160)=>'',"\r"=>'',"\n"=>'')));
|
||||
$tabCat['rcsSiren']=trim($matches[3]);
|
||||
if ($siren==0) $tabRet['siren']=$tabCat['rcsSiren'];
|
||||
}
|
||||
}
|
||||
/*<td align="right">Contact</td>
|
||||
<td></td>
|
||||
<td><strong> François Meunier
|
||||
@ -272,10 +279,10 @@ class MOrias {
|
||||
unset($tabInsert['categories']);
|
||||
$tabInsert=array_merge($tabInsert, $tabCat, array('dateInsert'=>date('YmdHis')));
|
||||
//print_r($tabInsert);
|
||||
$this->iDb->insert('orias', $tabInsert);
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
//echo $tmpCat[$i];
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ class MRncs
|
||||
public $maxDemJour=10;
|
||||
public $matching=NULL;
|
||||
|
||||
function __construct($db = null)
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
@ -67,12 +67,14 @@ class MRncs
|
||||
$this->tabJugements = $this->getTabJugements();
|
||||
}
|
||||
|
||||
public function getLibFctDir($codeFonctionDirectionRncs) {
|
||||
public function getLibFctDir($codeFonctionDirectionRncs)
|
||||
{
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['lib'];
|
||||
}
|
||||
|
||||
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs) {
|
||||
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs)
|
||||
{
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['codeSd'];
|
||||
}
|
||||
|
@ -1,25 +1,6 @@
|
||||
<?php
|
||||
|
||||
ini_set('soap.wsdl_cache_enabled', 0);
|
||||
|
||||
class AmaSoapClient extends SoapClient {
|
||||
|
||||
function __doRequest($request, $location, $action, $version) {
|
||||
/* $request = strtr($request, array('<ns1:'=>'<ama:',
|
||||
'</ns1:'=>'</ama:',
|
||||
// '<param0 xsi:type="xsd:string">'=>'',
|
||||
'xmlns:ns1="http://www.amabis.com/ama.xsd"'=>'xmlns:ama="http://www.amabis.com/ama.xsd"',
|
||||
// '</param0>'=>'',
|
||||
// '<'=>'<',
|
||||
// '>'=>'>',
|
||||
)
|
||||
);*/
|
||||
return parent::__doRequest($request, $location, $action, $version);
|
||||
}
|
||||
}
|
||||
|
||||
class classMSigVille {
|
||||
|
||||
class classMSigVille
|
||||
{
|
||||
private $client;
|
||||
|
||||
private $url='http://sig.ville.gouv.fr/recherche-adresses-zus-zfu-quartiers-des-cucs';
|
||||
|
@ -7,8 +7,9 @@ class MTva
|
||||
public $errmsg = ''; // Message de l'erreur en cas d'erreur
|
||||
|
||||
private $siren;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($siren, $accesDist=true)
|
||||
public function __construct($siren, $accesDist=true, $db = null)
|
||||
{
|
||||
$sirenIn = $siren*1;
|
||||
if ( $sirenIn<000001000 ) {
|
||||
@ -16,6 +17,12 @@ class MTva
|
||||
$this->vatDefined = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
|
||||
|
||||
@ -32,8 +39,7 @@ class MTva
|
||||
return false;
|
||||
}
|
||||
|
||||
$iDb=new WDB('sdv1');
|
||||
$info = $iDb->select('siren_tva', "cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
|
||||
$info = $this->iDb->select('sdv1.siren_tva', "cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
|
||||
$tab=$info[0];
|
||||
if (count($tab)>0) {
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTva sur $siren en cache", print_r($tab, true));
|
||||
@ -83,8 +89,8 @@ class MTva
|
||||
if (preg_match('/Yes, valid VAT number/i', $body)) {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>$cle, 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>$cle, 'duree'=>$duree);
|
||||
if (!$iDb->insert('siren_tva', $tabInsert))
|
||||
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
//echo date ('Y/m/d - H:i:s') ." - Ligne $k/$nbk, N°TVA FR $cle $siren validé .".$eol;
|
||||
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
@ -104,8 +110,8 @@ class MTva
|
||||
} else {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
|
||||
if (!$iDb->insert('siren_tva', $tabInsert))
|
||||
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren vérification non disponible ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
@ -116,8 +122,8 @@ class MTva
|
||||
} else {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
|
||||
if (!$iDb->insert('siren_tva', $tabInsert))
|
||||
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren non attribué ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
class ICotation {
|
||||
|
||||
class ICotation
|
||||
{
|
||||
var $reTrtAuto;
|
||||
public $tabBilan=array();
|
||||
|
||||
@ -20,8 +19,16 @@ class ICotation {
|
||||
|
||||
public $societeEnBourse=false;
|
||||
public $valeurCCF=0;
|
||||
protected $iDb;
|
||||
|
||||
function __construct( $tabBilan, $retraitementAutomatique=true ) {
|
||||
function __construct($tabBilan, $retraitementAutomatique = true, $db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->reTrtAuto = $retraitementAutomatique;
|
||||
$this->tabBilan = $tabBilan;
|
||||
|
||||
@ -1633,7 +1640,8 @@ class ICotation {
|
||||
$this->tabR[6][17]=array('0:4.7','4.7:5.5','5.5:6','6:6.8','6.8:7.9','7.9:8.9','8.9:10','10:11.1','11.1:12.1','12.1:');
|
||||
}
|
||||
|
||||
function getTypeEntreprise($naf, $trancheEffectif) {
|
||||
function getTypeEntreprise($naf, $trancheEffectif)
|
||||
{
|
||||
$this->tpe=true;
|
||||
if (@$this->tabBilan['YP']>19)
|
||||
$this->tpe=false; // PME (petites et moyennes entreprises) : de 19 <20> 499 salari<72>s
|
||||
@ -1646,7 +1654,8 @@ class ICotation {
|
||||
$this->tpe=false;
|
||||
}
|
||||
|
||||
function calculProvisionsPourRisque () {
|
||||
function calculProvisionsPourRisque ()
|
||||
{
|
||||
return (@$this->tabBilan['DP']+@$this->tabBilan['DQ'])*.5;
|
||||
}
|
||||
|
||||
@ -1659,7 +1668,8 @@ class ICotation {
|
||||
**
|
||||
** @return double EBE en unit<EFBFBD> du bilan
|
||||
**/
|
||||
function calculEBE () {
|
||||
function calculEBE ()
|
||||
{
|
||||
return $this->calculValeurAjoutee() + @$this->tabBilan['FO'] - @$this->tabBilan['FX'] - ( @$this->tabBilan['FY'] + @$this->tabBilan['FZ'] ) ;
|
||||
}
|
||||
|
||||
@ -1685,12 +1695,13 @@ class ICotation {
|
||||
**
|
||||
** @return double CA en unit<EFBFBD> du Bilan
|
||||
**/
|
||||
function calculChiffreAffaires ($naf, $retraitement=false, $exPre=false) {
|
||||
// Vente de Marchandises FC
|
||||
// Production vendue biens FF 8914928 9008212
|
||||
// Production vendue services FI 6648419 6451252
|
||||
// Chiffres d'affaires nets FL 15563347 15459457
|
||||
// Subventions d'exploitation FO 272189 161333
|
||||
function calculChiffreAffaires ($naf, $retraitement=false, $exPre=false)
|
||||
{
|
||||
// Vente de Marchandises FC
|
||||
// Production vendue biens FF 8914928 9008212
|
||||
// Production vendue services FI 6648419 6451252
|
||||
// Chiffres d'affaires nets FL 15563347 15459457
|
||||
// Subventions d'exploitation FO 272189 161333
|
||||
if ($naf=='741J' || $naf=='6420Z' || $naf=='7010Z')
|
||||
if ($exPre)
|
||||
$autre=@$this->tabBilan['GJ1'] + @$this->tabBilan['GK1'] + @$this->tabBilan['GL1'];
|
||||
@ -1711,7 +1722,8 @@ class ICotation {
|
||||
return @$this->tabBilan['FC'] + @$this->tabBilan['FF'] + @$this->tabBilan['FI'] + $autre;
|
||||
}
|
||||
|
||||
function calculEvolutionCA($naf, $retraitement=false) {
|
||||
function calculEvolutionCA($naf, $retraitement=false)
|
||||
{
|
||||
$ca=$this->calculChiffreAffaires ($naf, $retraitement);
|
||||
return ($ca - $this->calculChiffreAffaires ($naf, $retraitement, true))/$ca*100;
|
||||
}
|
||||
@ -1788,16 +1800,16 @@ class ICotation {
|
||||
else $x3=0;
|
||||
/** Effet de levier = Rentabilit<69> financi<63>re - Rentabilit<69> Economique */
|
||||
$x4 = $this->calculRentabiliteFin() - $this->calculRentabiliteEco();
|
||||
/** Cr<EFBFBD>dit client = D<>lai d<>couvert client (en jours) ? **/
|
||||
/** Crédit client = Délai découvert client (en jours) ? **/
|
||||
$x5 = $this->calculDelaisClients();
|
||||
/** EBE / VA en % **/
|
||||
$denom=$this->calculValeurAjoutee();
|
||||
if ($denom<>0)
|
||||
$x6 = 100 * $this->calculEBE() / $denom;
|
||||
else $x6=0;
|
||||
/** D<EFBFBD>lai fournisseurs (en jours) **/
|
||||
/** Délai fournisseurs (en jours) **/
|
||||
$x7 = $this->calculDelaisFournisseurs();
|
||||
/** Cr<EFBFBD>ances douteuses / cr<63>ances clients **/
|
||||
/** Créances douteuses / créances clients **/
|
||||
$denom= @$this->tabBilan['BX'] + @$this->tabBilan['BZ'] ;
|
||||
if ($denom<>0)
|
||||
$x8 = 100 * @$this->tabBilan['VA'] / $denom;
|
||||
@ -1971,15 +1983,15 @@ class ICotation {
|
||||
if (@$this->tabBilan['BF']<>0)
|
||||
$i=360 * ( @$this->tabBilan['BJ'] / $this->tabBilan['BF'] );
|
||||
else $i=0;
|
||||
/** Taux de Valeur Ajout<EFBFBD>e */
|
||||
/** Taux de Valeur Ajoutée */
|
||||
if (@$this->tabBilan['FL']<>0)
|
||||
$j=100 * ( @$this->tabBilan['FL'] + @$this->tabBilan['FM'] + @$this->tabBilan['FN'] - @$this->tabBilan['FS']
|
||||
- @$this->tabBilan['FT'] - @$this->tabBilan['FU'] - @$this->tabBilan['FV'] - @$this->tabBilan['FW'] )
|
||||
/ @$this->tabBilan['FL'];
|
||||
else $j=0;
|
||||
/** Rentabilit<EFBFBD> <20>conomique */
|
||||
/** Rentabilité économique */
|
||||
$k=$this->calculRentabiliteEco();
|
||||
/** Capacit<EFBFBD> de remboursement */
|
||||
/** Capacité de remboursement */
|
||||
$denom= @$this->tabBilan['GW']-@$this->tabBilan['FP']+@$this->tabBilan['GA']+@$this->tabBilan['GB']+@$this->tabBilan['GC']
|
||||
+ @$this->tabBilan['GD']-@$this->tabBilan['GM']+@$this->tabBilan['GQ']+@$this->tabBilan['HA']-@$this->tabBilan['HE']
|
||||
- @$this->tabBilan['HJ']-@$this->tabBilan['HK'];
|
||||
@ -2131,8 +2143,8 @@ class ICotation {
|
||||
}
|
||||
|
||||
function scoreAltman($enBourse=true) {
|
||||
$iBourse=new MBourse(@$this->tabBilan['SIREN']);
|
||||
$bourse=$iBourse->getInfosBourse(@$this->tabBilan['SIREN']);
|
||||
$iBourse = new MBourse(@$this->tabBilan['SIREN'], $this->iDb);
|
||||
$bourse = $iBourse->getInfosBourse(@$this->tabBilan['SIREN']);
|
||||
if (count($bourse)>0) $this->societeEnBourse=true;
|
||||
|
||||
if ($enBourse && $this->societeEnBourse) {
|
||||
|
120
library/Metier/scores/classMProjection.php
Normal file
120
library/Metier/scores/classMProjection.php
Normal file
@ -0,0 +1,120 @@
|
||||
<?php
|
||||
require_once 'Metier/scores/classMRegression.php';
|
||||
|
||||
class Projection
|
||||
{
|
||||
/**
|
||||
* Tableau des années de millesime de bilans
|
||||
*/
|
||||
public $tabRegX;
|
||||
|
||||
/**
|
||||
* Tableau des années en paramètres
|
||||
*/
|
||||
protected $Y;
|
||||
|
||||
/**
|
||||
* + $nbAnnees Projetées
|
||||
*/
|
||||
protected $Yaff;
|
||||
|
||||
/**
|
||||
* Taux de projection de n à n+$nbAnnees
|
||||
*/
|
||||
protected $PROJECTAUX;
|
||||
|
||||
/**
|
||||
* Coef de corélation linéaire
|
||||
*/
|
||||
protected $PROJECCOEF;
|
||||
|
||||
|
||||
public function getY()
|
||||
{
|
||||
return $this->Y;
|
||||
}
|
||||
|
||||
public function getYaff()
|
||||
{
|
||||
return $this->Yaff;
|
||||
}
|
||||
|
||||
public function getProjecTaux()
|
||||
{
|
||||
return $this->PROJECTAUX;
|
||||
}
|
||||
|
||||
public function getProjecCoeff()
|
||||
{
|
||||
return $this->PROJECCOEF;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJECCOEF
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|number
|
||||
*/
|
||||
public function calcCOEF($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Regression($tabRegY, $this->tabRegX);
|
||||
return $oReg->vCoefCorLin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJEC
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|mixed
|
||||
*/
|
||||
public function calc($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Regression($tabRegY, $this->tabRegX);
|
||||
$tab = $oReg->GetProjectionDebut($nbAnnees);
|
||||
|
||||
$this->Y = $this->Yaff = array();
|
||||
$nbRegX = count($this->tabRegX);
|
||||
// Début des clés pour le tableau Y des critères
|
||||
$j = 0 - $nbRegX;
|
||||
foreach($tab as $i=>$valeur) {
|
||||
$j++;
|
||||
if ( isset($this->tabRegX[$i]) ) {
|
||||
$this->Yaff[''.$this->tabRegX[$i].' '] = $this->Y[$j] = $tab[$i];
|
||||
$lastX = $this->tabRegX[$i];
|
||||
} else {
|
||||
$lastX++;
|
||||
$this->Yaff[''.$lastX.' '] = $this->Y[$j] = $tab[$i];
|
||||
}
|
||||
}
|
||||
|
||||
$this->PROJECTAUX = $oReg->TauxProgression($nbAnnees);
|
||||
$this->PROJECCOEF = $oReg->vCoefCorLin*100;
|
||||
|
||||
return end($tab);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJECTAUX
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|number
|
||||
*/
|
||||
public function calcTAUX($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Regression($tabRegY, $this->tabRegX);
|
||||
return $oReg->TauxProgression($nbAnnees);
|
||||
}
|
||||
|
||||
}
|
@ -1,70 +1,72 @@
|
||||
<?php
|
||||
class Regression{
|
||||
/*
|
||||
But: Fournir un objet assez complet permettant d'opérer facilement une régression
|
||||
linéaire, plus connu sur le nom de courbe de tendance sous Excel.
|
||||
Usage: 0- Dans votre fichier PHP insérer include ("CrbTendance.php");
|
||||
1- Déclarer l'objet RegLin
|
||||
ex: $oReg= new RegLin($tDonnees) ou $oReg= new RegLin($tY, $tX)
|
||||
Les deux syntaxe sont disponible, si une seul tableau est fourni
|
||||
alors le second est initialisé du même nombre d'occurence commençant à 0
|
||||
avec un pas de 1
|
||||
2- Lancer le calcul, avec méthodes fournie de 0 à 4, par défaut 0 sera pris. Pour
|
||||
tout élément supérieur à 4, la cinquième sera prise.
|
||||
Cette méthode retourne un tableau à Trois positions,
|
||||
-avec dans la case "A" le coef directeur de la droite,
|
||||
-dans la case "B" le positionnement vertical
|
||||
-dans la case "Cor" le coef de corrélation
|
||||
-et dans la case "Meth" le numéro de la méthode utlisée
|
||||
<?php
|
||||
class Regression
|
||||
{
|
||||
/*
|
||||
But: Fournir un objet assez complet permettant d'opérer facilement une régression
|
||||
linéaire, plus connu sur le nom de courbe de tendance sous Excel.
|
||||
Usage: 0- Dans votre fichier PHP insérer include ("CrbTendance.php");
|
||||
1- Déclarer l'objet RegLin
|
||||
ex: $oReg= new RegLin($tDonnees) ou $oReg= new RegLin($tY, $tX)
|
||||
Les deux syntaxe sont disponible, si une seul tableau est fourni
|
||||
alors le second est initialisé du même nombre d'occurence commençant à 0
|
||||
avec un pas de 1
|
||||
2- Lancer le calcul, avec méthodes fournie de 0 à 4, par défaut 0 sera pris. Pour
|
||||
tout élément supérieur à 4, la cinquième sera prise.
|
||||
Cette méthode retourne un tableau à Trois positions,
|
||||
-avec dans la case "A" le coef directeur de la droite,
|
||||
-dans la case "B" le positionnement vertical
|
||||
-dans la case "Cor" le coef de corrélation
|
||||
-et dans la case "Meth" le numéro de la méthode utlisée
|
||||
|
||||
Ex: print_r($oReg0->OptMV(0));
|
||||
==>Array ( [A] => -649.029426204
|
||||
[B] => 3037796.68186
|
||||
[Cor] => -0.143065138366
|
||||
[Meth] => 0 )
|
||||
3- De manière optionnel vous pouvez lancer la méthode GetOpt();,
|
||||
qui vous fournira le point de votre droite en fonction de votre
|
||||
tableau d'abscisses, si ce dernier n'est pas fourni
|
||||
vous aurez un tableau de 0 à nb-1 d'occurence du premier tableau
|
||||
Ex: print_r($oReg0->OptMV(0));
|
||||
==>Array ( [A] => -649.029426204
|
||||
[B] => 3037796.68186
|
||||
[Cor] => -0.143065138366
|
||||
[Meth] => 0 )
|
||||
3- De manière optionnel vous pouvez lancer la méthode GetOpt();,
|
||||
qui vous fournira le point de votre droite en fonction de votre
|
||||
tableau d'abscisses, si ce dernier n'est pas fourni
|
||||
vous aurez un tableau de 0 à nb-1 d'occurence du premier tableau
|
||||
|
||||
Ex: print_r($oReg1->GetOpt());
|
||||
==>Array ( [1] => 3037147.65243
|
||||
[7] => 3033253.47587
|
||||
[20] => 3024816.09333
|
||||
[21] => 3024167.06391
|
||||
[22] => 3023518.03448)
|
||||
Ex: print_r($oReg1->GetOpt());
|
||||
==>Array ( [1] => 3037147.65243
|
||||
[7] => 3033253.47587
|
||||
[20] => 3024816.09333
|
||||
[21] => 3024167.06391
|
||||
[22] => 3023518.03448)
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
//champ de l'objet
|
||||
private $tDonnees;
|
||||
private $tAbscisse;
|
||||
private $vNbElt; //Nombre déléments des tableaux
|
||||
//champ de l'objet
|
||||
private $tDonnees;
|
||||
private $tAbscisse;
|
||||
private $vNbElt; //Nombre déléments des tableaux
|
||||
|
||||
private $vMoyX; //Moyenne des X
|
||||
private $vMoyY; //Moyenne des Y
|
||||
private $vSumXY;
|
||||
private $vSumX;
|
||||
private $vSumY;
|
||||
private $vSumX2;
|
||||
private $tPtG; //Le point moyen G est un tableau tPtG(X,Y)=(vMoyX,vMoyY)
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne
|
||||
Private $vVarianceX;
|
||||
Private $vVarianceY;
|
||||
//L'écart Type, c'est la racine carrée de la variance
|
||||
Private $vEcartTX;
|
||||
Private $vEcartTY;
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
Private $vCovariance;
|
||||
private $vMoyX; //Moyenne des X
|
||||
private $vMoyY; //Moyenne des Y
|
||||
private $vSumXY;
|
||||
private $vSumX;
|
||||
private $vSumY;
|
||||
private $vSumX2;
|
||||
private $tPtG; //Le point moyen G est un tableau tPtG(X,Y)=(vMoyX,vMoyY)
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne
|
||||
private $vVarianceX;
|
||||
private $vVarianceY;
|
||||
//L'écart Type, c'est la racine carrée de la variance
|
||||
private $vEcartTX;
|
||||
private $vEcartTY;
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
private $vCovariance;
|
||||
|
||||
|
||||
Private $vA; //Coef directeur de la droite liée à la régression
|
||||
Private $vB; //Coef B de la droite liée à la régression
|
||||
public $vCoefCorLin;//Coef de corrélation linéaire
|
||||
private $vA; //Coef directeur de la droite liée à la régression
|
||||
private $vB; //Coef B de la droite liée à la régression
|
||||
public $vCoefCorLin;//Coef de corrélation linéaire
|
||||
|
||||
public $tTest;
|
||||
|
||||
public function __construct($tDataY,$tDataX=NULL) {
|
||||
public function __construct($tDataY,$tDataX=NULL)
|
||||
{
|
||||
$this->tDonnees = $tDataY;
|
||||
$this->tAbscisse = $tDataX;
|
||||
$this->vNbElt = $n=count($this->tDonnees); // Nombres d'éléments
|
||||
@ -83,7 +85,7 @@ class Regression{
|
||||
|
||||
for ($i=0;$i<$n;$i++) {
|
||||
$xVal=$this->tAbscisse[$i];
|
||||
$yVal=$this->tDonnees[$i];
|
||||
$yVal=$this->tDonnees[$i];
|
||||
$sumX+=$xVal;
|
||||
$sumY+=$yVal;
|
||||
$sumX2+=$xVal*$xVal;
|
||||
@ -91,67 +93,68 @@ class Regression{
|
||||
$sumXY+=$xVal*$yVal;
|
||||
}
|
||||
|
||||
$this->vMoyX=$sumX/$n; //moyenne X
|
||||
$this->vMoyY=$sumY/$n; //moyenne Y
|
||||
$this->vMoyX=$sumX/$n; //moyenne X
|
||||
$this->vMoyY=$sumY/$n; //moyenne Y
|
||||
|
||||
$this->vSumXY=$sumXY;
|
||||
$this->vSumX=$sumX;
|
||||
$this->vSumY=$sumY;
|
||||
$this->vSumX2=$sumX2;
|
||||
$this->vSumXY=$sumXY;
|
||||
$this->vSumX=$sumX;
|
||||
$this->vSumY=$sumY;
|
||||
$this->vSumX2=$sumX2;
|
||||
|
||||
$this->tPtG=array('X'=>$this->vMoyX,'Y'=>$this->vMoyY); //point moyen G
|
||||
$this->tPtG=array('X'=>$this->vMoyX,'Y'=>$this->vMoyY); //point moyen G
|
||||
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne: Rappel
|
||||
$this->vVarianceX=($sumX2/$n)-($this->vMoyX*$this->vMoyX);
|
||||
$this->vVarianceY=($sumY2/$n)-($this->vMoyY*$this->vMoyY);
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne: Rappel
|
||||
$this->vVarianceX=($sumX2/$n)-($this->vMoyX*$this->vMoyX);
|
||||
$this->vVarianceY=($sumY2/$n)-($this->vMoyY*$this->vMoyY);
|
||||
|
||||
//L'écart Type, c'est la racine carrée de la variance: Rappel
|
||||
$this->vEcartTX=sqrt(abs($this->vVarianceX));
|
||||
$this->vEcartTY=sqrt(abs($this->vVarianceY));
|
||||
//L'écart Type, c'est la racine carrée de la variance: Rappel
|
||||
$this->vEcartTX=sqrt(abs($this->vVarianceX));
|
||||
$this->vEcartTY=sqrt(abs($this->vVarianceY));
|
||||
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
$this->vCovariance=($sumXY/$n)-($this->vMoyX*$this->vMoyY);
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
$this->vCovariance=($sumXY/$n)-($this->vMoyX*$this->vMoyY);
|
||||
|
||||
// coef de coorélation linéaire: Covariance que divise l'écart Type X multiplié par l'écart Type de Y
|
||||
// coef de coorélation linéaire: Covariance que divise l'écart Type X multiplié par l'écart Type de Y
|
||||
$this->vCoefCorLin=$this->vCovariance/($this->vEcartTX*$this->vEcartTY);
|
||||
|
||||
// Calcul de la droite
|
||||
$this->CoefsDroite(0);
|
||||
|
||||
$this->tTest=array(
|
||||
'vMoyX'=>$this->vMoyX,
|
||||
$this->tTest=array(
|
||||
'vMoyX'=>$this->vMoyX,
|
||||
'vMoyY'=>$this->vMoyY,
|
||||
'vA'=>$this->vA, // Coef directeur de la droite liée à la régression
|
||||
'vB'=>$this->vB, // Coef B de la droite liée à la régression
|
||||
'tPtG'=>$this->tPtG,
|
||||
'vVarianceX'=>$this->vVarianceX,
|
||||
'vVarianceY'=>$this->vVarianceY,
|
||||
'vEcartTX'=>$this->vEcartTX,
|
||||
'vEcartTY'=>$this->vEcartTY,
|
||||
'vA'=>$this->vA, // Coef directeur de la droite liée à la régression
|
||||
'vB'=>$this->vB, // Coef B de la droite liée à la régression
|
||||
'tPtG'=>$this->tPtG,
|
||||
'vVarianceX'=>$this->vVarianceX,
|
||||
'vVarianceY'=>$this->vVarianceY,
|
||||
'vEcartTX'=>$this->vEcartTX,
|
||||
'vEcartTY'=>$this->vEcartTY,
|
||||
'vCovariance'=>$this->vCovariance,
|
||||
'vCoefCorLin'=>$this->vCoefCorLin,
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
/** Calcul de la droite
|
||||
** (calcul de coef directeur de la régression par théorie de la régression linéaire
|
||||
** le coef a est obtenu des manières suivantes avec 5 variantes disponibles)
|
||||
**/
|
||||
Private function CoefsDroite($met=0)
|
||||
{
|
||||
switch ($met) {
|
||||
case 0:
|
||||
$this->vA=$this->vCovariance/$this->vVarianceX;
|
||||
break;
|
||||
case 1:
|
||||
$this->vA=$this->vVarianceY/$this->vCovariance;
|
||||
break;
|
||||
case 2:
|
||||
$this->vA=($this->vCovariance*$this->vEcartTY)/(abs($this->vCovariance)*$this->vEcartTX);
|
||||
break;
|
||||
/**
|
||||
* Calcul de la droite
|
||||
* (calcul de coef directeur de la régression par théorie de la régression linéaire
|
||||
* le coef a est obtenu des manières suivantes avec 5 variantes disponibles)
|
||||
*/
|
||||
private function CoefsDroite($met=0)
|
||||
{
|
||||
switch ($met) {
|
||||
case 0:
|
||||
$this->vA=$this->vCovariance/$this->vVarianceX;
|
||||
break;
|
||||
case 1:
|
||||
$this->vA=$this->vVarianceY/$this->vCovariance;
|
||||
break;
|
||||
case 2:
|
||||
$this->vA=($this->vCovariance*$this->vEcartTY)/(abs($this->vCovariance)*$this->vEcartTX);
|
||||
break;
|
||||
/*
|
||||
case 4:
|
||||
$this->vA=($this->vSumXY-(($this->vSumX*$this->vSumY)/$this->vNbElt)/($this->vSumX2-(pow(2,$this->vSumX)/$this->vNbElt)));
|
||||
case 4:
|
||||
$this->vA=($this->vSumXY-(($this->vSumX*$this->vSumY)/$this->vNbElt)/($this->vSumX2-(pow(2,$this->vSumX)/$this->vNbElt)));
|
||||
break; */
|
||||
case 3:
|
||||
$this->vA=($this->vVarianceY-$this->vVarianceX+sqrt(pow($this->vVarianceY-$this->vVarianceX,2)+pow(2*$this->vCovariance,2)))/(2*$this->vCovariance);
|
||||
@ -160,129 +163,57 @@ class Regression{
|
||||
$this->vA=($this->vSumXY-($this->vSumX*$this->vSumY/$this->vNbElt))/($this->vSumX2-(pow($this->vSumX,2)/$this->vNbElt));
|
||||
break;
|
||||
}
|
||||
$this->vB=$this->vMoyY-($this->vA*$this->vMoyX);
|
||||
}
|
||||
|
||||
/** Calcul la régression Linéaire **/
|
||||
function OptMV($meth=0){
|
||||
$this->CoefsDroite($meth);
|
||||
$this->CoefCorLin();
|
||||
return array("A"=>$this->vA,"B"=>$this->vB,"Cor"=>$this->vCoefCorLin,"Meth"=>$meth,"TauxProg"=>(1-$this->vA)*100);
|
||||
$this->vB=$this->vMoyY-($this->vA*$this->vMoyX);
|
||||
}
|
||||
|
||||
/** Renvoi le tableau des points optimisés
|
||||
**/
|
||||
function GetOpt() {
|
||||
/**
|
||||
* Calcul la régression Linéaire
|
||||
*/
|
||||
public function OptMV($meth=0)
|
||||
{
|
||||
$this->CoefsDroite($meth);
|
||||
$this->CoefCorLin();
|
||||
return array("A"=>$this->vA,"B"=>$this->vB,"Cor"=>$this->vCoefCorLin,"Meth"=>$meth,"TauxProg"=>(1-$this->vA)*100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoi le tableau des points optimisés
|
||||
*/
|
||||
public function GetOpt()
|
||||
{
|
||||
$tOpt=array();
|
||||
foreach($this->tAbscisse as $i)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
function GetProjection($nbPeriodes) {
|
||||
public function GetProjection($nbPeriodes)
|
||||
{
|
||||
$iMax=end($this->tAbscisse)+$nbPeriodes+1;
|
||||
$tOpt=array();
|
||||
for ($i=end($this->tAbscisse); $i<$iMax; $i++)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
function GetProjectionDebut($nbPeriodes) {
|
||||
public function GetProjectionDebut($nbPeriodes)
|
||||
{
|
||||
$iMax=end($this->tAbscisse)+$nbPeriodes+1;
|
||||
$tOpt=array();
|
||||
reset($this->tAbscisse);
|
||||
for ($i=current($this->tAbscisse); $i<$iMax; $i++)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
function TauxProgression($nbPeriodes) {
|
||||
public function TauxProgression($nbPeriodes)
|
||||
{
|
||||
$tOpt=$this->GetProjection($nbPeriodes);
|
||||
reset($tOpt);
|
||||
print_r($tOpt);
|
||||
//print_r($tOpt);
|
||||
|
||||
$deb=abs(current($tOpt));
|
||||
$fin=abs(end($tOpt));
|
||||
// echo 'Deb='.$deb.EOL;
|
||||
// echo 'Fin='.$fin.EOL;
|
||||
return (($fin-$deb)*100)/$deb;
|
||||
return (($fin-$deb)*100)/$deb;
|
||||
}
|
||||
}
|
||||
|
||||
function PROJECCOEF($tabRegY,$nbAnnees) {
|
||||
global $tabRegX;
|
||||
if (count($tabRegX)==0 || count($tabRegY)==0) return false;
|
||||
|
||||
$oReg= new Regression($tabRegY,$tabRegX);
|
||||
// echo 'fonction PROJECCOEF'.EOL;
|
||||
// print_r($oReg->tTest);
|
||||
|
||||
return $oReg->vCoefCorLin;
|
||||
}
|
||||
|
||||
function PROJEC($tabRegY,$nbAnnees) {
|
||||
|
||||
global $tabRegX; // Tableau des années de millesime de bilans
|
||||
global $Y, $Yaff; // Tableau des années en paramètres + $nbAnnees Projetées
|
||||
global $PROJECTAUX; // Taux de projection de n à n+$nbAnnees
|
||||
global $PROJECCOEF; // Coef de corélation linéaire
|
||||
global $SIREN;
|
||||
/*
|
||||
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $SIREN : Regression Début", ''.
|
||||
'$tabRegX='.print_r($tabRegX,true).
|
||||
'$tabRegY='.print_r($tabRegY,true).
|
||||
'$nbAnnees='.$nbAnnees."\r\n".
|
||||
'$Y='.print_r($Y,true)."\r\n".
|
||||
'$Yaff='.print_r($Yaff,true)."\r\n".
|
||||
'$PROJECTAUX='.$PROJECTAUX."\r\n".
|
||||
'$PROJECCOEF='.$PROJECCOEF."\r\n"
|
||||
);
|
||||
*/
|
||||
if (count($tabRegX)==0 || count($tabRegY)==0) return false;
|
||||
|
||||
$oReg= new Regression($tabRegY,$tabRegX);
|
||||
$tab=$oReg->GetProjectionDebut($nbAnnees);
|
||||
|
||||
$Y=$Yaff=array();
|
||||
$nbRegX=count($tabRegX);
|
||||
// Début des clés pour le tableau Y des critères
|
||||
$j=0-$nbRegX;
|
||||
foreach($tab as $i=>$valeur) {
|
||||
$j++;
|
||||
if (isset($tabRegX[$i])) {
|
||||
$Yaff[''.$tabRegX[$i].' ']=$Y[$j]=$tab[$i];
|
||||
$lastX=$tabRegX[$i];
|
||||
} else {
|
||||
$lastX++;
|
||||
$Yaff[''.$lastX.' ']=$Y[$j]=$tab[$i];
|
||||
}
|
||||
}
|
||||
/*print_r($Yaff);
|
||||
print_r($Y);
|
||||
*/
|
||||
$PROJECTAUX=$oReg->TauxProgression($nbAnnees);
|
||||
$PROJECCOEF=$oReg->vCoefCorLin*100;
|
||||
/*
|
||||
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $SIREN : Regression Fin",
|
||||
'$nbAnnees='.$nbAnnees." ($tabRegY)".EOL.
|
||||
'$tabRegX='.print_r($tabRegX,true).EOL.
|
||||
'$tabRegY='.print_r($tabRegY,true).EOL.
|
||||
'Régression $tab='.print_r($tab,true).EOL.
|
||||
EOL.
|
||||
'$Yaff='.print_r($Yaff,true).EOL.
|
||||
'$Y='.print_r($Y,true).EOL.
|
||||
'$PROJECTAUX='.$PROJECTAUX.EOL.
|
||||
'$PROJECCOEF='.$PROJECCOEF.EOL);
|
||||
*/
|
||||
return end($tab);
|
||||
}
|
||||
|
||||
function PROJECTAUX($tabRegY,$nbAnnees) {
|
||||
global $tabRegX;
|
||||
if (count($tabRegX)==0 || count($tabRegY)==0) return false;
|
||||
|
||||
$oReg= new Regression($tabRegY,$tabRegX);
|
||||
return $oReg->TauxProgression($nbAnnees);
|
||||
}
|
||||
|
||||
?>
|
@ -484,8 +484,8 @@ function format($matches)
|
||||
global $Rs, $Rsp, $Rsp2, $Rsp3, $Rsp4;
|
||||
global $Revol, $Revolp, $Revolp2, $Revolp3;
|
||||
global $Ra, $Rap, $Rdiff;
|
||||
global $regR, $regRs;
|
||||
global $tabFormulesRatios;
|
||||
global $regR, $regRs, $Y, $Yaff, $PROJEC, $PROJECTAUX, $PROJECCOEFF;
|
||||
global $tabFormulesRatios, $tabRegX;
|
||||
|
||||
$strRetour='$'.$matches[1];
|
||||
$strUnite='';
|
||||
@ -506,11 +506,25 @@ function format($matches)
|
||||
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace Graph", $strRetour);
|
||||
return $matches[1];
|
||||
} elseif (preg_match("/PROJEC\((R.*),(.*)\)/Ui", $strRetour, $matches2)) {
|
||||
if (preg_match('/Rs/', $matches2[2])) $valeur=$regRs6;
|
||||
else $valeur=$regR6;
|
||||
switch(strtoupper($matches2[1])) {
|
||||
if (preg_match('/Rs/', $matches2[2])) {
|
||||
$valeur = $regRs[6];
|
||||
} else {
|
||||
$valeur = $regR[6];
|
||||
}
|
||||
switch(strtoupper($matches2[1]))
|
||||
{
|
||||
//case 'PROJECCOEF': return formatRatio('', PROJECCOEF($valeur, $matches2[2]), strtoupper($tabFormulesRatios[6]['unite'])); break;
|
||||
case 'PROJEC': return formatRatio('', PROJEC($valeur, $matches2[2]), strtoupper($tabFormulesRatios[6]['unite'])); break;
|
||||
case 'PROJEC':
|
||||
require_once 'Metier/Scores/classMProjection.php';
|
||||
$projec = new Projection();
|
||||
$projec->tabRegX = $tabRegX;
|
||||
$result = $projec->calc($valeur, $matches2[2]);
|
||||
$Y = $projec->getY();
|
||||
$Yaff = $projec->getYaff();
|
||||
$PROJECTAUX = $projec->getProjecTaux();
|
||||
$PROECCOEFF = $projec->getProjecCoeff();
|
||||
return formatRatio('', $result, strtoupper($tabFormulesRatios[6]['unite']));
|
||||
break;
|
||||
//case 'PROJECTAUX': return formatRatio('', PROJECTAUX($valeur, $matches2[2]), strtoupper($tabFormulesRatios[6]['unite'])); break;
|
||||
}
|
||||
} elseif (preg_match('/\$\{(\+|!|)(Rp4|Rp3|Rp2|Rp|Rs|Rsp|Rap|Ra|Rdiff|Revolp2|Revolp|Revol|R|regR)\[(\d+)\]\}/Ui', $strRetour, $matches2)) {
|
||||
@ -567,6 +581,21 @@ function format($matches)
|
||||
return $strRetour.' '.$strUnite;
|
||||
}
|
||||
|
||||
function PROJEC($valeur, $nbAnnees)
|
||||
{
|
||||
global $tabRegX, $Y, $Yaff, $PROECCOEFF, $PROJECTAUX;
|
||||
require_once 'Metier/scores/classMProjection.php';
|
||||
$projec = new Projection();
|
||||
$projec->tabRegX = $tabRegX;
|
||||
$result = $projec->calc($valeur, $nbAnnees);
|
||||
if ( $result !== false ) {
|
||||
$Y = $projec->getY();
|
||||
$Yaff = $projec->getYaff();
|
||||
$PROJECTAUX = $projec->getProjecTaux();
|
||||
$PROECCOEFF = $projec->getProjecCoeff();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute the indiScore
|
||||
* @param string $siren
|
||||
@ -577,7 +606,7 @@ function format($matches)
|
||||
* @param string $type
|
||||
* "scores" ou "valo"
|
||||
*/
|
||||
function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mailDebug=true, $type = 'scores', $sourceModif='jour')
|
||||
function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mailDebug=true, $type = 'scores', $sourceModif='jour', $db = null)
|
||||
{
|
||||
$timer = array('debutIndiscore'=>microtime(true));
|
||||
if (strlen($siren)>9 || (substr(''.$siren,0,9)*1)<100 ) {
|
||||
@ -610,7 +639,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
$NIVEAU=$cycleClient; // 1, 2, 3 ou 5 Niveau de version des commentaires
|
||||
|
||||
$iDb = new WDB();
|
||||
if ( $db === null ) {
|
||||
$iDb = new WDB();
|
||||
} else {
|
||||
$iDb = $db;
|
||||
}
|
||||
$iRncs = new MRncs($iDb);
|
||||
$iInsee = new MInsee($iDb);
|
||||
$iInsee->AnnoncesInMemory = true;
|
||||
@ -1060,11 +1093,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
global $PROJECTAUX; // Taux de projection de n à n+$nbAnnees
|
||||
global $PROJECCOEF;
|
||||
|
||||
$tabRegX=array();
|
||||
foreach ($tabBilans as $tabTmp){
|
||||
$tabRegX[]=$tabTmp['millesime'];
|
||||
$tabRegX = array();
|
||||
foreach ($tabBilans as $k => $tabTmp){
|
||||
$tabRegX[] = $tabTmp['millesime'];
|
||||
}
|
||||
$iMax=count($tabRegX);
|
||||
$iMax = count($tabRegX);
|
||||
|
||||
$EFFECTIF=$R[24];
|
||||
if ($EFFECTIF*1==0 && $efftr>0) $EFFECTIF=$efftr;
|
||||
@ -1167,26 +1200,30 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
|
||||
// Régression : Ratios
|
||||
foreach ($tabFormules as $i2=>$Rtmp) {
|
||||
for ($i=0;$i<=$iMax;$i++) {
|
||||
if (isset($tabRatios[$i][$Rtmp['id']])) {
|
||||
foreach ($tabFormules as $i2 => $Rtmp)
|
||||
{
|
||||
for ( $i = 0 ; $i <= $iMax ; $i++ ) {
|
||||
if ( isset($tabRatios[$i][$Rtmp['id']]) ) {
|
||||
$regR[$Rtmp['id']][]=$tabRatios[$i][$Rtmp['id']];
|
||||
} else {
|
||||
unset($tabRegX[$i]);
|
||||
if ( array_key_exists($i, $tabRegX) ) {
|
||||
//unset($tabRegX[$i]);
|
||||
}
|
||||
}
|
||||
if (isset($tabRatiosSecteurs[$i][$Rtmp['id']]))
|
||||
if (isset($tabRatiosSecteurs[$i][$Rtmp['id']])) {
|
||||
$regRs[$Rtmp['id']][]=$tabRatiosSecteurs[$i][$Rtmp['id']];
|
||||
}
|
||||
}
|
||||
if ( is_array($regR) && array_key_exists($Rtmp['id'], $regR) ) {
|
||||
$regR[$Rtmp['id']]=array_reverse($regR[$Rtmp['id']]);
|
||||
$regR[$Rtmp['id']] = array_reverse($regR[$Rtmp['id']]);
|
||||
}
|
||||
|
||||
if ( is_array($regRs) && array_key_exists($Rtmp['id'], $regRs) ) {
|
||||
$regRs[$Rtmp['id']]=array_reverse($regRs[$Rtmp['id']]);
|
||||
$regRs[$Rtmp['id']] = array_reverse($regRs[$Rtmp['id']]);
|
||||
}
|
||||
}
|
||||
// On renverse les tableaux 2008, 2007, 2006... en 2006, 2007, 2008
|
||||
$tabRegX=array_reverse($tabRegX);
|
||||
$tabRegX = array_reverse($tabRegX);
|
||||
|
||||
$timer['regression']=microtime(true);
|
||||
|
||||
@ -1862,9 +1899,21 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
/**
|
||||
* Solvabilité
|
||||
*/
|
||||
$isolv = new MSolvabilite($siren, $naf, $tabIdentite['EffEnTr'], $tabIdentite['Effectif']*1, $tabIdentite['CP'],
|
||||
$fj, $tabIdentite['Capital'], $tabIdentite['CapitalDev'], $tabIdentite['DateCreaEn'],
|
||||
$tabIdentite['DateCreaEt'], '', $RECME);//, $tabIdentite['Singularite']);
|
||||
$isolv = new MSolvabilite(
|
||||
$siren,
|
||||
$naf,
|
||||
$tabIdentite['EffEnTr'],
|
||||
$tabIdentite['Effectif']*1,
|
||||
$tabIdentite['CP'],
|
||||
$fj,
|
||||
$tabIdentite['Capital'],
|
||||
$tabIdentite['CapitalDev'],
|
||||
$tabIdentite['DateCreaEn'],
|
||||
$tabIdentite['DateCreaEt'],
|
||||
'',
|
||||
$RECME,
|
||||
$iDb
|
||||
);
|
||||
$noteStructure=$isolv->getSolvabilite();
|
||||
$timer['solv']=microtime(true);
|
||||
|
||||
@ -1927,7 +1976,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if (count($tabA)>0) {
|
||||
foreach ($tabA as $i=>$lien)
|
||||
{
|
||||
$lienInsee = new MInsee();
|
||||
$lienInsee = new MInsee($iDb);
|
||||
if(intval($lien->siren)>100 && ( $lien->MajMin=='+' || $lien->PDetention>50))
|
||||
{
|
||||
$tabIdentiteA=$lienInsee->getIdentiteLight($lien->siren);
|
||||
@ -1966,7 +2015,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
if (count($tabP)>0) {
|
||||
foreach ($tabP as $i=>$lien) {
|
||||
if ($lien->siren>100 && ( $lien->MajMin=='+' || $lien->PDetention>50)) {
|
||||
$lienInsee = new MInsee();
|
||||
$lienInsee = new MInsee($iDb);
|
||||
$NBFILLE++; // Nombre de participations à plus de 50%
|
||||
if ($NBFILLE==1) {
|
||||
$tabIdentiteP=$lienInsee->getIdentiteLight($lien->siren);
|
||||
@ -2023,7 +2072,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
}
|
||||
if ($numBil>2) break;
|
||||
|
||||
$icotation = new ICotation($item, true);
|
||||
$icotation = new ICotation($item, true, $iDb);
|
||||
$secteur=$icotation->getSecteurActivite($isolv->getNaf4($naf));
|
||||
$libSecteur=$icotation->tabLibActivite[$secteur];
|
||||
$chiffeAffaire=$icotation->calculChiffreAffaires($isolv->getNaf4($naf));
|
||||
@ -2433,7 +2482,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$COTEOK=$IMPAYE=$PRIVILEGES=$RISQUEGROUPE=$DEFAUT=$LCASSUR=$RISQUEIMPAYE=$CSFACTO=false;
|
||||
$MODIFPAIDATE=0;
|
||||
require_once 'Metier/partenaires/classMFacto.php';
|
||||
$iFacto = new MFacto();
|
||||
$iFacto = new MFacto($iDb);
|
||||
$infoFacto = $iFacto->getCoteSpeciale($siren);
|
||||
$timer['factoCS']=microtime(true);
|
||||
|
||||
@ -3090,7 +3139,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
/** INFOS Orias **/
|
||||
require_once 'Metier/partenaires/classMOrias.php';
|
||||
$iOrias = new MOrias(false);
|
||||
$iOrias = new MOrias(false, $iDb);
|
||||
$tabTmp = $iOrias->getInfosOrias($SIREN);
|
||||
$ORIASID=$ORIASCAT=$ORIASID_DATE='';
|
||||
if (count($tabTmp)>0) {
|
||||
@ -3114,8 +3163,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
$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();
|
||||
$ret=$iMarque->getMarques($siren);
|
||||
$iMarque = new MMarques($iDb);
|
||||
$ret = $iMarque->getMarques($siren);
|
||||
if ($ret!==false && count($ret)>0) {
|
||||
foreach ($ret as $i=>$marque) {
|
||||
switch ($marque['rayonMarque']) {
|
||||
@ -3291,7 +3340,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
*/
|
||||
// Locaux
|
||||
require_once 'Metier/partenaires/classMCadastre.php';
|
||||
$iCadastre=new MCadastre();
|
||||
$iCadastre=new MCadastre($iDb);
|
||||
$tabTmp=$iCadastre->getLocaux($siren);
|
||||
if(count($tabTmp)>0 ) {
|
||||
foreach ($tabTmp as $iTmp=>$cad) {
|
||||
@ -3577,28 +3626,41 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|
||||
|
||||
if(INDISCORE_DEBUG) {
|
||||
|
||||
$variables="\n\$NIVEAU=$NIVEAU\n\$numBil=$numBil\n\$noteSD=$noteSD\n\t-----";
|
||||
$variables="\n\$NIVEAU=$NIVEAU\n\$numBil=$numBil\n\$noteSD=$noteSD\n\t-----\n";
|
||||
|
||||
foreach ($tabVar as $var){
|
||||
if (isset(${$var})) $variables.="$var='${$var}'".EOL;
|
||||
else $variables.="$var='${$var}' NON DEFINIE !!!".EOL;
|
||||
}
|
||||
foreach ($tabVar as $var)
|
||||
{
|
||||
if (isset(${$var})) {
|
||||
if (is_array(${$var})) {
|
||||
$variables.="$var=".print_r(${$var}).EOL;
|
||||
} else {
|
||||
$variables.="$var='${$var}'".EOL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$variables.="$var='${$var}' NON DEFINIE !!!".EOL;
|
||||
}
|
||||
}
|
||||
|
||||
file_put_contents($SIREN.'_'.$type.'.log',
|
||||
"Indiscore sur $siren : Commentaires".EOL.
|
||||
"Liste des variables :\n$variables".EOL.
|
||||
"Liste des variables :\n$variables".EOL.
|
||||
'CA_COEF='.$CA_COEF.EOL.
|
||||
'CA_Y='.print_r($CA_Y,true).EOL.EOL.
|
||||
'RCAI_COEF='.$RCAI_COEF.EOL.
|
||||
'RCAI_Y='.print_r($RCAI_Y,true).EOL.
|
||||
"PROJECTAUX=$PROJECTAUX".EOL.
|
||||
"Yaff=".print_r($Yaff,true).EOL.
|
||||
"tabRegX=".print_r($tabRegX,true).EOL.
|
||||
print_r($tabComment, true).EOL.
|
||||
"Liste des variables :\n".print_r($tabVariables, true).EOL.
|
||||
"Liste des commentaires a trier :\n".print_r($tabCommentairesATrier,true).EOL.
|
||||
"Tableau des codes de tri pour calcul :\n".print_r($tabTri,true).EOL.
|
||||
"Tableau des codes de tri pour affichage :\n".print_r($tabTriAff,true).EOL.
|
||||
$debugFormule.EOL.'-----------------------'.EOL.
|
||||
"Liste des Bilans :\n".print_r($tabBilans, true).EOL.
|
||||
//"Détail des postes Bilans :\n".print_r($tabBilan, true).EOL.
|
||||
//
|
||||
//"Liste des Formules Ratios :\n".print_r($tabFormulesRatios, true).EOL.
|
||||
//"Debug variables :\n".file_get_contents('/var/www/log/debugFmt.log').EOL.
|
||||
"\$tabBil=\n".print_r($tabBil,true).EOL
|
||||
"tabBil=".print_r($tabBil,true).EOL.
|
||||
"Liste des Ratios :\n".print_r($tabRatios, true).EOL.
|
||||
"Liste des ratios Evolutions :\n". print_r($tabRatiosEvol, true).EOL
|
||||
);
|
||||
|
||||
$i=0; $strTime='';
|
||||
@ -3613,44 +3675,9 @@ 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 ".ENV, $strTime.EOL.$strNote.EOL.$variables.EOL.print_r($tabRatiosInfos,true));
|
||||
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));
|
||||
}
|
||||
/*
|
||||
if(ENV<>'PRD' && $mailDebug)
|
||||
sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com,jm.champeau@recocash.com', "Indiscore sur $siren : Variables",
|
||||
'CA_COEF='.$CA_COEF.EOL.
|
||||
'CA_Y='.print_r($CA_Y,true).EOL.
|
||||
EOL.
|
||||
'RCAI_COEF='.$RCAI_COEF.EOL.
|
||||
'RCAI_Y='.print_r($RCAI_Y,true).EOL.
|
||||
"rcai TAUX=$PROJECTAUX".EOL.
|
||||
"y aff=".print_r($Yaff,true).EOL.
|
||||
"x=".print_r($tabRegX,true).EOL.
|
||||
EOL.
|
||||
print_r($tabComment, true).EOL.EOL.
|
||||
$variables.EOL."Liste des Ratios :\n".print_r($tabRatios, true).EOL.
|
||||
"Liste des ratios Evolutions :\n". print_r($tabRatiosEvol, true).EOL.
|
||||
"Liste des commentaires Debug :\n".print_r($tabCommentairesTmp, true));
|
||||
*/
|
||||
|
||||
/*sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com',
|
||||
"Indiscore sur $siren : Commentaires",
|
||||
"Liste des variables :\n$variables".EOL.
|
||||
print_r($tabComment, true).EOL.
|
||||
"Liste des variables :\n".print_r($tabVariables, true).EOL.
|
||||
"Liste des commentaires Debug :\n".print_r($tabCommentairesTmp, true).EOL.
|
||||
"Liste des commentaires a trier :\n".print_r($tabCommentairesATrier,true).EOL.
|
||||
"Tableau des codes de tri pour calcul :\n".print_r($tabTri,true).EOL.
|
||||
"Tableau des codes de tri pour affichage :\n".print_r($tabTriAff,true).EOL.
|
||||
$debugFormule.EOL.'-----------------------'.EOL.
|
||||
"Liste des Bilans :\n".print_r($tabBilans, true).EOL.
|
||||
//"Détail des postes Bilans :\n".print_r($tabBilan, true).EOL.
|
||||
//
|
||||
//"Liste des Formules Ratios :\n".print_r($tabFormulesRatios, true).EOL.
|
||||
//"Debug variables :\n".file_get_contents('/var/www/log/debugFmt.log').EOL.
|
||||
"\$tabBil=\n".print_r($tabBil,true).EOL
|
||||
);*/
|
||||
|
||||
// EntActiveRCS
|
||||
if ($ACTIFRNCS || $ACTIFINSEE) {
|
||||
|
@ -3,6 +3,7 @@ require_once 'Metier/scores/classMFinancier.php';
|
||||
|
||||
class MSolvabilite
|
||||
{
|
||||
protected $iDb;
|
||||
private $naf;
|
||||
private $trEff;
|
||||
private $dep;
|
||||
@ -1040,8 +1041,14 @@ class MSolvabilite
|
||||
* @param number $recme
|
||||
* @return boolean
|
||||
*/
|
||||
public function __construct($siren, $naf='', $trancheEff='', $effectifReel='', $depSiege_CodePosSiege='', $fj='', $capital='', $capitalDev='', $dateCreaEn='', $dateCreaSiege='', $singularite='', $recme=0)
|
||||
public function __construct($siren, $naf='', $trancheEff='', $effectifReel='', $depSiege_CodePosSiege='', $fj='', $capital='', $capitalDev='', $dateCreaEn='', $dateCreaSiege='', $singularite='', $recme=0, $db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->naf=$naf;
|
||||
$this->trEff=$trancheEff;
|
||||
if($this->trEff=='NN' || $this->trEff=='00' || ($this->trEff*1)==0) {
|
||||
@ -1099,7 +1106,7 @@ class MSolvabilite
|
||||
else
|
||||
$nbPoints=5;
|
||||
elseif (strlen($this->naf)==5) {
|
||||
$iCotation = new ICotation(array());
|
||||
$iCotation = new ICotation(array(), true, $this->iDb);
|
||||
//print_r($iCotation->tabNaf21);
|
||||
//die();
|
||||
if (isset($iCotation->tabNaf21[$this->naf])) {
|
||||
@ -1129,7 +1136,7 @@ class MSolvabilite
|
||||
$naf5=$this->naf;
|
||||
|
||||
if (strlen($naf5)==5) {
|
||||
$iCotation = new ICotation(array());
|
||||
$iCotation = new ICotation(array(), true, $this->iDb);
|
||||
return $iCotation->tabNaf21[$naf5];
|
||||
}
|
||||
return $naf5;
|
||||
|
@ -9,7 +9,7 @@ $tabVar = array(
|
||||
'AGE',
|
||||
'ANNEEp3',
|
||||
'ANNEEp2',
|
||||
'ANNEEp1',
|
||||
'ANNEEp',
|
||||
'ANNEE',
|
||||
'ANNEE1',
|
||||
'ANNEE2',
|
||||
|
@ -304,9 +304,9 @@ function premiereRequeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
|
||||
foreach ($formR as $label => $valeur) {
|
||||
if ($label == 'naf' && empty($valeur) == false) {
|
||||
$requete_sphinx .= '@ape_etab '.$valeur.' ';
|
||||
} else if (empty($valeur) == false &&
|
||||
isset($criteresSphinx[$label]) == true &&
|
||||
strstr($criteres, $form2crit[$label]) != false) {
|
||||
} else if (empty($valeur) == false
|
||||
&& isset($criteresSphinx[$label]) == true
|
||||
&& strstr($criteres, $form2crit[$label]) != false) {
|
||||
if ($label == 'raisonSociale') {
|
||||
$sans_espace = str_replace(' ', '', $valeur);
|
||||
if ($sans_espace != $valeur) {
|
||||
@ -360,9 +360,9 @@ function requeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
|
||||
foreach ($formR as $label => $valeur) {
|
||||
if ($label == 'naf' && empty($valeur) == false) {
|
||||
$requete_sphinx .= '@ape_etab '.$valeur.' ';
|
||||
} else if (empty($valeur) == false &&
|
||||
isset($criteresSphinx[$label]) == true &&
|
||||
strstr($criteres, $form2crit[$label]) != false) {
|
||||
} else if (empty($valeur) == false
|
||||
&& isset($criteresSphinx[$label]) == true
|
||||
&& strstr($criteres, $form2crit[$label]) != false) {
|
||||
$requete_sphinx .= $criteresSphinx[$label].' '.$valeur.' ';
|
||||
}
|
||||
}
|
||||
@ -722,16 +722,18 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
//$pertinence_generale = 100 - 5 * $resSphinx['pass'];;
|
||||
$tot = 0;
|
||||
$num = 0;
|
||||
$poids = array('I' => 10,
|
||||
'T' => 1,
|
||||
'S' => 9,
|
||||
'E' => 8,
|
||||
'P' => 7,
|
||||
'D' => 6,
|
||||
'L' => 4,
|
||||
'V' => 5,
|
||||
'N' => 2,
|
||||
'R' => 3);
|
||||
$poids = array(
|
||||
'I' => 10,
|
||||
'T' => 1,
|
||||
'S' => 9,
|
||||
'E' => 8,
|
||||
'P' => 7,
|
||||
'D' => 6,
|
||||
'L' => 4,
|
||||
'V' => 5,
|
||||
'N' => 2,
|
||||
'R' => 3,
|
||||
);
|
||||
foreach ($form2crit as $field => $letter) {
|
||||
if (empty($formR[$field]) == false) {
|
||||
$tot += $poids[$letter];
|
||||
@ -782,7 +784,19 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
if ( intval($ligne['adr_dep'])==99 && intval($ligne['adr_num'])==0) {
|
||||
$adresse.= $ligne['adr_typeVoie'].' '.$ligne['adr_libVoie'];
|
||||
} else {
|
||||
$adresse = $ligne['adr_num'].' '.$ligne['adr_typeVoie'].' '.$ligne['adr_libVoie'];
|
||||
if ( !empty($ligne['adr_num']) ) {
|
||||
$adresse.= $ligne['adr_num'].' ';
|
||||
}
|
||||
if ( !empty($ligne['adr_btq']) ) {
|
||||
$adresse.= $ligne['adr_btq'].' ';
|
||||
}
|
||||
if ( !empty($ligne['adr_typeVoie']) ) {
|
||||
$adresse.= $ligne['adr_typeVoie'].' ';
|
||||
}
|
||||
if ( !empty($ligne['adr_libVoie']) ) {
|
||||
$adresse.= $ligne['adr_libVoie'].' ';
|
||||
}
|
||||
$adresse = trim($adresse);
|
||||
}
|
||||
$ret['reponses'][$i]['Adresse'] = $adresse;
|
||||
$ret['reponses'][$i]['Adresse2'] = $ligne['adr_comp'];
|
||||
@ -964,6 +978,7 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
e.sigle,
|
||||
e.enseigne,
|
||||
e.adr_num,
|
||||
e.adr_btq,
|
||||
e.adr_typeVoie,
|
||||
e.adr_libVoie,
|
||||
e.adr_comp,
|
||||
@ -1005,16 +1020,16 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
|
||||
$nom = $ligne['nom'];
|
||||
if ( $ligne['naissance_nom']!='' ) {
|
||||
$nom.= " nom d'usage ".$ligne['naissance_nom'];
|
||||
$nom.= " née ".$ligne['naissance_nom'];
|
||||
}
|
||||
$ligneDir[$i] = array(
|
||||
'id' => $ligne['id'],
|
||||
'nom' => $nom,
|
||||
'prenom' => $ligne['prenom'],
|
||||
'id' => $ligne['id'],
|
||||
'nom' => $nom,
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib'],
|
||||
'naissance_nom'=> $ligne['naissance_nom'],
|
||||
'naissance_date'=> $ligne['naissance_date'],
|
||||
'naissance_lieu'=> $ligne['naissance_lieu']
|
||||
'naissance_nom' => $ligne['naissance_nom'],
|
||||
'naissance_date' => $ligne['naissance_date'],
|
||||
'naissance_lieu' => $ligne['naissance_lieu']
|
||||
);
|
||||
}
|
||||
|
||||
@ -1627,6 +1642,7 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
|
||||
sigle,
|
||||
enseigne,
|
||||
adr_num,
|
||||
adr_btq,
|
||||
adr_typeVoie,
|
||||
adr_libVoie,
|
||||
adr_comp,
|
||||
|
@ -23,7 +23,7 @@ class WDB
|
||||
}
|
||||
|
||||
if ( $host === null ) {
|
||||
$c = Zend_Registry::get('config');
|
||||
$c = Zend_Registry::get('config');
|
||||
$config = new Zend_Config(array(
|
||||
'adapter' => $c->profil->db->metier->adapter,
|
||||
'params' => array(
|
||||
@ -122,7 +122,7 @@ class WDB
|
||||
$query='UPDATE `'.$table.'` SET ';
|
||||
while(isset($fields[$i])){
|
||||
if($i>0) { $query.=', '; }
|
||||
$query.=' `'.$fields[$i]."`='".checkaddslashes($values[$i])."'";
|
||||
$query.=' '.$fields[$i]."='".$this->db->quote($values[$i])."'";
|
||||
$i++;
|
||||
}
|
||||
$query = str_replace("'NULL'", 'NULL', $query);
|
||||
@ -205,11 +205,7 @@ class WDB
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
|
||||
$fpErr = fopen(LOG_PATH.'/sqlerror.log','a');
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.$e->getCode().' - '. $e->getMessage().PHP_EOL);
|
||||
|
||||
file_put_contents(LOG_PATH.'/sqlerror.log', date('YmdHis')." - ".$query."\n".$e->getCode().':'. $e->getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
class WDB {
|
||||
|
||||
class WDB
|
||||
{
|
||||
private $host;
|
||||
private $database;
|
||||
private $user;
|
||||
@ -9,8 +8,8 @@ class WDB {
|
||||
private $con_id; // Connection ID with MySQL
|
||||
private $result;
|
||||
|
||||
public function __construct($database='', $host='', $user='', $password='') {
|
||||
|
||||
public function __construct($database='', $host='', $user='', $password='')
|
||||
{
|
||||
if ($host=='') $this->host=MYSQL_HOST;
|
||||
else $this->host=$host;
|
||||
if ($user=='') $this->user=MYSQL_USER;
|
||||
@ -45,20 +44,19 @@ class WDB {
|
||||
** @param array Valeurs insérer
|
||||
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
**/
|
||||
public function insert($table, $toAdd, $debug=false, $low_priority=false){
|
||||
$this->setDB();
|
||||
public function insert($table, $toAdd, $debug=false, $low_priority=false)
|
||||
{
|
||||
$fields = implode(array_keys($toAdd), '`,`');
|
||||
foreach (array_values($toAdd) as $key=>$array_values)
|
||||
$tmp[$key]=checkaddslashes($array_values);
|
||||
|
||||
$values = "'".implode(array_values($tmp), "','")."'"; # better
|
||||
$values = str_replace("'NULL'", 'NULL', $values);
|
||||
|
||||
if ($low_priority)
|
||||
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
|
||||
else
|
||||
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
|
||||
|
||||
if ($low_priority)
|
||||
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
|
||||
else
|
||||
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
|
||||
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
$res = mysql_query($query, $this->con_id);
|
||||
@ -73,15 +71,15 @@ public function insert($table, $toAdd, $debug=false, $low_priority=false){
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false){
|
||||
$this->setDB();
|
||||
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false)
|
||||
{
|
||||
$fields = array_keys($update);
|
||||
$values = array_values($update);
|
||||
$i=0;
|
||||
if ($low_priority)
|
||||
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
|
||||
else
|
||||
$query='UPDATE `'.$table.'` SET ';
|
||||
if ($low_priority)
|
||||
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
|
||||
else
|
||||
$query='UPDATE `'.$table.'` SET ';
|
||||
while(isset($fields[$i])){
|
||||
if($i>0) { $query.=', '; }
|
||||
$query.=' `'.$fields[$i]."`='".checkaddslashes($values[$i])."'";
|
||||
@ -96,12 +94,12 @@ public function update($table, $update, $where, $debug=false, $limit=0, $low_pri
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function delete($table, $where, $debug=false, $low_priority=false) {
|
||||
$this->setDB();
|
||||
if ($low_priority)
|
||||
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
else
|
||||
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
public function delete($table, $where, $debug=false, $low_priority=false)
|
||||
{
|
||||
if ($low_priority)
|
||||
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
else
|
||||
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
$res=mysql_query($query, $this->con_id);
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
@ -109,7 +107,6 @@ public function delete($table, $where, $debug=false, $low_priority=false) {
|
||||
}
|
||||
|
||||
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
|
||||
$this->setDB();
|
||||
if (mysql_select_db($this->database, $this->con_id) === false) {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
@ -140,25 +137,25 @@ public function delete($table, $where, $debug=false, $low_priority=false) {
|
||||
}
|
||||
|
||||
public function fetch($assoc=MYSQL_BOTH) {
|
||||
return mysql_fetch_array($this->result, $assoc);
|
||||
return mysql_fetch_array($this->result, $assoc);
|
||||
}
|
||||
|
||||
public function trace($query, $res='', $tdeb=-1) {
|
||||
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
|
||||
return false;
|
||||
$errnum=mysql_errno($this->con_id);
|
||||
if ($tdeb>-1) $duree=substr(''.microtime_float()-$tdeb, 0, 5);
|
||||
else $duree='N/D';
|
||||
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
|
||||
return false;
|
||||
if (!fclose($fp))
|
||||
return false;
|
||||
return true;
|
||||
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
|
||||
return false;
|
||||
$errnum=mysql_errno($this->con_id);
|
||||
if ($tdeb>-1) $duree=substr(''.microtime_float()-$tdeb, 0, 5);
|
||||
else $duree='N/D';
|
||||
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
|
||||
return false;
|
||||
if (!fclose($fp))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Exécute la requête passé en paramètre **/
|
||||
public function query($query, $debug=false){
|
||||
$this->setDB();
|
||||
public function query($query, $debug=false)
|
||||
{
|
||||
$this->result=mysql_query($query, $this->con_id);
|
||||
return $this->result;
|
||||
}
|
||||
@ -173,17 +170,20 @@ public function delete($table, $where, $debug=false, $low_priority=false) {
|
||||
return mysql_error($this->con_id);
|
||||
}
|
||||
/** Retourne le numéro de la dernière erreur **/
|
||||
public function getLastErrorNum() {
|
||||
public function getLastErrorNum()
|
||||
{
|
||||
return mysql_errno($this->con_id);
|
||||
}
|
||||
|
||||
/** Retourne le libellé et le numéro de la dernière erreur **/
|
||||
public function getLastError() {
|
||||
public function getLastError()
|
||||
{
|
||||
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
|
||||
}
|
||||
|
||||
/** Retourne le nombre de lignes modifiées par la dernière requête **/
|
||||
public function getAffectedRows() {
|
||||
public function getAffectedRows()
|
||||
{
|
||||
return mysql_affected_rows($this->con_id);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user