From 80572f2a9f0b6f6e93ce122d23e7ff9e618faf90 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Mon, 18 Feb 2019 12:17:45 +0100 Subject: [PATCH] Ajout de la source dans la recherche d'individu --- src/Octopus/Entity/Db/Source.php | 8 ++++++++ src/Octopus/Service/Individu/IndividuService.php | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Octopus/Entity/Db/Source.php b/src/Octopus/Entity/Db/Source.php index c48bed5..ac60899 100644 --- a/src/Octopus/Entity/Db/Source.php +++ b/src/Octopus/Entity/Db/Source.php @@ -3,6 +3,14 @@ namespace Octopus\Entity\Db; class Source { + + const SOURCE_APOGEE = "APO"; + const SOURCE_HARPEGE = "HARP"; + const SOURCE_FCA = "FCA"; + const SOURCE_OCTO = "OCTO"; + const SOURCE_INV = "INV"; + + /** @var string */ private $cSource; /** @var string */ diff --git a/src/Octopus/Service/Individu/IndividuService.php b/src/Octopus/Service/Individu/IndividuService.php index ea9443e..13f84a0 100644 --- a/src/Octopus/Service/Individu/IndividuService.php +++ b/src/Octopus/Service/Individu/IndividuService.php @@ -48,16 +48,23 @@ class IndividuService { /** * @param string $term + * @param string $sourceCode * @return Individu[] */ - public function getIndividusByTerm($term) + public function getIndividusByTerm($term, $sourceCode = null) { $qb = $this->getEntityManager()->getRepository(Individu::class)->createQueryBuilder('individu') + ->addSelect('source')->join('individu.source', 'source') ->andWhere('individu.nomUsage LIKE :search') ->setParameter('search', '%'.$term.'%') ->orderBy('individu.nomUsage, individu.prenom') ; + if ($sourceCode) { + $qb = $qb->andWhere('source.cSource = :sourceCode') + ->setParameter('sourceCode', $sourceCode); + } + $result = $qb->getQuery()->getResult(); return $result; } -- GitLab