<?php
namespace App\Controller;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use App\Services\MetaTag;
use App\Helper\ParametersProvider;
use App\Entity\AnnoncesVendeur;
use App\Entity\RaisonsCession;
use App\Entity\SecteursActivite;
use App\Entity\GrilleAnalysePostMer;
use App\Entity\AnnoncesVendeurProfilsStandards;
use App\Entity\Societes;
use App\Entity\Statuts;
use App\Services\ManagerEntity\ActualitesManagers;
use App\Services\ManagerEntity\AnnoncesManagers;
use App\Services\ManagerEntity\SecteursActiviteManagers;
use App\Services\ManagerEntity\SocietesManagers;
use App\Services\ManagerEntity\ValorisationsManagers;
use App\Services\ManagerEntity\LocalisationsManagers;
use App\Services\ManagerEntity\CommandesManager;
use App\Entity\Commandes;
use App\Services\ManagerEntity\DroitsAccesManagers;
use App\Services\SessionHandler;
use App\Services\PDFGenerator;
use App\Twig\TranslationExtension;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Forms;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\AnnoncesAcheteur;
use App\Repository\SecteursActiviteFondsRepository;
use App\Helper\Utils;
use App\Helper\DetailAnnonceProvider;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\Panier;
use App\Repository\AnnoncesVendeurRepository;
use App\Repository\VillesRepository;
use App\Repository\ParametresDiversRepository;
use App\Entity\Villes;
use App\Repository\LocalisationsRepository;
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
use App\Entity\TranslateAnnonceVendeur;
use App\Entity\StatistiquesNbConsultationsAnnoncesVendeurEntity;
use App\Repository\CommandesRepository;
use App\Services\TelephoneInternational;
use App\Services\Compte\Commandes\CommandesManagers;
use App\Services\GoogleTag;
use App\Services\ManagerEntity\ParametreSiteManagers;
use App\Services\Annonces\Elites\RechercheAvancee;
use App\Services\Annonces\Elites\RechercheElite;
use App\Services\Annonces\Elites\AbstractConstProfilsStrategiques as ProfilsConst;
use App\Services\LogMarketingProvider;
use App\Services\Annonces\ConsultationsAnnonce;
use App\Security\Voter\AnnonceCommandVoter;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
class ReprendreEntrepriseController extends EntityUsingController {
protected $authChecker;
/**
* @var AnnoncesManagers
*/
private $am;
/**
* @var CommandesManager
*/
private $cm;
/**
* @var SocietesManagers
*/
private $sm;
/**
* @var DroitsAccesManagers
*/
private $dm;
/**
* @var SecteursActiviteManagers
*/
private $sam;
/**
* @var EntityManagerInterface
*/
private $em;
/**
* @var MetaTag
*/
private $metaTag;
public function __construct(AuthorizationCheckerInterface $authChecker, AnnoncesManagers $am, CommandesManager $cm, SocietesManagers $sm, DroitsAccesManagers $dm, EntityManagerInterface $em, PDFGenerator $pf, SecteursActiviteManagers $sam, MetaTag $metaTag, RechercheAvancee $rechercheElite, LogMarketingProvider $lmp) {
$this->authChecker = $authChecker;
$this->am = $am;
$this->cm = $cm;
$this->sm = $sm;
$this->dm = $dm;
$this->em = $em;
$this->pf = $pf;
$this->sam = $sam;
$this->metaTag = $metaTag;
$this->rechercheElite = $rechercheElite;
$this->lmp = $lmp;
}
public function index(): Response {
return $this->render('reprendre_entreprise/index.html.twig');
}
public function recherchestandardentreprise(Request $request, TranslationExtension $translationExtension, AnnoncesVendeurRepository $annonceVendeurRepo, ContainerBagInterface $container, $codePays): Response {
$reference_mots_cles = $request->query->get('reference_mots_cles');
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$hasServiceElite = false;
$alertPubElite = $request->query->get('alertPubElite');
if (empty($alertPubElite)) {
$alertPubElite = false;
} else {
$alertPubElite = true;
}
// Si on fait une recherche simple
if (isset($reference_mots_cles) && $reference_mots_cles != "") {
// Si on recherche par idAnnonce
if (preg_match("/v([0-9]{3,8})/i", $reference_mots_cles) == true || preg_match("/([0-9]{3,8})/", $reference_mots_cles) == true) {
$idAnnonce = preg_replace("/[^0-9]/", "", $reference_mots_cles);
$annonce = $this->am->getAnnonceVendeurById($idAnnonce);
if (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
}
if (!empty($user)) {
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
// Si l'annonce existe et est publiquee
if ($annonce && $annonce['mode_annonce'] == "publique" && substr($annonce['statuts'], 0, 2) != "99") {
$slug = Utils::slugify($annonce['titre_annonce']);
return $this->forward('App\Controller\ReprendreEntrepriseController::detailsannonce', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
} elseif (($annonce['mode_annonce'] == "publique_elite" && $hasServiceElite) || $annonce['login_utilisateur'] == $login_utilisateur) {
$slug = Utils::slugify($annonce['titre_annonce']);
return $this->forward('App\Controller\ReprendreEntrepriseController::detailsannonce', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
} elseif (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
} elseif (!empty($user) && 'publique_elite' == $annonce['mode_annonce'] && !$hasServiceElite) {
$lang = $request->getSession()->get('lang');
$alertPubElite = true;
} else {
$lang = $request->getSession()->get('lang');
$this->addFlash('error', $translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification', $lang, '', 'M', ''));
}
// Si on recherche par mots cles
} else {
// A developper
$request->query->set('type_recherche', 5);
return $this->forward('App\Controller\ReprendreEntrepriseController::entreprise', ['codePays' => $codePays, 'request' => $request]);
}
}
return $this->render(
'reprendre_entreprise/recherche_standard_entreprise.html.twig',
[
"alertPubElite" => $alertPubElite
]
);
}
public function dernieresAnnoncesCessionEntreprise($lang, $codePays) {
$dernieresAnnonces = $this->am->getDernieresAnnoncesCessions(5, "entreprise", $lang, $this->getIdPaysByCodePays($codePays));
$dernieresAnnoncesPubliqueElite = $this->am->getDernieresAnnoncesCessions(5, "entreprise_publique_elite", $lang, $this->getIdPaysByCodePays($codePays));
$eliteAccess = false;
if (!empty($this->getUser())) {
$eliteAccess = $this->dm->checkIfThisUserHasDroitService($this->getUser(), [RechercheElite::CODE_SERVICE_ELITE]); // on loggue par defaut ELITE
}
return $this->render(
'reprendre_entreprise/fragments/cession_entreprise/dernieres_annonces.html.twig',
[
'dernieresAnnonces' => $dernieresAnnonces,
'eliteAccess' => $eliteAccess,
'lang' => $lang,
'codePays' => $codePays,
'dernieresAnnoncesPubliqueElite' => $dernieresAnnoncesPubliqueElite
]
);
}
public function trouverAnnonceCessionEntrepriseParLocalisation($lang, $codePays) {
$array_annonce_region_du_pays = $this->am->donne_tableau_nb_annonce_vendeur_par_region("entreprise", $this->getIdPaysByCodePays($codePays));
$nb_regions = count($array_annonce_region_du_pays);
if ($nb_regions % 2 != 0) {
$moitie = ceil($nb_regions / 2);
} else {
$moitie = $nb_regions / 2;
}
$colonne_region_gauche = array_slice($array_annonce_region_du_pays, 0, $moitie);
$colonne_region_droite = array_slice($array_annonce_region_du_pays, $moitie);
$nb_annonce_france = $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_entreprises'];
$nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_entreprises'];
$nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_entreprises'];
$nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_entreprises'];
$nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_entreprises'];
return $this->render(
"reprendre_entreprise/fragments/cession_entreprise/trouver_annonce_par_localisation_" . $this->getVersionByCodePays($codePays) . ".html.twig",
[
'colonne_region_gauche' => $colonne_region_gauche,
'colonne_region_droite' => $colonne_region_droite,
'nb_annonce_france' => $nb_annonce_france,
'nb_annonce_belgique' => $nb_annonce_belgique,
'nb_annonce_canada' => $nb_annonce_canada,
'nb_annonce_suisse' => $nb_annonce_suisse,
'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function trouverAnnonceCessionEntrepriseParCategorie($lang, $codePays) {
$annonces_secteur_activite = $this->getNbAnnoncesBySecteursActivite();
return $this->render(
"reprendre_entreprise/fragments/cession_entreprise/trouver_annonce_par_categorie.html.twig",
[
'annonces_secteur_activite' => $annonces_secteur_activite,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function recherchestandardactif(Request $request, TranslationExtension $translationExtension, AnnoncesVendeurRepository $annonceVendeurRepo, ContainerBagInterface $container, $codePays): Response {
$reference_mots_cles = $request->query->get('reference_mots_cles');
// Si on fait une recherche simple
if (isset($reference_mots_cles) && $reference_mots_cles != "") {
// Si on recherche par idAnnonce
if (preg_match("/v([0-9]{3,8})/i", $reference_mots_cles) == true || preg_match("/([0-9]{3,8})/", $reference_mots_cles) == true) {
$idAnnonce = preg_replace("/[^0-9]/", "", $reference_mots_cles);
$annonce = $this->am->getAnnonceVendeurById($idAnnonce);
// Si l'annonce existe et est publiquee
if ($annonce && $annonce['mode_annonce'] == "publique" && substr($annonce['statuts'], 0, 2) == "99") {
$slug = Utils::slugify($annonce['titre_annonce']);
return $this->forward('App\Controller\ReprendreEntrepriseController::detailsannonce', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
} else {
$lang = $request->getSession()->get('lang');
$this->addFlash('error', $translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification', $lang, '', 'M', ''));
}
// Si on recherche par mots cles
} else {
// A developper
$request->query->set('type_recherche', 5);
return $this->forward('App\Controller\ReprendreEntrepriseController::actif', ['codePays' => $codePays, 'request' => $request]);
}
}
return $this->render(
'reprendre_entreprise/recherche_standard_actif.html.twig',
[
]
);
}
public function dernieresAnnoncesCessionActif($lang, $codePays) {
$dernieresAnnonces = $this->am->getDernieresAnnoncesCessions(5, "actif", $lang, $this->getIdPaysByCodePays($codePays));
return $this->render(
'reprendre_entreprise/fragments/cession_actif/dernieres_annonces.html.twig',
[
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function trouverAnnonceCessionActifParLocalisation($lang, $codePays) {
$nb_annonce_france = $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_actifs'];
$nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_actifs'];
$nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_actifs'];
$nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_actifs'];
$nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_actifs'];
return $this->render(
"reprendre_entreprise/fragments/cession_actif/trouver_annonce_par_localisation_" . $this->getVersionByCodePays($codePays) . ".html.twig",
[
'nb_annonce_france' => $nb_annonce_france,
'nb_annonce_belgique' => $nb_annonce_belgique,
'nb_annonce_canada' => $nb_annonce_canada,
'nb_annonce_suisse' => $nb_annonce_suisse,
'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function recherchestandardrecherchepartenariat(Request $request, TranslationExtension $translationExtension, AnnoncesVendeurRepository $annonceVendeurRepo, ContainerBagInterface $container, $codePays): Response {
$reference_mots_cles = $request->query->get('reference_mots_cles');
// Si on fait une recherche simple
if (isset($reference_mots_cles) && $reference_mots_cles != "") {
// Si on recherche par idAnnonce
if (preg_match("/a([0-9]{3,8})/i", $reference_mots_cles) == true || preg_match("/([0-9]{3,8})/", $reference_mots_cles) == true) {
$idAnnonce = preg_replace("/[^0-9]/", "", $reference_mots_cles);
$annonce = $this->am->getAnnonceAcheteurById($idAnnonce);
// Si l'annonce existe et est publiquee
if ($annonce && $annonce['mode_annonce'] == "publique" && $annonce['type_raprochement'] == "partenaire") {
$slug = Utils::slugify($annonce['titre_annonce']);
return $this->forward('App\Controller\VendreEntrepriseController::detailsannonce', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
} else {
$lang = $request->getSession()->get('lang');
$this->addFlash('error', $translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification', $lang, '', 'M', ''));
}
// Si on recherche par mots cles
} else {
// A developper
$request->query->set('type_recherche', 5);
return $this->forward('App\Controller\ReprendreEntrepriseController::recherchepartenariat', ['codePays' => $codePays, 'request' => $request]);
}
}
return $this->render(
'reprendre_entreprise/recherche_standard_recherche_partenariat.html.twig',
[
]
);
}
public function dernieresAnnoncesRecherchePartenariat($lang, $codePays) {
$dernieresAnnonces = $this->am->getDernieresAnnoncesAcquisitions(5, "partenaire", null, $lang, $this->getIdPaysByCodePays($codePays));
return $this->render(
'reprendre_entreprise/fragments/recherche_partenariat/dernieres_annonces.html.twig',
[
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function trouverAnnonceRecherchePartenariatParLocalisation($lang, $codePays) {
$nb_annonce_france = $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_recherches_partenariats'];
$nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_recherches_partenariats'];
$nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_recherches_partenariats'];
$nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_recherches_partenariats'];
$nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_recherches_partenariats'];
return $this->render(
"reprendre_entreprise/fragments/recherche_partenariat/trouver_annonce_par_localisation_" . $this->getVersionByCodePays($codePays) . ".html.twig",
[
'nb_annonce_france' => $nb_annonce_france,
'nb_annonce_belgique' => $nb_annonce_belgique,
'nb_annonce_canada' => $nb_annonce_canada,
'nb_annonce_suisse' => $nb_annonce_suisse,
'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function recherchestandardciblepotentielle(Request $request, TranslationExtension $translationExtension, AnnoncesVendeurRepository $annonceVendeurRepo, ContainerBagInterface $container, $codePays): Response {
$reference_mots_cles = $request->query->get('reference_mots_cles');
// Si on fait une recherche simple
if (isset($reference_mots_cles) && $reference_mots_cles != "") {
// Recherche par mots clés uniquement
$request->query->set('type_recherche', 5);
return $this->forward('App\Controller\ReprendreEntrepriseController::ciblepotentielle', ['codePays' => $codePays, 'request' => $request]);
}
return $this->render(
'reprendre_entreprise/recherche_standard_cible_potentielle.html.twig',
[
]
);
}
public function trouverCiblePotentielleParLocalisation($lang, $codePays) {
$array_annonce_region_du_pays = $this->sm->donne_tableau_nb_cible_potentielle_par_region($this->getIdPaysByCodePays($codePays));
$nb_regions = count($array_annonce_region_du_pays);
if ($nb_regions % 2 != 0) {
$moitie = ceil($nb_regions / 2);
} else {
$moitie = $nb_regions / 2;
}
$colonne_region_gauche = array_slice($array_annonce_region_du_pays, 0, $moitie);
$colonne_region_droite = array_slice($array_annonce_region_du_pays, $moitie);
$nb_annonce_france = $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_cibles_potentielles'];
$nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_cibles_potentielles'];
$nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_cibles_potentielles'];
$nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_cibles_potentielles'];
$nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_cibles_potentielles'];
return $this->render(
"reprendre_entreprise/fragments/cible_potentielle/trouver_annonce_par_localisation_" . $this->getVersionByCodePays($codePays) . ".html.twig",
[
'colonne_region_gauche' => $colonne_region_gauche,
'colonne_region_droite' => $colonne_region_droite,
'nb_annonce_france' => $nb_annonce_france,
'nb_annonce_belgique' => $nb_annonce_belgique,
'nb_annonce_canada' => $nb_annonce_canada,
'nb_annonce_suisse' => $nb_annonce_suisse,
'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function trouverCiblePotentielleParCategorie($lang, $codePays) {
$annonces_secteur_activite = $this->getNbAnnoncesBySecteursActivite("cible_potentielle");
return $this->render(
"reprendre_entreprise/fragments/cible_potentielle/trouver_annonce_par_categorie.html.twig",
[
'annonces_secteur_activite' => $annonces_secteur_activite,
'lang' => $lang,
'codePays' => $codePays
]
);
}
public function rechercheavanceeentreprise(Request $request, SecteursActiviteManagers $secteursActiviteManager, TranslationExtension $translationExtension, $codePays, LocalisationsManagers $localisationManager, $type = null): Response {
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$parametres_localisations = ParametersProvider::prepareLocalisationsParameters($localisationManager, $parametres);
$parametres_secteurs = ParametersProvider::prepareSecteursParameters($secteursActiviteManager, $parametres);
$string_params = $this->serializeParams($parametres);
$lang = $request->getSession()->get('lang');
$idPays = $this->getIdPaysByCodePays($codePays);
$pays = $this->am->donne_option_select_pays_annonce_vente($idPays);
$regions = [];
$departements = [];
$secteurs_activite1 = $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
if (isset($parametres['id_secteur_activite'])) {
$secteurs_activite2 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
$show_secteur_niveau_2 = true;
} else {
$secteurs_activite2 = [];
$show_secteur_niveau_2 = false;
}
if (isset($parametres['id_secteur_activite2'])) {
$secteurs_activite3 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
$show_secteur_niveau_3 = true;
} else {
$secteurs_activite3 = [];
$show_secteur_niveau_3 = false;
}
$type_cession = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '',
$translationExtension->translate('majoritaire', $lang, '', 'M', '') => 'Majoritaire',
$translationExtension->translate('minoritaire', $lang, '', 'M', '') => 'Minoritaire',
];
$raison_cession = [
$translationExtension->translate('toutes', $lang, '', 'M', '') => '',
$translationExtension->translate('depart a la retraite', $lang, '', 'M', '') => '1',
$translationExtension->translate("changement d'activite du dirigeant", $lang, '', 'M', '') => '2',
$translationExtension->translate('renforcement des fonds propres', $lang, '', 'M', '') => '3',
$translationExtension->translate('adossement industriel', $lang, '', 'M', '') => '4',
$translationExtension->translate('societe en difficulte', $lang, '', 'M', '') => '5',
$translationExtension->translate('autre', $lang, '', 'M', '') => '6',
];
$immo_a_vendre = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '', // value = indifferent
$translationExtension->translate('oui', $lang, '', 'M', '') => 'oui',
];
$prix_cession_null = $translationExtension->translate("afficher les annonces dont le prix de cession n'est pas indique", $lang, '', 'M', '');
$type_repreneur_personne = $translationExtension->translate('personne physique', $lang, '', 'M', '');
$type_repreneur_societe = $translationExtension->translate('societe', $lang, '', 'M', '');
$apport_demande_null = $translationExtension->translate("afficher les annonces dont l'apport n'est pas indique", $lang, '', 'M', '');
$ca_null = $translationExtension->translate("afficher les annonces dont le chiffre d'affaires n'est pas indique", $lang, '', 'M', '');
$resultat_net = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '',
$translationExtension->translate('< 0k€', $lang, '', 'M', '') => '5',
$translationExtension->translate('> 0k€', $lang, '', 'M', '') => '1',
$translationExtension->translate('> 100k€', $lang, '', 'M', '') => '2',
$translationExtension->translate('> 300k€', $lang, '', 'M', '') => '3',
$translationExtension->translate('> 500k€', $lang, '', 'M', '') => '4',
];
/* $nb_personnes = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '',
$translationExtension->translate('< 10 personnes', $lang, '', 'M', '') => '1',
$translationExtension->translate('10 - 50 personnes', $lang, '', 'M', '') => '2',
$translationExtension->translate('50 - 100 personnes', $lang, '', 'M', '') => '3',
$translationExtension->translate('100 - 200 personnes', $lang, '', 'M', '') => '4',
$translationExtension->translate('> 200 personnes', $lang, '', 'M', '') => '5',
]; */
$redressement_judiciaire = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '', // value = indifferent
$translationExtension->translate('non', $lang, '', 'M', '') => 'non',
$translationExtension->translate('oui', $lang, '', 'M', '') => 'oui',
];
$possession_brevets = $translationExtension->translate('posseder des brevets', $lang, '', 'M', '');
$possession_marques = $translationExtension->translate("posseder des marques deposees a l'inpi", $lang, '', 'M', '');
$travail_export = $translationExtension->translate("travailler a l'export", $lang, '', 'M', '');
$recherche_par = [
$translationExtension->translate("mots-cles de l'activite recherchee", $lang, '', 'M', '') => 'motscles',
$translationExtension->translate("secteur predefini", $lang, '', 'M', '') => 'secteurs'
];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form = $formFactory->createNamedBuilder('')
->add('id_pays', ChoiceType::class, [
'choices' => $pays,
])
->add('id_region', ChoiceType::class, [
'choices' => $regions,
])
->add('id_departement', ChoiceType::class, [
'choices' => $departements,
])
->add('id_localisation', HiddenType::class, [
'data' => $parametres['id_localisation'],
])
->add('ajouter', ButtonType::class)
->add('reference_mots_cles', TextType::class, [
'required' => false,
'data' => $parametres['reference_mots_cles'],
'attr' => [
'placeholder' => $translationExtension->translate("transport, services informatiques, ...", $lang, '', 'M', '')
]
])
->add('id_secteur_activite', ChoiceType::class, [
'choices' => $secteurs_activite1,
'data' => $parametres['id_secteur_activite']
])
->add('id_secteur_activite2', ChoiceType::class, [
'choices' => $secteurs_activite2,
'data' => $parametres['id_secteur_activite2']
])
->add('id_secteur_activite3', ChoiceType::class, [
'choices' => $secteurs_activite3,
'data' => $parametres['id_secteur_activite3']
])
->add('id_secteur', HiddenType::class, [
'data' => $parametres['id_secteur'],
])
->add('ajouter_secteur_activite', ButtonType::class)
->add('id_raison_cession', ChoiceType::class, [
'choices' => $raison_cession,
'required' => false,
'data' => $parametres['id_raison_cession']
])
->add('immo_a_vendre', ChoiceType::class, [
'required' => false,
'choices' => $immo_a_vendre,
'choice_attr' => function ($choice) {
return ['class' => 'form-check-input'];
},
'expanded' => true,
'multiple' => false,
'data' => $parametres['immo_a_vendre']
])
->add('prix_cession', TextType::class, [
'required' => false
])
->add('prix_cession_null', CheckboxType::class, [
'label' => $prix_cession_null,
'required' => false,
'data' => $parametres['prix_cession_null']
])
->add('type_repreneur_personne', CheckboxType::class, [
'label' => $type_repreneur_personne,
'required' => false,
'data' => $parametres['type_repreneur_personne']
])
->add('type_repreneur_societe', CheckboxType::class, [
'label' => $type_repreneur_societe,
'required' => false,
'data' => $parametres['type_repreneur_societe']
])
->add('apport_demande', TextType::class, ['required' => false])
->add('apport_demande_null', CheckboxType::class, [
'label' => $apport_demande_null,
'required' => false,
'data' => $parametres['apport_demande_null']
])
->add('possession_brevets', CheckboxType::class, [
'label' => $possession_brevets,
'required' => false,
'data' => $parametres['possession_brevets']
])
->add('possession_marques', CheckboxType::class, [
'label' => $possession_marques,
'required' => false,
'data' => $parametres['possession_marques']
])
->add('travail_export', CheckboxType::class, [
'label' => $travail_export,
'required' => false,
'data' => $parametres['travail_export']
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('recherche_par', ChoiceType::class, [
'required' => false,
'choices' => $recherche_par,
'expanded' => true,
'multiple' => false,
'data' => $parametres['recherche_par'],
'placeholder' => false,
'choice_value' => function ($choice) {
return $choice; // Utilisez la valeur du choix comme clé
}
])
->add('rechercher', SubmitType::class);
if ($type == null || $type == "cession_entreprise") {
$form = $form->add('ca', TextType::class, ['required' => false])
->add('type_cession', ChoiceType::class, [
'choices' => $type_cession,
'required' => false,
'data' => $parametres['type_cession']
])
->add('ca_null', CheckboxType::class, [
'label' => $ca_null,
'required' => false,
'data' => $parametres['ca_null'],
])
->add('resultat_net', ChoiceType::class, [
'choices' => $resultat_net,
'required' => false,
'data' => $parametres['resultat_net']
])
/* ->add('nb_personnes', ChoiceType::class, [
'choices' => $nb_personnes,
'required' => false,
'data' => $parametres['nb_personnes']
]) */
->add('nb_personnes', TextType::class, [
'required' => false
])
->add('redressement_judiciaire', ChoiceType::class, [
'required' => false,
'choices' => $redressement_judiciaire,
'choice_attr' => function ($choice) {
return ['class' => 'form-check-input'];
},
'expanded' => true,
'multiple' => false,
'data' => $parametres['redressement_judiciaire']
])
->setAction($this->generateUrl('reprendre_entreprise_resultats_annonces_cession_entreprise', ['codePays' => $codePays]));
} else {
$form = $form->setAction($this->generateUrl('reprendre_entreprise_resultats_cession_actif', ['codePays' => $codePays]));
}
$form = $form->setMethod('GET')
->getForm();
$profils = ProfilsConst::listProfilsStrategiquesByCategory();
$accesElite = ($this->getUser()) ? $this->dm->checkIfThisUserHasDroitService($this->getUser(), RechercheElite::CODE_SERVICE) : false; // ELITE
return $this->render(
'reprendre_entreprise/recherche_avancee_entreprise.html.twig',
[
'type' => $type,
"profils" => $profils,
'form' => $form->createView(),
'parametres' => $parametres,
'parametres_localisations' => $parametres_localisations,
'parametres_secteurs' => $parametres_secteurs,
'string_params' => $string_params,
"data" => [
"elite" => $accesElite,
],
'show_secteur_niveau_2' => $show_secteur_niveau_2,
'show_secteur_niveau_3' => $show_secteur_niveau_3
]
);
}
public function rechercheavanceeciblepotentielle(Request $request, SecteursActiviteManagers $secteursActiviteManager, TranslationExtension $translationExtension, $codePays, LocalisationsManagers $localisationManager, ParametreSiteManagers $psm): Response {
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$parametres_localisations = ParametersProvider::prepareLocalisationsParameters($localisationManager, $parametres);
$parametres_secteurs = ParametersProvider::prepareSecteursParameters($secteursActiviteManager, $parametres);
$string_params = $this->serializeParams($parametres);
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$lang = $request->getSession()->get('lang');
$idPays = $this->getIdPaysByCodePays($codePays);
$actionnaires = $repoSociete->donne_liste_societe_gestion_select();
$pays = $this->sm->donne_option_select_pays_cible_potentielle($idPays);
$regions = [];
$societe_cotee = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '0',
$translationExtension->translate('oui', $lang, '', 'M', '') => 'oui',
$translationExtension->translate('non', $lang, '', 'M', '') => 'non',
];
$secteurs_activite1 = $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
if (isset($parametres['id_secteur_activite'])) {
$secteurs_activite2 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
$show_secteur_niveau_2 = true;
} else {
$secteurs_activite2 = [];
$show_secteur_niveau_2 = false;
}
if (isset($parametres['id_secteur_activite2'])) {
$secteurs_activite3 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
$show_secteur_niveau_3 = true;
} else {
$secteurs_activite3 = [];
$show_secteur_niveau_3 = false;
}
$recherche_par = [
$translationExtension->translate("mots-cles de l'activite recherchee", $lang, '', 'M', '') => 'motscles',
$translationExtension->translate("secteur predefini", $lang, '', 'M', '') => 'secteurs'
];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form = $formFactory->createNamedBuilder('')
->add('id_gestionnaire_fonds', ChoiceType::class, [
'choices' => $actionnaires,
'data' => $parametres['id_gestionnaire_fonds']
])
->add('id_pays', ChoiceType::class, [
'choices' => $pays,
])
->add('id_region', ChoiceType::class, [
'choices' => $regions,
])
->add('id_localisation', HiddenType::class, [
'data' => $parametres['id_localisation']
])
->add('ajouter', ButtonType::class)
->add('reference_mots_cles', TextType::class, [
'required' => false,
'data' => $parametres['reference_mots_cles'],
'attr' => [
'placeholder' => $translationExtension->translate("transport, services informatiques, ...", $lang, '', 'M', '')
]
])
->add('id_secteur_activite', ChoiceType::class, [
'choices' => $secteurs_activite1,
'data' => $parametres['id_secteur_activite']
])
->add('id_secteur_activite2', ChoiceType::class, [
'choices' => $secteurs_activite2,
'data' => $parametres['id_secteur_activite2']
])
->add('id_secteur_activite3', ChoiceType::class, [
'choices' => $secteurs_activite3,
'data' => $parametres['id_secteur_activite3']
])
->add('id_secteur', HiddenType::class, [
'data' => $parametres['id_secteur'],
])
->add('ajouter_secteur_activite', ButtonType::class)
->add('ca', TextType::class, ['required' => false])
->add('date', TextType::class, ['required' => false])
->add('societe_cotee', ChoiceType::class, [
'choices' => $societe_cotee,
'data' => $parametres['societe_cotee']
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('recherche_par', ChoiceType::class, [
'required' => false,
'choices' => $recherche_par,
'expanded' => true,
'multiple' => false,
'data' => $parametres['recherche_par'],
'placeholder' => false,
'choice_value' => function ($choice) {
return $choice; // Utilisez la valeur du choix comme clé
}
])
->add('rechercher', SubmitType::class)
->setAction($this->generateUrl('reprendre_entreprise_resultats_cibles_potentielles', ['codePays' => $codePays]))
->setMethod('GET')
->getForm();
// On récupère depuis Parametre Site
$anciennete_minimale_investissement_participation = $psm->getValueParamSiteByParamCodePays("anciennete_minimale_investissement_participation", "fr");
$anciennete_maximale_investissement_participation = $psm->getValueParamSiteByParamCodePays("anciennete_maximale_investissement_participation", "fr");
// annee_minimale vaut l'année en cours, moins l'ancienneté maximale fixée dans Parametres Site (par exemple 2025 - 15 ans => 2010)
$annee_minimale = (int) date('Y') - $anciennete_maximale_investissement_participation;
// annee_maximale vaut l'année en cours, moins l'ancienneté minimale fixée dans Parametres Site (par exemple 2025 - 5 ans => 2020)
$annee_maximale = (int) date('Y') - $anciennete_minimale_investissement_participation;
return $this->render(
'reprendre_entreprise/recherche_avancee_cible_potentielle.html.twig',
[
'form' => $form->createView(),
'parametres' => $parametres,
'parametres_localisations' => $parametres_localisations,
'parametres_secteurs' => $parametres_secteurs,
'string_params' => $string_params,
'show_secteur_niveau_2' => $show_secteur_niveau_2,
'show_secteur_niveau_3' => $show_secteur_niveau_3,
'annee_minimale' => $annee_minimale,
'annee_maximale' => $annee_maximale
]
);
}
public function rechercheavanceerecherchepartenariat(Request $request, SecteursActiviteManagers $secteursActiviteManager, TranslationExtension $translationExtension, $codePays, LocalisationsManagers $localisationManager): Response {
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$parametres_localisations = ParametersProvider::prepareLocalisationsParameters($localisationManager, $parametres);
$parametres_secteurs = ParametersProvider::prepareSecteursParameters($secteursActiviteManager, $parametres);
$string_params = $this->serializeParams($parametres);
$lang = $request->getSession()->get('lang');
$idPays = $this->getIdPaysByCodePays($codePays);
$pays = $this->am->donne_option_select_pays_annonces_acheteur("partenariat", $idPays);
$regions = [];
$departements = [];
$secteurs_activite1 = $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
if (isset($parametres['id_secteur_activite'])) {
$secteurs_activite2 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
$show_secteur_niveau_2 = true;
} else {
$secteurs_activite2 = [];
$show_secteur_niveau_2 = false;
}
if (isset($parametres['id_secteur_activite2'])) {
$secteurs_activite3 = $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
$show_secteur_niveau_3 = true;
} else {
$secteurs_activite3 = [];
$show_secteur_niveau_3 = false;
}
$type_acquereur = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '', // value = indifferent
$translationExtension->translate('societe', $lang, '', 'M', '') => 'societe',
$translationExtension->translate('personne physique', $lang, '', 'M', '') => 'personne',
];
$demarche = [
$translationExtension->translate('indifferent', $lang, '', 'M', '') => '', // value = indifferent
$translationExtension->translate('une reprise totale, le cedant quittant l\'entreprise', $lang, '', 'M', '') => 'reprise_totale',
$translationExtension->translate('une reprise majoritaire, le cedant restant en minoritaire', $lang, '', 'M', '') => 'reprise_majoritaire',
$translationExtension->translate('une association minoritaire avec le chef d\'entreprise actuel', $lang, '', 'M', '') => 'association_minoritaire',
];
$recherche_par = [
$translationExtension->translate("mots-cles de l'activite recherchee", $lang, '', 'M', '') => 'motscles',
$translationExtension->translate("secteur predefini", $lang, '', 'M', '') => 'secteurs'
];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form = $formFactory->createNamedBuilder('')
->add('id_pays', ChoiceType::class, [
'choices' => $pays,
])
->add('id_region', ChoiceType::class, [
'choices' => $regions,
])
->add('id_departement', ChoiceType::class, [
'choices' => $departements,
])
->add('id_localisation', HiddenType::class, [
'data' => $parametres['id_localisation']
])
->add('ajouter', ButtonType::class)
->add('reference_mots_cles', TextType::class, [
'required' => false,
'data' => $parametres['reference_mots_cles'],
'attr' => [
'placeholder' => $translationExtension->translate("transport, services informatiques, ...", $lang, '', 'M', '')
]
])
->add('id_secteur_activite', ChoiceType::class, [
'choices' => $secteurs_activite1,
'data' => $parametres['id_secteur_activite']
])
->add('id_secteur_activite2', ChoiceType::class, [
'choices' => $secteurs_activite2,
'data' => $parametres['id_secteur_activite2']
])
->add('id_secteur_activite3', ChoiceType::class, [
'choices' => $secteurs_activite3,
'data' => $parametres['id_secteur_activite3']
])
->add('id_secteur', HiddenType::class, [
'data' => $parametres['id_secteur'],
])
->add('ajouter_secteur_activite', ButtonType::class)
->add('type_acquereur', ChoiceType::class, [
'required' => false,
'choices' => $type_acquereur,
'expanded' => true,
'multiple' => false,
'data' => $parametres['type_acquereur']
])
->add('demarche', ChoiceType::class, [
'required' => false,
'choices' => $demarche,
'expanded' => true,
'multiple' => false,
'data' => $parametres['demarche']
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('recherche_par', ChoiceType::class, [
'required' => false,
'choices' => $recherche_par,
'expanded' => true,
'multiple' => false,
'data' => $parametres['recherche_par'],
'placeholder' => false,
'choice_value' => function ($choice) {
return $choice; // Utilisez la valeur du choix comme clé
}
])
->add('rechercher', SubmitType::class)
->setAction($this->generateUrl('reprendre_entreprise_resultats_recherches_partenariat', ['codePays' => $codePays]))
->setMethod('GET')
->getForm();
$current_year = date('Y');
return $this->render(
'reprendre_entreprise/recherche_avancee_recherche_partenariat.html.twig',
[
/* 'nb_actifs' => $nb_actifs,
'nb_entreprises' => $nb_entreprises,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats, */
'form' => $form->createView(),
'parametres' => $parametres,
'parametres_localisations' => $parametres_localisations,
'parametres_secteurs' => $parametres_secteurs,
'current_year' => $current_year,
'string_params' => $string_params,
'show_secteur_niveau_2' => $show_secteur_niveau_2,
'show_secteur_niveau_3' => $show_secteur_niveau_3
]
);
}
/**
* Vérifie l'accès à la fonctionnalité de recherche Elite
*
* Contrôle si l'utilisateur a les droits nécessaires pour accéder à la recherche Elite.
* Si l'utilisateur n'a pas les permissions requises, une exception d'accès refusé est levée.
*
* @param array $parametres Les paramètres de recherche contenant potentiellement le critère profil Elite
*
* @return void
*
* @throws AccessDeniedException Si l'utilisateur n'a pas accès au service Elite (code 81)
*
* @see RechercheAvancee::CRITERE_PROFIL
* @see RechercheElite::CODE_SERVICE
*/
private function resultatEliteSecured(array $parametres) {
if (!empty($parametres[RechercheAvancee::CRITERE_PROFIL])) { // if (array_key_exists(RechercheAvancee::CRITERE_PROFIL, $parametres)) { //recherche ELITE
$acces = ($this->getUser()) ? $this->dm->checkIfThisUserHasDroitService($this->getUser(), RechercheElite::CODE_SERVICE) : false; // 81 service ELITE
if ($acces == false) { //recherche ELITE
throw new AccessDeniedException();
}
}
}
public function entreprise(Request $request, PaginatorInterface $paginator, LocalisationsManagers $localisationManager, LocalisationsRepository $localisationsRepo, ParametresDiversRepository $parametresDiversRepo, TranslationExtension $translationExtension, $type = null, $idLocalisation = null, $slug = null, $idSecteurActivite = null, $codePays): Response {
$lang = $request->getSession()->get('lang');
$parametres = $request->query->all();
if (isset($parametres[RechercheAvancee::CRITERE_PROFIL]) && $parametres[RechercheAvancee::CRITERE_PROFIL] == "") {
unset($parametres[RechercheAvancee::CRITERE_PROFIL]);
}
$this->resultatEliteSecured($parametres);
$eliteResult = (!empty($parametres[RechercheAvancee::CRITERE_PROFIL]));
$userIdentity = $this->getUser();
$eliteAccess = false;
if (!empty($this->getUser())) {
$eliteAccess = $this->dm->checkIfThisUserHasDroitService($this->getUser(), [RechercheElite::CODE_SERVICE_ELITE]); // on loggue par defaut ELITE
}
$publiqueElite = $request->query->get('publiqueElite');
if (empty($publiqueElite)) {
$publiqueElite = false;
} else {
$publiqueElite = true;
}
/* if (!$eliteAccess&&$publiqueElite) {
return $this->redirectToRoute('reprendre_entreprise_resultats_annonces_cession_entreprise', ['codePays' => $codePays]);
} */
if ($eliteResult) {
if ($eliteAccess) {
$this->lmp->ajouterActionLogsActions($userIdentity->_get('id_utilisateur'), RechercheElite::ID_LOG_ACTION_STANDARD, $userIdentity->_get('type_utilisateur'), "----"); // 81 // elite
} else {
$eliteEssaiAccess = $this->dm->checkIfThisUserHasDroitService($this->getUser(), [RechercheElite::CODE_SERVICE_ELITE_ESSAI]);
if ($eliteEssaiAccess) {
$this->lmp->ajouterActionLogsActions($userIdentity->_get('id_utilisateur'), RechercheElite::ID_LOG_ACTION_STANDARD_ESSAI, $userIdentity->_get('type_utilisateur'), "----"); //82 // elite essai
}
}
}
$metaTitle = $metaDescription = null;
$arrayVarsTrans = [];
// Recherche standard
if ($idLocalisation || $idSecteurActivite) {
// Preparation des parametres
if ($idLocalisation) {
if ($type == 'd') {
$parametres['id_departement'] = $idLocalisation;
$child_type = null;
$parent_type = "r";
} elseif ($type == "r") {
$parametres['id_region'] = $idLocalisation;
$child_type = "d";
$parent_type = "p";
} else {
$parametres['id_pays'] = $idLocalisation;
$child_type = "r";
$parent_type = null;
}
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
if ($idSecteurActivite) {
$parametres['id_secteur_activite'] = $idSecteurActivite;
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
// Recherche par localisation
if ($idLocalisation) {
$localisations = $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
if (!$localisations) {
$this->addFlash('error', $translationExtension->translate('erreur de localisation', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_annonces_cession_entreprise', ['codePays' => $codePays]);
}
$villesRepo = $this->getDoctrine()->getRepository(Villes::class);
$noms_ville = $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
$sous_localisations = $localisationsRepo->getSubLevelLocalisations($idLocalisation);
$sous_localisations_numbers = [];
$prev_localisation = [];
foreach ($sous_localisations as $sous_localisation) {
$params = [];
if ($idSecteurActivite) {
$params['id_secteur_activite'] = $idSecteurActivite;
}
if ($type == "r") {
$params['id_departement'] = $sous_localisation['id_localisation'];
} else {
if ($idLocalisation == "99") {
$params['id_pays'] = $sous_localisation['id_localisation'];
$child_type = "p";
} else {
$params['id_region'] = $sous_localisation['id_localisation'];
}
}
$sous_localisation['type'] = $child_type;
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
if ($idLocalisation == 99) {
if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_entreprises'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
} else {
if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_entreprises'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
}
}
if (!$prev_localisation && $parent_type) {
$prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
$prev_localisation['type'] = $parent_type;
}
$last_localisation = end($localisations);
$arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
$arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
$metaTitle = '%$nb_entreprises%$ $$annonce d\'ENTREPRISE$${p|annonces d\'ENTREPRISES} Ã reprendre %$prefixe_localisation%$ %$nom_localisation%$';
$metaDescription = 'consultez %$nb_entreprises%$ $$annonce d\'entreprise$${p|annonces d\'entreprises} Ã vendre %$prefixe_localisation%$ %$nom_localisation%$';
}
// Recherche par secteur d'activite
if ($idSecteurActivite) {
$secteurActivites = $this->sam->getTreeSecteursActivite($idSecteurActivite);
if (!$secteurActivites) {
$this->addFlash('error', $translationExtension->translate("erreur de secteur d'activité", $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_annonces_cession_entreprise', ['codePays' => $codePays]);
}
$secteurActiviteRepo = $this->getDoctrine()->getRepository(SecteursActivite::class);
$sous_secteurs = $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
$sous_secteurs_numbers = [];
$prev_secteur = [];
foreach ($sous_secteurs as $sous_secteur) {
$params = [];
$params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
$sous_secteurs_numbers[] = array_merge($sous_secteur, $annonces_numbers);
}
if (!$prev_secteur) {
$prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
}
$last_secteur = end($secteurActivites);
$arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
// Si ce n'est pas une recherche croisée
if (!$idLocalisation) {
$metaTitle = '%$nb_entreprises%$ $$entreprise$${p|entreprises} %$nomPourTitle%$ Ã vendre';
$metaDescription = 'consultez %$nb_entreprises%$ $$entreprise$${p|entreprises} %$nomPourTitle%$ Ã vendre';
} else {
$metaTitle = '%$nb_entreprises%$ $$entreprise$${p|entreprises} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã vendre';
$metaDescription = 'consultez %$nb_entreprises%$ $$entreprise$${p|entreprises} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã vendre';
}
}
// Recherche avancée / dernières annonces
} else {
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
}
$is_recherche = ParametersProvider::prepareRechercheAvanceeParameters() != ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $string_params_without_page = $this->serializeParams($parametres);
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
$annonce_publique_elite = $repoVendeur->donne_annonces_elite_vente_recherche($parametres);
$nb_annonce_elite = $repoVendeur->donne_nb_annonces_elite_vente_recherche($parametres);
// Si c'est une recherche, on calcule les nb à afficher
if ($is_recherche) {
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
$nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
$nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
$nb_entreprises = $nb_annonces_cessions - $nb_actifs;
$nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
$nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
$nb_annonces = $nb_annonces_cessions + $nb_cibles_potentielles + $nb_recherches_partenariats;
} else {
// Sinon on récupère les nb stockés dans parametres_divers
$nb = $parametresDiversRepo->getListNombresAafficher();
//$nb_annonces_cessions = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_actifs = $nb->reprendre_une_entreprise_nb_actifs_a_reprendre;
$nb_entreprises = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_cibles_potentielles = $nb->reprendre_une_entreprise_nb_cibles_potentielles;
$nb_recherches_partenariats = $nb->reprendre_une_entreprise_nb_recherches_de_partenariats;
$nb_annonces = $nb_entreprises + $nb_actifs + $nb_cibles_potentielles + $nb_recherches_partenariats;
}
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$nb_total_annonces_prioritaires = $repoVendeur->donne_nb_annonces_vendeur_prioritaires($parametres, 'nombre');
$parametres["eliteAccess"] = $eliteAccess;
$parametres["dernieresAnnonces"] = $dernieresAnnonces;
$liste_annonces_prioritaires = [];
if ((null == $request->get('page') || 1 == $request->get('page')) && (!isset($_GET['tri']) || null == $_GET['tri'] || '21' == $_GET['tri'] || '' == $_GET['tri']) && $dernieresAnnonces == null) {
$liste_annonces_prioritaires = $this->am->getAnnoncesPrioritairesCession($parametres, 'entreprise', $login_utilisateur);
}
if ($publiqueElite) {
$liste_annonces = $this->am->getAnnoncesCessionList($request, $paginator, $parametres, 'annonce_publique_elite', $login_utilisateur);
} else {
$liste_annonces = $this->am->getAnnoncesCessionList($request, $paginator, $parametres, 'entreprise', $login_utilisateur);
}
$page = $request->query->get('page');
if ($page != null && $page != 1) {
$string_params .= "&page=" . $page;
}
$tri = isset($parametres['tri']) ? $parametres['tri'] : null;
$urlList = $request->getPathInfo();
$tri_default = null;
// Si aucun tri
if (!$tri) {
// On trie par CA si c'est une recherche
if ($is_recherche) {
$tri_default = "ca_desc";
} else {
$tri_default = "date_desc";
}
if ($eliteResult) {
$tri_default = "matching_desc";
}
}
// Si ce n'est pas une recherche par loc / sec ou croisé
if ($metaTitle == null && $metaTitle == null) {
$metaTitle = '%$nb_entreprises%$ $$annonce d\'entreprise$${p|annonces d\'entreprises} Ã reprendre';
$metaDescription = 'consultez %$nb_entreprises%$ $$annonce d\'entreprise$${p|annonces d\'entreprises} à vendre en fonction de vos critères de recherche.';
}
if ($publiqueElite) {
$arrayVarsTrans['nb_entreprises'] = $nb_annonce_elite;
} else {
if (empty($dernieresAnnonces)) {
$nb_entreprises = $nb_entreprises + $nb_annonce_elite;
$arrayVarsTrans['nb_entreprises'] = $nb_entreprises;
$nb_annonces = $nb_annonces + $nb_annonce_elite;
} else {
$arrayVarsTrans['nb_entreprises'] = $nb_entreprises;
}
}
if ($nb_entreprises > 1) {
$p = 'p';
} else {
$p = '';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", $p, $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", $p, $arrayVarsTrans))
->setRobots('noindex');
$array_return = [
'metaTag' => $metaTag,
'nb_annonces' => $nb_annonces,
'nb_entreprises' => $nb_entreprises,
'nb_actifs' => $nb_actifs,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats,
'liste_annonces_prioritaires' => $liste_annonces_prioritaires,
'liste_annonces' => $liste_annonces,
'nb_total_annonces_prioritaires' => $nb_total_annonces_prioritaires,
'string_params' => $string_params,
'string_params_without_page' => $string_params_without_page,
'tri' => $tri,
'urlList' => $urlList,
'idLocalisation' => null,
'idSecteurActivite' => null,
"eliteResult" => $eliteResult,
'filtres' => $parametres ?? [],
'tri_default' => $tri_default,
'eliteAccess' => $eliteAccess,
'nb_annonce_elite' => $nb_annonce_elite,
'annonce_publique_elite' => $annonce_publique_elite,
'publiqueElite' => $publiqueElite
];
if ($idLocalisation || $idSecteurActivite) {
if ($idLocalisation) {
$array_return['idLocalisation'] = $idLocalisation;
$array_return['idSecteurActivite'] = $idSecteurActivite ? $idSecteurActivite : null;
$array_return['slug'] = $slug;
$array_return['type'] = $type;
$array_return['localisations'] = $localisations;
$array_return['noms_ville'] = $noms_ville;
$array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
$array_return['prev_localisation'] = $prev_localisation;
}
if ($idSecteurActivite) {
$array_return['idSecteurActivite'] = $idSecteurActivite;
$array_return['idLocalisation'] = $idLocalisation ? $idLocalisation : null;
$array_return['slug'] = $slug;
$array_return['secteurActivites'] = $secteurActivites;
$array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
$array_return['prev_secteur'] = $prev_secteur;
}
if ($idLocalisation && $idSecteurActivite) {
$array_return['idLocalisation'] = $idLocalisation;
}
}
return $this->render(
'reprendre_entreprise/entreprise.html.twig',
$array_return
);
}
public function actif(Request $request, PaginatorInterface $paginator, LocalisationsManagers $localisationManager, TranslationExtension $translationExtension, LocalisationsRepository $localisationsRepo, ParametresDiversRepository $parametresDiversRepo, $type = null, $idLocalisation = null, $slug = null, $idSecteurActivite = null, $codePays): Response {
$lang = $request->getSession()->get('lang');
$parametres = $request->query->all();
$metaTitle = $metaDescription = null;
$arrayVarsTrans = [];
$userIdentity = $this->getUser();
$eliteAccess = false;
if (!empty($this->getUser())) {
$eliteAccess = $this->dm->checkIfThisUserHasDroitService($this->getUser(), [RechercheElite::CODE_SERVICE_ELITE]); // on loggue par defaut ELITE
}
$publiqueElite = $request->query->get('publiqueElite');
if (empty($publiqueElite)) {
$publiqueElite = false;
} else {
$publiqueElite = true;
}
// Recherche standard
if ($idLocalisation || $idSecteurActivite) {
// Preparation des parametres
if ($idLocalisation) {
if ($type == 'd') {
$parametres['id_departement'] = $idLocalisation;
$child_type = null;
$parent_type = "r";
} elseif ($type == "r") {
$parametres['id_region'] = $idLocalisation;
$child_type = "d";
$parent_type = "p";
} else {
$parametres['id_pays'] = $idLocalisation;
$child_type = "r";
$parent_type = null;
}
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
if ($idSecteurActivite) {
$parametres['id_secteur_activite'] = $idSecteurActivite;
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
// Recherche par localisation
if ($idLocalisation) {
$localisations = $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
if (!$localisations) {
$this->addFlash('error', $translationExtension->translate('erreur de localisation', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_cession_actif', ['codePays' => $codePays]);
}
$villesRepo = $this->getDoctrine()->getRepository(Villes::class);
$noms_ville = $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
$sous_localisations = $localisationsRepo->getSubLevelLocalisations($idLocalisation);
$sous_localisations_numbers = [];
$prev_localisation = [];
foreach ($sous_localisations as $sous_localisation) {
$params = [];
if ($idSecteurActivite) {
$params['id_secteur_activite'] = $idSecteurActivite;
}
if ($type == "r") {
$params['id_departement'] = $sous_localisation['id_localisation'];
} else {
if ($idLocalisation == "99") {
$params['id_pays'] = $sous_localisation['id_localisation'];
$child_type = "p";
} else {
$params['id_region'] = $sous_localisation['id_localisation'];
}
}
$sous_localisation['type'] = $child_type;
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
if ($idLocalisation == 99) {
if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_actifs'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
} else {
if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_actifs'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
}
}
if (!$prev_localisation && $parent_type) {
$prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
$prev_localisation['type'] = $parent_type;
}
$last_localisation = end($localisations);
$arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
$arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
$metaTitle = '%$nb_actifs%$ $$annonce d\'ACTIF$${p|annonces d\'ACTIFS} Ã reprendre %$prefixe_localisation%$ %$nom_localisation%$';
$metaDescription = 'consultez %$nb_actifs%$ $$annonce d\'actif$${p|annonces d\'actifs} Ã vendre %$prefixe_localisation%$ %$nom_localisation%$';
}
// Recherche par secteur d'activite
if ($idSecteurActivite) {
$secteurActivites = $this->sam->getTreeSecteursActivite($idSecteurActivite);
if (!$secteurActivites) {
$this->addFlash('error', $translationExtension->translate("erreur de secteur d'activité", $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_cession_actif', ['codePays' => $codePays]);
}
$secteurActiviteRepo = $this->getDoctrine()->getRepository(SecteursActivite::class);
$sous_secteurs = $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
$sous_secteurs_numbers = [];
$prev_secteur = [];
foreach ($sous_secteurs as $sous_secteur) {
$params = [];
$params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
$sous_secteurs_numbers[] = array_merge($sous_secteur, $annonces_numbers);
}
if (!$prev_secteur) {
$prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
}
$last_secteur = end($secteurActivites);
$arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
// Si ce n'est pas une recherche croisée
if (!$idLocalisation) {
$metaTitle = '%$nb_actifs%$ $$actif$${p|actifs} %$nomPourTitle%$ Ã reprendre';
$metaDescription = 'consultez %$nb_actifs%$ $$actif$${p|actifs} %$nomPourTitle%$ Ã reprendre';
} else {
$metaTitle = '%$nb_actifs%$ $$actif$${p|actifs} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã reprendre';
$metaDescription = 'consultez %$nb_actifs%$ $$actif$${p|actifs} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã reprendre';
}
}
// Recherche avancée / dernieres annonces
} else {
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
}
$is_recherche = ParametersProvider::prepareRechercheAvanceeParameters() != ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $string_params_without_page = $this->serializeParams($parametres);
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
// Si c'est une recherche, on calcule les nb à afficher
if ($is_recherche) {
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
$nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
$nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
$nb_entreprises = $nb_annonces_cessions - $nb_actifs;
if ($nb_entreprises < 0) {
$nb_entreprises = 0;
}
$nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
$nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
$nb_annonces = $nb_annonces_cessions + $nb_cibles_potentielles + $nb_recherches_partenariats;
} else {
// Sinon on récupère les nb stockés dans parametres_divers
$nb = $parametresDiversRepo->getListNombresAafficher();
//$nb_annonces_cessions = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_actifs = $nb->reprendre_une_entreprise_nb_actifs_a_reprendre;
$nb_entreprises = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_cibles_potentielles = $nb->reprendre_une_entreprise_nb_cibles_potentielles;
$nb_recherches_partenariats = $nb->reprendre_une_entreprise_nb_recherches_de_partenariats;
$nb_annonces = $nb_entreprises + $nb_actifs + $nb_cibles_potentielles + $nb_recherches_partenariats;
}
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$nb_total_annonces_prioritaires = $repoVendeur->donne_nb_annonces_vendeur_prioritaires($parametres, 'nombre_actif');
$liste_annonces_prioritaires = [];
if ((null == $request->get('page') || 1 == $request->get('page')) && (!isset($_GET['tri']) || null == $_GET['tri'] || '21' == $_GET['tri'] || '' == $_GET['tri']) && $dernieresAnnonces == null) {
$liste_annonces_prioritaires = $this->am->getAnnoncesPrioritairesCession($parametres, 'actif', $login_utilisateur);
}
$liste_annonces = $this->am->getAnnoncesCessionList($request, $paginator, $parametres, 'actif', $login_utilisateur);
$page = $request->query->get('page');
if ($page != null && $page != 1) {
$string_params .= "&page=" . $page;
}
$tri = isset($parametres['tri']) ? $parametres['tri'] : null;
$urlList = $request->getPathInfo();
$tri_default = null;
// Si aucun tri
if (!$tri) {
// On trie par CA si c'est une recherche
if ($is_recherche) {
$tri_default = "ca_desc";
} else {
$tri_default = "date_desc";
}
}
// Si ce n'est pas une recherche par loc / sec ou croisé
if ($metaTitle == null && $metaTitle == null) {
$metaTitle = '%$nb_actifs%$ $$actif$${p|actifs} Ã reprendre';
$metaDescription = 'consultez %$nb_actifs%$ $$actif$${p|actifs} à vendre en fonction de vos critères de recherche.';
}
$arrayVarsTrans['nb_actifs'] = $nb_actifs;
if ($nb_actifs > 1) {
$p = 'p';
} else {
$p = '';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", $p, $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", $p, $arrayVarsTrans))
->setRobots('noindex');
$array_return = [
'metaTag' => $metaTag,
'nb_annonces' => $nb_annonces,
'nb_entreprises' => $nb_entreprises,
'nb_actifs' => $nb_actifs,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats,
'liste_annonces_prioritaires' => $liste_annonces_prioritaires,
'liste_annonces' => $liste_annonces,
'nb_total_annonces_prioritaires' => $nb_total_annonces_prioritaires,
'string_params' => $string_params,
'string_params_without_page' => $string_params_without_page,
'tri' => $tri,
'urlList' => $urlList,
'idLocalisation' => null,
'idSecteurActivite' => null,
'tri_default' => $tri_default,
'eliteAccess' => $eliteAccess,
];
if ($idLocalisation || $idSecteurActivite) {
if ($idLocalisation) {
$array_return['idLocalisation'] = $idLocalisation;
$array_return['idSecteurActivite'] = $idSecteurActivite ? $idSecteurActivite : null;
$array_return['slug'] = $slug;
$array_return['type'] = $type;
$array_return['localisations'] = $localisations;
$array_return['noms_ville'] = $noms_ville;
$array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
$array_return['prev_localisation'] = $prev_localisation;
}
if ($idSecteurActivite) {
$array_return['idSecteurActivite'] = $idSecteurActivite;
$array_return['idLocalisation'] = $idLocalisation ? $idLocalisation : null;
$array_return['slug'] = $slug;
$array_return['secteurActivites'] = $secteurActivites;
$array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
$array_return['prev_secteur'] = $prev_secteur;
}
}
return $this->render(
'reprendre_entreprise/actif.html.twig',
$array_return
);
}
public function ciblepotentielle(Request $request, PaginatorInterface $paginator, LocalisationsManagers $localisationManager, TranslationExtension $translationExtension, LocalisationsRepository $localisationsRepo, ParametresDiversRepository $parametresDiversRepo, ParametreSiteManagers $parametreSiteManager, $type = null, $idLocalisation = null, $slug = null, $idSecteurActivite = null, $codePays): Response {
$lang = $request->getSession()->get('lang');
$parametres = $request->query->all();
$metaTitle = $metaDescription = null;
$arrayVarsTrans = [];
// Recherche standard
if ($idLocalisation || $idSecteurActivite) {
// Preparation des parametres
if ($idLocalisation) {
if ($type == 'd') {
$parametres['id_departement'] = $idLocalisation;
$child_type = null;
$parent_type = "r";
} elseif ($type == "r") {
$parametres['id_region'] = $idLocalisation;
$child_type = "d";
$parent_type = "p";
} else {
$parametres['id_pays'] = $idLocalisation;
$child_type = "r";
$parent_type = null;
}
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
if ($idSecteurActivite) {
$parametres['id_secteur_activite'] = $idSecteurActivite;
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
// Recherche par localisation
if ($idLocalisation) {
$localisations = $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
if (!$localisations) {
$this->addFlash('error', $translationExtension->translate('erreur de localisation', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_cibles_potentielles', ['codePays' => $codePays]);
}
$villesRepo = $this->getDoctrine()->getRepository(Villes::class);
$noms_ville = $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
$id_pays = substr($idLocalisation, 0, strpos($idLocalisation, "_"));
// On ne cherche pas dans les départements pour les pays étrangers
if ($type == "r" && $id_pays != "33") {
$sous_localisations = [];
} else {
$sous_localisations = $localisationsRepo->getSubLevelLocalisations($idLocalisation);
}
$sous_localisations_numbers = [];
$prev_localisation = [];
foreach ($sous_localisations as $sous_localisation) {
$params = [];
if ($idSecteurActivite) {
$params['id_secteur_activite'] = $idSecteurActivite;
}
if ($type == "r") {
$params['id_departement'] = $sous_localisation['id_localisation'];
} else {
if ($idLocalisation == "99") {
$params['id_pays'] = $sous_localisation['id_localisation'];
$child_type = "p";
} else {
$params['id_region'] = $sous_localisation['id_localisation'];
}
}
$sous_localisation['type'] = $child_type;
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
if ($idLocalisation == 99) {
if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_cibles_potentielles'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
} else {
if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_cibles_potentielles'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
}
}
if (!$prev_localisation && $parent_type) {
$prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
$prev_localisation['type'] = $parent_type;
}
$last_localisation = end($localisations);
$arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
$arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
$metaTitle = '%$nb_cibles_potentielles%$ $$cible potentielle$${p|cibles potentielles} Ã reprendre %$prefixe_localisation%$ %$nom_localisation%$';
$metaDescription = 'consultez %$nb_cibles_potentielles%$ $$cible potentielle / participation de fonds$${p|cibles potentielles / participations de fonds} Ã reprendre %$prefixe_localisation%$ %$nom_localisation%$';
}
// Recherche par secteur d'activite
if ($idSecteurActivite) {
$secteurActivites = $this->sam->getTreeSecteursActivite($idSecteurActivite);
if (!$secteurActivites) {
$this->addFlash('error', $translationExtension->translate("erreur de secteur d'activité", $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_cibles_potentielles', ['codePays' => $codePays]);
}
$secteurActiviteRepo = $this->getDoctrine()->getRepository(SecteursActivite::class);
$sous_secteurs = $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
$sous_secteurs_numbers = [];
$prev_secteur = [];
foreach ($sous_secteurs as $sous_secteur) {
$params = [];
$params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
$sous_secteurs_numbers[] = array_merge($sous_secteur, $annonces_numbers);
}
if (!$prev_secteur) {
$prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
}
$last_secteur = end($secteurActivites);
$arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
// Si ce n'est pas une recherche croisée
if (!$idLocalisation) {
$metaTitle = '%$nb_cibles_potentielles%$ $$cible potentielle$${p|cibles potentielles} %$nomPourTitle%$ Ã reprendre';
$metaDescription = 'consultez %$nb_cibles_potentielles%$ $$cible potentielle / participation de fonds$${p|cibles potentielles / participations de fonds} %$nomPourTitle%$ Ã reprendre';
} else {
$metaTitle = '%$nb_cibles_potentielles%$ $$cible potentielle$${p|cibles potentielles} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã reprendre';
$metaDescription = 'consultez %$nb_cibles_potentielles%$ $$cible potentielle / participation de fonds$${p|cibles potentielles / participations de fonds} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$ Ã reprendre';
}
}
// Recherche avancée / dernieres annonces
} else {
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
}
$is_recherche = ParametersProvider::prepareRechercheAvanceeParameters() != ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $string_params_without_page = $this->serializeParams($parametres);
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
// Si c'est une recherche, on calcule les nb à afficher
if ($is_recherche) {
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
$nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
$nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
$nb_entreprises = $nb_annonces_cessions - $nb_actifs;
$nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
$nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
$nb_annonces = $nb_annonces_cessions + $nb_cibles_potentielles + $nb_recherches_partenariats;
} else {
// Sinon on récupère les nb stockés dans parametres_divers
$nb = $parametresDiversRepo->getListNombresAafficher();
//$nb_annonces_cessions = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_actifs = $nb->reprendre_une_entreprise_nb_actifs_a_reprendre;
$nb_entreprises = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_cibles_potentielles = $nb->reprendre_une_entreprise_nb_cibles_potentielles;
$nb_recherches_partenariats = $nb->reprendre_une_entreprise_nb_recherches_de_partenariats;
$nb_annonces = $nb_entreprises + $nb_actifs + $nb_cibles_potentielles + $nb_recherches_partenariats;
}
$parametres['from'] = "cibles_potentielles";
$liste_annonces = $this->sm->getParticipationsFondsList($request, $paginator, $parametres, "", "vendeur");
$page = $request->query->get('page');
if ($page != null && $page != 1) {
$string_params .= "&page=" . $page;
}
$show_modal = true;
if (isset($_COOKIE['show_modal_cible_potentielle']) && "false" == $_COOKIE['show_modal_cible_potentielle']) {
$show_modal = false;
}
// Verifier si droit_acces Annuaire participation ou Fusacq Expert
$has_service = false;
//On verifie si l'utilisateur a le droit de consulter cette page
$user = $this->getUser();
if ($user) {
$has_service = $this->dm->checkIfThisUserHasDroitService($user, [2]); // 2 = annuaire_participations
} else {
$has_service = false;
}
$tri = isset($parametres['tri']) ? $parametres['tri'] : null;
$tri_default = null;
// Si aucun tri
if (!$tri) {
// On trie par CA si c'est une recherche
if ($is_recherche) {
$tri_default = "ca_desc";
} else {
$tri_default = "date_desc";
}
}
$urlList = $request->getPathInfo();
// Si ce n'est pas une recherche par loc / sec ou croisé
if ($metaTitle == null && $metaTitle == null) {
$metaTitle = '%$nb_cibles_potentielles%$ $$cible potentielle$${p|cibles potentielles}';
$metaDescription = 'consultez %$nb_cibles_potentielles%$ $$cible potentielle / participation de fonds$${p|cibles potentielles / participations de fonds} en fonction de vos critères de recherche.';
}
$arrayVarsTrans['nb_cibles_potentielles'] = $nb_cibles_potentielles;
if ($nb_cibles_potentielles > 1) {
$p = 'p';
} else {
$p = '';
}
$id_participation_exemple = $parametreSiteManager->getValueParamSiteByParamCodePays("id_participation_exemple", $codePays);
$participation_exemple = $this->sm->getSocieteById($id_participation_exemple);
$url_participation_exemple = $this->generateUrl('participation_fonds_detail', ['idParticipation' => $id_participation_exemple, 'slug' => Utils::slugify($participation_exemple->_get('resume_activite')), 'codePays' => $codePays]);
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", $p, $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", $p, $arrayVarsTrans))
->setRobots('noindex');
$array_return = [
'metaTag' => $metaTag,
'nb_annonces' => $nb_annonces,
'nb_entreprises' => $nb_entreprises,
'nb_actifs' => $nb_actifs,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats,
'liste_annonces' => $liste_annonces,
'show_modal' => $show_modal,
'has_service' => $has_service,
'string_params' => $string_params,
'string_params_without_page' => $string_params_without_page,
'tri' => $tri,
'urlList' => $urlList,
'idLocalisation' => null,
'idSecteurActivite' => null,
'tri_default' => $tri_default,
'url_participation_exemple' => $url_participation_exemple,
];
if ($idLocalisation || $idSecteurActivite) {
if ($idLocalisation) {
$array_return['idLocalisation'] = $idLocalisation;
$array_return['idSecteurActivite'] = $idSecteurActivite ? $idSecteurActivite : null;
$array_return['slug'] = $slug;
$array_return['type'] = $type;
$array_return['localisations'] = $localisations;
$array_return['noms_ville'] = $noms_ville;
$array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
$array_return['prev_localisation'] = $prev_localisation;
}
if ($idSecteurActivite) {
$array_return['idSecteurActivite'] = $idSecteurActivite;
$array_return['idLocalisation'] = $idLocalisation ? $idLocalisation : null;
$array_return['slug'] = $slug;
$array_return['secteurActivites'] = $secteurActivites;
$array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
$array_return['prev_secteur'] = $prev_secteur;
}
}
return $this->render(
'reprendre_entreprise/cible_potentielle.html.twig',
$array_return
);
}
public function recherchepartenariat(Request $request, PaginatorInterface $paginator, LocalisationsManagers $localisationManager, TranslationExtension $translationExtension, LocalisationsRepository $localisationsRepo, ParametresDiversRepository $parametresDiversRepo, $type = null, $idLocalisation = null, $slug = null, $idSecteurActivite = null, $codePays): Response {
$lang = $request->getSession()->get('lang');
$parametres = $request->query->all();
$metaTitle = $metaDescription = null;
$arrayVarsTrans = [];
// Recherche standard
if ($idLocalisation || $idSecteurActivite) {
// Preparation des parametres
if ($idLocalisation) {
if ($type == 'd') {
$parametres['id_departement'] = $idLocalisation;
$child_type = null;
$parent_type = "r";
} elseif ($type == "r") {
$parametres['id_region'] = $idLocalisation;
$child_type = "d";
$parent_type = "p";
} else {
$parametres['id_pays'] = $idLocalisation;
$child_type = "r";
$parent_type = null;
}
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
if ($idSecteurActivite) {
$parametres['id_secteur_activite'] = $idSecteurActivite;
$parametres = ParametersProvider::prepareRechercheStandardParameters($parametres);
}
// Recherche par localisation
if ($idLocalisation) {
$localisations = $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
if (!$localisations) {
$this->addFlash('error', $translationExtension->translate('erreur de localisation', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_recherches_partenariat', ['codePays' => $codePays]);
}
$villesRepo = $this->getDoctrine()->getRepository(Villes::class);
$noms_ville = $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
$sous_localisations = $localisationsRepo->getSubLevelLocalisations($idLocalisation);
$sous_localisations_numbers = [];
$prev_localisation = [];
foreach ($sous_localisations as $sous_localisation) {
$params = [];
if ($idSecteurActivite) {
$params['id_secteur_activite'] = $idSecteurActivite;
}
if ($type == "r") {
$params['id_departement'] = $sous_localisation['id_localisation'];
} else {
if ($idLocalisation == "99") {
$params['id_pays'] = $sous_localisation['id_localisation'];
$child_type = "p";
} else {
$params['id_region'] = $sous_localisation['id_localisation'];
}
}
$sous_localisation['type'] = $child_type;
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
if ($idLocalisation == 99) {
if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_recherches_partenariats'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
} else {
if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_recherches_partenariats'] != 0) {
$sous_localisations_numbers[] = array_merge($sous_localisation, $annonces_numbers);
}
}
}
if (!$prev_localisation && $parent_type) {
$prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
$prev_localisation['type'] = $parent_type;
}
$last_localisation = end($localisations);
$arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
$arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
$metaTitle = '%$nb_recherches_partenariats%$ $$recherche de partenariat$${p|recherches de partenariat} %$prefixe_localisation%$ %$nom_localisation%$';
$metaDescription = 'consultez %$nb_recherches_partenariats%$ $$annonce$${p|annonces} de recherche de partenariat %$prefixe_localisation%$ %$nom_localisation%$';
}
// Recherche par secteur d'activite
if ($idSecteurActivite) {
$secteurActivites = $this->sam->getTreeSecteursActivite($idSecteurActivite);
if (!$secteurActivites) {
$this->addFlash('error', $translationExtension->translate("erreur de secteur d'activité", $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_resultats_recherches_partenariat', ['codePays' => $codePays]);
}
$secteurActiviteRepo = $this->getDoctrine()->getRepository(SecteursActivite::class);
$sous_secteurs = $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
$sous_secteurs_numbers = [];
$prev_secteur = [];
foreach ($sous_secteurs as $sous_secteur) {
$params = [];
$params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
$params = ParametersProvider::prepareRechercheStandardParameters($params);
$annonces_numbers = $this->getAnnoncesNumbers($params);
$sous_secteurs_numbers[] = array_merge($sous_secteur, $annonces_numbers);
}
if (!$prev_secteur) {
$prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
}
$last_secteur = end($secteurActivites);
$arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
// Si ce n'est pas une recherche croisée
if (!$idLocalisation) {
$metaTitle = '%$nb_recherches_partenariats%$ $$recherche de partenariat$${p|recherches de partenariat} %$nomPourTitle%$';
$metaDescription = 'consultez %$nb_recherches_partenariats%$ $$annonce$${p|annonces} de recherche de partenariat %$nomPourTitle%$';
} else {
$metaTitle = '%$nb_recherches_partenariats%$ $$recherche de partenariat$${p|recherches de partenariat} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
$metaDescription = 'consultez %$nb_recherches_partenariats%$ $$annonce$${p|annonces} de recherche de partenariat %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
}
}
// Recherche avancée / dernieres annonces
} else {
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
}
$is_recherche = ParametersProvider::prepareRechercheAvanceeParameters() != ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $string_params_without_page = $this->serializeParams($parametres);
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
// Si c'est une recherche, on calcule les nb à afficher
if ($is_recherche) {
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
$nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
$nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
$nb_entreprises = $nb_annonces_cessions - $nb_actifs;
$nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
$nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
$nb_annonces = $nb_annonces_cessions + $nb_cibles_potentielles + $nb_recherches_partenariats;
} else {
// Sinon on récupère les nb stockés dans parametres_divers
$nb = $parametresDiversRepo->getListNombresAafficher();
//$nb_annonces_cessions = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_actifs = $nb->reprendre_une_entreprise_nb_actifs_a_reprendre;
$nb_entreprises = $nb->reprendre_une_entreprise_nb_cession_entreprise;
$nb_cibles_potentielles = $nb->reprendre_une_entreprise_nb_cibles_potentielles;
$nb_recherches_partenariats = $nb->reprendre_une_entreprise_nb_recherches_de_partenariats;
$nb_annonces = $nb_entreprises + $nb_actifs + $nb_cibles_potentielles + $nb_recherches_partenariats;
}
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$liste_annonces = $this->am->getAnnoncesRecherchePartenariatList($request, $paginator, $parametres, "partenaire", $login_utilisateur);
$page = $request->query->get('page');
if ($page != null && $page != 1) {
$string_params .= "&page=" . $page;
}
$tri = isset($parametres['tri']) ? $parametres['tri'] : null;
$urlList = $request->getPathInfo();
$tri_default = null;
// Si aucun tri
if (!$tri) {
// On trie par CA si c'est une recherche
if ($is_recherche) {
$tri_default = "ca_desc";
} else {
$tri_default = "date_desc";
}
}
// Si ce n'est pas une recherche par loc / sec ou croisé
if ($metaTitle == null && $metaTitle == null) {
$metaTitle = '%$nb_recherches_partenariats%$ $$recherche de partenariat$${p|recherches de partenariat}';
$metaDescription = 'consultez %$nb_recherches_partenariats%$ $$annonce$${p|annonces} de recherche de partenariat en fonction de vos critères de recherche.';
}
$arrayVarsTrans['nb_recherches_partenariats'] = $nb_recherches_partenariats;
if ($nb_recherches_partenariats > 1) {
$p = 'p';
} else {
$p = '';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", $p, $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", $p, $arrayVarsTrans))
->setRobots('noindex');
$array_return = [
'metaTag' => $metaTag,
'nb_annonces' => $nb_annonces,
'nb_entreprises' => $nb_entreprises,
'nb_actifs' => $nb_actifs,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats,
'liste_annonces' => $liste_annonces,
'string_params' => $string_params,
'string_params_without_page' => $string_params_without_page,
'tri' => $tri,
'urlList' => $urlList,
'idLocalisation' => null,
'idSecteurActivite' => null,
'tri_default' => $tri_default
];
if ($idLocalisation || $idSecteurActivite) {
if ($idLocalisation) {
$array_return['idLocalisation'] = $idLocalisation;
$array_return['idSecteurActivite'] = $idSecteurActivite ? $idSecteurActivite : null;
$array_return['slug'] = $slug;
$array_return['type'] = $type;
$array_return['localisations'] = $localisations;
$array_return['noms_ville'] = $noms_ville;
$array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
$array_return['prev_localisation'] = $prev_localisation;
}
if ($idSecteurActivite) {
$array_return['idSecteurActivite'] = $idSecteurActivite;
$array_return['idLocalisation'] = $idLocalisation ? $idLocalisation : null;
$array_return['slug'] = $slug;
$array_return['secteurActivites'] = $secteurActivites;
$array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
$array_return['prev_secteur'] = $prev_secteur;
}
}
return $this->render(
'reprendre_entreprise/recherche_partenariat.html.twig',
$array_return
);
}
public function redirectiononglet(Request $request): Response {
$onglet = null !== $request->get('onglet') ? $request->get('onglet') : null;
$idAnnonce = $request->get('idAnnonce');
$codePays = $request->get('codePays');
switch ($onglet) {
case 1:
return $this->forward('App\Controller\ReprendreEntrepriseController::descriptiongenerale', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 2:
return $this->forward('App\Controller\ReprendreEntrepriseController::elementschiffres', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 3:
return $this->forward('App\Controller\ReprendreEntrepriseController::pointsfortsconcurrence', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 4:
return $this->forward('App\Controller\ReprendreEntrepriseController::infoscession', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 5:
return $this->forward('App\Controller\ReprendreEntrepriseController::infossectorielles', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 6:
return $this->forward('App\Controller\ReprendreEntrepriseController::transactionscomparables', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
case 7:
return $this->forward('App\Controller\ReprendreEntrepriseController::contacterdeposant', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
default:
return $this->forward('App\Controller\ReprendreEntrepriseController::descriptiongenerale', ['idAnnonce' => $idAnnonce, 'codePays' => $codePays, 'request' => $request]);
break;
}
}
public function detailsannonce(Request $request, PaginatorInterface $paginator, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ActualitesManagers $actuManager, ValorisationsManagers $vm, GoogleTag $googleTag, CommandesRepository $cr, ConsultationsAnnonce $consultations_annonce, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (!$annonce) {// annonce non publique mais deja commandé
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur, false);
$fakeAnnonce = new AnnoncesVendeur();
$fakeAnnonce->_set('id_annonce_vendeur', $annonce["id_annonce_vendeur"]);
$fakeAnnonce->_set('type_raprochement', 'cession');
$annone_retiree_deja_commande = $this->authChecker->isGranted(AnnonceCommandVoter::ANNONCE_COMMANDE, $fakeAnnonce);
}// annonce non publique mais deja commandé
$hasServiceSimuElite = false;
$hasServiceElite = false;
if (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
}
if (!empty($user)) {
$hasServiceSimuElite = $this->dm->checkIfThisUserHasDroitService($user, [58, 81]); // 58 = similateur reprise 81 82 fusacq elite
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
if (isset($annonce) && ( 'publique' == $annonce['mode_annonce']
|| ($hasServiceElite && 'publique_elite' == $annonce['mode_annonce'])
|| ($annonce['login_utilisateur'] == $login_utilisateur))
|| ($annone_retiree_deja_commande)
) {
// On efface les anciens parametres s'ils existent, puis on insert les nouveaux
$googleTag->removeParametresPub();
if ($annonce['id_pays']) {
$googleTag->setIdPays($annonce['id_pays']);
}
if ($annonce['id_region']) {
$googleTag->setIdRegion($annonce['id_region']);
}
if ($annonce['id_departement']) {
$googleTag->setIdDepartement($annonce['id_departement']);
}
if ($annonce['id_secteur_activite']) {
$googleTag->setIdSecteurActivite($annonce['id_secteur_activite']);
}
//stats annonce
$statsAnnonce = $this->em->getRepository(StatistiquesNbConsultationsAnnoncesVendeurEntity::class)->find($idAnnonce);
if (empty($statsAnnonce)) {
$statsAnnonce = new StatistiquesNbConsultationsAnnoncesVendeurEntity();
$statsAnnonce->_set("id_annonce", $idAnnonce);
$statsAnnonce->_set("nb_consultations", 1);
$this->em->persist($statsAnnonce);
$this->em->flush();
} else {
/* $nb = $statsAnnonce->_get("nb_consultations") + 1;
$statsAnnonce->_set("nb_consultations", $nb);
$this->em->persist($statsAnnonce);
$this->em->flush(); */
// On incrémente de 1 le nb de consultation
$consultations_annonce->incrementeConsultation('vendeur', $idAnnonce);
}
// ====== DESCRIPTION GENERALE ======
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$idStatut = $annonce['statuts'];
$nom_type_cession = $translationExtension->translate("forme juridique", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation du siege", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("fiche d'identite de la societe", $lang, '', 'M', '');
if ('99' == substr($idStatut, 0, 2)) {
$nom_type_cession = $translationExtension->translate("type d'actif", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("designation de l'actif", $lang, '', 'M', '');
}
$statutsRepo = $this->getDoctrine()->getRepository(Statuts::class);
$statut = $statutsRepo->getStatusByIdStatut($idStatut);
if (null != $statut) {
$nomStatut = $statut->_get('nom_statut');
} else {
$nomStatut = $translationExtension->translate("non specifie", $lang, '', 'm', '');
}
$indication_anciennete = null;
if ('' != $annonce['date_creation_societe']) {
$anciennete = date('Y') - $annonce['date_creation_societe'];
if ($anciennete < 5) {
$indication_anciennete = $translationExtension->translate("moins de 5 ans", $lang, '', 'M', '');
} else {
if ($anciennete <= 10) {
$indication_anciennete = $translationExtension->translate("entre 5 et 10 ans", $lang, '', 'M', '');
} else {
$indication_anciennete = $translationExtension->translate("plus de 10 ans", $lang, '', 'M', '');
}
}
}
$localisation_siege = $annonce['nom_localisation'];
$precision_localisation_complementaire = null;
if ('_99' == substr($annonce['id_region'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("region", $lang, '', 'M', '');
} elseif ('_99' == substr($annonce['id_departement'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("departement", $lang, '', 'M', '');
}
$type_cession = $annonce['type_cession'];
$type_cession_precise = true;
if ('' == $type_cession) {
$type_cession = $translationExtension->translate("non precise", $lang, '', 'm', '');
$type_cession_precise = false;
} elseif ('indifferent' == mb_strtolower($type_cession)) {
$type_cession = $translationExtension->translate("minoritaire ou majoritaire", $lang, '', 'M', '');
}
$raisonsCession = $this->getDoctrine()->getRepository(RaisonsCession::class)->findOneBy(['id_raison_cession' => $annonce['id_raison_cession']]);
if (isset($raisonsCession)) {
$nom_raison_cession = $raisonsCession->nom_raison_cession;
} else {
$nom_raison_cession = $translationExtension->translate("non specifie", $lang, '', 'M', '');
}
// ====== FIN DESCRIPTION GENERALE ======
// ====== ELEMENTS CHIFFRES ======
if ('' != $annonce['annee_n']) {
$annee_n_aff = $annonce['annee_n'];
$annee_nmoins1_aff = $annonce['annee_n'] - 1;
$annee_nmoins2_aff = $annonce['annee_n'] - 2;
$annee_nplus1_aff = $annonce['annee_n'] + 1;
} else {
$annee_n_aff = 'n';
$annee_nmoins1_aff = 'n-1';
$annee_nmoins2_aff = 'n-2';
$annee_nplus1_aff = 'n+1';
}
$ca_nmoinsdeux = $annonce['ca_nmoinsdeux'] ? (int) $annonce['ca_nmoinsdeux'] : '';
$ca_nmoinsun = $annonce['ca_nmoinsun'] ? (int) $annonce['ca_nmoinsun'] : '';
$ca_n = $annonce['ca_n'] ? $annonce['ca_n'] : '';
$ca_nplusun = $annonce['ca_nplusun'] ? (int) $annonce['ca_nplusun'] : '';
$marge_brute_nmoinsdeux = $annonce['marge_brute_nmoinsdeux'] ? (int) $annonce['marge_brute_nmoinsdeux'] : '';
$marge_brute_nmoinsun = $annonce['marge_brute_nmoinsun'] ? (int) $annonce['marge_brute_nmoinsun'] : '';
$marge_brute_n = (int) $annonce['marge_brute_n'] ? $annonce['marge_brute_n'] : '';
$marge_brute_nplusun = $annonce['marge_brute_nplusun'] ? (int) $annonce['marge_brute_nplusun'] : '';
$EBE_nmoinsdeux = $annonce['EBE_nmoinsdeux'] ? (int) $annonce['EBE_nmoinsdeux'] : '';
$EBE_nmoinsun = $annonce['EBE_nmoinsun'] ? (int) $annonce['EBE_nmoinsun'] : '';
$EBE_n = $annonce['EBE_n'] ? (int) $annonce['EBE_n'] : '';
$EBE_nplusun = $annonce['EBE_nplusun'] ? (int) $annonce['EBE_nplusun'] : '';
$resultat_exploitation_nmoinsdeux = $annonce['resultat_exploitation_nmoinsdeux'] ? (int) $annonce['resultat_exploitation_nmoinsdeux'] : '';
$resultat_exploitation_nmoinsun = $annonce['resultat_exploitation_nmoinsun'] ? (int) $annonce['resultat_exploitation_nmoinsun'] : '';
$resultat_exploitation_n = $annonce['resultat_exploitation_n'] ? (int) $annonce['resultat_exploitation_n'] : '';
$resultat_exploitation_nplusun = $annonce['resultat_exploitation_nplusun'] ? (int) $annonce['resultat_exploitation_nplusun'] : '';
$resultat_net_nmoinsdeux = $annonce['resultat_net_nmoinsdeux'] ? (int) $annonce['resultat_net_nmoinsdeux'] : '';
$resultat_net_nmoinsun = $annonce['resultat_net_nmoinsun'] ? (int) $annonce['resultat_net_nmoinsun'] : '';
$resultat_net_n = $annonce['resultat_net_n'] ? (int) $annonce['resultat_net_n'] : '';
$resultat_net_nplusun = $annonce['resultat_net_nplusun'] ? (int) $annonce['resultat_net_nplusun'] : '';
$nb_personnes_nmoinsdeux = $annonce['nb_personnes_nmoinsdeux'] ? (int) $annonce['nb_personnes_nmoinsdeux'] : '';
$nb_personnes_nmoinsun = $annonce['nb_personnes_nmoinsun'] ? (int) $annonce['nb_personnes_nmoinsun'] : '';
$nb_personnes_n = $annonce['nb_personnes_n'] ? (int) $annonce['nb_personnes_n'] : '';
$nb_personnes_nplusun = $annonce['nb_personnes_nplusun'] ? (int) $annonce['nb_personnes_nplusun'] : '';
// Pour affichage mobile
// Si n+1 est renseignée, on affiche n-1, n et n+1
if ($ca_nplusun != '' || $marge_brute_nplusun != '' || $EBE_nplusun != '' || $resultat_exploitation_nplusun != '' || $resultat_net_nplusun != '' || $nb_personnes_nplusun != '') {
$annee_un_mobile = $annee_nmoins1_aff;
$annee_deux_mobile = $annee_n_aff;
$annee_trois_mobile = $annee_nplus1_aff;
$ca_un_mobile = $ca_nmoinsun;
$ca_deux_mobile = $ca_n;
$ca_trois_mobile = $ca_nplusun;
$marge_un_mobile = $marge_brute_nmoinsun;
$marge_deux_mobile = $marge_brute_n;
$marge_trois_mobile = $marge_brute_nplusun;
$ebe_un_mobile = $EBE_nmoinsun;
$ebe_deux_mobile = $EBE_n;
$ebe_trois_mobile = $EBE_nplusun;
$resultat_un_mobile = $resultat_exploitation_nmoinsun;
$resultat_deux_mobile = $resultat_exploitation_n;
$resultat_trois_mobile = $resultat_exploitation_nplusun;
$resultat_net_un_mobile = $resultat_net_nmoinsun;
$resultat_net_deux_mobile = $resultat_net_n;
$resultat_net_trois_mobile = $resultat_net_nplusun;
$nb_personne_un_mobile = $nb_personnes_nmoinsun;
$nb_personne_deux_mobile = $nb_personnes_n;
$nb_personne_trois_mobile = $nb_personnes_nplusun;
} else {
// Sinon on affiche n-2, n-1 et n
$annee_un_mobile = $annee_nmoins2_aff;
$annee_deux_mobile = $annee_nmoins1_aff;
$annee_trois_mobile = $annee_n_aff;
$ca_un_mobile = $ca_nmoinsdeux;
$ca_deux_mobile = $ca_nmoinsun;
$ca_trois_mobile = $ca_n;
$marge_un_mobile = $marge_brute_nmoinsdeux;
$marge_deux_mobile = $marge_brute_nmoinsun;
$marge_trois_mobile = $marge_brute_n;
$ebe_un_mobile = $EBE_nmoinsdeux;
$ebe_deux_mobile = $EBE_nmoinsun;
$ebe_trois_mobile = $EBE_n;
$resultat_un_mobile = $resultat_exploitation_nmoinsdeux;
$resultat_deux_mobile = $resultat_exploitation_nmoinsun;
$resultat_trois_mobile = $resultat_exploitation_n;
$resultat_net_un_mobile = $resultat_net_nmoinsdeux;
$resultat_net_deux_mobile = $resultat_net_nmoinsun;
$resultat_net_trois_mobile = $resultat_net_n;
$nb_personne_un_mobile = $nb_personnes_nmoinsdeux;
$nb_personne_deux_mobile = $nb_personnes_nmoinsun;
$nb_personne_trois_mobile = $nb_personnes_n;
}
// Fin affichage mobile
$fonds_propres = $annonce['fonds_propres'];
if (null == $annonce['dettes_financieres']) {
$dettes = $annonce['endettement_net_n'];
$intitule_dettes = $translationExtension->translate("endettement net", $lang, '', 'M', '');
} else {
$dettes = $annonce['dettes_financieres'];
if ('NR' == $dettes) {
$dettes = '';
}
$intitule_dettes = $translationExtension->translate("dettes financieres", $lang, '', 'M', '');
}
$tresorerie = $annonce['tresorerie_nette'];
// ====== FIN ELEMENTS CHIFFRES ======
// ====== POINTS FORTS CONCURRENCE ======
$points_forts = $annonce['points_forts'];
$points_faibles = $annonce['points_faibles'];
$positionnement_marche = '' != $annonce['positionnement_marche'] ? $annonce['positionnement_marche'] : $translationExtension->translate("non precise", $lang, '', 'M', '');
$concurrence = $annonce['concurrence'];
// ====== FIN POINTS FORTS CONCURRENCE ======
// ====== INFOS CESSION ======
$prix_cession = (int) $annonce['prix_cession'];
$redressement_judiciaire = $annonce['redressement_judiciaire'];
$apport_fp_min = $annonce['apport_fp_min'];
// ====== FIN INFOS CESSION ======
// ====== INFOS SECTORIELLES ======
$dernieresActualitesSecteur = $actuManager->getDernieresActualitesSecteurAnnonceVendeur($idAnnonce);
// ====== FIN INFOS SECTORIELLES ======
// ====== TRANSACTIONS COMPARABLES ======
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
// ====== FIN TRANSACTIONS COMPARABLES ======
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical);
$elite_result = NULL;
if (!empty($request->query->get('elite'))) {
$elite_result = $request->query->all();
$annoncesElite = $this->rechercheElite->getAnnoncesResult($elite_result);
$elite_result["id_annonce"] = $annonce['id_annonce_vendeur'];
$elite_result["next_annonce"] = (Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
$elite_result["previous_annonce"] = (Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
}
//acces synthese pour elite ou en periode de gratuite
$acces = ($this->getUser()) ? $this->dm->checkIfThisUserHasDroitService($this->getUser(), RechercheElite::CODE_SERVICE) : false; // 81 service ELITE
$syntheseElite = $this->am->detailSyntheseCapitalImmaterielByIdAnnonce($idAnnonce, $acces);
$grillePostMer = $this->em->getRepository(GrilleAnalysePostMer::class)->detailGrille($idAnnonce);
if ($syntheseElite) {
$profilsStrategiques = $this->em->getRepository(AnnoncesVendeurProfilsStandards::class)->getProfilsByIdAnnonce($idAnnonce);
$profilsStrategiques = array_slice($profilsStrategiques, 0, 4);
$syntheseElite['profils_strategiques'] = $profilsStrategiques;
}
if(!empty($annone_retiree_deja_commande) && $annone_retiree_deja_commande == true ){
$this->get('session')->getFlashBag()->clear(); // Clear tous les flashbags
$this->addFlash('error_annonce_commande_retiree',"Attention : cette annonce n’est plus en ligne actuellement");
}
$coordonnesAnnonceCommandee =(!empty($annonce['id_annonce_vendeur']))? $this->getDoctrine()->getRepository(Commandes::class)->findInfoVendeurByAnnonce($annonce['id_annonce_vendeur']):[];
return $this->render('reprendre_entreprise/details_annonce.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'nom_type_cession' => $nom_type_cession,
'tag_loc' => $tag_loc,
'label_bloc' => $label_bloc,
'nomStatut' => $nomStatut,
'indication_anciennete' => $indication_anciennete,
'localisation_siege' => $localisation_siege,
'precision_localisation_complementaire' => $precision_localisation_complementaire,
'type_cession' => $type_cession,
'type_cession_precise' => $type_cession_precise,
'nom_raison_cession' => $nom_raison_cession,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'type_annonce' => $type_annonce,
'annee_nmoins2_aff' => $annee_nmoins2_aff,
'annee_nmoins1_aff' => $annee_nmoins1_aff,
'annee_n_aff' => $annee_n_aff,
'annee_nplus1_aff' => $annee_nplus1_aff,
'ca_nmoinsdeux' => $ca_nmoinsdeux,
'ca_nmoinsun' => $ca_nmoinsun,
'ca_n' => $ca_n,
'ca_nplusun' => $ca_nplusun,
'marge_brute_nmoinsdeux' => $marge_brute_nmoinsdeux,
'marge_brute_nmoinsun' => $marge_brute_nmoinsun,
'marge_brute_n' => $marge_brute_n,
'marge_brute_nplusun' => $marge_brute_nplusun,
'EBE_nmoinsdeux' => $EBE_nmoinsdeux,
'EBE_nmoinsun' => $EBE_nmoinsun,
'EBE_n' => $EBE_n,
'EBE_nplusun' => $EBE_nplusun,
'resultat_exploitation_nmoinsdeux' => $resultat_exploitation_nmoinsdeux,
'resultat_exploitation_nmoinsun' => $resultat_exploitation_nmoinsun,
'resultat_exploitation_n' => $resultat_exploitation_n,
'resultat_exploitation_nplusun' => $resultat_exploitation_nplusun,
'resultat_net_nmoinsdeux' => $resultat_net_nmoinsdeux,
'resultat_net_nmoinsun' => $resultat_net_nmoinsun,
'resultat_net_n' => $resultat_net_n,
'resultat_net_nplusun' => $resultat_net_nplusun,
'nb_personnes_nmoinsdeux' => $nb_personnes_nmoinsdeux,
'nb_personnes_nmoinsun' => $nb_personnes_nmoinsun,
'nb_personnes_n' => $nb_personnes_n,
'nb_personnes_nplusun' => $nb_personnes_nplusun,
'annee_un_mobile' => $annee_un_mobile,
'annee_deux_mobile' => $annee_deux_mobile,
'annee_trois_mobile' => $annee_trois_mobile,
'ca_un_mobile' => $ca_un_mobile,
'ca_deux_mobile' => $ca_deux_mobile,
'ca_trois_mobile' => $ca_trois_mobile,
'marge_un_mobile' => $marge_un_mobile,
'marge_deux_mobile' => $marge_deux_mobile,
'marge_trois_mobile' => $marge_trois_mobile,
'ebe_un_mobile' => $ebe_un_mobile,
'ebe_deux_mobile' => $ebe_deux_mobile,
'ebe_trois_mobile' => $ebe_trois_mobile,
'resultat_un_mobile' => $resultat_un_mobile,
'resultat_deux_mobile' => $resultat_deux_mobile,
'resultat_trois_mobile' => $resultat_trois_mobile,
'resultat_net_un_mobile' => $resultat_net_un_mobile,
'resultat_net_deux_mobile' => $resultat_net_deux_mobile,
'resultat_net_trois_mobile' => $resultat_net_trois_mobile,
'nb_personne_un_mobile' => $nb_personne_un_mobile,
'nb_personne_deux_mobile' => $nb_personne_deux_mobile,
'nb_personne_trois_mobile' => $nb_personne_trois_mobile,
'fonds_propres' => $fonds_propres,
'dettes' => $dettes,
'intitule_dettes' => $intitule_dettes,
'tresorerie' => $tresorerie,
'points_forts' => $points_forts,
'points_faibles' => $points_faibles,
'positionnement_marche' => $positionnement_marche,
'concurrence' => $concurrence,
'prix_cession' => $prix_cession,
'redressement_judiciaire' => $redressement_judiciaire,
'apport_fp_min' => $apport_fp_min,
'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
'valorisations' => $valorisations,
'lang' => $lang,
'googleTag' => $googleTag,
'ordered' => false,
"elite_result" => $elite_result,
"syntheseElite" => $syntheseElite, // données elite
"grillePostMer" => $grillePostMer??[],
"coordonnesAnnonceCommandee"=>$coordonnesAnnonceCommandee??[],
'hasServiceSimuElite' => true//$hasServiceSimuElite
]);
} elseif (!empty($user) && 'publique_elite' == $annonce['mode_annonce'] && !$hasServiceElite) {
$lang = $request->getSession()->get('lang');
//return $this->redirectToRoute('reprendre_entreprise_annonces_cession_entreprise', ['codePays' => $codePays]);
return $this->redirect("/reprendre-une-entreprise/annonces-cession-entreprise?alertPubElite=1");
} else {
$lang = $request->getSession()->get('lang');
$this->addFlash('error', $translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_annonces_cession_entreprise', ['codePays' => $codePays]);
}
}
public function detailsannoncesurveillance(Request $request, PaginatorInterface $paginator, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ActualitesManagers $actuManager, ValorisationsManagers $vm, GoogleTag $googleTag, ConsultationsAnnonce $consultations_annonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonces = $this->am->getDernieresAnnoncesCessions(1);
$idAnnonce = $annonces[0]["id_annonce_vendeur"];
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
$hasServiceSimuElite = false;
$hasServiceElite = false;
if (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
}
if (!empty($user)) {
$hasServiceSimuElite = $this->dm->checkIfThisUserHasDroitService($user, [58, 81]); // 58 = similateur reprise 81 82 fusacq elite
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
if (isset($annonce) && (
'publique' == $annonce['mode_annonce'] || ($hasServiceElite && 'publique_elite' == $annonce['mode_annonce']) || ($annonce['login_utilisateur'] == $login_utilisateur)
)
) {
// On efface les anciens parametres s'ils existent, puis on insert les nouveaux
$googleTag->removeParametresPub();
if ($annonce['id_pays']) {
$googleTag->setIdPays($annonce['id_pays']);
}
if ($annonce['id_region']) {
$googleTag->setIdRegion($annonce['id_region']);
}
if ($annonce['id_departement']) {
$googleTag->setIdDepartement($annonce['id_departement']);
}
if ($annonce['id_secteur_activite']) {
$googleTag->setIdSecteurActivite($annonce['id_secteur_activite']);
}
//stats annonce
$statsAnnonce = $this->em->getRepository(StatistiquesNbConsultationsAnnoncesVendeurEntity::class)->find($idAnnonce);
if (empty($statsAnnonce)) {
$statsAnnonce = new StatistiquesNbConsultationsAnnoncesVendeurEntity();
$statsAnnonce->_set("id_annonce", $idAnnonce);
$statsAnnonce->_set("nb_consultations", 1);
$this->em->persist($statsAnnonce);
$this->em->flush();
} else {
/* $nb = $statsAnnonce->_get("nb_consultations") + 1;
$statsAnnonce->_set("nb_consultations", $nb);
$this->em->persist($statsAnnonce);
$this->em->flush(); */
// On incrémente de 1 le nb de consultation
$consultations_annonce->incrementeConsultation('vendeur', $idAnnonce);
}
// ====== DESCRIPTION GENERALE ======
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$idStatut = $annonce['statuts'];
$nom_type_cession = $translationExtension->translate("forme juridique", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation du siege", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("fiche d'identite de la societe", $lang, '', 'M', '');
if ('99' == substr($idStatut, 0, 2)) {
$nom_type_cession = $translationExtension->translate("type d'actif", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("designation de l'actif", $lang, '', 'M', '');
}
$statutsRepo = $this->getDoctrine()->getRepository(Statuts::class);
$statut = $statutsRepo->getStatusByIdStatut($idStatut);
if (null != $statut) {
$nomStatut = $statut->_get('nom_statut');
} else {
$nomStatut = $translationExtension->translate("non specifie", $lang, '', 'm', '');
}
$indication_anciennete = null;
if ('' != $annonce['date_creation_societe']) {
$anciennete = date('Y') - $annonce['date_creation_societe'];
if ($anciennete < 5) {
$indication_anciennete = $translationExtension->translate("moins de 5 ans", $lang, '', 'M', '');
} else {
if ($anciennete <= 10) {
$indication_anciennete = $translationExtension->translate("entre 5 et 10 ans", $lang, '', 'M', '');
} else {
$indication_anciennete = $translationExtension->translate("plus de 10 ans", $lang, '', 'M', '');
}
}
}
$localisation_siege = $annonce['nom_localisation'];
$precision_localisation_complementaire = null;
if ('_99' == substr($annonce['id_region'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("region", $lang, '', 'M', '');
} elseif ('_99' == substr($annonce['id_departement'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("departement", $lang, '', 'M', '');
}
$type_cession = $annonce['type_cession'];
$type_cession_precise = true;
if ('' == $type_cession) {
$type_cession = $translationExtension->translate("non precise", $lang, '', 'm', '');
$type_cession_precise = false;
} elseif ('indifferent' == mb_strtolower($type_cession)) {
$type_cession = $translationExtension->translate("minoritaire ou majoritaire", $lang, '', 'M', '');
}
$raisonsCession = $this->getDoctrine()->getRepository(RaisonsCession::class)->findOneBy(['id_raison_cession' => $annonce['id_raison_cession']]);
if (isset($raisonsCession)) {
$nom_raison_cession = $raisonsCession->nom_raison_cession;
} else {
$nom_raison_cession = $translationExtension->translate("non specifie", $lang, '', 'M', '');
}
// ====== FIN DESCRIPTION GENERALE ======
// ====== ELEMENTS CHIFFRES ======
if ('' != $annonce['annee_n']) {
$annee_n_aff = $annonce['annee_n'];
$annee_nmoins1_aff = $annonce['annee_n'] - 1;
$annee_nmoins2_aff = $annonce['annee_n'] - 2;
$annee_nplus1_aff = $annonce['annee_n'] + 1;
} else {
$annee_n_aff = 'n';
$annee_nmoins1_aff = 'n-1';
$annee_nmoins2_aff = 'n-2';
$annee_nplus1_aff = 'n+1';
}
$ca_nmoinsdeux = $annonce['ca_nmoinsdeux'] ? (int) $annonce['ca_nmoinsdeux'] : '';
$ca_nmoinsun = $annonce['ca_nmoinsun'] ? (int) $annonce['ca_nmoinsun'] : '';
$ca_n = $annonce['ca_n'] ? $annonce['ca_n'] : '';
$ca_nplusun = $annonce['ca_nplusun'] ? (int) $annonce['ca_nplusun'] : '';
$marge_brute_nmoinsdeux = $annonce['marge_brute_nmoinsdeux'] ? (int) $annonce['marge_brute_nmoinsdeux'] : '';
$marge_brute_nmoinsun = $annonce['marge_brute_nmoinsun'] ? (int) $annonce['marge_brute_nmoinsun'] : '';
$marge_brute_n = (int) $annonce['marge_brute_n'] ? $annonce['marge_brute_n'] : '';
$marge_brute_nplusun = $annonce['marge_brute_nplusun'] ? (int) $annonce['marge_brute_nplusun'] : '';
$EBE_nmoinsdeux = $annonce['EBE_nmoinsdeux'] ? (int) $annonce['EBE_nmoinsdeux'] : '';
$EBE_nmoinsun = $annonce['EBE_nmoinsun'] ? (int) $annonce['EBE_nmoinsun'] : '';
$EBE_n = $annonce['EBE_n'] ? (int) $annonce['EBE_n'] : '';
$EBE_nplusun = $annonce['EBE_nplusun'] ? (int) $annonce['EBE_nplusun'] : '';
$resultat_exploitation_nmoinsdeux = $annonce['resultat_exploitation_nmoinsdeux'] ? (int) $annonce['resultat_exploitation_nmoinsdeux'] : '';
$resultat_exploitation_nmoinsun = $annonce['resultat_exploitation_nmoinsun'] ? (int) $annonce['resultat_exploitation_nmoinsun'] : '';
$resultat_exploitation_n = $annonce['resultat_exploitation_n'] ? (int) $annonce['resultat_exploitation_n'] : '';
$resultat_exploitation_nplusun = $annonce['resultat_exploitation_nplusun'] ? (int) $annonce['resultat_exploitation_nplusun'] : '';
$resultat_net_nmoinsdeux = $annonce['resultat_net_nmoinsdeux'] ? (int) $annonce['resultat_net_nmoinsdeux'] : '';
$resultat_net_nmoinsun = $annonce['resultat_net_nmoinsun'] ? (int) $annonce['resultat_net_nmoinsun'] : '';
$resultat_net_n = $annonce['resultat_net_n'] ? (int) $annonce['resultat_net_n'] : '';
$resultat_net_nplusun = $annonce['resultat_net_nplusun'] ? (int) $annonce['resultat_net_nplusun'] : '';
$nb_personnes_nmoinsdeux = $annonce['nb_personnes_nmoinsdeux'] ? (int) $annonce['nb_personnes_nmoinsdeux'] : '';
$nb_personnes_nmoinsun = $annonce['nb_personnes_nmoinsun'] ? (int) $annonce['nb_personnes_nmoinsun'] : '';
$nb_personnes_n = $annonce['nb_personnes_n'] ? (int) $annonce['nb_personnes_n'] : '';
$nb_personnes_nplusun = $annonce['nb_personnes_nplusun'] ? (int) $annonce['nb_personnes_nplusun'] : '';
// Pour affichage mobile
// Si n+1 est renseignée, on affiche n-1, n et n+1
if ($ca_nplusun != '' || $marge_brute_nplusun != '' || $EBE_nplusun != '' || $resultat_exploitation_nplusun != '' || $resultat_net_nplusun != '' || $nb_personnes_nplusun != '') {
$annee_un_mobile = $annee_nmoins1_aff;
$annee_deux_mobile = $annee_n_aff;
$annee_trois_mobile = $annee_nplus1_aff;
$ca_un_mobile = $ca_nmoinsun;
$ca_deux_mobile = $ca_n;
$ca_trois_mobile = $ca_nplusun;
$marge_un_mobile = $marge_brute_nmoinsun;
$marge_deux_mobile = $marge_brute_n;
$marge_trois_mobile = $marge_brute_nplusun;
$ebe_un_mobile = $EBE_nmoinsun;
$ebe_deux_mobile = $EBE_n;
$ebe_trois_mobile = $EBE_nplusun;
$resultat_un_mobile = $resultat_exploitation_nmoinsun;
$resultat_deux_mobile = $resultat_exploitation_n;
$resultat_trois_mobile = $resultat_exploitation_nplusun;
$resultat_net_un_mobile = $resultat_net_nmoinsun;
$resultat_net_deux_mobile = $resultat_net_n;
$resultat_net_trois_mobile = $resultat_net_nplusun;
$nb_personne_un_mobile = $nb_personnes_nmoinsun;
$nb_personne_deux_mobile = $nb_personnes_n;
$nb_personne_trois_mobile = $nb_personnes_nplusun;
} else {
// Sinon on affiche n-2, n-1 et n
$annee_un_mobile = $annee_nmoins2_aff;
$annee_deux_mobile = $annee_nmoins1_aff;
$annee_trois_mobile = $annee_n_aff;
$ca_un_mobile = $ca_nmoinsdeux;
$ca_deux_mobile = $ca_nmoinsun;
$ca_trois_mobile = $ca_n;
$marge_un_mobile = $marge_brute_nmoinsdeux;
$marge_deux_mobile = $marge_brute_nmoinsun;
$marge_trois_mobile = $marge_brute_n;
$ebe_un_mobile = $EBE_nmoinsdeux;
$ebe_deux_mobile = $EBE_nmoinsun;
$ebe_trois_mobile = $EBE_n;
$resultat_un_mobile = $resultat_exploitation_nmoinsdeux;
$resultat_deux_mobile = $resultat_exploitation_nmoinsun;
$resultat_trois_mobile = $resultat_exploitation_n;
$resultat_net_un_mobile = $resultat_net_nmoinsdeux;
$resultat_net_deux_mobile = $resultat_net_nmoinsun;
$resultat_net_trois_mobile = $resultat_net_n;
$nb_personne_un_mobile = $nb_personnes_nmoinsdeux;
$nb_personne_deux_mobile = $nb_personnes_nmoinsun;
$nb_personne_trois_mobile = $nb_personnes_n;
}
// Fin affichage mobile
$fonds_propres = $annonce['fonds_propres'];
if (null == $annonce['dettes_financieres']) {
$dettes = $annonce['endettement_net_n'];
$intitule_dettes = $translationExtension->translate("endettement net", $lang, '', 'M', '');
} else {
$dettes = $annonce['dettes_financieres'];
if ('NR' == $dettes) {
$dettes = '';
}
$intitule_dettes = $translationExtension->translate("dettes financieres", $lang, '', 'M', '');
}
$tresorerie = $annonce['tresorerie_nette'];
// ====== FIN ELEMENTS CHIFFRES ======
// ====== POINTS FORTS CONCURRENCE ======
$points_forts = $annonce['points_forts'];
$points_faibles = $annonce['points_faibles'];
$positionnement_marche = '' != $annonce['positionnement_marche'] ? $annonce['positionnement_marche'] : $translationExtension->translate("non precise", $lang, '', 'M', '');
$concurrence = $annonce['concurrence'];
// ====== FIN POINTS FORTS CONCURRENCE ======
// ====== INFOS CESSION ======
$prix_cession = (int) $annonce['prix_cession'];
$redressement_judiciaire = $annonce['redressement_judiciaire'];
$apport_fp_min = $annonce['apport_fp_min'];
// ====== FIN INFOS CESSION ======
// ====== INFOS SECTORIELLES ======
$dernieresActualitesSecteur = $actuManager->getDernieresActualitesSecteurAnnonceVendeur($idAnnonce);
// ====== FIN INFOS SECTORIELLES ======
// ====== TRANSACTIONS COMPARABLES ======
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
// ====== FIN TRANSACTIONS COMPARABLES ======
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical);
return $this->render('reprendre_entreprise/details_annonce.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'nom_type_cession' => $nom_type_cession,
'tag_loc' => $tag_loc,
'label_bloc' => $label_bloc,
'nomStatut' => $nomStatut,
'indication_anciennete' => $indication_anciennete,
'localisation_siege' => $localisation_siege,
'precision_localisation_complementaire' => $precision_localisation_complementaire,
'type_cession' => $type_cession,
'type_cession_precise' => $type_cession_precise,
'nom_raison_cession' => $nom_raison_cession,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'type_annonce' => $type_annonce,
'annee_nmoins2_aff' => $annee_nmoins2_aff,
'annee_nmoins1_aff' => $annee_nmoins1_aff,
'annee_n_aff' => $annee_n_aff,
'annee_nplus1_aff' => $annee_nplus1_aff,
'ca_nmoinsdeux' => $ca_nmoinsdeux,
'ca_nmoinsun' => $ca_nmoinsun,
'ca_n' => $ca_n,
'ca_nplusun' => $ca_nplusun,
'marge_brute_nmoinsdeux' => $marge_brute_nmoinsdeux,
'marge_brute_nmoinsun' => $marge_brute_nmoinsun,
'marge_brute_n' => $marge_brute_n,
'marge_brute_nplusun' => $marge_brute_nplusun,
'EBE_nmoinsdeux' => $EBE_nmoinsdeux,
'EBE_nmoinsun' => $EBE_nmoinsun,
'EBE_n' => $EBE_n,
'EBE_nplusun' => $EBE_nplusun,
'resultat_exploitation_nmoinsdeux' => $resultat_exploitation_nmoinsdeux,
'resultat_exploitation_nmoinsun' => $resultat_exploitation_nmoinsun,
'resultat_exploitation_n' => $resultat_exploitation_n,
'resultat_exploitation_nplusun' => $resultat_exploitation_nplusun,
'resultat_net_nmoinsdeux' => $resultat_net_nmoinsdeux,
'resultat_net_nmoinsun' => $resultat_net_nmoinsun,
'resultat_net_n' => $resultat_net_n,
'resultat_net_nplusun' => $resultat_net_nplusun,
'nb_personnes_nmoinsdeux' => $nb_personnes_nmoinsdeux,
'nb_personnes_nmoinsun' => $nb_personnes_nmoinsun,
'nb_personnes_n' => $nb_personnes_n,
'nb_personnes_nplusun' => $nb_personnes_nplusun,
'annee_un_mobile' => $annee_un_mobile,
'annee_deux_mobile' => $annee_deux_mobile,
'annee_trois_mobile' => $annee_trois_mobile,
'ca_un_mobile' => $ca_un_mobile,
'ca_deux_mobile' => $ca_deux_mobile,
'ca_trois_mobile' => $ca_trois_mobile,
'marge_un_mobile' => $marge_un_mobile,
'marge_deux_mobile' => $marge_deux_mobile,
'marge_trois_mobile' => $marge_trois_mobile,
'ebe_un_mobile' => $ebe_un_mobile,
'ebe_deux_mobile' => $ebe_deux_mobile,
'ebe_trois_mobile' => $ebe_trois_mobile,
'resultat_un_mobile' => $resultat_un_mobile,
'resultat_deux_mobile' => $resultat_deux_mobile,
'resultat_trois_mobile' => $resultat_trois_mobile,
'resultat_net_un_mobile' => $resultat_net_un_mobile,
'resultat_net_deux_mobile' => $resultat_net_deux_mobile,
'resultat_net_trois_mobile' => $resultat_net_trois_mobile,
'nb_personne_un_mobile' => $nb_personne_un_mobile,
'nb_personne_deux_mobile' => $nb_personne_deux_mobile,
'nb_personne_trois_mobile' => $nb_personne_trois_mobile,
'fonds_propres' => $fonds_propres,
'dettes' => $dettes,
'intitule_dettes' => $intitule_dettes,
'tresorerie' => $tresorerie,
'points_forts' => $points_forts,
'points_faibles' => $points_faibles,
'positionnement_marche' => $positionnement_marche,
'concurrence' => $concurrence,
'prix_cession' => $prix_cession,
'redressement_judiciaire' => $redressement_judiciaire,
'apport_fp_min' => $apport_fp_min,
'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
'valorisations' => $valorisations,
'lang' => $lang,
'googleTag' => $googleTag
]);
} else {
$lang = $request->getSession()->get('lang');
$this->addFlash('error', $translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification', $lang, '', 'M', ''));
return $this->redirectToRoute('reprendre_entreprise_annonces_cession_entreprise', ['codePays' => $codePays]);
}
}
public function contacterDeposantAnnonceVendeur(Request $request, PaginatorInterface $paginator, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ActualitesManagers $actuManager, ValorisationsManagers $vm, CommandesRepository $cr, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
$session = $request->getSession();
$lignePanier = null;
$dejaCommande = null;
$forfaitAUtiliser = null;
$hasForfait = false;
$hasServiceElite = false;
if (!empty($user)) {
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
if (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
}
if (!empty($user)) {
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
if (isset($annonce) && (
'publique' == $annonce['mode_annonce'] || ($hasServiceElite && 'publique_elite' == $annonce['mode_annonce']) || ($annonce['login_utilisateur'] == $login_utilisateur)
)
) {
// ====== DESCRIPTION GENERALE ======
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_actif');
$typeAnnoncePanier = "annonce_V_actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_entreprise');
$typeAnnoncePanier = "annonce_V_cession";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
$typeAnnoncePanier = "annonce_V_levee_de_fonds";
}
if ($session) {
$userIdentity = $session->get('user');
if (!empty($userIdentity)) {
$lignePanier = $this->em->getRepository(Panier::class)->findOneBy(
['login_utilisateur' => $userIdentity->_get('login_utilisateur'), "type_object" => $typeAnnoncePanier, "id_object" => $idAnnonce]
);
$dejaCommande = $this->cm->hasAnnonceCommande($userIdentity->_get('login_utilisateur'), $idAnnonce, 'vendeur');
$forfaitAUtiliser = $this->dm->getFrofaitAnnonceToUse($userIdentity);
if (!empty($forfaitAUtiliser)) {
$hasForfait = true;
}
}
}
// ====== FIN DESCRIPTION GENERALE ======
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$showContacter = $request->query->get('contact');
// ANNONCE COMMANDE AU COURS DES 15 DERNIERS JOURS
$ordered = $cr->hasBeenOrderedWithinThePastXDays($idAnnonce, "vendeur", 15);
// ====== TRANSACTIONS COMPARABLES ======
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
// ====== FIN TRANSACTIONS COMPARABLES ======
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'contactez le déposant de l\'annonce de vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'contactez le déposant de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'contactez le déposant de l\'annonce de cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'contactez le déposant de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical);
$elite_result = NULL;
if (!empty($request->query->get('elite'))) {
$elite_result = $request->query->all();
$annoncesElite = []; // PAS DE REQUETE ICI // $this->rechercheElite->getAnnoncesResult($elite_result);
$elite_result["id_annonce"] = $annonce['id_annonce_vendeur'];
$elite_result["next_annonce"] = (Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
$elite_result["previous_annonce"] = (Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
}
//acces synthese pour elite ou en periode de gratuite
$acces = ($this->getUser()) ? $this->dm->checkIfThisUserHasDroitService($this->getUser(), RechercheElite::CODE_SERVICE) : false; // 81 service ELITE
$syntheseElite = $this->am->detailSyntheseCapitalImmaterielByIdAnnonce($idAnnonce, $acces);
return $this->render('reprendre_entreprise/contacter_deposant_annonce_vendeur.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'type_annonce' => $type_annonce,
'lignePanier' => $lignePanier,
'dejaCommande' => $dejaCommande,
'forfaitAUtiliser' => $forfaitAUtiliser,
'hasForfait' => $hasForfait,
'lang' => $lang,
'typeAnnoncePanier' => $typeAnnoncePanier,
'showContacter' => $showContacter,
'ordered' => $ordered,
'valorisations' => $valorisations,
'syntheseElite' => $syntheseElite
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function actualitesectorielle(Request $request, PaginatorInterface $paginator, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ActualitesManagers $actuManager, ValorisationsManagers $vm, GoogleTag $googleTag, CommandesRepository $cr, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
// ====== DESCRIPTION GENERALE ======
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_actif');
$typeAnnoncePanier = "annonce_V_actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_entreprise');
$typeAnnoncePanier = "annonce_V_cession";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
$typeAnnoncePanier = "annonce_V_levee_de_fonds";
}
// ====== FIN DESCRIPTION GENERALE ======
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$dernieresAnnonces = $request->query->get('dernieresAnnonces');
$showContacter = $request->query->get('contact');
// ANNONCE COMMANDE AU COURS DES 15 DERNIERS JOURS
$ordered = $cr->hasBeenOrderedWithinThePastXDays($idAnnonce, "vendeur", 15);
// ====== INFOS SECTORIELLES ======
$dernieresActualitesSecteur = $actuManager->getDernieresActualitesSecteurAnnonceVendeur($idAnnonce);
// ====== FIN INFOS SECTORIELLES ======
// ====== TRANSACTIONS COMPARABLES ======
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
// ====== FIN TRANSACTIONS COMPARABLES ======
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'actualite sectorielle de l\'annonce de vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'actualite sectorielle de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'actualite sectorielle de l\'annonce de cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'actualite sectorielle de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical);
$elite_result = NULL;
if (!empty($request->query->get('elite'))) {
$elite_result = $request->query->all();
$annoncesElite = $this->rechercheElite->getAnnoncesResult($elite_result);
$elite_result["id_annonce"] = $annonce['id_annonce_vendeur'];
$elite_result["next_annonce"] = (Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getNextFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
$elite_result["previous_annonce"] = (Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))) ? $this->am->getAnnonceVendeurById(
Utils::getPrevFromArray($annonce['id_annonce_vendeur'], array_column($annoncesElite, "id_annonce_vendeur"))
) : NULL;
}
//acces synthese pour elite ou en periode de gratuite
$acces = ($this->getUser()) ? $this->dm->checkIfThisUserHasDroitService($this->getUser(), RechercheElite::CODE_SERVICE) : false; // 81 service ELITE
$syntheseElite = $this->am->detailSyntheseCapitalImmaterielByIdAnnonce($idAnnonce, $acces);
return $this->render('reprendre_entreprise/actualite_sectorielle_annonce_vendeur.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'dernieresAnnonces' => $dernieresAnnonces,
'lang' => $lang,
'type_annonce' => $type_annonce,
'lang' => $lang,
'typeAnnoncePanier' => $typeAnnoncePanier,
'showContacter' => $showContacter,
'ordered' => $ordered,
'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
'valorisations' => $valorisations,
'syntheseElite' => $syntheseElite
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function descriptiongenerale(Request $request, PaginatorInterface $paginator, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$idStatut = $annonce['statuts'];
$nom_type_cession = $translationExtension->translate("forme juridique", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation du siege", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("fiche d'identite de la societe", $lang, '', 'M', '');
if ('99' == substr($idStatut, 0, 2)) {
$nom_type_cession = $translationExtension->translate("type d'actif", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("designation de l'actif", $lang, '', 'M', '');
}
$statutsRepo = $this->getDoctrine()->getRepository(Statuts::class);
$statut = $statutsRepo->getStatusByIdStatut($idStatut);
if (null != $statut) {
$nomStatut = $statut->_get('nom_statut');
} else {
$nomStatut = $translationExtension->translate("non specifie", $lang, '', 'm', '');
}
$indication_anciennete = null;
if ('' != $annonce['date_creation_societe']) {
$anciennete = date('Y') - $annonce['date_creation_societe'];
if ($anciennete < 5) {
$indication_anciennete = $translationExtension->translate("moins de 5 ans", $lang, '', 'M', '');
} else {
if ($anciennete <= 10) {
$indication_anciennete = $translationExtension->translate("entre 5 et 10 ans", $lang, '', 'M', '');
} else {
$indication_anciennete = $translationExtension->translate("plus de 10 ans", $lang, '', 'M', '');
}
}
}
$localisation_siege = $annonce['nom_localisation'];
$precision_localisation_complementaire = null;
if ('_99' == substr($annonce['id_region'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("region", $lang, '', 'M', '');
} elseif ('_99' == substr($annonce['id_departement'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("departement", $lang, '', 'M', '');
}
$type_cession = $annonce['type_cession'];
$type_cession_precise = true;
if ('' == $type_cession) {
$type_cession = $translationExtension->translate("non precise", $lang, '', 'm', '');
$type_cession_precise = false;
} elseif ('indifferent' == mb_strtolower($type_cession)) {
$type_cession = $translationExtension->translate("minoritaire ou majoritaire", $lang, '', 'M', '');
}
$raisonsCession = $this->getDoctrine()->getRepository(RaisonsCession::class)->findOneBy(['id_raison_cession' => $annonce['id_raison_cession']]);
if (isset($raisonsCession)) {
$nom_raison_cession = $raisonsCession->nom_raison_cession;
} else {
$nom_raison_cession = $translationExtension->translate("non specifie", $lang, '', 'M', '');
}
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=2';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setNext($next);
return $this->render('reprendre_entreprise/description_generale.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'nom_type_cession' => $nom_type_cession,
'tag_loc' => $tag_loc,
'label_bloc' => $label_bloc,
'nomStatut' => $nomStatut,
'indication_anciennete' => $indication_anciennete,
'localisation_siege' => $localisation_siege,
'precision_localisation_complementaire' => $precision_localisation_complementaire,
'type_cession' => $type_cession,
'type_cession_precise' => $type_cession_precise,
'nom_raison_cession' => $nom_raison_cession,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function elementschiffres(Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
if ('' != $annonce['annee_n']) {
$annee_n_aff = $annonce['annee_n'];
$annee_nmoins1_aff = $annonce['annee_n'] - 1;
$annee_nmoins2_aff = $annonce['annee_n'] - 2;
$annee_nplus1_aff = $annonce['annee_n'] + 1;
} else {
$annee_n_aff = 'n';
$annee_nmoins1_aff = 'n-1';
$annee_nmoins2_aff = 'n-2';
$annee_nplus1_aff = 'n+1';
}
$ca_nmoinsdeux = $annonce['ca_nmoinsdeux'] ? (int) $annonce['ca_nmoinsdeux'] : '';
$ca_nmoinsun = $annonce['ca_nmoinsun'] ? (int) $annonce['ca_nmoinsun'] : '';
$ca_n = $annonce['ca_n'] ? $annonce['ca_n'] : '';
$ca_nplusun = $annonce['ca_nplusun'] ? (int) $annonce['ca_nplusun'] : '';
$marge_brute_nmoinsdeux = $annonce['marge_brute_nmoinsdeux'] ? (int) $annonce['marge_brute_nmoinsdeux'] : '';
$marge_brute_nmoinsun = $annonce['marge_brute_nmoinsun'] ? (int) $annonce['marge_brute_nmoinsun'] : '';
$marge_brute_n = (int) $annonce['marge_brute_n'] ? $annonce['marge_brute_n'] : '';
$marge_brute_nplusun = $annonce['marge_brute_nplusun'] ? (int) $annonce['marge_brute_nplusun'] : '';
$EBE_nmoinsdeux = $annonce['EBE_nmoinsdeux'] ? (int) $annonce['EBE_nmoinsdeux'] : '';
$EBE_nmoinsun = $annonce['EBE_nmoinsun'] ? (int) $annonce['EBE_nmoinsun'] : '';
$EBE_n = $annonce['EBE_n'] ? (int) $annonce['EBE_n'] : '';
$EBE_nplusun = $annonce['EBE_nplusun'] ? (int) $annonce['EBE_nplusun'] : '';
$resultat_exploitation_nmoinsdeux = $annonce['resultat_exploitation_nmoinsdeux'] ? (int) $annonce['resultat_exploitation_nmoinsdeux'] : '';
$resultat_exploitation_nmoinsun = $annonce['resultat_exploitation_nmoinsun'] ? (int) $annonce['resultat_exploitation_nmoinsun'] : '';
$resultat_exploitation_n = $annonce['resultat_exploitation_n'] ? (int) $annonce['resultat_exploitation_n'] : '';
$resultat_exploitation_nplusun = $annonce['resultat_exploitation_nplusun'] ? (int) $annonce['resultat_exploitation_nplusun'] : '';
$resultat_net_nmoinsdeux = $annonce['resultat_net_nmoinsdeux'] ? (int) $annonce['resultat_net_nmoinsdeux'] : '';
$resultat_net_nmoinsun = $annonce['resultat_net_nmoinsun'] ? (int) $annonce['resultat_net_nmoinsun'] : '';
$resultat_net_n = $annonce['resultat_net_n'] ? (int) $annonce['resultat_net_n'] : '';
$resultat_net_nplusun = $annonce['resultat_net_nplusun'] ? (int) $annonce['resultat_net_nplusun'] : '';
$nb_personnes_nmoinsdeux = $annonce['nb_personnes_nmoinsdeux'] ? (int) $annonce['nb_personnes_nmoinsdeux'] : '';
$nb_personnes_nmoinsun = $annonce['nb_personnes_nmoinsun'] ? (int) $annonce['nb_personnes_nmoinsun'] : '';
$nb_personnes_n = $annonce['nb_personnes_n'] ? (int) $annonce['nb_personnes_n'] : '';
$nb_personnes_nplusun = $annonce['nb_personnes_nplusun'] ? (int) $annonce['nb_personnes_nplusun'] : '';
// Pour affichage mobile
// Si n+1 est renseignée, on affiche n-1, n et n+1
if ($ca_nplusun != '' || $marge_brute_nplusun != '' || $EBE_nplusun != '' || $resultat_exploitation_nplusun != '' || $resultat_net_nplusun != '' || $nb_personnes_nplusun != '') {
$annee_un_mobile = $annee_nmoins1_aff;
$annee_deux_mobile = $annee_n_aff;
$annee_trois_mobile = $annee_nplus1_aff;
$ca_un_mobile = $ca_nmoinsun;
$ca_deux_mobile = $ca_n;
$ca_trois_mobile = $ca_nplusun;
$marge_un_mobile = $marge_brute_nmoinsun;
$marge_deux_mobile = $marge_brute_n;
$marge_trois_mobile = $marge_brute_nplusun;
$ebe_un_mobile = $EBE_nmoinsun;
$ebe_deux_mobile = $EBE_n;
$ebe_trois_mobile = $EBE_nplusun;
$resultat_un_mobile = $resultat_exploitation_nmoinsun;
$resultat_deux_mobile = $resultat_exploitation_n;
$resultat_trois_mobile = $resultat_exploitation_nplusun;
$resultat_net_un_mobile = $resultat_net_nmoinsun;
$resultat_net_deux_mobile = $resultat_net_n;
$resultat_net_trois_mobile = $resultat_net_nplusun;
$nb_personne_un_mobile = $nb_personnes_nmoinsun;
$nb_personne_deux_mobile = $nb_personnes_n;
$nb_personne_trois_mobile = $nb_personnes_nplusun;
} else {
// Sinon on affiche n-2, n-1 et n
$annee_un_mobile = $annee_nmoins2_aff;
$annee_deux_mobile = $annee_nmoins1_aff;
$annee_trois_mobile = $annee_n_aff;
$ca_un_mobile = $ca_nmoinsdeux;
$ca_deux_mobile = $ca_nmoinsun;
$ca_trois_mobile = $ca_n;
$marge_un_mobile = $marge_brute_nmoinsdeux;
$marge_deux_mobile = $marge_brute_nmoinsun;
$marge_trois_mobile = $marge_brute_n;
$ebe_un_mobile = $EBE_nmoinsdeux;
$ebe_deux_mobile = $EBE_nmoinsun;
$ebe_trois_mobile = $EBE_n;
$resultat_un_mobile = $resultat_exploitation_nmoinsdeux;
$resultat_deux_mobile = $resultat_exploitation_nmoinsun;
$resultat_trois_mobile = $resultat_exploitation_n;
$resultat_net_un_mobile = $resultat_net_nmoinsdeux;
$resultat_net_deux_mobile = $resultat_net_nmoinsun;
$resultat_net_trois_mobile = $resultat_net_n;
$nb_personne_un_mobile = $nb_personnes_nmoinsdeux;
$nb_personne_deux_mobile = $nb_personnes_nmoinsun;
$nb_personne_trois_mobile = $nb_personnes_n;
}
// Fin affichage mobile
$fonds_propres = $annonce['fonds_propres'];
if (null == $annonce['dettes_financieres']) {
$dettes = $annonce['endettement_net_n'];
$intitule_dettes = $translationExtension->translate("endettement net", $lang, '', 'M', '');
} else {
$dettes = $annonce['dettes_financieres'];
if ('NR' == $dettes) {
$dettes = '';
}
$intitule_dettes = $translationExtension->translate("dettes financieres", $lang, '', 'M', '');
}
$tresorerie = $annonce['tresorerie_nette'];
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=3';
$prev = $canonical . '?onglet=1';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'elements chiffres d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les éléments chiffrés de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'elements chiffres d\'une cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les éléments chiffrés de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev)
->setNext($next);
return $this->render('reprendre_entreprise/elements_chiffres.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'annee_nmoins2_aff' => $annee_nmoins2_aff,
'annee_nmoins1_aff' => $annee_nmoins1_aff,
'annee_n_aff' => $annee_n_aff,
'annee_nplus1_aff' => $annee_nplus1_aff,
'ca_nmoinsdeux' => $ca_nmoinsdeux,
'ca_nmoinsun' => $ca_nmoinsun,
'ca_n' => $ca_n,
'ca_nplusun' => $ca_nplusun,
'marge_brute_nmoinsdeux' => $marge_brute_nmoinsdeux,
'marge_brute_nmoinsun' => $marge_brute_nmoinsun,
'marge_brute_n' => $marge_brute_n,
'marge_brute_nplusun' => $marge_brute_nplusun,
'EBE_nmoinsdeux' => $EBE_nmoinsdeux,
'EBE_nmoinsun' => $EBE_nmoinsun,
'EBE_n' => $EBE_n,
'EBE_nplusun' => $EBE_nplusun,
'resultat_exploitation_nmoinsdeux' => $resultat_exploitation_nmoinsdeux,
'resultat_exploitation_nmoinsun' => $resultat_exploitation_nmoinsun,
'resultat_exploitation_n' => $resultat_exploitation_n,
'resultat_exploitation_nplusun' => $resultat_exploitation_nplusun,
'resultat_net_nmoinsdeux' => $resultat_net_nmoinsdeux,
'resultat_net_nmoinsun' => $resultat_net_nmoinsun,
'resultat_net_n' => $resultat_net_n,
'resultat_net_nplusun' => $resultat_net_nplusun,
'nb_personnes_nmoinsdeux' => $nb_personnes_nmoinsdeux,
'nb_personnes_nmoinsun' => $nb_personnes_nmoinsun,
'nb_personnes_n' => $nb_personnes_n,
'nb_personnes_nplusun' => $nb_personnes_nplusun,
'annee_un_mobile' => $annee_un_mobile,
'annee_deux_mobile' => $annee_deux_mobile,
'annee_trois_mobile' => $annee_trois_mobile,
'ca_un_mobile' => $ca_un_mobile,
'ca_deux_mobile' => $ca_deux_mobile,
'ca_trois_mobile' => $ca_trois_mobile,
'marge_un_mobile' => $marge_un_mobile,
'marge_deux_mobile' => $marge_deux_mobile,
'marge_trois_mobile' => $marge_trois_mobile,
'ebe_un_mobile' => $ebe_un_mobile,
'ebe_deux_mobile' => $ebe_deux_mobile,
'ebe_trois_mobile' => $ebe_trois_mobile,
'resultat_un_mobile' => $resultat_un_mobile,
'resultat_deux_mobile' => $resultat_deux_mobile,
'resultat_trois_mobile' => $resultat_trois_mobile,
'resultat_net_un_mobile' => $resultat_net_un_mobile,
'resultat_net_deux_mobile' => $resultat_net_deux_mobile,
'resultat_net_trois_mobile' => $resultat_net_trois_mobile,
'nb_personne_un_mobile' => $nb_personne_un_mobile,
'nb_personne_deux_mobile' => $nb_personne_deux_mobile,
'nb_personne_trois_mobile' => $nb_personne_trois_mobile,
'fonds_propres' => $fonds_propres,
'dettes' => $dettes,
'intitule_dettes' => $intitule_dettes,
'tresorerie' => $tresorerie,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function pointsfortsconcurrence(Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$points_forts = $annonce['points_forts'];
$points_faibles = $annonce['points_faibles'];
$positionnement_marche = '' != $annonce['positionnement_marche'] ? $annonce['positionnement_marche'] : $translationExtension->translate("non precise", $lang, '', 'M', '');
$concurrence = $annonce['concurrence'];
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=4';
$prev = $canonical . '?onglet=2';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'points forts - points faibles d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les points forts et points faibles de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'points forts - points faibles d\'une cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les points forts et points faibles de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev)
->setNext($next);
return $this->render('reprendre_entreprise/points_forts_concurrence.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'points_forts' => $points_forts,
'points_faibles' => $points_faibles,
'positionnement_marche' => $positionnement_marche,
'concurrence' => $concurrence,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function infoscession(Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
$hasServiceSimuElite = false;
if (!empty($user)) {
$hasServiceSimuElite = $this->dm->checkIfThisUserHasDroitService($user, [58, 81]); // 58 = similateur reprise 81 82 fusacq elite
}
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$prix_cession = (int) $annonce['prix_cession'];
$redressement_judiciaire = $annonce['redressement_judiciaire'];
$apport_fp_min = $annonce['apport_fp_min'];
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=5';
$prev = $canonical . '?onglet=3';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'complément d\'information d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les éléments complémentaires de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'complément d\'information d\'une cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les éléments complémentaires de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev)
->setNext($next);
return $this->render('reprendre_entreprise/infos_cession.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'prix_cession' => $prix_cession,
'redressement_judiciaire' => $redressement_judiciaire,
'apport_fp_min' => $apport_fp_min,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce,
'hasServiceSimuElite' => $hasServiceSimuElite
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function infossectorielles(ActualitesManagers $actuManager, Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$dernieresActualitesSecteur = $actuManager->getDernieresActualitesSecteurAnnonceVendeur($idAnnonce);
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=6';
$prev = $canonical . '?onglet=4';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'informations sectorielles d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les informations sectorielles de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'informations sectorielles d\'une cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les informations sectorielles de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev)
->setNext($next);
return $this->render('reprendre_entreprise/infos_sectorielles.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function transactionscomparables(Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ValorisationsManagers $vm, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
}
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$next = $canonical . '?onglet=7';
$prev = $canonical . '?onglet=5';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$index = (int) $request->query->get('index');
$page = (int) $request->query->get('page', 1);
if ($page > 1) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'transactions comparables d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les transactions comparables de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'transactions comparables d\'une cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'consultez les transactions comparables de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev)
->setNext($next);
return $this->render('reprendre_entreprise/transactions_comparables.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'valorisations' => $valorisations,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'index' => $index,
'indexPrevious' => $index - 1,
'indexNext' => $index + 1,
'fromAlaUne' => $fromAlaUne,
'lang' => $lang,
'type_annonce' => $type_annonce
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function contacterdeposant(Request $request, TranslationExtension $translationExtension, LocalisationsManagers $localisationManager, ValorisationsManagers $vm, $idAnnonce, $codePays): Response {
$user = $this->getUser();
$login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, $login_utilisateur);
$session = $request->getSession();
$lignePanier = null;
$dejaCommande = null;
$forfaitAUtiliser = null;
$hasForfait = false;
if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
$lang = $request->getSession()->get('lang');
$secteurActivite = $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
if ('99' == substr($annonce['statuts'], 0, 2)) {
$typeCession = $translationExtension->translate("cession d'actif", $lang, '', 'M', '');
$type_annonce = "actif";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_actif');
$typeAnnoncePanier = "annonce_V_actif";
} else {
$typeCession = $translationExtension->translate("cession d'entreprise", $lang, '', 'M', '');
$type_annonce = "entreprise";
$liste_id_annonces = $request->getSession()->get('liste_id_annonce_cession_entreprise');
$typeAnnoncePanier = "annonce_V_cession";
}
if (3 == $annonce['id_raison_cession']) {
$typeCession = $translationExtension->translate("levee de fonds", $lang, '', 'M', '');
$typeAnnoncePanier = "annonce_V_levee_de_fonds";
}
if ($session) {
$userIdentity = $session->get('user');
if (!empty($userIdentity)) {
$lignePanier = $this->em->getRepository(Panier::class)->findOneBy(
['login_utilisateur' => $userIdentity->_get('login_utilisateur'), "type_object" => $typeAnnoncePanier, "id_object" => $idAnnonce]
);
$dejaCommande = $this->cm->hasAnnonceCommande($userIdentity->_get('login_utilisateur'), $idAnnonce, 'vendeur');
$forfaitAUtiliser = $this->dm->getFrofaitAnnonceToUse($userIdentity);
if (!empty($forfaitAUtiliser)) {
$hasForfait = true;
}
}
}
$valorisations = $vm->donne_valorisations_du_secteur($idAnnonce);
$http_host = $request->server->get('HTTP_HOST');
$url = substr($request->server->get('REDIRECT_URL'), 0, -4);
$canonical = $http_host . $url;
$prev = $canonical . '?onglet=6';
$parametres = $request->query->all();
$parametres = ParametersProvider::prepareRechercheAvanceeParameters($parametres);
$string_params = $this->serializeParams($parametres);
$page = $request->query->get('page', 1);
if ($page != null) {
$string_params .= "&page=" . $page;
}
$urlList = $request->query->get('urlList');
$urlRetourList = $urlList ? $urlList . '?' . $string_params : null;
$index = (int) $request->query->get('index');
$previousAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index - 1);
$nextAnnonce = $this->am->getIndexNAnnonceFromCessionList($parametres, $type_annonce, $page, $index + 1);
$fromAlaUne = $request->query->get('fromAlaUne');
$arrayVarsTrans = [];
$arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
$arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
if ($type_annonce == "entreprise") {
$metaTitle = 'contacter le déposant d\'une reprise - cession d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'contactez le déposant de l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
} else {
$metaTitle = 'contacter le déposant d\'une annonce de cession d\'actif, %$titre_annonce%$ - %$nom_localisation%$ ';
$metaDescription = 'contactez le déposant de l\'annonce de cession d\'actif : %$titre_annonce%$ - %$nom_localisation%$ ';
}
$metaTag = $this->metaTag
->setTitle($translationExtension->translate($metaTitle, $lang, "", "M", "", $arrayVarsTrans))
->setDescription($translationExtension->translate($metaDescription, $lang, "", "M", "", $arrayVarsTrans))
->setCanonical($canonical)
->setPrev($prev);
return $this->render('reprendre_entreprise/contacter_deposant.html.twig', [
'metaTag' => $metaTag,
'annonce' => $annonce,
'secteurActivite' => $secteurActivite,
'typeCession' => $typeCession,
'valorisations' => $valorisations,
'urlList' => $urlList,
'urlRetourList' => $urlRetourList,
'string_params' => $string_params,
'previousAnnonce' => $previousAnnonce,
'nextAnnonce' => $nextAnnonce,
'fromAlaUne' => $fromAlaUne,
'lignePanier' => $lignePanier,
'dejaCommande' => $dejaCommande,
'forfaitAUtiliser' => $forfaitAUtiliser,
'hasForfait' => $hasForfait,
'lang' => $lang,
'typeAnnoncePanier' => $typeAnnoncePanier,
'index' => $index,
]);
} else {
return $this->redirectToRoute('index', ['codePays' => substr($codePays, 1, 2)]);
}
}
public function imprimerAnnonceVendeur($idAnnonce, $codePays, $lang, TranslationExtension $translationExtension, CommandesRepository $cr, TelephoneInternational $ti, CommandesManagers $cm) {
$user = $this->getUser();
$annonce = $this->am->getAnnonceVendeurById($idAnnonce, null, false);
$coordonnees = [];
$annee_passee = false; // Variable pour savoir si 1 an est passé depuis la commande, si oui, on n'affiche pas les coordonnées complètes (RGPD)
$hasServiceElite = false;
if (empty($user) && 'publique_elite' == $annonce['mode_annonce']) {
$this->denyAccessUnlessGranted('ROLE_USER');
}
if ($annonce == null) {
throw $this->createNotFoundException('Annonce introuvable');
}
if (!empty($user)) {
$hasServiceElite = $this->dm->checkIfThisUserHasDroitService($user, [81]); // 58 = similateur reprise 81 82 fusacq elite
}
// Si l'utilisateur a déjà commandé cette annonce
if ($user && $cr->hasAnnonceCommande($user->_get('login_utilisateur'), $idAnnonce, "vendeur")) {
$coordonnees['nom_contact'] = $annonce['nom_contact'];
$coordonnees['email'] = $annonce['email'];
$indicatif = $annonce['indicatif_telephone'] ? $annonce['indicatif_telephone'] : "33";
$coordonnees['telephone'] = $annonce['telephone'] ? $ti->getInternationalPhone($annonce['telephone'], $indicatif)['affichage'] : null;
$coordonnees['commentaires'] = $annonce['commentaires'];
$commande = $cm->getArrayCommandeByIdElement($idAnnonce, "vendeur");
if ($commande) {
$annee_passee = $commande['annee_passee'];
}
} elseif ('publique' != $annonce['mode_annonce'] && (!$hasServiceElite || 'publique_elite' != $annonce['mode_annonce'])) {
throw $this->createNotFoundException('Annonce introuvable');
}
$idStatut = $annonce['statuts'];
$nom_type_cession = $translationExtension->translate("forme juridique", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation du siege", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("fiche d'identite de la societe", $lang, '', 'M', '');
if ('99' == substr($idStatut, 0, 2)) {
$nom_type_cession = $translationExtension->translate("type d'actif", $lang, '', 'M', '');
$tag_loc = $translationExtension->translate("localisation", $lang, '', 'M', '');
$label_bloc = $translationExtension->translate("designation de l'actif", $lang, '', 'M', '');
}
if ('' != $annonce['annee_n']) {
$annee_n_aff = $annonce['annee_n'];
$annee_nmoins1_aff = $annonce['annee_n'] - 1;
$annee_nmoins2_aff = $annonce['annee_n'] - 2;
$annee_nplus1_aff = $annonce['annee_n'] + 1;
} else {
$annee_n_aff = 'n';
$annee_nmoins1_aff = 'n-1';
$annee_nmoins2_aff = 'n-2';
$annee_nplus1_aff = 'n+1';
}
$ca_nmoinsdeux = $annonce['ca_nmoinsdeux'] ? (int) $annonce['ca_nmoinsdeux'] : '';
$ca_nmoinsun = $annonce['ca_nmoinsun'] ? (int) $annonce['ca_nmoinsun'] : '';
$ca_n = $annonce['ca_n'] ? $annonce['ca_n'] : '';
$ca_nplusun = $annonce['ca_nplusun'] ? (int) $annonce['ca_nplusun'] : '';
$marge_brute_nmoinsdeux = $annonce['marge_brute_nmoinsdeux'] ? (int) $annonce['marge_brute_nmoinsdeux'] : '';
$marge_brute_nmoinsun = $annonce['marge_brute_nmoinsun'] ? (int) $annonce['marge_brute_nmoinsun'] : '';
$marge_brute_n = (int) $annonce['marge_brute_n'] ? $annonce['marge_brute_n'] : '';
$marge_brute_nplusun = $annonce['marge_brute_nplusun'] ? (int) $annonce['marge_brute_nplusun'] : '';
$EBE_nmoinsdeux = $annonce['EBE_nmoinsdeux'] ? (int) $annonce['EBE_nmoinsdeux'] : '';
$EBE_nmoinsun = $annonce['EBE_nmoinsun'] ? (int) $annonce['EBE_nmoinsun'] : '';
$EBE_n = $annonce['EBE_n'] ? (int) $annonce['EBE_n'] : '';
$EBE_nplusun = $annonce['EBE_nplusun'] ? (int) $annonce['EBE_nplusun'] : '';
$resultat_exploitation_nmoinsdeux = $annonce['resultat_exploitation_nmoinsdeux'] ? (int) $annonce['resultat_exploitation_nmoinsdeux'] : '';
$resultat_exploitation_nmoinsun = $annonce['resultat_exploitation_nmoinsun'] ? (int) $annonce['resultat_exploitation_nmoinsun'] : '';
$resultat_exploitation_n = $annonce['resultat_exploitation_n'] ? (int) $annonce['resultat_exploitation_n'] : '';
$resultat_exploitation_nplusun = $annonce['resultat_exploitation_nplusun'] ? (int) $annonce['resultat_exploitation_nplusun'] : '';
$resultat_net_nmoinsdeux = $annonce['resultat_net_nmoinsdeux'] ? (int) $annonce['resultat_net_nmoinsdeux'] : '';
$resultat_net_nmoinsun = $annonce['resultat_net_nmoinsun'] ? (int) $annonce['resultat_net_nmoinsun'] : '';
$resultat_net_n = $annonce['resultat_net_n'] ? (int) $annonce['resultat_net_n'] : '';
$resultat_net_nplusun = $annonce['resultat_net_nplusun'] ? (int) $annonce['resultat_net_nplusun'] : '';
$nb_personnes_nmoinsdeux = $annonce['nb_personnes_nmoinsdeux'] ? (int) $annonce['nb_personnes_nmoinsdeux'] : '';
$nb_personnes_nmoinsun = $annonce['nb_personnes_nmoinsun'] ? (int) $annonce['nb_personnes_nmoinsun'] : '';
$nb_personnes_n = $annonce['nb_personnes_n'] ? (int) $annonce['nb_personnes_n'] : '';
$nb_personnes_nplusun = $annonce['nb_personnes_nplusun'] ? (int) $annonce['nb_personnes_nplusun'] : '';
if (is_numeric($annonce['fonds_propres'])) {
$fonds_propres = number_format($annonce['fonds_propres'], 0, ',', ' ');
} else {
$fonds_propres = $annonce['fonds_propres'];
}
if (null == $annonce['dettes_financieres']) {
if (is_numeric($annonce['endettement_net_n'])) {
$dettes = number_format($annonce['endettement_net_n'], 0, ',', ' ');
} else {
$dettes = $annonce['endettement_net_n'];
}
$intitule_dettes = $translationExtension->translate("endettement net", $lang, '', 'M', '');
} else {
$dettes = $annonce['dettes_financieres'];
if ('NR' == $dettes) {
$dettes = '';
}
$intitule_dettes = $translationExtension->translate("dettes financieres", $lang, '', 'M', '');
}
if (is_numeric($annonce['tresorerie_nette'])) {
$tresorerie = number_format($annonce['tresorerie_nette'], 0, ',', ' ');
} else {
$tresorerie = $annonce['tresorerie_nette'];
}
$type_cession = $annonce['type_cession'];
$type_cession_precise = true;
if ('' == $type_cession) {
$type_cession = $translationExtension->translate("non precise", $lang, '', 'm', '');
$type_cession_precise = false;
} elseif ('indifferent' == mb_strtolower($type_cession)) {
$type_cession = $translationExtension->translate("minoritaire ou majoritaire", $lang, '', 'M', '');
}
$raisonsCession = $this->getDoctrine()->getRepository(RaisonsCession::class)->findOneBy(['id_raison_cession' => $annonce['id_raison_cession']]);
if (isset($raisonsCession)) {
$nom_raison_cession = $raisonsCession->nom_raison_cession;
} else {
$nom_raison_cession = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
if ($annonce['raison_cession'] != "") {
$raison_cession = $annonce['raison_cession'];
} else {
$raison_cession = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
if ($annonce['statuts'] != 0) {
$statutRepository = $this->getDoctrine()->getRepository(Statuts::class);
$statut = $statutRepository->getStatusByIdStatut($annonce['statuts']);
if ($statut != null) {
$nom_statut = $statut->_get('nom_statut');
} else {
$nom_statut = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
} else {
$nom_statut = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
$indication_anciennete = null;
if ('' != $annonce['date_creation_societe']) {
$anciennete = date('Y') - $annonce['date_creation_societe'];
if ($anciennete < 5) {
$indication_anciennete = $translationExtension->translate("moins de 5 ans", $lang, '', 'M', '');
} else {
if ($anciennete <= 10) {
$indication_anciennete = $translationExtension->translate("entre 5 et 10 ans", $lang, '', 'M', '');
} else {
$indication_anciennete = $translationExtension->translate("plus de 10 ans", $lang, '', 'M', '');
}
}
}
$precision_localisation_complementaire = null;
if ('_99' == substr($annonce['id_region'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("region", $lang, '', 'M', '');
} elseif ('_99' == substr($annonce['id_departement'], -3)) {
$precision_localisation_complementaire = $translationExtension->translate("departement", $lang, '', 'M', '');
}
if ($annonce["concurrence"] != null) {
$concurrence = $annonce["concurrence"];
} else {
$concurrence = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
if ($annonce["positionnement_marche"] != null) {
$positionnement_marche = $annonce["positionnement_marche"];
} else {
$positionnement_marche = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
if ($annonce["points_forts"] != null) {
$points_forts = $annonce["points_forts"];
} else {
$points_forts = $translationExtension->translate("non précisé", $lang, '', 'M', '');
}
$points_faibles = $annonce["points_faibles"];
$elements_complementaires = [];
if (!$annonce['prix_cession']) {
$elements_complementaires[] = $translationExtension->translate("prix de cession souhaité : Le vendeur n'a pas souhaité préciser le prix de cession.", $lang, '', 'M', '');
if ($annonce['immobilier_dans_prix_cession'] == "oui") {
$elements_complementaires[] = $translationExtension->translate("l'immobilier est compris dans la cession.", $lang, '', 'M', '');
}
} else {
$elements_complementaires[] = $translationExtension->translate("prix de cession souhaité", $lang, '', 'M', '') . ' ' . number_format($annonce['prix_cession'], 0, ',', ' ') . "k€";
if ($annonce['immobilier_dans_prix_cession'] == "oui") {
$elements_complementaires[] = $translationExtension->translate("l'immobilier est compris dans la cession.", $lang, '', 'M', '');
}
}
if ($annonce["redressement_judiciaire"] == "oui") {
$elements_complementaires[] = $translationExtension->translate('cette société est en redressement judiciaire', $lang, '', 'M', '');
}
if ($annonce["elements_complementaires"] != "") {
$elements_complementaires[] = nl2br($annonce["elements_complementaires"]);
}
$profil_repreneur = [];
if ($annonce["profil_repreneur_checkbox"] != null && $annonce["profil_repreneur_recherche"] != "") {
$profilRepreneurRecherche = trim($annonce["profil_repreneur_checkbox"]);
if (strpos($profilRepreneurRecherche, "physique") !== false) {
$profil_repreneur[] = $translationExtension->translate('personne physique', $lang, '', 'M', '');
}
if (strpos($profilRepreneurRecherche, "morale") !== false) {
$profil_repreneur[] = $translationExtension->translate('personne morale', $lang, '', 'M', '');
}
if (strpos($profilRepreneurRecherche, "investissement") !== false) {
$profil_repreneur[] = $translationExtension->translate('investissement', $lang, '', 'M', '');
}
}
$apport_fp_min = trim($annonce["apport_fp_min"]) ? number_format(trim($annonce["apport_fp_min"]), 0, ',', ' ') . " k€" : null;
$profil_repreneur_recherche = $annonce['profil_repreneur_recherche'];
$prix_cession = number_format($annonce['prix_cession'], 0, ',', ' ');
return $this->pf->generatePDFviewBrowser(
'templates_pdf/reprendre_entreprise/annonce_vendeur_details.html.twig',
[
'lang' => $lang,
'annonce' => $annonce,
'nom_type_cession' => $nom_type_cession,
'tag_loc' => $tag_loc,
'label_bloc' => $label_bloc,
'nom_statut' => $nom_statut,
'indication_anciennete' => $indication_anciennete,
'annee_nmoins2_aff' => $annee_nmoins2_aff,
'annee_nmoins1_aff' => $annee_nmoins1_aff,
'annee_n_aff' => $annee_n_aff,
'annee_nplus1_aff' => $annee_nplus1_aff,
'ca_nmoinsdeux' => $ca_nmoinsdeux,
'ca_nmoinsun' => $ca_nmoinsun,
'ca_n' => $ca_n,
'ca_nplusun' => $ca_nplusun,
'marge_brute_nmoinsdeux' => $marge_brute_nmoinsdeux,
'marge_brute_nmoinsun' => $marge_brute_nmoinsun,
'marge_brute_n' => $marge_brute_n,
'marge_brute_nplusun' => $marge_brute_nplusun,
'EBE_nmoinsdeux' => $EBE_nmoinsdeux,
'EBE_nmoinsun' => $EBE_nmoinsun,
'EBE_n' => $EBE_n,
'EBE_nplusun' => $EBE_nplusun,
'resultat_exploitation_nmoinsdeux' => $resultat_exploitation_nmoinsdeux,
'resultat_exploitation_nmoinsun' => $resultat_exploitation_nmoinsun,
'resultat_exploitation_n' => $resultat_exploitation_n,
'resultat_exploitation_nplusun' => $resultat_exploitation_nplusun,
'resultat_net_nmoinsdeux' => $resultat_net_nmoinsdeux,
'resultat_net_nmoinsun' => $resultat_net_nmoinsun,
'resultat_net_n' => $resultat_net_n,
'resultat_net_nplusun' => $resultat_net_nplusun,
'nb_personnes_nmoinsdeux' => $nb_personnes_nmoinsdeux,
'nb_personnes_nmoinsun' => $nb_personnes_nmoinsun,
'nb_personnes_n' => $nb_personnes_n,
'nb_personnes_nplusun' => $nb_personnes_nplusun,
'fonds_propres' => $fonds_propres,
'dettes' => $dettes,
'intitule_dettes' => $intitule_dettes,
'tresorerie' => $tresorerie,
'type_cession' => $type_cession,
'nom_raison_cession' => $nom_raison_cession,
'raison_cession' => $raison_cession,
'concurrence' => $concurrence,
'positionnement_marche' => $positionnement_marche,
'points_forts' => $points_forts,
'points_faibles' => $points_faibles,
'elements_complementaires' => $elements_complementaires,
'profil_repreneur' => $profil_repreneur,
'apport_fp_min' => $apport_fp_min,
'profil_repreneur_recherche' => $profil_repreneur_recherche,
'prix_cession' => $prix_cession,
'precision_localisation_complementaire' => $precision_localisation_complementaire,
'type_cession_precise' => $type_cession_precise,
'coordonnees' => $coordonnees,
'annee_passee' => $annee_passee
],
'annonce_v' . $annonce['id_annonce_vendeur'],
'annonce_vendeur_title'
);
}
private function serializeParams($parametres) {
$string_params = "";
foreach ($parametres as $name => $value) {
if ($name != "rechercher" && $name != "type" && $name != "array_localisation") {
if ($string_params == "") {
$string_params .= $name . "=" . $value;
} else {
$string_params .= "&" . $name . "=" . $value;
}
}
}
return $string_params;
}
private function getAnnoncesNumbers($parametres) {
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
$nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
$nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
$nb_entreprises = $nb_annonces_cessions - $nb_actifs;
$nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
$nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
$nb_annonces = $nb_annonces_cessions + $nb_cibles_potentielles + $nb_recherches_partenariats;
$nb_annonces_sans_cibles_potentielles = $nb_annonces_cessions + $nb_recherches_partenariats;
return [
'nb_annonces_cessions' => $nb_annonces_cessions,
'nb_actifs' => $nb_actifs,
'nb_entreprises' => $nb_entreprises,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariats' => $nb_recherches_partenariats,
'nb_annonces' => $nb_annonces,
'nb_annonces_sans_cibles_potentielles' => $nb_annonces_sans_cibles_potentielles
];
}
private function getNbAnnoncesBySecteursActivite($type = "entreprise") {
$secteurs = $this->sam->getListeSecteursActiviteOrderedByIdPere();
$array_result = [];
if ($type == "entreprise") {
$repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
$annonces_secteur = $repoVendeur->donne_tableau_annonces_vente_par_secteur_niveau2($type);
} elseif ($type == "cible_potentielle") {
$repoSociete = $this->getDoctrine()->getRepository(Societes::class);
$annonces_secteur = $repoSociete->donne_tableau_cibles_potentielles_par_secteur();
}
foreach ($secteurs[0] as $id_secteur_pere => $secteur_pere) {
$row = [];
$nb_annonce_row = 0;
$row[0] = ['id_secteur_activite' => $id_secteur_pere, 'nom_secteur_activite' => $secteur_pere['nomSecteurActivite'], 'nom_pour_title' => $secteur_pere['nomPourTitle'], 'nb' => 0];
foreach ($secteurs[$id_secteur_pere] as $id_secteur => $secteur) {
$data = ['id_secteur_activite' => $id_secteur, 'nom_secteur_activite' => $secteur['nomSecteurActivite'], 'nom_pour_title' => $secteur['nomPourTitle']];
$data['nb'] = isset($annonces_secteur[$id_secteur]) ? $annonces_secteur[$id_secteur] : 0;
$row[] = $data;
$nb_annonce_row += $data['nb'];
}
$row[0]['nb'] = $nb_annonce_row;
$array_result[] = $row;
}
return $array_result;
}
private function donneNomLocalisationPourTitle($annonce) {
$nom_localisation = "";
if (isset($annonce['nom_localisation_niveau_2']) && $annonce['nom_localisation_niveau_2'] != "Confidentiel") {
$nom_localisation .= $annonce['nom_localisation_niveau_2'] . ', ';
}
if (isset($annonce['nom_localisation_niveau_1']) && $annonce['nom_localisation_niveau_1'] != "Confidentiel") {
$nom_localisation .= $annonce['nom_localisation_niveau_1'] . ', ';
}
if (isset($annonce['nom_localisation_niveau_0']) && $annonce['nom_localisation_niveau_0'] != "Confidentiel") {
$nom_localisation .= $annonce['nom_localisation_niveau_0'];
}
return $nom_localisation;
}
/**
*
* @param type $codePays
* @return type
*/
private function getVersionByCodePays($codePays) {
return Utils::codePaysWithoutDash($codePays);
}
/**
* @param type $codePays
* @return type
*/
private function getIdPaysByCodePays($codePays) {
return $this->container->get("id_pays_by_code_pays")->getIdPaysByCodePays($codePays);
}
}