<?php
class Equipo {
    private $db;

    public function __construct($pdo) {
        $this->db = $pdo;
    }

    public function crear($datos) {
        $sql = "INSERT INTO inventario (id_categoria, descripcion, marca, modelo, serie, estado, foto, id_encargado_actual) 
                VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
        $stmt = $this->db->prepare($sql);
        $stmt->execute([
            $datos['id_categoria'], $datos['descripcion'], $datos['marca'],
            $datos['modelo'], $datos['serie'], $datos['estado'], 
            $datos['foto'], $datos['id_encargado_actual']
        ]);
        
        $id_equipo = $this->db->lastInsertId();
        
        // Registrar el primer movimiento en el historial
        if ($datos['id_encargado_actual']) {
            $this->registrarMovimiento($id_equipo, $datos['id_encargado_actual'], 'Registro inicial de equipo');
        }
        
        return $id_equipo;
    }

    public function registrarMovimiento($id_equipo, $id_usuario, $obs) {
        $sql = "INSERT INTO historial_posesion (id_equipo, id_usuario, observaciones) VALUES (?, ?, ?)";
        return $this->db->prepare($sql)->execute([$id_equipo, $id_usuario, $obs]);
    }

    public function obtenerHistorial($id_equipo) {
        $sql = "SELECT h.*, u.nombre as usuario_nombre FROM historial_posesion h 
                JOIN usuarios u ON h.id_usuario = u.id 
                WHERE h.id_equipo = ? ORDER BY h.fecha_entrega DESC";
        $stmt = $this->db->prepare($sql);
        $stmt->execute([$id_equipo]);
        return $stmt->fetchAll();
    }
}

?>