feat: multiple hotelcodes assignable to users
This commit is contained in:
@@ -148,8 +148,10 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function findNewDispositionsByHotelCode(string $hotelCode): array
|
||||
public function findNewDispositionsByHotelCodes(mixed $hotelCode): array
|
||||
{
|
||||
$hotelCodes = (array) $hotelCode;
|
||||
|
||||
$qb = $this->createQueryBuilder('disposition');
|
||||
|
||||
return $qb
|
||||
@@ -157,12 +159,15 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
->innerJoin('disposition.assignment', 'assignment')
|
||||
->innerJoin('assignment.destination', 'destination')
|
||||
->where($qb->expr()->andX(
|
||||
$qb->expr()->like('destination.hotelCode', ':hotelCode'),
|
||||
$qb->expr()->orX(
|
||||
$qb->expr()->in($qb->expr()->substring('destination.hotelCode', 1, 3), ':hotelCodes'),
|
||||
$qb->expr()->in($qb->expr()->substring('destination.hotelCode', -3, 3), ':hotelCodes'),
|
||||
),
|
||||
$qb->expr()->gte('destination.dateTo', ':dateTo'),
|
||||
$qb->expr()->eq('disposition.status', ':status')
|
||||
))
|
||||
->orderBy('destination.dateFrom', 'ASC')
|
||||
->setParameter('hotelCode', '%'.$hotelCode.'%')
|
||||
->setParameter('hotelCodes', $hotelCodes)
|
||||
->setParameter('dateTo', new \DateTimeImmutable())
|
||||
->setParameter('status', Disposition::STATUS_CONFIRMED)
|
||||
->getQuery()
|
||||
@@ -170,8 +175,10 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function getDispositionsWithPendingFeedbackQuery(?string $hotelCode = null, ?int $offsetDays = null): Query
|
||||
public function getDispositionsWithPendingFeedbackQuery(mixed $hotelCode = null, ?int $offsetDays = null): Query
|
||||
{
|
||||
$hotelCodes = (array) $hotelCode;
|
||||
|
||||
$qb = $this->createQueryBuilder('disposition');
|
||||
|
||||
$qb
|
||||
@@ -201,8 +208,11 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
|
||||
if (null !== $hotelCode) {
|
||||
$qb
|
||||
->andWhere($qb->expr()->like('destination.hotelCode', ':hotelCode'))
|
||||
->setParameter('hotelCode', '%'.$hotelCode.'%')
|
||||
->andWhere($qb->expr()->orX(
|
||||
$qb->expr()->in($qb->expr()->substring('destination.hotelCode', 1, 3), ':hotelCodes'),
|
||||
$qb->expr()->in($qb->expr()->substring('destination.hotelCode', -3, 3), ':hotelCodes'),
|
||||
))
|
||||
->setParameter('hotelCodes', $hotelCodes)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -217,7 +227,7 @@ class DispositionRepository extends ServiceEntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function findDispositionsWithPendingFeedbackByHotelCode(string $hotelCode): array
|
||||
public function findDispositionsWithPendingFeedbackByHotelCodes(mixed $hotelCode): array
|
||||
{
|
||||
return $this
|
||||
->getDispositionsWithPendingFeedbackQuery($hotelCode)
|
||||
|
||||
Reference in New Issue
Block a user