<?php 
$r="../";
require_once($r."inc/funciones.php");
validNotSession($r);
$mysqli = connectDB($r);
$iduser=$_SESSION['userid'];

if(isset($_POST['opencaja'])){
    $fecha = $_POST['fecha'];
    $detalle = 'SALDO ANTERIOR';
    $nombre = $_POST['nombre'];
    if($nombre == "OTRO"){
        $otro = strtoupper($_POST['otro']);
        $sql0 = $mysqli->query("SELECT * FROM `z_caja_new_usuarios` WHERE `nombre` LIKE '$otro'");
        if ($sql0->num_rows == 0) {
            $mysqli->query("INSERT INTO `z_caja_new_usuarios`(`nombre`) VALUES ('$otro')");
            $nombre = $lastInsertedId = $mysqli->insert_id;
        }else{
            $respuesta['tipo'] = 'msn';
            $respuesta['title'] = 'ERROR';
            $respuesta['mensaje'] = "EL USUARIO $otro YA SE ENCUENTRA REGISTRADO";
            header('Content-Type: application/json');
            echo json_encode($respuesta);
            exit();
        }
    }
    
    $ingreso = $_POST['ingreso'];
    $sql0 = $mysqli->query("SELECT * FROM `z_caja_new` WHERE `fecha` = '$fecha' AND `tipo` LIKE '1'");
    if ($sql0->num_rows == 0) {
        $mysqli->query("INSERT INTO `z_caja_new` (`fecha`, `detalle`, `usuario`, `ingreso`, `idusuario_creador`, `tipo`, `estado`) VALUES ('$fecha', '$detalle', '$nombre', '$ingreso', '$iduser', '1', '0')");
        $idcaja = $mysqli->insert_id;
        $respuesta['tipo'] = 'redirect';
        $respuesta['url'] = 'caja_ver.php?id='.$idcaja;
        
    }else{
        $respuesta['tipo'] = 'msn';
        $respuesta['title'] = 'ERROR';
        $respuesta['mensaje'] = "LA $fecha YA CUENTA CON UNA CAJA DEL DIA ";
    }
    header('Content-Type: application/json');
    echo json_encode($respuesta);
    exit();
    
}

if(isset($_POST['add'])){
    $fecha = $_POST['fecha'];
    $detalle = strtoupper($_POST['detalle']);
    $nombre = $_POST['nombre'];
    if($nombre == "OTRO"){
        $otro = $mysqli->real_escape_string($_POST['otro']);
        $otro = strtoupper($otro);
        $sql0 = $mysqli->query("SELECT * FROM `z_caja_new_usuarios` WHERE `nombre` LIKE '$otro'");
        if ($sql0->num_rows == 0) {
            $mysqli->query("INSERT INTO `z_caja_new_usuarios`(`nombre`) VALUES ('$otro')");
            $nombre = $lastInsertedId = $mysqli->insert_id;
            $respuesta['addnombre'] = $otro;
            $respuesta['addvalor'] = $nombre;
            $respuesta['adderror'] = $_POST['otro'];
            
        }else{
            $respuesta['tipo'] = 'msn';
            $respuesta['title'] = 'ERROR';
            $respuesta['mensaje'] = "EL USUARIO $otro YA SE ENCUENTRA REGISTRADO";
            header('Content-Type: application/json');
            echo json_encode($respuesta);
            exit();
        }
    }
    $ingreso = $_POST['ingreso'];
    $egreso = $_POST['egreso'];
    
    $mysqli->query("INSERT INTO `z_caja_new` (`fecha`, `detalle`, `usuario`, `ingreso`, `egreso`, `idusuario_creador`, `tipo`, `estado`) VALUES ('$fecha', '$detalle', '$nombre', '$ingreso', '$egreso', '$iduser', '0', '0')");
    $respuesta['tipo'] = 'modal';
    if(!empty($ingreso)){
        $respuesta['title'] = 'INGRESO';
        $respuesta['mensaje'] = 'EL INGRESO SE A REGISTRADO POR UN VALOR DE '.moneda($ingreso).' CON EXITO';
    }else{
        $respuesta['title'] = 'EGRESO';
        $respuesta['mensaje'] = 'EL EGRESO SE A REGISTRADO POR UN VALOR DE '.moneda($egreso).' CON EXITO';
    }
    
    header('Content-Type: application/json');
    echo json_encode($respuesta);
    exit();
}

if(isset($_POST['loadmovimiento'])){
    $idmovimeinto = $_POST['loadmovimiento'];
    $movimiento = sinfo('z_caja_new', $idmovimeinto);
    header('Content-Type: application/json');
    echo json_encode($movimiento);
    exit();
}
if(isset($_POST['edit'])){
    $idmovimiento = $_POST['edit'];
    $fecha = $_POST['fecha'];
    $detalle = strtoupper($_POST['detalle']);
    $nombre = $_POST['nombre'];
    if($nombre == "OTRO"){
        $otro = strtoupper($_POST['otro']);
        $sql0 = $mysqli->query("SELECT * FROM `z_caja_new_usuarios` WHERE `nombre` LIKE '$otro'");
        if ($sql0->num_rows == 0) {
            $mysqli->query("INSERT INTO `z_caja_new_usuarios`(`nombre`) VALUES ('$otro')");
            $nombre = $mysqli->insert_id;
        }else{
            $respuesta['tipo'] = 'msn';
            $respuesta['title'] = 'ERROR';
            $respuesta['mensaje'] = "EL USUARIO $otro YA SE ENCUENTRA REGISTRADO";
            header('Content-Type: application/json');
            echo json_encode($respuesta);
            exit();
        }
    }
    $ingreso = $_POST['ingreso'];
    $egreso = $_POST['egreso'];
    
    $mysqli->query("UPDATE `z_caja_new` SET `detalle`='$detalle',`usuario`='$nombre',`ingreso`='$ingreso',`egreso`='$egreso' WHERE `id`=$idmovimiento");
    $respuesta['tipo'] = 'modal';
    if(!empty($ingreso)){
        $respuesta['title'] = 'INGRESO';
        $respuesta['mensaje'] = 'EL INGRESO SE A REGISTRADO POR UN VALOR DE '.moneda($ingreso).' CON EXITO';
    }else{
        $respuesta['title'] = 'EGRESO';
        $respuesta['mensaje'] = 'EL EGRESO SE A REGISTRADO POR UN VALOR DE '.moneda($egreso).' CON EXITO';
    }
    
    header('Content-Type: application/json');
    echo json_encode($respuesta);
    exit();
}
if(isset($_POST['remove'])){
    $idmovimiento = $_POST['remove'];
    $mysqli->query("UPDATE `z_caja_new` SET `estado` = 2 WHERE `id` = $idmovimiento;");
}

if(isset($_POST['fecha_mas_cercana'])){
    $fecha = $_POST['fecha_mas_cercana'];

    $result = $mysqli->query("SELECT SUM(`ingreso`), SUM(`egreso`), `estado` FROM z_caja_new WHERE `fecha` = ( SELECT MAX(`fecha`)  FROM z_caja_new WHERE `fecha` < '$fecha')  AND `estado`<=1");

    // Verificar si la consulta fue exitosa
    if ($result) {
        $row2 = $result->fetch_assoc();

        // Manejar la respuesta (puedes imprimir o enviar de vuelta al cliente)
        if ($row2) {
            // La consulta fue exitosa y se obtuvieron resultados
            $totalIngreso = $row2['SUM(`ingreso`)'];
            $totalEgreso = $row2['SUM(`egreso`)'];

            // Puedes hacer lo que necesites con $totalIngreso y $totalEgreso
            echo $totalIngreso-$totalEgreso;
        } else {
            // No se encontraron resultados
            echo 0;
        }
    } else {
        // La consulta falló
        echo 0;
    }
}

if(isset($_GET['close'])){
    $idcaja = $_GET['close'];
    $mysqli->query("UPDATE `z_caja_new` SET `estado` = '1' WHERE `id` = $idcaja;");
    exit(header('location: index.php'));
}
if(isset($_GET['reopen'])){
    $idcaja = $_GET['reopen'];
    $mysqli->query("UPDATE `z_caja_new` SET `estado` = '0' WHERE `id` = $idcaja;");
    exit(header('location: index.php'));
}

if(isset($_POST['loadtable'])){
    $idcaja= $_POST['loadtable'];
    $infocaja = sinfo('z_caja_new', $idcaja);
    $fecha = $infocaja['fecha'];
    $sql2 = $mysqli->query("SELECT * FROM z_caja_new WHERE fecha = '$fecha' AND estado<2");
    while($row2 = $sql2->fetch_assoc()) { ?>
      <tr>
        <td><?= $row2["fecha"]; ?></td>
        <td><?= $row2["detalle"]; ?></td>
        <td><?= sinfo('z_caja_new_usuarios',$row2["usuario"])['nombre']; ?></td>
        <td><?= moneda($row2["ingreso"]); $saldo = $saldo + $row2["ingreso"]; ?></td>
        <td><?= moneda($row2["egreso"]); $saldo = $saldo - $row2["egreso"];  ?></td>
        <td><?= moneda($saldo); ?></td>
         <?if(!$infocaja["estado"]){ ?><td>
             <? if($row2["tipo"]==0){ ?><i class="text-danger fa fa-trash" style="cursor:pointer" onclick="eliminarmovimiento(<?= $row2["id"]; ?>)"></i><? } ?>
            <i class="text-primary fa fa-pencil" style="cursor:pointer" onclick="editmovimiento(<?= $row2["id"]; ?>)"></i>
        </td><? } ?>
      </tr>
    <?php }
}
?>