示例#1
0
 public Mobibus cercano(Emergencia em) {
   disponibles();
   Mobibus res = null;
   double menor = distancia(disponibles.get(0).getUbicacion(), em.darUbicacion());
   for (int i = 1; i < disponibles.size(); i++) {
     double x = distancia(disponibles.get(i).getUbicacion(), em.darUbicacion());
     if (x < menor) {
       menor = x;
       res = disponibles.get(i);
     }
   }
   return res;
 }
  /**
   * NO SE USAN/FUNCIONAN PORQUE VEHICULO NO ES ENTITY @BodyParser.Of(BodyParser.Json.class) public
   * Result create(){ JsonNode j = Controller.request().body().asJson(); Vehiculo vehiculoN =
   * Vehiculo.bind(j); vehiculoN.save(); return ok(Json.toJson(vehiculoN)); }
   *
   * <p>public Result readAll() { List<Vehiculo> vehiculos = Vehiculo.darVehiculos(); return
   * ok(Json.toJson(vehiculos)); }
   *
   * <p>public Result readVehiculoID(String id) { Vehiculo vehiculoEncontrado = (Vehiculo)
   * Vehiculo.finder.byId(id); if(vehiculoEncontrado != null) { return
   * ok(Json.toJson(vehiculoEncontrado)); } return notFound(); }
   */
  @BodyParser.Of(BodyParser.Json.class)
  public Result agregarDatos(Long id_vehiculo, int tipo_vehiculo) {
    String mensaje;
    JsonNode j = Controller.request().body().asJson();
    Vehiculo vehiculoEncontrado =
        tipo_vehiculo == Vehiculo.TRANVIA
            ? (Vehiculo) TranviaVehiculo.finder.byId(id_vehiculo)
            : (Vehiculo) MoviBusVehiculo.finder.byId(id_vehiculo);

    if (vehiculoEncontrado != null) {
      Datos datosRecibidos = Datos.bind(j);
      datosRecibidos.setIdVehiculo(vehiculoEncontrado.getIdVehiculo());
      datosRecibidos.save();
      vehiculoEncontrado.setUltimosDatos(datosRecibidos);
      vehiculoEncontrado.save();
      if (vehiculoEncontrado.getEstado() != Vehiculo.ACCIDENTE
          && (datosRecibidos.isSensorChoque()
              || datosRecibidos.isBotonPanico()
              || datosRecibidos.getSensorTermico() > 38)) {
        // Crear  emergencia
        vehiculoEncontrado.setEstado(Vehiculo.ACCIDENTE);
        Datos ultimosDatos = vehiculoEncontrado.getUltimosDatos();
        Emergencia em =
            new Emergencia(
                0,
                ultimosDatos.getHoraMedicion(),
                "Comentarios",
                "Altitud:"
                    + ultimosDatos.getGpsAltitud()
                    + "-Latitud:"
                    + ultimosDatos.getGpsLatitud(),
                "Niv Indef/moment");
        vehiculoEncontrado.setUltimaEmergencia(em);
        vehiculoEncontrado.save();
        em.save();
      }

      return ok(Json.toJson(datosRecibidos));
    } else {
      return notFound();
    }
  }