From eaddebacdba2024814705f2455fcc18f60511a17 Mon Sep 17 00:00:00 2001 From: Michael RICOIS Date: Wed, 1 Jul 2015 09:25:22 +0000 Subject: [PATCH] Correction requete SQL Boamp --- library/Metier/insee/classMInsee.php | 447 ++++++++++++++------------- 1 file changed, 231 insertions(+), 216 deletions(-) diff --git a/library/Metier/insee/classMInsee.php b/library/Metier/insee/classMInsee.php index b3324952..3f1f7663 100644 --- a/library/Metier/insee/classMInsee.php +++ b/library/Metier/insee/classMInsee.php @@ -5327,33 +5327,42 @@ class MInsee //$idAnnonce } - $mBalo=new MBalo(); + $mBalo = new MBalo(); + + $bodacc = $this->iDb->select('jo.balo', + "Societe_Rcs, Categorie, Num_Affaire, Date_Parution, Num_Parution, Url_Annonce_Html, Url_Annonce_Pdf, Annonce_Html, dateInsert", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' $strIdAnn ORDER BY Date_Parution DESC, Num_Affaire LIMIT $offset, $lignes", + false, MYSQL_ASSOC); - $bodacc=$this->iDb->select('jo.balo', "Societe_Rcs, Categorie, Num_Affaire, Date_Parution, Num_Parution, Url_Annonce_Html, Url_Annonce_Pdf, Annonce_Html, dateInsert", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' $strIdAnn ORDER BY Date_Parution DESC, Num_Affaire LIMIT $offset, $lignes", false, MYSQL_ASSOC); - // $RP=mysql_select('balo', " ", "Societe_Rcs='$rcs' "); $k=0; - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $tabRetEven=array(); - $tabRetEven[]=array('CodeEven'=>$mBalo->getLibEven($ann['Categorie']), - 'LibEven'=> $ann['Categorie']); + if (count($bodacc) > 0) { + foreach ($bodacc as $k => $ann) { + $tabRetEven = array(); + $tabRetEven[] = array( + 'CodeEven' => $mBalo->getLibEven($ann['Categorie']), + 'LibEven' => $ann['Categorie'] + ); - $tabRet[$k]=array( 'id'=>$ann['Num_Affaire'].'.'.$ann['Num_Parution'], - 'BodaccCode'=>'BALO', - 'BodaccNum'=>$ann['Num_Parution'], - 'NumAnnonce'=>$ann['Num_Affaire'], - 'DateParution'=>$ann['Date_Parution'], - //'Departement'=>'',$ann['Tribunal_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Rubrique'], - 'typeAnnonce'=>'Insertion', - 'dateInsertionSD'=>$ann['dateInsert'], - 'evenements'=>$tabRetEven, - 'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']), - ); - if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=strtr( preg_replace('//Uis', '', - preg_replace('/( class=".*")/ie', ' ', $ann['Annonce_Html'])), array(' '=>' ', ''=>'', ''=>'')); + $tabRet[$k]=array( + 'id'=>$ann['Num_Affaire'].'.'.$ann['Num_Parution'], + 'BodaccCode'=>'BALO', + 'BodaccNum'=>$ann['Num_Parution'], + 'NumAnnonce'=>$ann['Num_Affaire'], + 'DateParution'=>$ann['Date_Parution'], + //'Departement'=>'',$ann['Tribunal_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Rubrique'], + 'typeAnnonce'=>'Insertion', + 'dateInsertionSD'=>$ann['dateInsert'], + 'evenements'=>$tabRetEven, + 'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']), + ); + if ($idAnnonce<>0) + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', + preg_replace('/( class=".*")/ie', ' ', $ann['Annonce_Html'])), + array(' '=>' ', ''=>'', ''=>'') + ); } } return $tabRet; @@ -5364,9 +5373,10 @@ class MInsee * @param string $siren * @return int */ - function getAnnoncesBaloCount($siren) + public function getAnnoncesBaloCount($siren) { - $bodacc = $this->iDb->select('jo.balo', "count(*) AS nb", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' ORDER BY Date_Parution DESC, Num_Affaire", false, MYSQL_ASSOC); + $bodacc = $this->iDb->select('jo.balo', "count(*) AS nb", + "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' ORDER BY Date_Parution DESC, Num_Affaire", false, MYSQL_ASSOC); $nb = 0; if (count($bodacc)>0) { $nb = $bodacc[0]['nb']; @@ -5383,201 +5393,201 @@ class MInsee * @param int $lignes * @return Ambigous multitype:multitype:string Ambigous , unknown> */ - function getAnnoncesBoamp($siren, $idAnnonce='', $type=array('A', 'M'), $offset=0, $lignes=100) + public function getAnnoncesBoamp($siren, $idAnnonce='', $type=array('A', 'M'), $offset=0, $lignes=100) { - $siren=$siren*1; + $siren = intval($siren); - if ($siren<001000000) $siren='000'.$siren; - elseif ($siren<010000000) $siren='00'.$siren; - elseif ($siren<100000000) $siren='0'.$siren; + $strIdAnn = ''; + $idA = 0; + $tabRet = array(); - $strIdAnn=''; - $idA=0; - $tabRet=array(); - - $mBoamp=new MBoamp(); + $mBoamp = new MBoamp(); + // --- Recherche dans les avis d'attribution if ( is_string($type) && $type=='A' || is_array($type) && in_array('A',$type) ) { - /** Recherche dans les avis d'attribution **/ - if ($idAnnonce<>'') { - $tmp=explode('.', $idAnnonce); - $idA=$tmp[1]; - //if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0]; - if ($tmp[0]=='A') $strIdAnn=" AND l.id='$idA' "; - elseif ($tmp[0]=='O') $strIdAnn=""; - } + if ($idAnnonce != '') { + $tmp = explode('.', $idAnnonce); + $idA = $tmp[1]; + if ($tmp[0]=='A') $strIdAnn=" AND l.id='$idA' "; + elseif ($tmp[0]=='O') $strIdAnn=""; + } - $bodacc = $this->iDb->select( - 'jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', - "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, l.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, l.num, l.`desc` AS description, l.nom, d.raisonSociale, l.montantTxt, sum(l.montant) AS montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin, l.dateInsert, d.titre, d.objet, d.titreMarche, d.typeObjetMarche, d.objetAutre, d.autres", - "l.siren='$siren' AND l.idAnn=b.id AND l.idAnn=d.id $strIdAnn GROUP BY b.id ORDER BY l.Boamp_Date_Parution DESC LIMIT $offset,$lignes", false, MYSQL_ASSOC - ); + $bodacc = $this->iDb->select('jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', + "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, l.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, l.num, l.`desc` AS description, l.nom, d.raisonSociale, l.montantTxt, sum(l.montant) AS montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin, l.dateInsert, d.titre, d.objet, d.titreMarche, d.typeObjetMarche, d.objetAutre, d.autres", + "l.siren=$siren AND l.idAnn=b.id AND l.idAnn=d.id $strIdAnn GROUP BY b.id ORDER BY l.Boamp_Date_Parution DESC LIMIT $offset,$lignes", false, MYSQL_ASSOC); - $k=0; - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $tabRetEven=array(); - /*montantTxt, l.montant, l.montantAnMin, , l.trancheCond, l.trancheFerme, l.dateAttrib*/ - if ($ann['nom']<>'') $strMontant=' "'.strtoupper($ann['raisonSociale']).'"'; + $k = 0; + if (count($bodacc)>0) { + foreach ($bodacc as $k => $ann) { + $tabRetEven=array(); + if ($ann['nom']<>'') $strMontant=' "'.strtoupper($ann['raisonSociale']).'"'; - if ($ann['montant']*1>0) $strMontant.=' ('.number_format($ann['montant'], 2, ',', ' ').' EUR)'; - elseif ($ann['montantTxt']<>'') $strMontant.=' ('.$ann['montantTxt'].')'; - elseif ($ann['montantAnMin']<>'' && $ann['montantAnMax']) - $strMontant.=' ('.$ann['montantAnMin'].' à '. - $ann['montantAnMax'].')'; - elseif ($ann['trancheCond']<>'' && $ann['trancheFerme']) - $strMontant.=' ('.$ann['trancheCond'].' / '. - $ann['trancheFerme'].')'; - else $strMontant.=''; - $tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), - 'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant); - // Axxx pour lot attribué ou Oxxx pour Organisation - if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; - else $numAnn=$ann['Num_Annonce']; - if ($ann['Boamp_Code']=='MAPA') - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; - else { - $lettre = substr($ann['Boamp_Code'],-1); - $annee = $ann['Boamp_Annee_Parution']; - $num = sprintf("%04d",$ann['Boamp_Num']); - $numPar=$lettre.$annee.$num; - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; - } - $infosComp=''; - $objetMarche=trim($ann['objet'].' '.$ann['objetAutre'].' '.$ann['autres']); - //titre, titreMarche, typeObjetMarche - $tabRet[$k]=array( 'id'=>'A.'.$ann['id'], - 'BodaccCode'=>$ann['Boamp_Code'], - 'BodaccNum'=>$ann['Boamp_Num'], - 'NumAnnonce'=>$numAnn, - 'DateParution'=>$ann['Boamp_Date_Parution'], - 'Departement'=>$ann['Boamp_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], - 'typeAnnonce'=>$ann['typeAnnonce'], - 'dateInsertionSD'=>$ann['dateInsert'], - 'Montant'=>$ann['montant'], - 'Organisme'=>strtoupper($ann['raisonSociale']), - 'Objet'=>$objetMarche, - 'evenements'=>$tabRetEven, - 'infosComp'=>$infosComp, // Non géré - 'Lien_Annonce_Html'=>$lienMapa, // Non géré - ); + if ($ann['montant']*1>0) $strMontant.=' ('.number_format($ann['montant'], 2, ',', ' ').' EUR)'; + elseif ($ann['montantTxt']<>'') $strMontant.=' ('.$ann['montantTxt'].')'; + elseif ($ann['montantAnMin']<>'' && $ann['montantAnMax']) + $strMontant.=' ('.$ann['montantAnMin'].' à '.$ann['montantAnMax'].')'; + elseif ($ann['trancheCond']<>'' && $ann['trancheFerme']) + $strMontant.=' ('.$ann['trancheCond'].' / '.$ann['trancheFerme'].')'; + else $strMontant.=''; - if ($idA<>0) - if ($ann['Boamp_Code']=='MAPA') - $tabRet[$k]['texteAnnonce']=$ann['annonce']; - else - $tabRet[$k]['texteAnnonce']= - strtr( preg_replace('//Uis', '', + $tabRetEven[] = array( + 'CodeEven' => $mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), + 'LibEven' => $mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'],$ann['Boamp_Rubrique_Lib']).$strMontant + ); + + // Axxx pour lot attribué ou Oxxx pour Organisation + if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; + else $numAnn=$ann['Num_Annonce']; + if ($ann['Boamp_Code']=='MAPA') { + $lienMapa = 'http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='. + $ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } else { + $lettre = substr($ann['Boamp_Code'],-1); + $annee = $ann['Boamp_Annee_Parution']; + $num = sprintf("%04d",$ann['Boamp_Num']); + $numPar = $lettre.$annee.$num; + $lienMapa = 'http://www.boamp.fr/index.php?action=avis&num_parution='. + $numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } + $infosComp=''; + $objetMarche=trim($ann['objet'].' '.$ann['objetAutre'].' '.$ann['autres']); + //titre, titreMarche, typeObjetMarche + $tabRet[$k] = array( + 'id'=>'A.'.$ann['id'], + 'BodaccCode'=>$ann['Boamp_Code'], + 'BodaccNum'=>$ann['Boamp_Num'], + 'NumAnnonce'=>$numAnn, + 'DateParution'=>$ann['Boamp_Date_Parution'], + 'Departement'=>$ann['Boamp_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], + 'typeAnnonce'=>$ann['typeAnnonce'], + 'dateInsertionSD'=>$ann['dateInsert'], + 'Montant'=>$ann['montant'], + 'Organisme'=>strtoupper($ann['raisonSociale']), + 'Objet'=>$objetMarche, + 'evenements'=>$tabRetEven, + 'infosComp'=>$infosComp, // Non géré + 'Lien_Annonce_Html'=>$lienMapa, // Non géré + ); + + if ($idA<>0) { + if ($ann['Boamp_Code']=='MAPA') { + $tabRet[$k]['texteAnnonce'] = $ann['annonce']; + } else { + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', preg_replace('//Uis', '', preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), array(' '=>' ', ''=>'', ''=>'', '

'=>'
') - ); - } - } + ); + } + } + } + } } + // --- Recherche dans les avis de marchés if ( is_string($type) && $type=='M' || is_array($type) && in_array('M',$type) ) { - // Recherche dans les avis de marchés + if ($idAnnonce<>'') { - $tmp=explode('.', $idAnnonce); - $idA=$tmp[1]; - //if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0]; - if ($tmp[0]=='A') $strIdAnn=" AND d.id='$idA' "; - elseif ($tmp[0]=='O') $strIdAnn=""; - } + $tmp = explode('.', $idAnnonce); + $idA = $tmp[1]; + if ($tmp[0]=='A') $strIdAnn=" AND d.id='$idA' "; + elseif ($tmp[0]=='O') $strIdAnn=""; + } - $bodacc=$this->iDb->select( - 'boamp b, boamp_detail d', + $bodacc = $this->iDb->select('jo.boamp b, jo.boamp_detail d', "d.id, d.Boamp_Code, d.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, d.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, titre AS description, d.raisonSociale, d.estimValeur AS montantTxt, d.estimValeurMin AS montantAnMin, d.estimValeurMax AS montantAnMax, objet, cpv_obj, cpv_comp, d.dateInsert", - "d.siren='$siren' AND d.id=b.id $strIdAnn GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", - false, MYSQL_ASSOC - ); + "d.siren=$siren AND d.id=b.id $strIdAnn GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", false, MYSQL_ASSOC); - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $id=$ann['id']; - $rub=$ann['Boamp_Rubrique']; - $tabRetEven=array(); - $strMontant=''; - if ($ann['objet']<>'') $strMontant.=' "'.$ann['objet'].'"'; + if (count($bodacc)>0) { + foreach ($bodacc as $k => $ann) { + $id = $ann['id']; + $rub = $ann['Boamp_Rubrique']; + $tabRetEven = array(); + $strMontant = ''; + if ($ann['objet']<>'') $strMontant.=' "'.$ann['objet'].'"'; - if ($rub=='6' || // Avis d'attribution - $rub=='7' || // Avis en cas de transparence ex ante volontaire - $rub=='77' || // Avis d'attribution - $rub=='8' || // Avis d'attribution - $rub=='82' || // Rectificatif - $rub=='83' || // Rectificatif - $rub=='84' || // Avis d'attribution comportant des lots infructueux - $rub=='9' || // Résultat de marché - $rub=='92' || // Rectificatif - $rub=='93' || // Résultat de marché / Infructueux - Sans suite - $rub=='94' || // Résultat de marché / Résultat de marché comportant des lots infructueux - $rub=='96' || // Annulation - Rectificatif - Sans suite - Infructueux - $rub=='977' // Annulation - Rectificatif / Avis en cas de transparence ex ante volontaire - ) { - $tabTmp=$this->iDb->select( 'boamp_lots l', - "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, l.Boamp_Date_Parution, l.num, l.`desc` AS description, l.nom, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin", - "l.idAnn=$id", false, MYSQL_ASSOC); - foreach ($tabTmp as $k2=>$ann2) { - if ($ann2['nom']<>'') $strMontant.=' "'.strtoupper($ann2['nom']).'"'; - if ($ann2['montant']*1>0) $strMontant.=' ('.number_format($ann2['montant'], 2, ',', ' ').' EUR)'; - elseif ($ann2['montantTxt']<>'') $strMontant.=' ('.$ann2['montantTxt'].')'; - elseif ($ann2['montantAnMin']<>'' && $ann2['montantAnMax']) - $strMontant.=' ('.$ann2['montantAnMin'].' à '. - $ann2['montantAnMax'].')'; - elseif ($ann2['trancheCond']<>'' && $ann2['trancheFerme']) - $strMontant.=' ('.$ann['trancheCond'].' / '. - $ann['trancheFerme'].')'; - else $strMontant.=''; - } - } - $tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), - 'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant); - // Axxx pour lot attribué ou Oxxx pour Organisation - if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; - else $numAnn=$ann['Num_Annonce']; - if ($ann['Boamp_Code']=='MAPA') - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; - else { - $lettre = substr($ann['Boamp_Code'],-1); - $annee = $ann['Boamp_Annee_Parution']; - $num = sprintf("%04d",$ann['Boamp_Num']); - $numPar=$lettre.$annee.$num; - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; - } - $infosComp=''; - $tabRet[$k]=array( 'id'=>'O.'.$id, - 'BodaccCode'=>$ann['Boamp_Code'], - 'BodaccNum'=>$ann['Boamp_Num'], - 'NumAnnonce'=>$numAnn, - 'DateParution'=>$ann['Boamp_Date_Parution'], - 'Departement'=>$ann['Boamp_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], - 'typeAnnonce'=>$ann['typeAnnonce'], - 'dateInsertionSD'=>$ann['dateInsert'], - 'evenements'=>$tabRetEven, - 'infosComp'=>$infosComp, // Non géré - 'Lien_Annonce_Html'=>$lienMapa, // Non géré - ); + if ($rub=='6' || // Avis d'attribution + $rub=='7' || // Avis en cas de transparence ex ante volontaire + $rub=='77' || // Avis d'attribution + $rub=='8' || // Avis d'attribution + $rub=='82' || // Rectificatif + $rub=='83' || // Rectificatif + $rub=='84' || // Avis d'attribution comportant des lots infructueux + $rub=='9' || // Résultat de marché + $rub=='92' || // Rectificatif + $rub=='93' || // Résultat de marché / Infructueux - Sans suite + $rub=='94' || // Résultat de marché / Résultat de marché comportant des lots infructueux + $rub=='96' || // Annulation - Rectificatif - Sans suite - Infructueux + $rub=='977' // Annulation - Rectificatif / Avis en cas de transparence ex ante volontaire + ) { + $tabTmp = $this->iDb->select('jo.boamp_lots l', + "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, l.Boamp_Date_Parution, l.num, l.desc AS description, l.nom, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin", + "l.idAnn=$id", false, MYSQL_ASSOC); + foreach ($tabTmp as $k2=>$ann2) { + if ($ann2['nom']<>'') $strMontant.=' "'.strtoupper($ann2['nom']).'"'; + if ($ann2['montant']*1>0) $strMontant.=' ('.number_format($ann2['montant'], 2, ',', ' ').' EUR)'; + elseif ($ann2['montantTxt']<>'') $strMontant.=' ('.$ann2['montantTxt'].')'; + elseif ($ann2['montantAnMin']<>'' && $ann2['montantAnMax']) + $strMontant.=' ('.$ann2['montantAnMin'].' à '.$ann2['montantAnMax'].')'; + elseif ($ann2['trancheCond']<>'' && $ann2['trancheFerme']) + $strMontant.=' ('.$ann['trancheCond'].' / '.$ann['trancheFerme'].')'; + else $strMontant.=''; + } + } + $tabRetEven[] = array( + 'CodeEven' => $mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), + 'LibEven' => $mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant + ); - if ($idA<>0) - if ($ann['Boamp_Code']=='MAPA') - $tabRet[$k]['texteAnnonce']=$ann['annonce']; - else - $tabRet[$k]['texteAnnonce']= - strtr( preg_replace('//Uis', '', - preg_replace('//Uis', '', - preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), - array(' '=>' ', ''=>'', ''=>'', '

'=>'
') - ); - } - } + // Axxx pour lot attribué ou Oxxx pour Organisation + if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; + else $numAnn=$ann['Num_Annonce']; + if ($ann['Boamp_Code']=='MAPA') + $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; + else { + $lettre = substr($ann['Boamp_Code'],-1); + $annee = $ann['Boamp_Annee_Parution']; + $num = sprintf("%04d",$ann['Boamp_Num']); + $numPar=$lettre.$annee.$num; + $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } + $infosComp=''; + $tabRet[$k] = array( + 'id'=>'O.'.$id, + 'BodaccCode'=>$ann['Boamp_Code'], + 'BodaccNum'=>$ann['Boamp_Num'], + 'NumAnnonce'=>$numAnn, + 'DateParution'=>$ann['Boamp_Date_Parution'], + 'Departement'=>$ann['Boamp_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], + 'typeAnnonce'=>$ann['typeAnnonce'], + 'dateInsertionSD'=>$ann['dateInsert'], + 'evenements'=>$tabRetEven, + 'infosComp'=>$infosComp, // Non géré + 'Lien_Annonce_Html'=>$lienMapa, // Non géré + ); + + if ($idA<>0) { + if ($ann['Boamp_Code']=='MAPA') { + $tabRet[$k]['texteAnnonce'] = $ann['annonce']; + } else { + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', + preg_replace('//Uis', '', + preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), + array(' '=>' ', ''=>'', ''=>'', '

'=>'
') + ); + } + } + } + } } debugLog('I', "getAnnoncesBoamp(siren=$siren, idAnnonce=$idAnnonce, $idA)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); return $tabRet; @@ -5592,29 +5602,34 @@ class MInsee { $bodaccA = array(); $bodaccM = array(); + + // --- Recherche dans les avis d'attribution if ( $type=='' || $type=='A' ) { - - /** Recherche dans les avis d'attribution **/ - $bodaccA=$this->iDb->select( - 'jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', - "l.id", - "l.siren='$siren' AND l.idAnn=b.id AND l.idAnn=d.id GROUP BY b.id ORDER BY l.Boamp_Date_Parution", - false, MYSQL_ASSOC - ); - } - if ( $type=='' || $type=='M') { - /** Recherche dans les avis de marchés **/ - $bodaccM = $this->iDb->select( 'jo.boamp b, jo.boamp_detail d', "d.id", - "d.siren='$siren' AND d.id=b.id GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", - false, MYSQL_ASSOC - ); - + $bodaccA = $this->iDb->select('jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', "l.id", + "l.siren=$siren AND l.idAnn=b.id AND l.idAnn=d.id GROUP BY b.id ORDER BY l.Boamp_Date_Parution", + false, MYSQL_ASSOC); } + + // --- Recherche dans les avis de marchés + if ( $type=='' || $type=='M') { + $bodaccM = $this->iDb->select('jo.boamp b, jo.boamp_detail d', "d.id", + "d.siren=$siren AND d.id=b.id GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", + false, MYSQL_ASSOC); + } + $nb = count($bodaccA) + count($bodaccM); + return $nb; } - function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100) + /** + * + * @param unknown $siren + * @param number $idAnnonce + * @param number $offset + * @param number $lignes + */ + public function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100) { debugLog('I', "Début getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);