Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
    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
Esempio n. 6
0
    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
Esempio n. 7
0
    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
Esempio n. 8
0
    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