package gcom.gui.cobranca; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cobranca.CobrancaAcaoAtividadeComando; import gcom.cobranca.FiltroCobrancaAcaoAtividadeComando; import gcom.cobranca.FiltroImovelNaoGerado; import gcom.cobranca.ImovelNaoGerado; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; 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; /** * @author Anderson Italo * @date 30/11/2009 * Classe respons�vel pela exibi��o do filtro de UC9999 Consultar Motivo da n�o Gera��o de Documento de Cobran�a */ public class ExibirMotivoNaoGeracaoDocumentoTipoComandoEventualAction extends GcomAction{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("motivoNaoGeracaoDocumentoTipoComandoEventual"); MotivoNaoGeracaoDocumentoActionForm form = (MotivoNaoGeracaoDocumentoActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); //4. Caso a op��o por im�vel tenha sido escolhida if (httpServletRequest.getParameter("filtroPorImovel") != null && httpServletRequest.getParameter("filtroPorImovel").equals("true")){ form.setIndicadorTipoPesquisa("2"); FiltroCobrancaAcaoAtividadeComando filtroCobrancaAcaoAtividadeComando = new FiltroCobrancaAcaoAtividadeComando(); filtroCobrancaAcaoAtividadeComando.adicionarParametro(new ParametroSimples( FiltroCobrancaAcaoAtividadeComando.ID, new Integer(form.getIdCobrancaAcaoAtividadeComando()))); Collection colecaoCobrancaAcaoAtividadeComando = fachada.pesquisar(filtroCobrancaAcaoAtividadeComando, CobrancaAcaoAtividadeComando.class.getName()); CobrancaAcaoAtividadeComando cobrancaAcaoAtividadeComando = (CobrancaAcaoAtividadeComando)Util.retonarObjetoDeColecao(colecaoCobrancaAcaoAtividadeComando); Imovel imovel = fachada.pesquisarImovel(new Integer(form.getMatriculaImovel())); if (imovel != null){ FiltroImovelNaoGerado filtroImovelNaoGerado = new FiltroImovelNaoGerado(); filtroImovelNaoGerado.adicionarParametro(new ParametroSimples( FiltroImovelNaoGerado.ID_IMOVEL, imovel.getId())); filtroImovelNaoGerado.adicionarParametro(new ParametroSimples( FiltroImovelNaoGerado.ID_COBRANCA_ACAO_ATIVIDADE_COMANDO, cobrancaAcaoAtividadeComando.getId())); filtroImovelNaoGerado.adicionarCaminhoParaCarregamentoEntidade(FiltroImovelNaoGerado.MOTIVO_NAO_GERACAO_DOCUMENTO_COBRANCA); Collection colecaoImovelNaoGerado = fachada.pesquisar(filtroImovelNaoGerado, ImovelNaoGerado.class.getName()); /*[FS0004] - Motivo n�o encontrado * . Caso a matr�cula do im�vel informada n�o exista na tabela * IMOVEL_NAO_GERADO para o CAAC_ID ou CACM_ID em quest�o, exibir * a mensagem �Im�vel n�o pertence ao universo do comando ou teve * documento gerado� e retornar para o passo correspondente * no fluxo principal. */ if (colecaoImovelNaoGerado == null || colecaoImovelNaoGerado.isEmpty()){ throw new ActionServletException("atencao.imovel_nao_pertence_comando_documento_gerado"); }else{ /*4.2.1. O sistema exibe o motivo de n�o Gera��o * (MNGD_DSMOTIVO com MNGD_ID = MNGD_ID da tabela IMOVEL_NAO_GERADO)*/ ImovelNaoGerado imovelNaogerado = (ImovelNaoGerado)Util.retonarObjetoDeColecao(colecaoImovelNaoGerado); form.setDescricaoMotivo(imovelNaogerado.getMotivoNaoGeracaoDocCobranca().getDescricao()); } }else{ throw new ActionServletException("atencao.imovel.inexistente"); } }else{ form.setIndicadorTipoPesquisa("1"); form.setIndicadorTipoRelatorio("1"); } //CobrancaAcaoAtividadeComando Collection colecaoCobrancaAcaoAtividadeComando = fachada.obterListaAtividadesEventuaisAcaoCobrancaComandadas(); //[SB0002] - Comandos de A��o de Cobran�a Eventual //6.2. Caso o comando seja por cliente n�o disponibilizar as op��es geogr�ficas. if(form.getIdCobrancaAcaoAtividadeComando() != null && !form.getIdCobrancaAcaoAtividadeComando().equals("")){ FiltroCobrancaAcaoAtividadeComando filtroCobrancaAcaoAtividadeComando = new FiltroCobrancaAcaoAtividadeComando(); filtroCobrancaAcaoAtividadeComando.adicionarCaminhoParaCarregamentoEntidade(FiltroCobrancaAcaoAtividadeComando.CLIENTE); filtroCobrancaAcaoAtividadeComando.adicionarParametro(new ParametroSimples( FiltroCobrancaAcaoAtividadeComando.ID, new Integer(form.getIdCobrancaAcaoAtividadeComando()))); Collection colecaoCobrancaAC = fachada.pesquisar(filtroCobrancaAcaoAtividadeComando, CobrancaAcaoAtividadeComando.class.getName()); CobrancaAcaoAtividadeComando cobrancaAcaoAtividadeComando = (CobrancaAcaoAtividadeComando)Util.retonarObjetoDeColecao(colecaoCobrancaAC); if (cobrancaAcaoAtividadeComando.getCliente() != null){ sessao.setAttribute("coordenadas","true"); form.setDescricaoLocalidade(""); form.setIdLocalidade(""); form.setIdSetorComercial(""); form.setDescricaoSetorComercial(""); form.setIdQuadra(""); form.setDescricaoQuadra(""); } else{ sessao.setAttribute("coordenadas","false"); } } else{ sessao.setAttribute("coordenadas","true"); form.setDescricaoLocalidade(""); form.setIdLocalidade(""); form.setIdSetorComercial(""); form.setDescricaoSetorComercial(""); form.setIdQuadra(""); form.setDescricaoQuadra(""); } //[FS002] - Verificar exist�ncia de dados if (colecaoCobrancaAcaoAtividadeComando == null || colecaoCobrancaAcaoAtividadeComando.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "CobrancaAtividadeComando"); } //Ger�ncia regional Collection colecaoGerenciaRegional = fachada.obterColecaoGerenciaRegional(); sessao.setAttribute("colecaoGerenciaRegional",colecaoGerenciaRegional); //Unidade neg�cio Collection colecaoUnidadeNegocio = fachada.obterColecaoUnidadeNegocio(); sessao.setAttribute("colecaoUnidadeNegocio",colecaoUnidadeNegocio); //Tratamento das buscas atrav�s do enter //================================================= //Localidade String pesquisarLocalidade = httpServletRequest.getParameter("pesquisarLocalidade"); if(pesquisarLocalidade != null && !"".equals(pesquisarLocalidade)){ Integer idLocalidade = new Integer(form.getIdLocalidade()); Localidade localidade = fachada.pesquisarLocalidadeDigitada(idLocalidade); if(localidade != null){ form.setDescricaoLocalidade(localidade.getDescricao()); } else{ form.setDescricaoLocalidade("LOCALIDADE INEXISTENTE"); form.setIdLocalidade(""); form.setIdSetorComercial(""); form.setDescricaoSetorComercial(""); form.setIdQuadra(""); form.setDescricaoQuadra(""); httpServletRequest.setAttribute("localidadeException","ok"); } } //Setor Comercial String pesquisarSetorComercial = httpServletRequest.getParameter("pesquisarSetorComercial"); if(pesquisarSetorComercial != null && !"".equals(pesquisarSetorComercial)){ String idSetorComercial = form.getIdSetorComercial(); //Localidade localidadeInicial = (Localidade) sessao.getAttribute("localidadeInicial"); String idLocalidadeInicial = form.getIdLocalidade(); SetorComercial setorComercial = fachada.obterSetorComercialLocalidade(idLocalidadeInicial,idSetorComercial); if(setorComercial != null){ form.setDescricaoSetorComercial(setorComercial.getDescricao()); sessao.setAttribute("setorComercialMotivoNaoGeracao", setorComercial); } else{ form.setDescricaoSetorComercial("SETOR COMERCIAL INEXISTENTE"); form.setIdSetorComercial(""); form.setIdQuadra(""); form.setDescricaoQuadra(""); httpServletRequest.setAttribute("setorComercialException","ok"); sessao.removeAttribute("setorComercialMotivoNaoGeracao"); } } //Quadra String pesquisarQuadra = httpServletRequest.getParameter("pesquisarQuadra"); if(pesquisarQuadra != null && !"".equals(pesquisarQuadra)){ SetorComercial setorComercial = (SetorComercial)sessao.getAttribute("setorComercialMotivoNaoGeracao"); int idQuadra = Integer.parseInt(form.getIdQuadra()); Quadra quadra = null; if(setorComercial != null) quadra = fachada.obterQuadraSetorComercial(setorComercial.getId(),idQuadra); if(quadra != null){ form.setDescricaoQuadra(quadra.getDescricao()); sessao.setAttribute("quadra",quadra); } else{ form.setDescricaoQuadra("QUADRA INEXISTENTE"); form.setIdQuadra(""); sessao.removeAttribute("quadra"); } } httpServletRequest.setAttribute("colecaoCobrancaAcaoAtividadeComando", colecaoCobrancaAcaoAtividadeComando); return retorno; } }