package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.localidade.bean.InserirQuadraHelper; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Classe respons�vel pela inser��o dos dados de uma quadra * * @author Ivan S�rgio, Raphael Rossiter * @date 10/02/2009, 06/04/2009 */ public class InserirQuadraAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); InserirQuadraActionForm inserirQuadraActionForm = (InserirQuadraActionForm) actionForm; //Verificar a existencia de Setor alternativo String setorComercialId = inserirQuadraActionForm.getSetorComercialID(); FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro( new ParametroSimples ( FiltroSetorComercial.ID, setorComercialId ) ); Collection setorComercial = this.getFachada() .pesquisar( filtroSetorComercial, SetorComercial.class.getName() ); Iterator iteratorSetorComercial = setorComercial.iterator(); SetorComercial setor = null; while ( iteratorSetorComercial.hasNext() ) { setor = (SetorComercial) iteratorSetorComercial.next(); if ( setor.getIndicadorSetorAlternativo().equals( ConstantesSistema.INDICADOR_USO_ATIVO ) ) { throw new ActionServletException("atencao.setor_comercial_alternativo"); } } //CARREGANDO O OBJETO INSERIR_QUADRA_HELPER InserirQuadraHelper helper = this.carregarInserirQuadraHelper(inserirQuadraActionForm); //VALIDANDO OS DADOS DA QUADRA Quadra quadraInserir = fachada.validarQuadra(helper); //OBTENDO AS FACES DA QUADRA Collection colecaoQuadraFace = (Collection) sessao.getAttribute("colecaoQuadraFace"); Integer idQuadra = null; Usuario usuarioLogado = (Usuario)sessao.getAttribute(Usuario.USUARIO_LOGADO); idQuadra = fachada.inserirQuadra(quadraInserir, colecaoQuadraFace, usuarioLogado); montarPaginaSucesso(httpServletRequest, "Quadra de n�mero " + quadraInserir.getNumeroQuadra() + " do setor comercial " + helper.getSetorComercialCD() + "-" + quadraInserir.getSetorComercial().getDescricao() + " da localidade " + helper.getLocalidadeID() + "-" + quadraInserir.getSetorComercial().getLocalidade().getDescricao() + " inserida com sucesso.", "Inserir outra Quadra", "exibirInserirQuadraAction.do", "exibirAtualizarQuadraAction.do?idRegistroInseridoAtualizar=" + idQuadra, "Atualizar Quadra Inserida"); sessao.removeAttribute("InserirQuadraActionForm"); sessao.removeAttribute("colecaoPerfilQuadra"); sessao.removeAttribute("colecaoSistemaEsgoto"); sessao.removeAttribute("colecaoZeis"); sessao.removeAttribute("colecaoBacia"); sessao.removeAttribute("colecaoQuadraFace"); // devolve o mapeamento de retorno return retorno; } private InserirQuadraHelper carregarInserirQuadraHelper(InserirQuadraActionForm inserirQuadraActionForm){ InserirQuadraHelper helper = new InserirQuadraHelper(); helper.setLocalidadeID(inserirQuadraActionForm.getLocalidadeID()); helper.setSetorComercialCD(inserirQuadraActionForm.getSetorComercialCD()); helper.setQuadraNM(inserirQuadraActionForm.getQuadraNM()); helper.setPerfilQuadraID(inserirQuadraActionForm.getPerfilQuadra()); helper.setAreaTipoID(inserirQuadraActionForm.getAreaTipoID()); helper.setIndicadorRedeAgua(inserirQuadraActionForm.getIndicadorRedeAguaAux()); helper.setIndicadorRedeEsgoto(inserirQuadraActionForm.getIndicadorRedeEsgotoAux()); helper.setSistemaEsgotoID(inserirQuadraActionForm.getSistemaEsgotoID()); helper.setBaciaID(inserirQuadraActionForm.getBaciaID()); helper.setDistritoOperacionalID(inserirQuadraActionForm.getDistritoOperacionalID()); helper.setSetorCensitarioID(inserirQuadraActionForm.getSetorCensitarioID()); helper.setZeisID(inserirQuadraActionForm.getZeisID()); helper.setRotaCD(inserirQuadraActionForm.getCodigoRota()); /* * 14/03/2012 * * Adi��o do id da rota no helper para pesquisa */ helper.setRotaID(inserirQuadraActionForm.getRotaID()); // fim da altera��o helper.setIndicadorIncrementoLote(inserirQuadraActionForm.getIndicadorIncrementoLote()); helper.setBairroCD(inserirQuadraActionForm.getBairroID()); helper.setMunicipioID(inserirQuadraActionForm.getMunicipioID()); return helper; } }