package br.com.ec.domain.dto;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.tipos.TipoLancamentoHistorico;
public class ProdutoHistoricoDTO
implements Comparable<ProdutoHistoricoDTO
> {
private Produto produto
;
private String mes
;
private String ano
;
private Double valorTotalVendido
;
private Long quantidadeLancamentos
;
private String tipoLancamento
;
public ProdutoHistoricoDTO
() {}
public ProdutoHistoricoDTO
(Produto produto,
String mes,
String ano,
Double valorTotalVendido,
Long quantidadeLancamentos,
String tipoLancamento
) {
this.
produto = produto
;
this.
mes = mes
;
this.
ano = ano
;
this.
valorTotalVendido = valorTotalVendido
;
this.
quantidadeLancamentos = quantidadeLancamentos
;
this.
tipoLancamento = tipoLancamento
;
}
public Produto getProduto
() {
return produto
;
}
public void setProduto
(Produto produto
) {
this.
produto = produto
;
}
public String getMes
() {
return mes
;
}
public void setMes
(String mes
) {
this.
mes = mes
;
}
public String getAno
() {
return ano
;
}
public void setAno
(String ano
) {
this.
ano = ano
;
}
public Double getValorTotalVendido
() {
return valorTotalVendido
;
}
public void setValorTotalVendido
(Double valorTotalVendido
) {
this.
valorTotalVendido = valorTotalVendido
;
}
public Long getQuantidadeLancamentos
() {
return quantidadeLancamentos
;
}
public void setQuantidadeLancamentos
(Long quantidadeLancamentos
) {
this.
quantidadeLancamentos = quantidadeLancamentos
;
}
public String getTipoLancamento
() {
return tipoLancamento
;
}
public void setTipoLancamento
(String tipoLancamento
) {
this.
tipoLancamento = tipoLancamento
;
}
@
Override
public int compareTo
(ProdutoHistoricoDTO rankingProdutoDTO
) {
return rankingProdutoDTO.
getValorTotalVendido().
compareTo(this.
valorTotalVendido);
}
public String getMesAno
() {
return mes +
"/" + ano
;
}
public String getDescricaoTipoLancamento
() {
return VerificadorUtil.
naoEstaNulo(tipoLancamento
)? TipoLancamentoHistorico.
parse(tipoLancamento
).
getDescricao():
null;
}
public Boolean ehTipoLancamentoHistoricoVendas
() {
return TipoLancamentoHistorico.
VENDAS.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoCompras
() {
return TipoLancamentoHistorico.
COMPRAS.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoAvarias
() {
return TipoLancamentoHistorico.
AVARIAS.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoTrocas
() {
return TipoLancamentoHistorico.
TROCAS.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoDevolucoes
() {
return TipoLancamentoHistorico.
DEVOLUCOES.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoContagensEntrada
() {
return TipoLancamentoHistorico.
CONTAGENS_ENTRADA.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoContagensSaida
() {
return TipoLancamentoHistorico.
CONTAGENS_SAIDA.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoProducaoEntrada
() {
return TipoLancamentoHistorico.
PRODUCAO_ENTRADA.
getValor().
equals(tipoLancamento
);
}
public Boolean ehTipoLancamentoHistoricoProducaoSaida
() {
return TipoLancamentoHistorico.
PRODUCAO_SAIDA.
getValor().
equals(tipoLancamento
);
}
}