feat(overtime-contingent) : contingent d'heures supplémentaires payées #29

Merged
tristan merged 12 commits from feat/overtime-paid-contingent into develop 2026-06-11 15:47:19 +00:00
Showing only changes of commit 0ef1577ccd - Show all commits
@@ -12,7 +12,7 @@ use Doctrine\Persistence\ManagerRegistry;
/**
* @extends ServiceEntityRepository<EmployeeRttPayment>
*/
final class EmployeeRttPaymentRepository extends ServiceEntityRepository
class EmployeeRttPaymentRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
@@ -60,4 +60,31 @@ final class EmployeeRttPaymentRepository extends ServiceEntityRepository
->getResult()
;
}
/**
* Paiements de plusieurs employés sur plusieurs exercices (fetch groupé,
* évite le N+1 sur l'export PDF). Jointure employé chargée.
*
* @param list<Employee> $employees
* @param list<int> $years années d'exercice
*
* @return EmployeeRttPayment[]
*/
public function findByEmployeesAndYears(array $employees, array $years): array
{
if ([] === $employees || [] === $years) {
return [];
}
return $this->createQueryBuilder('p')
->andWhere('p.employee IN (:employees)')
->andWhere('p.year IN (:years)')
->setParameter('employees', $employees)
->setParameter('years', $years)
->innerJoin('p.employee', 'e')
->addSelect('e')
->getQuery()
->getResult()
;
}
}