def list_unanswered_by_proprietario(cpf): solicitacaoDAO = SolicitacaoDAO() solicitacoes_output = [] veiculoDAO = VeiculoDAO() try: solicitacoes = solicitacaoDAO.list_unanswered_by_cpf_proprietario( cpf) for s in solicitacoes: solicitacao = { "id_solicitacao": s.get_id_solicitacao(), "id_vaga": s.get_id_vaga(), "inicio": s.get_inicio(), "fim": s.get_fim(), "cpf_motorista": s.get_cpf_motorista() } veiculos = veiculoDAO.list_by_cpf_motorista( s.get_cpf_motorista()) veiculos_output = "" for v in veiculos: veiculos_output += "\n" + v.get_modelo() + " " + str( v.get_ano()) + " " + v.get_cor() + " " + v.get_placa() solicitacao["veiculos"] = veiculos_output solicitacoes_output.append(solicitacao) except: return None else: return solicitacoes_output
def list_by_motorista(cpf): solicitacaoDAO = SolicitacaoDAO() solicitacoes_output = [] try: solicitacoes = solicitacaoDAO.list_by_cpf_motorista(cpf) for s in solicitacoes: resposta = s.get_resposta() if resposta is not None: solicitacao = { "id_solicitacao": s.get_id_solicitacao(), "id_vaga": s.get_id_vaga(), "inicio": s.get_inicio(), "fim": s.get_fim(), "resposta": "aceita" if resposta else "recusada" } else: solicitacao = { "id_solicitacao": s.get_id_solicitacao(), "id_vaga": s.get_id_vaga(), "inicio": s.get_inicio(), "fim": s.get_fim(), "resposta": "sem resposta" } solicitacoes_output.append(solicitacao) except: return None else: return solicitacoes_output
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 update_resposta(id_solicitacao, cpf_proprietario, resposta): solicitacaoDAO = SolicitacaoDAO() try: solicitacao = solicitacaoDAO.get(id_solicitacao) solicitacao.set_resposta(resposta) solicitacaoDAO.update(solicitacao) if resposta: ActionAcordo.insert(id_solicitacao, cpf_proprietario, solicitacao.get_cpf_motorista()) except: return False else: return True
def insert(id_vaga, cpf_motorista, inicio, fim): solicitacaoDAO = SolicitacaoDAO() solicitacao = Solicitacao() solicitacao.set_cpf_motorista(cpf_motorista) solicitacao.set_id_vaga(id_vaga) solicitacao.set_inicio(inicio) solicitacao.set_fim(fim) try: solicitacaoDAO.insert(solicitacao) 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
def insert(id_solicitacao, cpf_proprietario, cpf_motorista): solicitacaoDAO = SolicitacaoDAO() solicitacao = solicitacaoDAO.get(id_solicitacao) id_vaga = solicitacao.get_id_vaga() acordoDAO = AcordoDAO() acordo = Acordo() acordo.set_id_solicitacao(id_solicitacao) acordoDAODoc = AcordoDAODoc() acordoDoc = AcordoDoc() try: id_acordo = acordoDAO.insert(acordo) acordoDoc.set_id_acordo(id_acordo) acordoDAODoc.insert(acordoDoc, cpf_proprietario, cpf_motorista, id_vaga) except: return False else: return True