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 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