def atualiza_denuncia(id_denuncia, tipo):
    db = Database()

    query_del_caso = "DELETE FROM CASO WHERE DENUNCIA = {0}".format(
        id_denuncia)
    query_denuncia = "DELETE FROM DENUNCIA WHERE ID = {0}".format(id_denuncia)
    registro = db.select(
        "SELECT * FROM DENUNCIA WHERE ID = {0}".format(id_denuncia))
    registro = registro.pop()

    doenca = None
    if registro["TIPO"] == 1:
        doenca = 4
    elif registro["TIPO"] == 2:
        doenca = 2

    query_bairro = "SELECT * " \
                   "FROM BAIRRO " \
                   "WHERE BAIRRO.CEP_INICIAL <= '{0}' OR BAIRRO.CEP_FINAL >= '{0}'".format(registro["CEP"])
    bairro = db.select(query_bairro).pop()
    bairro = bairro["ID"]
    print(bairro, doenca)
    query_caso = query(tipo, bairro, doenca)
    print(query_caso)
    try:
        db.execute(query_del_caso)
        db.execute(query_denuncia)
        if doenca is not None:
            db.execute(query_caso)
        db.commit()
        print("comitou")
        return {"status": True}
    except:
        return {"status": False}
Exemplo n.º 2
0
def inclui_denuncia(cep, tipo, coordenadas, observacao):
    cep = cep.strip()
    tipo = int(tipo)
    control = uuid.uuid4().hex

    if observacao == '':
        observacao = ' '

    if coordenadas == '':
        coordenadas = ' '

    db = Database()
    query_bairro = "SELECT * " \
                   "FROM BAIRRO " \
                   "WHERE BAIRRO.CEP_INICIAL <= '{0}' OR BAIRRO.CEP_FINAL >= '{0}'".format(cep)

    registros = db.select(query_bairro)
    registros = registros.pop()

    query_denuncia = "INSERT INTO DENUNCIA (TIPO, CEP, OBSERVACAO, COORDENADA, CONTROL) " \
                     "VALUES ({0}, '{1}', '{2}', '{3}', '{4}')".format(tipo, cep, observacao, coordenadas, control)
    query_procura = "SELECT ID FROM DENUNCIA WHERE CONTROL = '{0}'".format(
        control)

    if tipo == 1:
        doenca = 4
    elif tipo == 2:
        doenca = 2
    else:
        doenca = None

    try:
        db.execute(query_denuncia)
        denuncia = db.select(query_procura)
        denuncia = denuncia.pop()

        if doenca is not None:
            query_caso = "INSERT INTO CASO (DOENCA, SUSPEITO, BAIRRO, DENUNCIA) " \
                         "VALUES ({0}, {1}, {2}, {3})".format(doenca, 1, registros["ID"], denuncia["ID"])
            db.execute(query_caso)

        db.commit()
        return {"status": True}

    except:
        print(sys.exc_info()[0])
        return {"status": False}
Exemplo n.º 3
0
def efetuaLogin(email, senha):
    # trata o email
    email = email.lower()

    # Recupera o BD
    bd = Database()

    registros = bd.select("select * from USUARIO where email = '%s'" % email)
    if len(registros) <= 0:
        return {"status": False}

    usuario = registros.pop()

    # verifica se a senha foi informada corretamente
    if usuario["senha"] != senha:
        return {"status": False}

    horarioAtual = datetime.datetime.now()
    horarioExpiration = horarioAtual + datetime.timedelta(hours=2)
    horarioExpiration = horarioExpiration.strftime("%Y-%m-%d %H:%M:%S")

    token = uuid.uuid4().hex

    # Salva o token do usuario
    bd.execute(
        "UPDATE USUARIO SET TOKEN='%s', EXPIRATION='%s' WHERE EMAIL='%s'" %
        (token, horarioExpiration, email))
    bd.commit()

    return {"status": True, "token": token, "expiration": horarioExpiration}
Exemplo n.º 4
0
def get_perfil(token):
    db = Database()
    query = "SELECT NOME, EMAIL, cast(dtnasc as varchar(100)), CEP, DIAS, senha " \
            "FROM USUARIO " \
            "WHERE TOKEN = '{0}'".format(token)

    registros = db.select(query)
    registros = registros.pop()

    dtnasc = registros["dtnasc"].split("-")
    dtnasc = dtnasc[2] + '/' + dtnasc[1] + '/' + dtnasc[0]

    return {
        "nome": registros["nome"],
        "email": registros["email"],
        "dtnasc": dtnasc,
        "cep": registros["cep"],
        'dias': registros["dias"],
        'senha': registros['senha']
    }
Exemplo n.º 5
0
def get_denuncia(id):
    db = Database()
    query = "SELECT * FROM DENUNCIA WHERE ID = {0}".format(id)
    registros = db.select(query)
    registro = registros.pop()

    retorno = {
        "id": registro["ID"],
        "coordenadas": registro["COORDENADA"],
        "cep": registro["CEP"],
        "observacao": registro["OBSERVACAO"],
        "tipo": registro["TIPO"]
    }

    if registro["OBSERVACAO"] is None:
        retorno["observacao"] = "Não há."
    if registro["COORDENADA"] is None:
        retorno["coordenadas"] = "Não há."

    return retorno
def retornaEstatisticas(doenca):
    bd = Database()
    retorno = {}

    query_conf = monta_query("confirmado", doenca)
    query_desc = monta_query("descartado", doenca)
    query_obito = monta_query("obito", doenca)
    query_curado = monta_query("curado", doenca)
    query_suspeito = monta_query("suspeito", doenca)

    confirmados = bd.select(query_conf)
    descartados = bd.select(query_desc)
    obitos = bd.select(query_obito)
    curados = bd.select(query_curado)
    suspeitos = bd.select(query_suspeito)

    retorno = {
        "confirmados": confirmados[0]["casos"],
        "suspeitos": suspeitos[0]["casos"],
        "descartados": descartados[0]["casos"],
        "curados": curados[0]["casos"],
        "obitos": obitos[0]["casos"]
    }

    return retorno
Exemplo n.º 7
0
def cadastro(nome, email, senha, dtNasc, cep):
    db = Database()
    data = dtNasc.split('/')
    email = email.lower()
    dtNasc = data[2] + '-' + data[1] + '-' + data[0]
    try:
        db.execute("INSERT INTO USUARIO (NOME, EMAIL, SENHA, DTNASC, CEP) " +
                   "VALUES ('%s', '%s', '%s', '%s', '%s') " %
                   (nome, email, senha, dtNasc, cep))
        db.commit()

        return efetuaLogin(email, senha)

    except Exception as exc:
        return {"status": False}
Exemplo n.º 8
0
def atualiza_perfil(nome, email, senha, dt_nasc, cep, token):
    db = Database()
    data = dt_nasc.split('/')
    dt_nasc = data[2] + '-' + data[1] + '-' + data[0]
    if len(senha) != 0:
        query = "UPDATE USUARIO " \
                "SET NOME = '{0}', EMAIL = '{1}', SENHA = '{2}', DTNASC = '{3}', CEP = '{4}' " \
                "WHERE TOKEN = '{5}'".format(nome, email, senha, dt_nasc, cep, token)
    else:
        query = "UPDATE USUARIO " \
                "SET NOME = '{0}', EMAIL = '{1}', DTNASC = '{2}', CEP = '{3}' " \
                "WHERE TOKEN = '{4}'".format(nome, email, dt_nasc, cep, token)

    try:
        db.execute(query)
        db.commit()
        return {"status": True}

    except:
        return {"status": False}