<?php

include("../conexion/conexion.php");



if(isset($_POST["factura"])){
   $factura=$_POST["factura"];
   $bodega=$_POST["bodega"];
   $vendedorC=$_POST["vendedorC"]; 
   $clienteC=$_POST["clienteC"];
   $participante=$_POST["participante"]; 

   
   $fila =json_decode($factura,true);

  $cotizzacion=new cotizacio();
  $numeroCotizacionn=$cotizzacion->consultarNumeroCotizacion($bodega);
  $productos=$cotizzacion->guardarCotizacion($fila,$numeroCotizacionn,$bodega,$vendedorC,$clienteC,$participante);
$actulizaNUmero=$cotizzacion->actulizarNumeroCotizacion($numeroCotizacionn,$bodega);

$fecha=date('Y-m-d H:i:s');

if($actulizaNUmero){
    echo(json_encode(["estado"=>"ok","citozacion"=>$numeroCotizacionn,"fecha"=>$fecha]));

}else{
    echo(json_encode(["estado"=>"no","citozacion"=>$numeroCotizacionn,"fecha"=>$fecha]));
}

   
  




}else{
    if(isset($_POST["cotizacion"])){

        $cotizacion=$_POST["cotizacion"];
        $bodega=$_POST["bodega"];
        $cotizzacion=new cotizacio();
        $productos=$cotizzacion->buscarProductosCotizacion($cotizacion,$bodega);
        echo(json_encode($productos));

    }else{

        if(isset($_POST["mesa"])){
            $mesa=$_POST["mesa"];
            $tipoiva=$_POST["tipoiva"];
            $codigo=$_POST["codigo"];
            $nombre=$_POST["nombre"];
            $cantcaja=$_POST["cantcaja"];
            $cantfrcc=$_POST["cantfrcc"];
            $base=$_POST["base"];
            $valoriva=$_POST["valoriva"];
            $Tprecio=$_POST["Tprecio"];
            $descuento=$_POST["descuento"];
            $dosisDias=$_POST["dosisDias"];
            $costoCaja=$_POST["costoCaja"];
            $costoFrr=$_POST["costoFrr"];
            $pcaja=$_POST["pcaja"];
            $pfrcc=$_POST["pfrcc"];
            $bodega=$_POST["bodega"]; 
            $vendedorC=$_POST["vendedorC"]; 
            $clienteC=$_POST["clienteC"];

            $participante=$_POST["participante"]; 
            $cocina=$_POST["cocina"];
            $verificarDoble=0;
           
          
            if(isset($_POST["idvencimiento"])){
                $idVencimiento=$_POST["idvencimiento"];   
            }else{
                $idVencimiento=0;
            }
             
            if(isset($_POST["verificarDoble"])){
                $verificarDoble=$_POST["verificarDoble"];   
            }
         
          $mensajepROD=$_POST["mensajepROD"];
         
            $cotizzacion=new cotizacio();
            $productos=$cotizzacion->guardarProductosagragados($mesa, $tipoiva,
            $codigo,$nombre,$cantcaja,$cantfrcc,$base,
             $valoriva,$Tprecio, $descuento,$dosisDias,
             $costoCaja, $costoFrr, $pcaja,$pfrcc,
              $bodega, $idVencimiento,$vendedorC,$clienteC,$participante,$cocina,$verificarDoble,$mensajepROD);
            // echo(json_encode($productos));
    
        }else{

            if(isset($_POST["producquitar"])){

                $codigo=$_POST["producquitar"];
                $bodega=$_POST["bodega"];
                $numeroCotizacion=$_POST["mesass"];
                $cotizzacion=new cotizacio();
                $productos=$cotizzacion->quitarProductoMesa($numeroCotizacion,$bodega,$codigo);
              
        
            }else{

                if(isset($_POST["cotizacionCocina"])){

                    $codigoMesa=$_POST["cotizacionCocina"];
                    $bodega=$_POST["bodega"];
                    $detalleCo=$_POST["detalleCo"];
                    
                    $cotizzacion=new cotizacio();
                    $productos=$cotizzacion->enviarCocina($codigoMesa,$bodega,$detalleCo);
                  
            
                }
            
        }          
        }
        


    }
if(isset($_POST["mesaDisp"])){
    $bodega=$_POST["bodega"];
    $cotizzacion=new cotizacio();
    $mesas=$cotizzacion->MesasOcupadas($bodega);
    echo(json_encode($mesas));

}
}


class cotizacio{

    function __construct()

    {
        $conn=new conexion();
        $this->conectar=$conn->conectar();
        
    
    }
    function MesasOcupadas($bodega){
        $consulta= ("SELECT numeroCotizacion
                    FROM `cotizacion` 
                    WHERE idbodegac = $bodega 
                    AND (numeroCotizacion LIKE 'm%' OR numeroCotizacion LIKE 'b%')
                    GROUP BY numeroCotizacion
                   ");        
        $resultado=$this->conectar->query($consulta);
        $fila=$resultado->fetch_all(MYSQLI_ASSOC);
       return $fila;

    }

    function enviarCocina($mesa,$bodega,$detalleCo){

        // $cocina= $this->conectar->query("UPDATE  `cotizacion`  SET `preparar`='si',	`detalleCocina`='$detalleCo' WHERE numeroCotizacion='$mesa' AND idbodegac=$bodega"); 
        $cocina= $this->conectar->query("UPDATE  `cotizacion`  SET `preparar`='si',	`detalleCocina`='$detalleCo' WHERE numeroCotizacion='$mesa' "); 
        echo("Enviado Con exito");

    }

    function guardarCotizacion($fila,$numeroCotizacionn,$bodega,$vendedorC,$clienteC,$participante){

        foreach($fila as $valor) {
            $codigo=$valor["Codigo"];
            $nombre=$valor["Nombre"];
            $caja=$valor["Cantida_caja"];
            $frcc=$valor["Cantida_frcc"];
            $precio=$valor["precio"];
            $iva=$valor["iva"];  
            $tipoiva=$valor["tipo"];   
            $base=$valor["Base"]; 
            $tratamiento=$valor["tratamiento"];
            $costoCaja=$valor["costoCaja"];
            $costoFrcc=$valor["costoFrcc"];
            $descuentoProd=$valor["Descu"];
            $preciounitarioCaja=$valor["preciounitarioCaja"];
            $preciounitariofrcc=$valor["preciounitariofrcc"];
            $idVencimiento=$valor["idvencimeinto"];
            
            $ejecutarr=$this->conectar->prepare( "INSERT INTO `cotizacion` (`numeroCotizacion`, `Codigo`, `Nombre`,
             `Cantida_caja`, `Cantida_frcc`, `precio`, `iva`, `tipo`, `Base`, `tratamiento`, `costoCaja`,
              `costoFrcc`, `Descu`, `preciounitarioCaja`, `preciounitariofrcc`,`idbodegac`,`idvencieminto`,`vendedorCot`,`cienteCot`,`participan`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

            $ejecutarr->bind_param("ssssssssssssssssssss",$numeroCotizacionn,$codigo,$nombre, $caja,$frcc,$precio,$iva,
            $tipoiva, $base, $tratamiento, $costoCaja, $costoFrcc, $descuentoProd,$preciounitarioCaja, $preciounitariofrcc,$bodega,$idVencimiento,$vendedorC,$clienteC,$participante);
             $ejecute= $ejecutarr->execute();  

          

           
             

        }






    }

    function guardarProductosagragados($mesa, $tipoiva,$codigo,$nombre,$cantcaja,$cantfrcc,$base, $valoriva,$Tprecio, $descuento,$dosisDias,$costoCaja, $costoFrr, $pcaja,$pfrcc, $bodega, $idVencimiento,$vendedorC,$clienteC,$participante,$cocina,$verificarDoble,$mensajepROD){


        if(!is_numeric($cantcaja)){
            $cantcaja=0;
        }
        if(!is_numeric($cantfrcc)){
            $cantfrcc=0;
        }
        if(!is_numeric($costoCaja)){
            $costoCaja=0;
        }
        if(!is_numeric($costoFrr)){
            $costoFrr=0;
        }
        if(!is_numeric($pcaja)){
            $pcaja=0;
        }
        if(!is_numeric($pfrcc)){
            $pfrcc=0;
        }
        if(!is_numeric($descuento)){
            $descuento=0;
        }
        if(!is_numeric($base)){
            $base=0;
        }
        if(!is_numeric($valoriva)){
            $valoriva=0;
        }

        
        if($verificarDoble==2){
            $mesa = trim($mesa);
            $bodega = trim($bodega);
            $codigo = trim($codigo);

            $consulta = $this->conectar->query(
                "SELECT `Cantida_caja`, `Cantida_frcc`, `precio`, `iva`, `Base`, `Descu` 
                 FROM `cotizacion` 
                 WHERE `numeroCotizacion` = '$mesa' AND `idbodegac` = $bodega AND `Codigo` = '$codigo'"
            );


            // echo "Mesa: $mesa, Bodega: $bodega, Codigo: $codigo<br>";

            // echo(var_dump($consulta ));
            // Verificar si la consulta devolvió resultados
            if ($consulta->num_rows > 0) {
                // Obtener los valores actuales
                $row = $consulta->fetch_assoc();
           
                // Acceder a los valores de las columnas
                $actual_cant_caja = $row['Cantida_caja'];
                $actual_cant_frcc = $row['Cantida_frcc'];
                $actual_precio = $row['precio'];
                $actual_iva = $row['iva'];
                $actual_base = $row['Base'];
                $actual_descu = $row['Descu'];
            
                // Sumar los valores actuales con los nuevos valores
                $nuevo_cant_caja = $actual_cant_caja + $cantcaja;
                $nuevo_cant_frcc = $actual_cant_frcc + $cantfrcc;
                $nuevo_precio = $actual_precio + $Tprecio;
                $nuevo_iva = $actual_iva + $valoriva;
                $nuevo_base = $actual_base + $base;
                $nuevo_descu = $actual_descu + $descuento;
                
                // Realizar el UPDATE
                $ejecutarr = $this->conectar->prepare(
                    "UPDATE `cotizacion` 
                     SET `Cantida_caja` = ?, `Cantida_frcc` = ?, `precio` = ?, `iva` = ?, `Base` = ?, `Descu` = ? 
                     WHERE `numeroCotizacion` = ? AND `idbodegac` = ? AND `Codigo` = ?"
                );
            
                $ejecutarr->bind_param("sssssssss", $nuevo_cant_caja, $nuevo_cant_frcc, $nuevo_precio, $nuevo_iva, $nuevo_base, $nuevo_descu, $mesa, $bodega, $codigo);
                $ejecute = $ejecutarr->execute();

            }  
        }else{

        $ejecutarr=$this->conectar->prepare( "INSERT INTO `cotizacion` (`numeroCotizacion`, `Codigo`, `Nombre`,
             `Cantida_caja`, `Cantida_frcc`, `precio`, `iva`, `tipo`, `Base`, `tratamiento`, `costoCaja`,
              `costoFrcc`, `Descu`, `preciounitarioCaja`,
               `preciounitariofrcc`,`idbodegac`,`idvencieminto`,
               `vendedorCot`,`cienteCot`,`participan`,`cocina`,`detalleProducto`)
               VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

            $ejecutarr->bind_param("ssssssssssssssssssssss",$mesa,$codigo,$nombre, $cantcaja,$cantfrcc,$Tprecio,$valoriva,
            $tipoiva, $base, $dosisDias, $costoCaja, $costoFrr,
             $descuento,$pcaja, $pfrcc,$bodega,$idVencimiento,$vendedorC,$clienteC,$participante,$cocina,$mensajepROD);
             $ejecute= $ejecutarr->execute();  

            
        }

        if($ejecute){
            echo("ok");
         }

    }
    function consultarNumeroCotizacion($bodega){

             $numcotiza= $this->conectar->query("SELECT * FROM `empresa` WHERE bodegaEm=$bodega"); 
             $numcotizacion=mysqli_fetch_object($numcotiza);
             $cotiz=$numcotizacion->cotizacion;
             $numeroCoti=$cotiz+1;            
            return $numeroCoti;
        


    }

    function actulizarNumeroCotizacion($numero,$bodega){


        $insertarfac="UPDATE `empresa` SET `cotizacion`=$numero WHERE bodegaEm=$bodega";            
        $actulizar=$this->conectar->query($insertarfac); 

        if( $actulizar){

            return true;
        }else{
            return false;
        }

    }
    
    function buscarProductosCotizacion($numeroCotizacion,$bodega){

        $consulta= ("SELECT * FROM `cotizacion` WHERE numeroCotizacion='$numeroCotizacion' and idbodegac=$bodega");        
        $resultado=$this->conectar->query($consulta);
        $fila=$resultado->fetch_all(MYSQLI_ASSOC);
       return $fila;
    }


    function quitarProductoMesa($numeroCotizacion,$bodega,$codigo){

        $numfact= $this->conectar->query("DELETE FROM `cotizacion` WHERE numeroCotizacion='$numeroCotizacion'AND Codigo='$codigo' AND idbodegac=$bodega"); 

        echo("ok");

    }





}











?>