package br.com.ec.domain.service;
import java.util.Date;
import java.util.List;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.dto.FormaPagamentoDTO;
import br.com.ec.domain.dto.ParcelaDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaParcelasDTO;
import br.com.ec.domain.model.Parcela;
import br.com.ec.domain.model.Vigencia;
public interface ParcelaService
extends GenericService
<Parcela
> {
List<ParcelaDTO
> consultarParcelas
(ParametrosConsultaParcelasDTO parametrosConsultaParcelasDTO
);
List<ParcelaDTO
> consultarParcelas
(Long sequencialContaBancaria,
Date dataRecebimento,
List<FormaPagamentoDTO
> formasDePagamento
);
List<ParcelaDTO
> consultarParcelas
(Long sequencialContaBancaria,
Date dataRecebimentoInicial,
Date dataRecebimentoFinal,
List<FormaPagamentoDTO
> formasDePagamento
);
List<ParcelaDTO
> consultarParcelas
(String sqlConsulta
);
List<ParcelaDTO
> consultarParcelasAReceber
(Long sequencialContaBancaria,
Date dataRecebimento,
List<FormaPagamentoDTO
> formasDePagamento
);
List<ParcelaDTO
> consultarParcelasRecebidas
(Long sequencialContaBancaria,
Date dataRecebimento,
List<FormaPagamentoDTO
> formasDePagamento
);
List<ParcelaDTO
> consultarParcelasDaPessoaEeCategoriaEeVigencia
(Long sequencialPessoa,
Long sequencialCategoria,
Long sequencialVigencia
);
void receberParcelas
(Date dataConciliacao,
List<ParcelaDTO
> parcelasSelecionadas
);
Double obterValorPassandoParametrosConsulta
(ParametrosConsulta
<Parcela
> parametrosConsulta
);
List<ParcelaDTO
> consultarParcelasPassandoParametrosConsulta
(ParametrosConsulta
<Parcela
> parametrosConsulta
);
void atualizarObservacaoPagamentos
(List<ParcelaDTO
> parcelas
);
void efetuarPagamentoRecebimento
(ParcelaDTO parcelaDTO,
Date dataEfetuar
);
void cadastrarNovaParcelaPelaFrequencia
(Parcela parcela, Vigencia vigencia
);
Boolean verificarPossuiParcelaEmAberta
(Long sequencialConta,
Long sequencialVenda
);
void atualizarValorParcela
(ParcelaDTO parcelaDTO
);
void atualizarCentroDeCustos
(Long sequencialConta,
Long sequencialCentroDeCustos
);
void efetivarConciliacaoAntecipacao
(String sqlAtualizacaoParcelas
);
/*
void cancelarParcela(Parcela entidade);
void receberParcelas(Date dataRecebimento, List<Parcela> parcelasSelecionadas);
void lancarParcela(Parcela parcela);
List<Parcela> consultarParcelas(ParametrosConsultaLancamentosDTO parcelaConsulta);
List<Parcela> consultarParcelasAVencer(Conta conta);
List<Parcela> consultarParcelasDaVenda(Long sequencialVenda);
Boolean verificarPossuiParcelaAbertaParaPagamento(Conta conta);
Boolean verificarPossuiParcela(Venda venda);
Conta gerarParcelas(VendaFormaPagamento vendaFormaPagamento, Conta conta);
Conta gerarParcelasDaVenda(Venda venda, Conta conta);
Conta gerarParcelasDinheiroDaVenda(Venda venda, Conta conta);
Conta gerarParcelasCartaoDaVenda(Venda venda, Conta conta);
List<CartaoDTO> gerarContasDosCartoes(List<VendaFormaPagamento> listaVendaFormaPagamento);
List<CartaoDTO> consultarContasDosCartoes(Date dataInicial, Date dataFinal);
void cadastrarContaComParcelasNaCompra(Compra compra, List<Parcela> listaParcelas);
*/
}