2013-11-05 11:18:30 +00:00
< ? php
2014-05-24 16:57:17 +00:00
require_once __DIR__ . '/Types.php' ;
2013-11-05 11:18:30 +00:00
2014-05-24 16:57:17 +00:00
class Saisie extends Scores_Ws_Server
2013-11-05 11:18:30 +00:00
{
/**
2014-05-24 16:57:17 +00:00
* Liste les mandataires correspondant à un nom donné
2013-11-05 11:18:30 +00:00
* @ param mixed $codeTribunal Identifiants BODACC du tribunal ou tableau d 'Identifiants numériques des cours d' appel
* @ param array $type Type de mandataire ( A ) dministrateur , ( M ) andataire , ( O ) ppositions , ( N ) otaires , a ( V ) ocat
* @ param int $cpDep Code postal ou département du mandataire
* @ return SearchMandatairesReturn
*/
public function searchMandataires ( $nom , $type = array ( 'A' , 'M' ), $cpDep = 0 )
{
$this -> authenticate ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//Initialisation
if ( empty ( $type )) $type = array ( 'A' , 'M' );
if ( empty ( $cpDep )) $cpDep = 0 ;
$tabRet = array ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
debugLog ( 'I' , " Recherche de Mandataires ' $nom ' (Dep= $cpDep ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iInsee = new MInsee ();
$tabTmp = $iInsee -> searchMandataires ( $nom , true , $type , $cpDep );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
foreach ( $tabTmp as $i => $mand )
{
$mandataire = new SearchMandataire ();
$mandataire -> id = 'm' . $i ;
$mandataire -> mand = utf8_encode ( $mand );
$tabRet [] = $mandataire ;
}
$output = new SearchMandatairesReturn ();
$output -> result = $tabRet ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Enregistrement des informations saisie manuellement
* @ param string $siret
* @ param int $idEntreprise
* @ param string $infos
* @ return SetInfosEntrepReturn
*/
public function setInfosEntrep ( $siret , $idEntreprise , $infos )
{
$this -> authenticate ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//Initialisation
$tabRet = array ();
$iBodacc = new MBodacc ();
$iInsee = new MInsee ();
$result = false ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! $this -> checkEdition ()) {
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$error -> errnum = 1 ;
$error -> errmsg = 'Code Client Incorrect' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
} else {
$siren = substr ( $siret , 0 , 9 );
$nic = substr ( $siret , 9 , 5 );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iDb = new WDB ();
$tabInfos = json_decode ( $infos , true );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabIdentite = $tabInfos [ 'identite' ];
$tabJugement = $tabInfos [ 'jugement' ];
$tabActio = $tabInfos [ 'actionnaire' ];
$tabParti = $tabInfos [ 'participation' ];
$tabScores = $tabInfos [ 'score' ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Mise à jour de l'identité
if ( trim ( strtolower ( $tabIdentite [ 'web' ])) == 'http://' ){
$web = '' ;
} else {
$web = trim ( $tabIdentite [ 'web' ]);
}
$tabUpdate = array (
'isin' => trim ( $tabIdentite [ 'isin' ]),
'tel' => trim ( $tabIdentite [ 'tel' ]),
'fax' => trim ( $tabIdentite [ 'fax' ]),
'web' => $web ,
'mail' => trim ( $tabIdentite [ 'mail' ]),
'activite' => stripslashes ( trim ( $tabIdentite [ 'activite' ])),
'sirenDoublon' => substr ( str_replace ( ' ' , '' , strtr ( $tabIdentite [ 'sirenDoublon' ], '"\'./- ,\*#()' , ' ' )), 0 , 9 ),
'waldec' => trim ( str_replace ( ' ' , '' , strtr ( $tabIdentite [ 'waldec' ], '"\'./- ,\*#()' , ' ' ))),
);
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/** @todo non traitées : [capital_mt] => 335400, [capital_dev] => EUR **/
if ( ! $iDb -> update ( 'infos_entrep' , $tabUpdate , " siren=' $siren ' " ) ){
if ( ! $iDb -> insert ( 'infos_entrep' , array_merge ( array ( 'siren' => $siren ), $tabUpdate ))){
$error -> errnum = 1 ;
$error -> errmsg = 'Mise a jour impossible' ;
$output = new SetInfosEntrepReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
}
// Fin mise à jour identité
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Opposition INSEE
if ( $tabIdentite [ 'moisOppositionInsee' ] > 0 &&
$tabIdentite [ 'moisOppositionInsee' ] <= ( date ( 'Ym' ) * 1 ) ){
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iDb2 = new WDB ( 'insee' );
if ( ! $iDb2 -> insert ( 'insee_nondiff' , array ( 'siren' => $siren , 'insEVE' => 795 , 'mois' => $tabIdentite [ 'moisOppositionInsee' ])) ){
if ( $iDb2 -> getLastErrorNum () <> 1062 )
@ sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " ERREUR setInfosEntrep pour $siren " , " Erreur lors de l'inscription à la liste des oppositions de la sphère commerciale INSEE pour $siren au mois de " . $tabIdentite [ 'moisOppositionInsee' ] . " : " . EOL . print_r ( $tabIdentite , true ) . EOL . $iDb2 -> getLastError ());
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
}
// Fin opposition INSEE
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Refus d'inscription au RCS
if ( isset ( $tabIdentite [ 'moisRefusRCS' ]) && $tabIdentite [ 'moisRefusRCS' ] > 0
&& $tabIdentite [ 'moisRefusRCS' ] <= ( date ( 'Ym' ) * 1 )) {
$iInsee = new MInsee ();
$entrep = $iInsee -> getIdentiteLight ( $siren );
if ( $nic < 10 ) $nic = $entrep [ 'Nic' ];
$cj1 = substr ( $entrep [ 'FJ' ], 0 , 1 );
$iDb2 = new WDB ( 'insee' );
/** Insertion dans la tables des exclusions **/
$tabInsert = array (
'siren' => $siren ,
'nic' => $nic ,
'idSaisie' => $this -> tabInfoUser [ 'id' ],
'cj1' => $cj1 ,
'insEVE' => 'RCS' ,
'mois' => $tabIdentite [ 'moisRefusRCS' ],
);
if ( ! $iDb2 -> insert ( 'insee_nondiff' , $tabInsert ))
if ( $iDb2 -> getLastErrorNum () <> 1062 )
@ sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " ERREUR setInfosEntrep pour $siren " , " Erreur lors de l'inscription à la liste des refus d'enregistrement A au RCS pour $siren au mois de " . $tabIdentite [ 'moisRefusRCS' ] . " : " . EOL . print_r ( $tabInsert , true ) . EOL . print_r ( $tabIdentite , true ) . EOL . $iDb2 -> getLastError ());
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/** Insertion dans la tables des évènements **/
$tabInsert = array (
'insSIREN' => $siren ,
'siretValide' => $iInsee -> valideSiren ( $siren , $nic ),
'insNIC' => $nic ,
'insEVE' => 'RCS' ,
'insDATEVE' => $tabIdentite [ 'moisRefusRCS' ] . '28' ,
'insDATEMAJ' => date ( 'YmdHis' ),
'idFlux' => date ( 'Ymd' ));
if ( ! $iDb2 -> insert ( 'insee_even' , $tabInsert ))
@ sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " ERREUR setInfosEntrep pour $siren " , " Erreur lors de l'inscription à la liste des refus d'enregistrement B au RCS pour $siren au mois de " . $tabIdentite [ 'moisOppositionInsee' ] . " : " . EOL . print_r ( $tabInsert , true ) . EOL . print_r ( $tabIdentite , true ) . EOL . $iDb2 -> getLastError ());
}
// Fin refus d'inscription au RCS
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Domiciliataire
if ( ! empty ( $tabIdentite [ 'domiciliataire' ]) && $siren > 1000 ) {
if ( $tabIdentite [ 'domiciliataire' ] == 'oui' || $tabIdentite [ 'domiciliataire' ] == 'non' ) {
// L'entreprise et ces établissements seront mis à jour automatiquement ce soir
$iDb -> query ( " INSERT IGNORE INTO jo.tabAdrDom (siren,nic,siege, etActif, nom, sigle, enseigne, adrNum, adrBtq, adrTypVoie, adrLibVoie, ville, cp, depComEt, adrComp, cj, apen,apet, dateInsert)
SELECT siren , nic , siege , actif AS etActif , raisonSociale AS nom , sigle , enseigne , adr_num as adrNum , adr_btq AS adrBtq , adr_typeVoie AS adrTypVoie , adr_libVoie AS adrLibVoie , adr_ville AS ville , adr_cp AS cp , CONCAT ( adr_dep , adr_com ) AS depComEt , adr_comp AS adrComp , cj , ape_entrep AS apen , ape_etab AS apet , DATE ( NOW ()) as dateInsert
FROM jo . etablissements WHERE siren = $siren ; " , false);
}
// Si demande de suppression, on force l'indicateur ""
if ( $tabIdentite [ 'domiciliataire' ] == 'non' ) {
$tabUpdate = array ( 'pasEntrepDom' => 1 );
if ( ! $iDb -> update ( 'tabAdrDom' , $tabUpdate , " siren= $siren " ))
@ sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " ERREUR setInfosEntrep pour $siren " , " Erreur lors de la suppression du marqueur de domiciliation pour $siren : " . EOL . print_r ( $tabUpdate , true ) . EOL . $iDb -> getLastError ());
}
}
// Fin domiciliataire
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Insertion des scores
$tabUpdate = array ();
$setScore = false ;
if ( $tabScores [ 'encours' ] != '' || $tabScores [ 'encours' ] != null ){
$tabUpdate [ 'encours' ] = $tabScores [ 'encours' ];
$setScore = true ;
}
if ( $tabScores [ 'scoreSolv' ] != '' ){
$tabUpdate [ 'scoreSolv' ] = $tabScores [ 'scoreSolv' ];
$setScore = true ;
}
if ( $tabScores [ 'scoreDir' ] != '' ){
$tabUpdate [ 'scoreDir' ] = $tabScores [ 'scoreDir' ];
$setScore = true ;
}
if ( $tabScores [ 'scoreConf' ] != '' ){
$tabUpdate [ 'scoreConf' ] = $tabScores [ 'scoreConf' ];
$setScore = true ;
}
if ( $setScore ){
// Mise à jour des Cute Offs
if ( ! $iDb -> update ( 'scores_cutoff' , $tabUpdate , " siren= $siren " ) ){
if ( ! $iDb -> insert ( 'scores_cutoff' , array_merge ( array (
'siren' => $siren ,
'dateInsert' => date ( 'Ymd' ) ), $tabUpdate )) ){
@ sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " ERREUR setInfosEntrep pour $siren " , print_r ( $tabScores , true ) . EOL . $iDb -> getLastError ());
}
}
}
// Fin insertion des scores
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Insertion du jugement
$tabEven = $tabJugement [ 'even' ];
$nic = $tabJugement [ 'nic' ] * 1 ;
$entrep = $iInsee -> getIdentiteLight ( $siren , $nic );
if ( $nic > 0 && $tabEven [ 0 ] == 6700 && $entrep [ 'Siege' ] == 0 ){
// Radiation d'un établissement
$tabEven [ 0 ] = 6600 ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( count ( $tabEven ) > 0 ){
$idAdmin = str_replace ( 'm' , '' , trim ( $tabJugement [ 'admin' ]));
$idMand = str_replace ( 'm' , '' , trim ( $tabJugement [ 'mand' ]));
$idOppo = str_replace ( 'm' , '' , trim ( $tabJugement [ 'oppo' ]));
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabSource = explode ( '_' , $tabJugement [ 'source' ]);
$source =@ $tabSource [ 0 ];
$numJal =@ $tabSource [ 1 ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$dateSource = WDate :: dateT ( 'd/m/Y' , 'Ymd' , trim ( $tabJugement [ 'dateParution' ])) * 1 ;
if ( $dateSource < 20000101 )
$dateSource = date ( 'YmdHis' );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$montant = trim ( preg_replace ( '/[^0-9]/' , '' , $tabJugement [ 'montant' ])) * 1 ;
$actionsMt = trim ( preg_replace ( '/[^0-9]/' , '' , $tabJugement [ 'actionsMt' ])) * 1 ;
$actionsNb = trim ( preg_replace ( '/[^0-9]/' , '' , $tabJugement [ 'actionsNb' ])) * 1 ;
if ( $montant > 0 && ( $actionsNb > 0 || $actionsMt > 0 )) {
if ( $actionsNb > 0 ) $actionsMt = $montant / $actionsNb ;
elseif ( $actionsMt > 0 ) $actionsNb = $montant / $actionsMt ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//@todo : ça ne va pas marcher ici
$strDir = '' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( count ( $tabJugement [ 'nouvDir' ]) > 0 ) {
foreach ( $tabJugement [ 'nouvDir' ] as $dir ){
if ( intval ( $dir [ 'Fonc' ]) > 0 ){
$strDir .= $iBodacc -> getFctDir ( $dir [ 'Fonc' ]) . ' : ' . $dir [ 'Genre' ] . ' ' .
ucwords ( strtolower ( $dir [ 'Pre' ])) . ' ' . strtoupper ( $dir [ 'Nom' ]);
if ( ! empty ( $dir [ 'Dom' ])) {
$strDir .= ', domicilié à ' . $dir [ 'Dom' ] . '. ' ;
}
}
}
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( trim ( $tabJugement [ 'nouvAdrCp' ]) <> '' ){
$strAdr = stripslashes ( trim ( $tabJugement [ 'nouvAdr' ]) . ', ' .
trim ( $tabJugement [ 'nouvAdrCp' ]) . ' ' .
trim ( $tabJugement [ 'nouvAdrVille' ]));
} else {
$strAdr = '' ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( count ( $tabEven ) > 1 ){
$strEven = implode ( ';' , array_slice ( $tabEven , 1 ));
} else {
$strEven = '' ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabUpdate = array (
'strEven' => $strEven ,
'sirenValide' => $iInsee -> valideSiren ( $siren ),
'dateCessationPaiement' => empty ( $tabJugement [ 'datePaie' ]) ? '' :
WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , trim ( $tabJugement [ 'datePaie' ])),
'dateEffetFinP' => empty ( $tabJugement [ 'dateFinPeriode' ]) ? '' :
WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , trim ( $tabJugement [ 'dateFinPeriode' ])),
'tribunal' => trim ( $tabJugement [ 'tribunal' ]),
'montant' => $montant ,
'actionsNb' => $actionsNb ,
'inter1type' => 'A' ,
'inter1id' => $idAdmin ,
'inter1nom' => utf8_encode ( $iInsee -> getMandatairesParId ( $idAdmin )),
'inter2type' => 'M' ,
'inter2id' => $idMand ,
'inter2nom' => utf8_encode ( $iInsee -> getMandatairesParId ( $idMand )),
'inter3type' => 'O' ,
'inter3id' => $idOppo ,
'inter3nom' => utf8_encode ( $iInsee -> getMandatairesParId ( $idOppo )),
'complement' => stripslashes ( trim ( $tabJugement [ 'comp' ])),
'nouvActivite' => stripslashes ( trim ( $tabJugement [ 'nouvActivite' ])),
'nouvDir' => stripslashes ( trim ( $strDir )),
'nouvAdr' => $strAdr ,
'nouvFJ' => trim ( $tabJugement [ 'nouvFJ' ]),
'raisonSociale' => $entrep [ 'Nom' ],
'adresse' => $entrep [ 'Adresse' ],
'codePostal' => $entrep [ 'CP' ],
'ville' => $entrep [ 'Ville' ],
'source' => $source ,
'idSaisie' => $this -> tabInfoUser [ 'id' ],
'parutionIdJal' => $numJal ,
'parutionNum' => $tabJugement [ 'numParution' ],
);
$dateJuge = WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , trim ( $tabJugement [ 'dateJuge' ]));
$tabInsert = array_merge ( $tabUpdate , array (
'siren' => $siren ,
'dateJugement' => $dateJuge ,
'typeEven' => $tabEven [ 0 ],
'dateSource' => $dateSource ,
));
if ( ! $iDb -> insert ( 'annonces' , array_merge ( $tabInsert , array ( 'dateInsert' => date ( 'YmdHis' ))), true ) ){
if ( ! $iDb -> update ( 'annonces' , $tabUpdate , " siren= $siren AND dateJugement=' $dateJuge ' AND typeEven= " . $tabEven [ 0 ], true )){
$error -> errnum = 1 ;
$error -> errmsg = 'Mise a jour impossible' ;
$output = new SetInfosEntrepReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
}
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
// Insertion actionnaire
if ( trim ( $tabActio [ 'siren' ]) != '' ) {
$nom = $pays = $dateMAJ = '' ;
$ppPm = 'P' ;
$pct = trim ( str_replace ( ',' , '.' , $tabActio [ 'pct' ])) * 1 ;
$siren2 = preg_replace ( '/[^0-9]/' , '' , $tabActio [ 'siren' ]);
$entrep2 = $iInsee -> getIdentiteEntreprise ( $siren );
$nom2 = $entrep2 [ 'Nom' ];
$pays2 = $entrep2 [ 'Pays' ];
if ( $pays2 == '' ) $pays2 = 'FRA' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( substr ( $entrep2 [ 'FJ' ], 0 , 1 ) * 1 <> 1 ) $ppPm = 'M' ;
$entrep = $iInsee -> getIdentiteEntreprise ( $siren2 );
$nom = $entrep [ 'Nom' ];
$pays = trim ( $entrep [ 'Pays' ]);
if ( $pays == '' ) $pays = 'FRA' ;
if ( trim ( $tabActio [ 'nom' ]) != '' ) $nom = $tabActio [ 'nom' ];
if ( $tabActio [ 'pays' ] != 'XXX' ) $pays = $tabActio [ 'pays' ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( trim ( $tabActio [ 'dateMAJ' ]) != 'JJ/MM/AAAA' && trim ( $tabActio [ 'dateMAJ' ]) != '' ){
$dateMAJ = WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , trim ( $tabActio [ 'dateMAJ' ]));
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( $tabActio [ 'majMin' ] == 'maj' ) $majMin = '+' ;
elseif ( $tabActio [ 'majMin' ] == 'min' ) $majMin = '-' ;
else $majMin = '' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabUpdate = array (
//'Siren1'=> $siren,
'Pmin' => $pct ,
'Pmax' => $pct ,
'MajMin' => $majMin ,
'PpPm' => $ppPm ,
//'Siren2'=> $siren2,
//'RaisonSociale'=> $nom,
//'Pays'=> $pays,
'dateLien' => $dateMAJ ,
);
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabInsert1 = array_merge ( $tabUpdate , array ( 'ActionPart' => 1 ), array (
'Siren1' => $siren ,
'Siren2' => $siren2 ,
'RaisonSociale' => $nom ,
'Pays' => $pays ,
'actif' => 1 ,
'source' => 1900 ,
'dateInsert' => date ( 'YmdHis' ))
);
$res = $iDb -> select ( 'liens' , 'count(*)' ,
" Siren1= $siren AND (Siren2= $siren2 OR (RaisonSociale=' $nom ' AND Pays=' $pays ')) " );
if ( $res [ 0 ][ 0 ] > 0 ) {
if ( ! $iDb -> update ( 'liens' , array_merge ( $tabUpdate , array ( 'ActionPart' => 1 )), " siren= $siren AND (Siren2= $siren2 OR (RaisonSociale=' $nom ' AND Pays=' $pays ')) " , true ))
$errMaj = 1016166 ;
} else {
if ( ! $iDb -> insert ( 'liens' , $tabInsert1 , true ))
$errMaj = 1016167 ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabInsert2 = array_merge ( $tabUpdate , array ( 'ActionPart' => 2 ), array (
'Siren1' => $siren2 ,
'Siren2' => $siren ,
'RaisonSociale' => $nom2 ,
'Pays' => $pays2 ,
'actif' => 1 ,
'source' => 1900 ,
'dateInsert' => date ( 'YmdHis' ))
);
$res = $iDb -> select ( 'liens' , 'count(*)' , " Siren1= $siren2 AND (Siren2= $siren OR (RaisonSociale=' $nom2 ' AND Pays=' $pays2 ')) " );
if ( $res [ 0 ][ 0 ] > 0 ) {
if ( ! $iDb -> update ( 'liens' , array_merge ( $tabUpdate , array ( 'ActionPart' => 2 )), " siren= $siren2 AND (Siren2= $siren OR (RaisonSociale=' $nom2 ' AND Pays=' $pays2 ')) " , true ))
$errMaj = 1016168 ;
} else {
if ( ! $iDb -> insert ( 'liens' , $tabInsert2 , true ))
$errMaj = 1016169 ;
}
}
// Fin insertion actionnaire
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//Insertion participation
if ( trim ( $tabParti [ 'siren' ]) <> '' ) {
$nom = $pays = $dateMAJ = '' ;
$ppPm = 'P' ;
$pct = trim ( str_replace ( ',' , '.' , $tabParti [ 'pct' ])) * 1 ;
$siren2 = preg_replace ( '/[^0-9]/' , '' , $tabParti [ 'siren' ]);
$entrep2 = $iInsee -> getIdentiteEntreprise ( $siren );
$nom2 = $entrep2 [ 'Nom' ];
$pays2 = $entrep2 [ 'Pays' ];
if ( $pays2 == '' ) $pays2 = 'FRA' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( substr ( $entrep2 [ 'FJ' ], 0 , 1 ) * 1 <> 1 ) $ppPm = 'M' ;
$entrep = $iInsee -> getIdentiteEntreprise ( $siren2 );
$nom = $entrep [ 'Nom' ];
$pays = trim ( $entrep [ 'Pays' ]);
if ( $pays == '' ) $pays = 'FRA' ;
if ( trim ( $tabParti [ 'nom' ]) <> '' ) $nom = $tabParti [ 'nom' ];
if ( $tabParti [ 'pays' ] <> 'XXX' ) $pays = $tabParti [ 'pays' ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( trim ( $tabParti [ 'dateMAJ' ]) <> 'JJ/MM/AAAA' && trim ( $tabParti [ 'dateMAJ' ]) <> '' )
$dateMAJ = WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , trim ( $tabParti [ 'dateMAJ' ]));
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( $tabParti [ 'majMin' ] == 'maj' ) $majMin = '+' ;
elseif ( $tabParti [ 'majMin' ] == 'min' ) $majMin = '-' ;
else $majMin = '' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabUpdate = array (
'Pmin' => $pct ,
'Pmax' => $pct ,
'MajMin' => $majMin ,
'PpPm' => $ppPm ,
'dateLien' => $dateMAJ ,
);
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabInsert1 = array_merge ( $tabUpdate , array ( 'ActionPart' => 2 ), array (
'Siren1' => $siren ,
'Siren2' => $siren2 ,
'RaisonSociale' => $nom ,
'Pays' => $pays ,
'actif' => 1 ,
'source' => 1900 ,
'dateInsert' => date ( 'YmdHis' ))
);
$res = $iDb -> select ( 'liens' , 'count(*)' , " Siren1= $siren AND (Siren2= $siren2 OR (RaisonSociale=' $nom ' AND Pays=' $pays ')) " );
if ( $res [ 0 ][ 0 ] > 0 ) {
if ( ! $iDb -> update ( 'liens' , array_merge ( $tabUpdate , array ( 'ActionPart' => 2 )), " siren= $siren AND (Siren2= $siren2 OR (RaisonSociale=' $nom ' AND Pays=' $pays ')) " , true ))
$errMaj = 10168 ;
} else {
if ( ! $iDb -> insert ( 'liens' , $tabInsert1 , true ))
$errMaj = 10169 ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$tabInsert2 = array_merge ( $tabUpdate , array ( 'ActionPart' => 1 ), array (
'Siren1' => $siren2 ,
'Siren2' => $siren ,
'RaisonSociale' => $nom2 ,
'Pays' => $pays2 ,
'actif' => 1 ,
'source' => 1900 ,
'dateInsert' => date ( 'YmdHis' ))
);
$res = $iDb -> select ( 'liens' , 'count(*)' , " Siren1= $siren2 AND (Siren2= $siren OR (RaisonSociale=' $nom2 ' AND Pays=' $pays2 ')) " );
if ( $res [ 0 ][ 0 ] > 0 ) {
if ( ! $iDb -> update ( 'liens' , array_merge ( $tabUpdate , array ( 'ActionPart' => 1 )), " siren= $siren2 AND (Siren2= $siren OR (RaisonSociale=' $nom2 ' AND Pays=' $pays2 ')) " , true ))
$errMaj = 10170 ;
} else {
if ( ! $iDb -> insert ( 'liens' , $tabInsert2 , true ))
$errMaj = 10171 ;
}
}
// Fin insertion participation
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( $errMaj > 0 ){
$error -> errnum = 1 ;
$error -> errmsg = 'Mise a jour impossible' ;
} else {
$result = true ;
}
}
$output = new SetInfosEntrepReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Met a jour les informations sur un mandataire
* @ param SetInfosMandataire $infos Informations sur le mandataire à créer ou à ajouter ( ajout si id absent )
* @ return SetMandataireReturn
*/
public function setMandataire ( SetInfosMandataire $infos )
{
$this -> authenticate ();
//Initialisation
$error = new ErrorType ();
$result = true ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iDb = new WDB ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//$infos = serialize($tabInfos);
debugLog ( 'I' , " Ajout/MAJ de mandaitaire " . print_r ( $infos , 1 ) . " demandée " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$type = substr ( strtoupper ( $infos -> type ), 0 , 1 );
$stag = substr ( strtoupper ( $infos -> type ), 1 , 1 );
if ( $stag == 'S' ) {
$stag = 1 ;
} else {
$stag = 0 ;
}
if ( $type == 'A' || $type == 'H' || $type == 'M' || $type == 'V' ||
$type == 'N' || $type == 'T' )
{
$tabUpdate = array (
'sirenGrp' => substr ( $infos -> sirenGrp , 0 , 9 ) * 1 ,
'nicGrp' => substr ( $infos -> sirenGrp , 9 , 5 ) * 1 ,
'sirenMand' => substr ( $infos -> sirenMand , 0 , 9 ) * 1 ,
'nicMand' => substr ( $infos -> sirenMand , 9 , 5 ) * 1 ,
'Nom' => ucwords ( strtolower ( $infos -> Nom )),
'Prenom' => ucwords ( strtolower ( $infos -> Prenom )),
'type' => $type ,
'stagiaire' => $stag ,
'coursAppel' => intval ( $infos -> coursAppel ),
'coursAppel2' => intval ( $infos -> coursAppel2 ),
'tribunal' => $infos -> tribunal ,
'Statut' => strtoupper ( $infos -> Statut ),
'adresse' => ucwords ( $infos -> adresse ),
'adresseComp' => strtoupper ( $infos -> adresseComp ),
'cp' => intval ( $infos -> cp ),
'ville' => strtoupper ( $infos -> ville ),
'tel' => $infos -> tel ,
'fax' => $infos -> fax ,
'email' => $infos -> email ,
'web' => $infos -> web ,
'contact' => $infos -> contact ,
'idUser' => $this -> tabInfoUser [ 'id' ],
);
}
$id = str_replace ( 'm' , '' , '' . $infos -> id ) * 1 ;
if ( intval ( $id ) != 0 ) {
// MAJ
if ( ! $iDb -> update ( 'tabMandataires' , $tabUpdate , " id= $id " , true )) {
$error -> errnum = 1 ;
$error -> errmsg = 'Mise a jour impossible' ;
$result = false ;
}
} else {
// Insertion
if ( ! $iDb -> insert ( 'tabMandataires' , array_merge ( $tabUpdate , array ( 'dateInsert' => date ( 'YmdHis' ))), true )) {
$error -> errnum = 1 ;
$error -> errmsg = 'Insertion impossible' ;
$result = false ;
}
}
$output = new SetMandataireReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Supprime une annonce issue de la collecte
* @ param string $idAnn
* @ param string $siret
* @ return SupprAnnonceCollecteReturn
*/
public function supprAnnonceCollecte ( $idAnn , $siret = null )
{
$this -> authenticate ();
//Initialisation
if ( empty ( $siret )) $siret = 0 ;
$error = new ErrorType ();
$result = false ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! $this -> checkEdition ())
{
$error -> errnum = 1 ;
$error -> errmsg = 'Code Client Incorrect' ;
}
else
{
$siren = substr ( $siret , 0 , 9 ) * 1 ;
$iDb = new WDB ();
$idAnn = preg_replace ( '/^0\./' , '' , '' . $idAnn ) * 1 ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( $idAnn > 0 )
{
if ( $iDb -> update ( 'annonces' , array (
'dateSuppr' => date ( 'YmdHis' ),
'idSuppr' => $this -> tabInfoUser [ 'id' ]),
" id= $idAnn " , false ))
{
debugLog ( 'I' , " Suppression de l'annonce collectée n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = true ;
}
else
{
$error -> errnum = 1 ;
$error -> errmsg = 'Suppression de l\'annonce impossible' ;
debugLog ( 'I' , " Suppression impossible de l'annonce collectée n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
}
}
else
{
$error -> errnum = 1 ;
$error -> errmsg = 'idAnn incorrect' ;
}
}
$output = new SupprAnnonceCollecteReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Récupère le mandataire par son id
* @ param int $idMand Identifiant du mandataire
* @ return MandataireReturn
*/
public function getMandataire ( $idMand )
{
$this -> authenticate ();
//Initialisation
$error = new ErrorType ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
debugLog ( 'I' , " Donne le Mandataires correspondant à $idMand " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$iInsee = new classMInsee ();
$tabRet = $iInsee -> getMandataire ( $idMand );
$mandataire = new MandataireDetail ();
$mandataire -> Nom = $tabRet [ 'Nom' ];
$mandataire -> Prenom = $tabRet [ 'Prenom' ];
$mandataire -> tribunal = $tabRet [ 'tribunal' ];
$mandataire -> adresse = $tabRet [ 'adresse' ];
$mandataire -> adresseComp = $tabRet [ 'adresseComp' ];
$mandataire -> ville = $tabRet [ 'ville' ];
$mandataire -> email = $tabRet [ 'email' ];
$mandataire -> web = $tabRet [ 'web' ];
$mandataire -> contact = $tabRet [ 'contact' ];
$output = new MandataireReturn ();
$output -> error = $error ;
$output -> result = $mandataire ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Liste les mandataires compétentes pour une cours d ' appel donnée
* @ param mixed $codeTribunal Identifiants BODACC du tribunal ou tableau d 'Identifiants numériques des cours d' appel
* @ param array $type Type de mandataire ( A ) dministrateur , ( M ) andataire , ( O ) ppositions , ( N ) otaires , a ( V ) ocat
* @ return MandatairesReturn
*/
public function getMandataires ( $codeTribunal = 0 , $type = array ( 'A' , 'M' ))
{
$this -> authenticate ();
//Initialisation
$iInsee = new MInsee ();
$error = new ErrorType ();
$trib = serialize ( $codeTribunal );
debugLog ( 'I' , " Liste des Mandaitaires ou Administrateur du Tribunal/Cours d'Appel $trib demandé " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! is_array ( $codeTribunal ) && strlen ( $codeTribunal ) > 3 && $codeTribunal * 1 == 0 )
{
// $codeTribunal est un identifiant de tribunal
$iBodacc = new MBodacc ();
$tabTmp = $iInsee -> getMandataires ( array ( $iBodacc -> getTribunalIdCA ( $codeTribunal )), true , $type );
}
elseif ( $codeTribunal * 1 == 0 )
{
// On veut tous les mandataires
$tabTmp = $iInsee -> getMandataires ( array (), true , $type );
}
elseif ( is_array ( $codeTribunal ))
{
// On veut les mandataires d'une CA
$tabTmp = $iInsee -> getMandataires ( $codeTribunal , true , $type );
}
$tabRet = array ();
foreach ( $tabTmp as $i => $mand ){
$mandataire = new Mandataire ();
$mandataire -> id = 'm' . $i ;
$mandataire -> mand = $mand ;
$tabRet [] = $mandataire ;
}
$output = new MandatairesReturn ();
$output -> error = $error ;
$output -> result = $tabRet ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Donne la cours d 'appel d' un tribunal par son code
* @ param string $codeTribunal Code BODACC sur 6 caractères du tribunal
* @ return int
*/
public function getIdCoursAppel ( $codeTribunal )
{
$this -> authenticate ();
$iBodacc = new MBodacc ();
return $iBodacc -> getTribunalIdCA ( $codeTribunal );
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Duplique une annonce issue de la collecte
* @ param string $idAnn
* @ param string $siret
* @ return DupliqueAnnonceReturn
*/
public function dupliqueAnnonceCollecte ( $idAnn , $siret = null )
{
$this -> authenticate ();
//Initialisation
if ( empty ( $siret )) $siret = '' ;
$error = new ErrorType ();
$result = 0 ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! $this -> checkEdition ()) {
$error -> errnum = 1 ;
$error -> errmsg = 'Code Client Incorrect' ;
} else {
$siren = intval ( substr ( $siret , 0 , 9 ));
$nic = intval ( substr ( $siret , 9 , 5 ));
$iDb = new WDB ();
$idAnn = intval ( preg_replace ( '/^0\./' , '' , '' . $idAnn ));
if ( $idAnn > 0 && $siren > 1000 ){
$res = $iDb -> select ( 'annonces' , '*' , " id= $idAnn " , false , MYSQL_ASSOC );
if ( count ( $res ) == 0 ) {
$error -> errnum = 1 ;
$error -> errmsg = 'Annonce inexistante' ;
} else {
$annonce = $res [ 0 ];
// Suppression des zones inexistantes dans la table ou devant être vides
unset ( $annonce [ 'id' ]);
unset ( $annonce [ 'nic' ]); //=$nic;
$annonce [ 'siren' ] = $siren ;
$annonce [ 'nic' ] = $nic ;
if ( $iDb -> insert ( 'annonces' , $annonce , false )) {
debugLog ( 'I' , " Duplication de l'annonce collectée n° $idAnn sur $siret " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = 1 ;
} else {
debugLog ( 'I' , " Suppression impossible de l'annonce collectée n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = 'Suppression de l\'annonce impossible' ;
}
}
}
}
$output = new DupliqueAnnonceCollecte ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Récupère le contenu d ' une annonce issue de la collecte
* @ param string $idAnn
* @ param string $siret
* @ return AnnonceCollecteReturn
*/
public function getAnnonceCollecte ( $idAnn , $siret )
{
$this -> authenticate ();
//Initialisation
$error = new ErrorType ();
$annonceCollecte = new AnnonceCollecte ();
$siren = substr ( $siret , 0 , 9 ) * 1 ;
if ( ! $this -> checkEdition ()) {
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$error -> errnum = 0 ;
$error -> errmsg = 'Code Client Incorrect' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
} else {
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iDb = new WDB ();
debugLog ( 'I' , " Lecture de l'annonce collectée n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$idAnn = preg_replace ( '/^0\./' , '' , '' . $idAnn ) * 1 ;
if ( $idAnn > 0 )
{
$res = $iDb -> select ( 'annonces' ,
'id, siren, sirenValide, typeEven, strEven, raisonSociale, adresse, codePostal, ville, dateJugement, dateCessationPaiement, dateEffetFinP, numero, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom, tribunal, montant, actionsNb, complement, infosBrutes, nouvActivite, nouvDir, nouvAdr, nouvFJ, annonce, source, parutionIdJal, parutionNum, dateSource, idSaisie, idAnnonce, dateInsert' ,
" id= $idAnn " , false , MYSQL_ASSOC
);
if ( count ( $res ) > 0 )
{
$ann = $res [ 0 ];
$annonceCollecte -> id = $ann [ 'id' ];
$annonceCollecte -> siren = $ann [ 'siren' ];
$annonceCollecte -> raisonSociale = $ann [ 'raisonSociale' ];
$annonceCollecte -> adresse = $ann [ 'adresse' ];
$annonceCollecte -> codePostal = $ann [ 'codePostal' ];
$annonceCollecte -> ville = $ann [ 'ville' ];
$annonceCollecte -> dateJugement = $ann [ 'dateJugement' ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//@todo : Les libellées ne sont pas présent LibEven
$tabEven = array ();
$annonceEvenement = new AnnonceEvenement ();
$annonceEvenement -> CodeEven = $ann [ 'typeEven' ];
$annonceEvenement -> LibEven = '' ;
$tabEven [] = $annonceEvenement ;
if ( ! empty ( $ann [ 'strEven' ])){
foreach ( explode ( ';' , $ann [ 'strEven' ]) as $code )
{
$annonceEvenement = new AnnonceEvenement ();
$annonceEvenement -> CodeEven = $code ;
$annonceEvenement -> LibEven = '' ;
$tabEven [] = $annonceEvenement ;
}
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$annonceCollecte -> even = $tabEven ;
$annonceCollecte -> dateSource = $ann [ 'dateSource' ];
$annonceCollecte -> dateCessationPaiement = $ann [ 'dateCessationPaiement' ];
$annonceCollecte -> dateEffetFinP = $ann [ 'dateEffetFinP' ];
$annonceCollecte -> tribunal = $ann [ 'tribunal' ];
$annonceCollecte -> numero = $ann [ 'numero' ];
$annonceCollecte -> montant = $ann [ 'montant' ];
$annonceCollecte -> actionsNb = $ann [ 'actionsNb' ];
$annonceCollecte -> inter1type = $ann [ 'inter1type' ];
$annonceCollecte -> inter1id = $ann [ 'inter1id' ];
$annonceCollecte -> inter1nom = $ann [ 'inter1nom' ];
$annonceCollecte -> inter2type = $ann [ 'inter2type' ];
$annonceCollecte -> inter2id = $ann [ 'inter2id' ];
$annonceCollecte -> inter2nom = $ann [ 'inter2nom' ];
$annonceCollecte -> inter3type = $ann [ 'inter3type' ];
$annonceCollecte -> inter3id = $ann [ 'inter3id' ];
$annonceCollecte -> inter3nom = $ann [ 'inter3nom' ];
$annonceCollecte -> complement = $ann [ 'complement' ];
$annonceCollecte -> nouvActivite = $ann [ 'nouvActivite' ];
$annonceCollecte -> nouvDir = $ann [ 'nouvDir' ];
$annonceCollecte -> nouvAdr = $ann [ 'nouvAdr' ];
$annonceCollecte -> nouvFJ = $ann [ 'nouvFJ' ];
$annonceCollecte -> source = $ann [ 'source' ];
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
debugLog ( 'I' , " Lecture de l'annonce collectée n° $idAnn ( $siret ) : " . $ann [ 'raisonSociale' ], __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
} else {
$error -> errnum = 1 ;
$error -> errmsg = 'Edition impossible' ;
}
}
else
{
$error -> errnum = 745741 ;
$error -> errmsg = 'Selection impossible' ;
}
}
$output = new AnnonceCollecteReturn ();
$output -> error = $error ;
$output -> result = $annonceCollecte ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Enregistrement de document actes ou status d ' association
* @ param string $siren Numéro Siren
* @ param string $waldec Numéro waldec
* @ param string $type Type d ' acte
* @ param string $libelle Libellé de l ' acte
* @ param string $date Date des l ' acte au format
* @ param int $nbPages Nombre de pages dans le fichier
* return boolean
*/
public function setActeAsso ( $siren , $waldec , $type , $libelle , $date , $nbPages )
{
$this -> authenticate ();
if ( ! $this -> checkEdition ()) {
$this -> sendError ( '0902' );
}
( $type == 'ST' ) ? $type_acte = 'ST' : $type_acte = '' ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$data = array (
'siren' => $siren ,
'waldec' => waldec ,
'pdfLink' => '' ,
'pdfSize' => '' ,
'pdfVer' => '' ,
'pdfPage' => '' ,
'date_acte' => WDate :: dateT ( 'd/m/Y' , 'Y-m-d' , $date ),
'type_acte' => $type_acte ,
'type_acte_libelle' => $libelle ,
'nbpages_acte' => $nbPages ,
);
try {
$db = Zend_Db :: factory ( $this -> dbConfig -> Webservice );
Zend_Db_Table_Abstract :: setDefaultAdapter ( $db );
$doc = new Application_Model_AssoActes ();
$doc_id = $doc -> insert ( $data );
} catch ( Zend_Exception $e ) {
Zend_Registry :: get ( 'WsLogger' )
-> err ( __FUNCTION__ . ' - ' . $e -> getMessage ());
}
if ( $commande_id )
{
return true ;
}
return false ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* getListeJalCollecte
* @ return ListeJalCollecteReturn
*/
public function getListeJalCollecte ()
{
$this -> authenticate ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
//Initialisation
$error = new ErrorType ();
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$iBodacc = new MBodacc ();
$tabJal = $iBodacc -> getListeJalCollecte ();
foreach ( $tabJal as $i => $jal )
{
$jalCollecte = new JalCollecte ();
$jalCollecte -> id = $i ;
$jalCollecte -> nom = $jal ;
$tabRet [] = $jalCollecte ;
}
$output = new ListeJalCollecteReturn ();
$output -> error = $error ;
$output -> result = $tabRet ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Suppression logique d ' une annonce relative à une entité
* @ param integer $source 0 = Collecte , 1 = BODACC , 2 = B . A . L . O , 3 = JO Association , 4 = Boamp
* @ param string $idAnn Identifiant de l ' annonce
* @ param string $siret Siren de l 'entreprise ou Siret de l' établissement
* @ return SupprAnnonceReturn
*/
public function supprAnnonce ( $source = 0 , $idAnn , $siret = 0 )
{
$this -> authenticate ();
//Initialisation
if ( empty ( $siret )) $siret = 0 ;
if ( empty ( $source )) $source = 0 ;
$error = new ErrorType ();
$result = false ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! $this -> checkEdition ())
{
$error -> errnum = 1 ;
$error -> errmsg = 'Code Client Incorrect' ;
}
else
{
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$siren = substr ( $siret , 0 , 9 );
$iDb = new WDB ();
switch ( $source )
{
case 0 :
$idAnn = preg_replace ( '/^0\./' , '' , '' . $idAnn ) * 1 ;
$table = 'annonces' ;
break ;
case 1 :
if ( intval ( $idAnn ) < 0 ){
$error -> errnum = 1 ;
$error -> errmsg = 'Code annonce Incorrect' ;
} else {
$strSql = " AND siren= $siren " ;
$table = 'bodacc_detail' ;
}
break ;
case 3 :
$table = 'asso' ;
break ;
case 2 :
case 4 :
default :
$error -> errnum = 1 ;
$error -> errmsg = 'Cas non géré' ;
break ;
}
if ( intval ( $idAnn ) > 0 && $iDb -> update ( $table , array (
'dateSuppr' => date ( 'YmdHis' ),
'idSuppr' => $this -> tabInfoUser [ 'id' ]),
" id= $idAnn $strSql " , false ))
{
debugLog ( 'I' , " Suppression de l'annonce en source $source n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 0 ;
$error -> errmsg = '' ;
$result = true ;
} else {
debugLog ( 'I' , " Suppression impossible de l'annonce en source $source n° $idAnn ( $siret ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = 'Suppression de l\'annonce impossible' ;
}
}
$output = new SupprAnnonceReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Duplication d ' une annonce relative à une entité
*
* @ param integer $source 0 = Collecte , 1 = BODACC , 2 = B . A . L . O , 3 = JO Association , 4 = Boamp
* @ param string $idAnn Identifiant de l ' annonce
* @ param string $siretIn Siren de l 'entreprise ou Siret de l' établissement de l ' annonce à duppliquer
* @ param string $siretOut Siren / Siret de l 'entreprise ou étab sur lequel il faut dupliquer l' annonce
* @ return DupliqueAnnonceReturn
*/
public function dupliqueAnnonce ( $source = 0 , $idAnn , $siretIn = 0 , $siretOut = 0 )
{
debugLog ( 'I' , " Demande de duplication d'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$this -> authenticate ();
//Initialisation
if ( empty ( $siret )) $siret = 0 ;
if ( empty ( $source )) $source = 0 ;
$error = new ErrorType ();
$result = false ;
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( ! $this -> checkEdition ())
{
$error -> errnum = 1 ;
$error -> errmsg = 'Code Client Incorrect' ;
}
else
{
$sirenIn = substr ( $siretIn , 0 , 9 ) * 1 ;
$nicIn = substr ( $siretIn , 9 , 5 ) * 1 ;
$sirenOut = substr ( $siretOut , 0 , 9 ) * 1 ;
$nicOut = substr ( $siretOut , 9 , 5 ) * 1 ;
$iDb = new WDB ();
$strSql = '' ;
switch ( $source )
{
case 0 :
$idAnn = preg_replace ( '/^0\./' , '' , '' . $idAnn ) * 1 ;
$table = 'annonces' ;
break ;
case 1 :
if ( intval ( $idAnn ) < 0 ){
$error -> errnum = 1 ;
$error -> errmsg = 'Code annonce Incorrect' ;
} else {
if ( intval ( $sirenIn ) > 0 ) $strSql .= " AND siren= $sirenIn " ;
$table = 'bodacc_detail' ;
}
break ;
case 3 :
$table = 'asso' ;
break ;
case 2 :
case 4 :
default :
$error -> errnum = 1 ;
$error -> errmsg = 'Cas non géré' ;
break ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( intval ( $idAnn ) > 0 ) {
$res = $iDb -> select ( $table , '*' , " id= $idAnn $strSql " , false , MYSQL_ASSOC );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( count ( $res ) == 0 ) {
$error -> errnum = 1 ;
$error -> errmsg = 'Annonce inexistante' ;
} else {
/* Si table = asso => UPDATE de la ligne */
if ( $table == 'asso' ){
$annonce = $res [ 0 ];
$annonce [ 'siren' ] = $sirenOut ;
$annonce [ 'sirenValide' ] = 2 ;
$annonce [ 'dateUpdate' ] = date ( 'YmdHis' );
$annonce [ 'idSirenage' ] = $this -> tabInfoUser [ 'id' ];
$annonce [ 'nic' ] = $nicOut ;
if ( $nicOut > 0 ) $annonce [ 'nicValide' ] = 2 ;
if ( $iDb -> update ( $table , $annonce , " id= " . $idAnn , true , true )){
debugLog ( 'I' , " Duplication de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = true ;
} else {
debugLog ( 'I' , " Duplication impossible de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) : " . mysql_error (), __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = " Duplication de l'annonce impossible " ;
}
}
/* Si sirenIn = 0 et table = bodacc_detail => INSERT + UPDATE */
elseif ( intval ( $sirenIn ) == 0 && $table == 'bodacc_detail' ){
$annonce = $res [ 0 ];
$annonce [ 'siren' ] = $sirenOut ;
$annonce [ 'sirenValide' ] = 2 ;
$annonce [ 'dateInsert' ] = date ( 'YmdHis' );
$annonce [ 'idSirenage' ] = $this -> tabInfoUser [ 'id' ];
$annonce [ 'nic' ] = $nicOut ;
if ( $nicOut > 0 ) $annonce [ 'nicValide' ] = 2 ;
if ( $iDb -> insert ( $table , $annonce , true , true )) {
debugLog ( 'I' , " Duplication de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = true ;
$data = array (
'idSuppr' => $this -> tabInfoUser [ 'id' ],
'dateSuppr' => date ( 'YmdHis' ),
);
$iDb -> update ( $table , $data , " id= $idAnn $strSql " , true , true );
} else {
debugLog ( 'I' , " Duplication impossible de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) : " . mysql_error (), __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = " Duplication de l'annonce impossible " ;
}
}
/* si sirenIn != 0 et table = bodacc_detail => insert */
elseif ( intval ( $sirenIn ) != 0 && $table == 'bodacc_detail' ){
$annonce = $res [ 0 ];
$annonce [ 'siren' ] = $sirenOut ;
$annonce [ 'sirenValide' ] = 2 ;
$annonce [ 'dateInsert' ] = date ( 'YmdHis' );
$annonce [ 'idSirenage' ] = $this -> tabInfoUser [ 'id' ];
$annonce [ 'nic' ] = $nicOut ;
if ( $nicOut > 0 ) $annonce [ 'nicValide' ] = 2 ;
if ( $iDb -> insert ( $table , $annonce , true , true )) {
debugLog ( 'I' , " Duplication de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = true ;
} else {
debugLog ( 'I' , " Duplication impossible de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) : " . mysql_error (), __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = " Duplication de l'annonce impossible " ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
}
/* Si table = annonces => INSERT */
elseif ( $table == 'annonces' ){
$annonce = $res [ 0 ];
// Suppression des zones inexistantes dans la table ou devant être vides
unset ( $annonce [ 'id' ]);
unset ( $annonce [ 'nic' ]);
$annonce [ 'idSaisie' ] = $this -> tabInfoUser [ 'id' ];
if ( $iDb -> insert ( $table , $annonce , true , true )) {
debugLog ( 'I' , " Duplication de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$result = true ;
} else {
debugLog ( 'I' , " Duplication impossible de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) : " . mysql_error (), __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = " Duplication de l'annonce impossible " ;
}
}
}
} else {
debugLog ( 'I' , " Duplication impossible de l'annonce en source $source sur n° $idAnn (siretIn= $siretIn , siretOut= $siretOut ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
$error -> errnum = 1 ;
$error -> errmsg = " Duplication de l'annonce impossible " ;
}
}
$output = new DupliqueAnnonceReturn ();
$output -> error = $error ;
$output -> result = $result ;
return $output ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
/**
* Modification du code evenement d ' une annonce
* @ param string $siren
* @ param string $id
* @ param string [] $codeEven
* @ return boolean
*/
public function setAnnonceEven ( $siren , $id , $codeEven )
{
$this -> authenticate ();
$iDb = new WDB ( 'jo' );
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
$list = array ();
if ( is_object ( $codeEven )){
$list = $codeEven -> item ;
} else {
$list = $codeEven ;
}
2014-05-24 16:57:17 +00:00
2013-11-05 11:18:30 +00:00
if ( count ( $list ) > 0 ){
$tabUpdate = array (
'typeEven' => implode ( ';' , $list ),
'idSirenage' => $this -> tabInfoUser [ 'id' ],
//'dateUpdate' => date('Y-m-d H:i:s'),
);
if ( $iDb -> update ( 'bodacc_detail' , $tabUpdate , " siren=' $siren ' AND id=' $id ' " )){
debugLog ( 'I' , " setAnnonceEven (siren= $siren , list= $list ) " , __LINE__ , __FILE__ , __FUNCTION__ , __CLASS__ );
return true ;
}
}
return false ;
}
}