Ao Tentar excluir ele monstra uma Mensagem que coloquei dentro do meu try. Mais não consegue excluir. Segue meu código.
OBS:coloquei uma caixa de diálogo, mais não está aparecendo na hora que clico em excluir alguém pode me ajudar nisso aí também.
Meu DAO
@SuppressWarnings(“unchecked”)
<a class="mention" href="/u/override">@Override</a>
public void excluirServico(Date dataInicio, Date dataFim, Funcionario funcionario) {
Session session = HibernateConnection.getFactorySession();
List<Servico> servicos = new ArrayList<Servico>();
servicos = session.createCriteria(Servico.class)
.add(Restrictions.between("data", dataInicio, dataFim))
.add(Restrictions.eq("funcionario.codigoFunc", funcionario.getCodigoFunc())).list();
for (Servico serv : servicos){
session.delete(serv);
}
}
Regra de Negócio
public void excluir(Agendamento agendamento) throws RegraNegocioException {
try {
agendamentos.excluir(agendamento);
} catch (Exception e) {
e.printStackTrace();
throw new RegraNegocioException("Agendamento não pode ser Excluido");
}
}
ManagedBean
public void excluirServicos() throws RegraNegocioException {
try{
GestaoServicos gestaoServicos = new GestaoServicos(repositorio.getServico());
gestaoServicos.excluirServico(dataInicio, dataFim, funcionario);
MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_INFO, "Serviço excluido com sucesso!!!");
inicializar();
}
catch(Exception e){
e.printStackTrace();
}
}
View
<ui:composition template="/template/layoutpadrao.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:componentevalor="http://java.sun.com/jsf/composite/componetesStudio"
xmlns:componentedata=“http://java.sun.com/jsf/composite/componetesStudio”>
Adicionando biblioteca de compononete que criei
<ui:define name="titulo"> consulta serviço </ui:define>
<h:outputStylesheet library="css" name="sistema.css" />
<ui:define name="Botao">
<h:form>
<ui:include src="/template/layoutCabecalho.xhtml" />
</h:form>
</ui:define>
<ui:define name="corpo">
<h:form>
<br />
<br />
<p:growl closable="true" />
<p:accordionPanel> <p:tab title=" Excluir Serviço">
<h:panelGrid columns="2" id="panelConsultaServicoD">
<p:outputLabel value="Data" for="data9"/>
<h:panelGroup>
<p:calendar value="#{consultaServico.dataInicio}" pattern="dd/MM/yyyy" id="data9"
size="9" locale="pt" effect="fold"/>
<p:outputLabel value=" ate " for ="ate9"/>
<p:calendar value="#{consultaServico.dataFim}" pattern="dd/MM/yyyy" size="9"
locale="pt" effect="fold" id="ate9"/>
</h:panelGroup>
<p:outputLabel value="Funcionario" for="funcio9" />
<p:selectOneMenu id="funcio9" value="#{consultaServico.funcionario}"
label="funcionario">
<f:selectItem noSelectionOption="true" itemLabel="Selecione o Funcionario"/>
<f:selectItems value="#{cadastroServico.listaFuncionario}" var="funcionario"
itemLabel="#{funcionario.funcNome}" itemValue="#{funcionario}"/>
</p:selectOneMenu>
<p:outputLabel/>
<h:panelGroup>
<p:outputLabel />
<p:commandButton value="excluir" action="#{consultaServico.excluirServicos}" icon="ui-icon-trash" update="@form" ajax="false"/>
</h:panelGroup>
</h:panelGrid>
</p:tab>
</p:accordionPanel>
<br/>
<p:accordionPanel>
<p:tab title="Base de Dados">
<p:dataTable border="1" value="#{consultaServico.listServico}"
var="obj" width="100%" styleClass="cabecalho"
emptyMessage="Nenhum serviço encontrado" id="tableservico">
<f:facet name="header"> Controle de Serviços de Funcionários</f:facet>
<p:column headerText="Cliente" sortBy="#{obj.nome}" width="200">
<div style="text-align: center;">
<p:outputLabel value="#{obj.nome}" id="campo_nome" />
</div>
</p:column>
<p:column headerText="Descrição" width="30%">
<div style="text-align: center;">
<p:outputLabel value="#{obj.descricao}" id="campo_descricao"/>
</div>
</p:column>
<p:column headerText="Valor" sortBy="#{obj.valor}" width="100" >
<div style="text-align: center;">
<componentevalor:outputcurrency value="#{obj.valor}" id="campo_valor" />
</div>
</p:column>
<p:column headerText="Data" sortBy="#{obj.data}" width="17%">
<div style="text-align: center;">
<componentedata:outputData valor="#{obj.data}" id="campo_data"/>
</div>
</p:column>
<p:column headerText="Funcionario" sortBy="#{obj.funcionario.funcNome}" width="10%">
<div style="text-align: center;">
<h:outputLabel value="#{obj.funcionario.funcNome}" id="campo_funcionario"/>
</div>
</p:column>
<p:column headerText="Alterar" width="70">
<div style="text-align: center;">
<p:button outcome="cadastroservico" icon="ui-icon-pencil">
<f:param name="alteracao" value="#{obj.codigo}" />
</p:button>
</div>
</p:column>
<p:column headerText="Excluir" width="70">
<div style="text-align: center;">
<p:commandButton action="#{consultaServico.excluir}"
icon="ui-icon-trash" update="@form">
<f:setPropertyActionListener value="#{obj}"
target="#{consultaServico.servicoSelecionado}" />
<p:confirm header="Exclusão de Serviço"
message="Deseja excluir este serviço selecionado?"
icon="ui-icon-alert" />
</p:commandButton>
</div>
</p:column>
</p:dataTable>
</p:tab>
</p:accordionPanel>
<p:confirmDialog global="true">
<p:commandButton value="sim" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/>
<p:button value="não" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>