package gcom.gui.cadastro.imovel; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.cliente.FiltroClienteImovel; import gcom.cobranca.CobrancaSituacao; import gcom.cobranca.FiltroCobrancaSituacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * < <Descri��o da Classe>> * * @author Administrador */ public class ExibirInserirImovelSituacaoCobrancaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirInserirImovelSituacaoCobranca"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado"); // Mudar isso quando tiver esquema de seguran�a // HttpSession sessao = httpServletRequest.getSession(false); InserirImovelSituacaoCobrancaActionForm form = (InserirImovelSituacaoCobrancaActionForm) actionForm; String idImovel = httpServletRequest.getParameter("idImovel"); if (idImovel == null || idImovel.equalsIgnoreCase("")){ idImovel = form.getCodigoImovel(); } form.setCodigoImovel(idImovel); form.setDataImplantacao(Util.formatarData(new Date())); String matriculaImovel = fachada.pesquisarInscricaoImovel(new Integer(idImovel)); if (matriculaImovel != null && !matriculaImovel.equalsIgnoreCase("")){ form.setMatriculaImovel(matriculaImovel); } else { throw new ActionServletException( "atencao.imovel.inexistente"); } if (httpServletRequest.getParameter("objetoConsulta") != null){ // VERIFICANDO ESCRITORIO (Kassia Albuquerque) if ((form.getIdEscritorio() != null && !form.getIdEscritorio().equals(""))) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, form.getIdEscritorio())); Collection colecaoEscritorio = fachada.pesquisar(filtroCliente,Cliente.class.getName()); if (colecaoEscritorio != null && !colecaoEscritorio.isEmpty()) { Cliente escritorios = (Cliente) colecaoEscritorio.iterator().next(); form.setNomeEscritorio(escritorios.getNome()); } else { httpServletRequest.setAttribute("escritorioEncontrado", "exception"); form.setIdEscritorio(""); form.setNomeEscritorio("ESCRIT�RIO DE ADVOCACIA INEXISTENTE"); } } // VERIFICANDO ADVOGADO (Kassia Albuquerque) if ((form.getIdAdvogado() != null && !form.getIdAdvogado().equals(""))) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, form.getIdAdvogado())); Collection colecaoAdvogado = fachada.pesquisar(filtroCliente,Cliente.class.getName()); if (colecaoAdvogado != null && !colecaoAdvogado.isEmpty()) { Cliente advogados = (Cliente) colecaoAdvogado.iterator().next(); form.setNomeAdvogado(advogados.getNome()); } else { httpServletRequest.setAttribute("advogadoEncontrado", "exception"); form.setIdAdvogado(""); form.setNomeAdvogado("ADVOGADO INEXISTENTE"); } } // VERIFICANDO CLIENTE ALVO if (form.getIdClienteAlvo() != null && !form.getIdClienteAlvo().equalsIgnoreCase("")){ String idCliente = form.getIdClienteAlvo(); Cliente cliente = fachada.pesquisarClienteDigitado(new Integer(idCliente)); if (cliente != null){ FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new ParametroSimples(FiltroClienteImovel.CLIENTE_ID, idCliente)); filtroClienteImovel.adicionarParametro(new ParametroSimples(FiltroClienteImovel.IMOVEL_ID, idImovel)); Collection colecaoClienteImovel = fachada.pesquisar(filtroClienteImovel, ClienteImovel.class.getName()); if (colecaoClienteImovel != null && !colecaoClienteImovel.isEmpty()){ form.setNomeClienteAlvo(cliente.getNome()); } else { throw new ActionServletException("atencao.cliente_informado_nao_corresponde_imovel"); } } else{ throw new ActionServletException("atencao.cliente.inexistente"); } } // SITUACAO COBRANCA if (form.getSituacaoCobranca() != null && !form.getSituacaoCobranca().equalsIgnoreCase("")){ String idSituacaoCobranca = form.getSituacaoCobranca(); FiltroCobrancaSituacao filtroCobrancaSituacao = new FiltroCobrancaSituacao(); filtroCobrancaSituacao.adicionarParametro(new ParametroSimples(FiltroCobrancaSituacao.ID, idSituacaoCobranca)); filtroCobrancaSituacao.adicionarCaminhoParaCarregamentoEntidade("contaMotivoRevisao"); Collection colecaoCobrancaSituacao = fachada.pesquisar(filtroCobrancaSituacao, CobrancaSituacao.class.getName()); CobrancaSituacao cobrancaSituacao = (CobrancaSituacao) colecaoCobrancaSituacao.iterator().next(); if (cobrancaSituacao.getContaMotivoRevisao() == null){ httpServletRequest.setAttribute("bloqueiaAnoMes", "sim"); } // HABILITANDO OS CAMPOS ESCRITORIO E ADVOGADO (Kassia Albuquerque) if (cobrancaSituacao.getIndicadorExigenciaAdvogado() != null && cobrancaSituacao.getIndicadorExigenciaAdvogado().equals(ConstantesSistema.INDICADOR_USO_ATIVO)){ httpServletRequest.setAttribute("ativo", "ativo"); }else{ form.setIdAdvogado(""); form.setNomeAdvogado(""); form.setIdEscritorio(""); form.setNomeEscritorio(""); } } } else { Cliente cliente = fachada.pesquisarClienteUsuarioImovel (new Integer(form.getCodigoImovel())); form.setIdClienteAlvo(cliente.getId().toString()); form.setNomeClienteAlvo(cliente.getNome()); } this.pesquisarCobrancaSituacao(httpServletRequest, fachada, usuarioLogado, new Integer(idImovel)); return retorno; } /** * * [SB0004] Selecionar Situa��es de Cobran�a * * @author Hugo Amorim * @date 29/01/2010 * @param httpServletRequest * @param fachada * @param usuarioLogado */ private void pesquisarCobrancaSituacao( HttpServletRequest httpServletRequest, Fachada fachada, Usuario usuarioLogado, Integer idImovel){ boolean possuiPermissaoinformarQualquerSituacaoCobranca = fachada.verificarPermissaoEspecialAtiva( PermissaoEspecial.INFORMAR_QUALQUER_SITUACAO_DE_COBRANCA, usuarioLogado); //CRC3323 - comentado por Vivianne Sousa - analista:Fatima Sampaio - 12/05/2010 // FiltroCobrancaSituacao filtroCobrancaSituacao = new FiltroCobrancaSituacao(); // /* // * Caso o usuario n�o tenha permiss�o especial para informar qualquer situa��o de cobranca, // * o sistema retira da lista de situa��es de cobran�a selecionadas as situa��es com indica��o // * de serem selecionadas apenas pelos usu�rios com permiss�o especial. // */ // if(!possuiPermissaoinformarQualquerSituacaoCobranca){ // filtroCobrancaSituacao.adicionarParametro( // new ParametroSimples(FiltroCobrancaSituacao.INDICADOR_SELECAO_APENAS_COM_PERMISSAO, // ConstantesSistema.NAO)); // } // // filtroCobrancaSituacao.adicionarParametro( // new ParametroSimples(FiltroCobrancaSituacao.INDICADOR_BLOQUEIO_INCLUSAO, // ConstantesSistema.NAO)); // filtroCobrancaSituacao.adicionarParametro( // new ParametroSimples(FiltroCobrancaSituacao.INDICADOR_USO, // ConstantesSistema.SIM)); // // filtroCobrancaSituacao.setCampoOrderBy(FiltroCobrancaSituacao.DESCRICAO); // Collection colecaoSituacaoCobranca = fachada.pesquisar(filtroCobrancaSituacao, CobrancaSituacao.class.getName()); Collection colecaoSituacaoCobranca = fachada.pesquisarCobrancaSituacao( idImovel,possuiPermissaoinformarQualquerSituacaoCobranca); if(colecaoSituacaoCobranca == null || colecaoSituacaoCobranca.isEmpty()){ //[FS0007] � Verificar lista de situa��es de cobran�a para inclus�o throw new ActionServletException("atencao.nao_e_possivel_novas_situacoes_cobranca"); }else{ httpServletRequest.setAttribute("colecaoSituacaoCobranca", colecaoSituacaoCobranca); } } }