package gcom.gui.cobranca; import java.util.Collection; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoSituacao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.atendimentopublico.ordemservico.FiltroServicoTipo; import gcom.atendimentopublico.ordemservico.ServicoTipo; import gcom.cobranca.CobrancaAcao; import gcom.cobranca.CobrancaCriterio; import gcom.cobranca.DocumentoTipo; import gcom.cobranca.FiltroCobrancaAcao; import gcom.cobranca.FiltroCobrancaCriterio; import gcom.cobranca.FiltroDocumentoTipo; 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 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; /** * Pre- processamento para inserir o criterio da cobran�a * * @author S�vio Luiz * @date 17/04/2006 */ public class ExibirInserirAcaoCobrancaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping .findForward("inserirAcaoCobranca"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); AcaoCobrancaActionForm acaoCobrancaActionForm = (AcaoCobrancaActionForm) actionForm; if (httpServletRequest.getParameter("menu") != null && !httpServletRequest.getParameter("menu").equals("")) { acaoCobrancaActionForm.setDescricaoAcao(""); acaoCobrancaActionForm.setDescricaoCobrancaCriterio(""); acaoCobrancaActionForm.setDescricaoServicoTipo(""); acaoCobrancaActionForm.setIcAcaoObrigatoria(""); acaoCobrancaActionForm.setIcAcrescimosImpontualidade(""); acaoCobrancaActionForm.setIcCompoeCronograma(""); acaoCobrancaActionForm.setIcDebitosACobrar(""); acaoCobrancaActionForm.setIcCreditosARealizar("2"); acaoCobrancaActionForm.setIcNotasPromissoria("2"); acaoCobrancaActionForm.setIcEmitirBoletimCadastro(""); acaoCobrancaActionForm.setIcGeraTaxa(""); acaoCobrancaActionForm.setIcImoveisSemDebitos(""); acaoCobrancaActionForm.setIcRepetidaCiclo(""); acaoCobrancaActionForm.setIcSuspensaoAbastecimento(""); acaoCobrancaActionForm.setIdAcaoPredecessora(""); acaoCobrancaActionForm.setIdCobrancaCriterio(""); acaoCobrancaActionForm.setIdServicoTipo(""); acaoCobrancaActionForm.setIdSituacaoLigacaoAgua(""); acaoCobrancaActionForm.setIdSituacaoLigacaoEsgoto(""); acaoCobrancaActionForm.setIdTipoDocumentoGerado(""); acaoCobrancaActionForm.setNumeroDiasEntreAcoes(""); acaoCobrancaActionForm.setNumeroDiasValidade(""); acaoCobrancaActionForm.setOrdemCronograma(""); acaoCobrancaActionForm.setIcMetasCronograma(""); acaoCobrancaActionForm.setIcOrdenamentoCronograma(""); acaoCobrancaActionForm.setIcOrdenamentoEventual(""); acaoCobrancaActionForm.setIcDebitoInterfereAcao(""); acaoCobrancaActionForm.setNumeroDiasRemuneracaoTerceiro(""); // faz as pesquisas obrigat�rias pesquisasObrigatorias(fachada, sessao); } // pesquisa os dados do enter pesquisarEnter(acaoCobrancaActionForm, httpServletRequest, fachada); return retorno; } private void pesquisarEnter(AcaoCobrancaActionForm acaoCobrancaActionForm, HttpServletRequest httpServletRequest, Fachada fachada) { // pesquisa enter de crit�rio de cobran�a if (acaoCobrancaActionForm.getIdCobrancaCriterio() != null && !acaoCobrancaActionForm.getIdCobrancaCriterio().equals("") && (acaoCobrancaActionForm.getDescricaoCobrancaCriterio() == null || acaoCobrancaActionForm .getDescricaoCobrancaCriterio().equals(""))) { FiltroCobrancaCriterio filtroCobrancaCriterio = new FiltroCobrancaCriterio(); try { filtroCobrancaCriterio .adicionarParametro(new ParametroSimples( FiltroCobrancaCriterio.ID, new Integer( acaoCobrancaActionForm .getIdCobrancaCriterio()))); } catch (NumberFormatException ex) { throw new ActionServletException( "atencao.campo_texto.numero_obrigatorio", null, "Crit�rio de Cobran�a"); } filtroCobrancaCriterio .setCampoOrderBy(FiltroCobrancaCriterio.DESCRICAO_COBRANCA_CRITERIO); Collection colecaoCobrancaCriterio = fachada.pesquisar( filtroCobrancaCriterio, CobrancaCriterio.class.getName()); if (colecaoCobrancaCriterio != null && !colecaoCobrancaCriterio.isEmpty()) { CobrancaCriterio cobrancaCriterio = (CobrancaCriterio) Util .retonarObjetoDeColecao(colecaoCobrancaCriterio); acaoCobrancaActionForm .setDescricaoCobrancaCriterio(cobrancaCriterio .getDescricaoCobrancaCriterio()); } else { acaoCobrancaActionForm.setIdCobrancaCriterio(""); acaoCobrancaActionForm .setDescricaoCobrancaCriterio("COBRAN�A CRIT�RIO INEXISTENTE"); } } // pesquisa enter de tipo de servi�o if (acaoCobrancaActionForm.getIdServicoTipo() != null && !acaoCobrancaActionForm.getIdServicoTipo().equals("") && (acaoCobrancaActionForm.getDescricaoServicoTipo() == null || acaoCobrancaActionForm .getDescricaoServicoTipo().equals(""))) { FiltroServicoTipo filtroServicoTipo = new FiltroServicoTipo(); try { filtroServicoTipo.adicionarParametro(new ParametroSimples( FiltroServicoTipo.ID, new Integer( acaoCobrancaActionForm.getIdServicoTipo()))); } catch (NumberFormatException ex) { throw new ActionServletException( "atencao.campo_texto.numero_obrigatorio", null, "Servi�o Tipo"); } filtroServicoTipo.setCampoOrderBy(FiltroServicoTipo.DESCRICAO); Collection colecaoServicoTipo = fachada.pesquisar( filtroServicoTipo, ServicoTipo.class.getName()); if (colecaoServicoTipo != null && !colecaoServicoTipo.isEmpty()) { ServicoTipo servicoTipo = (ServicoTipo) Util .retonarObjetoDeColecao(colecaoServicoTipo); acaoCobrancaActionForm.setDescricaoServicoTipo(servicoTipo .getDescricao()); } else { acaoCobrancaActionForm.setIdServicoTipo(""); acaoCobrancaActionForm .setDescricaoServicoTipo("TIPO DE SERVI�O INEXISTENTE"); } } } private void pesquisasObrigatorias(Fachada fachada, HttpSession sessao) { // pesquisa as a��es predecessoras FiltroCobrancaAcao filtroCobrancaAcao = new FiltroCobrancaAcao(); filtroCobrancaAcao.setCampoOrderBy(FiltroCobrancaAcao.DESCRICAO); filtroCobrancaAcao.adicionarParametro(new ParametroSimples( FiltroCobrancaAcao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoAcaoPredecessora = fachada.pesquisar( filtroCobrancaAcao, CobrancaAcao.class.getName()); if (colecaoAcaoPredecessora == null || colecaoAcaoPredecessora.isEmpty()) { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Cobran�a A��o"); } else { sessao.setAttribute("colecaoAcaoPredecessora", colecaoAcaoPredecessora); } // pesquisa os tipos de documentos FiltroDocumentoTipo filtroDocumentoTipo = new FiltroDocumentoTipo(); filtroDocumentoTipo.setCampoOrderBy(FiltroDocumentoTipo.DESCRICAO); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroDocumentoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoDocumentoTipo = fachada.pesquisar( filtroDocumentoTipo, DocumentoTipo.class.getName()); if (colecaoDocumentoTipo == null || colecaoDocumentoTipo.isEmpty()) { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Documento Tipo"); } else { sessao.setAttribute("colecaoDocumentoTipo", colecaoDocumentoTipo); } // pesquisa as situa��es de liga��es de agua FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao(); filtroDocumentoTipo .setCampoOrderBy(FiltroLigacaoAguaSituacao.DESCRICAO); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoLigacaoAguaSituacao = fachada.pesquisar( filtroLigacaoAguaSituacao, LigacaoAguaSituacao.class.getName()); if (colecaoLigacaoAguaSituacao == null || colecaoLigacaoAguaSituacao.isEmpty()) { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Liga��o Agua Situa��o"); } else { sessao.setAttribute("colecaoLigacaoAguaSituacao", colecaoLigacaoAguaSituacao); } // pesquisa as situa��es de liga��es de agua FiltroLigacaoEsgotoSituacao filtroLigacaoEsgotoSituacao = new FiltroLigacaoEsgotoSituacao(); filtroDocumentoTipo .setCampoOrderBy(FiltroLigacaoEsgotoSituacao.DESCRICAO); filtroDocumentoTipo.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoLigacaoEsgotoSituacao = fachada.pesquisar( filtroLigacaoEsgotoSituacao, LigacaoEsgotoSituacao.class .getName()); if (colecaoLigacaoEsgotoSituacao == null || colecaoLigacaoEsgotoSituacao.isEmpty()) { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Liga��o Esgoto Situa��o"); } else { sessao.setAttribute("colecaoLigacaoEsgotoSituacao", colecaoLigacaoEsgotoSituacao); } } }