Boa noite galera,
Estou precisando muito da ajuda de vocês…
Não estou conseguindo fazer um distinct e mostrar isso na tela…
Dao:
public List<QuebraSigilo> findQuebraSigilos(Date dataInicio, Date dataFim, String numeroComunicacao, String numeroCaso)
{
try {
DetachedCriteria criteria = DetachedCriteria.forClass(QuebraSigilo.class, "s")
.createAlias("s.clienteOficio", "d",CriteriaSpecification.INNER_JOIN)
.createAlias("d.oficio", "e",CriteriaSpecification.INNER_JOIN)
.add(Restrictions.between("e.dataComunicacao", dataInicio,dataFim));
criteria.setProjection(Projections.distinct(Projections.projectionList().
add(Projections.property("e.numeroComunicacao"))
.add(Projections.property("s.caso"))
)).setResultTransformer(Transformers.aliasToBean(QuebraSigilo.class));
if(!numeroCaso.equals("") && numeroCaso!=null)
{
criteria.add(Restrictions.eq("s.caso", numeroCaso));
}
if(!numeroComunicacao.equals("") && numeroComunicacao!=null)
{
criteria.add(Restrictions.eq("e.numeroComunicacao", numeroComunicacao));
}
criteria.addOrder(Order.asc("e.numeroComunicacao"));
List<QuebraSigilo> list = criteria.getExecutableCriteria(session).setMaxResults(50).list();
if(list!=null && list.size()>0)
return list;
else
return null;
} catch (HibernateException he)
{
logger.warn(he.getMessage());
return null;
}
}
resultado:
select
distinct top 50 e2_.NUMERO_COMUNICACAO as y0_,
this_.CASO as y1_
from
OFICIO_CLIENTE_QUEBRA_SIGILO this_
inner join
OFICIO_CLIENTE d1_
on this_.ID_OFICIO_CLIENTE=d1_.ID_OFICIO_CLIENTE
inner join
OFICIO e2_
on d1_.ID_OFICIO=e2_.ID_OFICIO
where
e2_.DATA_COMUNICACAO between ? and ?
order by
e2_.NUMERO_COMUNICACAO asc
o Problema: que eu não consigo mostrar na view : e2_.NUMERO_COMUNICACAO
Bean:
[code]
public void pesquisarOficio(ActionEvent ev)
{
if (DateUtil.compareDate(dataInicioP, dataFimP, 2))
{
addErrorMessageFromResource("dataInicialSuperiorDataFinal");
return;
}
else
{
listaQuebra = quebraSigiloDao.findQuebraSigilos(dataInicioP, dataFimP,numeroOficio,caso);
}
}
[quote]
view
<h:panelGroup id="pnlTabela" layout="block" style="width:124%;margin-top:-134%;">
<r:dataTable id="table" var="row" value="#{listaQuebra}" rows="10"
width="80%" rowClasses="row-odd,row-even" rowKeyVar="linha">
<f:facet name="footer">
<r:datascroller id="tblScroller" immediate="true" maxPages="10"
status="_stsLoad1" reRender="table"/>
</f:facet>
<r:column style="text-align: center">
<f:facet name="header">
<h:outputText value="#{messages['numero.caso']}" />
</f:facet>
<h:outputText value="#{row.clienteOficio.oficio.numeroComunicacao}" />
</r:column>
<r:column style="text-align: center">
<f:facet name="header">
<h:outputText value="Contas" />
</f:facet>
<a:commandLink styleClass="rich-link" action="#{quebraSigiloBean.consultarConta}">
<h:graphicImage value="/img/lupa.gif" alt="#{messages['detalhar']}"
style=" margin-right: 10px" styleClass="semBorda"/>
</a:commandLink>
</r:column>
<r:column style="text-align: center">
<f:facet name="header">
<h:outputText value="Arquivo" />
</f:facet>
<h:commandLink styleClass="rich-link" action="#{quebraSigiloBean.excluirOrigemDestino}">
<h:graphicImage value="/img/arquivo.jpg" alt="#{messages['alterar']}"
style=" margin-right: 10px" styleClass="semBorda"/>
</h:commandLink>
</r:column>
<r:column style="text-align: center">
<f:facet name="header">
<h:outputText value="#{messages['Sinalizacao']}" />
</f:facet>
<a:commandLink styleClass="rich-link" reRender="pnlTabela,tableOficio" actionListener="#{quebraSigiloBean.sinalizacao}" immediate="true" >
<h:graphicImage value="/img/verde.png" alt="#{messages['arquivo_gerado']}"
style=" margin-right: 10px" rendered="" styleClass="semBorda"/>
<h:graphicImage value="/img/vermelho.png" alt="#{messages['arquivo_nao_gerado']}"
style=" margin-right: 10px" rendered="" styleClass="semBorda"/>
</a:commandLink>
</r:column>
</r:dataTable>
</h:panelGroup>
</h:form>
</s:div>
</ui:define>
</ui:composition>
Onde estou errando?