def get_trabajadores_informacion(params): trabajadores_informacion_lista = [] trabajadores = Employee.objects.all() for trabajador in trabajadores: trabajador_informacion = TrabajadorInformacion() trabajador_informacion.id = trabajador.pk trabajador_informacion.codigo = trabajador.codigo trabajador_informacion.nombre = trabajador.nombres trabajador_informacion.especialidad1 = trabajador.Specialty1.id trabajador_informacion.especialidad1_nombre = trabajador.Specialty1.nombre trabajador_informacion.calificacion = trabajador.calificacion sin_rotacion = trabajador.Specialty1.sin_rotacion if trabajador.Specialty2: trabajador_informacion.especialidad2 = trabajador.Specialty2.id trabajador_informacion.especialidad2_nombre = trabajador.Specialty2.nombre sin_rotacion = (sin_rotacion | trabajador.Specialty2.sin_rotacion) trabajador_tiempo = params.tiempos_trabajadores_dict.get(trabajador.id, None) trabajador_informacion.sin_rotacion = sin_rotacion # Tiempos de trabajador, la cantidad de turnos ya incluye el descuento del almuerzo if trabajador_tiempo: trabajador_informacion.cantidad_turnos_mes = trabajador_tiempo.cantidad_turnos_mes trabajador_informacion.cantidad_turnos_semana = trabajador_tiempo.cantidad_turnos_semana trabajador_informacion.minutos_mes = get_hora_formato(trabajador_tiempo.minutos_mes) trabajador_informacion.minutos_semana = get_hora_formato(trabajador_tiempo.minutos_semana) trabajador_informacion.minutos_almuerzo_mes = get_hora_formato(trabajador_tiempo.minutos_almuerzo_mes) trabajador_informacion.minutos_almuerzo_semana = get_hora_formato(trabajador_tiempo.minutos_almuerzo_semana) if trabajador not in params.trabajadores_activos_list: trabajador_informacion.seleccionable = False trabajador_informacion.comentario = 'No se encuentra activo para el rango de fecha' elif trabajador.id in params.trabajadores_excluidos_dict: trabajador_informacion.seleccionable = False trabajador_informacion.comentario = \ params.trabajadores_excluidos_dict[trabajador.id].causa trabajadores_informacion_lista.append(trabajador_informacion) return trabajadores_informacion_lista
def __init__(self): self.id = None # ID de trabajador self.codigo = None # Codigo de trabajador self.nombre = None # Apellidos y Nombres del trabajador self.especialidad1 = None # ID Especialidad #1 self.especialidad2 = None # Nombre Especialidad #1 self.seleccionable = True # Si el trabajador es seleccionable para la nombrada self.comentario = None self.sin_rotacion = False self.cantidad_turnos_mes = 0 self.cantidad_turnos_semana = 0 self.minutos_mes = get_hora_formato(0) self.minutos_semana = get_hora_formato(0) self.minutos_almuerzo_mes = get_hora_formato(0) self.minutos_almuerzo_semana = get_hora_formato(0) self.calificacion = 0 self.especialidad1_nombre = None self.especialidad2_nombre = None