package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.RaDadosAgenciaReguladoraFone; import gcom.cadastro.cliente.FoneTipo; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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; /** * [UC0459] Adicionar Ra Dados Agencia Reguladora Fone Popup * * @author Kassia Albuquerque * @created 13/04/2006 */ public class AdicionarRaDadosAgenciaReguladoraFonePopupAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("adicionarRaDadosAgenciaReguladoraFonePopup"); AdicionarRaDadosAgenciaReguladoraFonePopupActionForm form = (AdicionarRaDadosAgenciaReguladoraFonePopupActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); RaDadosAgenciaReguladoraFone raDadosAgenciaReguladoraFone = new RaDadosAgenciaReguladoraFone(); form.setFormValues(raDadosAgenciaReguladoraFone); Collection collectionRaDadosAgenciaReguladoraFone = null; // CARREGANDO NO OBJETO A DESCRICAO DO TIPO DE TELEFONE if(sessao.getAttribute("colecaoFoneTipo")!=null){ Collection colecaoFoneTipo = (Collection)sessao.getAttribute("colecaoFoneTipo"); Iterator iteratorColecaoFoneTipo = colecaoFoneTipo.iterator(); while(iteratorColecaoFoneTipo.hasNext()){ FoneTipo foneTipo = (FoneTipo) iteratorColecaoFoneTipo.next(); if(foneTipo.getId().intValue() == raDadosAgenciaReguladoraFone.getFoneTipo().getId().intValue()){ raDadosAgenciaReguladoraFone.getFoneTipo().setDescricao(foneTipo.getDescricao()); } } } // VERIFICANDO EXISTENCIA DE DDD NA TABELA MUNICIPIO FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.DDD,raDadosAgenciaReguladoraFone.getDdd() )); Collection colecaoFone = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoFone == null || colecaoFone.isEmpty()) { throw new ActionServletException("atencao.ddd_inexistente"); } // VERIFICANDO A REPETICAO DO TELEFONE NA COLECAO if(sessao.getAttribute("collectionRaDadosAgenciaReguladoraFone")!=null){ Collection colecaoNumeroFone = (Collection)sessao.getAttribute("collectionRaDadosAgenciaReguladoraFone"); Iterator iteratorColecaoNumeroFone = colecaoNumeroFone.iterator(); while(iteratorColecaoNumeroFone.hasNext()){ RaDadosAgenciaReguladoraFone foneNaColecao = (RaDadosAgenciaReguladoraFone) iteratorColecaoNumeroFone.next(); if(foneNaColecao.getFone().equalsIgnoreCase(raDadosAgenciaReguladoraFone.getFone())){ throw new ActionServletException("atencao.fone_existente"); } } } // SE A COLECAO NA SESSAO FOR NULA if (sessao.getAttribute("collectionRaDadosAgenciaReguladoraFone")== null){ collectionRaDadosAgenciaReguladoraFone = new ArrayList(); }else{ collectionRaDadosAgenciaReguladoraFone = (Collection) sessao.getAttribute("collectionRaDadosAgenciaReguladoraFone"); } raDadosAgenciaReguladoraFone.setUltimaAlteracao(new Date()); collectionRaDadosAgenciaReguladoraFone.add(raDadosAgenciaReguladoraFone); sessao.setAttribute("collectionRaDadosAgenciaReguladoraFone",collectionRaDadosAgenciaReguladoraFone); httpServletRequest.setAttribute("reload", true); httpServletRequest.setAttribute("limparForm", true); return retorno; } }