diff --git a/vendor/magento/module-requisition-list-graph-ql/Model/RequisitionList/GetRequisitionList.php b/vendor/magento/module-requisition-list-graph-ql/Model/RequisitionList/GetRequisitionList.php index b6e67ec6ed6..803781722f5 100644 --- a/vendor/magento/module-requisition-list-graph-ql/Model/RequisitionList/GetRequisitionList.php +++ b/vendor/magento/module-requisition-list-graph-ql/Model/RequisitionList/GetRequisitionList.php @@ -1,7 +1,18 @@ getFilters($customerId, true, $args); + $builderCount = $this->getFilters($customerId, $args); $countLists = $this->repository->getList($builderCount->create())->getTotalCount(); - $builder = $this->getFilters($customerId, false, $args); + $builder = $this->getFilters($customerId, $args); $builder->setPageSize($pageSize)->setCurrentPage($currentPage); $lists = $this->repository->getList($builder->create())->getItems(); $data = [ - 'total_count' => count($lists), + 'total_count' => $countLists, 'items' => [], 'page_info' => [ 'page_size' => $pageSize, @@ -123,53 +134,48 @@ public function execute(int $customerId, array $args): array * Get Filters * * @param int $customerId - * @param bool $isTotal * @param array $args * @return SearchCriteriaBuilder * * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ - private function getFilters(int $customerId, bool $isTotal, array $args = []) + private function getFilters(int $customerId, array $args = []) { $filtersGiven = isset($args['filter']) ? $args['filter'] : []; $filters = []; - if (!$isTotal) { - if (isset($filtersGiven['uids'])) { - if (key($filtersGiven['uids']) == 'eq' || key($filtersGiven['uids']) == 'in') { - $reqIds = []; - if (is_array($filtersGiven['uids'][key($filtersGiven['uids'])])) { - foreach ($filtersGiven['uids'][key($filtersGiven['uids'])] as $id) { - $reqIds[] = $this->idEncoder->decode($id); - } - } else { - $reqIds = $this->idEncoder->decode($filtersGiven['uids'][key($filtersGiven['uids'])]); + if (isset($filtersGiven['uids'])) { + if (key($filtersGiven['uids']) == 'eq' || key($filtersGiven['uids']) == 'in') { + $reqIds = []; + if (is_array($filtersGiven['uids'][key($filtersGiven['uids'])])) { + foreach ($filtersGiven['uids'][key($filtersGiven['uids'])] as $id) { + $reqIds[] = $this->idEncoder->decode($id); } - - $filters[] = $this->filterBuilder - ->setField(RequisitionListInterface::REQUISITION_LIST_ID) - ->setConditionType(key($filtersGiven['uids'])) - ->setValue($reqIds) - ->create(); + } else { + $reqIds = $this->idEncoder->decode($filtersGiven['uids'][key($filtersGiven['uids'])]); } + + $filters[] = $this->filterBuilder + ->setField(RequisitionListInterface::REQUISITION_LIST_ID) + ->setConditionType(key($filtersGiven['uids'])) + ->setValue($reqIds) + ->create(); } + } - if (isset($filtersGiven['name'])) { - if (key($filtersGiven['name']) == 'match') { - $filters[] = $this->filterBuilder - ->setField(RequisitionListInterface::NAME) - ->setConditionType('like') - ->setValue($filtersGiven['name'][key($filtersGiven['name'])]) - ->create(); - } + if (isset($filtersGiven['name'])) { + if (key($filtersGiven['name']) == 'match') { + $filters[] = $this->filterBuilder + ->setField(RequisitionListInterface::NAME) + ->setConditionType('like') + ->setValue($filtersGiven['name'][key($filtersGiven['name'])]) + ->create(); } - return $this->searchCriteriaBuilder - ->addFilter('customer_id', $customerId) - ->addFilters($filters); - } else { - return $this->searchCriteriaBuilder - ->addFilter('customer_id', $customerId); } + + return $this->searchCriteriaBuilder + ->addFilter('customer_id', $customerId) + ->addFilters($filters); } }