package br.com.ec.domain.service.produtodaloja;
import java.util.Date;
import java.util.List;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.ProdutoLoja;
public interface ProdutoLojaService
extends GenericService
<ProdutoLoja
> {
Integer consultarEstoqueProduto
(Produto produto
);
Integer consultarEstoqueProdutoEeLoja
(Produto produto, Loja loja
);
Integer consultarEstoqueModeloEeLoja
(Modelo modelo,
Long sequencialLoja,
String descricaoProduto,
String tipoProduto,
String tipoEstilo,
String genero
);
Integer consultarEstoqueTipoProdutoEeLoja
(String tipoProduto,
Long sequencialLoja
);
void alterarEstoque
(Integer estoque, Produto produto, Loja loja
);
void alterarEstoqueAcrescentandoQuantidadeInformada
(Integer quantidadeAlterar, Produto produto, Loja loja
);
void alterarLocalizacao
(String localizacao, Produto produto, Loja loja
);
List<ProdutoLoja
> consultar
(ProdutoLoja produtoLoja,
Integer primeiroRegistro,
Integer tamanhoPagina
);
ProdutoLoja consultarProdutoLoja
(Produto produto, Loja loja
);
Date consultarDataContagem
(Produto produto, Loja loja
);
void solicitarContagem
(Produto produto, Loja loja,
Boolean contagemObrigatoria
);
void cancelarContagem
(Produto produto, Loja loja
);
Integer obterQuantidadeDeContagens
(Pessoa pessoaContagem,
Date dataInicial,
Date dataFinal
);
Integer obterQuantidadeDeContagens
(Loja loja,
Date dataInicial,
Date dataFinal
);
Integer obterQuantidadeDeAtendimentos
(Pessoa pessoaContagem,
Date dataInicial,
Date dataFinal
);
Integer obterQuantidadeDeAtendimentos
(Loja loja,
Date dataInicial,
Date dataFinal
);
Integer obterQuantidadeEstoqueModelosNaoFavoritos
(String tipoProduto,
Long sequencialLoja
);
}