getBody(); $json = json_decode($body->getContents()); $proyecto_id = $json->proyecto_id; $output = ['total' => 0]; try { $cierres = $service->getByProyecto($proyecto_id); $output['cierres'] = $cierres; $output['total'] = count($cierres); } catch (EmptyResult) {} return $this->withJson($response, $output); } public function vigentes(ServerRequestInterface $request, ResponseInterface $response, Repository\Venta\Cierre $cierreRepository): ResponseInterface { $cierres = $cierreRepository->fetchDatosVigentes(); $output = []; $estados = [ 'revisado' => 'pendientes', 'rechazado' => 'rechazados', 'aprobado' => 'pendientes', 'vendido' => 'promesados', 'abandonado' => 'rechazados', 'promesado' => 'promesados', 'resciliado' => 'rechazados' ]; foreach ($cierres as $row) { if (!isset($output[$row['Proyecto']])) { $output[$row['Proyecto']] = [ 'promesados' => 0, 'pendientes' => 0, 'rechazados' => 0, 'total' => 0 ]; } $estado = $estados[$row['Estado']]; $output[$row['Proyecto']][$estado] += $row['Cantidad']; $output[$row['Proyecto']]['total'] += $row['Cantidad']; } return $this->withJson($response, ['cierres' => $output]); } }