package gcom.cobranca.contratoparcelamento; import java.math.BigDecimal; import java.util.Collection; import gcom.cobranca.CobrancaDocumentoItem; import gcom.cobranca.CobrancaForma; import gcom.cobranca.bean.ContaValoresHelper; import gcom.faturamento.debito.DebitoACobrar; import gcom.util.ErroRepositorioException; /** * @author Paulo Diniz * @created 18 de mar�o de 2011 */ public interface IRepositorioContratoParcelamento { /** * Pesquisa ContratoParcelamentoRD por numero * * [UC1133] Inserir Resolu��o de Diretoria para Contratos de Parcelamento por Cliente * * * @author Paulo Diniz * @date 16/03/2011 * * @param numero do contrato * @throws ErroRepositorioException */ public ContratoParcelamentoRD pesquisarContratoParcelamentoRDPorNumero(String numero) throws ErroRepositorioException; /** * Pesquisa ContratoParcelamentoRD por id * * [UC1134] Manter Resolu��o de Diretoria para Contratos de Parcelamento por Cliente * * * @author Paulo Diniz * @date 16/03/2011 * * @param numero do contrato * @throws ErroRepositorioException */ public ContratoParcelamentoRD pesquisarContratoParcelamentoRDPorID(Integer id) throws ErroRepositorioException; /** * Verifica Resolu��o de Diretoria associada a um Contrato Parcelamento n�o Encerrado * * [UC1134] Atualizar Resolu��o de Diretoria para Contratos de Parcelamento por Cliente * * * @author Paulo Diniz * @date 10/04/2011 * */ public boolean verificaResolucaoDiretoriaAssociadaContratoParcelamentoNaoEncerrado(Integer id) throws ErroRepositorioException; /** * Verifica Conta Vinculada a um Contrato Parcelamento por Cliente Item * * [UC1143] Consultar Dados do Contrato de Parcelamento por Cliente * * * @author Paulo Diniz * @date 10/05/2011 * */ public boolean verificaContaVinculadaAContratoParcel(Integer idConta, Integer idContrato) throws ErroRepositorioException; /** * Consultar Contrato de Parcelamento por Cliente Com Pagamento jah efetuado * * [UC1143] Consultar Dados do Contrato de Parcelamento por Cliente * * * @author Paulo Diniz * @date 10/05/2011 * */ public boolean verificaContratoParcelComPagamentoFeito(Integer idContrato) throws ErroRepositorioException; /** * Consultar Se Prestacao Ja Esta Paga * * [UC1143] Consultar Dados do Contrato de Parcelamento por Cliente * * * @author Paulo Diniz * @date 10/05/2011 * */ public boolean verificaPrestacaoPaga(Integer idPrestacao) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * Pesquisa os dados do contrato de parcelamento * [FS0003] � Validar contrato * * @author Mariana Victor * @data 03/06/2011 */ public Object[] pesquisarDadosContratoParcelamento(String numeroContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * Pesquisa os dados do contrato de parcelamento * [FS0003] � Validar contrato * * @author Mariana Victor * @data 03/06/2011 */ public Integer pesquisarDadosContratoParcelamentoNumeroParcelasPagas(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * Pesquisa os dados do contrato de parcelamento por cliente * [FS0005] � Verificar exist�ncia de contratos para o cliente * * @author Mariana Victor * @data 03/06/2011 */ public Collection<Object[]> pesquisarDadosContratoParcelamentoPorCliente(Integer idCliente) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * Pesquisa os dados do contrato de parcelamento por cliente * [SB0002] � Informar Dados do Pagamento * * @author Mariana Victor * @data 06/06/2011 */ public Object[] pesquisarDadosContratoParcelamentoPorClienteSelecionado(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 06/06/2011 */ public ContratoParcelamento pesquisarContratoParcelamento(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0005] � Gerar Pagamento Guias Juros de Parcelamento e Guias de Acr�scimos * * Seleciona a guia de juros ou de acr�scimos sobre contrato de parcelamento correspondente � parcela paga * * @author Mariana Victor * @data 06/06/2011 */ public Object[] pesquisarGuiaDeJurosOuComAcrescimos(Integer idContrato, Integer debitoTipo, Integer idPrestacao) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0007] � Gerar Pagamento * * Calcula o valor j� pago para o item * * @author Mariana Victor * @data 06/06/2011 */ public BigDecimal pesquisarValorPagoItem(Integer idContrato, Integer idItem) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0011] � Atualizar Item da Negativa��o * * Verifica se a negativa��o est� exclu�da * * @author Mariana Victor * @data 07/06/2011 */ public Integer pesquisarCodigoExclusaoNegativacao(Integer idItemNegativacao) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa itens de d�bito com valor pago a menor * * @author Mariana Victor * @data 07/06/2011 */ public Object[] pesquisarItemDebitoValorPagoAMenor(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa a conta com valor pago a menor * * @author Mariana Victor * @data 07/06/2011 */ public Object[] pesquisarContaValorPagoAMenor(Integer idItem) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa o valor da menor presta��o * * @author Mariana Victor * @data 07/06/2011 */ public Object[] pesquisarValoMinimoPrestacoes(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa os itens de d�bitos do tipo conta para gera��o de pagamento * * @author Mariana Victor * @data 07/06/2011 */ public Collection<Object[]> pesquisarItensDebitoConta(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0003] � Efetuar Pagamento da Parcela do Contrato de Parcelamento Por Cliente * * 1.8.1. Seleciona as guias de pagamento do contrato, atuais e sem pagamento * * @author Mariana Victor * @data 08/06/2011 */ public Collection<Object[]> pesquisarGuiasPagamentoContratoAtuaisSemPagamento(Integer idContrato) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * Desvincula a guia de pagamento do contrato de parcelamento, * atualizando dados do contrato na tabela cobranca.CONTRATO_PARCEL_ITEM * * @author Mariana Victor * @data 08/06/2011 * * @param * @return void */ public void atualizarContratoParcelamentoItemDesvincularGuiaContrato(String[] idsGuias) throws ErroRepositorioException; /** * [UC1141] Emitir Contrato de Parcelamento por Cliente * * [SB0003] � Emitir Dados do Parcelamento * * Pesquisa se a parcela j� foi paga * * @author Mariana Victor * @data 13/06/2011 */ public Boolean pesquisarParcelaPaga(Integer idPrestacao) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta Os Clientes Vinculados a um ContratoParcelamento * * @author Paulo Diniz * @data 13/06/2011 */ public Boolean removerClientesVinculadosAContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta Os Itens de D�bitos Atuais do Contrato de Parcelamento por Cliente * * @author Paulo Diniz * @data 13/06/2011 */ public Boolean removerItensDebitosVinculadosAContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta as PrestacaoContratoParcelamento vinculadas ao Contrato de Parcelamento por Cliente * * @author Paulo Diniz * @data 13/06/2011 */ public Boolean removerPrestacoesVinculadasAContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta as Guias de Pagamento de 'Acrescimos por Impontualidade' vinculadas ao Contrato de Parcelamento por Cliente * * @author Paulo Diniz * @data 13/06/2011 */ public Boolean removerGuiasDePagtoDeAcrescImpontualidadeVinculadasAContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta as Guias de Pagamento de 'Juros sobre Contrato' vinculadas ao Contrato de Parcelamento por Cliente * * @author Paulo Diniz * @data 13/06/2011 */ public Boolean removerGuiasDePagtoJurosSobreContratoVinculadasAContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Consulta o id da RD relacionada ao contrato de parcelamento * * @author Mariana Victor * @data 29/06/2011 */ public Integer pesquisarRDContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Consulta os dados das contas vinculadas ao contrato de parcelamento * * @author Mariana Victor * @data 02/07/2011 */ public Collection<ContaValoresHelper> pesquisarDadosDasContasContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * [FS0008] � Verificar exist�ncia do contrato anterior * * @author Mariana Victor * @data 08/07/2011 */ public Boolean verificarExistenciaContratoAnterior(String numeroContratoAnterior) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * [FS0037] - Verificar situa��o do contrato anterior * * Retorna a situa��o de parcelamento do contrato * * @author Mariana Victor * @data 08/07/2011 */ public Boolean verificarSituacaoContratoAnterior(String numeroContratoAnterior) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa o d�bito a cobrar com valor pago a menor * * @author Mariana Victor * @data 21/07/2011 */ public Object[] pesquisarDebitoACobrarValorPagoAMenor(Integer idItem) throws ErroRepositorioException; /** * [UC1146] Informar Pagamento Contrato de Parcelamento por Cliente * * [SB0006] � Gerar Pagamento para Itens de D�bito do Contrato * * Pesquisa os itens de d�bitos do tipo d�bito a cobrar para gera��o de pagamento * * @author Mariana Victor * @data 21/07/2011 */ public Collection<Object[]> pesquisarItensDebitoACobrar(Integer idContrato) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Consulta os dados dos d�bitos a cobrar vinculados ao contrato de parcelamento * * @author Mariana Victor * @data 26/07/2011 */ public Collection<DebitoACobrar> pesquisarDadosDosDebitosACobrarContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC0184] Manter D�bito A Cobrar * * Verifica se o d�bito a cobrar est� vinculado a um Contrato Parcelamento por Cliente * * @author Mariana Victor * @date 28/07/2011 */ public boolean verificaDebitoACobrarVinculadoContratoParcelamentoCliente(Integer idDebitoACobrar) throws ErroRepositorioException; /** * [UC1201] Emitir Extrato de Contrato de Parcelamento por Cliente * * 1. O sistema obt�m os dados do contrato de parcelamento por cliente * * @author Mariana Victor * @data 30/07/2011 */ public ContratoParcelamento obterDadosContratoParcelamento(String numeroContratoParcelamento) throws ErroRepositorioException; /** * [UC1201] Emitir Extrato de Contrato de Parcelamento por Cliente * * 2.2. Dados do Parcelamento * * @author Mariana Victor * @data 30/07/2011 */ public Collection<PrestacaoContratoParcelamento> obterDadosPrestacoesContratoParcelamento(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1201] Emitir Extrato de Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 30/07/2011 */ public CobrancaDocumentoItem obterDocumentoCobrancaPrestacao(Integer idPrestacao) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta o Documento de Cobran�a vinculado ao Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 01/08/2011 */ public Boolean removerDocumentoCobrancaVinculadoAContratoParcelamento(Integer idDocumentoCobranca) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * Deleta os Itens de Documento de Cobran�a vinculados ao Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 01/08/2011 */ public Boolean removerItemDocumentoCobrancaVinculadoAContratoParcelamento(Integer idItem) throws ErroRepositorioException; /** * [UC1136] Inserir Contrato de Parcelamento por Cliente * * Retorna os dados do d�bito a cobrar caso exista algum pagamento para o mesmo. * * @author Mariana Victor * @data 03/08/2011 */ public Object[] obterDadosDebitoACobrarPagoAMenor(Integer idDebitoACobrar) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 05/08/2011 */ public ContratoParcelamento pesquisarContratoParcelamentoCompleto(Integer idContrato, String numeroContrato) throws ErroRepositorioException; /** * [UC1201] Emitir Extrato de Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 06/08/2011 */ public Integer pesquisarIdClientecontrato(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1140] Cancelar Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 06/08/2011 */ public ContratoParcelamentoCliente pesquisarClienteContrato(Integer idContratoParcelamento) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 12/08/2011 */ public ContratoParcelamentoCliente pesquisarClienteContrato(Integer idContratoParcelamento, Integer idCliente) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 15/08/2011 */ public Collection<ContratoParcelamentoCliente> pesquisarClienteContrato( Integer idContratoParcelamento, Short indicadorClienteSuperior) throws ErroRepositorioException; /** * [UC1141] Emitir Contrato de Parcelamento por Cliente * * @author Mariana Victor * @created 29/08/2011 * * @param idContratoParcelamento * @exception ErroRepositorioException */ public Collection<ContratoParcelamentoItem> pesquisarContratoParcelamentoItem( Integer idContratoParcelamento, Integer idDocumentoTipo) throws ErroRepositorioException; /** * [UC1139] Atualizar Contrato de Parcelamento por Cliente * * @author Mariana Victor * @data 13/09/2011 */ public CobrancaForma pesquisarFormaPagamentoRD( Integer idRD) throws ErroRepositorioException; }