File: /var/www/api_matriculas/app/Http/Controllers/Signapis/SignapisReportsController.php
<?php
namespace App\Http\Controllers\Signapis;
use App\Http\Controllers\Controller;
use App\Services\Signapis\SignapisService;
use Illuminate\Http\Request;
use Exception;
class SignapisReportsController extends Controller
{
protected SignapisService $signapis;
public function __construct(SignapisService $signapis)
{
$this->signapis = $signapis;
}
// ======================================
// 🔹 REPORTES
// ======================================
/**
* @OA\Get(
* path="/signapis/reports/statusDocuments",
* summary="Obtener documentos filtrados por fechas y estado",
* tags={"SignApis/Reportes"},
* @OA\Parameter(name="start", in="query", required=true, @OA\Schema(type="string", format="date")),
* @OA\Parameter(name="end", in="query", required=true, @OA\Schema(type="string", format="date")),
* @OA\Parameter(name="status", in="query", required=true, @OA\Schema(type="string")),
* @OA\Response(response=200, description="Lista de documentos")
* )
*/
public function getStatusDocumentsReport(Request $request)
{
try {
$data = $this->signapis->getStatusDocumentsReport(
$request->query('start'),
$request->query('end'),
$request->query('status')
);
return response()->json(['data' => $data, 'message' => 'ok', 'code' => 200]);
} catch (Exception $e) {
return response()->json(['error' => $e->getMessage()], $e->getCode() ?: 500);
}
}
/**
* @OA\Get(
* path="/signapis/reports/company",
* summary="Obtener reporte general de documentos",
* tags={"SignApis/Reportes"},
* @OA\Parameter(name="start", in="query", required=true, @OA\Schema(type="string", format="date")),
* @OA\Parameter(name="end", in="query", required=true, @OA\Schema(type="string", format="date")),
* @OA\Response(response=200, description="Reporte obtenido")
* )
*/
public function getCompanyReport(Request $request)
{
try {
$data = $this->signapis->getCompanyReport(
$request->query('start'),
$request->query('end')
);
return response()->json(['data' => $data, 'message' => 'ok', 'code' => 200]);
} catch (Exception $e) {
return response()->json(['error' => $e->getMessage()], $e->getCode() ?: 500);
}
}
}