fix: find destinations by hotel code in favor of ids

This commit is contained in:
Björn Fromme
2024-12-03 10:22:05 +01:00
parent 40a9f24435
commit 30274121c1
3 changed files with 12 additions and 31 deletions
+9 -11
View File
@@ -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()
;
}