package br.com.ec.domain.service.vendavivo;
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.GenericService;
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.Usuario;
import br.com.ec.domain.model.VendaVivo;
import br.com.ec.domain.model.Vendedor;
public interface VendaVivoService
extends GenericService
<VendaVivo
> {
VendaVivo detalharVendaVivo
(VendaVivo vendaVivo
);
void excluirVendaVivo
(VendaVivo vendaVivo, Usuario usuario
);
void cadastrarVendaVivoPeloPDV
(VendaVivo vendaVivo
);
void alterarVendaVivoPeloPDV
(VendaVivo vendaVivo
);
List<VendaVivo
> consultarVendasVivoDoDia
(Long sequencialLoja,
Date dataVendas
);
Integer obterQuantidadeDeVendasPorLojaEePeriodo
(VendaVivo vendaVivo,
Date dataInicial,
Date dataFinal
);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodo
(Loja loja,
Date dataInicial,
Date dataFinal
);
Double obterValorTotalBrutoDeVendasPorLojaEePeriodo
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivo
);
Integer obterQuantidadeProdutosVendidosPorLojaEePeriodo
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendas
);
List<VendaVivo
> consultarVendasPorDemanda
(ParametrosConsulta
<VendaVivo
> parametrosConsulta,
Integer primeiroRegistro,
Integer tamanhoPagina,
String sortField,
String orderSort,
Map<String,
Object> filters
);
List<VendaVivo
> consultarVendaPorParametros
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendas
);
List<ProdutoVivoDTO
> consultarVendasVivo
(Date dataInicial,
Date dataFinal, Vendedor vendedor,
Integer homologado
);
List<VendasDTO
> consultarVendas
(ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivoDTO
);
}