<?php 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (strlen(session_id()) < 1) session_start();

// Verifica que la sesión esté iniciada correctamente
if (!isset($_SESSION["idusuario"])) {
    echo json_encode(["error" => "Sesión no válida o no iniciada."]);
    exit;
}
require_once('../modelos/Ingreso.php');

$ingreso=new Ingreso();

$idusuario=$_SESSION["idusuario"];
$idingreso=isset($_POST["idingreso"])? limpiarCadena($_POST["idingreso"]):"";
$idcontrato=isset($_POST["idcontrato"])? limpiarCadena($_POST["idcontrato"]):"";
$metodo_pago=isset($_POST["metodo_pago"])? limpiarCadena($_POST["metodo_pago"]):"";
$nrorecibo=isset($_POST["nrorecibo"])? limpiarCadena($_POST["nrorecibo"]):"";
$monto=isset($_POST["monto"])? limpiarCadena($_POST["monto"]):"";
$descripcion=isset($_POST["descripcion"])? limpiarCadena($_POST["descripcion"]):"";
$fecha=isset($_POST["fecha"])? limpiarCadena($_POST["fecha"]):"";
$ano=isset($_POST["ano"])? limpiarCadena($_POST["ano"]):"";
$mes=isset($_POST["mes"])? limpiarCadena($_POST["mes"]):"";
$idempleado=isset($_POST["idempleado"])? limpiarCadena($_POST["idempleado"]):"";
$idegreso=isset($_POST["idegreso"])? limpiarCadena($_POST["idegreso"]):"";


switch ($_GET["op"])
{
    case 'guardaryeditar':
        if(empty($idingreso))
        {
          $rspta=$ingreso->insertar($idusuario,$idcontrato,$nrorecibo,$metodo_pago,$monto,$descripcion,$fecha);
          echo $rspta ? "Ingreso Registrado" : "Ingreso no se pudo registrar";
        }
        else {
            $rspta=$ingreso->editar($idingreso,$idusuario,$idcontrato,$nrorecibo,$metodo_pago,$monto,$descripcion,$fecha);
            echo $rspta ? "Ingreso Actualizada" : "Ingreso no se pudo actualizar";
        }
      break;

      case 'guardaryeditarEgreso':
        if(empty($idegreso))
        {
          $rspta=$ingreso->insertaregreso($idusuario,$idempleado,$nrorecibo,$metodo_pago,$monto,$descripcion,$fecha);
          echo $rspta ? "Egreso Registrado" : "Egreso no se pudo registrar";
        }
        else {
            $rspta=$ingreso->editaregreso($idegreso,$idusuario,$idempleado,$nrorecibo,$metodo_pago,$monto,$descripcion,$fecha);
            echo $rspta ? "Egreso Actualizada" : "Egreso no se pudo actualizar";
        }
      break;
  
      case 'mostrar':
        $rspta=$ingreso->mostrar($idingreso);
         //Codificar el resultado utilizando json
         echo json_encode($rspta);
      break;

      case 'mostraregreso':
        $rspta=$ingreso->mostraregreso($idegreso);
         //Codificar el resultado utilizando json
         echo json_encode($rspta);
      break;
  
      case 'eliminar':
        $rspta=$ingreso->eliminar($idingreso);
         //Codificar el resultado utilizando json
         echo json_encode($rspta);
      break;
  
      case 'listaringreso':
        
          $rspta=$ingreso->listaringreso($ano,$mes);
          //Vamos a declarar un array
          $data=Array();
          while($reg=$rspta->fetch_object())
          {

              if($reg->tipo_contrato == 1){
              $tipo='<button class="btn btn-primary btn-xs btn-flat">Contado</buton>';
              }else if($reg->tipo_contrato == 2){
              $tipo='<button class="btn btn-danger btn-xs btn-flat">Credito</buton>';
              }else if($reg->tipo_contrato == 3){
              $tipo='<button class="btn btn-warning btn-xs btn-flat">Futuro</buton>';
              }else{
              $tipo='<button class="btn btn-dark btn-xs btn-flat">Desconocido</buton>';
              }

              if($reg->metodo_pago == 1){
              $metodo='<button class="btn btn-primary btn-xs btn-flat">Efectivo</buton>';
              }else if($reg->metodo_pago == 2){
              $metodo='<button class="btn btn-danger btn-xs btn-flat">Transferencia Empresa</buton>';
              }else if($reg->metodo_pago == 3){
              $metodo='<button class="btn btn-danger btn-xs btn-flat">Transferencia Carlos</buton>';
              }else{
              $metodo='<button class="btn btn-dark btn-xs btn-flat">Desconocido</buton>';
              }
            $data[]=array(
              "0"=>$reg->fecha,
              "1"=>$reg->persona,
              "2"=>$reg->descripcion,
              "3"=>$tipo,
              "4"=>$metodo,
              "5"=>$reg->nrorecibo,
              "6"=>number_format($reg->monto,2),          
              "7"=>'<a href="create.php?idingreso=' . $reg->idingreso . '" class="btn btn-warning btn-xs btn-flat"><i class="fa fa-edit"></i></a>'
            );
        }
          $results= array(
            "sEcho"=>1, //Informacion para el datatable
            "iTotalRecords"=>count($data),//Enviamos el total de registtros en el datatable
            "iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
            "aaData"=>$data);
          echo json_encode($results);
  
      break;

      case 'listarEgreso':
          $rspta=$ingreso->listarEgreso($ano,$mes);
          //Vamos a declarar un array
          $data=Array();
          while($reg=$rspta->fetch_object())
          {


              if($reg->metodo_pago == 1){
              $metodo='<button class="btn btn-primary btn-xs btn-flat">Efectivo</buton>';
              }else if($reg->metodo_pago == 2){
              $metodo='<button class="btn btn-danger btn-xs btn-flat">Transferencia</buton>';
              }else{
              $metodo='<button class="btn btn-dark btn-xs btn-flat">Desconocido</buton>';
              }
            $data[]=array(
              "0"=>$reg->fecha,
              "1"=>$reg->empleado,
              "2"=>$reg->descripcion,
              "3"=>$metodo,
              "4"=>$reg->nrorecibo,
              "5"=>number_format($reg->monto,2),          
              "6"=>'<a href="create.php?idegreso=' . $reg->idegreso . '" class="btn btn-warning btn-xs btn-flat"><i class="fa fa-edit"></i></a>'
            );
        }
          $results= array(
            "sEcho"=>1, //Informacion para el datatable
            "iTotalRecords"=>count($data),//Enviamos el total de registtros en el datatable
            "iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
            "aaData"=>$data);
          echo json_encode($results);
  
      break;

      case 'cantidadTotal':
            $rspta=$ingreso->cantidadTotal($ano,$mes);
            echo json_encode($rspta);
      break;

      case 'cantidadTotalEgreso':
        $rspta=$ingreso->cantidadTotalEgreso($ano,$mes);
        echo json_encode($rspta);
      break;

      case 'grafico_venta':
        $rspta=$ingreso->grafico_venta();
        echo json_encode($rspta);
      break;

    
}