if ( !estadoAcionamento.equalsIgnoreCase("0") ) {
hql.append(" and a.estadoAcionamento.id = :estadoId ");
}
// obter o objeto DAO
HibernateDao acionamentoDao = (HibernateDao) getDaoFactory().create( Acionamento.class );
// montar a query Hibernate
Session session = HibernateSessionFactory.getFactory().getSession();
Query query = session.createQuery( hql.toString() );
SimpleDateFormat dateFormatter = new SimpleDateFormat( "dd/MM/yyyy HH:mm:ss" );
//configurar os parâmetros da query
query.setParameterList( "assuntos", assuntosFuncionario );
if ( assuntoId != null && !"".equals(assuntoId) && !"0".equals(assuntoId) ) {
//assunto
query.setInteger( "assId", Integer.parseInt( assuntoId ) );
}
if ( tipoMensagemId != null && !"".equals(tipoMensagemId) && !"0".equals(tipoMensagemId) ) {
//tipo de mensagem
query.setInteger( "tipoMsgId", Integer.parseInt( tipoMensagemId ) );
}
if ( periodoI != null && !"".equals(periodoI) ) {
//data inicial
periodoI = periodoI +" 00:00:00";
Date dataInit = dateFormatter.parse( periodoI );
query.setTimestamp( "dataIni", dataInit );
}
if ( periodoF != null && !"".equals(periodoF) ) {
//na data fim acrescentar a última hora do dia
Date dataFim = dateFormatter.parse( periodoF+" 23:59:59");
query.setTimestamp( "dataFim", dataFim);
}
if ( sProtocolo != null && !"".equals(sProtocolo) && !"0".equals(sProtocolo) ) {
//protocolo
query.setInteger( "numProtoc", Integer.parseInt( sProtocolo ) );
}
if ( !estadoAcionamento.equalsIgnoreCase("0") ) {
//estado da mensagem
query.setInteger( "estadoId", Integer.parseInt( estadoAcionamento ) );
}
// obter os acionamentos para atualizar seus estados
List results = acionamentoDao.query( query );
if (!palavraChave.trim().equals(""))
results = filtrarPalavraChave(results, palavraChave);
// atualizar os estados dos acionamentos
AcionamentoCtrl acionCtrl = new AcionamentoCtrl( getDaoFactory() );
boolean result = acionCtrl.atualizaEstadoAcionamentos(results);
//verificar se houve erros na atualização de estado
if (result == false) {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.acionamento.atualizaestado"));
}
//Remontar a query Hibernate
session = HibernateSessionFactory.getFactory().getSession();
query = session.createQuery( hql.toString() );
dateFormatter = new SimpleDateFormat( "dd/MM/yyyy HH:mm:ss" );
//configurar os parâmetros da query
query.setParameterList( "assuntos", assuntosFuncionario );
if ( assuntoId != null && !"".equals(assuntoId) && !"0".equals(assuntoId) ) {
//assunto
query.setInteger( "assId", Integer.parseInt( assuntoId ) );
}
if ( tipoMensagemId != null && !"".equals(tipoMensagemId) && !"0".equals(tipoMensagemId) ) {
//tipo de mensagem
query.setInteger( "tipoMsgId", Integer.parseInt( tipoMensagemId ) );
}
if ( periodoI != null && !"".equals(periodoI) ) {
//data inicial
periodoI = periodoI +" 00:00:00";
Date dataInit = dateFormatter.parse( periodoI );
query.setTimestamp( "dataIni", dataInit );
}
if ( periodoF != null && !"".equals(periodoF) ) {
//na data fim acrescentar a última hora do dia
Date dataFim = dateFormatter.parse( periodoF+" 23:59:59");
query.setTimestamp( "dataFim", dataFim);
}
if ( sProtocolo != null && !"".equals(sProtocolo) && !"0".equals(sProtocolo) ) {
//protocolo
query.setInteger( "numProtoc", Integer.parseInt( sProtocolo ) );
}
if ( !estadoAcionamento.equalsIgnoreCase("0") ) {
//estado da mensagem
query.setInteger( "estadoId", Integer.parseInt( estadoAcionamento ) );
}
// obter o objeto DAO
acionamentoDao = (HibernateDao) getDaoFactory().create( Acionamento.class );
// obter os acionamentos da consulta após a atualização dos estados do acionamento
results = acionamentoDao.query( query );
if (!palavraChave.trim().equals(""))
results = filtrarPalavraChave(results, palavraChave);
request.setAttribute("CAS_RESULTS", results);