<?php

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

if(isset($_POST["idgastos"])){
    
    $idgastos= $_POST["idgastos"];
    $bodega=$_POST["bodega"];
    $consul =new consultas();

  
    
   $re=$consul->consultarGasto($idgastos,$bodega);
  
}else{

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

    $bodega=$_POST["bodega"];
   $valorRetiro=trim($_POST["valorRetiro"]);
   $efectivoDisponible=trim($_POST["efectivoDisponible"]);
   $nombre=$_POST["nombre"];
   $observacion=$_POST["observacion"];
   $usuarioA=$_POST["usuarioA"];
   $turnoR=$_POST["turnoR"];

date_default_timezone_set("America/Bogota");
 
//    validadturnogastos($bodega);
//    turno($bodega);
   
   $consul =new consultas();

   $re=$consul->retiroEfectivo($bodega, $valorRetiro,$efectivoDisponible,
   $nombre,$observacion,$usuarioA,$turnoR);
}else{
    if(isset($_POST["idretiro"])){
    
        $idretiro= $_POST["idretiro"];
        $bodega=$_POST["bodega"];
        $consul =new consultas();
    
      
        
       $re=$consul->consultarretiro($idretiro,$bodega);
      
    }

    
}

}


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

    $fecha= $_POST["fecha"];
    $bodega=$_POST["bodega"];
    $consul=new consultas();
    turno($bodega);
    $re=$consul->validarCUadre($fecha,$bodega);
  
  }
  
  if(isset($_POST["valorCuadre"])){
   $valorCuadre=   $_POST["valorCuadre"];
    $totalcaja=  $_POST["totalcaja"];
    $diferenica=  $_POST["diferenica"];
    $fecha= $_POST["fecha"];
    $validador=$_POST["validador"];
    $bodega=$_POST["bodega"];
    $valorRetiro=$_POST["retiro"];
    $GLOBALS["turnoo"]=$_POST["turno"];
    $GLOBALS["usuarioT"]=str_replace(' ', '',$_POST["turno"]);
    


    $valorEfectivo=$_POST["valorEfectivo"];
    $valorTrasferencia=$_POST["valorTrasferencia"];
    $valorTarjetas=$_POST["valorTarjetas"];
 
    $efectivoIngresado=$_POST["efectivoIngresado"];
    $trasferenciaIngresada=$_POST["trasferenciaIngresada"];
    $tarjetasIngresada=$_POST["tarjetasIngresada"];
 
    $diferenciaEfectivo=$_POST["diferenciaEfectivo"];
    $diferenicaTrasfe=$_POST["diferenciaTrasferencia"];
    $diferenicaTarjetas=$_POST["diferenicaTarjetas"];
    $ventadia=$_POST["ventadia"];
    $Basecaja=$_POST["Basecaja"];
    $nuevaBase=$_POST["nuevaBase"];
    $efect1=$_POST["efect1"];
$dineroEntregar=$_POST["dineroEntregar"];
$diferenicaDiner=$_POST["diferenicaDiner"];
$totalSuma=$_POST["totalSuma"];

    // "":dineroEntregar,
    //         "":diferenicaDiner,
    //         "":totalSuma
            
    
    
        turno($bodega);
    
    
   
    
    $consul=new consultas();
  $re=$consul->cuadreCaja($valorCuadre,$totalcaja,$diferenica,
  $fecha,$validador,$bodega,$valorRetiro,$valorEfectivo,$valorTrasferencia, $valorTarjetas,$efectivoIngresado,
  $trasferenciaIngresada,$tarjetasIngresada,$diferenciaEfectivo,
  $diferenicaTrasfe,$diferenicaTarjetas,$ventadia,$Basecaja, $nuevaBase,$efect1,$dineroEntregar,$diferenicaDiner,$totalSuma);
  
  

  }


if(isset($_POST["id"])){
$id=$_POST["id"];
$fc1=$_POST["fecha1"];
$fc2=$_POST["fecha2"];
$bodega=$_POST["bodega"];
turno($bodega);
$consul=new consultas();
$re=$consul->kardex($id,$fc1,$fc2,$bodega);



}else{
    if(isset($_POST["idclien"])){
        $id=$_POST["idclien"];
       
        $consul=new consultas();
       $cli=$consul-> buscliente($id);


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

             $cedula=   $_POST["cedula"];
             $nombre=   $_POST["nombre"];
             $apellido=   $_POST["apellido"];
             $dire= $_POST["dire"];
             $telef= $_POST["telef"];
             $activo= $_POST["activo"];
             $correo=$_POST["correo"];

             $tipoidentifi=$_POST["tipoidentifi"];
             $digitoverifi=$_POST["digitoverifi"];
             $naturaleza=$_POST["naturaleza"];
             $regimen= $_POST["regimen"];
             $responsabilidad=$_POST["responsabilidades"];
             $dciudadC=$_POST["dciudadC"];
             $cupo=$_POST["cupo"];
             $politicaDto=$_POST["politicaDto"];
            $Editartipocliente=$_POST["Editartipocliente"];
            $listaPreC=$_POST["listaPreC"];
            $alias=$_POST["alias"];

             $consul=new consultas();
            $validaCuidad=$consul->validarCiudad($dciudadC);
             if($validaCuidad){


              $cli=$consul-> actulizarcliente($cedula,$nombre,$apellido,$dire,$telef,$activo,$correo,$tipoidentifi,
              $digitoverifi,$naturaleza,$regimen,$responsabilidad, $dciudadC,$cupo,$politicaDto,$Editartipocliente,$listaPreC,$alias);
            }else{
                echo("La ciudad selecionada no existe");
            }

      }else{
        if(isset($_POST["cedulaabo"])){
            $cedula=$_POST["cedulaabo"];
            $abono=$_POST["abono"];
            $deuda=$_POST["deuda"];
           $nombrec=$_POST["nombre"];
           $bodega=$_POST["bodega"];
           $usuarioA=$_POST["usuarioA"];
           turno($bodega);
            $consul=new consultas();

            $cli=$consul->abonocartera($cedula,$abono,$deuda);
            $clie=$consul->carteraclientes($cedula,$nombrec,$abono,$bodega,$usuarioA);
        
        }else{

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

                $categoria=$_POST["codecategoria"];
                $nombrecateg=$_POST["nombrecateg"];

                $consul=new consultas();
                $agrecate=$consul->crearcategoria($categoria,$nombrecateg);



            }else{

                if(isset($_POST["codemarca"])){
                    $cmarca=$_POST["codemarca"];
                $nommarca=$_POST["nombremarca"];

                $consul=new consultas();
                $agrecate=$consul->crearmarca($cmarca,$nommarca);
                }
            }

        }
      }
    }
    
}

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

    $cedula=$_POST["cedulgasto"];
    $nombre=$_POST["nombregasto"];
    $tipogas=$_POST["tipogasto"];
    $valorgas=$_POST["valorgst"];
    $observacion=$_POST["observacion"];
    $usuarioA=$_POST["usuarioA"];
    $bodega=$_POST["bodega"];
    $FormaPagoGast=$_POST["FormaPagoGast"];
    $tipoCruze=$_POST["tipoCruze"];
    $fecha=$_POST["fecha"];
    


    validadturnogastos($bodega);
    turno($bodega);
    $guardad= new consultas();


    
        $grabar=$guardad->gastosdrogueria($cedula,$nombre,$tipogas,$valorgas,$observacion,$bodega,$usuarioA,$FormaPagoGast,$tipoCruze,$fecha);
    

    

    

}

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

    $cedula=$_POST["cedulPago"];
    $nombre=$_POST["nombrepago"];
    $tipogas=$_POST["tipopago"];

    $valorgas=$_POST["valorpago"];
    $observacion=$_POST["observacion"];

    $usuarioA=$_POST["usuarioA"];
    $bodega=$_POST["bodega"];

    $FormaPagoGast=$_POST["FormaPagopago"];
    $tipoCruze=$_POST["tipoCruzePa"];
    $facturaCruce=$_POST["facturaCruce"];
    $fechap=$_POST["fechap"];
    validadturnogastos($bodega);
    turno($bodega);
    $guardad= new consultas();
    if($facturaCruce==0 || $facturaCruce==" " || $facturaCruce==" "){
        $salodFactur=1;
    }else{
        $salodFactur=$guardad->validarSaldoFacPag($facturaCruce,$cedula,$valorgas);
    }
    
    
    if($salodFactur==1){
        $grabar=$guardad->Pagos($cedula,$nombre,$tipogas,$valorgas,$observacion,$bodega,$usuarioA,$FormaPagoGast,$tipoCruze,$facturaCruce,$fechap);
    }else{
        echo json_encode(["estado"=>"no","mensaje"=>"Supera el Saldo pendiente o factura no existe... Verifica ","id"=>$facturaCruce]);

    }
   


}

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

    $idProvedor=$_POST["idcliPagos"];
    $bodega=$bodega=$_POST["bodega"];
    $guardad= new consultas();
    $guardad->consultarFactasProvedores($idProvedor,$bodega);
}






class consultas{

function __construct()

{
 $conne=new conexion();
 $this->conectar=$conne->conectar();
    

}

public function validarSaldoFacPag($id,$provedor,$Abono){

    $sqll="SELECT * FROM `factcompra` WHERE factcompra='$id' and provedor='$provedor'";
    $resultadol=$this->conectar->query($sqll); 
    if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
        $saldoAbonado=$filal[0]["saldoAbonado"];
        $saldoPendiente=$filal[0]["saldoPendiente"];
        $retencion=$filal[0]["retencion"];
        $valorFact=$filal[0]["CompCredicto"];
        // $descuentoComp=$filal[0]["otroDato"];
        $totalAbonado=$saldoAbonado+$Abono;
        $restante=($valorFact)-$totalAbonado;
       
       
      

        if($restante >= 0){

            $sq="UPDATE `factcompra` SET saldoAbonado='$totalAbonado',saldoPendiente='$restante' WHERE factcompra='$id' and provedor='$provedor' " ;
            $resultadol1=$this->conectar->query($sq); 
            return 1;
        }else{
            return 0;
        }
        
    }else{
        return 0;
    }
}

public function consultarFactasProvedores($id,$bodega){

    $sqll = "SELECT `factcompra`, `fechacompra`, `saldoAbonado`, 
                `saldoPendiente`, `CompCredicto`,`otroDato`,`retencion`  
         FROM `factcompra` 
         WHERE CompCredicto > 0 
           AND (saldoAbonado - CompCredicto) <> 0 
           AND provedor = ?";

// Preparar la consulta
$stmt = $this->conectar->prepare($sqll);

// Verificar si la preparación fue exitosa
if ($stmt === false) {
    die("Error al preparar la consulta: " . $this->conectar->error);
}

// Asociar parámetros
$stmt->bind_param('s', $id); // Cambia 's' por 'i' si $id es numérico

// Ejecutar la consulta
$stmt->execute();

// Obtener los resultados
$resultadol = $stmt->get_result();

// Verificar si hay resultados
if ($resultadol) {
    $filal = $resultadol->fetch_all(MYSQLI_ASSOC);
    // Codificar el resultado como JSON
    echo utf8_encode(json_encode($filal));
} else {
    // En caso de que no haya resultados o haya un error
    echo json_encode([]);
}

// Cerrar la consulta
$stmt->close();



}

public function retiroEfectivo($bodega, $valorRetiro,$efectivoDisponible,$nombre,$observacion,$usuarioA,$turnoR){

    $fecha1=date('Y-m-d H:i:s');
$turno=trim($turnoR);



if($_SESSION["tipo"]==1){

        if($_SESSION["activarTurnos"]==2){
          $usuarioA=$GLOBALS["turno"];
        }else{
            $usuarioA=$_SESSION["usuario"];
        }
  
}else{
    $usuarioA= $_SESSION["usuario"];
}



     $valorDiferencia=trim($efectivoDisponible)-trim($valorRetiro);
 
    $datoss=$this->conectar->prepare("INSERT INTO `retirosefe` (`valorretiro`, `ValorDisponible`,
     `DiferenciaValor`, `Responsable`, `ObservacionReti`, `usuario`, 
     `TurnoRet`, `bodegaRetir`,`fechaRetiro`) VALUES (?,?,?,?,?,?,?,?,?)");
   $datoss->bind_param("sssssssss",$valorRetiro,$efectivoDisponible,$valorDiferencia,
   $nombre,$observacion,$usuarioA,$turno,$bodega,$fecha1);
   $ejec=$datoss->execute();

    
 
    if($ejec){
        $id=mysqli_insert_id($this->conectar);
        echo json_encode(["estado"=>"ok","mensaje"=>"Preceso Realizado con Exito","id"=>$id]);
    }else{
        echo json_encode(["estado"=>"no","mensaje"=>"Error al realizar Retiro","id"=>0]); 
    }


}
public function Pagos($cedula,$nombre,$tipogas,$valorgas,$observacion,$bodega,$usuarioA,$FormaPagoGast,$tipoCruze,$facturaCruce,$fechap)
{
    
    
 
            $contado=0;
            $credito=0;
            $trasferencias=0;
            $fecha1=date("Y-m-d");

        if($FormaPagoGast=="Contado"){
            $contado=$valorgas;
            

            $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='T' and bodegaMovi=$bodega";
            $resultadol=$this->conectar->query($sqll); 
        
            if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                
            }else{
                $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='T' and bodegaMovi=1";
                $resultadol=$this->conectar->query($sqll); 
                if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                    $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                    
                }
        
            }

        }elseif ($FormaPagoGast=="Banco") {
            $trasferencias=$valorgas;
           

            
            $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='TJ' and bodegaMovi=$bodega";
            $resultadol=$this->conectar->query($sqll); 
        
            if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                
            }else{
                $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='TJ' and bodegaMovi=1";
                $resultadol=$this->conectar->query($sqll); 
                if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                    $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                    
                }
        
            }

        }elseif ($FormaPagoGast=="TRAS") {
            $trasferencias=$valorgas;
           

            
            $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='TRAS' and bodegaMovi=$bodega";
            $resultadol=$this->conectar->query($sqll); 
        
            if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                
            }else{
                $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Pagos' and TipoValor='TRAS' and bodegaMovi=1";
                $resultadol=$this->conectar->query($sqll); 
                if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
                    $cuentaFormapagoGasto=$filal[0]["CuentaM"];
                    
                }
        
            }

        }
      


       


        
      
        $efectivo=0;
        $bancos=0;
        $TRAS=0;
        if($FormaPagoGast=="Contado"){
            $efectivo=$valorgas;
        }else{
            if($FormaPagoGast=="Banco"){
                $bancos=$valorgas;
            }else{
                if($FormaPagoGast=="TRAS"){
                    $TRAS=$valorgas;
                }

            }
        }

        $observacion1=$observacion;
        $cruze=0;
        $cruceContabili=";Pagos:".$facturaCruce;
       
        if($tipoCruze=="CajaMayor"){
            $observacion1=$observacion." ".$fecha1. " "."Caja Mayor";
            $cruze=1;
        }
        $observacion1= $observacion1.$cruceContabili;
        
        $datos=$this->conectar->prepare("INSERT INTO gastos ( `cedulaclie`, `nombrecli`, `tipoGast`, `valorg`,`fecha`, `observacion`,`idbodegaG`,`usuariog`,`gaturno`,`tipoCruze`) VALUES (?,?,?,?,?,?,?,?,?,?)");
        $datos->bind_param("ssssssssss",$cedula,$nombre,$tipogas,$valorgas,$fechap,$observacion1,$bodega,$usuarioA,$GLOBALS["turno"],$cruze);
        $datos->execute();



        

        // $idPago=strtotime(date('Y-m-d H:i:s'));

        $sql="SELECT MAX(idg) AS id FROM gastos;";
        $resultado=$this->conectar->query($sql); 
        $fila=$resultado->fetch_all(MYSQLI_ASSOC);
        $idPago=$fila[0]["id"];
if($facturaCruce=="" || $facturaCruce==0 || $facturaCruce=="0" || $facturaCruce==" "){
    $numecruce=$idPago;
}else{
    $numecruce=$facturaCruce;
}

        contabilidad($bodega,"Pagos",$valorgas,
        $numecruce,
        $cedula,$valorgas,$observacion."_id_cruce".$idPago,0,0,0,0,0,0,
        $fechap,$valorgas,0,0,0,0,0,0,0,0,0,0,0,0,0,
        $credito,$trasferencias,$contado,$tipogas,$cuentaFormapagoGasto);

       


        
            CajaMayor("Pagos", $observacion."_id_cruce".$numecruce,$_SESSION["usuario"] ,$bodega, $GLOBALS["turno"],$idPago,
            $fechap,$efectivo,$bancos,"resta",$cedula,$TRAS);


        
     

            echo json_encode(["estado"=>"ok","mensaje"=>"Preceso Realizado con Exito","id"=>$idPago]);


    // // }else{

    //     echo json_encode(["estado"=>"no","mensaje"=>"Preceso NO Realizado, Verifique datos","id"=>""]);
    

    // // }





}
function kardex($id,$fecha1,$fecha2,$bodega){

    if($bodega==0){
        $consulta="SELECT  `cliente`, `numero`, `producto`, `tipo`, 
        `caja`, `frcc`, `inventarioo`, `fecha`, `inventFrcc`,`nombre`, `valoUnitcaja`,`valorUnifrcc`,`idbodegaK`,`usuariok` ,`detalle` FROM `kardex` INNER JOIN productos on kardex.producto=productos.codigo WHERE LEFT(fecha  ,10)  BETWEEN '$fecha1' AND '$fecha2'AND producto='$id'";
        $resultado=$this->conectar->query($consulta);
    }else{
        $consulta="SELECT  `cliente`, `numero`, `producto`, `tipo`, 
        `caja`, `frcc`, `inventarioo`, `fecha`, `inventFrcc`,`nombre`, `valoUnitcaja`,`valorUnifrcc`,`idbodegaK`,`usuariok`,`detalle`  FROM `kardex` INNER JOIN productos on kardex.producto=productos.codigo WHERE LEFT(fecha  ,10)  BETWEEN '$fecha1' AND '$fecha2'AND producto='$id' and idbodegaK=$bodega ";
        $resultado=$this->conectar->query($consulta);
    }
$fila=$resultado->fetch_all(MYSQLI_ASSOC);
    echo(json_encode($fila));




}
public function  validarCiudad($codCiudad){
    $consulta="select * from ciudades where CodigoDIAN = '$codCiudad'";     
    $resultado=$this->conectar->query($consulta);
    if( $fila=mysqli_fetch_object($resultado)){
       return true;
    }else{
        return false;

    }


}

public function buscliente($id){

       
    $consulta="select * from clientes where cedula='$id'";     
    $resultado=$this->conectar->query($consulta);
    if( $fila=mysqli_fetch_object($resultado)){
        
        $sucu="SELECT * FROM sucursalesclientes where idClienteP='$id'";
        $resSuc=$this->conectar->query($sucu);
        $fila2=$resSuc->fetch_all(MYSQLI_ASSOC);

        echo (json_encode(["cliente"=>$fila,"sucursales"=> $fila2]));

    }else{
    $consulta="select * from clientes where telefono='$id'";     
    $resultado=$this->conectar->query($consulta);
    if( $fila=mysqli_fetch_object($resultado)){

        $sucu="SELECT * FROM sucursalesclientes where idClienteP='$id'";
        $resSuc=$this->conectar->query($sucu);
        $fila2=$resSuc->fetch_all(MYSQLI_ASSOC);

        echo (json_encode(["cliente"=>$fila,"sucursales"=> $fila2]));

      
       }else{  
         $fila=["Nombre"=>"","direccion"=>""];
         echo (json_encode(["cliente"=>$fila,"sucursales"=> ""]));
       }

    }
   
   



}

function actulizarcliente($cedula,$nombre,$apellido,$direc,$telefono,$activo,$correo,$tipoidentifi,
$digitoverifi,$naturaleza,$regimen,$responsabilidad,$ciudad,$cupo,$politicaDto,$Editartipocliente,$listaPreC,$alias){

    if(!is_numeric(trim($politicaDto))){
        $politicaDto=0;
    }

    
    $consulta=$this->conectar->prepare("UPDATE `clientes` SET `Nombre`=?,`direccion`=?,`telefono`=?,
    `apellido`=?,`credicto`=?,`correo`=?,`tipoId`=?,`dv`=?
    ,`naturaleza`=?,`regimen`=?,`responsabilidad`=?,
    `codigociudad`=?,`cupo`=?,`dtoclie`=?, `otros`=?,`listaprecio_defec`=?,`Alias`=? WHERE cedula=?");
    $consulta->bind_param("ssssssssssssssssss",$nombre,$direc,$telefono,$apellido,$activo,$correo,$tipoidentifi,
     $digitoverifi,$naturaleza,$regimen,$responsabilidad,$ciudad,$cupo,$politicaDto,$Editartipocliente,$listaPreC,$alias,$cedula);
    $consulta->execute(); 

    if($consulta){

        echo("Datos actilizados con exito");
    }

}

function abonocartera($cedula,$abono,$deuda){
     $valor=(int)$deuda-(int)$abono;
    $consulta=$this->conectar->prepare("UPDATE `clientes` SET `credValor`=? WHERE cedula=?");
    $consulta->bind_param("ss",$valor,$cedula);
    $consulta->execute(); 

   

}

function carteraclientes($cedula,$nombre,$abono,$bodega,$usuarioA){
$fecha=date("Y-m-d");
  $consulta=$this->conectar->prepare( " INSERT INTO `carteracliente`( `cedCliente`, `Nombrec`, `abono`, `fechaAbono`,`idbodega`,`usuario`,`carturno`)
   VALUES (?,?,?,?,?,?,?)");

 $consulta->bind_param("sssssss",$cedula,$nombre,$abono,$fecha,$bodega,$usuarioA,$GLOBALS["turno"]);
 $consulta->execute();


 if($consulta){

    echo("Abono realizado con exito");
 }
}


function crearcategoria($codec,$nombre){

    $consulta=$this->conectar->prepare( "INSERT INTO `categoria`(`codcategoria`, `nomcategoria`) VALUES (?,?)"); 
  $consulta->bind_param("ss",$codec,$nombre);
  $consulta->execute();
 
    if($consulta){
       
        echo("Categoria creada con exito");
    }



}


function crearmarca($codec,$nombre){

 $consulta=$this->conectar->prepare( "INSERT INTO `marca`(`codmarca`, `nommarca`) VALUES (?,?)"); 
  $consulta->bind_param("ss",$codec,$nombre);
  $consulta->execute();
 
    if($consulta){
       
        echo("Marca creada con exito");
    }


}



function gastosdrogueria($cedula,$nombre,$tipogas,$valorgas,$observacion,$bodega,$usuarioA,$FormaPagoGast,$tipoCruze,$fecha){
    
   
    $observacion1=$observacion;
    $cruze=0;
    $fecha1=$fecha." ". date('H:i:s');
    if($tipoCruze=="CajaMayor" || $FormaPagoGast=="Credito"){
        $observacion1=$observacion." ".$fecha1. " "."Caja Mayor";
        $cruze=1;
    }
    $datos=$this->conectar->prepare("INSERT INTO gastos ( `cedulaclie`, `nombrecli`, `tipoGast`, `valorg`,`fecha`, `observacion`,`idbodegaG`,`usuariog`,`gaturno`,`tipoCruze`) VALUES (?,?,?,?,?,?,?,?,?,?)");
    $datos->bind_param("ssssssssss",$cedula,$nombre,$tipogas,$valorgas,$fecha1,$observacion1,$bodega,$usuarioA,$GLOBALS["turno"],$cruze);
    $datos->execute();



    if($datos){

             $sql="SELECT MAX(idg) AS id FROM gastos;";
            $resultado=$this->conectar->query($sql); 
            $fila=$resultado->fetch_all(MYSQLI_ASSOC);
            $idGasto=$fila[0]["id"];
     
            $contado=0;
            $credito=0;
            $trasferencias=0;
            

if($FormaPagoGast=="Contado"){
    $contado=$valorgas;

    $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='T' and bodegaMovi=$bodega";
    $resultadol=$this->conectar->query($sqll); 

    if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
        $cuentaFormapagoGasto=$filal[0]["CuentaM"];
       
        
    }else{
        $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='T' and bodegaMovi=1";
        $resultadol=$this->conectar->query($sqll); 
        if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
            $cuentaFormapagoGasto=$filal[0]["CuentaM"];
            
        }

    }
    
    

    

}elseif($FormaPagoGast=="Credito"){
    $credito=$valorgas;
    

    $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='CRD' and bodegaMovi=$bodega";
    $resultadol=$this->conectar->query($sqll); 

    if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
        $cuentaFormapagoGasto=$filal[0]["CuentaM"];
        
    }else{
        $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='CRD' and bodegaMovi=1";
        $resultadol=$this->conectar->query($sqll); 
        if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
            $cuentaFormapagoGasto=$filal[0]["CuentaM"];
            
        }else{
            $cuentaFormapagoGasto="233598";
        }

    }

}elseif ($FormaPagoGast=="Banco") {
    $trasferencias=$valorgas;
    
    $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='TJ' and bodegaMovi=$bodega";
    $resultadol=$this->conectar->query($sqll); 

    if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
        $cuentaFormapagoGasto=$filal[0]["CuentaM"];
        
    }else{
        $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='TJ' and bodegaMovi=1";
        $resultadol=$this->conectar->query($sqll); 
        if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
            $cuentaFormapagoGasto=$filal[0]["CuentaM"];
            
        }else{
            $cuentaFormapagoGasto="111001";
        }

    }
}

elseif ($FormaPagoGast=="TRAS") {
    $trasferencias=$valorgas;
    
    $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='TRAS' and bodegaMovi=$bodega";
    $resultadol=$this->conectar->query($sqll); 

    if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
        $cuentaFormapagoGasto=$filal[0]["CuentaM"];
        
    }else{
        $sqll="SELECT * FROM `tiposmoviminetos` WHERE tipoMovimento='Gasto' and TipoValor='TRAS' and bodegaMovi=1";
        $resultadol=$this->conectar->query($sqll); 
        if($filal=$resultadol->fetch_all(MYSQLI_ASSOC)){
            $cuentaFormapagoGasto=$filal[0]["CuentaM"];
            
        }else{
            $cuentaFormapagoGasto="111001";
        }

    }
}
      
        contabilidad($bodega,"Gasto",$valorgas,
        $idGasto,
        $cedula,$valorgas,$observacion,0,0,0,0,0,0,
        $fecha1,$valorgas,0,0,0,0,0,0,0,0,0,0,0,0,0,
        $credito,$trasferencias,$contado,$tipogas,$cuentaFormapagoGasto);

        // if($tipoCruze=="CajaMayor"){


            $efectivo=0;
            $bancos=0;
            $TRAS=0;
            if($FormaPagoGast=="Contado"){
                $efectivo=$valorgas;
            }else{
                if($FormaPagoGast=="Banco"){
                    $bancos=$valorgas;
                }elseif($FormaPagoGast=="TRAS"){
                    $TRAS=$valorgas;
                }
            }
            
                CajaMayor("Gasto", $observacion,$_SESSION["usuario"] ,$bodega, $GLOBALS["turno"],$idGasto,
                $fecha1,$efectivo,$bancos,"resta",$cedula,$TRAS);
        
        //  }

        echo json_encode(["estado"=>"ok","mensaje"=>"Preceso Realizado con Exito","id"=>$idGasto]);
    }else{

        echo json_encode(["estado"=>"no","mensaje"=>"Preceso NO Realizado, Verifique datos","id"=>""]);
    

    }


// caja mayor











}

public function cuadreCaja($valorCuadre,$totalcaja,$diferenica,$fecha,$validador,$bodega,$valorRetiro,$valorEfectivo,$valorTrasferencia, $valorTarjetas,$efectivoIngresado,
$trasferenciaIngresada,$tarjetasIngresada,$diferenciaEfectivo,
$diferenicaTrasfe,$diferenicaTarjetas,$ventadia,$Basecaja, $nuevaBase,$efect1,$dineroEntregar,$diferenicaDiner,$totalSuma)
{


        $TURN=$GLOBALS["turno"];
        if($_SESSION["activarTurnos"]==2){
            if( $GLOBALS["usuarioT"]==""){
                $USUARIO=$_SESSION["usuario"];
            }else{
                $USUARIO=$GLOBALS["usuarioT"];
            }
        }else{
           
                $USUARIO=$_SESSION["usuario"];
          
        }
       
       

    if($validador==2){

        

        if($_SESSION["activarTurnos"]==2){
            $consultaz="SELECT * FROM `cuadrecaja` WHERE fecha='$fecha' AND idbodega=$bodega AND usercuadre	='$USUARIO'";
        }else{

        if($GLOBALS["turnoo"]==""){
            $consultaz="SELECT * FROM `cuadrecaja` WHERE fecha='$fecha' AND idbodega=$bodega AND cdturno='$TURN'";     
        }else{
            $TURN=$GLOBALS["turnoo"];
            $consultaz="SELECT * FROM `cuadrecaja` WHERE fecha='$fecha' AND idbodega=$bodega AND cdturno='$TURN'";     
        }
    }
        $resultadoz=$this->conectar->query($consultaz); 
    
    
        if( $fila=mysqli_fetch_object($resultadoz)){

            //
            // ,,,
            // ,

       
        if($_SESSION["activarTurnos"]==2){
            $insert=("UPDATE `cuadrecaja` SET 
            `ventadia`=$ventadia,
            `valorIngresado`=$valorCuadre,
            `Diferencia`=$diferenica,
            `valorRetiros`='$valorRetiro',
            `ingreEfect`=$efectivoIngresado ,
            `DiferenEfecti`=$diferenciaEfectivo ,
            `ingresoTrasfer`=$trasferenciaIngresada ,
            `DiferenciTrasfer`=$diferenicaTrasfe,
            `ingresoTarjet`=$tarjetasIngresada,
            `DiferenciaTarjet`=$diferenicaTarjetas,
            `ventaEfectivo`=$valorEfectivo,
            `ventaTrasfere`=$valorTrasferencia,
            `ventatarjetas`=$valorTarjetas,
            `valorCuadre`=$totalcaja,
            `baseCaja`=$nuevaBase,
            `basecajaAnterior`=$Basecaja,
             `efectivo1`=$efect1,
              `dineroEntregadoOfic`=$dineroEntregar,
               `diferenciaCuadreMoned`=$diferenicaDiner,
                `totalRecojidoCuadr`=$totalSuma
                 

                         WHERE fecha='$fecha' AND idbodega=$bodega AND  usercuadre	='$USUARIO' ");
        }else{
            $insert=("UPDATE `cuadrecaja` SET 
            `ventadia`=$ventadia,
            `valorIngresado`=$valorCuadre,
            `Diferencia`=$diferenica,
            `valorRetiros`='$valorRetiro',
            `ingreEfect`=$efectivoIngresado ,
            `DiferenEfecti`=$diferenciaEfectivo ,
            `ingresoTrasfer`=$trasferenciaIngresada ,
            `DiferenciTrasfer`=$diferenicaTrasfe,
            `ingresoTarjet`=$tarjetasIngresada,
            `DiferenciaTarjet`=$diferenicaTarjetas,
            `ventaEfectivo`=$valorEfectivo,
            `ventaTrasfere`=$valorTrasferencia,
            `ventatarjetas`=$valorTarjetas,
            `valorCuadre`=$totalcaja,
            `baseCaja`=$nuevaBase,
              `basecajaAnterior`=$Basecaja,
              `dineroEntregadoOfic`=$dineroEntregar,
               `diferenciaCuadreMoned`=$diferenicaDiner,
                `totalRecojidoCuadr`=$totalSuma      
            
             WHERE fecha='$fecha' AND idbodega=$bodega AND  cdturno='$TURN'");
        }
            $resultado=$this->conectar->query($insert); 
            if($resultado){
                echo (1);
        
            }else{
                echo($resultado);
                //echo("no"); 
            }
    
          
        }else{

           
          
                $insert=("INSERT INTO `cuadrecaja`(`fecha`,
                 `ventadia`, `valorIngresado`, `Diferencia`,
                 `idbodega`,`cdturno`,`valorRetiros`,`usercuadre`,
                 `ingreEfect`,  `DiferenEfecti`,
            `ingresoTrasfer`,`DiferenciTrasfer`,`ingresoTarjet`,
            `DiferenciaTarjet`,`ventaEfectivo`,`ventaTrasfere`,
            `ventatarjetas`,`valorCuadre`,`basecajaAnterior`,`baseCaja`,`efectivo1`,`dineroEntregadoOfic`
            ,`diferenciaCuadreMoned`,`totalRecojidoCuadr`
                 ) VALUES ('$fecha','$ventadia','$valorCuadre','$diferenica',$bodega,'$TURN','$valorRetiro','$USUARIO',
                 '$efectivoIngresado' ,'$diferenciaEfectivo','$trasferenciaIngresada','$diferenicaTrasfe',
            '$tarjetasIngresada','$diferenicaTarjetas','$valorEfectivo','$valorTrasferencia','$valorTarjetas','$totalcaja',
            '$Basecaja','$nuevaBase','$efect1','$dineroEntregar','$diferenicaDiner','$totalSuma'
                 )");
            $resultado=$this->conectar->query($insert); 


             if ($resultado == TRUE) {
                
                
                    if($_SESSION["activarTurnos"]==1){

                        $tur="UPDATE `empresa` SET `estadoTurno`='c' WHERE bodegaEm=$bodega";
                        $resultadoo=$this->conectar->query($tur);

                        if ($resultadoo == TRUE) {  
                            echo (1);
                    
                        }else{
                          
                            echo("no"); 
                        }
                    }else{
                        echo (1); 
                    }
                    
            
            } else {
                echo("no");          
               
             
            }    
           }

        



    }else{

        $insert=("INSERT INTO `cuadrecaja`(`fecha`, `ventadia`,
         `valorIngresado`, `Diferencia`,`idbodega`,
         `cdturno`,`valorRetiros`,`usercuadre`,`ingreEfect` ,  `DiferenEfecti` ,
            `ingresoTrasfer`,`DiferenciTrasfer`,`ingresoTarjet`,
            `DiferenciaTarjet`,`ventaEfectivo`,`ventaTrasfere`,
            `ventatarjetas`,`valorCuadre`,`basecajaAnterior`,`baseCaja`,`efectivo1`,`dineroEntregadoOfic`
            ,`diferenciaCuadreMoned`,`totalRecojidoCuadr`) VALUES ('$fecha','$ventadia','$valorCuadre','$diferenica',
            $bodega,'$TURN','$valorRetiro','$USUARIO','$efectivoIngresado','$diferenciaEfectivo','$trasferenciaIngresada','$diferenicaTrasfe',
            '$tarjetasIngresada','$diferenicaTarjetas','$valorEfectivo','$valorTrasferencia',
            '$valorTarjetas','$totalcaja','$Basecaja','$nuevaBase','$efect1','$dineroEntregar','$diferenicaDiner','$totalSuma')");
          $resultado=$this->conectar->query($insert); 
        


        if ($resultado == TRUE) {
                
                
                    if($_SESSION["activarTurnos"]==1){
                        
                        $tur="UPDATE `empresa` SET `estadoTurno`='c' WHERE bodegaEm=$bodega";
                        $resultadoo=$this->conectar->query($tur);

                        if ($resultadoo == TRUE) {  
                            echo (1);
                    
                        }else{
                          
                            echo("no"); 
                        }
                    }else{
                        echo (1); 
                    }
                    
            
            } else {
                echo("no");          
               
             
            }  






    }

   if(($_SESSION["cuadreDetallado"]==""|| $_SESSION["cuadreDetallado"]==" ") && ($_SESSION["cuadreCaja"]=="true" || $_SESSION["cuadreCaja"]==true)){
    // $nuevaBase

     
    $nuevaB="UPDATE `bodegas` SET `baseCaja`='$nuevaBase' WHERE id=$bodega";
    $resultadoo=$this->conectar->query($nuevaB);
   }



}

public function validarCUadre($fecha2,$bodega){
    $TURN=$GLOBALS["turno"];
    
    $USUARIO= $_SESSION["usuario"];
  if($_SESSION["activarTurnos"]==2){

     $consulta="SELECT * FROM `cuadrecaja` WHERE fecha='$fecha2' AND idbodega=$bodega AND usercuadre='$USUARIO' ";     
 
    }else{
    
        $consulta="SELECT * FROM `cuadrecaja` WHERE fecha='$fecha2' AND idbodega=$bodega AND cdturno='$TURN' ";     
    }
    $resultado=$this->conectar->query($consulta); 


    if( $fila=mysqli_fetch_object($resultado)){
        echo ("no");

      
       }else{  
        echo (1);
       }
    }



    public function consultarGasto($id,$bodega){

        $idd=trim($id);
        $sql="SELECT * FROM gastos where idg=$idd";
        $resultado=$this->conectar->query($sql); 
        $fila=$resultado->fetch_all(MYSQLI_ASSOC);
        echo (json_encode($fila));

      


    }

    public function consultarretiro($idretiro,$bodega){

        $idd=trim($idretiro);
        $sql="SELECT * FROM retirosefe where id=$idd";
        $resultado=$this->conectar->query($sql); 
        $fila=$resultado->fetch_all(MYSQLI_ASSOC);
        echo (json_encode($fila));

      


    }

    

}

?>