package gcom.gui.relatorio.faturamento; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.cadastro.funcionario.Funcionario; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoGrupo; import gcom.faturamento.FiltroFaturamentoGrupo; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.faturamento.RelatorioMultasAutosInfracaoPendentes; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class GerarRelatorioMultasAutosInfracaoPendentesAction extends ExibidorProcessamentoTarefaRelatorio{ /** * * * RM 944 - Relat�rio das Multas de Autos de Infra��o Pendentes * * @author Hugo Azevedo * @date 11/07/2011 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ //Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); GerarRelatorioMultasAutosInfracaoPendentesActionForm form = (GerarRelatorioMultasAutosInfracaoPendentesActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); TarefaRelatorio relatorio = null; httpServletRequest.setAttribute("telaSucessoRelatorio", true); //Recuperando os dados do formul�rio String idFuncionario = form.getIdFuncionario(); String grupo = form.getGrupo(); //Inteiros para os IDs Integer idFuncionarioINT = null; Integer grupoINT = null; if(!idFuncionario.equals("") ) idFuncionarioINT = new Integer(idFuncionario); else idFuncionarioINT = new Integer("0"); if(Integer.parseInt(grupo) != -1) grupoINT = new Integer(grupo); else grupoINT = new Integer("0"); //Nenhum par�metro informado if(grupoINT.intValue() == 0 && idFuncionarioINT.intValue() == 0){ throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } //Recuperando o funcion�rio FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro(new ParametroSimples(FiltroFuncionario.ID, idFuncionario)); Collection colecaoRetornoFunc = fachada.pesquisar(filtroFuncionario, Funcionario.class.getName()); Funcionario func = null; if(colecaoRetornoFunc.size() > 0){ func = (Funcionario)Util.retonarObjetoDeColecao(colecaoRetornoFunc); } //Recuperando o grupo FiltroFaturamentoGrupo filtroFG = new FiltroFaturamentoGrupo(); filtroFG.adicionarParametro(new ParametroSimples(FiltroFaturamentoGrupo.ID, grupo)); Collection colecaoRetornoGru = fachada.pesquisar(filtroFG, FaturamentoGrupo.class.getName()); FaturamentoGrupo fg = null; if(colecaoRetornoGru.size() > 0){ fg = (FaturamentoGrupo)Util.retonarObjetoDeColecao(colecaoRetornoGru); } Collection colecaoMultas = fachada.pesquisarDadosRelatorioAutoInfracaoPendentes(grupoINT,idFuncionarioINT); //Nenhum par�metro retornado if(colecaoMultas == null || colecaoMultas.isEmpty()){ throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "relat�rio de multas de autos de infra��o pendentes"); } relatorio = new RelatorioMultasAutosInfracaoPendentes( (Usuario) (httpServletRequest.getSession(false)) .getAttribute("usuarioLogado")); relatorio.addParametro("colecaoMultas",colecaoMultas); relatorio.addParametro("funcionario",func); relatorio.addParametro("grupo",fg); retorno = processarExibicaoRelatorio(relatorio, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); montarPaginaSucesso(httpServletRequest, "Relat�rio gerado com sucesso", "Gerar outro relat�rio", "exibirGerarRelatorioMultasAutosInfracaoPendentesAction.do?limparForm=OK"); return retorno; } }