1171 lines
40 KiB
PHP
1171 lines
40 KiB
PHP
<?php
|
|
require_once __DIR__ . '/Types.php';
|
|
|
|
class Saisie extends Scores_Ws_Server
|
|
{
|
|
/**
|
|
* Liste les mandataires correspondant à un nom donné
|
|
* @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();
|
|
|
|
//Initialisation
|
|
if (empty($type)) $type = array('A','M');
|
|
if (empty($cpDep)) $cpDep = 0;
|
|
$tabRet = array();
|
|
|
|
debugLog('I',"Recherche de Mandataires '$nom' (Dep=$cpDep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
|
|
|
$iInsee = new MInsee();
|
|
$tabTmp = $iInsee->searchMandataires($nom, true, $type, $cpDep);
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* Enregistrement des informations saisie manuellement
|
|
* @param string $siret
|
|
* @param int $idEntreprise
|
|
* @param string $infos
|
|
* @return SetInfosEntrepReturn
|
|
*/
|
|
public function setInfosEntrep( $siret, $idEntreprise, $infos )
|
|
{
|
|
$this->authenticate();
|
|
|
|
//Initialisation
|
|
$tabRet = array();
|
|
$iBodacc = new MBodacc();
|
|
$iInsee = new MInsee();
|
|
$result = false;
|
|
|
|
if (!$this->checkEdition()) {
|
|
|
|
$error->errnum = 1;
|
|
$error->errmsg = 'Code Client Incorrect';
|
|
|
|
} else {
|
|
$siren = substr($siret,0,9);
|
|
$nic = substr($siret,9,5);
|
|
|
|
$iDb = new WDB();
|
|
|
|
$tabInfos = json_decode($infos, true);
|
|
|
|
$tabIdentite = $tabInfos['identite'];
|
|
$tabJugement = $tabInfos['jugement'];
|
|
$tabActio = $tabInfos['actionnaire'];
|
|
$tabParti = $tabInfos['participation'];
|
|
$tabScores = $tabInfos['score'];
|
|
|
|
// 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'], '"\'./- ,\*#()',' '))),
|
|
);
|
|
|
|
/** @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é
|
|
|
|
// Opposition INSEE
|
|
if ( $tabIdentite['moisOppositionInsee']>0 &&
|
|
$tabIdentite['moisOppositionInsee']<=(date('Ym')*1) ){
|
|
|
|
$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());
|
|
}
|
|
|
|
}
|
|
// Fin opposition INSEE
|
|
|
|
// 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());
|
|
|
|
/** 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
|
|
|
|
// 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
|
|
|
|
// 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
|
|
|
|
// 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;
|
|
}
|
|
|
|
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']));
|
|
|
|
$tabSource=explode('_',$tabJugement['source']);
|
|
$source=@$tabSource[0];
|
|
$numJal=@$tabSource[1];
|
|
|
|
$dateSource=WDate::dateT('d/m/Y', 'Ymd', trim($tabJugement['dateParution']))*1;
|
|
if ($dateSource<20000101)
|
|
$dateSource=date('YmdHis');
|
|
|
|
$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;
|
|
}
|
|
|
|
//@todo : ça ne va pas marcher ici
|
|
$strDir='';
|
|
|
|
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'].'. ';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( trim($tabJugement['nouvAdrCp'])<>'' ){
|
|
$strAdr = stripslashes(trim($tabJugement['nouvAdr']).', '.
|
|
trim($tabJugement['nouvAdrCp']).' '.
|
|
trim($tabJugement['nouvAdrVille']));
|
|
} else {
|
|
$strAdr='';
|
|
}
|
|
|
|
if (count($tabEven)>1){
|
|
$strEven = implode(';',array_slice($tabEven, 1));
|
|
} else {
|
|
$strEven = '';
|
|
}
|
|
|
|
$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;
|
|
}
|
|
}
|
|
}
|
|
|
|
// 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';
|
|
|
|
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'];
|
|
|
|
if (trim($tabActio['dateMAJ'])!='JJ/MM/AAAA' && trim($tabActio['dateMAJ'])!=''){
|
|
$dateMAJ = WDate::dateT('d/m/Y', 'Y-m-d', trim($tabActio['dateMAJ']));
|
|
}
|
|
|
|
if ($tabActio['majMin']=='maj') $majMin='+';
|
|
elseif ($tabActio['majMin']=='min') $majMin='-';
|
|
else $majMin='';
|
|
|
|
$tabUpdate = array(
|
|
//'Siren1'=> $siren,
|
|
'Pmin'=> $pct,
|
|
'Pmax'=> $pct,
|
|
'MajMin'=> $majMin,
|
|
'PpPm'=> $ppPm,
|
|
//'Siren2'=> $siren2,
|
|
//'RaisonSociale'=> $nom,
|
|
//'Pays'=> $pays,
|
|
'dateLien'=> $dateMAJ,
|
|
);
|
|
|
|
$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;
|
|
}
|
|
|
|
$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
|
|
|
|
//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';
|
|
|
|
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'];
|
|
|
|
if (trim($tabParti['dateMAJ'])<>'JJ/MM/AAAA' && trim($tabParti['dateMAJ'])<>'')
|
|
$dateMAJ=WDate::dateT('d/m/Y', 'Y-m-d', trim($tabParti['dateMAJ']));
|
|
|
|
if ($tabParti['majMin']=='maj') $majMin='+';
|
|
elseif ($tabParti['majMin']=='min') $majMin='-';
|
|
else $majMin='';
|
|
|
|
$tabUpdate = array(
|
|
'Pmin'=> $pct,
|
|
'Pmax'=> $pct,
|
|
'MajMin'=> $majMin,
|
|
'PpPm'=> $ppPm,
|
|
'dateLien'=> $dateMAJ,
|
|
);
|
|
|
|
$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;
|
|
}
|
|
|
|
$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
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
|
|
$iDb = new WDB();
|
|
|
|
//$infos = serialize($tabInfos);
|
|
debugLog('I',"Ajout/MAJ de mandaitaire ".print_r($infos,1)." demandée",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
|
|
|
$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;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
|
|
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;
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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();
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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__);
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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);
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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()) {
|
|
|
|
$error->errnum = 0;
|
|
$error->errmsg = 'Code Client Incorrect';
|
|
|
|
} else {
|
|
|
|
$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'];
|
|
|
|
//@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;
|
|
}
|
|
}
|
|
|
|
$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'];
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 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 = '';
|
|
|
|
$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;
|
|
}
|
|
|
|
/**
|
|
* getListeJalCollecte
|
|
* @return ListeJalCollecteReturn
|
|
*/
|
|
public function getListeJalCollecte()
|
|
{
|
|
$this->authenticate();
|
|
|
|
//Initialisation
|
|
$error = new ErrorType();
|
|
|
|
$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;
|
|
}
|
|
|
|
|
|
/**
|
|
* 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;
|
|
|
|
if (!$this->checkEdition())
|
|
{
|
|
$error->errnum = 1;
|
|
$error->errmsg = 'Code Client Incorrect';
|
|
}
|
|
else
|
|
{
|
|
|
|
$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;
|
|
}
|
|
|
|
/**
|
|
* 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__);
|
|
|
|
$this->authenticate();
|
|
//Initialisation
|
|
if (empty($siret)) $siret = 0;
|
|
if (empty($source)) $source = 0;
|
|
$error = new ErrorType();
|
|
$result = false;
|
|
|
|
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;
|
|
}
|
|
|
|
if (intval($idAnn)>0) {
|
|
$res = $iDb->select($table, '*', "id=$idAnn $strSql", false, MYSQL_ASSOC);
|
|
|
|
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";
|
|
}
|
|
|
|
}
|
|
/* 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;
|
|
}
|
|
|
|
/**
|
|
* 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');
|
|
|
|
$list = array();
|
|
if (is_object($codeEven)){
|
|
$list = $codeEven->item;
|
|
} else {
|
|
$list = $codeEven;
|
|
}
|
|
|
|
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;
|
|
}
|
|
} |