def centro(request, planta, centro): tcn = Trabajador.objects.filter(centroNegocios__codigo = centro) # s = FlatJsonSerializer() contenidos = [] punto=None for tr in tcn: if tr.gps_id: # t = Trabajador.objects.get(id=trabajador) #Trabajadores con el id solicitado dev = Devices.objects.get(id=tr.gps_id) #Dispositivo correspondiente al trabajador punto = Positions.objects.get(id = dev.positionid) auxiliar=Posicionestrabajador() auxiliar.lat=punto.lat auxiliar.lon=punto.lon auxiliar.address=punto.address auxiliar.fixtime=punto.fixtime auxiliar.nombre=tr.primer_nombre auxiliar.apellidop=tr.apellidop auxiliar.apellidom=tr.apellidom auxiliar.fecha_nac=tr.fecha_nac #auxiliar.estudios=t.estudios auxiliar.rut=tr.rut auxiliar.nivel_riesgo=tr.nivel_riesgo auxiliar.direccion=tr.direccion #auxiliar.centroNegocios=t.centroNegocios #auxiliar.gps=t.gps contenidos.append(auxiliar) # data = s.serialize(contenidos) #data = GeoJSONSerializer().serialize(contenidos, use_natural_keys=True, with_modelname=False) # return HttpResponse(data)#, content_type='application/json') return JsonResponse(contenidos, safe=False)
def riesgotrabajador(request, planta, nro): #Posiciones de trabajadores con mayor riesgo # s = FlatJsonSerializer() pl = Planta.objects.get(nombre=planta) empresa = Empresa.objects.get(planta=pl) trabs = Trabajador.objects.filter(empresa=empresa) tr = trabs.order_by('-nivel_riesgo')[:nro] contenidos = [] for t in tr: dev = Devices.objects.get( id=t.gps_id) #Dispositivo correspondiente al trabajador punto = Positions.objects.get( id=dev.positionid) #Grupo de puntos relacionados a un trabajador if (punto): if (pl.geom.contains(punto.geom)): auxiliar = Posicionestrabajador() auxiliar.lat = punto.lat auxiliar.lon = punto.lon auxiliar.address = punto.address auxiliar.fixtime = punto.fixtime auxiliar.fono = t.fono auxiliar.nombre = t.primer_nombre auxiliar.apellidop = t.apellidop auxiliar.apellidom = t.apellidom auxiliar.fecha_nac = t.fecha_nac #auxiliar.estudios=t.estudios auxiliar.rut = t.rut auxiliar.nivel_riesgo = t.nivel_riesgo auxiliar.direccion = t.direccion #auxiliar.centroNegocios=t.centroNegocios #auxiliar.gps=t.gps contenidos.append(auxiliar) # data = s.serialize(contenidos) #data = GeoJSONSerializer().serialize(contenidos, use_natural_keys=True, with_modelname=False) # return HttpResponse(data) return JsonResponse(contenidos, safe=True)
def riesgotrabajador(request, planta, nro): #Posiciones de trabajadores con mayor riesgo # s = FlatJsonSerializer() pl = Planta.objects.get(nombre = planta) empresa= Empresa.objects.get(planta=pl) trabs=Trabajador.objects.filter(empresa=empresa) tr = trabs.order_by('-nivel_riesgo')[:nro] contenidos = [] for t in tr: dev = Devices.objects.get(id=t.gps_id) #Dispositivo correspondiente al trabajador punto = Positions.objects.get(id = dev.positionid) #Grupo de puntos relacionados a un trabajador if(punto): if(pl.geom.contains(punto.geom)): auxiliar=Posicionestrabajador() auxiliar.lat=punto.lat auxiliar.lon=punto.lon auxiliar.address=punto.address auxiliar.fixtime=punto.fixtime auxiliar.fono=t.fono auxiliar.nombre=t.primer_nombre auxiliar.apellidop=t.apellidop auxiliar.apellidom=t.apellidom auxiliar.fecha_nac=t.fecha_nac #auxiliar.estudios=t.estudios auxiliar.rut=t.rut auxiliar.nivel_riesgo=t.nivel_riesgo auxiliar.direccion=t.direccion #auxiliar.centroNegocios=t.centroNegocios #auxiliar.gps=t.gps contenidos.append(auxiliar) # data = s.serialize(contenidos) #data = GeoJSONSerializer().serialize(contenidos, use_natural_keys=True, with_modelname=False) # return HttpResponse(data) return JsonResponse(contenidos,safe=True)