package gcom.gui.faturamento.autoinfracao; import gcom.atendimentopublico.ordemservico.FiltroFiscalizacaoSituacao; import gcom.atendimentopublico.ordemservico.FiscalizacaoSituacao; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.cadastro.funcionario.Funcionario; import gcom.fachada.Fachada; import gcom.faturamento.autoinfracao.AutoInfracaoSituacao; import gcom.faturamento.autoinfracao.AutosInfracao; import gcom.faturamento.autoinfracao.FiltroAutoInfracaoSituacao; import gcom.faturamento.autoinfracao.FiltroAutosInfracao; 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; public class ExibirAtualizarAutoInfracaoAction extends GcomAction { /** * * [UC0896] Manter Autos de Infra��o * * * @author R�mulo Aur�lio * @date 05/05/2009 * * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarAutoInfracao"); AtualizarAutoInfracaoActionForm form = (AtualizarAutoInfracaoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); this.carregarDados(httpServletRequest); // Verifica se veio do filtrar ou do manter if (httpServletRequest.getParameter("manter") != null) { sessao.setAttribute("manter", true); } else if (httpServletRequest.getParameter("filtrar") != null) { sessao.removeAttribute("manter"); } AutosInfracao autosInfracao = null; if (httpServletRequest.getParameter("reload") == null) { // Verifica se o autoInfracao j� est� na sess�o, em caso afirmativo // significa que o usu�rio j� entrou na tela e apenas selecionou // algum // item que deu um reload na tela e em caso negativo significa que // ele // est� entrando pela primeira vez if (sessao.getAttribute("objetoAutosInfracao") != null) { autosInfracao = (AutosInfracao) sessao .getAttribute("objetoAutosInfracao"); sessao.setAttribute("idAutoInfracao", autosInfracao.getId() .toString()); form.setIdAutoInfracao(autosInfracao.getId().toString()); form.setIdFuncionario(autosInfracao.getFuncionario().getId() .toString()); form.setDescricaoFuncionario(autosInfracao.getFuncionario() .getNome()); form.setIdImovel(autosInfracao.getImovel().getId().toString()); String inscricaoImovel = fachada .pesquisarInscricaoImovel(autosInfracao.getImovel() .getId()); form.setDescricaoImovel(inscricaoImovel); String nomeCliente = fachada .pesquisarNomeClientePorImovel(autosInfracao .getImovel().getId()); form.setNomeCliente(nomeCliente); if (autosInfracao.getNumeroParcelasDebito() != null) { form.setQuantidadeParcelas(autosInfracao.getNumeroParcelasDebito().toString()); } form.setDataEmissao(Util.formatarData(autosInfracao .getDataEmissao())); form.setDataInicioRecurso(Util.formatarData(autosInfracao .getDataInicioRecurso())); form.setDataTerminoRecurso(Util.formatarData(autosInfracao .getDataTerminoRecurso())); form.setIdAutoInfracaoSituacao(autosInfracao .getAutoInfracaoSituacao().getId().toString()); form.setIdFiscalizacaoSituacao(autosInfracao .getFiscalizacaoSituacao().getId().toString()); form.setObservacao(autosInfracao.getObservacao()); sessao.setAttribute("objetoAutosInfracao", autosInfracao); } else { String idAutoInfracao = null; if (httpServletRequest.getParameter("id") == null || httpServletRequest.getParameter("id").equals("")) { idAutoInfracao = (String) sessao.getAttribute("id"); } else { idAutoInfracao = (String) httpServletRequest .getParameter("id"); sessao.setAttribute("id", idAutoInfracao); } httpServletRequest.setAttribute("id", idAutoInfracao); sessao.setAttribute("id", idAutoInfracao); FiltroAutosInfracao filtroAutosInfracao = new FiltroAutosInfracao(); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.FISCALIZACAO_SITUACAO); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.AUTO_INFRACAO_SITUACAO); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.FUNCIONARIO); filtroAutosInfracao.adicionarParametro(new ParametroSimples( FiltroAutosInfracao.ID, idAutoInfracao)); Collection<AutosInfracao> colecaoAutosInfracao = fachada .pesquisar(filtroAutosInfracao, AutosInfracao.class .getName()); if (colecaoAutosInfracao == null || colecaoAutosInfracao.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoAutosInfracao", colecaoAutosInfracao); autosInfracao = (AutosInfracao) colecaoAutosInfracao.iterator() .next(); form.setIdAutoInfracao(autosInfracao.getId().toString()); form.setIdFuncionario(autosInfracao.getFuncionario().getId() .toString()); form.setDescricaoFuncionario(autosInfracao.getFuncionario() .getNome()); form.setIdImovel(autosInfracao.getImovel().getId().toString()); String inscricaoImovel = fachada .pesquisarInscricaoImovel(autosInfracao.getImovel() .getId()); form.setDescricaoImovel(inscricaoImovel); String nomeCliente = fachada .pesquisarNomeClientePorImovel(autosInfracao .getImovel().getId()); form.setNomeCliente(nomeCliente); if (autosInfracao.getNumeroParcelasDebito() != null) { form.setQuantidadeParcelas(autosInfracao.getNumeroParcelasDebito().toString()); } form.setDataEmissao(Util.formatarData(autosInfracao .getDataEmissao())); form.setDataInicioRecurso(Util.formatarData(autosInfracao .getDataInicioRecurso())); form.setDataTerminoRecurso(Util.formatarData(autosInfracao .getDataTerminoRecurso())); form.setIdAutoInfracaoSituacao(autosInfracao .getAutoInfracaoSituacao().getId().toString()); form.setIdFiscalizacaoSituacao(autosInfracao .getFiscalizacaoSituacao().getId().toString()); form.setObservacao(autosInfracao.getObservacao()); sessao.setAttribute("objetoAutosInfracao", autosInfracao); } } // -------------- bt DESFAZER --------------- if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer") .equalsIgnoreCase("S")) { String idAutoInfracao = null; if (httpServletRequest.getParameter("id") == null || httpServletRequest.getParameter("id").equals("")) { idAutoInfracao = (String) sessao.getAttribute("id"); } else { idAutoInfracao = (String) httpServletRequest.getParameter("id"); sessao.setAttribute("id", idAutoInfracao); } if (idAutoInfracao != null && idAutoInfracao.equalsIgnoreCase("")) { idAutoInfracao = null; } if (idAutoInfracao == null) { autosInfracao = (AutosInfracao) sessao .getAttribute("objetoAutosInfracao"); sessao.setAttribute("id", autosInfracao.getId().toString()); form.setIdAutoInfracao(autosInfracao.getId().toString()); form.setIdFuncionario(autosInfracao.getFuncionario().getId() .toString()); form.setDescricaoFuncionario(autosInfracao.getFuncionario() .getNome()); form.setIdImovel(autosInfracao.getImovel().getId().toString()); String inscricaoImovel = fachada .pesquisarInscricaoImovel(autosInfracao.getImovel() .getId()); form.setDescricaoImovel(inscricaoImovel); String nomeCliente = fachada .pesquisarNomeClientePorImovel(autosInfracao .getImovel().getId()); form.setNomeCliente(nomeCliente); if (autosInfracao.getNumeroParcelasDebito() != null) { form.setQuantidadeParcelas(autosInfracao.getNumeroParcelasDebito().toString()); } form.setDataEmissao(Util.formatarData(autosInfracao .getDataEmissao())); form.setDataInicioRecurso(Util.formatarData(autosInfracao .getDataInicioRecurso())); form.setDataTerminoRecurso(Util.formatarData(autosInfracao .getDataTerminoRecurso())); form.setIdAutoInfracaoSituacao(autosInfracao .getAutoInfracaoSituacao().getId().toString()); form.setIdFiscalizacaoSituacao(autosInfracao .getFiscalizacaoSituacao().getId().toString()); form.setObservacao(autosInfracao.getObservacao()); sessao.setAttribute("autosInfracaoAtualizar", autosInfracao); sessao.removeAttribute("autosInfracao"); } if (idAutoInfracao != null) { FiltroAutosInfracao filtroAutosInfracao = new FiltroAutosInfracao(); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.FISCALIZACAO_SITUACAO); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.AUTO_INFRACAO_SITUACAO); filtroAutosInfracao .adicionarCaminhoParaCarregamentoEntidade(FiltroAutosInfracao.FUNCIONARIO); filtroAutosInfracao.adicionarParametro(new ParametroSimples( FiltroAutosInfracao.ID, idAutoInfracao)); Collection<AutosInfracao> colecaoAutosInfracao = fachada .pesquisar(filtroAutosInfracao, AutosInfracao.class .getName()); if (colecaoAutosInfracao == null || colecaoAutosInfracao.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } httpServletRequest.setAttribute("colecaoAutosInfracao", colecaoAutosInfracao); autosInfracao = (AutosInfracao) colecaoAutosInfracao.iterator() .next(); form.setIdAutoInfracao(autosInfracao.getId().toString()); form.setIdFuncionario(autosInfracao.getFuncionario().getId() .toString()); form.setDescricaoFuncionario(autosInfracao.getFuncionario() .getNome()); form.setIdImovel(autosInfracao.getImovel().getId().toString()); String inscricaoImovel = fachada .pesquisarInscricaoImovel(autosInfracao.getImovel() .getId()); form.setDescricaoImovel(inscricaoImovel); String nomeCliente = fachada .pesquisarNomeClientePorImovel(autosInfracao .getImovel().getId()); form.setNomeCliente(nomeCliente); form.setDataEmissao(Util.formatarData(autosInfracao .getDataEmissao())); form.setDataInicioRecurso(Util.formatarData(autosInfracao .getDataInicioRecurso())); form.setDataTerminoRecurso(Util.formatarData(autosInfracao .getDataTerminoRecurso())); form.setIdAutoInfracaoSituacao(autosInfracao .getAutoInfracaoSituacao().getId().toString()); form.setIdFiscalizacaoSituacao(autosInfracao .getFiscalizacaoSituacao().getId().toString()); form.setObservacao(autosInfracao.getObservacao()); } } // -------------- bt DESFAZER --------------- this.pesquisarCamposEnter(form,httpServletRequest); this.verificarObrigatoriedade(form, sessao); return retorno; } private void carregarDados(HttpServletRequest httpServletRequest) { FiltroFiscalizacaoSituacao filtroFiscalizacaoSituacao = new FiltroFiscalizacaoSituacao(); filtroFiscalizacaoSituacao.adicionarParametro(new ParametroSimples( FiltroFiscalizacaoSituacao.INDICADOR_ATUALIZACAO_AUTOS_INFRACAO,ConstantesSistema.INDICADOR_USO_ATIVO)); // Verifica se os dados foram informados da tabela existem e joga numa // colecao Collection<FiscalizacaoSituacao> colecaoFiscalizacaoSituacao = this .getFachada().pesquisar(filtroFiscalizacaoSituacao, FiscalizacaoSituacao.class.getName()); if (colecaoFiscalizacaoSituacao == null || colecaoFiscalizacaoSituacao.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Tabela Fiscalizacao Situacao"); } httpServletRequest.setAttribute("colecaoFiscalizacaoSituacao", colecaoFiscalizacaoSituacao); FiltroAutoInfracaoSituacao filtroAutoInfracaoSituacao = new FiltroAutoInfracaoSituacao(); filtroAutoInfracaoSituacao.adicionarParametro(new ParametroSimples( FiltroAutoInfracaoSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Verifica se os dados foram informados da tabela existem e joga numa // colecao Collection<AutoInfracaoSituacao> colecaoAutoInfracaoSituacao = this .getFachada().pesquisar(filtroAutoInfracaoSituacao, AutoInfracaoSituacao.class.getName()); if (colecaoAutoInfracaoSituacao == null || colecaoAutoInfracaoSituacao.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Tabela Auto Infracao Situacao"); } httpServletRequest.setAttribute("colecaoAutoInfracaoSituacao", colecaoAutoInfracaoSituacao); } public void verificarObrigatoriedade(AtualizarAutoInfracaoActionForm form, HttpSession sessao) { if (form.getIdAutoInfracaoSituacao() != null && !form.getIdAutoInfracaoSituacao().equals("-1")) { FiltroAutoInfracaoSituacao filtroAutoInfracaoSituacao = new FiltroAutoInfracaoSituacao(); filtroAutoInfracaoSituacao.adicionarParametro(new ParametroSimples( FiltroAutoInfracaoSituacao.ID, form .getIdAutoInfracaoSituacao())); Collection<AutoInfracaoSituacao> colecaoAutoInfracaoSituacao = this .getFachada().pesquisar(filtroAutoInfracaoSituacao, AutoInfracaoSituacao.class.getName()); AutoInfracaoSituacao autoInfracaoSituacao = (AutoInfracaoSituacao) Util .retonarObjetoDeColecao(colecaoAutoInfracaoSituacao); if (!autoInfracaoSituacao.getIndicadorDataInicioRecurso().equals( AutoInfracaoSituacao.NULO)) { sessao.setAttribute("dataInicialRecurso", true); } else { sessao.removeAttribute("dataInicialRecurso"); } if (!autoInfracaoSituacao.getIndicadorDataTerminoRecurso().equals( AutoInfracaoSituacao.NULO)) { sessao.setAttribute("dataTerminoRecurso", true); } else { sessao.removeAttribute("dataTerminoRecurso"); } }else{ sessao.removeAttribute("dataInicialRecurso"); sessao.removeAttribute("dataTerminoRecurso"); } } private void pesquisarCamposEnter(AtualizarAutoInfracaoActionForm form, HttpServletRequest httpServletRequest) { String idFuncionario = (String) form.getIdFuncionario(); if (idFuncionario != null && !idFuncionario.equals("")) { FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro(new ParametroSimples( FiltroFuncionario.ID, idFuncionario)); Collection colecaoFuncionario = this.getFachada().pesquisar( filtroFuncionario, Funcionario.class.getName()); if (colecaoFuncionario != null && !colecaoFuncionario.isEmpty()) { Funcionario funcionario = (Funcionario) Util .retonarObjetoDeColecao(colecaoFuncionario); httpServletRequest.setAttribute("funcionario", funcionario .getId()); form.setDescricaoFuncionario(funcionario.getNome()); } else { httpServletRequest.setAttribute("funcionarioInexistente", "true"); form.setIdFuncionario(""); form.setDescricaoFuncionario("FUNCION�RIO INEXISTENTE"); } } else { form.setIdFuncionario(""); form.setDescricaoFuncionario(""); } } }