List lstMsgs = new ArrayList();
ActionMessages errorMsgs = new ActionMessages();
try {
AcionamentoCtrl ctrlAcion = new AcionamentoCtrl(getDaoFactory());
DynaActionForm _form = (DynaActionForm) form;
// Recupera parâmetros informados para a consulta
String lsChkPend = _form.getString("chkpend");
String lsChkAnd = _form.getString("chkand");
String lsChkAtraso = _form.getString("chkatraso");
String lsChkCritico = _form.getString("chkcritico");
String lsDatIni = _form.getString("txtDatIni");
String lsDatFim = _form.getString("txtDatFim");
String lsTipoMsg = _form.getString("txtTipoMsg");
String lsAssunto = _form.getString("txtAssunto");
String lsOrdenacao = _form.getString("ordenacao");
String lsProtocolo = _form.getString("txtProtocolo");
// Coloca na sessão para permitir a reconsulta ao Redirecionar uma
// mensagem
if (lsChkPend != null && !lsChkPend.equals("")) {
HttpSession session = request.getSession(true);
session.setAttribute("chkpend", "S");
}
if (lsChkAnd != null && !lsChkAnd.equals("")) {
HttpSession session = request.getSession(true);
session.setAttribute("chkand", "S");
}
if (lsChkAtraso != null && !lsChkAtraso.equals("")) {
HttpSession session = request.getSession(true);
session.setAttribute("chkatraso", "S");
}
if (lsChkCritico != null && !lsChkCritico.equals("")) {
HttpSession session = request.getSession(true);
session.setAttribute("chkcritico", "S");
}
if ((lsChkPend == null || (lsChkPend != null && lsChkPend
.equals("")))
&& (lsChkAnd == null || (lsChkAnd != null && lsChkAnd
.equals("")))
&& (lsChkAtraso == null || (lsChkAtraso != null && lsChkAtraso
.equals("")))
&& (lsChkCritico == null || (lsChkCritico != null && lsChkCritico
.equals("")))) {
lsChkPend = (String) (request.getSession().getAttribute(
"chkpend") != null ? request.getSession().getAttribute(
"chkpend") : "");
lsChkAnd = (String) (request.getSession()
.getAttribute("chkand") != null ? request.getSession()
.getAttribute("chkand") : "");
lsChkAtraso = (String) (request.getSession().getAttribute(
"chkatraso") != null ? request.getSession()
.getAttribute("chkatraso") : "");
lsChkCritico = (String) (request.getSession().getAttribute(
"chkcritico") != null ? request.getSession()
.getAttribute("chkcritico") : "");
}
// Recupera o Funcionário logado
Long funcionarioId = (Long) request.getSession().getAttribute(
Constants.PA_FUNCIONARIO);
FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(
getDaoFactory());
Funcionario func = (Funcionario) funcionarioCtrl.get(funcionarioId);
lstMsgs = ctrlAcion.listaMensagensEstado(func, lsChkPend, lsChkAnd,
lsChkAtraso, lsChkCritico, lsDatIni, lsDatFim, lsTipoMsg,
lsAssunto, lsOrdenacao, lsProtocolo);
// Passa a lista com as mensagens consultadas através da sessao
// e os parâmetros usados na consulta