def list_future_by_proprietario(cpf): acordoDAO = AcordoDAO() acordos_output = [] try: acordos = acordoDAO.list() solicitacaoDAO = SolicitacaoDAO() vagaDAO = VagaDAO() for a in acordos: s = solicitacaoDAO.get(a.get_id_solicitacao()) v = vagaDAO.get(s.get_id_vaga()) now = datetime.datetime.now() if v.get_cpf_proprietario() == cpf and s.get_inicio() > now: acordo = {"id_acordo": a.get_id_acordo(), "id_solicitacao": a.get_id_solicitacao(), "id_vaga": s.get_id_vaga(), "inicio": s.get_inicio(), "fim": s.get_fim()} acordos_output.append(acordo) except: return None else: return acordos_output
def insert_avaliacao(id_vaga, cpf_agente, avaliacao, comentario): vagaDAO = VagaDAO() vagaDAOdoc = VagaDAODoc() try: if avaliacao: vaga = vagaDAO.get(id_vaga) vaga.set_liberada(avaliacao) vagaDAO.update(vaga) vagaDoc = vagaDAOdoc.get(id_vaga) avaliacoes = vagaDoc.get_avaliacoes() novaAvaliacao = AvaliacaoDoc() novaAvaliacao.set_cpf_agente(cpf_agente) novaAvaliacao.set_comentario(comentario) novaAvaliacao.set_resultado(avaliacao) avaliacoes.append(novaAvaliacao) vagaDoc.set_avaliacoes(avaliacoes) vagaDAOdoc.update(vagaDoc) except Exception: return False else: return True
def list_by_location_and_time(user_cpf, inicio, fim, latitude, longitude): vagaDAO = VagaDAO() vagas_output = [] try: vagas = vagaDAO.list_free_by_location_and_time(user_cpf, latitude, longitude, inicio, fim) for v in vagas: vaga = {"id_vaga": v.get_id_vaga(), "latitude": v.get_latitude(), "longitude": v.get_longitude(), "largura": v.get_largura(), "comprimento": v.get_comprimento(), "preco": v.get_preco()} vagas_output.append(vaga) except: return None, None if len(vagas_output): return vagas_output, True else: estacionamentoDAOGrafos = EstacionamentoDAOGrafos() estacionamentos = estacionamentoDAOGrafos.list_by_coordinates(latitude, longitude) estacionamentos_output = [] for e in estacionamentos: estacionamento = {"nome": e.get_nome(), "latitude": e.get_latitude(), "longitude": e.get_longitude()} estacionamentos_output.append(estacionamento) return estacionamentos_output, False
def insert(cpf, bairro, latitude, longitude, largura, comprimento, preco): vagaDAO = VagaDAO() vaga = Vaga() vaga.set_cpf_proprietario(cpf) vaga.set_latitude(latitude) vaga.set_longitude(longitude) vaga.set_largura(largura) vaga.set_comprimento(comprimento) vaga.set_preco(preco) vagaDAODoc = VagaDAODoc() vagaDoc = VagaDoc() vagaDAOGrafos = VagaDAOGrafos() vagaGrafos = VagaGrafos() vagaGrafos.set_bairro(bairro) vagaGrafos.set_latitude(latitude) vagaGrafos.set_longitude(longitude) try: id_vaga = vagaDAO.insert(vaga) vagaDoc.set_id_vaga(id_vaga) vagaDAODoc.insert(vagaDoc) vagaGrafos.set_id_vaga(id_vaga) vagaDAOGrafos.insert(vagaGrafos) except: return False else: return True
def get_nota_media(cpf, tipo_usuario): acordoDao = AcordoDAO() solicitacaoDao = SolicitacaoDAO() acordoDAODoc = AcordoDAODoc() soma_nota = 0 qtde_notas = 0 if tipo_usuario == "MOTORISTA": try: acordos = acordoDao.list() for a in acordos: s = solicitacaoDao.get(a.get_id_solicitacao()) now = datetime.datetime.now() if s.get_cpf_motorista() == cpf and s.get_fim() < now: nota = acordoDAODoc.get( a.get_id_acordo()).get_nota_PM() if nota is not None: soma_nota += nota qtde_notas += 1 except: return None elif tipo_usuario == "PROPRIETARIO": try: acordos = acordoDao.list() vagaDao = VagaDAO() for a in acordos: s = solicitacaoDao.get(a.get_id_solicitacao()) v = vagaDao.get(s.get_id_vaga()) now = datetime.datetime.now() if v.get_cpf_proprietario() == cpf and s.get_fim() < now: nota = acordoDAODoc.get( a.get_id_acordo()).get_nota_MP() if nota is not None: soma_nota += nota qtde_notas += 1 except: return None if qtde_notas: return soma_nota / qtde_notas else: return -1
def insert_nota_to_proprietario(id_acordo, nota): acordoDAO = AcordoDAO() vagaDAO = VagaDAO() solicitacaoDAO = SolicitacaoDAO() solicitacao = solicitacaoDAO.get(acordoDAO.get(id_acordo).get_id_solicitacao()) vaga = vagaDAO.get(solicitacao.get_id_vaga()) acordoDAODoc = AcordoDAODoc() try: acordoDoc = acordoDAODoc.get(id_acordo) acordoDoc.set_nota_MP(nota) acordoDAODoc.update(acordoDoc, vaga.get_cpf_proprietario(), solicitacao.get_cpf_motorista(), solicitacao.get_id_vaga()) except: return False else: return True