package br.com.ec.infrastructure.repository;
import java.util.Date;
import java.util.List;
import br.com.ec.core.generic.GenericRepository;
import br.com.ec.domain.dto.RankingPedidoDTO;
import br.com.ec.domain.model.Cliente;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Pedido;
import br.com.ec.domain.model.PedidoProduto;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.Venda;
public interface PedidoRepository
extends GenericRepository
<Pedido
> {
Pedido consultarPedidoCompleto
(Pedido pedido
);
Pedido consultarPedidoCompletoDaVenda
(Venda venda
);
List<RankingPedidoDTO
> consultarRankingPedidosNaoAtendidos
(String generoPedidos,
Date dataInicial,
Date dataFinal
);
List<RankingPedidoDTO
> consultarRankingPedidos
(String generoPedidos,
Date dataInicial,
Date dataFinal
);
Integer obterQuantidadePedidosPorSituacao
(String tipoPedido,
String tipoSituacaoPedido
);
Integer obterQuantidadePedidosPorSituacaoEePeriodo
(String tipoPedido,
String tipoSituacaoPedido,
Date dataInicial,
Date dataFinal
);
void excluirHistoricosDoPedido
(Pedido pedido
);
void solicitarEntrarEmContatoCasoExistaPedidoParaLojaSolicitante
(Loja lojaEntrada, Produto produto
);
List<PedidoProduto
> consultarPedidosNaoAtendidos
(Produto produto
);
List<Pedido
> consultarPedidosDoProdutoOuModeloPendentes
(Produto produto
);
List<Pedido
> consultarPedidosDoCliente
(Cliente cliente
);
}