/** 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(); }