<?php

Class clsventa {

    private $ven_codigo;
    private $caj_codigo;
    private $ven_fecha;
    private $ven_tipo_pago;
    private $ven_total;
    private $ven_entregado;
    private $ven_vuelto;
    private $pro_codigo;
    private $ven_estado;

    ////////////////////// CONSTRUCTORES //////////////////////

    public function carga_ven_codigo($ven_codigo){ $this->ven_codigo = $ven_codigo; }
    public function carga_caj_codigo($caj_codigo){ $this->caj_codigo = $caj_codigo; }
    public function carga_ven_fecha($ven_fecha){ $this->ven_fecha = $ven_fecha; }
    public function carga_ven_tipo_pago($ven_tipo_pago){ $this->ven_tipo_pago = $ven_tipo_pago; }
    public function carga_ven_total($ven_total){ $this->ven_total = $ven_total; }
    public function carga_ven_entregado($ven_entregado){ $this->ven_entregado = $ven_entregado; }
    public function carga_ven_vuelto($ven_vuelto){ $this->ven_vuelto = $ven_vuelto; }
    public function carga_pro_codigo($pro_codigo){ $this->pro_codigo = $pro_codigo; }
    public function carga_ven_estado($ven_estado){ $this->ven_estado = $ven_estado; }

    ////////////////////// INSERTAR VENTA //////////////////////

    public function venta_insertar(){
        $bd = new clsbdd;

        $this->carga_ven_codigo(0);
        $this->carga_ven_estado(1);

        if(empty($this->ven_fecha)){
            $this->carga_ven_fecha(date("Y-m-d H:i:s"));
        }

        $valores = $this->ven_codigo.","
            .$this->caj_codigo.",'"
            .$this->ven_fecha."','"
            .$this->ven_tipo_pago."',"
            .$this->ven_total.","
            .($this->ven_entregado !== null ? $this->ven_entregado : "NULL").","
            .($this->ven_vuelto !== null ? $this->ven_vuelto : "NULL").","
            .($this->pro_codigo ? $this->pro_codigo : "NULL").","
            .$this->ven_estado;

        $campos = "ven_codigo,
                   caj_codigo,
                   ven_fecha,
                   ven_tipo_pago,
                   ven_total,
                   ven_entregado,
                   ven_vuelto,
                   pro_codigo,
                   ven_estado";

        $bd->carga_campos($campos);
        $bd->carga_valores($valores);

        $id = $bd->insertar("sba_ventas");

        if($id > 0)
            return $id;
        else
            return 0;
    }        
    public function venta_detalle_insertar($ven_codigo, $prd_codigo, $cantidad, $precio){
        $bd = new clsbdd;

        $subtotal = $cantidad * $precio;

        $valores = "0,"
            .$ven_codigo.","
            .$prd_codigo.","
            .$cantidad.","
            .$precio.","
            .$subtotal;

        $campos = "vde_codigo,
                   ven_codigo,
                   prd_codigo,
                   vde_cantidad,
                   vde_precio,
                   vde_subtotal";

        $bd->carga_campos($campos);
        $bd->carga_valores($valores);

        return $bd->insertar("sba_ventas_detalle");
    }
            
     public function descontar_stock($prd_codigo, $cantidad){
        $bd = new clsbdd;

        $sql = "UPDATE sba_productos 
                SET prd_stock = prd_stock - $cantidad
                WHERE prd_codigo = $prd_codigo";

        return $bd->ejecutar($sql);
    }
public function actualizar_caja($tipo, $valor){
        $bd = new clsbdd;

        if($tipo == 'EFECTIVO'){
            $sql = "UPDATE sba_caja 
                    SET caj_total_efectivo = caj_total_efectivo + $valor
                    WHERE caj_codigo = ".$this->caj_codigo;
        }else{
            $sql = "UPDATE sba_caja 
                    SET caj_total_credito = caj_total_credito + $valor
                    WHERE caj_codigo = ".$this->caj_codigo;
        }

        return $bd->ejecutar($sql);
    }
}
?>