<?php

namespace App\Http\Controllers;

use App\Models\OrdenTrabajo;
use Illuminate\Http\Request;

class MovilController extends Controller
{
    public function index(Request $r)
    {
        $u = auth()->user();
        $q = OrdenTrabajo::with(['equipo','estado','prioridad'])
            ->where(function ($w) use ($u) {
                $w->where('responsable_id', $u->id)
                  ->orWhereHas('responsables', fn($x) => $x->where('usuarios.id', $u->id));
            });
        if ($busqueda = trim((string)$r->get('q',''))) {
            $q->where(fn($w) => $w->where('codigo','like',"%$busqueda%")
                ->orWhereHas('equipo', fn($e) => $e->where('nombre','like',"%$busqueda%")));
        }
        $estado = $r->get('estado','pendientes');
        if ($estado === 'pendientes') {
            $q->whereHas('estado', fn($e) => $e->whereIn('codigo',['PEN','EPR','REP']));
        } elseif ($estado === 'completas') {
            $q->whereHas('estado', fn($e) => $e->whereIn('codigo',['EJE','APR']));
        }
        $ordenes = $q->orderBy('fecha_programada')->paginate(20)->withQueryString();
        return view('movil.index', compact('ordenes','estado','busqueda'));
    }
}
