master
ifiguero 2024-07-31 17:53:41 -04:00
parent d54c08f356
commit 5ace0c1828
3 changed files with 18 additions and 37 deletions

View File

@ -8,7 +8,6 @@
from django.db import models from django.db import models
from .validaciones import rut_valido from .validaciones import rut_valido
class Aplicacion(models.Model): class Aplicacion(models.Model):
id_aplicacion = models.IntegerField(primary_key=True) id_aplicacion = models.IntegerField(primary_key=True)
nombre_app = models.CharField(max_length=100, blank=False, null=False) nombre_app = models.CharField(max_length=100, blank=False, null=False)
@ -19,7 +18,6 @@ class Aplicacion(models.Model):
managed = True managed = True
db_table = 'aplicacion' db_table = 'aplicacion'
class Comuna(models.Model): class Comuna(models.Model):
id_comuna = models.IntegerField(primary_key=True) id_comuna = models.IntegerField(primary_key=True)
id_region = models.ForeignKey('Region', models.DO_NOTHING, db_column='id_region', blank=True, null=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 managed = False
db_table = 'comuna' db_table = 'comuna'
class Conductor(models.Model): class Conductor(models.Model):
patente = models.OneToOneField('Vehiculo', models.DO_NOTHING, db_column='patente', primary_key=True) 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) rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True)
@ -39,7 +36,6 @@ class Conductor(models.Model):
managed = False managed = False
db_table = 'conductor' db_table = 'conductor'
class Dispositivo(models.Model): class Dispositivo(models.Model):
id_dispositivo = models.CharField(primary_key=True, max_length=100) 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) 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 managed = False
db_table = 'dispositivo' db_table = 'dispositivo'
class GtfsFrequencie(models.Model): class GtfsFrequencie(models.Model):
id_trip = models.ForeignKey('GtfsTrips', models.DO_NOTHING, db_column='id_trip', blank=True, null=True) id_trip = models.ForeignKey('GtfsTrips', models.DO_NOTHING, db_column='id_trip', blank=True, null=True)
start_time = models.TimeField(blank=True, null=True) start_time = models.TimeField(blank=True, null=True)
@ -63,7 +58,6 @@ class GtfsFrequencie(models.Model):
managed = False managed = False
db_table = 'gtfs_frequencie' db_table = 'gtfs_frequencie'
class GtfsPosiciones(models.Model): class GtfsPosiciones(models.Model):
id = models.UUIDField(primary_key=True) id = models.UUIDField(primary_key=True)
trip_id = models.UUIDField() trip_id = models.UUIDField()
@ -177,7 +171,6 @@ class Linea(models.Model):
managed = False managed = False
db_table = 'linea' db_table = 'linea'
class LineaParadero(models.Model): class LineaParadero(models.Model):
id_linea_paradero = models.AutoField(primary_key=True) id_linea_paradero = models.AutoField(primary_key=True)
id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea') id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea')
@ -187,7 +180,6 @@ class LineaParadero(models.Model):
managed = False managed = False
db_table = 'linea_paradero' db_table = 'linea_paradero'
class Rol(models.Model): class Rol(models.Model):
id_rol = models.IntegerField(primary_key=True) id_rol = models.IntegerField(primary_key=True)
nombre_rol = models.CharField(max_length=100) nombre_rol = models.CharField(max_length=100)
@ -196,7 +188,6 @@ class Rol(models.Model):
managed = False managed = False
db_table = 'rol' db_table = 'rol'
class Operador(models.Model): class Operador(models.Model):
id_operador = models.CharField(primary_key=True, max_length=150) 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) 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 managed = False
db_table = 'operador' db_table = 'operador'
class Paradero(models.Model): class Paradero(models.Model):
id_paradero = models.CharField(primary_key=True, max_length=50) 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) 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 managed = False
db_table = 'paradero' db_table = 'paradero'
class ParaderoImagen(models.Model): class ParaderoImagen(models.Model):
id_paradero_imagen = models.AutoField(primary_key=True) id_paradero_imagen = models.AutoField(primary_key=True)
id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero') id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero')
@ -246,7 +235,6 @@ class ParaderoImagen(models.Model):
managed = False managed = False
db_table = 'paradero_imagen' db_table = 'paradero_imagen'
class Persona(models.Model): class Persona(models.Model):
rut = models.DecimalField(primary_key=True, max_digits=12, decimal_places=0) 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) 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: class Meta:
managed = False managed = False
db_table = 'persona' db_table = 'persona'
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# validacion se realiza solo si se esta creando el registro # validacion se realiza solo si se esta creando el registro
if self._state.adding: if self._state.adding:
@ -273,7 +261,6 @@ class Persona(models.Model):
super().save(*args, **kwargs) super().save(*args, **kwargs)
class Region(models.Model): class Region(models.Model):
id_region = models.IntegerField(primary_key=True) id_region = models.IntegerField(primary_key=True)
nombre_region = models.CharField(max_length=100) nombre_region = models.CharField(max_length=100)
@ -282,9 +269,6 @@ class Region(models.Model):
managed = False managed = False
db_table = 'region' db_table = 'region'
class RolAplicacion(models.Model): class RolAplicacion(models.Model):
id_rol_app = models.AutoField(primary_key=True) id_rol_app = models.AutoField(primary_key=True)
id_aplicacion = models.ForeignKey(Aplicacion, models.DO_NOTHING, db_column='id_aplicacion', blank=False, null=False) 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): class RolOperador(models.Model):
id_rol_operador = models.AutoField(primary_key=True) 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') id_operador = models.ForeignKey(Operador, on_delete=models.CASCADE, db_column='id_operador')
class Meta: class Meta:
managed = True managed = True
db_table = 'rol_operador' db_table = 'rol_operador'
@ -327,7 +310,6 @@ class TipoDispositivo(models.Model):
managed = False managed = False
db_table = 'tipo_dispositivo' db_table = 'tipo_dispositivo'
class TipoParadero(models.Model): class TipoParadero(models.Model):
id_tipo_paradero = models.IntegerField(primary_key=True) id_tipo_paradero = models.IntegerField(primary_key=True)
descripcion = models.CharField(max_length=100, blank=True, null=True) descripcion = models.CharField(max_length=100, blank=True, null=True)
@ -336,7 +318,6 @@ class TipoParadero(models.Model):
managed = False managed = False
db_table = 'tipo_paradero' db_table = 'tipo_paradero'
class TipoTransporte(models.Model): class TipoTransporte(models.Model):
id_tipo_transporte = models.IntegerField(primary_key=True) id_tipo_transporte = models.IntegerField(primary_key=True)
descripcion = models.CharField(max_length=50, blank=True, null=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 = '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' 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): class TipoVehiculo(models.Model):
id_tipo_vehiculo = models.IntegerField(primary_key=True) id_tipo_vehiculo = models.IntegerField(primary_key=True)
descripcion = models.CharField(max_length=100, blank=True, null=True) descripcion = models.CharField(max_length=100, blank=True, null=True)
@ -372,7 +352,6 @@ class TipoVehiculo(models.Model):
managed = False managed = False
db_table = 'tipo_vehiculo' db_table = 'tipo_vehiculo'
class Usuario(models.Model): class Usuario(models.Model):
login = models.CharField(primary_key=True, max_length=60) login = models.CharField(primary_key=True, max_length=60)
rut = models.ForeignKey(Persona, models.DO_NOTHING, db_column='rut', blank=True, null=True) rut = models.ForeignKey(Persona, models.DO_NOTHING, db_column='rut', blank=True, null=True)
@ -385,7 +364,6 @@ class Usuario(models.Model):
managed = False managed = False
db_table = 'usuario' db_table = 'usuario'
class Vehiculo(models.Model): class Vehiculo(models.Model):
ppu = models.CharField(primary_key=True, max_length=10) 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) 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 managed = False
db_table = 'vehiculo' db_table = 'vehiculo'
class VehiculoLinea(models.Model): 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. 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') id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea')
@ -405,7 +382,7 @@ class VehiculoLinea(models.Model):
managed = False managed = False
db_table = 'vehiculo_linea' db_table = 'vehiculo_linea'
unique_together = (('patente', 'id_linea'),) unique_together = (('patente', 'id_linea'),)
class RedTransporte(models.Model): class RedTransporte(models.Model):
id_red = models.CharField(primary_key=True, max_length=10) id_red = models.CharField(primary_key=True, max_length=10)
nombre_red = models.CharField(max_length=100, blank=True, null=True) 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) ruta_archivo = models.CharField(max_length=200, blank=True, null=True)
valid_from = models.DateField(blank=True, null=True) valid_from = models.DateField(blank=True, null=True)
#created = models.DateTimeField(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) usuario = models.CharField(max_length=100, blank=True, null=True)
vigente = models.BooleanField(blank=True, null=True) vigente = models.BooleanField(blank=True, null=True)
status = models.CharField(max_length=100, 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 = 'gtfs_archivo'
db_table_comment = 'Registro de los archivos GTFS que se cargan en el sistema' db_table_comment = 'Registro de los archivos GTFS que se cargan en el sistema'
class VistaFuncionario(models.Model): class VistaFuncionario(models.Model):
rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True) 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) 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' db_table = 'contrato'
class PersonaDatosLaborales(models.Model): 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) vigencia_clase_licencia = models.DateField(blank=True, null=True)
clase_licencia_conducir = models.CharField(max_length=50, 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) profesion = models.CharField(max_length=100, blank=True, null=True)
class Meta: class Meta:
managed = False managed = False
db_table = 'persona_datos_laborales' db_table = 'persona_datos_laborales'

View File

@ -125,7 +125,7 @@ def info_token(request):
except jwt.ExpiredSignatureError: except jwt.ExpiredSignatureError:
return HttpResponse('token ya no es valido', status = 400) return HttpResponse('token ya no es valido', status = 400)
except jwt.InvalidTokenError: 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: except jwt.ExpiredSignatureError:
return HttpResponse('token ya no es valido', status = 400) return HttpResponse('token ya no es valido', status = 400)
except jwt.InvalidTokenError: except jwt.InvalidTokenError:
return HttpResponse('token es invalido B', status = 400) return HttpResponse('token es invalido', status = 400)
except Exception as e: except Exception as e:
logging.error(e) logging.error(e)
return HttpResponse('error al cambiar contraseña', status = 500) return HttpResponse('error al cambiar contraseña', status = 500)

View File

@ -79,12 +79,12 @@ class DispositivoViewSet(viewsets.ModelViewSet):
trayectos_none = json.loads(json_trayectos) trayectos_none = json.loads(json_trayectos)
# agregar al listado los trayecto en donde no se registro el paradero # agregar al listado los trayecto en donde no se registro el paradero
""" """
json_trayectos = r.get('stop_id:none') json_trayectos = r.get('stop_id:none')
trayectos_none = [] trayectos_none = []
if json_trayectos != None: if json_trayectos != None:
trayectos_none = json.loads(json_trayectos) trayectos_none = json.loads(json_trayectos)
for trayecto in trayectos_none: for trayecto in trayectos_none:
trayecto['stop_id'] = 'none' trayecto['stop_id'] = 'none'
trayecto['hora_llegada'] = None trayecto['hora_llegada'] = None
@ -136,6 +136,9 @@ class DispositivoViewSet(viewsets.ModelViewSet):
hora_llegada = row[0].strftime('%H:%M:%S') hora_llegada = row[0].strftime('%H:%M:%S')
distancia_km = row[1] distancia_km = row[1]
texto_llegada= row[2] texto_llegada= row[2]
if distancia_km == None:
distancia_km == 999
llegadas.append({ llegadas.append({
'patente': trayecto['vehicle_license_plate'], 'patente': trayecto['vehicle_license_plate'],
@ -145,10 +148,12 @@ class DispositivoViewSet(viewsets.ModelViewSet):
'stop_id_alterno': trayecto['stop_id_alterno'], 'stop_id_alterno': trayecto['stop_id_alterno'],
'EstimadaGPS': hora_llegada, 'EstimadaGPS': hora_llegada,
'DistanciaGPS': distancia_km, 'DistanciaGPS': distancia_km,
'textoLlegada' : texto_llegada, 'textoLlegada' : texto_llegada,
'Mensajelinea': None, 'Mensajelinea': None,
}) })
loggin.warning(llegadas)
llegadas_ordendas = sorted(llegadas, key=lambda x: x['DistanciaGPS']) llegadas_ordendas = sorted(llegadas, key=lambda x: x['DistanciaGPS'])
item = { item = {