
<?php
include("clase_cargue.php");
$data = json_decode(file_get_contents("php://input"), true);
if(isset($data["tipomovimi"])){
   
    $movimiento=$data["tipomovimi"];
    $provedor=$data["provedor"];
    $total=$data["total"];
    $fecha=$data["fechac"];
    $factura =str_replace(' ', '',($data["numfactcom"])); 

    $exento=$data["excento"];
    $excluido=$data["excluido"];
    $iva19=$data["iva19"];
    $iva5=$data["iva5"];
    $base19=$data["base19"];
    $base5=$data["base5"];
    $produtfact=$data["productos"];
    $tipoCompra=$data["tipocompra"];
    $tipodetalle=$data["tipodetalle"];
    $fechaActaRecep=$data["fechaActaRecep"];
    $bodega=$data["bodega"];
    $usuarioA=$data["usuarioA"];
    $preciosTodos=$data["preciosTodos"];
    $otroiva=$data["ivaotro"];
    $baseotro=$data["baseotro"];
    $descuCompra=$data["descuCompra"];
    $ordecompra=$data["ordecompra"];

    $retencionComp=$data["retencionComp"];

    $tipoRete=$data["tipoRete"];
   

    validadturnosentradas($bodega);
    turno($bodega);

    if($fechaActaRecep==""){
       $fechaActaRecep= date('Y-m-d H:i:s');
    }
     $fila = json_decode($produtfact, true);
    //$fila =$produtfact;

            if($factura=="" || $provedor==""){
                $dat=["res"=>"no","mensa"=>"No ha puesto ningun numero de factura o provedor"];
                echo(json_encode($dat));

            }else{
              
                if($movimiento=="compra"){
                    $consul=new carguefactura();
                    $c=$consul->consulnumfactur($factura,$provedor,$bodega);
                   
                
                    if($c){

                    $dat=["res"=>"no","mensa"=>"Esta factura ya existe"]; 
                    echo(json_encode($dat));
                   }else{
                    $v=$consul->buscliente($provedor);
                        if( $v==false){
                           
                            $dat=["res"=>"no","mensa"=>"el provedor no esta registrado"];
                             echo(json_encode($dat));
                        }
                        else{ 
                            if($ordecompra=="Si" ||  $_SESSION["inventarioLinea"]==0  ||  $_SESSION["inventarioLinea"]=="0" ){
                                $fa=$consul->consultarfactor($fila,$bodega);
                            }else{
                                $GLOBALS["factor"]=0;
                            }
                           
                            if($GLOBALS["factor"]==1){ 
                                $dat=["res"=>"no","mensa"=>'El producto no se puede cargar en fraccion'. $GLOBALS["prod"]];
                                 echo(json_encode($dat));
                            }else{
                                    if($tipoCompra=="Credito"){
                                        $valorcredi=$total-$retencionComp;
                                        $contado=0;
                                        $tarjetas=0; 
                                       
                                    }else{
                                         
                                   
                                        if($tipoCompra=="Banco"){
                                          $tarjetas=$total-$retencionComp;
                                          $valorcredi=0;
                                          $contado=0;
                                        }else{
                                            $tarjetas=0; 
                                            $valorcredi=0;
                                            $contado=$total-$retencionComp; 
                                        }
                                    }
                                    $guardarcompra=$consul->facturacompra($factura,$provedor,$base5,$iva5,$exento,$iva19,$base19,$total,$fecha,$excluido,$valorcredi,$bodega,$usuarioA,$otroiva,$baseotro,$retencionComp,$descuCompra,$tarjetas);                
                                    if($guardarcompra){
                                            
                                        if($ordecompra=="Si" || $ordecompra=="si" ||  $_SESSION["inventarioLinea"]==0  ||  $_SESSION["inventarioLinea"]=="0"){
                                             $productoscompra= $consul->productoscompra($fila,$factura,$fecha,$provedor,$fechaActaRecep,$bodega,$usuarioA,$preciosTodos,$ordecompra);   
                                             if($productoscompra==1 || $productoscompra==true)   {
                                                    $kardescompra=$consul->kardex($fila,$movimiento,$fecha,$factura,$provedor,$tipodetalle,$bodega,$usuarioA);
                                             } else{
                                                
                                                $dat=["res"=>"no","mensa"=>"Error al grabar la factura verifique los productos o llame al desarrollador"];
                                                echo(json_encode($dat));

                                             }                               
                                             
                                         } 
                                        /*
                                          $conex=new conexion();
                                          $conen=$conex->conectar();
                                          $consul1="DELETE FROM `temporal` WHERE numfactur=$factura and movimineto='$movimiento'";
                                          $resul=$conen->query($consul1);
                                        */
                                       
                                         
                                          try {
                                            
                                                
                                        if($_SESSION["tipoIva"]==0 || $_SESSION["tipoIva"]=="0"){
                                           $exento=$total;
                                        }


                                            // $consul->contabili($bodega,"Compra",$total,$factura,$provedor,0,$tipodetalle,$exento,$excluido,$base19,$iva19,$base5,$iva5,$fecha,$total,$otroiva,$baseotro);
                                            $consul->contabili($bodega,"Compra",$total,$factura,$provedor,0,$tipodetalle,0,0,0,0,0,0,$fecha,$total,0,0,0,0,$exento,$excluido,$base5,$iva5,$base19,$iva19,$otroiva,$baseotro,$tarjetas,$valorcredi,0,$contado,$retencionComp,$descuCompra,$tipoRete);
                                           
                                           
                                            $dat=["res"=>"ok","mensa"=>"Proeceso realizado con exito"];
                                            echo(json_encode($dat));  
                                        
                                        } catch (Exception $e) {
                                            echo(json_encode($dat));
                                        }                    
                                         
                                      
                                    
                                    }else{
                                        $dat=["res"=>"no","mensa"=>"Error al grabar la factura verifique los productos o llame al desarrollador"];
                                        echo(json_encode($dat));

                                    }
                            }    
                        
                        
                    }  

                  
                }




            }

                           



                    }

            } else{
            if($_POST["solicitud"]){

                $bodega=$_POST["bodega"];

                $solicitud=$_POST["solicitud"];

                if($solicitud==1){

                    $sali=new carguefactura();
                    $num=$sali->consusnumerosalida($bodega);
                    echo($num);
                    }else{
                        if($solicitud==2){

                        $ent=new carguefactura();
                        $num1=$ent->consusnumeroentrada($bodega);
                        echo($num1);
                        }else{
                            if($solicitud==3){

                                $ent=new carguefactura();
                                $num2=$ent-> consusnumeroobs($bodega);
                                echo($num2);


                        }
                        }  
                    }
                }}
            
                
                
        









