package gcom.gui.atendimentopublico.registroatendimento; import gcom.cadastro.geografico.Bairro; import gcom.cadastro.geografico.BairroArea; import gcom.cadastro.geografico.FiltroBairro; import gcom.cadastro.geografico.FiltroBairroArea; 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.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Descri��o da classe * * @author R�mulo Aur�lio * @date 21/08/2006 */ public class ExibirConsultarProgramacaoAbastecimentoManutencaoAction extends GcomAction { /** * Este caso de uso permite a programa�ao de abastecimento e manutencao de * uma determinada �rea de bairro * * [UC0440] Consultar Programa��o de Abastecimento e Manuten��o * * * @author R�mulo Aur�lio * @date 21/08/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("programacaoAbastecimentoManutencaoConsultar"); ConsultarProgramacaoAbastecimentoManutencaoActionForm consultarProgramacaoAbastecimentoManutencaoActionForm = (ConsultarProgramacaoAbastecimentoManutencaoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a String areaBairro = null; String idBairro = null; String codigoDigitadoMunicipioEnter = null; if (httpServletRequest.getParameter("mesAnoReferencia") == null) { String ano; String mes; Date dataCorrente = new Date(); String dataCorrenteTexto = Util.formatarData(dataCorrente); ano = dataCorrenteTexto.substring(6, 10); mes = dataCorrenteTexto.substring(3, 5); consultarProgramacaoAbastecimentoManutencaoActionForm .setMesAnoReferencia(mes + "/" + ano); } String tela = (String) httpServletRequest.getParameter("tela"); if (tela != null && !tela.equalsIgnoreCase("")) { consultarProgramacaoAbastecimentoManutencaoActionForm .setMunicipio(""); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeMunicipio(""); consultarProgramacaoAbastecimentoManutencaoActionForm.setBairro(""); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeBairro(""); consultarProgramacaoAbastecimentoManutencaoActionForm .setAreaBairro("-1"); Collection<BairroArea> colecaoBairroArea = new ArrayList(); httpServletRequest.setAttribute("colecaoBairroArea", colecaoBairroArea); } else { // [FS0001]- Verificar exist�ncia do munic�pio if (httpServletRequest.getParameter("idMunicipio") != null) { codigoDigitadoMunicipioEnter = (String) httpServletRequest .getParameter("idMunicipio"); } else { codigoDigitadoMunicipioEnter = (String) consultarProgramacaoAbastecimentoManutencaoActionForm .getMunicipio(); } if (httpServletRequest.getParameter("codigoBairro") != null) { idBairro = (String) httpServletRequest .getParameter("codigoBairro"); } else { idBairro = consultarProgramacaoAbastecimentoManutencaoActionForm .getBairro(); } if (httpServletRequest.getParameter("tipoConsulta") != null) { if (httpServletRequest.getParameter("tipoConsulta").equals( "municipio")) { consultarProgramacaoAbastecimentoManutencaoActionForm .setMunicipio(httpServletRequest .getParameter("idCampoEnviarDados")); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeMunicipio(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } // Verifica se o tipo da consulta de cliente � de bairro // se for os parametros de enviarDadosParametros ser�o mandados // para // a pagina cliente_pesuisar.jsp if (httpServletRequest.getParameter("tipoConsulta").equals( "bairro")) { consultarProgramacaoAbastecimentoManutencaoActionForm .setBairro(httpServletRequest .getParameter("idCampoEnviarDados")); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeBairro(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } } // ****Parte relativa ao campo �rea de Bairro****** if (idBairro == null || idBairro.equalsIgnoreCase("")) { Collection<BairroArea> colecaoBairroArea = new ArrayList(); httpServletRequest.setAttribute("colecaoBairroArea", colecaoBairroArea); } // *************************************************** String menu = (String) httpServletRequest.getParameter("menu"); if (menu == null || !menu.equals("sim")) { if (areaBairro == null) { consultarProgramacaoAbastecimentoManutencaoActionForm .setAreaBairro(""); } else { consultarProgramacaoAbastecimentoManutencaoActionForm .setAreaBairro(areaBairro); } // Verifica se o c�digo foi digitado if (codigoDigitadoMunicipioEnter != null && !codigoDigitadoMunicipioEnter.trim().equals("") && Integer.parseInt(codigoDigitadoMunicipioEnter) > 0) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.ID, codigoDigitadoMunicipioEnter)); filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection municipioEncontrado = fachada.pesquisar( filtroMunicipio, Municipio.class.getName()); if (municipioEncontrado != null && !municipioEncontrado.isEmpty()) { // O municipio foi encontrado Municipio municipio = (Municipio) municipioEncontrado .iterator().next(); consultarProgramacaoAbastecimentoManutencaoActionForm .setMunicipio(municipio.getId().toString()); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeMunicipio(municipio.getNome()); // httpServletRequest.setAttribute("municipioNaoEncontrado", // "true"); } else { consultarProgramacaoAbastecimentoManutencaoActionForm .setMunicipio(""); httpServletRequest.setAttribute( "municipioNaoEncontrado", "exception"); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeMunicipio("Munic�pio inexistente"); } } // [FS0003]- Verificar exist�ncia do bairro // C�digo do Bairro String codigoDigitadoBairroEnter = null; if (httpServletRequest.getParameter("codigoBairro") != null) { codigoDigitadoBairroEnter = (String) httpServletRequest .getParameter("codigoBairro"); } else { codigoDigitadoBairroEnter = (String) consultarProgramacaoAbastecimentoManutencaoActionForm .getBairro(); } // Verifica se o c�digo foi digitado if (codigoDigitadoBairroEnter != null && !codigoDigitadoBairroEnter.trim().equals("") && Integer.parseInt(codigoDigitadoBairroEnter) > 0) { FiltroBairro filtroBairro = new FiltroBairro(); filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.CODIGO, codigoDigitadoBairroEnter)); filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Adiciona a busca por munic�pio se ele foi digitado na // p�gina if (codigoDigitadoMunicipioEnter != null && !codigoDigitadoMunicipioEnter .equalsIgnoreCase("")) { filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.MUNICIPIO_ID, codigoDigitadoMunicipioEnter)); } Collection bairroEncontrado = fachada.pesquisar( filtroBairro, Bairro.class.getName()); if (bairroEncontrado != null && !bairroEncontrado.isEmpty()) { // O bairro foi encontrado Bairro bairro = (Bairro) bairroEncontrado.iterator() .next(); consultarProgramacaoAbastecimentoManutencaoActionForm .setBairro("" + bairro.getCodigo()); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeBairro(bairro.getNome()); // ****Parte relativa ao campo �rea de Bairro****** FiltroBairroArea filtroBairroArea = new FiltroBairroArea(); filtroBairroArea .adicionarParametro(new ParametroSimples( FiltroBairroArea.ID_BAIRRO, bairro .getId().toString())); Collection<BairroArea> colecaoBairroArea = fachada .pesquisar(filtroBairroArea, BairroArea.class .getName()); if (colecaoBairroArea == null || colecaoBairroArea.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "Tabela Bairro �rea "); } httpServletRequest.setAttribute("colecaoBairroArea", colecaoBairroArea); // Fim Parte relativa ao campo �rea de Bairro } else { consultarProgramacaoAbastecimentoManutencaoActionForm .setBairro(""); httpServletRequest.setAttribute("bairroNaoEncontrado", "exception"); consultarProgramacaoAbastecimentoManutencaoActionForm .setNomeBairro("Bairro inexistente"); Collection<BairroArea> colecaoBairroArea = new ArrayList(); httpServletRequest.setAttribute("colecaoBairroArea", colecaoBairroArea); } } } } return retorno; } }