package br.com.ec.infrastructure.repository;
import java.util.Date;
import java.util.List;
import java.util.Map;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericRepository;
import br.com.ec.domain.dto.ParametrosConsultaVendasVivoDTO;
import br.com.ec.domain.dto.ProdutoVivoDTO;
import br.com.ec.domain.dto.VendasDTO;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.VendaVivo;
import br.com.ec.domain.model.Vendedor;
public interface VendaVivoRepository
extends GenericRepository
<VendaVivo
> {
VendaVivo detalharVendaVivo
(VendaVivo vendaVivo
);
Integer obterQuantidadeDeVendasPorLojaEePeriodo
(VendaVivo vendaVivo,
Date dataInicial,
Date dataFinal
);
List<VendaVivo
> consultarVendasDoDia
(Long sequencialLoja,
Date data
);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodo
(Loja loja,
Date dataInicial,
Date dataFinal
);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodo
(ParametrosConsultaVendasVivoDTO parametrosConsulta
);
Integer obterQuantidadeProdutosVendidosPorLojaEePeriodo
(ParametrosConsultaVendasVivoDTO parametrosConsulta
);
List<VendaVivo
> consultarVendasPorDemanda
(ParametrosConsulta
<VendaVivo
> parametrosConsulta,
Integer primeiroRegistro,
Integer tamanhoPagina,
String sortField,
String orderSort,
Map<String,
Object> filters
);
List<VendaVivo
> consultarVendaPorParametros
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivo
);
List<ProdutoVivoDTO
> consultarVendasVivo
(Date dataInicial,
Date dataFinal, Vendedor vendedor,
Integer homologado
);
List<VendasDTO
> consultarVendas
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivoDTO
);
}