Ejemplo n.º 1
0
  /** Efetua a revisao do carro pesquisado */
  @Override
  public void executar() {

    // recebe a operacao a ser realizada
    String operacao =
        FacesContext.getCurrentInstance()
            .getExternalContext()
            .getRequestParameterMap()
            .get("param");

    // Retorna um estado completo de acordo com um ID
    ICommand command = mapConducaoCommands.get(operacao);

    // recebendo os componentes
    revisao.getComponentes().add(arrefecimento);
    revisao.getComponentes().add(bateria);
    revisao.getComponentes().add(embreagem);
    revisao.getComponentes().add(freio);
    revisao.getComponentes().add(lanterna);
    revisao.getComponentes().add(motor);
    revisao.getComponentes().add(suspensao);

    // recebendo os pneus
    dianteiroDireito.setPosicaoPneu(PosicaoPneu.DIANTEIRO_DIREITO);
    dianteiroEsquerdo.setPosicaoPneu(PosicaoPneu.DIANTEIRO_ESQUERDO);
    traseiroDireito.setPosicaoPneu(PosicaoPneu.TRASEIRO_DIREITO);
    traseiroEsquerdo.setPosicaoPneu(PosicaoPneu.TRASEIRO_ESQUERDO);
    estepe.setPosicaoPneu(PosicaoPneu.ESTEPE);
    pneus.add(dianteiroDireito);
    pneus.add(dianteiroEsquerdo);
    pneus.add(traseiroDireito);
    pneus.add(traseiroEsquerdo);
    pneus.add(estepe);

    // Adicionando cada pneu da lista Pneus na lista Componentes
    for (int j = 0; j < pneus.size(); j++) {
      revisao.getComponentes().add(pneus.get(j));
    }

    // pega a data atual do sistema
    revisao.setDataRevisao(DataUtil.pegarDataAtualDoSistema());

    // pega o funcionario que realizou a Revisão
    revisao.setFuncionario((Funcionario) SessionUtil.getParam("usuarioLogado"));

    if (revisao.getDevolucao().getId() > 0) {
      revisao.getDevolucao().setAguardaRevisao(false);
      command = mapConducaoCommands.get("EDITAR");
      command.execute(revisao.getDevolucao());
    }

    // armazena a lista de produtos utilizados na Revisao
    new ProdutoRevisaoDAO().cadastrar(verificarTotalUtilizado());
    revisao.setListaProdutoRevisao(new ProdutoRevisaoDAO().pesquisarPorUltimoCadastrado());

    command = mapConducaoCommands.get(operacao);
    command.execute(revisao);

    limparObjetos();
  }