def get_valid_routes():
    query = "SELECT rota, data FROM tb_data_rota;"
    rows = bd.consulta(query)
    routes = {}
    for route in rows:
        routes[route[0]] = route[1]
    return montaJson({"routes": routes})
def login(user, password):
    query = "SELECT * from tb_usuario WHERE nome=%s and senha=%s and funcao=1;"
    rows = bd.consulta(query, (user, password))
    if len(rows) == 0:
        return False
    else:
        return True
def api_v1_mostrar_alocacao(id_escala):
    query = "SELECT tb_usuario.nome, tb_ponto_de_fiscalizacao.nome, tb_alocacao.dia, tb_escala.mes FROM tb_usuario, tb_ponto_de_fiscalizacao, tb_alocacao, tb_escala WHERE tb_alocacao.id_escala = %s AND tb_alocacao.id_escala = tb_escala.id AND tb_alocacao.id_ponto_fiscalizacao = tb_ponto_de_fiscalizacao.id AND tb_usuario.matricula = tb_alocacao.id_usuario;"
    row = bd.consulta(query, (id_escala, ))
    if row:
        return json.dumps(row)
    else:
        abort(404)
def api_v1_get_alocacoes_usuario(matricula):
    query = "SELECT * FROM tb_alocacao WHERE id_usuario = %s;"
    row = bd.consulta(query, (matricula, ))
    if row:
        return json.dumps(row)
    else:
        abort(404)
def get_route_trips_and_ticketing(start_date, end_date):
    answer = "id,passageiros,estudantes,gratuitos,equivalencia,id,rota,data,saida,chegada,duracao,numero_onibus,operador,id_bilhetagem,numero,empresa,id,nome\n"
    query = "SELECT * FROM tb_bilhetagem b, tb_viagem v, tb_onibus o, tb_empresa e WHERE b.id = v.id_bilhetagem AND v.numero_onibus = o.numero AND o.empresa = e.id AND v.data BETWEEN %s AND %s;"
    rows = bd.consulta(query, (start_date, end_date))
    for row in rows:
        id_bilhetagem = str(row[0])
        passageiros = row[1]
        estudantes = row[2]
        gratuitos = row[3]
        equivalencia = float(row[4])
        id_viagem = row[5]
        rota = str(row[6])
        data = datetime.datetime.strftime(row[7], '%Y-%m-%d')
        saida = str(row[8])
        chegada = str(row[9])
        duracao = row[10]
        numero_onibus = row[11]
        operador = row[12].encode('utf-8')
        id_bilhetagem2 = str(row[13])
        numero = row[14]
        empresa = str(row[15])
        id = str(row[16])
        nome = str(row[17])

        answer += ("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n") %\
                  (id_bilhetagem,passageiros,estudantes,gratuitos,equivalencia,id_viagem,rota,data,saida,chegada,duracao,numero_onibus,operador,id_bilhetagem2,numero,empresa,id,nome)

    return answer
def api_v1_mostrar_escalas():
    query = "SELECT tb_escala.id, tb_escala.mes, tb_escala.ano, tb_turno_escala.turno, tb_status_escala.status FROM tb_escala, tb_turno_escala, tb_status_escala WHERE tb_escala.turno = tb_turno_escala.id AND tb_escala.status = tb_status_escala.id;"
    row = bd.consulta(query)
    if row:
        return json.dumps(row)
    else:
        abort(404)
def api_v1_mostrar_escala(id):
    query = "SELECT * FROM tb_escala WHERE id = %s;"
    row = bd.consulta(query, (id, ))
    if row:
        return json.dumps(row)
    else:
        abort(404)
def api_v1_get_turno(id):
    query = "SELECT turno FROM tb_escala WHERE id = %s"
    row = bd.consulta(query, (id, ))
    if row:
        return json.dumps([row[0]])
    else:
        abort(500)
def get_all_frame_schedules(date):
    day_type = schedule_day_type(date)

    query = "SELECT qh.id, qh.tipo_dia, h.hora_onibus AS saida, ADDTIME(h.hora_onibus, SEC_TO_TIME(duracao * 60)) AS chegada , qh.duracao, qh.tamanho_da_viagem, qh.id_rota " \
            "FROM tb_quadro_horario_2 AS qh, tb_horario_quadro_horario AS h " \
            "WHERE qh.id = h.id_quadro_horario " \
            "AND qh.tipo_dia = %s " \
            "AND qh.id_rota IN (SELECT DISTINCT id_rota FROM tb_quadro_horario_2 WHERE id_rota != 'TIC-0001') " \
            "AND h.indice_viagem = 1 " \
            "ORDER BY id_rota, hora_onibus, duracao;"
    rows = bd.consulta(query, (day_type))
    cols = [
        "id", "tipo_dia", "saida", "chegada", "duracao", "tamanho_da_viagem",
        "id_rota"
    ]

    routes_schedules = {}

    for row in rows:
        route = row[6]

        if route not in routes_schedules:
            routes_schedules[route] = []

        routes_schedules[route].append(row_to_dict(row, cols))

    return routes_schedules
def api_v1_mostrar_usuario(matricula):
    query = "SELECT * FROM tb_usuario WHERE matricula = %s;"
    row = bd.consulta(query, (matricula, ))
    if row:
        return json.dumps(row)
    else:
        abort(404)
def get_all_travels(ranking_date):
    if ranking_date == "":
        query = "SELECT * FROM tb_viagem " \
                 "WHERE data = (SELECT MAX(data) FROM tb_data_rota) and " \
                 "rota IN (SELECT DISTINCT id_rota FROM tb_quadro_horario_2 WHERE id_rota != 'TIC-0001') " \
                 "ORDER BY rota, saida;"
    else:
        query = "SELECT * FROM tb_viagem " \
                 "WHERE data = '%s' and " \
                 "rota IN (SELECT DISTINCT id_rota FROM tb_quadro_horario_2 WHERE id_rota != 'TIC-0001') " \
                 "ORDER BY rota, saida;" % ranking_date
    rows = bd.consulta(query)
    cols = [
        "id", "rota", "data", "saida", "chegada", "duracao", "numero_onibus",
        "operador", "id_bilhetagem"
    ]

    date = rows[0][2]

    routes_travels = {}
    routes = []

    for row in rows:
        route = row[1]

        if route not in routes_travels:
            routes_travels[route] = []
            routes.append(route)

        routes_travels[route].append(row_to_dict(row, cols))

    return date, routes, routes_travels
def get_travels(date, bus):
    query = "SELECT * FROM tb_viagem WHERE data = %s and rota = %s ORDER BY saida;"
    rows = bd.consulta(query, (date, bus))
    col = [
        "id", "rota", "data", "saida", "chegada", "duracao", "numero_onibus",
        "operador", "id_bilhetagem"
    ]
    return montaListaJson(rows, col)
def get_days_travels_between_days(date1, date2, bus):
    query = "SELECT * FROM tb_viagem WHERE data >= %s and data < %s and rota = %s ORDER BY saida;"
    rows = bd.consulta(query, (date1, date2, bus))
    col = [
        "id", "rota", "data", "saida", "chegada", "duracao", "numero_onibus",
        "operador", "id_bilhetagem"
    ]
    return build_days_list(rows, col)
def get_travels_analysis(date, bus):
    query = "SELECT v.rota,v.data,v.saida,v.chegada,v.duracao,v.numero_onibus,v.operador,e.nome,l.nome FROM tb_viagem v, tb_onibus o, tb_empresa e, tb_rota r,tb_linha l "\
    "  WHERE v.data = %s and v.rota = %s and v.numero_onibus=o.numero and o.empresa=e.id and v.rota=r.rota and r.linha=l.id ORDER BY saida;"
    rows = bd.consulta(query, (date, bus))
    col = [
        "rota", "data", "saida", "chegada", "duracao", "numero_onibus",
        "operador", "nome_empresa", "nome_linha"
    ]
    return montaListaJson(rows, col)
def get_travels_and_ticketing(date, bus):
    query = "SELECT v.rota,v.data,v.saida,v.chegada,v.duracao,v.numero_onibus,v.operador,b.passageiros,b.estudantes,b.gratuitos,b.equivalencia "\
    "FROM tb_viagem v, tb_bilhetagem b WHERE data = %s and rota = %s and v.id_bilhetagem = b.id ORDER BY saida;"
    rows = bd.consulta(query, (date, bus))
    col = [
        "rota", "data", "saida", "chegada", "duracao", "numero_onibus",
        "operador", "passageiros", "estudantes", "gratuitos", "equivalencia"
    ]
    return montaListaJson(rows, col)
Exemplo n.º 16
0
def login(matricula, senha):
    query = "SELECT * FROM tb_usuario WHERE matricula=%s AND senha=%s"
    row = bd.consulta(query, (matricula, senha))
    if len(row) > 0:
        user = row[0]
        if user[5] == 1:
            session['matricula'] = user[1]
            session['nome'] = user[2]
            session['funcao'] = user[4]
def get_time_stocking_data(start_date, end_date):
    query = "SELECT SUM(b.passageiros),SUM(b.estudantes),SUM(b.gratuitos),SUM(b.equivalencia),v.data,e.nome  FROM tb_bilhetagem b, tb_viagem v, tb_onibus o, tb_empresa e WHERE b.id = v.id_bilhetagem AND v.numero_onibus = o.numero AND o.empresa = e.id AND e.nome != 'INDEFINIDO' AND v.data BETWEEN %s AND %s GROUP BY v.data, e.nome;"
    rows = bd.consulta(query, (start_date, end_date))

    col = [
        "passageiros", "estudantes", "gratuitos", "equivalencia", "data",
        "nome_empresa"
    ]
    return montaListaJson(rows, col)
def get_frame_schedules(date, bus):
    day_type = schedule_day_type(date)

    query = "SELECT qh.id, qh.tipo_dia, h.hora_onibus AS saida, ADDTIME(h.hora_onibus, SEC_TO_TIME(duracao * 60)) AS chegada , qh.duracao, qh.tamanho_da_viagem, qh.id_rota " \
            "FROM tb_quadro_horario_2 AS qh, tb_horario_quadro_horario AS h " \
            "WHERE qh.id = h.id_quadro_horario " \
            "AND qh.tipo_dia = %s " \
            "AND qh.id_rota = %s " \
            "AND h.indice_viagem = 1 " \
            "ORDER BY hora_onibus, duracao;"
    rows = bd.consulta(query, (day_type, bus))
    col = [
        "id", "tipo_dia", "saida", "chegada", "duracao", "tamanho_da_viagem",
        "id_rota"
    ]

    return montaListaJson(rows, col)
def api_v1_get_numero_usuarios():
    query = "SELECT COUNT(*) FROM tb_usuario;"
    row = bd.consulta(query)
    return str(row[0][0])
def route_isEmpty(data, bus):
    query = "SELECT COUNT(*) FROM tb_viagem WHERE data < %s and rota = %s ORDER BY saida;"
    rows = bd.consulta(query, (data, bus))
    return function_cors(montaJson({"isEmpty": rows[0][0] == 0}))
def get_all_routes():
    query = "SELECT rota FROM tb_rota;"
    rows = bd.consulta(query)
    col = ["rota"]
    return montaListaJson(rows, col)
def api_v1_usuarios():
    query = "SELECT * FROM tb_usuario;"
    row = bd.consulta(query)
    return json.dumps(row)
def api_v1_pontos_de_fiscalizacao():
    query = "SELECT * FROM tb_ponto_de_fiscalizacao;"
    row = bd.consulta(query)
    return json.dumps(row)