/** * Retorna el Json del trayecto que se acaba de crear * * @param id_vehiculo * @param tipo_vehiculo * @return */ @BodyParser.Of(BodyParser.Json.class) public Result agregarTrayecto(Long id_vehiculo, int tipo_vehiculo) { JsonNode json = Controller.request().body().asJson(); Vehiculo vehiculoEncontrado = tipo_vehiculo == Vehiculo.TRANVIA ? (Vehiculo) TranviaVehiculo.finder.byId(id_vehiculo) : (Vehiculo) MoviBusVehiculo.finder.byId(id_vehiculo); Trayecto trayectoRecibido = Trayecto.bind(json); Driver conductorEncontrado = (Driver) new Model.Finder(Driver.class).byId(trayectoRecibido.getIdConductor()); if (vehiculoEncontrado != null && conductorEncontrado != null) { if (vehiculoEncontrado.getUltimoTrayecto() == null || vehiculoEncontrado.getUltimoTrayecto().getEstado() == Trayecto.FINALIZADO) { trayectoRecibido.setIdVehiculo(vehiculoEncontrado.getIdVehiculo()); trayectoRecibido.setIdConductor(conductorEncontrado.getIdConductor()); conductorEncontrado.setUltimoTrayecto(trayectoRecibido); vehiculoEncontrado.setUltimoTrayecto(trayectoRecibido); vehiculoEncontrado.setEstado(Vehiculo.EN_MARCHA); trayectoRecibido.save(); vehiculoEncontrado.save(); conductorEncontrado.save(); return ok(Json.toJson(trayectoRecibido)); } else { return badRequest("No se puede iniciar un nuevo trayecto antes de finalizar el anterior"); } } else { return notFound(); } }
/** * Finaliza el ultimo Trayecto que se ha iniciado * * @param idVehiculo * @param idTrayecto * @param tipoVehiculo * @return ok con el Json del Trayecto que se finalizo, * @return badReques si no se está intentando finalizar el ultimo trayecto iniciado * @return notFound si no se encuentra alguno de los datos necesarios */ @BodyParser.Of(BodyParser.Json.class) public Result finalizarUltimoTrayecto(Long idVehiculo, Long idTrayecto, int tipoVehiculo) { Vehiculo vehiculoEncontrado = tipoVehiculo == Vehiculo.TRANVIA ? (Vehiculo) TranviaVehiculo.finder.byId(idVehiculo) : (Vehiculo) MoviBusVehiculo.finder.byId(idVehiculo); // Trayecto trayecoEncontrado = vehiculoEncontrado.getUltimoTrayecto(); Trayecto trayecoEncontrado = (Trayecto) Trayecto.finder.byId(idTrayecto); Trayecto ultimoTrayectoVeh = vehiculoEncontrado != null ? vehiculoEncontrado.getUltimoTrayecto() : null; if (trayecoEncontrado != null && vehiculoEncontrado != null) { if (ultimoTrayectoVeh != null && ultimoTrayectoVeh.getIdTrayecto() == idTrayecto) { JsonNode json = Controller.request().body().asJson(); Trayecto trayectoRecibido = Trayecto.bind(json); if (trayectoRecibido != null) { TrayectoController.finalizarTrayecto( trayecoEncontrado.getIdTrayecto(), trayectoRecibido.getHoraFin(), trayectoRecibido.getIncidentes()); } vehiculoEncontrado.setEstado(Vehiculo.DISPONIBLE); vehiculoEncontrado.save(); trayecoEncontrado = (Trayecto) Trayecto.finder.byId(idTrayecto); // trayectoRecibido.delete(); return ok(Json.toJson(trayecoEncontrado)); } else { return badRequest(); } } return notFound(); }
private void btnGuardarActionPerformed( java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnGuardarActionPerformed gestorBitacora gestorB = new gestorBitacora(); Iterator ite = gestorH.listarClase(Viaje.class).iterator(); while (ite.hasNext()) { Viaje viaje = (Viaje) ite.next(); if (viaje.getIdViaje() == Long.parseLong(txtNumViaje.getText())) { Iterator ite1 = gestorH.listarClase(Vehiculo.class).iterator(); while (ite1.hasNext()) { Vehiculo vehiculo = (Vehiculo) ite1.next(); if (vehiculo.getDominio().equalsIgnoreCase(txtDominio.getText())) { viaje.setVehiculo(vehiculo); viaje.setEstado("Con vehiculo asignado"); gestorH.actualizarObjeto(viaje); vehiculo.setEstado("Asignado"); gestorH.actualizarObjeto(vehiculo); gestorB.cargarBitacora( String.valueOf(viaje.getIdViaje()), txtFecha.getText(), 3, labelusuario.getText(), ""); } } } } DefaultTableModel modeloT = (DefaultTableModel) tblViaje.getModel(); modeloT.setRowCount(0); gestorA.RellenarTablaViajes(tblViaje); txtNumeroSolicitud.setText(""); txtDestino.setText(""); txtCereal.setText(""); txtFechaRealizacion.setText(""); txtTipoViaje.setText(""); txtNumViaje.setText(""); txtProductor.setText(""); DefaultTableModel modelo = (DefaultTableModel) tblVehiculo.getModel(); modelo.setRowCount(0); txtVehiculo.setText(""); txtTara.setText(""); txtTipoVehiculo.setText(""); txtTransportista.setText(""); txtDominio.setText(""); JOptionPane.showMessageDialog(null, "Se asigno correctamente el vehiculo"); } // GEN-LAST:event_btnGuardarActionPerformed
/** * 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(); } }