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

class ComprasModel extends Query {
    private $id_producto, $id_usuario,  $precio,  $cantidad, $sub_total;
    public function __construct() {
        parent::__construct();
    }
    public function getClientes(){
        $sql= "SELECT id, nombre FROM `clientes` WHERE estado =1" ;
        $data= $this->selectAll($sql);
        return $data;
        
    }


    public function getProCod(string $cod){
        $sql= "SELECT * FROM `productos` WHERE codigo ='$cod'" ;
        $data= $this->select($sql);
        return $data;
        
    }

    public function getProductos(int $id){
        $sql= "SELECT * FROM `productos` WHERE id =$id";
        $data= $this->select($sql);
        return $data;   
    }
    public function registrarDetalle(string $table, int $id_producto,int $id_usuario,string $precio,int $cantidad,string $sub_total, string $compras_precio, $id_medida){
        $sql = "INSERT INTO $table(id_producto,id_usuario,precio,cantidad,sub_total,precio_compra,id_medida) VALUES (?,?,?,?,?,?,?)";
        $datos = array($id_producto, $id_usuario, $precio, $cantidad, $sub_total, $compras_precio,$id_medida);
        $data = $this->save($sql, $datos);
        
        if ($data == 1) {
            $res = "ok";
        }else{
            $res = "error";
        }

        return $res;
    }
    

    public function registrarCompras(string $table, int $id_producto, int $id_usuario, string $precio, int $cantidad, string $sub_total) {
        $sql = "INSERT INTO $table (id_producto, id_usuario, precio, cantidad, sub_total) VALUES (?, ?, ?, ?, ?)";
        $datos = array($id_producto, $id_usuario, $precio, $cantidad, $sub_total);
        $data = $this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
    
        return $res;
    }
  
    public function getDetalle(string $table, int $id_user) {
        $sql = "SELECT d.*, p.id AS id_pro, p.descripcion, m.nombre_corto AS medida_nombre_corto
                FROM $table AS d
                INNER JOIN productos AS p ON d.id_producto = p.id
                LEFT JOIN medidas AS m ON p.id_medida = m.id WHERE id_usuario = $id_user";
    
        $data = $this->selectAll($sql);
        return $data;
    }
    

    public function calcularCompra(string $table, int $id_user){
        $sql = "SELECT SUM(sub_total) AS total FROM $table  WHERE id_usuario = $id_user";
        $data = $this->select($sql);
        return $data;
    }

    public function sumar_preciocompra($id_usuario){
        $sql = "SELECT SUM(precio_compra) AS precio_compra FROM detalle_temp WHERE id_usuario = $id_usuario";
        $data = $this->select($sql);
        return $data;
    }

    public function deleteDetalle(string $table,int $id){
        $sql="DELETE FROM $table WHERE id = ? ";
        $datos=array($id);
        $data=$this->save($sql,$datos);
        if ($data == 1) {
            $res = "ok";
        }else{
            $res = "error";
        }

        return $res;
        
    }

    public function consultarDetalle(string $table, int $id_producto, int $id_usuario){
        $sql="SELECT * FROM $table WHERE id_producto = $id_producto AND id_usuario = $id_usuario";
        $data=$this->select($sql);
        return $data;
    }
    

    public function actualizarDetalle(string $table, string $precio, int $cantidad, string $sub_total, string $ingresar_compras, int $id_producto, int $id_usuario){
        $sql = "UPDATE $table SET precio = ?, cantidad = ?, sub_total = ?, precio_compra = ? WHERE id_producto = ? AND id_usuario =? ";
        $datos = array($precio, $cantidad, $sub_total, $ingresar_compras, $id_producto, $id_usuario,);
        $data = $this->save($sql, $datos);
        
        if ($data == 1) {
            $res = "modificado";
        }else{
            $res = "error";
        }

        return $res;
    }

    public function traer_precios_mayoristas($id_producto){
        $sql = "SELECT id, cantidad, precio FROM ventas_mayor WHERE id_producto = $id_producto";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function registrarCompra(string $total, int $id_user) {
        $totalDecimal = floatval($total);
        $sql ="INSERT INTO compras (total,id_usuario) VALUES (?,?)";
        $datos =array($totalDecimal, $id_user);
        $data =$this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
        
        return $res;
    }

    public function getId(string $table, int $id_usuario){
        $sql= "SELECT MAX(id) AS id FROM $table WHERE id_usuario = $id_usuario";
        $data = $this->select($sql);
       return $data;
        
    }
    
    public function registrarDetalleCompra(int $id_compra, int $id_pro ,int $cantidad,string $precio,string $sub_total){
        $sql ="INSERT INTO detalle_compras (id_compra, id_producto, cantidad, precio, sub_total) VALUES (?,?,?,?,?)";
        $datos =array($id_compra, $id_pro, $cantidad, $precio, $sub_total);
        $data =$this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
        
        return $res;
    }

    public function registrarDetalleVenta(int $id_usuario, int $id_venta, int $id_pro ,int $cantidad, string $desc,string $precio, string $total_precio_compra, string $sub_total, string $Igb, string $precio_sin_igb){
        $sql ="INSERT INTO detalle_ventas (id_usuario, id_venta, id_producto, cantidad, descuento, precio, precio_compra, sub_total, igb, sin_igb) VALUES (?,?,?,?,?,?,?,?,?,?)";
        $datos =array($id_usuario, $id_venta, $id_pro, $cantidad, $desc, $precio, $total_precio_compra, $sub_total, $Igb, $precio_sin_igb);
        $data =$this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
        
        return $res;
    }

    public function getEmpresa(){
        $sql="SELECT * FROM configuracion";
        $data= $this->select($sql);
        return $data;
    }

    public function vaciarDetalle(string $table, int $id_usuario){
        $sql ="DELETE FROM $table WHERE id_usuario = $id_usuario";
        $datos = array();
        $data = $this->save($sql, $datos);
        
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
        return $res;
    }
    
    public function getProCompra($id_compra){
        $sql = "SELECT c.*,d.*,p.id, p.descripcion FROM compras c INNER JOIN detalle_compras d ON c.id = d.id_compra INNER JOIN productos p ON p.id = d.id_producto WHERE c.id = $id_compra";
         $data = $this->selectAll($sql);
         return $data;
    }

    public function getProVenta($id_venta){
        $sql = "SELECT v.*, d.*, p.id, p.descripcion, m.nombre_corto 
        FROM ventas v 
        INNER JOIN detalle_ventas d ON v.id = d.id_venta
        INNER JOIN productos p ON p.id = d.id_producto
        INNER JOIN medidas m ON p.id_medida = m.id
        WHERE v.id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
    }
    
    

    public function getHistorialcompras($id_user){
        $sql= "SELECT * FROM compras WHERE id_usuario = $id_user" ;
        $data = $this->selectAll($sql);
        return $data;
        
    }

    public function getHistorialVentas(int $id_user) {
        $sql = "SELECT c.id, c.nombre, v.* FROM clientes c  
                INNER JOIN ventas v ON c.id = v.id_cliente
                WHERE v.id_usuario = $id_user";
    
        $data = $this->selectAll($sql);
        return $data;
    }
    



    public function actualizarStock(int $cantidad,int $id_pro){
        $sql ="UPDATE productos SET cantidad = ? WHERE id = ?";
        $datos =array($cantidad,$id_pro);
        $data =$this->save($sql, $datos);
        return $data;
        
    }

    public function registrarVentass(int $id_user, int $id_cliente, string $total, string $total_compras, int $id_documentos, ?int $id_cliente_docum, ?int $id_boletas_clie, string $igb, $monto_ingresado, string $precio_sinigb) {
        $totalDecimal = floatval($total);
        $sql = "INSERT INTO ventas (id_usuario, id_cliente, total, total_compras, id_documentos, id_cliente_factura, IGB, pago, precio_sin_IGB) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
    
        if (!empty($id_cliente_docum)) {
            $datos = array($id_user, $id_cliente, $totalDecimal, $total_compras, $id_documentos, $id_cliente_docum, $igb, $monto_ingresado, $precio_sinigb);
        } elseif (!empty($id_boletas_clie)) {
            $datos = array($id_user, $id_cliente, $totalDecimal, $total_compras, $id_documentos, $id_boletas_clie, $igb, $monto_ingresado, $precio_sinigb);
        } else {
            $datos = array($id_user, $id_cliente, $totalDecimal, $total_compras, $id_documentos, $id_boletas_clie, $igb, $monto_ingresado, $precio_sinigb);
        }
    
        $data = $this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
        return $res;
    }
    
    

    public function REGISTRARganancias( int $id_usuario, int $id_venta, string $fecha, string $ganancias,) {
        $sql ="INSERT INTO ganancias (id_usuario, id_venta, fecha, ganancia) VALUES (?,?,?,?)";
        $datos = array($id_usuario, $id_venta, $fecha, $ganancias);
        $data = $this->save($sql, $datos);
        return $data;
    }

    public function anularganancias(int $id_venta){
        $sql = "UPDATE ganancias SET estado = ? WHERE id_venta = ?";
        $datos = array(0, $id_venta); 
        $data = $this->save($sql,$datos);
        return $data;
    }
        
    

    public function clientesVenta(int $id){

        $sql= "SELECT v.id, v.id_cliente, c.* FROM ventas v INNER JOIN clientes c ON c.id = v.id_cliente WHERE v.id = $id";
        $data = $this->select($sql);
        return $data;
    }

    public function verificarDescuento(int $id){
        $sql= "SELECT * FROM detalle_temp WHERE id = $id";
        $data = $this->select($sql);
        return $data;
        
    }

    public function actualizarDescuento(string $desc, string $sub_total, int $id) {
       
        $sql ="UPDATE detalle_temp SET descuento = ?, sub_total = ? WHERE id = ? ";
        $datos = array($desc, $sub_total, $id);
        $data = $this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
    
        return $res;
    }
    public function getDescuento(int $id_venta){
        $sql = "SELECT SUM(descuento) AS total FROM detalle_ventas WHERE id_venta = $id_venta";
        $data = $this->select($sql);
        return $data;
    }
    public function getAnularCompra(int $id_compra){
        $sql = "SELECT c.*,d.* FROM compras c INNER JOIN detalle_compras d ON c.id = d.id_compra WHERE c.id = $id_compra";
        $data = $this->selectAll($sql);
        return $data;
    }
    public function getAnular(int $id_compra) {
        $sql = "UPDATE compras SET estado = ? WHERE id = ?";
        $datos = [0, $id_compra]; // Solo necesitas actualizar el estado, por lo que solo hay un marcador de posici贸n.
        $data = $this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
    
        return $res;
    }


    public function getAnularVenta($id_venta){
        $sql = "SELECT c.*,d.* FROM ventas c INNER JOIN detalle_ventas d ON c.id = d.id_venta WHERE c.id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
    }
    public function getAnularVen($id_venta){
        $sql = "UPDATE ventas SET estado = ? WHERE id = ?";
        $datos = [0, $id_venta]; // Solo necesitas actualizar el estado, por lo que solo hay un marcador de posici贸n.
        $data = $this->save($sql, $datos);
    
        if ($data == 1) {
            $res = "ok";
        } else {
            $res = "error";
        }
    
        return $res;
    }
    
    public function verificarCaja(int $id){

        $sql = "SELECT * FROM sistemas_de_arqueo WHERE id_usuario = $id AND estado  = 1";
        $data = $this->select($sql);
        return $data;
        
    }

    public function verificarPermiso(int $id_user, string $nombre) {
        $sql = "SELECT p.id, p.permiso, d.id, d.id_usuario, d.id_permiso FROM permisos p INNER JOIN detalle_permisos d ON p.id = d.id_permiso WHERE d.id_usuario = $id_user AND p.permiso = '$nombre'";
        $data = $this->selectAll($sql);
        return $data;
        
    }
    
       public function registrarCompraTotal(int $id_usuario, float $total)
    {
    $fecha = date("Y-m-d H:i:s");
        $sql = "INSERT INTO compras_totales (id_usuario, total, fecha, estado) VALUES (?, ?, ?, 1)";
      $datos = array($id_usuario, $total, $fecha);
        
     $data = $this->save($sql, $datos);
        
    if ($data == 1) {
         $res = "ok";
     } else {
        $res = "error";
     }
        
      return $res;
    }


    public function ventaRapida(){
        $sql = "SELECT p.id, p.descripcion, p.precio_venta, m.nombre_corto AS medida_nombre_corto, p.foto
        FROM productos p
        JOIN medidas m ON p.id_medida = m.id
        WHERE p.estado = 1;
        ";

        $data = $this->selectAll($sql);
        return $data;
    }
    
    

    public function documentos(){
        $sql = "SELECT id, documento FROM documentacion WHERE estado = 1 ";
        $data = $this->selectAll($sql);
        return $data;
    }


    public function documentacion(int $id_venta) {
        $sql = "SELECT documentacion.documento
                FROM documentacion
                JOIN ventas ON documentacion.id = ventas.id_documentos
                WHERE ventas.id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
    }
    
    public function RegistrarEmpFac(string $ruc, string $razonSocial, string $direcion, string $telefon){
            $sql = "INSERT INTO clientefacturas (ruc, razon_social, direccion, telefono) values (?,?,?,?)";
            $datos = array($ruc, $razonSocial, $direcion, $telefon);
            $data = $this->save($sql, $datos);
            if ($data === 1) {
                $res = "ok";
            }else {
                $res = "error";
            }
            return $res;
    }

    public function buscarRucFac($ruc){
        $sql = "SELECT id, ruc, razon_social, direccion, telefono FROM `clientefacturas` WHERE ruc = '$ruc' ";
        $data = $this->selectAll($sql);
        return $data;
    }
    
    public function RegistrarBoletas(string $Dni, string $nombre, string $direccieon, string $telefon){
        $sql = "INSERT INTO clientesboltetas (dni, nombre, direccion, telefono) values (?,?,?,?)";
        $datos = array($Dni, $nombre, $direccieon, $telefon);
        $data = $this->save($sql, $datos);
        if ($data === 1) {
            $res = "ok";
        }else {
            $res = "error";
        }
        return $res;
    }


    public function buscarDniss($Dni){
        $sql = "SELECT id, dni, nombre, direccion, telefono FROM `clientesboltetas` WHERE dni = '$Dni' ";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function documentacionClientes($id_venta){
        $sql = "SELECT v.id_documentos,
        v.id_cliente_factura,
        CASE
            WHEN v.id_documentos = 2 THEN cb.dni
            WHEN v.id_documentos = 3 THEN cf.ruc
        END AS documento,
        CASE
            WHEN v.id_documentos = 2 THEN cb.nombre
            WHEN v.id_documentos = 3 THEN cf.razon_social
        END AS nombre,
        CASE
            WHEN v.id_documentos = 2 THEN cb.direccion
            WHEN v.id_documentos = 3 THEN cf.direccion
        END AS direccion,
        CASE
            WHEN v.id_documentos = 2 THEN cb.telefono
            WHEN v.id_documentos = 3 THEN cf.telefono
        END AS telefono
   FROM ventas v
   LEFT JOIN clientesboltetas cb ON v.id_documentos = 2 AND v.id_cliente_factura = cb.id
   LEFT JOIN clientefacturas cf ON v.id_documentos = 3 AND v.id_cliente_factura = cf.id
 WHERE v.id = $id_venta ;";
        $data = $this->selectAll($sql);
        return $data;
        
    }



    public function cantidadBoletas(){
        $sql = "SELECT COUNT(*) AS total_boletas FROM ventas WHERE id_documentos = 2; ";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function cantidadFacturas(){
        $sql = "SELECT COUNT(*) AS total_facturas FROM ventas WHERE id_documentos = 3; ";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function Cantidadtikets(){
        $sql = "SELECT COUNT(*) AS total_tikets FROM ventas WHERE id_documentos = 1; ";
        $data = $this->selectAll($sql);
        return $data;
    }


    public function id_de_los_documentos($id_venta) {
        $sql = "SELECT id_documentos FROM ventas WHERE id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function Igb($id_venta){
        $sql = "SELECT IGB FROM ventas WHERE id = $id_venta AND id_documentos = 3";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function montoPagado($id_venta){
        $sql = "SELECT id_cliente, pago, fecha FROM ventas WHERE id = $id_venta" ;
        $data = $this->selectAll($sql);
        return $data;
    }

    public function TraerSerie($codigo){
        $sql = "SELECT serie_sunat FROM documentacion WHERE id = $codigo" ;
        $data = $this->selectAll($sql);
        return $data;
    }
   
    public function exone_afectas($id_venta){
        $sql = "SELECT opexoneradas, opinafectas FROM ventas WHERE id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
        
    }

    public function detalle_ventas($id_venta){
        $sql = "SELECT dv.*, p.codigo, p.descripcion, p.precio_compra, p.precio_venta
        FROM detalle_ventas dv
        JOIN productos p ON dv.id_producto = p.id
        WHERE dv.id_venta = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
        
    }

    public function extraercodigosproductos($id_productos){
        // Convierte el array de id_productos a una cadena separada por comas
        $id_productos_str = implode(', ', $id_productos);
    
        // Utiliza la cl谩usula IN en la consulta SQL
        $sql = "SELECT * FROM productos WHERE id IN ($id_productos_str)";
        $data = $this->selectAll($sql);
        return $data;
    }
    
    public function traertotal($id_venta) {
        $sql = "SELECT * FROM ventas WHERE id = $id_venta";
        $data = $this->selectAll($sql);
        return $data;
    }



    
    public function Igbss($id_venta, $id_documen){
        $sql = "SELECT IGB FROM ventas WHERE id = $id_venta AND id_documentos = $id_documen";
        $data = $this->selectAll($sql);
        return $data;
    }

    //sunat consultas 

    public function TraerDoc($id_documen){
        $sql = "SELECT * FROM documentacion WHERE id = $id_documen";
        $data = $this->selectAll($sql);
        return $data;
    }

    public function empresa(){
        $sql = "SELECT * FROM configuracion ";
        $data = $this->selectAll($sql);
        return $data;
        
    }

    //actualizar modulos de ventas 


    public function recibirNotificacion() {
        $sql = "SELECT COUNT(DISTINCT id_pedidos) as cantidad_usuarios FROM ventas_emviadas WHERE estado = 1";
        $data = $this->selectAll($sql);
        return $data; // Devuelve la cantidad de usuarios distintos
    }
    
    public function traerdatosClientes(){
        $sql = "SELECT v.id_usuario, v.id_cliente, v.total, v.total_compras, v.fecha, u.nombre as vendedor, p.cliente as cliente FROM vendedor_final v INNER JOIN usuario u ON u.id = v.id_usuario INNER JOIN pedidos p ON p.id = v.id_cliente WHERE v.estado = 1";
        $data = $this->selectAll($sql);
        return $data;
    }
    

    public function obTenerDetalles($id_cliente){
        $sql = "SELECT v.id_usuario, v.id_producto, v.cantidad, v.precio, v.sub_total, v.id_medida, v.id_pedidos, p.descripcion as productos, m.nombre_corto as nombre, u.nombre as vendedor, D.cliente as cliente FROM ventas_emviadas v INNER JOIN usuario u ON u.id = v.id_usuario  INNER JOIN productos p ON p.id = v.id_producto INNER JOIN medidas m ON m.id = v.id_medida INNER JOIN pedidos D ON D.id = v.id_pedidos WHERE v.id_pedidos = $id_cliente AND v.estado = 1";
        $data = $this->selectAll($sql);
        return $data;
    }


    public function ingresarADetalleTemp($id_cliente){
        $sql = "SELECT * FROM ventas_emviadas WHERE id_pedidos = $id_cliente";
        $data = $this->selectAll($sql);
        return $data;
    }

 
    public function RegistrarDetallesTemp($productos, $id_usuario, $precio, $cantidad, $sub_total, $precio_compra, $id_medida, $id_pedidos){
            $sql = "INSERT INTO detalle_temp (id_producto, id_usuario, precio, cantidad, sub_total, precio_compra, id_medida, id_pedidos) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
            $datos = array($productos, $id_usuario, $precio, $cantidad, $sub_total, $precio_compra, $id_medida, $id_pedidos);
            $data = $this->save($sql, $datos);
            return $data;
        }
    

        public function verificar_si_es_vendedor(){
            $sql = "SELECT id_pedidos from detalle_temp ";
            $datos = $this->selectAll($sql);
            return $datos;
        }

        public function actualizar_id_pedidos($id_pediodos){
            $sql ="UPDATE ventas_emviadas SET estado = ? WHERE id_pedidos = ?";
            $datos = array(0, $id_pediodos);
            $data = $this->save($sql, $datos);
            return $datos;
        }


        public function actualizar_ventafinal($id_pediodos){
            $sql ="UPDATE vendedor_final SET estado = ? WHERE id_cliente = ?";
            $datos = array(0, $id_pediodos);
            $data = $this->save($sql, $datos);
            return $data;
        }

        public function traerProductosss(){
            $sql = "SELECT * FROM productos WHERE estado = 1";
            $data = $this->selectAll($sql);
            return $data;
            
        }
        public function consultar($cantidad, $id){
            $sql = "UPDATE productos SET cantidad = ? WHERE id = ?";
            $datos = array($cantidad, $id);
            $data = $this->save($sql, $datos);
            return $data;
            
        }

        public function canclarlista($id_cliente){
            $sql = "DELETE FROM vendedor_final WHERE id_cliente = ?";
            $datos = array($id_cliente);
            $data = $this->save($sql, $datos);
            return $data;
            
        }

        public function pararAlerta($id_cliente){
            $sql = "UPDATE ventas_emviadas SET estado = ?  WHERE id_pedidos = ?";
            $datos = array(0, $id_cliente);
            $data = $this->save($sql, $datos);
            return $data;
            
        }
        public function cantidades_actuales_detalle_temp($id_detalle){
            $sql = "SELECT * FROM detalle_temp WHERE id = $id_detalle";
            $data = $this->select($sql);
            return $data;
        }

        public function actualizar_cantidad_post($id_detalle, $id_user, $precio_format, $cantidad, $min_total, $total_costo){
            $sql = "UPDATE detalle_temp SET cantidad = ?, precio = ?, id_usuario = ?, sub_total = ?, precio_compra = ? WHERE id = ?";
            $datos = array($cantidad, $precio_format, $id_user, $min_total, $total_costo, $id_detalle);
            $data = $this->save($sql, $datos);
            return $data;
        }
        public function precios_compras($id_producto){
            $sql = "SELECT * FROM productos WHERE id = $id_producto";
            $data = $this->select($sql);
            return $data;
        }
        public function consultar_id_producto($id_detalle){
            $sql = "SELECT * FROM detalle_temp WHERE id = $id_detalle";
            $data = $this->select($sql);
            return $data;
        }
        public function listar_detalles_editar($id_venta, $id_user){
            $sql = "SELECT d.*, p.descripcion FROM detalle_ventas d INNER JOIN productos p ON p.id = d.id_producto WHERE d.id_venta = $id_venta AND d.id_usuario = $id_user AND d.estado = 1";
            $data = $this->selectAll($sql);
            return $data;
        }
        public function traer_detalle_venta($id_detalle){
            $sql = "SELECT d.*, p.codigo, p.descripcion, v.pago FROM detalle_ventas d INNER JOIN productos p ON p.id = d.id_producto INNER JOIN ventas v ON d.id_venta = v.id  WHERE d.id = $id_detalle AND d.estado = 1";
            $data = $this->select($sql);
            return $data;
        }
        public function cargar_productos(){
            $sql = "SELECT * FROM productos WHERE estado = 1";
            $data = $this->selectAll($sql);
            return $data;
        }
        public function traer_datos_producto($id_producto){
            $sql = "SELECT * FROM productos WHERE id = $id_producto AND estado = 1";
            $data = $this->select($sql);
            return $data;
        }

   
        public function reducir_stock_inventarios($actualizar_stock, $id_producto){
            $sql = "UPDATE productos SET cantidad = ? WHERE id = ?";
            $datos = array($actualizar_stock, $id_producto);
            $data = $this->save($sql, $datos);
            return $data;
        }
        public function consultar_detalle_ventas($id_detalle){
            $sql = "SELECT * FROM detalle_ventas WHERE id = $id_detalle";
            $data = $this->select($sql);
            return $data;
        }
        public function sumar_detalle($id_venta){
            $sql = "SELECT SUM(sub_total) as total FROM detalle_ventas WHERE id_venta = $id_venta";
            $data = $this->select($sql);
            return $data;
        }

        public function pago($id_venta){
            $sql = "SELECT * FROM ventas WHERE id = $id_venta";
            $data = $this->select($sql);
            return $data;
        }

    

      













}







?>
