<?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 = ($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"];
    $bodega=$data["bodega"];
    $usuarioA=$data["usuarioA"];
    $otroiva=$data["ivaotro"];
    $baseotro=$data["baseotro"];

    validadturnosentradas($bodega);
    turno($bodega);
    $fila =json_decode($produtfact,true);

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

            }else{
              
               
                    if($movimiento=="salida"){
                            $GLOBALS["respuest"]=0; 
                            $consul=new carguefactura();                     
                            $v=$consul->buscliente($provedor);

                            $numentra=$consul-> consusnumerosalida($bodega);

                            if( $numentra > $factura ){
                                $dat=["res"=>"no","mensa"=>"Numero de salida ya existe. EL MOVIMIENTO YA FUE GRABADO"];
                                echo(json_encode($dat));
                               
            
                            }else{


                            if( $v==false){
                                $dat=["res"=>"no","mensa"=>"el provedor no esta registrado"];
                                echo(json_encode($dat));


                            } else{ 
                               



                              if( $_SESSION["inventarioLinea"]==0  ||  $_SESSION["inventarioLinea"]=="0"){
                               $existe=$consul->consultarixistencias($fila,$bodega);
                              }else{
                                 $GLOBALS["respuest"]=0;
                              }
               
                               if($GLOBALS["respuest"]==1){
                                $dat=["res"=>"no","mensa"=>'No se permiten rojos en bodega'. $GLOBALS["prod"]];
                                echo(json_encode($dat));
                                  

                               } else{
                                        if($GLOBALS["respuest"]==2){  
                                            $dat=["res"=>"no","mensa"=>'Revise producto no fraccionado o inventario en cero'. $GLOBALS["prod"]];
                                            echo(json_encode($dat));

                                        }else{
                                           if( $_SESSION["inventarioLinea"]==0  ||  $_SESSION["inventarioLinea"]=="0"){
                                                   $exit=$consul->salida($fila,$bodega);
                                                   if($exit) {

                                                   
                                                   $kardessalida=$consul->kardex($fila,$movimiento,$fecha,$factura,$provedor,$tipodetalle,$bodega,$usuarioA);
                                           
                                                   }else{
                                                    $dat=["res"=>"no","mensa"=>"error al ejecutar salida "];
                                                    echo(json_encode($dat));
                                                }
                                           
                                                }else{
                                                        $exit=true;
                                           }
                                                    
                                                    if($exit){

                                                
                                                        $z=$consul->actulizarnumersalida($factura,$bodega);
                                                        
                                                

                                                        $dat=["res"=>"ok","mensa"=>"proceso realizado con exito"];
                                                        echo(json_encode($dat));
                                                        try {
                                                                if($tipoCompra=="Aft_Cuadre"){
                                                                    $consul->carteracliente($provedor,"Salida_Inventario",$total,$bodega,$usuarioA,$tipodetalle,$factura);
                                                                }
                                                            // $consul->contabili($bodega,"Salida",$total,$factura,$provedor,0,$tipodetalle,$exento,$excluido,$base19,$iva19,$base5,$iva5,$fecha,$total,$otroiva,$baseotro);
                                                        } catch (Exception $e) {
                                                            echo(json_encode($dat));
                                                        }  
                                                        
                                                    
                                                }else{
                                                    $dat=["res"=>"no","mensa"=>"error al ejecutar salida "];
                                                    echo(json_encode($dat));
                                                }
                                                

                                            }
                               
                                        }}}}}

                                        
                                    }

                               
                             
                                   
                                   