コード例 #1
0
 /**
  * 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);
     }
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 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";
                     }
                 }
             }
         }
     }
 }
コード例 #4
0
ファイル: Ingreso.php プロジェクト: gabitoooo/inventarios
 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();
 }
コード例 #5
0
ファイル: MovimientoController.php プロジェクト: nosiliw/SCDW
 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();
 }
コード例 #6
0
ファイル: IngresoControl.php プロジェクト: giocni93/Apiturno
 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;
 }
コード例 #7
0
 public function editarIngreso($id)
 {
     $todoEquipos = Equipo::all();
     $consultatabla = Ingreso::where('nromovimiento', '=', $id)->get();
     return View::make('movimiento.ingresos.editar', ['consultatabla' => $consultatabla, 'todoEquipos' => $todoEquipos]);
 }
コード例 #8
0
<?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">
        
コード例 #9
0
<?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 -->
コード例 #10
0
ファイル: routes.php プロジェクト: gabitoooo/inventarios
    }
});
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);
        }
    }
});
コード例 #11
0
<?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>
コード例 #12
0
ファイル: TurnoControl.php プロジェクト: giocni93/Apiturno
 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;
 }
コード例 #13
0
ファイル: CajaController.php プロジェクト: tavo7/hotel
 public function postRegistrarIngreso()
 {
     $ingreso = Ingreso::create(['importetotal' => Input::get('importetotal'), 'descripcion' => Input::get('descripcion'), 'detallecaja_id' => $this->detallecaja->id]);
     return Redirect::to('/caja');
 }
コード例 #14
0
 /**
  *
  *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));
 }