Erro ao implementar método de calculo no controllador

2 respostas
F

Boa Tarde a todos.

estou fazendo um método de calculo de notas para se implementado no formulário
que quando o usuário digita a quantidade de notas + o valor da nota quando e ao salvar
me retorna o valor desse calculo na pagina sendo que essa ação é feita em um controlador.

2 Respostas

Rodrigo_Sasaki

Legal :slight_smile: Só faltou falar qual o erro

F

Pô foi mal segue a Classe Controller o Erro

@ConversationScoped

<a class="mention" href="/u/named">@Named</a>(value = “provaIntegradaController”)

public class ProvaIntegradaController extends AbstractElementController implements Serializable

{
private static final long		serialVersionUID	= 1L;

@Inject
private Conversation				conversation;

@Inject
private ProvaIntegradaManager	provaIntegradaManager;

@Inject
private SemestreLetivoManager	semestreLetivoManager;

@Inject
private EventoManager			eventoManager;

@Inject
private EventoProvaManager		eventoProvaManager;

//Prova
private String						semestre;

//Evento
private List<SelectItem>		itensEventos;
private Long						evento;

private Date						dataInicioEvento;
private Date						dataFimEvento;

//Evento Prova
private List<EventoProva>		listaEventoProva;
private EventoProva[]			selectEventoProva;

//Controle de Visibilidade
private boolean					habilitarEdicao;

//Calculo dos Valors da Questões e o Total das Questões
private double						valor1;
private double						valor2;
private double						total;

//validação de notas.
private double						qtdQuestao;
private double						nota;

private Date						dataInicio;
private Date						dataFim;

private EventoProvaDataModel	eventoProvaDataModel;


public ProvaIntegradaController() throws ControllerException
{
	super();
}


public void init()
{
	super.elemento = new ProvaIntegrada();
	//		elemento.setSituacaoProva(new SituacaoProva());
	elemento.setSemestreLetivo(new SemestreLetivo());
	elemento.setEventoProvas(new ArrayList<EventoProva>());

	this.habilitarEdicao = true;
}


public List<SelectItem> getObterTodasSemestreLetivo()
{
	if (conversation.isTransient())
		conversation.begin();

	List<SemestreLetivo> lista = semestreLetivoManager.obterSemestres();
	List<SelectItem> itens = null;

	if (UtilsCollections.isColecaoPossuiElemento(lista))
	{
		itens = new ArrayList<SelectItem>(lista.size());
		for (SemestreLetivo s : lista)
			itens.add(new SelectItem(s.getSemestre(), s.getSemestreFormatado()));
	}
	return itens;
}



public void obterProvaIntegrada()
{
	elemento = provaIntegradaManager.obterProvaIntegradaPorSemestre(semestre);

	if (elemento == null)
		this.habilitarEdicao = true;
	else
		this.habilitarEdicao = false;

	obterListaEventos();
	obterListaEventosProvaIntegrada();
	if (UtilsCollections.isColecaoPossuiElemento(listaEventoProva))
		eventoProvaDataModel = new EventoProvaDataModel(listaEventoProva);
}



public void gravarDadosProvaIntegrada()
{
	try
	{
		elemento.setSituacao(Constantes.PROVA_SITUACAO_EM_ABERTO);
		elemento.setDataInclusao(new Date());
		elemento.setUsuarioInclusao(usuarioAutenticado.getUsuario());
		elemento.getSemestreLetivo().setSemestre(semestre);
		elemento = provaIntegradaManager.atualizarProvaIntegrada(elemento);
	}
	catch (Exception e)
	{
		inserirMensagemAlerta(e.getMessage());
	}

	if (elemento == null)
		this.habilitarEdicao = true;
	else
		this.habilitarEdicao = false;

	inserirMensagem("Prova integrada gravada com sucesso!");
}



public void obterListaEventos()
{
	List<Evento> listaEventos = eventoManager.obterTodosEventos();
	if (UtilsCollections.isColecaoPossuiElemento(listaEventos))
	{
		itensEventos = new ArrayList<SelectItem>(listaEventos.size());
		for (Evento s : listaEventos)
			itensEventos.add(new SelectItem(s.getCodigo(), s.getCodigo() + " - " + UtilsString.capitalizar(s.getNome())));
	}
}



public void gravarDadosEventoProvaIntegrada()
{
	try
	{
		EventoProvaPK eventoProvaPK = new EventoProvaPK();
		eventoProvaPK.setCodigoEvento(evento);
		eventoProvaPK.setCodigoProva(elemento.getId());

		EventoProva eventoProva = new EventoProva();
		eventoProva.setId(eventoProvaPK);
		eventoProva.setProvaIntegrada(elemento);
		eventoProva.setEvento(eventoManager.obterEvento(evento));
		eventoProva.setDataInicio(dataInicioEvento);
		eventoProva.setDataFim(dataFimEvento);
		eventoProva.setUsuario(usuarioAutenticado.getUsuario());
		eventoProva.setDataAtualizacao(new Date());

		eventoProvaManager.atualizarDadosEventoProva(eventoProva);
	}
	catch (Exception e)
	{
		inserirMensagemAlerta(e.getMessage());
	}

	obterListaEventosProvaIntegrada();
	if (UtilsCollections.isColecaoPossuiElemento(listaEventoProva))
		eventoProvaDataModel = new EventoProvaDataModel(listaEventoProva);

	calculaQuestoesProva();
	

	inserirMensagem("Evento inserido com sucesso!");
}



public void obterListaEventosProvaIntegrada()
{
	listaEventoProva = eventoProvaManager.obterEventoProvaPorIdProvaIntegrada(elemento.getId());
}




public void atualizarProvaIntegrada()
{
	this.habilitarEdicao = true;
}



public void validarProvaIntegrada()
{
	try
	{
		elemento.setSituacao(Constantes.PROVA_SITUACAO_DISPONIVEL);
		elemento.setDataAtualizacao(new Date());
		elemento.setUsuarioAtualizacao(usuarioAutenticado.getUsuario());
		elemento = provaIntegradaManager.atualizarProvaIntegrada(elemento);
	}
	catch (Exception e)
	{
		inserirMensagemAlerta(e.getMessage());
	}

	inserirMensagem("Situação Prova Integrada alterda com sucesso para " + Constantes.PROVA_DESC_SITUACAO_DISPONIVEL + ".");
}






public void calculaQuestoesProva()
{

	elemento = new ProvaIntegrada();

	if ((elemento.getQteObjetiva() != null) && (elemento.getValorObjetivas()) != null)
	{
		this.valor1 = elemento.getQteObjetiva() * elemento.getValorObjetivas();

	}
	if ((elemento.getQteDiscursiva() != null) && (elemento.getValorDiscursivas()) != null)
	{

		this.valor2 = elemento.getQteDiscursiva() * elemento.getValorDiscursivas();
	}
	if (valor1 != 0 && valor2 != 0)
	{

		this.total = this.valor1 + this.valor2;
	}

}




public void validarValorNotas()
{

	if ((qtdQuestao * nota) < 0 && (qtdQuestao * nota) > 10)
	{
		inserirMensagemErro("O valor das notas tem que está entre 0 é 10 ");

	}

}


/**VALIDAR DATA*/
public void validarData(){
	
	
	if (!dataInicio.before(dataFim))
	{
		
		inserirMensagemErro("A data inicial não pode ser maior que a final");
		
	}
}



public String getSemestre()
{
	return semestre;
}


public void setSemestre(String semestre)
{
	this.semestre = semestre;
}


public void setProvaIntegradaManager(ProvaIntegradaManager provaIntegradaManager)
{
	this.provaIntegradaManager = provaIntegradaManager;
}


public List<SelectItem> getItensEventos()
{
	return itensEventos;
}


public void setItensEventos(List<SelectItem> itensEventos)
{
	this.itensEventos = itensEventos;
}


public Long getEvento()
{
	return evento;
}


public void setEvento(Long evento)
{
	this.evento = evento;
}


public Date getDataInicioEvento()
{
	return dataInicioEvento;
}


public void setDataInicioEvento(Date dataInicioEvento)
{
	this.dataInicioEvento = dataInicioEvento;
}


public Date getDataFimEvento()
{
	return dataFimEvento;
}


public void setDataFimEvento(Date dataFimEvento)
{
	this.dataFimEvento = dataFimEvento;
}


public List<EventoProva> getListaEventoProva()
{
	return listaEventoProva;
}


public void setListaEventoProva(List<EventoProva> listaEventoProva)
{
	this.listaEventoProva = listaEventoProva;
}


public EventoProva[] getSelectEventoProva()
{
	return selectEventoProva;
}


public void setSelectEventoProva(EventoProva[] selectEventoProva)
{
	this.selectEventoProva = selectEventoProva;
}


public EventoProvaDataModel getEventoProvaDataModel()
{
	return eventoProvaDataModel;
}


public void setEventoProvaDataModel(EventoProvaDataModel eventoProvaDataModel)
{
	this.eventoProvaDataModel = eventoProvaDataModel;
}


public boolean isHabilitarEdicao()
{
	return habilitarEdicao;
}


public void setHabilitarEdicao(boolean habilitarEdicao)
{
	this.habilitarEdicao = habilitarEdicao;
}


public double getValor1()
{
	return valor1;
}


public void setValor1(double valor1)
{
	this.valor1 = valor1;
}


public double getValor2()
{
	return valor2;
}


public void setValor2(double valor2)
{
	this.valor2 = valor2;
}


public double getTotal()
{
	return total;
}


public void setTotal(double total)
{
	this.total = total;
}


public Date getDataInicio()
{
	return dataInicio;
}


public void setDataInicio(Date dataInicio)
{
	this.dataInicio = dataInicio;
}


public Date getDataFim()
{
	return dataFim;
}


public void setDataFim(Date dataFim)
{
	this.dataFim = dataFim;
}

}

javax.el.PropertyNotFoundException: /pagina/sistema/paginaCadastroProvaIntegrada.xhtml @73,138 value=Total Objetiva: #{provaIntegradaController.calculaQuestoesProva}: The class br.unigranrio.provaIntegrada.controller.ProvaIntegradaController$Proxy$_$$_WeldClientProxy does not have the property calculaQuestoesProva.

com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:108)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)

javax.faces.component.UIOutput.getValue(UIOutput.java:164)

com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:351)

com.sun.faces.renderkit.html_basic.LabelRenderer.encodeBegin(LabelRenderer.java:117)

javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:824)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:298)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:305)

com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)

com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:300)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:305)

com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)

com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)

org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57)

org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45)

org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59)

org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45)

org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:185)

org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:108)

org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:55)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)

javax.faces.render.Renderer.encodeChildren(Renderer.java:164)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)

com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)

com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)

com.ocpsoft.pretty.faces.application.PrettyViewHandler.renderView(PrettyViewHandler.java:159)

javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269)

javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)

org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)

com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:115)
Criado 24 de setembro de 2012
Ultima resposta 24 de set. de 2012
Respostas 2
Participantes 2