
<?php
require_once('config/app/Query.php');

class InventarioModel extends Query {
    public $producto, $cargarProductos;
    public function __construct() {
        parent::__construct();
    }

    public function traeMedi() {

        $sql = "SELECT * FROM `medidas` WHERE estado = 1";
        $data = $this->selectAll($sql);
        return $data;} 
        
        public function traeCategor() {
    
            $sql = "SELECT * FROM `categorias` WHERE estado = 1";
            $data = $this->selectAll($sql);
            return $data;}
        

            public function consultarProductosPorCategoriaYMedida($categoria, $medida){
                $sql = "SELECT p.descripcion FROM productos p 
                        INNER JOIN categorias c ON p.id_categoria = c.id 
                        INNER JOIN medidas m ON p.id_medida = m.id
                        WHERE c.nombre = '$categoria' AND m.nombre = '$medida'";
                $data = $this->selectAll($sql);
                return $data;
            }
            
            
          
            
            public function insertarInventario($producto, $cantidad, $categoria, $medida, $id_user) {
                $sql = "INSERT INTO `inventario` (producto, cantidad, categoria, medida, id_usuario) VALUES (?, ?, ?, ?, ?)";
                $datos = array($producto, $cantidad, $categoria, $medida, $id_user);
                $data = $this->save($sql, $datos); 
                if ($data == 1) {
                    $res = "ok";
                } else {
                    $res = "error";
                }
            
                return $res;
            }
            
            


            public function obtenerIdCategoriaPorNombre($nombreCategoria) {
                $sql = "SELECT id FROM categorias WHERE nombre = ':nombre'";
                $params = array(":nombre" => $nombreCategoria);
                $result = $this->select($sql, $params);
            
                if ($result) {
                    return $result['id'];
                } else {
                    return null;
                }
            }
            
            
            public function obtenerIdMedidaPorNombre($nombreMedida) {
                $sql = "SELECT id FROM medidas WHERE nombre = ':nombre'";
                $params = array(":nombre" => $nombreMedida);
                $result = $this->select($sql, $params);
            
                if ($result) {
                    return $result['id'];
                } else {
                    return null;
                }
            }
            
           
            public function obtener_datos_rechazados(){
                $sql = "SELECT ni.id_inventario_temp, ni.cantidad, ni.categoria, ni.medida, ni.id_inventario, it.producto 
                        FROM notificacion_inventario ni 
                        INNER JOIN inventario_temp it ON ni.id_inventario_temp = it.id 
                        WHERE ni.estado = 1 AND ni.cantidad != 0;";  // Agrega la condici贸n ni.cantidad > 0 FALTA  SIEMPRE I CUANDO ID SEA IGUAL A ID_INVENTARIO
                $data = $this->selectAll($sql);
                return $data;
            }
            


          public function registrarDatosActualizados($cantidad,$idInventario){
            $sql = "UPDATE inventario SET cantidad = ? WHERE id = ?  ";
            $datos = array($cantidad,$idInventario);
            $data = $this->save($sql, $datos);
            return $data;
          }
          public function editarMotificacion($idInventario){
            $sql = "UPDATE notificacion_inventario SET estado = ? WHERE id_inventario = ?  ";
            $datos = array(0,$idInventario);
            $data = $this->save($sql, $datos);
            return $data;
          }

          public function cambiarestado($idInventario){
            $sql = "UPDATE inventario_temp SET estado = ? WHERE id_inventario = ?  ";
            $datos = array(0,$idInventario);
            $data = $this->save($sql, $datos);
            return $data;
          }
          public function eliminarLinia($id_inventario){
            $sql = "DELETE FROM notificacion_inventario WHERE id_inventario = $id_inventario and estado = 0";
            $datos = $this->select($sql);
            return $datos; 
        }
            public function eliminarinventariTemp($id_inventario){
                $sql = "DELETE FROM inventario_temp WHERE id_inventario = $id_inventario and estado = 0 ";
                $datos = $this->select($sql);
                return $datos;
          }

          
}