diff --git a/project/api/models.py b/project/api/models.py index 4111dd5..79f2123 100755 --- a/project/api/models.py +++ b/project/api/models.py @@ -8,7 +8,6 @@ from django.db import models from .validaciones import rut_valido - class Aplicacion(models.Model): id_aplicacion = models.IntegerField(primary_key=True) nombre_app = models.CharField(max_length=100, blank=False, null=False) @@ -19,7 +18,6 @@ class Aplicacion(models.Model): managed = True db_table = 'aplicacion' - class Comuna(models.Model): id_comuna = models.IntegerField(primary_key=True) id_region = models.ForeignKey('Region', models.DO_NOTHING, db_column='id_region', blank=True, null=True) @@ -29,7 +27,6 @@ class Comuna(models.Model): managed = False db_table = 'comuna' - class Conductor(models.Model): patente = models.OneToOneField('Vehiculo', models.DO_NOTHING, db_column='patente', primary_key=True) rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True) @@ -39,7 +36,6 @@ class Conductor(models.Model): managed = False db_table = 'conductor' - class Dispositivo(models.Model): id_dispositivo = models.CharField(primary_key=True, max_length=100) id_paradero = models.ForeignKey('Paradero', models.DO_NOTHING, db_column='id_paradero', blank=False, null=False) @@ -51,7 +47,6 @@ class Dispositivo(models.Model): managed = False db_table = 'dispositivo' - class GtfsFrequencie(models.Model): id_trip = models.ForeignKey('GtfsTrips', models.DO_NOTHING, db_column='id_trip', blank=True, null=True) start_time = models.TimeField(blank=True, null=True) @@ -63,7 +58,6 @@ class GtfsFrequencie(models.Model): managed = False db_table = 'gtfs_frequencie' - class GtfsPosiciones(models.Model): id = models.UUIDField(primary_key=True) trip_id = models.UUIDField() @@ -177,7 +171,6 @@ class Linea(models.Model): managed = False db_table = 'linea' - class LineaParadero(models.Model): id_linea_paradero = models.AutoField(primary_key=True) id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea') @@ -187,7 +180,6 @@ class LineaParadero(models.Model): managed = False db_table = 'linea_paradero' - class Rol(models.Model): id_rol = models.IntegerField(primary_key=True) nombre_rol = models.CharField(max_length=100) @@ -196,7 +188,6 @@ class Rol(models.Model): managed = False db_table = 'rol' - class Operador(models.Model): id_operador = models.CharField(primary_key=True, max_length=150) id_region = models.ForeignKey('Region', models.DO_NOTHING, db_column='id_region', blank=True, null=True) @@ -213,7 +204,6 @@ class Operador(models.Model): managed = False db_table = 'operador' - class Paradero(models.Model): id_paradero = models.CharField(primary_key=True, max_length=50) id_comuna = models.ForeignKey(Comuna, models.DO_NOTHING, db_column='id_comuna', blank=True, null=True) @@ -235,7 +225,6 @@ class Paradero(models.Model): managed = False db_table = 'paradero' - class ParaderoImagen(models.Model): id_paradero_imagen = models.AutoField(primary_key=True) id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero') @@ -246,7 +235,6 @@ class ParaderoImagen(models.Model): managed = False db_table = 'paradero_imagen' - class Persona(models.Model): rut = models.DecimalField(primary_key=True, max_digits=12, decimal_places=0) id_tipo_tratamiento = models.ForeignKey('TipoTratamientoPersona', models.DO_NOTHING, db_column='id_tipo_tratamiento', blank=True, null=True) @@ -263,7 +251,7 @@ class Persona(models.Model): class Meta: managed = False db_table = 'persona' - + def save(self, *args, **kwargs): # validacion se realiza solo si se esta creando el registro if self._state.adding: @@ -273,7 +261,6 @@ class Persona(models.Model): super().save(*args, **kwargs) - class Region(models.Model): id_region = models.IntegerField(primary_key=True) nombre_region = models.CharField(max_length=100) @@ -282,9 +269,6 @@ class Region(models.Model): managed = False db_table = 'region' - - - class RolAplicacion(models.Model): id_rol_app = models.AutoField(primary_key=True) id_aplicacion = models.ForeignKey(Aplicacion, models.DO_NOTHING, db_column='id_aplicacion', blank=False, null=False) @@ -298,10 +282,9 @@ class RolAplicacion(models.Model): class RolOperador(models.Model): id_rol_operador = models.AutoField(primary_key=True) - id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='id_rol') + id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='id_rol') id_operador = models.ForeignKey(Operador, on_delete=models.CASCADE, db_column='id_operador') - class Meta: managed = True db_table = 'rol_operador' @@ -327,7 +310,6 @@ class TipoDispositivo(models.Model): managed = False db_table = 'tipo_dispositivo' - class TipoParadero(models.Model): id_tipo_paradero = models.IntegerField(primary_key=True) descripcion = models.CharField(max_length=100, blank=True, null=True) @@ -336,7 +318,6 @@ class TipoParadero(models.Model): managed = False db_table = 'tipo_paradero' - class TipoTransporte(models.Model): id_tipo_transporte = models.IntegerField(primary_key=True) descripcion = models.CharField(max_length=50, blank=True, null=True) @@ -363,7 +344,6 @@ class TipoTratamientoPersona(models.Model): db_table = 'tipo_tratamiento_persona' db_table_comment = 'Establece el tratamiento de como dirigirse hacia una persona:\r\nEjemplo\r\nSeñor\r\nSeñora\r\nSrta' - class TipoVehiculo(models.Model): id_tipo_vehiculo = models.IntegerField(primary_key=True) descripcion = models.CharField(max_length=100, blank=True, null=True) @@ -372,7 +352,6 @@ class TipoVehiculo(models.Model): managed = False db_table = 'tipo_vehiculo' - class Usuario(models.Model): login = models.CharField(primary_key=True, max_length=60) rut = models.ForeignKey(Persona, models.DO_NOTHING, db_column='rut', blank=True, null=True) @@ -385,7 +364,6 @@ class Usuario(models.Model): managed = False db_table = 'usuario' - class Vehiculo(models.Model): ppu = models.CharField(primary_key=True, max_length=10) id_tipo_vehiculo = models.ForeignKey(TipoVehiculo, models.DO_NOTHING, db_column='id_tipo_vehiculo', blank=True, null=True) @@ -395,7 +373,6 @@ class Vehiculo(models.Model): managed = False db_table = 'vehiculo' - class VehiculoLinea(models.Model): patente = models.OneToOneField(Vehiculo, models.DO_NOTHING, db_column='patente', primary_key=True) # The composite primary key (patente, id_linea) found, that is not supported. The first column is selected. id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea') @@ -405,7 +382,7 @@ class VehiculoLinea(models.Model): managed = False db_table = 'vehiculo_linea' unique_together = (('patente', 'id_linea'),) - + class RedTransporte(models.Model): id_red = models.CharField(primary_key=True, max_length=10) nombre_red = models.CharField(max_length=100, blank=True, null=True) @@ -426,7 +403,7 @@ class GtfsArchivo(models.Model): ruta_archivo = models.CharField(max_length=200, blank=True, null=True) valid_from = models.DateField(blank=True, null=True) #created = models.DateTimeField(blank=True, null=True) - created = models.DateTimeField(auto_now_add=True) + created = models.DateTimeField(auto_now_add=True) usuario = models.CharField(max_length=100, blank=True, null=True) vigente = models.BooleanField(blank=True, null=True) status = models.CharField(max_length=100, blank=True, null=True) @@ -436,7 +413,6 @@ class GtfsArchivo(models.Model): db_table = 'gtfs_archivo' db_table_comment = 'Registro de los archivos GTFS que se cargan en el sistema' - class VistaFuncionario(models.Model): rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True) id_operador = models.ForeignKey('Operador', models.DO_NOTHING, db_column='id_operador', blank=True, null=True) @@ -456,10 +432,10 @@ class Contrato(models.Model): db_table = 'contrato' class PersonaDatosLaborales(models.Model): - rut = models.OneToOneField('Persona', models.DO_NOTHING, db_column='rut', primary_key=True) + rut = models.OneToOneField('Persona', models.DO_NOTHING, db_column='rut', primary_key=True) vigencia_clase_licencia = models.DateField(blank=True, null=True) - clase_licencia_conducir = models.CharField(max_length=50, blank=True, null=True) - profesion = models.CharField(max_length=100, blank=True, null=True) + clase_licencia_conducir = models.CharField(max_length=50, blank=True, null=True) + profesion = models.CharField(max_length=100, blank=True, null=True) class Meta: managed = False - db_table = 'persona_datos_laborales' \ No newline at end of file + db_table = 'persona_datos_laborales' diff --git a/project/api/views/auth.py b/project/api/views/auth.py index b8aa943..2ccc016 100755 --- a/project/api/views/auth.py +++ b/project/api/views/auth.py @@ -125,7 +125,7 @@ def info_token(request): except jwt.ExpiredSignatureError: return HttpResponse('token ya no es valido', status = 400) except jwt.InvalidTokenError: - return HttpResponse('token es invalido A', status = 400) + return HttpResponse('token es invalido', status = 400) @@ -153,7 +153,7 @@ def nueva_contrasena(request): except jwt.ExpiredSignatureError: return HttpResponse('token ya no es valido', status = 400) except jwt.InvalidTokenError: - return HttpResponse('token es invalido B', status = 400) + return HttpResponse('token es invalido', status = 400) except Exception as e: logging.error(e) return HttpResponse('error al cambiar contraseña', status = 500) diff --git a/project/api/views/dispositivo.py b/project/api/views/dispositivo.py index 8b942cd..ff58c16 100755 --- a/project/api/views/dispositivo.py +++ b/project/api/views/dispositivo.py @@ -79,12 +79,12 @@ class DispositivoViewSet(viewsets.ModelViewSet): trayectos_none = json.loads(json_trayectos) # agregar al listado los trayecto en donde no se registro el paradero - """ + """ json_trayectos = r.get('stop_id:none') trayectos_none = [] if json_trayectos != None: trayectos_none = json.loads(json_trayectos) - + for trayecto in trayectos_none: trayecto['stop_id'] = 'none' trayecto['hora_llegada'] = None @@ -136,6 +136,9 @@ class DispositivoViewSet(viewsets.ModelViewSet): hora_llegada = row[0].strftime('%H:%M:%S') distancia_km = row[1] texto_llegada= row[2] + if distancia_km == None: + distancia_km == 999 + llegadas.append({ 'patente': trayecto['vehicle_license_plate'], @@ -145,10 +148,12 @@ class DispositivoViewSet(viewsets.ModelViewSet): 'stop_id_alterno': trayecto['stop_id_alterno'], 'EstimadaGPS': hora_llegada, 'DistanciaGPS': distancia_km, - 'textoLlegada' : texto_llegada, + 'textoLlegada' : texto_llegada, 'Mensajelinea': None, }) + loggin.warning(llegadas) + llegadas_ordendas = sorted(llegadas, key=lambda x: x['DistanciaGPS']) item = {