/** pesquisa no banco de Dados por um carro de acordo com a placa */
  public void pesquisarPorPlaca() {

    setEhCadastrado(false);
    setJaPesquisei(true);

    // Retorna um estado completo de acordo com um ID
    ICommand command = mapCommands.get("CONSULTAR");
    Resultado resultado = new Resultado();
    resultado = command.execute(revisao.getCarro());

    // CArro foi encontrado
    if (resultado.getEntidades().get(0) != null) {
      revisao.setCarro((Carro) resultado.getEntidades().get(0));
      setEhCadastrado(true);
      setJaPesquisei(false);
      return;
    } else {
      revisao.setCarro(new Carro());
      return;
    }
  }
  /** limpa a tela de pesquisa de REvisao Deixando pronto para uma nova Pesquisa */
  public void limparObjetos() {

    revisao = new Revisao();
    revisao.setCarro(new Carro());

    arrefecimento = new Arrefecimento();
    bateria = new Bateria();
    embreagem = new Embreagem();
    freio = new Freio();
    motor = new Motor();
    suspensao = new Suspensao();
    dianteiroDireito = new Pneu();
    dianteiroEsquerdo = new Pneu();
    traseiroDireito = new Pneu();
    traseiroEsquerdo = new Pneu();
    estepe = new Pneu();

    // limpar Produtos

    amortecedorProduto = new Amortecedor();
    correiaDentadaProduto = new CorreiaDentada();
    embreagemProduto = new br.com.dealercar.domain.produtosrevisao.Embreagem();
    farolProduto = new Farol();
    filtroDeArProduto = new FiltroDeAr();
    filtroDeOleoMotorProduto = new FiltroDeOleoMotor();
    fluidoDeFreioProduto = new FluidoDeFreio();
    pastilhaFreioProduto = new PastilhaFreio();
    pneuProduto = new br.com.dealercar.domain.produtosrevisao.Pneu();
    velasIgnicaoProduto = new VelasIgnicao();

    pneus.clear();

    produtosCadastrados.clear();
    produtosUtilizados.clear();
    produtoRevisao = new ProdutoRevisao();

    quantidadeProduto.put(Amortecedor.class.getSimpleName(), 0);
    quantidadeProduto.put(CorreiaDentada.class.getSimpleName(), 0);
    quantidadeProduto.put(
        br.com.dealercar.domain.produtosrevisao.Embreagem.class.getSimpleName(), 0);
    quantidadeProduto.put(Farol.class.getSimpleName(), 0);
    quantidadeProduto.put(FiltroDeAr.class.getSimpleName(), 0);
    quantidadeProduto.put(FiltroDeOleoMotor.class.getSimpleName(), 0);
    quantidadeProduto.put(FluidoDeFreio.class.getSimpleName(), 0);
    quantidadeProduto.put(PastilhaFreio.class.getSimpleName(), 0);
    quantidadeProduto.put(br.com.dealercar.domain.produtosrevisao.Pneu.class.getSimpleName(), 0);
    quantidadeProduto.put(VelasIgnicao.class.getSimpleName(), 0);

    setEhCadastrado(false);
    setJaPesquisei(false);
  }
  @Override
  public void carregarListagem() {

    // escolhe o Command corretamente de acordo com a operacao
    ICommand command = mapConducaoCommands.get("LISTAR");
    Resultado resultado = new Resultado();

    resultado = command.execute(new Revisao());
    if (resultado != null) {
      listaRevisao = resultado.getEntidades();
    }
    totaoRevisaoRealizada = listaRevisao.size();

    command = mapConducaoCommands.get("CONSULTAR");
    resultado = new Resultado();

    resultado = command.execute(new Devolucao());
    if (resultado != null) {
      listaDevolucaoAguardandoRevisao = resultado.getEntidades();
    }

    totalRevisaoNaFila = listaDevolucaoAguardandoRevisao.size();

    // se nao for vazio limpa para nao ocorrer duplicação
    if (!produtosCadastrados.isEmpty()) {
      produtosCadastrados.clear();
    }

    carregarProdutosCadastrados();

    /*
     * verifica se ja ja tem uma Devolução preenchida Se tiver significa que
     * foi clicado para Revisar na View Devolucao.xhtml
     */
    if (revisao.getDevolucao().getId() > 0) {
      revisao.setCarro(revisao.getDevolucao().getRetirada().getCarro());
      revisao.setQuilometragem(Long.valueOf(revisao.getDevolucao().getQuilometragem()));
      pesquisarPorPlaca();
    }
  }