package gcom.gui.cobranca; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.cobranca.CobrancaAcao; import gcom.cobranca.CobrancaCriterio; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.FiltroCobrancaAcao; import gcom.cobranca.FiltroCobrancaCriterio; import gcom.cobranca.FiltroCobrancaGrupo; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; 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 Flavio Leonardo, Raphael Rossiter * @date 24/01/2008 */ public class ExibirAssociarRotasCriterioCobrancaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = null; AssociarConjuntoRotasCriterioCobrancaActionForm form = (AssociarConjuntoRotasCriterioCobrancaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); sessao.setAttribute("AssociarConjuntoRotasCriterioCobrancaActionForm", form); retorno = actionMapping.findForward("exibirAssociarRotasCriterioCobranca"); if(sessao.getAttribute("colecaoAcaoCobranca") == null){ FiltroCobrancaAcao filtroCobrancaAcao = new FiltroCobrancaAcao(); filtroCobrancaAcao.setCampoOrderBy(FiltroCobrancaAcao.DESCRICAO); Collection colecaoAcaoCobranca = fachada.pesquisar(filtroCobrancaAcao, CobrancaAcao.class.getName()); if(colecaoAcaoCobranca.isEmpty()){ throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "A��o de Cobran�a"); }else{ sessao.setAttribute("colecaoAcaoCobranca", colecaoAcaoCobranca); } FiltroCobrancaGrupo filtroCobrancaGrupo = new FiltroCobrancaGrupo(); filtroCobrancaGrupo.setCampoOrderBy(FiltroCobrancaGrupo.DESCRICAO); Collection colecaoGrupoCobranca = fachada.pesquisar(filtroCobrancaGrupo, CobrancaGrupo.class.getName()); if(colecaoGrupoCobranca.isEmpty()){ throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Grupo de Cobran�a"); }else{ sessao.setAttribute("colecaoGrupoCobranca", colecaoGrupoCobranca); } FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME); Collection colecaoGerenciaRegional = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if(colecaoGerenciaRegional.isEmpty()){ throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Ger�ncia Regional"); }else{ sessao.setAttribute("colecaoGerenciaRegional", colecaoGerenciaRegional); } FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); Collection colecaoUnidadeNegocio = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if(colecaoUnidadeNegocio.isEmpty()){ throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Unidade de Neg�cio"); }else{ sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } sessao.setAttribute("colecaoRotaInicial", new ArrayList()); sessao.setAttribute("colecaoRotaFinal", new ArrayList()); /* * Colocado por Raphael Rossiter em 23/01/2008 */ httpServletRequest.setAttribute("nomeCampo","idAcaoCobranca"); } if(form.getIdCriterioCobranca() != null && !form.getIdCriterioCobranca().equals("") && (form.getDescricaoCriterioCobranca() == null || form.getDescricaoCriterioCobranca().equals(""))){ FiltroCobrancaCriterio filtroCobrancaCriterio = new FiltroCobrancaCriterio(); filtroCobrancaCriterio.adicionarParametro(new ParametroSimples(FiltroCobrancaCriterio.ID, form.getIdCriterioCobranca())); Collection colecaoCriterio = fachada.pesquisar(filtroCobrancaCriterio, CobrancaCriterio.class.getName()); if(colecaoCriterio.isEmpty()){ form.setIdCriterioCobranca(""); form.setDescricaoCriterioCobranca("Crit�rio de Cobran�a Inexistente"); httpServletRequest.setAttribute("idCriterioCobrancaNaoEncontrado","exception"); httpServletRequest.setAttribute("nomeCampo","idCriterioCobranca"); }else{ CobrancaCriterio cobrancaCriterio = (CobrancaCriterio)Util.retonarObjetoDeColecao(colecaoCriterio); form.setIdCriterioCobranca(cobrancaCriterio.getId().toString()); form.setDescricaoCriterioCobranca(cobrancaCriterio.getDescricaoCobrancaCriterio()); httpServletRequest.setAttribute("nomeCampo","idGrupoCobranca"); } } if(form.getIdLocalidadeInicial() != null && !form.getIdLocalidadeInicial().equals("") && (form.getDescricaoLocalidadeInicial() == null || form.getDescricaoLocalidadeInicial().equals(""))){ FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID, form.getIdLocalidadeInicial())); Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if(colecaoLocalidade.isEmpty()){ form.setIdLocalidadeInicial(""); form.setDescricaoLocalidadeInicial("Localidade Inexistente"); httpServletRequest.setAttribute("idLocalidadeInicialNaoEncontrado","exception"); httpServletRequest.setAttribute("nomeCampo","idLocalidadeInicial"); }else{ Localidade localidade = (Localidade)Util.retonarObjetoDeColecao(colecaoLocalidade); form.setIdLocalidadeInicial(localidade.getId().toString()); form.setDescricaoLocalidadeInicial(localidade.getDescricao()); if(form.getIdLocalidadeFinal() == null || form.getIdLocalidadeFinal().equals("")){ form.setIdLocalidadeFinal(localidade.getId().toString()); form.setDescricaoLocalidadeFinal(localidade.getDescricao()); } httpServletRequest.setAttribute("nomeCampo","idLocalidadeFinal"); } } if(form.getIdLocalidadeFinal() != null && !form.getIdLocalidadeFinal().equals("") &&(form.getDescricaoLocalidadeFinal() == null || form.getDescricaoLocalidadeFinal().equals(""))){ FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID, form.getIdLocalidadeFinal())); Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if(colecaoLocalidade.isEmpty()){ form.setIdLocalidadeFinal(""); form.setDescricaoLocalidadeFinal("Localidade Inexistente"); httpServletRequest.setAttribute("nomeCampo","idLocalidadeFinal"); httpServletRequest.setAttribute("idLocalidadeFinalNaoEncontrado","exception"); }else{ Localidade localidade = (Localidade)Util.retonarObjetoDeColecao(colecaoLocalidade); form.setIdLocalidadeFinal(localidade.getId().toString()); form.setDescricaoLocalidadeFinal(localidade.getDescricao()); httpServletRequest.setAttribute("nomeCampo","codigoSetorComercialInicial"); } } if(form.getCodigoSetorComercialInicial() != null && !form.getCodigoSetorComercialInicial().equals("") &&(form.getDescricaoSetorComercialInicial() == null || form.getDescricaoSetorComercialInicial().equals(""))){ FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, form.getCodigoSetorComercialInicial())); filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, form.getIdLocalidadeInicial())); Collection colecaoSetor = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if(colecaoSetor.isEmpty()){ form.setCodigoSetorComercialInicial(""); form.setDescricaoSetorComercialInicial("Setor Comercial Inexistente"); httpServletRequest.setAttribute("nomeCampo","codigoSetorComercialInicial"); httpServletRequest.setAttribute("codigoSetorComercialInicialNaoEncontrado","exception"); }else{ SetorComercial setorComercial = (SetorComercial)Util.retonarObjetoDeColecao(colecaoSetor); form.setCodigoSetorComercialInicial(setorComercial.getCodigo() + ""); form.setDescricaoSetorComercialInicial(setorComercial.getDescricao()); FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples(FiltroRota.SETOR_COMERCIAL_ID, setorComercial.getId())); Collection colecaoRota = fachada.pesquisar(filtroRota, Rota.class.getName()); sessao.setAttribute("colecaoRotaInicial", colecaoRota); if(form.getCodigoSetorComercialFinal() == null || form.getCodigoSetorComercialFinal().equals("")){ form.setCodigoSetorComercialFinal(setorComercial.getCodigo() + ""); form.setDescricaoSetorComercialFinal(setorComercial.getDescricao()); sessao.setAttribute("colecaoRotaFinal", colecaoRota); } httpServletRequest.setAttribute("nomeCampo","codigoSetorComercialFinal"); } } if(form.getCodigoSetorComercialFinal() != null && !form.getCodigoSetorComercialFinal().equals("") && (form.getDescricaoSetorComercialFinal() == null || form.getDescricaoSetorComercialFinal().equals(""))){ FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, form.getCodigoSetorComercialFinal())); filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, form.getIdLocalidadeFinal())); Collection colecaoSetor = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if(colecaoSetor.isEmpty()){ form.setCodigoSetorComercialFinal(""); form.setDescricaoSetorComercialFinal("Setor Comercial Inexistente"); httpServletRequest.setAttribute("nomeCampo","codigoSetorComercialFinal"); httpServletRequest.setAttribute("codigoSetorComercialFinalNaoEncontrado","exception"); }else{ SetorComercial setorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoSetor); form.setCodigoSetorComercialFinal(setorComercial.getCodigo() + ""); form.setDescricaoSetorComercialFinal(setorComercial.getDescricao()); FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples(FiltroRota.SETOR_COMERCIAL_ID, setorComercial.getId())); Collection colecaoRota = fachada.pesquisar(filtroRota, Rota.class.getName()); sessao.setAttribute("colecaoRotaFinal", colecaoRota); sessao.setAttribute("colecaoRotaInicial", colecaoRota); } } String atualizarQtd = httpServletRequest.getParameter("atualizarQtd"); if(sessao.getAttribute("qtdRotas") != null && (atualizarQtd != null && !atualizarQtd.equals(""))){ Integer qtdRotas = new Integer((String)sessao.getAttribute("qtdRotas")); Integer qtdRotasCom = new Integer((String)sessao.getAttribute("qtdRotasCom")); Integer qtdRotasSem = new Integer((String)sessao.getAttribute("qtdRotasSem")); form.setQtdRotasSelecionadas(qtdRotas+ ""); form.setQtdRotasComCriterio(qtdRotasCom + ""); form.setQtdRotasSemCriterio(qtdRotasSem + ""); } else{ form.setQtdRotasSelecionadas(""); form.setQtdRotasComCriterio(""); form.setQtdRotasSemCriterio(""); sessao.removeAttribute("qtdRotas"); } return retorno; } }