fix: find destinations by hotel code in favor of ids
This commit is contained in:
@@ -5,10 +5,8 @@ namespace App\Repository;
|
||||
use App\Entity\Assignment;
|
||||
use App\Entity\Disposition;
|
||||
use App\Entity\Teamer;
|
||||
use App\Entity\Upload;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\ORM\Query;
|
||||
use Doctrine\ORM\Query\Expr\Join;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
@@ -150,7 +148,7 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function findNewDispositionsByHotelBusProIds(array $hotelBusProIds): array
|
||||
public function findNewDispositionsByHotelCode(string $hotelCode): array
|
||||
{
|
||||
$qb = $this->createQueryBuilder('disposition');
|
||||
|
||||
@@ -159,12 +157,12 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
->innerJoin('disposition.assignment', 'assignment')
|
||||
->innerJoin('assignment.destination', 'destination')
|
||||
->where($qb->expr()->andX(
|
||||
$qb->expr()->in('destination.hotelBusProId', ':hotelBusProIds'),
|
||||
$qb->expr()->like('destination.hotelCode', ':hotelCode'),
|
||||
$qb->expr()->gte('destination.dateTo', ':dateTo'),
|
||||
$qb->expr()->eq('disposition.status', ':status')
|
||||
))
|
||||
->orderBy('destination.dateFrom', 'ASC')
|
||||
->setParameter('hotelBusProIds', $hotelBusProIds)
|
||||
->setParameter('hotelCode', '%'.$hotelCode.'%')
|
||||
->setParameter('dateTo', new \DateTimeImmutable())
|
||||
->setParameter('status', Disposition::STATUS_CONFIRMED)
|
||||
->getQuery()
|
||||
@@ -172,7 +170,7 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function getDispositionsWithPendingFeedbackQuery(array $hotelBusProIds = null): Query
|
||||
public function getDispositionsWithPendingFeedbackQuery(?string $hotelCode = null): Query
|
||||
{
|
||||
$qb = $this->createQueryBuilder('disposition');
|
||||
|
||||
@@ -196,10 +194,10 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
->setParameter('dateTo', new \DateTimeImmutable())
|
||||
;
|
||||
|
||||
if (null !== $hotelBusProIds) {
|
||||
if (null !== $hotelCode) {
|
||||
$qb
|
||||
->andWhere($qb->expr()->in('destination.hotelBusProId', ':hotelBusProIds'))
|
||||
->setParameter('hotelBusProIds', $hotelBusProIds)
|
||||
->andWhere($qb->expr()->like('destination.hotelCode', ':hotelCode'))
|
||||
->setParameter('hotelCode', '%'.$hotelCode.'%')
|
||||
;
|
||||
}
|
||||
|
||||
@@ -214,10 +212,10 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function findDispositionsWithPendingFeedbackByHotelBusProIds(array $hotelBusProIds): array
|
||||
public function findDispositionsWithPendingFeedbackByHotelCode(string $hotelCode): array
|
||||
{
|
||||
return $this
|
||||
->getDispositionsWithPendingFeedbackQuery($hotelBusProIds)
|
||||
->getDispositionsWithPendingFeedbackQuery($hotelCode)
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user