package gcom.gui.faturamento.autoinfracao; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.cadastro.funcionario.Funcionario; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; /** * Action que faz a exibi��o da tela para o usu�rio setar os campos e permitir * que ele gere o relat�rio de auto de infra��o * [UC0857] Gerar Relat�rio de Arrecada��o das Multas de Autos de Infra��o * * @author Rafael Corr�a * @since 08/09/2008 */ public class ExibirGerarRelatorioAutoInfracaoAction extends GcomAction { /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirGerarRelatorioAutoInfracao"); GerarRelatorioAutoInfracaoActionForm gerarRelatorioAutoInfracaoActionForm = (GerarRelatorioAutoInfracaoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); // Carrega as cole��es que ser�o exibidas na tela if (sessao.getAttribute("colecaoUnidadeNegocio") == null) { FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoUnidadeNegocio = fachada.pesquisar( filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio != null && !colecaoUnidadeNegocio.isEmpty()) { sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } else { throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "UNIDADE_NEGOCIO"); } } String idFuncionario = gerarRelatorioAutoInfracaoActionForm.getIdFuncionario(); // Pesquisa o funcion�rio if (idFuncionario != null && !idFuncionario.trim().equals("")) { FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro(new ParametroSimples(FiltroFuncionario.ID, idFuncionario)); Collection colecaoFuncionario = fachada.pesquisar(filtroFuncionario, Funcionario.class.getName()); if (colecaoFuncionario != null && !colecaoFuncionario.isEmpty()) { Funcionario funcionario = (Funcionario) Util.retonarObjetoDeColecao(colecaoFuncionario); gerarRelatorioAutoInfracaoActionForm.setIdFuncionario(funcionario.getId().toString()); gerarRelatorioAutoInfracaoActionForm.setNomeFuncionario(funcionario.getNome()); httpServletRequest.setAttribute("nomeCampo", "dataPagamentoInicio"); } else { gerarRelatorioAutoInfracaoActionForm.setIdFuncionario(""); gerarRelatorioAutoInfracaoActionForm.setNomeFuncionario("FUNCION�RIO INEXISTENTE"); httpServletRequest.setAttribute("funcionarioInexistente", true); httpServletRequest.setAttribute("nomeCampo", "idFuncionario"); } } else { gerarRelatorioAutoInfracaoActionForm.setNomeFuncionario(""); } return retorno; } }