package gcom.atendimentopublico.ligacaoagua; import gcom.atendimentopublico.bean.IntegracaoComercialHelper; import gcom.atendimentopublico.ligacaoagua.bean.DadosEfetuacaoCorteLigacaoAguaHelper; import gcom.atendimentopublico.ordemservico.ControladorOrdemServicoLocal; import gcom.atendimentopublico.ordemservico.ControladorOrdemServicoLocalHome; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.ServicoTipo; import gcom.cadastro.imovel.ControladorImovelLocal; import gcom.cadastro.imovel.ControladorImovelLocalHome; import gcom.cadastro.imovel.Imovel; import gcom.interceptor.RegistradorOperacao; import gcom.micromedicao.ControladorMicromedicaoLocal; import gcom.micromedicao.ControladorMicromedicaoLocalHome; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import gcom.seguranca.transacao.ControladorTransacaoLocal; import gcom.seguranca.transacao.ControladorTransacaoLocalHome; import gcom.util.ConstantesJNDI; import gcom.util.ConstantesSistema; import gcom.util.ControladorException; import gcom.util.ControladorUtilLocal; import gcom.util.ControladorUtilLocalHome; import gcom.util.ErroRepositorioException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; import javax.ejb.CreateException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; /** * Defini��o da l�gica de neg�cio do Session Bean de ControladorLigacaoAgua * * @author Leonardo Regis * @date 09/09/2006 */ public class ControladorLigacaoAguaSEJB implements SessionBean { private static final long serialVersionUID = 1L; SessionContext sessionContext; private IRepositorioLigacaoAgua repositorioLigacaoAgua = null; /** * @exception CreateException */ public void ejbCreate() throws CreateException { repositorioLigacaoAgua = RepositorioLigacaoAguaHBM.getInstancia(); } /** */ public void ejbRemove() { } /** */ public void ejbActivate() { } /** */ public void ejbPassivate() { } /** * Seta o valor de sessionContext * * @param sessionContext * O novo valor de sessionContext */ public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } /** * Retorna o valor de controladorUtil * * @return O valor de controladorUtil */ private ControladorUtilLocal getControladorUtil() { ControladorUtilLocalHome localHome = null; ControladorUtilLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorUtilLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_UTIL_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Retorna o valor do ControladorMicromedicao * * @author Leonardo Regis * @date 20/07/2006 * * @return O valor de controladorMicromedicao */ private ControladorMicromedicaoLocal getControladorMicromedicao() { ControladorMicromedicaoLocalHome localHome = null; ControladorMicromedicaoLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorMicromedicaoLocalHome) locator .getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_MICROMEDICAO_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Retorna o valor do ControladorOrdemServico * * @author Leonardo Regis * @date 23/09/2006 * * @return O valor de ControladorOrdemServico */ private ControladorOrdemServicoLocal getControladorOrdemServico() { ControladorOrdemServicoLocalHome localHome = null; ControladorOrdemServicoLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorOrdemServicoLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_ORDEM_SERVICO_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Retorna o valor do ControladorImovel * * @author Leonardo Regis * @date 20/07/2006 * * @return O valor de controladorMicromedicao */ private ControladorImovelLocal getControladorImovel() { ControladorImovelLocalHome localHome = null; ControladorImovelLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorImovelLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_IMOVEL_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Faz o controle de concorrencia de ligacao Agua * * @author Rafael Pinto * @throws ControladorException */ private void verificarLigacaoAguaControleConcorrencia( LigacaoAgua ligacaoAgua) throws ControladorException { FiltroLigacaoAgua filtroLigacaoAgua = new FiltroLigacaoAgua(); filtroLigacaoAgua.adicionarParametro(new ParametroSimples( FiltroLigacaoAgua.ID, ligacaoAgua.getId())); Collection colecaoLigacao = getControladorUtil().pesquisar( filtroLigacaoAgua, LigacaoAgua.class.getName()); if (colecaoLigacao == null || colecaoLigacao.isEmpty()) { sessionContext.setRollbackOnly(); throw new ControladorException("atencao.atualizacao.timestamp"); } LigacaoAgua ligacaoAguaAtual = (LigacaoAgua) Util .retonarObjetoDeColecao(colecaoLigacao); if (ligacaoAguaAtual.getUltimaAlteracao().after( ligacaoAgua.getUltimaAlteracao())) { sessionContext.setRollbackOnly(); throw new ControladorException("atencao.atualizacao.timestamp"); } } /** * [UC0463] Atualizar Consumo M�nimo de Liga��o �gua * * Este m�todo se destina a validar todas as situa��es e particularidades da * atualiza��o do consumo m�nimo da liga��o de agua * * @author Leonardo Regis * @date 30/08/2006 * * @param OrdemServico * @param veioEncerrarOS */ public void validarExibirAtualizarConsumoMinimoLigacaoAgua( OrdemServico ordemServico, boolean veioEncerrarOS) throws ControladorException { /* * Caso o SERVICO_TIPO da ordem de servi�o recebida esteja associado a opera��o * EFETUAR ATUALIZACAO CONSUMO MINIMO LIGACAO AGUA, n�o ser� necess�rio realizar as valida��es abaixo. * * Autor: Raphael Rossiter * Data: 26/04/2007 * */ Integer idOperacao = this.getControladorOrdemServico() .pesquisarServicoTipoOperacao(ordemServico.getServicoTipo().getId()); if (idOperacao == null || idOperacao.intValue() != Operacao.OPERACAO_CONSUMO_MINIMO_LIGACAO_AGUA_ATUALIZAR_INT){ //[FS0001] Validar Ordem de Servico // Caso 2 if (ordemServico.getServicoTipo().getId().intValue() != ServicoTipo.TIPO_CALCULAR_CONSUMO_MINIMO_AGUA) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.atualizar_consumo_minimo_ligacao_agua_servico"); } } /* * Valida��es j� contidas no m�todo anteriormente * Autor: Raphael Rossiter * Data: 26/04/2007 * * =============================================================================== */ //Caso 3 this.getControladorOrdemServico().validaOrdemServico(ordemServico, veioEncerrarOS); // Caso 4 if (ordemServico.getRegistroAtendimento().getImovel() == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.ordem_servico_ra_imovel_invalida", null, "" + ordemServico.getRegistroAtendimento().getId()); } Imovel imovel = ordemServico.getRegistroAtendimento().getImovel(); // [FS0002] Verificar Situa��o do Imovel. if (imovel.getIndicadorExclusao() != null && imovel.getIndicadorExclusao().intValue() != ConstantesSistema.INDICADOR_IMOVEL_ATIVO) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.atualizar_imovel_situacao_invalida", null, imovel .getId().toString()); } if (imovel.getLigacaoAgua() == null) { sessionContext.setRollbackOnly(); throw new ControladorException("atencao.naocadastrado", null, "Liga��o de �gua"); } /* * =================================================================================== */ } /** * [UC0463] Atualizar Consumo M�nimo de Liga��o de �gua * * [FS004] Validar Consumo M�nimo * * @author Leonardo Regis * @date 30/08/2006 * * @param imovel */ public void validarConsumoMinimoLigacaoAgua(Imovel imovel) throws ControladorException { // Valida��es da liga��o de �gua if (imovel.getLigacaoAgua() != null) { // [UC105] Obter Consumo M�nimo da Liga��o int volumeObtido = getControladorMicromedicao() .obterConsumoMinimoLigacao(imovel, null); if (imovel.getLigacaoAgua().getNumeroConsumoMinimoAgua().intValue() < volumeObtido) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.atualizar_situacao_consumo_minimo_fixado_menor_minimo", null, volumeObtido + ""); } } else { // Se entrar aqui significa que a base est� inconsistente. sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.atualizar_consumo_minimo_ligacao_agua_invalida", null, imovel.getId().toString()); } } /** * [UC0463] Atualizar Consumo M�nimo da Liga��o de �gua * * [SB0001] Atualizar Liga��o de �gua. * * @author Leonardo Regis * @date 30/08/2006 * * @param ligacaoAgua * @throws ControladorException */ public void atualizarConsumoMinimoLigacaoAgua( IntegracaoComercialHelper integracaoComercialHelper) throws ControladorException { LigacaoAgua ligacaoAgua = integracaoComercialHelper.getLigacaoAgua(); ligacaoAgua.setUltimaAlteracao(new Date()); this.verificarLigacaoAguaControleConcorrencia(ligacaoAgua); try { // Inicio Registrar Transa��o RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_CONSUMO_MINIMO_LIGACAO_AGUA_ATUALIZAR, ligacaoAgua.getId(), ligacaoAgua.getId(), new UsuarioAcaoUsuarioHelper(integracaoComercialHelper.getUsuarioLogado(), UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao.registrarOperacao(ligacaoAgua); getControladorTransacao().registrarTransacao(ligacaoAgua); // Fim Registrar Transa��o // Atualizar Tabela Liga��o de �gua com novo valor de consumo m�nimo repositorioLigacaoAgua .atualizarConsumoMinimoLigacaoAgua(ligacaoAgua); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * * Este m�todo se destina a validar todas as situa��es e particularidades do * corte liga��o de agua * * @author Rafael Pinto * @date 25/07/2006 * * @param OrdemServico */ public void validarExibirCorteLigacaoAgua(OrdemServico ordemServico, boolean veioEncerrarOS) throws ControladorException { /* * Caso o SERVICO_TIPO da ordem de servi�o recebida esteja associado a opera��o * EFETUAR CORTE LIGA��O DE �GUA, n�o ser� necess�rio realizar as valida��es abaixo. * * Autor: Raphael Rossiter * Data: 26/04/2007 * */ Integer idOperacao = this.getControladorOrdemServico() .pesquisarServicoTipoOperacao(ordemServico.getServicoTipo().getId()); if (idOperacao == null || idOperacao.intValue() != Operacao.OPERACAO_CORTE_LIGACAO_AGUA_EFETUAR_INT){ //[FS0001] Validar Ordem de Servico // Caso 2 if (ordemServico.getServicoTipo().getId().intValue() != ServicoTipo.TIPO_CORTE_LIGACAO_AGUA) { throw new ControladorException( "atencao.servico_associado_corte_ligacao_agua_invalida"); } } /* * Valida��es j� contidas no m�todo anteriormente * Autor: Raphael Rossiter * Data: 26/04/2007 * * =============================================================================== */ //Caso 3 // this.getControladorOrdemServico().validaOrdemServico(ordemServico,veioEncerrarOS); this.getControladorOrdemServico().validaOrdemServicoDiasAditivoPrazo(ordemServico,veioEncerrarOS); // Caso 4 // Comentado por Raphael Rossiter em 26/02/2007 /*if (ordemServico.getRegistroAtendimento().getImovel() == null) { throw new ControladorException( "atencao.ordem_servico_ra_imovel_invalida", null, "" + ordemServico.getRegistroAtendimento().getId()); }*/ if (ordemServico.getImovel() == null) { throw new ControladorException( "atencao.ordem_servico_imovel_invalido"); } //Imovel imovel = ordemServico.getRegistroAtendimento().getImovel(); Imovel imovel = ordemServico.getImovel(); // [FS0002] Verificar Situa��o do Imovel. if (imovel.getIndicadorExclusao() != null && imovel.getIndicadorExclusao().intValue() != ConstantesSistema.INDICADOR_IMOVEL_ATIVO) { throw new ControladorException( "atencao.atualizar_imovel_situacao_invalida", null, imovel .getId().toString()); } if (imovel.getLigacaoAgua() == null) { throw new ControladorException("atencao.naocadastrado", null, "Liga��o de �gua"); } // [FS0003] Verificar a situa��o de �gua int idLigacaoAguaSituacao = imovel.getLigacaoAguaSituacao().getId().intValue(); if (idLigacaoAguaSituacao != LigacaoAguaSituacao.LIGADO.intValue() && idLigacaoAguaSituacao != LigacaoAguaSituacao.LIGADO_EM_ANALISE.intValue()) { throw new ControladorException( "atencao.situacao_agua_imovel_invaliga", null, imovel .getLigacaoAguaSituacao().getDescricao() + ""); } /* * =================================================================================== */ } /** * [UC0355] Efetuar Corte de Liga��o de �gua. * * @author Leonardo Regis. * @date 25/09/2006 * * @param helper * @throws ControladorException */ public void efetuarCorteLigacaoAgua( IntegracaoComercialHelper integracaoComercialHelper) throws ControladorException { DadosEfetuacaoCorteLigacaoAguaHelper helper = integracaoComercialHelper .getDadosEfetuacaoCorteLigacaoAguaHelper(); this.getControladorImovel().verificarImovelControleConcorrencia( helper.getImovel()); LigacaoAgua ligacaoAgua = helper.getImovel().getLigacaoAgua(); this.verificarLigacaoAguaControleConcorrencia(ligacaoAgua); /* * [UC0107] Registrar Transa��o * */ RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_CORTE_LIGACAO_AGUA_EFETUAR, ligacaoAgua.getId(), ligacaoAgua.getId(), new UsuarioAcaoUsuarioHelper(integracaoComercialHelper.getUsuarioLogado(), UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao.registrarOperacao(ligacaoAgua); getControladorTransacao().registrarTransacao(ligacaoAgua); try { // Efetuar Corte Liga��o de �gua repositorioLigacaoAgua.efetuarCorteLigacaoAgua(helper); if (!helper.isVeioEncerrarOS()) { this.getControladorOrdemServico().atualizaOSGeral( helper.getOrdemServico()); } if (helper.getOrdemServico().getServicoTipo().getDebitoTipo() != null && (helper.getOrdemServico().getServicoNaoCobrancaMotivo() == null || helper .getOrdemServico().getServicoNaoCobrancaMotivo() .getId().intValue() == ConstantesSistema.NUMERO_NAO_INFORMADO)) { // Gerar D�bito OS this.getControladorOrdemServico().gerarDebitoOrdemServico( helper.getOrdemServico().getId(), helper.getOrdemServico().getServicoTipo().getDebitoTipo().getId(), helper.getOrdemServico().getValorAtual(), helper.getQtdeParcelas(), helper.getOrdemServico().getPercentualCobranca().toString(), integracaoComercialHelper.getUsuarioLogado()); } } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0369] Efetuar Corte Administrativo Liga��o de Agua * * @author Thiago Ten�rio * @date 30/06/2006 * * @param helper * @throws ControladorException */ public void efetuarCorteAdministrativoLigacaoAgua( DadosEfetuacaoCorteLigacaoAguaHelper helper, Usuario usuario) throws ControladorException { this.verificarLigacaoAguaControleConcorrencia(helper.getLigacaoAgua()); /* * [UC0107] Registrar Transa��o */ RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_CORTE_ADMINISTRATIVO_LIGACAO_AGUA_EFETUAR, helper.getLigacaoAgua().getId(), helper.getLigacaoAgua().getId(), new UsuarioAcaoUsuarioHelper(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao.registrarOperacao(helper.getLigacaoAgua()); getControladorTransacao().registrarTransacao(helper.getLigacaoAgua()); // [UC0107] -Fim- Registrar Transa��o try { // Efetuar Corte Liga��o de �gua repositorioLigacaoAgua .efetuarCorteAdministrativoLigacaoAgua(helper); if (!helper.isVeioEncerrarOS()) { this.getControladorOrdemServico().atualizaOSGeral( helper.getOrdemServico()); } if (helper.getOrdemServico().getServicoTipo().getDebitoTipo() != null && (helper.getOrdemServico().getServicoNaoCobrancaMotivo() == null || helper .getOrdemServico().getServicoNaoCobrancaMotivo() .getId().intValue() == ConstantesSistema.NUMERO_NAO_INFORMADO)) { // Gerar D�bito OS this.getControladorOrdemServico().gerarDebitoOrdemServico( helper.getOrdemServico().getId(), helper.getOrdemServico().getServicoTipo() .getDebitoTipo().getId(), helper.getOrdemServico().getValorAtual(), helper.getQtdeParcelas(), helper.getOrdemServico().getPercentualCobranca().toString(), usuario); } } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0463] Efetuar Restabelecimento da Liga��o de �gua * * [SB0001] Atualizar Im�vel/Liga��o �gua * * @author Fl�vio Cordeiro * @date 28/09/2006 * * @param ligacaoAgua * @exception ErroRepositorioExceptions */ public void atualizarLigacaoAguaRestabelecimento(LigacaoAgua ligacaoAgua) throws ControladorException { try { repositorioLigacaoAgua .atualizarLigacaoAguaRestabelecimento(ligacaoAgua); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0357] Efetuar Religa��o de �gua * * [SB0001] Atualizar Im�vel/Liga��o �gua * * @author Fl�vio Cordeiro * @date 28/09/2006 * * @param ligacaoAgua * @exception ErroRepositorioExceptions */ public void atualizarLigacaoAguaReligacao(LigacaoAgua ligacaoAgua) throws ControladorException { try { repositorioLigacaoAgua.atualizarLigacaoAguaReligacao(ligacaoAgua); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0488] Informar Retorno Ordem de Fiscaliza��o * * Recupera os par�metros necess�rios da Ligacao de �gua * (id,dataCorte,dataSupressao) * * @author S�vio Luiz * @date 20/11/2006 * * @param idOS * @return OrdemServico * @throws ControladorException */ public LigacaoAgua recuperaParametrosLigacaoAgua(Integer idImovel) throws ControladorException { LigacaoAgua ligacaoAgua = null; if (idImovel != null) { try { Object[] parmsLigacaoAgua = repositorioLigacaoAgua .pesquisarParmsLigacaoAgua(idImovel); if (parmsLigacaoAgua != null) { ligacaoAgua = new LigacaoAgua(); // id liga��o de agua if (parmsLigacaoAgua[0] != null) { ligacaoAgua.setId((Integer) parmsLigacaoAgua[0]); } // data corte if (parmsLigacaoAgua[1] != null) { ligacaoAgua.setDataCorte((Date) parmsLigacaoAgua[1]); } // data supressao if (parmsLigacaoAgua[2] != null) { ligacaoAgua .setDataSupressao((Date) parmsLigacaoAgua[2]); } } } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } return ligacaoAgua; } /** * * Pesquisa o id do hidrometro * * @author S�vio Luiz * @date 19/02/2007 * * @param idOS * @return OrdemServico * @throws ControladorException */ public Integer pesquisarIdHidrometroInstalacaoHistorico(Integer idImovel) throws ControladorException { try { return repositorioLigacaoAgua .pesquisarIdHidrometroInstalacaoHistorico(idImovel); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0054] - Inserir Dados da Tarifa Social * * Recupera o consumo m�nimo fixado do Im�vel * * @author Rafael Corr�a * @date 04/0/2006 * * @param idImovel * @return Integer * @throws ControladorException */ public Integer pesquisarConsumoMinimoFixado(Integer idImovel) throws ControladorException { try { return repositorioLigacaoAgua .pesquisarConsumoMinimoFixado(idImovel); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } public Collection verificaExistenciaLigacaoAgua(Integer idImovel){ Collection retorno = null; try { retorno = repositorioLigacaoAgua.verificaExistenciaLigacaoAgua(idImovel); } catch (ErroRepositorioException e) { e.printStackTrace(); } return retorno; } private ControladorTransacaoLocal getControladorTransacao() { ControladorTransacaoLocalHome localHome = null; ControladorTransacaoLocal local = null; ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorTransacaoLocalHome) locator.getLocalHome(ConstantesJNDI.CONTROLADOR_TRANSACAO_SEJB); local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * [UC0113] - Faturar Grupo de Faturamento * * [SB0001 - Determinar Faturamento para o Im�vel] * * @author Raphael Rossiter * @date 04/06/2008 * * @param idLigacaoAguaSituacao * @param idConsumoTipo * @return LigacaoAguaSituacaoConsumoTipo * @throws ControladorException */ public LigacaoAguaSituacaoConsumoTipo pesquisarLigacaoAguaSituacaoConsumoTipo(Integer idLigacaoAguaSituacao, Integer idConsumoTipo) throws ControladorException{ try { return repositorioLigacaoAgua.pesquisarLigacaoAguaSituacaoConsumoTipo( idLigacaoAguaSituacao, idConsumoTipo); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * * Atualiza o tipo de corte * * Autor: Hugo Amorim * * Data: 18/05/2009 */ public void atualizarTipoCorte(IntegracaoComercialHelper helper) throws ControladorException{ LigacaoAgua ligacaoAgua = helper.getLigacaoAgua(); this.verificarLigacaoAguaControleConcorrencia(ligacaoAgua); this.getControladorImovel().verificarImovelControleConcorrencia(helper.getImovel()); try { // Efetuar Corte Liga��o de �gua repositorioLigacaoAgua.atualizarTipoCorte(helper); if (!helper.isVeioEncerrarOS()) { this.getControladorOrdemServico().atualizaOSGeral( helper.getOrdemServico()); } if (helper.getOrdemServico().getServicoTipo().getDebitoTipo() != null && (helper.getOrdemServico().getServicoNaoCobrancaMotivo() == null || helper.getOrdemServico().getServicoNaoCobrancaMotivo().getId().intValue() == ConstantesSistema.NUMERO_NAO_INFORMADO)) { // Gerar D�bito OS this.getControladorOrdemServico().gerarDebitoOrdemServico( helper.getOrdemServico().getId(), helper.getOrdemServico().getServicoTipo().getDebitoTipo().getId(), helper.getOrdemServico().getValorAtual(), Integer.parseInt(helper.getQtdParcelas()), helper.getOrdemServico().getPercentualCobranca().toString(), helper.getUsuarioLogado()); } } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * * * @autor: Wellington Rocha * @date: 21/03/2012 * * Pesquisar Situa��es de Liga��o de �gua ativas. * * Gera��o de rotas para recadastramento * * @return Collection * @throws ControladorException * */ public Collection<LigacaoAguaSituacao> pesquisarLigacaoAguaSituacao() throws ControladorException { try { Collection<LigacaoAguaSituacao> colecaoLigacaoAguaSituacao = new ArrayList<LigacaoAguaSituacao>(); Collection colecao = repositorioLigacaoAgua.pesquisarLigacaoAguaSituacao(); if (colecao != null && !colecao.isEmpty()) { Iterator colecaoIterator = colecao.iterator(); while (colecaoIterator.hasNext()) { LigacaoAguaSituacao ligacaoAguaSituacao = (LigacaoAguaSituacao) colecaoIterator .next(); colecaoLigacaoAguaSituacao.add(ligacaoAguaSituacao); } } return colecaoLigacaoAguaSituacao; } catch (ErroRepositorioException e) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", e); } } }