package br.com.ec.repository;
import java.util.Date;
import java.util.List;
import br.com.ec.core.generic.GenericRepository;
import br.com.ec.domain.dto.FormaPagamentoDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
import br.com.ec.domain.model.Venda;
public interface VendaRepository
extends GenericRepository
<Venda
> {
Double obterValorTotalBrutoDeVendas
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO
);
Integer obterQuantidadeDeVendas
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO
);
Double obterValorDeCuponsUtilizadosPorLojaEePeriodo
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO
);
Double obterValorTotalBrutoDeVendasPorParametrosEeFormasDePagamento
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO,
List<FormaPagamentoDTO
> formasDePagamento
);
Double obterValorDeMaquinetasPorPessoa
(Long sequencialPessoaMaquineta,
Date dataInicio,
Date dataFim
);
Double obterValorTotalLiquidoDeVendas
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO
);
Double obterValorProdutosUtilizadosEmVendas
(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO
);
/*
Venda detalharVenda(Venda venda);
Venda detalharVendaCompleta(Venda venda);
Integer obterQuantidadeDeVendasPorLojaEePeriodo(Venda venda, Date dataInicial, Date dataFinal);
List<Venda> consultarVendasDoDia(Long sequencialLoja, Date data);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta);
Double obterValorDeCuponsUtilizadosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta);
Double obterValorTotalDeDescontosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodoEeFormasDePagamento(ParametrosConsultaVendasDTO parametrosConsultaVendas, List<FormaPagamento> formasDePagamento);
Integer obterQuantidadeProdutosVendidosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta);
Integer obterQuantidadeProdutosVendidosPorLojaEePeriodoNaoVivo(ParametrosConsultaVendasDTO parametrosConsulta);
List<Venda> consultarVendasPorDemanda(ParametrosConsulta<Venda> parametrosConsulta, Integer primeiroRegistro,
Integer tamanhoPagina, String sortField, String orderSort, Map<String, Object> filters);
List<Venda> consultarVendaPorParametros(ParametrosConsultaVendasDTO parametrosConsultaVendas);
GraficoAcumuladoDTO consultarGrafico(String mes, String ano);
List<RankingProdutoDTO> consultarProdutosVendidos(ParametrosConsultaProdutosVendidosDTO parametrosConsulta);
List<RankingProdutoDTO> consultarProdutosVendidosResumido(ParametrosConsultaProdutosVendidosDTO parametrosConsulta);
List<RankingProdutoDTO> consultarProdutosMaisVendidos(Date dataInicial, Date dataFinal, Integer quantidadeProdutos, String tipoOrdenacao, Long sequencialLoja, String tipoProduto, Produto produto, Marca marca);
List<RankingModeloDTO> consultarModelosMaisVendidos(ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta);
List<VendasDTO> consultarVendas(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO);
Integer obterQuantidadeProdutosVendidosPorEstiloEeGenero(Date dataInicial, Date dataFinal, Long sequencialLoja, Long sequencialModelo, String tipoProduto, String estiloProduto, String tipoGenero);
RankingComprasTransferenciasEstiloDTO consultarEstoqueEeVendasPorEstilo(ParametrosConsultaParaComprasTransferenciasDTO parametrosConsulta, Modelo modelo);
List<RankingComprasTransferenciasEstiloPorLoja> consultarEstoqueEeVendasEstiloPorLoja(ParametrosConsultaParaComprasTransferenciasDTO parametrosParaConsulta, Modelo modelo);
List<RankingProdutoDTO> consultarProdutosParaTransferir(ParametrosConsultaProdutosVendidosDTO parametrosConsulta);
*/
}