<?php

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

if(isset($_POST["dato"])){
  $GLOBALS["respuest"]=0;
   $GLOBALS["prod"]=0;
   $id=$_POST["id"];
   $total=$_POST["total"];
   $formaPago=$_POST["formaPago"];
   $cons=new datosElectronica();
   $validarCri=0;

   $validaclie=$cons->validadcliente($id);

   if($validaclie != 1){
    $dat=["respueta"=>"El cleinte No existe","produc"=>$validaclie,"estado"=>"no"];
    echo(json_encode($dat));

    die();
   }

   

   if($formaPago==1){
    $validarCri=1;
   }else{
    $validarCri=$cons->ventacredictocliente($id,$total);
   }
 

   if($validarCri==1){

   $fila=json_decode($_POST["productos"],true);
     $bodega=$_POST["bodega"];
    
     if($bodega==0){
      $dat=["respueta"=>"No ha selecionado Una Bodega","produc"=>$bodega,"estado"=>"no"];
      echo(json_encode($dat));

      die();
     }

      $validarProduc=$cons->consultarixistencias($fila,$bodega);
      if($GLOBALS["respuest"]==1){
                  
        $dat=["respueta"=>"No se permite factura en negativo","produc"=>$GLOBALS["prod"],"estado"=>"no"];
        echo(json_encode($dat));

      }else{
        if($GLOBALS["respuest"]==2){
            $dat=["respueta"=>"El producto no esta fracionado","produc"=>$GLOBALS["prod"],"estado"=>"no"];
            echo(json_encode($dat));
        }else{



          $datos=$cons->datosElect($bodega);
          echo(json_encode($datos));
        }
      }
    }else{
      $dat=["respueta"=>"El cliente no esta habiliatdo para facturar a credicto O no tiene Cupo Disponible","produc"=>$id,"estado"=>"no"];
    echo(json_encode($dat));
    }
}else{

  if(isset($_POST["dato1"])){
    
    $bodega=$_POST["bodega"];

 if($bodega==0){
      $dat=["respueta"=>"No ha selecionado Una Bodega","produc"=>$bodega,"estado"=>"no"];
      echo(json_encode($dat));
      
      die();
     }

    $cons=new datosElectronica();
    $datos1=$cons->datosDevolucionElectr($bodega);
      echo(json_encode($datos1));
    
    }else{
      if(isset($_POST["login"])){
        $bodega=$_POST["bodega"];

        if($bodega==0){
          $dat=["respueta"=>"No ha selecionado Una Bodega","produc"=>$bodega,"estado"=>"no"];
          echo(json_encode($dat));
          
          die();
         }

        $cons=new datosElectronica();
        $datos=$cons->datosElect($bodega);
        echo(json_encode($datos));
      }

    }
}  

class datosElectronica{


function __construct()
{
    $conn=new conexion();
    $this->conectar=$conn->conectar();
    

}


function validadcliente($id){
  
  $consulta="select * from clientes where cedula='$id'";     
  $resultado=$this->conectar->query($consulta);

   if($fila=mysqli_fetch_object($resultado)){
          return 1;
  }
    

}

function ventacredictocliente($id,$total){
  
  $consulta="select * from clientes where cedula='$id'";     
  $resultado=$this->conectar->query($consulta);

   if($fila=mysqli_fetch_object($resultado)){
     $activo=$fila->credicto;
     $cupo=trim($fila->cupo);
     $credValor=trim($fila->credValor);

     if(!is_numeric($credValor)){
      $credValor=0;
  }
  if(!is_numeric($cupo)){
      $cupo=0;
  }

     if($activo==1){
      $diferencia=(int)$cupo-((int)$total+$credValor);
      if($diferencia<0){
          return 2;
      }else{
          return 1;  
      }

     
     }else{
         return 2;
     }
     

  }  
    

}



function datosElect($bodega){

  $consulta="SELECT * FROM `empresa` where bodegaEm=$bodega ";
  $resultado=$this->conectar->query($consulta);
  $fila=mysqli_fetch_object($resultado);
  $numeroFactuElectro=$fila->numeroFactuElectro;
 
  $fecha=date('Y-m-d').'T'.date('H:i');
  $datos=(["resolucionElec"=>$fila->numeroResolucionElectro,"numeroFactuElectro"=>$numeroFactuElectro+1,
  "prefijo"=>$fila->prefijoElectro,"fecha"=>$fecha,"nitE"=>$fila->nit,"estado"=>"ok","userApi"=>$fila->userApi,"passApi"=>$fila->passApi]);

  return $datos;

}


function datosDevolucionElectr($bodega){

  $consulta="SELECT * FROM `empresa`  where bodegaEm=$bodega ";
  $resultado=$this->conectar->query($consulta);
  $fila=mysqli_fetch_object($resultado);
  
  $fecha=date('Y-m-d').'T'.date('H:i');
  $datos=(["fecha"=>$fecha,"nitE"=>$fila->nit,"NumeroDevolucion"=>$fila->devoElectroni]);

  return $datos;


}


 function consultarixistencias($fila,$bodega){


  
    
  foreach($fila as $valor) {
      $codigo=$valor["Codigo"];
      $nombre=$valor["Nombre"];
      $caja=$valor["Cantida_caja"];
      $frcc=$valor["Cantida_frcc"];
      $precio=$valor["precio"];  
      $consulta="SELECT * FROM `productos`  INNER JOIN inventarios on productos.codigo=inventarios.codigoProd where codigoProd='$codigo' AND idbodega=$bodega";     
      $resultado=$this->conectar->query($consulta);         
      $fi=mysqli_fetch_object($resultado);  

      $inventario= $fi->inventario;

      $factor=$fi->factor;   
      $controlInventario=$fi->controlInventario;

      $frccacaja=0;

      if($factor==0 && $frcc > 0){
          $GLOBALS["respuest"]=2;
          $GLOBALS["prod"]=$codigo;
      }else{

       

        if($controlInventario=="no"){
            


        }else{


              if($frcc>0){
                 


                 $inventarioEnfracc=round( $inventario*$factor,0);
                 $SaldoInventario=$inventarioEnfracc-$frcc;            
                
                 if($SaldoInventario==0){
                   $frccacaja=$inventario;
                  

                 }else{
                  $frccacaja= round( $frcc/$factor,3);
               
                 }
                

                 
              }
          
              
        
          
          $subtocaja=$frccacaja+(int)$caja;

          $inventariored=round($inventario,3);

          $total=round($inventariored-$subtocaja,3);  

      
          if($total<0){
           
            $GLOBALS["respuest"]=1;//1
            $GLOBALS["prod"]= $codigo;//$codigo
     
        }

          // if( $total == 0.001 || $total == 0.002 || $total == 0.003 || $total == 0.004 || $total == 0.005 || $total == 0.006 || $total == 0.007 || $total == 0.008 || $total == 0.009 || $total== -0.001 || $total== -0.002 || $total== -0.003 || $total== -0.004 || $total== -0.005 || $total== -0.006 || $total== -0.007 || $total== -0.008 || $total== -0.009) {
          //     $total=0;
          // }

      }
    }
    }

}



}




















?>