2015-01-07 07:08:25 +00:00
< ? php
2016-02-25 10:49:36 +00:00
class Metier_Partenaires_MPrivileges
2015-01-07 07:08:25 +00:00
{
public $tabCodeAR = array (
2016-08-08 15:51:03 +02:00
'00' => " Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier " ,
'01' => " Surveillance PRIV posée : inscription existante sur le dossier " ,
'02' => " GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR " ,
'03' => " GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR " ,
'04' => " GAGI-surveillance en attente envoyée au GAGI " ,
'05' => " Surveillance en attente de validation au greffe " ,
'06' => " Erreur de chargement " ,
'10' => " Surveillance impossible car société radiée " ,
'11' => " Surveillance impossible car société transférée dans un autre greffe " ,
'12' => " SIREN inconnu " ,
'13' => " Raison sociale erronée " ,
'14' => " Adresse erronée " ,
'15' => " Surveillance impossible sur un établissement secondaire " ,
'16' => " Demande incomplète ou incorrecte " ,
'17' => " Surveillance Privilège impossible " ,
'18' => " Surveillance impossible par le greffe " ,
'19' => " Surveillance RCS impossible " ,
'20' => " Cette surveillance concerne un autre Greffe " ,
'21' => " Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger) " ,
'22' => " Plusieurs Bottins (débiteurs) (GAGI) " ,
'23' => " Société de fait (GAGI) : Société non enregistrée au Registre du Commerce " ,
'24' => " Surveillance impossible car société en liquidation judiciaire " ,
'25' => " Greffe inconnu " ,
'26' => " Millésime bilan à surveiller incorrect " ,
'27' => " Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression) " ,
'28' => " Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé) " ,
'30' => " Siren absent (ne concerne que les surveillances de type WebService) " ,
'31' => " Surveillance BILAN impossible sur une société non commerciale (statut <> B) " ,
'50' => " Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé " ,
'51' => " Etablissement non trouvé " ,
'52' => " Code catalogue de la surveillance non renseigné ou incorrect " ,
'53' => " le siren est déjà sous surveillance " ,
'54' => " DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement " ,
'55' => " DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes " ,
'56' => " Le siren est déjà en attente de validation par le greffe " ,
'57' => " Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan) " ,
'58' => " Surveillance impossible sur un agent commercial (statut P ou M) " ,
'59' => 'Surveillance impossible sur une société non RCS ?' ,
'88' => " Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement " ,
'99' => " Surveillance impossible pour raisons à examiner " ,
2013-06-19 09:45:13 +00:00
);
2015-01-07 07:08:25 +00:00
public $tabTypePriv = array (
2016-08-08 15:51:03 +02:00
'01' => " NANTISSEMENTS DU FONDS DE COMMERCE " ,
'02' => " PRIVILEGES DE VENDEUR ET ACTION RESOLUTOIRE " ,
'03' => " PRIVILEGES DE LA SECURITE SOCIALE ET DES REGIMES COMPLEMENTAIRES " ,
'04' => " PRIVILEGES DU TRESOR PUBLIC " ,
'05' => " OPERATIONS DE CREDIT-BAIL EN MATIERE MOBILIERE " ,
'06' => " PROTETS " ,
'07' => " NANTISSEMENTS DE L'OUTILLAGE, MATERIEL ET EQUIPEMENT " ,
'08' => " WARRANTS (HOTELIER, PETROLIER, INDUSTRIEL OU AGRICOLE) " ,
'10' => " NANTISSEMENTS DE PARTS DE SOCIETE CIVILE " ,
'17' => " PUBLICITES DE CONTRATS DE LOCATION " ,
'18' => " PUBLICITES DE CLAUSES DE RESERVE DE PROPRIETE " ,
'19' => " PRETS ET DELAIS " ,
'20' => " DECLARATIONS DE CREANCES " ,
'21' => " NANTISSEMENTS JUDICIAIRES " ,
'23' => " BIENS INALIENABLES " ,
'24' => " HYPOTHEQUES FLUVIALES " ,
'25' => " NANTISSEMENTS DU FONDS ARTISANAL " ,
'27' => " GAGE SANS DEPOSSESSION " ,
'28' => " GAGE DES STOCKS " ,
2013-06-19 09:45:13 +00:00
);
2016-08-08 15:51:03 +02:00
protected $iDb ;
2015-01-07 07:08:25 +00:00
public function __construct ( $db = null )
{
if ( $db === null ) {
2016-07-19 10:37:46 +02:00
$this -> iDb = new Metier_Util_Db ();
2015-01-07 07:08:25 +00:00
} else {
$this -> iDb = $db ;
}
2013-06-19 09:45:13 +00:00
}
2016-08-08 15:51:03 +02:00
/**
* Détail des privileges
*
* @ param string $siren
* @ param array $tabTypes
* @ return array
*/
2015-01-07 07:08:25 +00:00
public function getPrivilegesDetail ( $siren , $tabTypes = array ( '03' , '04' ))
{
2016-08-08 15:51:03 +02:00
$strTypes = implode ( " ',' " , $tabTypes );
if ( $strTypes != '' ) {
$strTypes = " AND i.insType IN (' $strTypes ') " ;
}
2015-01-07 07:08:25 +00:00
$fields = " i.id, i.dateEven, i.greffe , i.numDebiteur, i.sirenage, i.typeEven, i.dateFraiche, i.codeRev , i.debRaisonSociale , i.debSigle , i.debCiv , i.debNom , i.debPrenom , i.debConjoint , i.debUsage , i.debEnseigne , i.debActivite , i.debFj , i.debFjLib , i.debResidence , i.debNumVoie , i.debTypVoie , i.debLibVoie , i.debAdrComp , i.debCP , i.debVille , i.debPays , i.insType , i.insLib , i.insNum , i.insDate , i.insObjet , i.insMontant , i.insDev , i.insDateEch , i.insDateFin , i.insNanTx , i.insNanTitre , i.insNanOppo , i.insProNat , i.insProHui , i.insProRep , i.insNSCA , i.insNSCParts , i.insNSCSigni , i.creNom , i.creNumVoi, i.creTypVoi, i.creLibVoi, i.creAdrComp1, i.creAdrComp2, i.creCP, i.creVille, i.crePays, i.creAutres, i.radDate, i.radMention, i.radPartiel, i.radPartMt, i.radDev, i.radDiv, i.idFichier, i.dateInsert " ;
$where = " i.siren= $siren $strTypes AND ( (i.insType='03' AND DATEDIFF(NOW(),i.insDate)<=900) /** Durée de vie PRIV Sécu **/ OR (i.insType='04' AND DATEDIFF(NOW(),i.insDate)<=1460) /** Durée de vie PRIV Trésor **/ ) " ;
$where .= " ORDER BY i.dateFraiche DESC, i.insType ASC, i.insDate ASC; " ;
2015-05-18 14:32:07 +00:00
$tables = " jo.greffes_privileges i " ;
2013-06-19 09:45:13 +00:00
2016-02-25 10:49:36 +00:00
$iRncs = new Metier_Partenaires_MRncs ( $this -> iDb );
2015-01-07 07:08:25 +00:00
$tabRet = array ();
$tabPriv = $this -> iDb -> select ( $tables , $fields , $where , true , MYSQL_ASSOC );
2016-08-08 15:51:03 +02:00
if ( count ( $tabPriv ) > 0 ) {
foreach ( $tabPriv as $i => $priv ) {
if ( $i > 0 && $priv [ 'dateFraiche' ] != $dateFraiche ) {
break ;
}
$tabRet [] = array (
'numDebiteur' => $priv [ 'numDebiteur' ],
'greffe' => $priv [ 'greffe' ],
'greffeLib' => $iRncs -> getLibTribunal ( $priv [ 'greffe' ]),
'dateEven' => $priv [ 'dateEven' ],
'dateFraiche' => $priv [ 'dateFraiche' ],
'dateSD' => $priv [ 'dateInsert' ],
'insType' => $priv [ 'insType' ],
'insTypeLib' => $this -> tabTypePriv [ $priv [ 'insType' ]],
'insNum' => $priv [ 'insNum' ],
'insDate' => $priv [ 'insDate' ],
'insDateEch' => $priv [ 'insDateEch' ],
'insObjet' => $priv [ 'insObjet' ],
'insMontant' => $priv [ 'insMontant' ],
'insDev' => $priv [ 'insDev' ],
'insDateFin' => $priv [ 'insDateFin' ],
'radDate' => $priv [ 'radDate' ],
'radMention' => $priv [ 'radMention' ],
'radPartiel' => $priv [ 'radPartiel' ],
'radPartMt' => $priv [ 'radPartMt' ],
'radDev' => $priv [ 'radDev' ],
'creNom' => $priv [ 'creNom' ],
'creAdresse1' => trim ( preg_replace ( '/ +/' , ' ' , $priv [ 'creNumVoi' ] . ' ' . $priv [ 'creTypVoi' ] . ' ' . $priv [ 'creLibVoi' ])),
'creAdresse2' => $priv [ 'creAdrComp1' ],
'creAdresse3' => $priv [ 'creAdrComp2' ],
'creCP' => $priv [ 'creCP' ],
'creVille' => $priv [ 'creVille' ],
'crePays' => $priv [ 'crePays' ],
'creAutres' => $priv [ 'creAutres' ],
);
$dateFraiche = $priv [ 'dateFraiche' ];
}
2013-06-19 09:45:13 +00:00
}
2016-08-08 15:51:03 +02:00
2013-06-19 09:45:13 +00:00
return $tabRet ;
}
2016-08-08 15:51:03 +02:00
/**
* Cummul des privilèges
*
* @ param string $siren
* @ param array $tabTypes
* @ return array
*/
2015-01-07 07:08:25 +00:00
public function getPrivilegesCumul ( $siren , $tabTypes = array ( '03' , '04' ))
{
2016-02-25 10:49:36 +00:00
$iRncs = new Metier_Partenaires_MRncs ( $this -> iDb );
2015-01-07 07:08:25 +00:00
$tabRet = array ();
$tabTmp = $this -> getPrivilegesDetail ( $siren , $tabTypes );
2016-08-08 15:51:03 +02:00
if ( count ( $tabTmp ) > 0 ) {
foreach ( $tabTmp as $i => $priv ) {
$type = $priv [ 'insType' ];
if ( array_key_exists ( $type , $tabRet )) {
$tStock = $tabRet [ $type ];
$tStock [ 'nb' ] ++ ;
$tStock [ 'insCumul' ] += $priv [ 'insMontant' ];
} else {
$tStock [ 'nb' ] = 1 ;
$tStock [ 'insCumul' ] = $priv [ 'insMontant' ];
}
$tStock [ 'insTypeLib' ] = $priv [ 'insTypeLib' ];
$tStock [ 'dateFraiche' ] = $priv [ 'dateFraiche' ];
$tStock [ 'dateDerInsc' ] = $priv [ 'insDate' ];
$tStock [ 'nomDerCre' ] = $priv [ 'creNom' ];
$tStock [ 'numDebiteur' ] = $priv [ 'numDebiteur' ];
$tStock [ 'greffeLib' ] = $iRncs -> getLibTribunal ( $priv [ 'greffe' ]);
$tStock [ 'dateMajSD' ] = $priv [ 'dateSD' ];
$tabRet [ $type ] = $tStock ;
}
2013-06-19 09:45:13 +00:00
}
2016-08-08 15:51:03 +02:00
2013-06-19 09:45:13 +00:00
return $tabRet ;
}
}