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}
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}
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}
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'] }
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
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}
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}