priceListRepository = $priceListRepository; $this->filialRepository = $filialRepository; } public function getFilteredPriceListQuery(array $filters): QueryBuilder { $filters['actual'] = true; if (empty($filters['filial'])) { $filters['filial'] = $this->getCurrentFilialIds(); } $priceListQuery = $this->priceListRepository->createFilteredQueryBuilder($filters); return $priceListQuery; } public function getPriceListQuery(array $filters): QueryBuilder { $priceListQuery = $this->priceListRepository->createFilteredQueryBuilder($filters); return $priceListQuery; } private function getCurrentFilialIds(): array { $filials = $this->filialRepository->findByRegion(Region::getCurrentName()); return array_map(function ($filial) { return $filial->getFid(); }, $filials); } }