package gcom.gui.atendimentopublico; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoSituacao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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 Vin�cius Medeiros * @date 14/05/2008 */ public class InserirLigacaoEsgotoSituacaoAction extends GcomAction { /** * Este caso de uso permite a inclus�o de uma Situacao de Ligacao de Esgoto * * [UC0788] Inserir Situacao de Ligacao de Esgoto * * * @author Vin�cius Medeiros * @date 14/05/2008 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o caminho de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirLigacaoEsgotoSituacaoActionForm inserirLigacaoEsgotoSituacaoActionForm = (InserirLigacaoEsgotoSituacaoActionForm) actionForm; // Mudar isso quando houver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); String descricao = inserirLigacaoEsgotoSituacaoActionForm.getDescricao(); String descricaoAbreviado = inserirLigacaoEsgotoSituacaoActionForm.getDescricaoAbreviado(); String volumeMinimoFaturamento = inserirLigacaoEsgotoSituacaoActionForm.getVolumeMinimoFaturamento(); String indicadorExistenciaLigacao = inserirLigacaoEsgotoSituacaoActionForm.getIndicadorExistenciaLigacao(); String indicadorExistenciaRede = inserirLigacaoEsgotoSituacaoActionForm.getIndicadorExistenciaRede(); String indicadorFaturamentoSituacao = inserirLigacaoEsgotoSituacaoActionForm.getIndicadorFaturamentoSituacao(); LigacaoEsgotoSituacao ligacaoEsgotoSituacao = new LigacaoEsgotoSituacao(); Collection colecaoPesquisa = null; // Verifica se o campo Descri��o foi preenchido if (!"".equals(inserirLigacaoEsgotoSituacaoActionForm.getDescricao())) { ligacaoEsgotoSituacao.setDescricao(inserirLigacaoEsgotoSituacaoActionForm .getDescricao()); } else { throw new ActionServletException("atencao.required", null,"Descri��o"); } // Verifica se o campo Descri��o Abreviada foi preenchido if (!"".equals(inserirLigacaoEsgotoSituacaoActionForm.getDescricaoAbreviado())) { ligacaoEsgotoSituacao.setDescricaoAbreviado(inserirLigacaoEsgotoSituacaoActionForm .getDescricaoAbreviado()); } else { throw new ActionServletException("atencao.required", null, "Descri��o Abreviada"); } // Verifica se o campo Volume M�nimo da Situa��o de Liga��o foi preenchido if (volumeMinimoFaturamento == null || volumeMinimoFaturamento.equals("")){ throw new ActionServletException("atencao.required",null,"Volume M�nimo da Situa��o de Liga��o"); }else{ ligacaoEsgotoSituacao.setVolumeMinimoFaturamento(new Integer(volumeMinimoFaturamento)); } // Verifica se o campo Indicador de Exist�ncia de Liga��o foi preenchido if (indicadorExistenciaLigacao == null || indicadorExistenciaLigacao.equals("")){ throw new ActionServletException("atencao.required",null,"Indicador de Exist�ncia de Liga��o"); }else{ ligacaoEsgotoSituacao.setIndicadorExistenciaLigacao(new Short(indicadorExistenciaLigacao)); } // Verifica se o campo Indicador de Exist�ncia de Rede foi preenchido if (indicadorExistenciaRede == null || indicadorExistenciaRede.equals("")){ throw new ActionServletException("atencao.required",null,"Indicador de Exist�ncia de Rede"); }else{ ligacaoEsgotoSituacao.setIndicadorExistenciaRede(new Short(indicadorExistenciaRede)); } // Verifica se o Indicador de Faturamento foi preenchido if (indicadorFaturamentoSituacao == null || indicadorFaturamentoSituacao.equals("")){ throw new ActionServletException("atencao.required",null,"Indicador de Faturamento"); }else{ ligacaoEsgotoSituacao.setIndicadorFaturamentoSituacao(new Short(indicadorFaturamentoSituacao)); } // Ultima altera��o ligacaoEsgotoSituacao.setUltimaAlteracao(new Date()); // Indicador de uso Short iu = 1; ligacaoEsgotoSituacao.setIndicadorUso(iu); FiltroLigacaoEsgotoSituacao filtroLigacaoEsgotoSituacao = new FiltroLigacaoEsgotoSituacao(); filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.DESCRICAO, ligacaoEsgotoSituacao.getDescricao())); colecaoPesquisa = (Collection) fachada.pesquisar(filtroLigacaoEsgotoSituacao, LigacaoEsgotoSituacao.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { // Caso j� tenha uma Situa��o de Liga��o de Esgoto cadastrada throw new ActionServletException( "atencao.ligacao_situacao_esgoto_ja_cadastrada", null, ligacaoEsgotoSituacao .getDescricao()); } else { ligacaoEsgotoSituacao.setDescricao(descricao); ligacaoEsgotoSituacao.setDescricaoAbreviado(descricaoAbreviado); ligacaoEsgotoSituacao.setVolumeMinimoFaturamento(new Integer (volumeMinimoFaturamento)); ligacaoEsgotoSituacao.setIndicadorExistenciaLigacao(new Short (indicadorExistenciaLigacao)); ligacaoEsgotoSituacao.setIndicadorExistenciaRede(new Short (indicadorExistenciaRede)); ligacaoEsgotoSituacao.setIndicadorFaturamentoSituacao(new Short (indicadorFaturamentoSituacao)); Integer idSituacaoEsgotoLigacao = (Integer) fachada.inserir(ligacaoEsgotoSituacao); montarPaginaSucesso(httpServletRequest, "Situa��o de Liga��o de Esgoto " + descricao + " inserida com sucesso.", "Inserir outra Situa��o de Liga��o de Esgoto", "exibirInserirLigacaoEsgotoSituacaoAction.do?menu=sim", "exibirAtualizarLigacaoEsgotoSituacaoAction.do?idRegistroAtualizacao=" + idSituacaoEsgotoLigacao, "Atualizar Situa��o de Liga��o de Esgoto Inserida"); sessao.removeAttribute("InserirLigacaoEsgotoSituacaoActionForm"); return retorno; } } }