package gcom.gui.cadastro.tarifasocial; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.imovel.AreaConstruidaFaixa; import gcom.cadastro.imovel.FiltroAreaConstruidaFaixa; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.tarifasocial.FiltroRendaTipo; import gcom.cadastro.tarifasocial.FiltroTarifaSocialCartaoTipo; import gcom.cadastro.tarifasocial.FiltroTarifaSocialDadoEconomia; import gcom.cadastro.tarifasocial.FiltroTarifaSocialExclusaoMotivo; import gcom.cadastro.tarifasocial.RendaTipo; import gcom.cadastro.tarifasocial.TarifaSocialCartaoTipo; import gcom.cadastro.tarifasocial.TarifaSocialDadoEconomia; import gcom.cadastro.tarifasocial.TarifaSocialExclusaoMotivo; 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.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; 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 rodrigo */ public class ExibirInserirTarifaSocialDadosCartaoUmaEconomiaAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("inserirTarifaSocialDadosCartao"); // Instancia da Fachada Fachada fachada = Fachada.getInstancia(); // Pega uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); TarifaSocialCartaoActionForm tarifaSocialCartaoActionForm = (TarifaSocialCartaoActionForm) actionForm; FiltroTarifaSocialCartaoTipo filtro = new FiltroTarifaSocialCartaoTipo(); filtro.setCampoOrderBy(FiltroTarifaSocialCartaoTipo.DESCRICAO); filtro.adicionarParametro(new ParametroSimples(FiltroTarifaSocialCartaoTipo.INDICADOR_USO,ConstantesSistema.SIM)); FiltroRendaTipo filtroRendaTipo = new FiltroRendaTipo(); filtroRendaTipo.setCampoOrderBy(FiltroRendaTipo.DESCRICAO); Collection colecaoTarifaSocialCartaoTipo = fachada.pesquisar(filtro, TarifaSocialCartaoTipo.class.getName()); Collection colecaoRendaTipo = fachada.pesquisar(filtroRendaTipo, RendaTipo.class.getName()); // A cole��o de tipos do cart�o � obrigat�ria na p�gina // [FS0004] if (colecaoTarifaSocialCartaoTipo == null || colecaoTarifaSocialCartaoTipo.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "tipo do cart�o"); } // A cole��o de tipos de renda � obrigat�ria na p�gina // [FS0004] if (colecaoRendaTipo == null || colecaoRendaTipo.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "tipo de renda"); } httpServletRequest.setAttribute("colecaoTarifaSocialCartaoTipo", colecaoTarifaSocialCartaoTipo); httpServletRequest.setAttribute("colecaoRendaTipo", colecaoRendaTipo); FiltroAreaConstruidaFaixa filtroAreaConstruidaFaixa = new FiltroAreaConstruidaFaixa(); filtroAreaConstruidaFaixa.adicionarParametro(new ParametroSimples( FiltroAreaConstruidaFaixa.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoAreaConstruidaFaixa = fachada.pesquisar( filtroAreaConstruidaFaixa, AreaConstruidaFaixa.class.getName()); sessao.setAttribute("colecaoAreaConstruidaFaixa", colecaoAreaConstruidaFaixa); // Pega o clienteImovel da sess�o e extrai o tarifaSocialDadoEconomia ClienteImovel clienteImovel = (ClienteImovel) sessao .getAttribute("clienteImovel"); Collection colecaotarifaSocialDadoEconomia = fachada .pesquisarClientesUsuarioExistenteTarifaSocial(clienteImovel .getCliente().getId()); if (colecaotarifaSocialDadoEconomia != null && !colecaotarifaSocialDadoEconomia.isEmpty()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) colecaotarifaSocialDadoEconomia .iterator().next(); sessao.setAttribute("idTarifaSocialDadoEconomia", tarifaSocialDadoEconomia.getId().toString()); if (tarifaSocialDadoEconomia.getImovel() != null) { tarifaSocialCartaoActionForm .setIdImovel(tarifaSocialDadoEconomia.getImovel() .getId().toString()); } if (tarifaSocialDadoEconomia.getTarifaSocialRevisaoMotivo() != null) { tarifaSocialCartaoActionForm .setMotivoRevisao(tarifaSocialDadoEconomia .getTarifaSocialRevisaoMotivo().getDescricao()); } FiltroTarifaSocialExclusaoMotivo filtroTarifaSocialExclusaoMotivo = new FiltroTarifaSocialExclusaoMotivo(); filtroTarifaSocialExclusaoMotivo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialExclusaoMotivo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroTarifaSocialExclusaoMotivo.setCampoOrderBy(FiltroTarifaSocialExclusaoMotivo.DESCRICAO); Collection colecaoTarifaSocialExclusaoMotivo = fachada.pesquisar( filtroTarifaSocialExclusaoMotivo, TarifaSocialExclusaoMotivo.class.getName()); httpServletRequest.setAttribute("colecaoTarifaSocialExclusaoMotivo", colecaoTarifaSocialExclusaoMotivo); } // TarifaSocialDado tarifaSocialDado = clienteImovel.getImovel() // .getTarifaSocialDado(); if (sessao.getAttribute("colecaoDadosTarifaSocial") != null) { Collection colecaoDadosTarifaSocialMemoria = (Collection) sessao .getAttribute("colecaoDadosTarifaSocial"); if (!colecaoDadosTarifaSocialMemoria.isEmpty()) { httpServletRequest .setAttribute( "tarifaSocialDadoEconomia", Util .retonarObjetoDeColecao(colecaoDadosTarifaSocialMemoria)); } } else { FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia .adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.IMOVEL_ID, clienteImovel.getImovel().getId())); // Pesquisa na fachada a cole��o Collection colecaoTarifaSocialDadoEconomia = fachada.pesquisar( filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()); // Se existir, � colocado no request para a p�gina if (!colecaoTarifaSocialDadoEconomia.isEmpty()) { httpServletRequest.setAttribute("tarifaSocialDadoEconomia", colecaoTarifaSocialDadoEconomia.iterator().next()); } } Imovel imovel = null; if (sessao.getAttribute("imovelAtualizado") != null) { imovel = (Imovel) sessao.getAttribute("imovelAtualizado"); } else { imovel = clienteImovel.getImovel(); } if (imovel != null) { // N�mero de Contrato da Companhia El�trica if (imovel.getNumeroCelpe() != null) { tarifaSocialCartaoActionForm .setNumeroContratoCelpe(imovel .getNumeroCelpe().toString()); } else { tarifaSocialCartaoActionForm.setNumeroContratoCelpe(""); } // N�mero do IPTU if (imovel.getNumeroIptu() != null) { tarifaSocialCartaoActionForm .setNumeroIPTU(imovel.getNumeroIptu().toString()); } else { tarifaSocialCartaoActionForm.setNumeroIPTU(""); } // �rea Constru�da if (imovel.getAreaConstruida() != null) { String areaConstruidaFormatada = Util .formatarMoedaReal(imovel .getAreaConstruida()); tarifaSocialCartaoActionForm .setAreaConstruida(areaConstruidaFormatada); } else { tarifaSocialCartaoActionForm.setAreaConstruida(""); } // �rea Constru�da Faixa if (imovel.getAreaConstruidaFaixa() != null) { tarifaSocialCartaoActionForm .setAreaConstruidaFaixa(imovel .getAreaConstruidaFaixa().getId().toString()); } else { tarifaSocialCartaoActionForm.setAreaConstruidaFaixa("" + ConstantesSistema.NUMERO_NAO_INFORMADO); } // N�mero de Moradores if (imovel.getNumeroMorador() != null) { tarifaSocialCartaoActionForm.setNumeroMoradores(imovel.getNumeroMorador().toString()); } else { tarifaSocialCartaoActionForm.setNumeroMoradores(""); } } // Carregar a data corrente do sistema // ==================================== SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Calendar dataCorrente = new GregorianCalendar(); // Data Corrente httpServletRequest.setAttribute("dataAtual", formatoData .format(dataCorrente.getTime())); return retorno; } }