/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function getIndex()
 {
     //para ingresos
     $cuentas = Cuenta::orderBy('nombre_cuenta', 'ASC')->get();
     $pedidosporingresar = Pedidocompra::where('confirmado_ingreso', '<>', true)->where('nivel', '=', Session::get('nivel'))->get();
     $correcto;
     $num;
     $ingresosactuales = Ingreso::where('nivel', '=', Session::get('nivel'))->get();
     if (count($ingresosactuales) == 0) {
         $num = "1/" . date('m/Y');
     } else {
         $totalingresos = count($ingresosactuales);
         $utlimoingreso = Ingreso::where('id', '=', $ingresosactuales[$totalingresos - 1]->id)->first();
         //separandola el numero el mes y el año para realizar operacion
         $parafecha = explode("/", $utlimoingreso->numero);
         if ($parafecha[1] == date('m')) {
             $actual = $parafecha[0] + 1;
             $num = $actual . "/" . date('m/Y');
         } else {
             $num = "1/" . date('m/Y');
         }
     }
     //echo count($pedidosporingresar)
     if (count($pedidosporingresar) > 0) {
         $correcto = "true";
         return View::make('encargado.inventario', array('correcto' => $correcto, 'num' => $num))->with('cuentas', $cuentas)->with('pedidosporingresar', $pedidosporingresar);
     } else {
         $correcto = "false";
         return View::make('encargado.inventario', array('correcto' => $correcto, 'num' => $num))->with('cuentas', $cuentas);
     }
 }
 public function postCrear()
 {
     $datos = Input::get('datos');
     $productos = explode("item=", $datos);
     //registrando el ingreso !!!!!!!
     $ingresosactuales = Ingreso::where('nivel', '=', Session::get('nivel'))->get();
     $num;
     //selecionanado el pedidocomrpa
     $pedidocompra = Pedidocompra::where('numero', '=', Input::get('numero_pedido'))->where('nivel', '=', Session::get('nivel'))->first();
     $pedidocompra->confirmado_ingreso = true;
     $pedidocompra->save();
     if (count($ingresosactuales) == 0) {
         $num = "1/" . date('m/Y');
         Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
     } else {
         $totalingresos = count($ingresosactuales);
         $utlimoingreso = Ingreso::where('id', '=', $ingresosactuales[$totalingresos - 1]->id)->first();
         //separandola el numero el mes y el año para realizar operacion
         $parafecha = explode("/", $utlimoingreso->numero);
         if ($parafecha[1] == date('m')) {
             $actual = $parafecha[0] + 1;
             $num = $actual . "/" . date('m/Y');
             Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
         } else {
             $num = "1/" . date('m/Y');
             Ingreso::agregaringreso($num, Ingreso::cambiarfecha(), Session::get('nivel'), Input::get('al_almacen'), Input::get('procedente_de'), Input::get('numero_factura'), Input::get('proveedor'), Input::get('documento_respaldo'), Input::get('nit'), Input::get('valor_total'), Input::get('valor_total'), Input::get('entregado_por'), Input::get('recivido_por'), Input::get('observaciones'), Input::get('orden_compra'), $pedidocompra->id);
         }
     }
     //fin registrar ingreso
     //recuperando el ingreso actual
     $ingreso = Ingreso::where('numero', '=', $num)->where('nivel', '=', Session::get('nivel'))->first();
     //registradon los productos por filas
     for ($i = 1; $i < count($productos); $i++) {
         $medida = Ingreso::separar("medida", $productos[$i]);
         $descripcion = Ingreso::separar("descripcion", $productos[$i]);
         $precio = Ingreso::separar("precio", $productos[$i]);
         $ubicacion = Ingreso::separar("ubicacion", $productos[$i]);
         $codigo = Ingreso::separar("codigo", $productos[$i]);
         $cuenta = Ingreso::separar("cuenta", $productos[$i]);
         $cantidad = Ingreso::separar("cantidad", $productos[$i]);
         $product = Producto::where('codigo_interno', '=', $codigo)->first();
         Ingreso::ingresandoproducto($codigo, $descripcion, $cuenta, $ubicacion, $medida, $cantidad, $precio, $ingreso->id);
     }
     //recogiendo datos para el podf
     $ing_pro = Ingresoproducto::where('ingreso_id', '=', $ingreso->id)->get();
     $i = 0;
     foreach ($ing_pro as $in) {
         $prod = Producto::find($in->producto_id);
         $total = $in->precio * $in->cantidad;
         $data[$i] = array("codigo" => $prod->codigo_interno, "cantidad" => $in->cantidad, "unidad" => $prod->unidad, "descripcion" => $prod->descripcion, "precio" => $in->precio, "total" => $total);
         $i++;
     }
     $pdf = App::make('dompdf');
     $pagina = View::make('imprimibles.nota_ingreso')->with("datos", $data)->with("ingreso", $ingreso);
     $pdf->loadHTML($pagina)->setPaper('letter')->setOrientation('landscape')->setWarnings(false);
     return $pdf->stream();
     //return View::make('imprimibles.nota_ingreso')->with("datos",$data)->with("ingreso",$ingreso);
 }
 public function postVerhistorial()
 {
     $tipo = Input::get('tipo');
     $gestion = Input::get('gestion');
     $codigoproducto = Input::get('codigo');
     if ($codigoproducto == null || $gestion == null) {
         echo "Codigo mal";
     } else {
         if ($tipo == "Ingresos del Producto") {
             $gestioninicio = $gestion . "-01-0";
             $gestionfinal = $gestion . "-12-32";
             $p = Producto::where('codigo_interno', '=', $codigoproducto)->first();
             if ($p == null) {
                 echo "no hay registros";
             } else {
                 $ingresos = Ingresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
                 $i = 0;
                 $ing_total;
                 foreach ($ingresos as $key) {
                     $ni = Ingreso::where('id', '=', $key->ingreso_id)->first();
                     $preciototal = $key->cantidad * $key->precio;
                     $ing_total[$i] = array("fecha" => $key->fecha, "ni" => $ni->numero, "procedencia" => $ni->proveedor, "costo" => $key->precio, "cantidad" => $key->cantidad, "importe" => $preciototal);
                     $i++;
                 }
                 if (count($ing_total) > 0) {
                     return Redirect::to('cardex')->with('ing_total', $ing_total)->with('status', 'ok_ingreso');
                 } else {
                     echo "no tiene ingresos";
                 }
             }
         } else {
             if ($tipo == "Egresos del Producto") {
                 $gestioninicio = $gestion . "-01-0";
                 $gestionfinal = $gestion . "-12-32";
                 $p = Producto::where('codigo_interno', '=', $codigoproducto)->first();
                 if ($p == null) {
                     echo "no hay registros";
                 } else {
                     $egresos = Egresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
                     $i = 0;
                     foreach ($egresos as $key) {
                         $ni = Egreso::where('id', '=', $key->egreso_id)->first();
                         $preciototal = $key->cantidad * $key->precio;
                         $egre_total[$i] = array('fecha' => $key->fecha, 'unidad' => $key->unidad_uso, 'destino' => $ni->para_uso_en, 'can_egreso' => $key->cantidad, 'precio' => $key->precio, 'saldo' => $p->existencias, 'nota' => $ni->numero);
                         //echo "fecha ingreso: ".$key->fecha."Referencia: ".$key->unidad_uso." destino a: ".$ni->para_uso_en." cantidad egreso: ".$key->cantidad." precio : ".$key->precio." saldo catidad".$p->existencias." nota de egreso:".$ni->numero.'<br>';
                         $i++;
                     }
                     if (count($egre_total) > 0) {
                         return Redirect::to('cardex')->with('egre_total', $egre_total)->with('status', 'ok_egreso');
                     } else {
                         echo "no tiene egresos";
                     }
                 }
             }
         }
     }
 }
Example #4
0
 public static function agregaringreso($numero, $fecha, $nivel, $al_almacen, $procedente_de, $numero_factura, $proveedor, $documento_respalddo, $nit, $valor_total, $valor_recivido, $entregado_por, $recivido_por, $observaciones, $orden_compra, $pedidocompra_id)
 {
     $ingreso = new Ingreso();
     $ingreso->numero = $numero;
     $ingreso->fecha = $fecha;
     $ingreso->nivel = $nivel;
     $ingreso->al_almacen = $al_almacen;
     $ingreso->procendente_de = $procedente_de;
     $ingreso->numero_factura = $numero_factura;
     $ingreso->documento_respaldo = $documento_respalddo;
     $ingreso->proveedor = $proveedor;
     $ingreso->nit = $nit;
     $ingreso->valor_total = $valor_total;
     $ingreso->valor_recivido = $valor_recivido;
     $ingreso->entregado_por = $entregado_por;
     $ingreso->recivido_por = $recivido_por;
     $ingreso->observaciones = $observaciones;
     $ingreso->orden_compra = $orden_compra;
     $ingreso->pedidocompra_id = $pedidocompra_id;
     $ingreso->save();
 }
Example #5
0
 public function destroy($nromovimiento)
 {
     $movimiento = Movimiento::where('nromovimiento', '=', $nromovimiento)->first();
     if ($movimiento->tipo = 'ingreso') {
         Ingreso::where('nromovimiento', '=', $nromovimiento)->delete();
     }
     if ($movimiento->tipo = 'egreso') {
         Egreso::where('nromovimiento', '=', $nromovimiento)->delete();
     }
     Movimiento::where('nromovimiento', '=', $nromovimiento)->delete();
     return Redirect::to('movimientos');
     //Egreso::where('nromovimiento','=',$nromovimiento)->delete();
     //echo Egreso::where('nromovimiento','=',$nromovimiento)->first();
 }
Example #6
0
 function contabilidadsector(Request $request, Response $response)
 {
     $response = $response->withHeader('Content-type', 'application/json');
     $id = $request->getAttribute("idSector");
     $fechainicial = $request->getAttribute("fechainicial");
     $fechafinal = $request->getAttribute("fechafinal");
     $data = SectorEmpresa::select('sectorempresa.idEmpresa', 'empresa.razonSocial')->join('empresa', 'empresa.id', '=', 'sectorempresa.idEmpresa')->where('idSector', '=', $id)->get();
     for ($i = 0; $i < count($data); $i++) {
         $sucu = Sucursal::select('sucursal.id', 'sucursal.nombre')->where('sucursal.idEmpresa', '=', $data[$i]->idEmpresa)->get();
         $data[$i]['sucu'] = $sucu;
         for ($j = 0; $j < count($sucu); $j++) {
             $empl = Empleado::select('empleado.id as idempleado')->where('idSucursal', '=', $sucu[$j]->id)->get();
             $sucu[$j]['idEmpleado'] = $empl;
             for ($k = 0; $k < count($empl); $k++) {
                 $ingreso = Ingreso::select('ingresos.valor')->where('ingresos.idEmpleado', '=', $empl[$k]->idempleado)->whereBetween('ingresos.fecha', array($fechainicial, $fechafinal))->sum('ingresos.valor');
                 $empl[$k]['valor'] = $ingreso;
             }
         }
     }
     $response->getBody()->write($data);
     return $response;
 }
 public function editarIngreso($id)
 {
     $todoEquipos = Equipo::all();
     $consultatabla = Ingreso::where('nromovimiento', '=', $id)->get();
     return View::make('movimiento.ingresos.editar', ['consultatabla' => $consultatabla, 'todoEquipos' => $todoEquipos]);
 }
<?php

session_start();
require_once "../clases/ingresos_data.php";
$ingreso = new Ingreso();
$producto = new Producto();
//$tipoproducto = new Tipoproducto;
if (!isset($_SESSION['sesion_id_usuario'])) {
    die("No tiene acceso  a esta seccion");
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sistema de Ventas</title>
<link href="../estilos/css_sistema.css" rel="stylesheet" type="text/css" />
<link href="../imagenes/logo.ico" type="image/x-icon" rel="shortcut icon">
<script src="../javascript/eventos.js"></script>
		<!-- jQuery -->
		<script type="text/javascript" src="../librerias/jquery/jquery-1.2.6.pack.js"></script>
        <!-- required plugins -->
		<script type="text/javascript" src="../librerias/date_picker/date.js"></script>

        
        <!-- jquery.datePicker.js -->
		<script type="text/javascript" src="../librerias/date_picker/jquery.datePicker.js"></script>
        
        <!-- datePicker required styles -->
		<link rel="stylesheet" type="text/css" media="screen" href="../librerias/date_picker/datePicker.css">
        
<?php

session_start();
require_once '../clases/ingresos_data.php';
require_once "../clases/PHPPaging.lib.php";
$paging = new PHPPaging();
$ingreso = new Ingreso();
$producto = new Producto();
$linea = new Linea();
$marca = new Marca();
if (!isset($_SESSION['sesion_id_usuario']) and !isset($_SESSION['sesion_id_area'])) {
    die("Usted no tiene acceso a esta area");
}
/*if(!isset($_REQUEST['fecha'])){
		$_REQUEST['fecha']=date('d/m/y');
	}*/
if (!isset($_REQUEST['npaginas'])) {
    $_REQUEST['npaginas'] = 15;
}
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sistema de Ventas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="../estilos/css_sistema.css" rel="stylesheet" type="text/css">


		<!-- jQuery -->
Example #10
0
    }
});
Route::get('ingresosProducto/{codigo}/{gestion}', function ($codigo, $gestion) {
    $gestioninicio = $gestion . "-01-0";
    $gestionfinal = $gestion . "-12-32";
    $p = Producto::where('codigo_interno', '=', $codigo)->first();
    if ($p == null) {
        $datos["estado"] = 3;
        $datos["mensaje"] = "el producto no esta registrado en inventarios";
        echo json_encode($datos);
    } else {
        $ingresos = Ingresoproducto::where('producto_id', '=', $p->id)->where('fecha', '>', $gestioninicio)->where('fecha', '<', $gestionfinal)->get();
        $i = 0;
        $ing_total;
        foreach ($ingresos as $key) {
            $ni = Ingreso::where('id', '=', $key->ingreso_id)->first();
            $preciototal = $key->cantidad * $key->precio;
            $ing_total[$i] = array("fecha" => $key->fecha, "ni" => $ni->numero, "procedencia" => $ni->proveedor, "costo" => $key->precio, "cantidad" => $key->cantidad, "importe" => $preciototal);
            $i++;
        }
        if (count($ing_total) > 0) {
            $datos["estado"] = 1;
            $datos["ingresos"] = $ing_total;
            echo json_encode($datos);
        } else {
            $datos["estado"] = 2;
            $datos["mensaje"] = "no hay ingresos";
            echo json_encode($datos);
        }
    }
});
<?php

session_start();
require_once "../clases/ingresos_data.php";
include_once "../clases/PHPPaging.lib.php";
$paging = new PHPPaging();
$ingreso = new Ingreso();
$producto = new Producto();
$tipoproducto = new Tipoproducto();
if (!isset($_SESSION['sesion_id_usuario'])) {
    die("No tiene acceso  a esta seccion");
}
if (!isset($_REQUEST['npaginas'])) {
    $_REQUEST['npaginas'] = 15;
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SISTEMA DE GESTION DE CONSULTORIO MEDICO</title>
<link href="../estilos/css_sistema.css" rel="stylesheet" type="text/css" />
<link href="../imagenes/logo.ico" type="image/x-icon" rel="shortcut icon">
		<!-- jQuery -->
		<script type="text/javascript" src="../librerias/jquery/jquery-1.2.6.pack.js"></script>
        <!-- required plugins -->
		<script type="text/javascript" src="../librerias/date_picker/date.js"></script>

        
        <!-- jquery.datePicker.js -->
		<script type="text/javascript" src="../librerias/date_picker/jquery.datePicker.js"></script>
Example #12
0
 public function cambiarEstadoTurno(Request $request, Response $response)
 {
     $response = $response->withHeader('Content-type', 'application/json');
     $data = json_decode($request->getBody(), true);
     $id = $request->getAttribute("id");
     $idEmpleado = $request->getAttribute("idEmpleado");
     $idServicio = $request->getAttribute("idServicio");
     $banTerminado = false;
     try {
         $turno = Turno::select("turno.*", "cliente.idPush", "servicio.nombre as servicio", "empleado.nombres as empleado1", "empleado.apellidos as empleado2")->join("cliente", "cliente.id", "=", "turno.idCliente")->join("servicio", "servicio.id", "=", "turno.idServicio")->join("empleado", "empleado.id", "=", "turno.idEmpleado")->where("turno.id", "=", $id)->first();
         $turno->estadoTurno = $data['estadoTurno'];
         if ($turno->estadoTurno == "TERMINADO") {
             $turno->fechaFinal = fechaHoraActual();
             $banTerminado = true;
         }
         if ($turno->estadoTurno == "ATENDIENDO") {
             $turno->fechaInicio = fechaHoraActual();
         }
         if ($turno->estadoTurno == "CONFIRMADO") {
             $payload = array('title' => "Turno movil", 'msg' => "Tu turno ha sido aceptado.", 'std' => 0, 'idServicio' => "0");
             $notification = array('body' => "Tu turno ha sido aceptado.", 'title' => "Aceptación de turno.");
             enviarNotificacion(array($turno->idPush), $payload);
             enviarNotificacionIos($turno->idPush, $notification);
         }
         if ($turno->estadoTurno == "CANCELADO") {
             $payload = array('title' => "Turno movil", 'msg' => "Tu turno ha sido aceptado.", 'std' => 0, 'idServicio' => "0");
             $notification = array('body' => "Tu turno no ha sido aceptado.", 'title' => "Cancelación de turno.");
             enviarNotificacion(array($turno->idPush), $payload);
             enviarNotificacionIos($turno->idPush, $notification);
         }
         $turno->save();
         if ($banTerminado) {
             //ENVIAR NOTIFICACIONES A LOS CLIENTES
             $turnos = Turno::select("turno.*", "cliente.idPush")->join("cliente", "cliente.id", "=", "turno.idCliente")->where(function ($query) {
                 $query->where("turno.estadoTurno", "=", "CONFIRMADO")->orwhere("turno.estadoTurno", "=", "ATENDIENDO");
             })->where("turno.idEmpleado", "=", $idEmpleado)->where("turno.idServicio", "=", $idServicio)->where("turno.tipoTurno", "<>", 2)->orderBy('turno.fechaSolicitud', 'asc')->get();
             for ($i = 0; $i < count($turnos); $i++) {
                 $query = "SELECT " . "(COALESCE(AVG(TIMESTAMPDIFF(SECOND,fechaInicio,fechaFinal)),0) * turnosFaltantes.faltantes) as tiempoEstimado " . "FROM " . "( " . "  SELECT " . "    count(t.id) as faltantes " . "    FROM " . "    turno as t " . "    WHERE " . "    t.idEmpleado = " . $idEmpleado . " AND " . "    t.idServicio = " . $idServicio . " AND " . "    t.fechaSolicitud < '" . $turnos[$i]->fechaSolicitud . "' AND " . "    t.estadoTurno <> 'TERMINADO' AND t.estadoTurno <> 'CANCELADO'" . ") as turnosFaltantes, " . "turno " . "WHERE " . "idEmpleado = " . $idEmpleado . " AND " . "idServicio = " . $idServicio . " AND " . "estadoTurno = 'TERMINADO' LIMIT 1";
                 $dataTiempo = DB::select(DB::raw($query));
                 if (count($dataTiempo) > 0) {
                     //VARIFICAR SI YA PASO UN TIEMPO PARAMETRIZDO PARA AVISARLE
                     $tiempo = ceil($dataTiempo[0]->tiempoEstimado / 60);
                     if ($tiempo < 5) {
                         try {
                             $tu = Turno::select("*")->where("id", "=", $turnos[$i]->id)->first();
                             $tu->avisado = 1;
                             $tu->save();
                         } catch (Exception $err) {
                         }
                     }
                     //ANVIAR NOTIFICACION
                     $payload = array('title' => "Turno movil", 'msg' => "Ya esta cerca tu turno, solo falta " . $tiempo . " minutos", 'std' => 0, 'idServicio' => "0");
                     $notification = array('body' => "Ya esta cerca tu turno, solo falta " . $tiempo . " minutos", 'title' => "Informacion de Turno.");
                     enviarNotificacion(array($turnos[$i]->idPush), $payload);
                     enviarNotificacionIos($turnos[$i]->idPush, $notification);
                     //array_push($vec, $turnos[$i]->idPush);
                 }
             }
             //BUSCAR PRECIO DEL SERVICIO
             $valorServicio = ServiciosSucursal::select("*")->where("idServicio", "=", $turno->idServicio)->where("idSucursal", "=", $turno->idSucursal)->first();
             $valor = $valorServicio->precio;
             if ($turno->tipoTurno == 2) {
                 $valor = $valorServicio->precioVIP;
             }
             if ($valor != null && $valor != 0) {
                 //INSERTAR EN INGRESOS
                 try {
                     $ingreso = new Ingreso();
                     $ingreso->idServicio = $turno->idServicio;
                     $ingreso->idEmpleado = $turno->idEmpleado;
                     $ingreso->valor = $valor;
                     $ingreso->save();
                 } catch (Exception $ex) {
                 }
             }
             //ENVIAR NOTIFICACION PARA QUE EL CLIENTE CALIFIQUE EL SERVICIO
             $payload = array('title' => "Turno movil", 'msg' => "Califica el servicio", 'std' => 10, 'idServicio' => $turno->idServicio, 'idSucursal' => $turno->idSucursal, 'idEmpleado' => $turno->idEmpleado, 'empleado' => $turno->empleado1 . " " . $turno->empleado2, 'servicio' => $turno->servicio);
             enviarNotificacion(array($turno->idPush), $payload);
         }
         $respuesta = json_encode(array('msg' => "Modificado correctamente", "std" => 1));
         $response = $response->withStatus(200);
     } catch (Exception $err) {
         $respuesta = json_encode(array('msg' => "error", "std" => 0, "err" => $err->getMessage()));
         $response = $response->withStatus(404);
     }
     $response->getBody()->write($respuesta);
     return $response;
 }
Example #13
0
 public function postRegistrarIngreso()
 {
     $ingreso = Ingreso::create(['importetotal' => Input::get('importetotal'), 'descripcion' => Input::get('descripcion'), 'detallecaja_id' => $this->detallecaja->id]);
     return Redirect::to('/caja');
 }
 /**
  *
  *Lista los ingresos, se puede filtrar de acuerdo a la empresa, la sucursal, el usuario que registra el ingreso, el concepto de ingreso, la caja que recibi? ingreso, de una fecha inicial a una final, por monto, por cancelacion, y se puede ordenar de acuerdo a sus atributos.
  *
  * @param id_caja int Id de la caja de la cual se listaran los ingresos que ha recibido
  * @param fecha_inicial string Se listaran los ingresos cuya fecha de ingreso sea mayor a este valor
  * @param fecha_final string Se listaran los ingresos cuya fecha de ingreso sea menor a este valor
  * @param id_sucursal int Id de la sucursal de la cual se listaran sus ingresos
  * @param id_concepto_ingreso int Se listaran los ingresos que tengan este concepto de ingreso
  * @param id_empresa int Id de la empresa de la cual se listaran sus ingresos
  * @param id_usuario int Id del usuario del cual se listaran los ingresos que ha registrado
  * @param cancelado bool Si este valor no es obtenido, se listaran tanto ingresos cancelados como no cancelados, si es true, solo se listaran los ingresos cancelados, si es false, se listaran solo los ingresos no cancelados
  * @param monto_minimo float Se listaran los ingresos cuyo monto sea mayor a este valor
  * @param monto_maximo float Se listaran los ingresos cuyo monto sea menor a este valor
  **/
 public static function ListaIngreso($cancelado = null, $fecha_actual = null, $fecha_final = null, $fecha_inicial = null, $id_caja = null, $id_concepto_ingreso = null, $id_empresa = null, $id_sucursal = null, $id_usuario = null, $monto_maximo = null, $monto_minimo = null, $orden = null)
 {
     Logger::log("Listando ingresos....");
     //verifica que el orden sea valida
     if (!is_null($orden)) {
         if ($orden != "id_ingreso" && $orden != "id_empresa" && $orden != "id_usuario" && $orden != "id_concepto_ingreso" && $orden != "id_caja" && $orden != "fecha_del_ingreso" && $orden != "fecha_de_registro" && $orden != "id_sucursal" && $orden != "nota" && $orden != "descripcion" && $orden != "folio" && $orden != "monto" && $orden != "cancelado" && $orden != "motivo_cancelacion") {
             Logger::error("La variable orden (" . $orden . ") no es valida");
             throw new Exception("La variable orden (" . $orden . ") no es valida");
         }
     }
     //verifica que se hayan obtenido los parametros para usar getAll o getByRange
     $parametros = false;
     if (!is_null($id_empresa) || !is_null($id_usuario) || !is_null($id_concepto_ingreso) || !is_null($id_caja) || !is_null($fecha_inicial) || !is_null($fecha_final) || !is_null($id_sucursal) || !is_null($cancelado) || !is_null($monto_minimo) || !is_null($monto_maximo) || !is_null($fecha_actual)) {
         $parametros = true;
     }
     $ingresos = null;
     if ($parametros) {
         Logger::log("Se recibieron parametros, se listan los Ingresos dentro del rango");
         //
         //Se almacenan los parametros recibidos en el objeto criterio 1
         //para luego ser comparados.
         //
         $ingreso_criterio_1 = new Ingreso();
         $ingreso_criterio_2 = new Ingreso();
         $ingreso_criterio_1->setIdEmpresa($id_empresa);
         $ingreso_criterio_1->setIdUsuario($id_usuario);
         $ingreso_criterio_1->setIdConceptoIngreso($id_concepto_ingreso);
         $ingreso_criterio_1->setIdCaja($id_caja);
         $ingreso_criterio_1->setIdSucursal($id_sucursal);
         $ingreso_criterio_1->setCancelado($cancelado);
         if (!is_null($fecha_inicial)) {
             //
             //Si pasaron una fecha minima y existe una fecha maxima, entonces
             //el objeto 1 almacenara la minima y el objeto 2 la maxima para
             //que se impriman los ingresos entre esas dos fechas.
             //
             //Si no hay fecha maxima, el objeto 2 almacenara la fecha de hoy
             //para que se impriman los ingresos desde la fecha minima hasta hoy.
             //
             //
             $ingreso_criterio_1->setFechaDelIngreso($fecha_inicial);
             if (!is_null($fecha_final)) {
                 $ingreso_criterio_2->setFechaDelIngreso($fecha_final);
             } else {
                 $ingreso_criterio_2->setFechaDelIngreso(date("Y-m-d H:i:s", time()));
             }
         } else {
             if (!is_null($fecha_final)) {
                 //
                 //Si no se recibio fecha minima pero si fecha maxima
                 //El objeto 1 guarda la fecha maxima y el objeto 2 guarda
                 //la fecha minima posible de MySQL, para asi poder listar
                 //los ingresos anteriores a la fecha maxima.
                 //
                 $ingreso_criterio_1->setFechaDelIngreso($fecha_final);
                 $ingreso_criterio_2->setFechaDelIngreso("1000-01-01 00:00:00");
             } else {
                 if ($fecha_actual) {
                     //
                     //Si se recibio el booleano fecha_actual, se listaran los ingresos
                     //solo de hoy, se crea un timestamp con el año, el mes y el dia de hoy
                     //pero se inicia con la hora 00:00:00 y se almacena como fecha en el objeto 1.
                     //
                     //Se crea un segundo timestamp con el año, el mes y el dia de hoy pero
                     //con la hora 23:59:59 y se almacena como fecha en el objeto 2.
                     //
                     $hoy = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
                     $ingreso_criterio_1->setFechaDelIngreso(date("Y-m-d H:i:s", $hoy));
                     $manana = mktime(23, 59, 59, date("m"), date("d"), date("Y"));
                     $ingreso_criterio_2->setFechaDelIngreso(date("Y-m-d H:i:s", $manana));
                 }
             }
         }
         if (!is_null($monto_minimo)) {
             //
             //Si se recibio el monto_minimo y se recibio el monto_maximo
             //el objeto 1 guarda el primero y el objeto2 guarda el segundo
             //para asi listar los ingresos cuyo monto sea mayor al minimo y
             //menor que el maximo
             //
             //Si no, el objeto 2 almacena el valor mas grande posible
             //para que se listen los gastos cuyo monto sea mayor al minimo
             //
             $ingreso_criterio_1->setMonto($monto_minimo);
             if (!is_null($monto_maximo)) {
                 $ingreso_criterio_2->setMonto($monto_maximo);
             } else {
                 $ingreso_criterio_2->setMonto(1.8E+100);
             }
         } else {
             if (!is_null($monto_maximo)) {
                 //
                 //Si solo se obtuvo monto_maximo, el objeto 1 lo almacena y el
                 //objeto 2 almacena el monto mas bajo posible para que  se listen
                 //los gastos cuyo monto sea menor al maximo
                 //
                 $ingreso_criterio_1->setMonto($monto_maximo);
                 $ingreso_criterio_2->setMonto(0);
             }
         }
         $ingresos = IngresoDAO::byRange($ingreso_criterio_1, $ingreso_criterio_2, $orden);
     } else {
         if (is_null($orden)) {
             $orden = "fecha_del_ingreso";
         }
         $ingresos = IngresoDAO::getAll(null, null, $orden, "desc");
     }
     Logger::log("Se obtuvo la lista de ingresos exitosamente");
     return array("resultados" => $ingresos, "numero_de_resultados" => sizeof($ingresos));
 }