package br.com.ec.domain.dto;
public class RankingModeloDTO
implements Comparable<RankingModeloDTO
> {
private ModeloDTO modelo
;
private Double valorTotalVendido
;
private Double valorTotalComprado
;
private Integer quantidadeVendas
;
private Integer quantidadeEstoqueLocal
;
private Integer quantidadeEstoqueGeral
;
private Integer quantidadeTotalVendas
;
private Integer quantidadeTotalEstoqueLocal
;
private Integer quantidadeTotalEstoqueGeral
;
private Integer quantidadeParaTransferir
;
public RankingModeloDTO
() {}
public static String CONSULTA_DTO_COMPLETA =
"e.sequencial, e.login, e.nome";
public RankingModeloDTO
(ModeloDTO modelo,
Integer quantidadeVendas,
Integer quantidadeEstoqueGeral
) {
this.
modelo = modelo
;
this.
quantidadeVendas = quantidadeVendas
;
this.
quantidadeEstoqueGeral = quantidadeEstoqueGeral
;
}
public RankingModeloDTO
(ModeloDTO modelo,
Double valorTotalVendido,
Double valorTotalComprado,
Integer quantidadeVendas,
Integer quantidadeEstoqueGeral
) {
this.
modelo = modelo
;
this.
valorTotalVendido = valorTotalVendido
;
this.
valorTotalComprado = valorTotalComprado
;
this.
quantidadeVendas = quantidadeVendas
;
this.
quantidadeEstoqueGeral = quantidadeEstoqueGeral
;
}
public RankingModeloDTO
(ModeloDTO modelo,
Double valorTotalVendido,
Double valorTotalComprado,
Integer quantidadeVendas,
Integer quantidadeEstoqueLocal,
Integer quantidadeEstoqueGeral
) {
this.
modelo = modelo
;
this.
valorTotalVendido = valorTotalVendido
;
this.
valorTotalComprado = valorTotalComprado
;
this.
quantidadeVendas = quantidadeVendas
;
this.
quantidadeEstoqueLocal = quantidadeEstoqueLocal
;
this.
quantidadeEstoqueGeral = quantidadeEstoqueGeral
;
}
public ModeloDTO getModelo
() {
return modelo
;
}
public void setModelo
(ModeloDTO modelo
) {
this.
modelo = modelo
;
}
public Double getValorTotalVendido
() {
return valorTotalVendido
;
}
public void setValorTotalVendido
(Double valorTotalVendido
) {
this.
valorTotalVendido = valorTotalVendido
;
}
public Double getValorTotalComprado
() {
return valorTotalComprado
;
}
public void setValorTotalComprado
(Double valorTotalComprado
) {
this.
valorTotalComprado = valorTotalComprado
;
}
public Integer getQuantidadeVendas
() {
return quantidadeVendas
;
}
public void setQuantidadeVendas
(Integer quantidadeVendas
) {
this.
quantidadeVendas = quantidadeVendas
;
}
public Integer getQuantidadeEstoqueLocal
() {
return quantidadeEstoqueLocal
;
}
public void setQuantidadeEstoqueLocal
(Integer quantidadeEstoqueLocal
) {
this.
quantidadeEstoqueLocal = quantidadeEstoqueLocal
;
}
public Integer getQuantidadeEstoqueGeral
() {
return quantidadeEstoqueGeral
;
}
public void setQuantidadeEstoqueGeral
(Integer quantidadeEstoqueGeral
) {
this.
quantidadeEstoqueGeral = quantidadeEstoqueGeral
;
}
public Integer getQuantidadeTotalVendas
() {
return quantidadeTotalVendas
;
}
public void setQuantidadeTotalVendas
(Integer quantidadeTotalVendas
) {
this.
quantidadeTotalVendas = quantidadeTotalVendas
;
}
public Integer getQuantidadeTotalEstoqueLocal
() {
return quantidadeTotalEstoqueLocal
;
}
public void setQuantidadeTotalEstoqueLocal
(Integer quantidadeTotalEstoqueLocal
) {
this.
quantidadeTotalEstoqueLocal = quantidadeTotalEstoqueLocal
;
}
public Integer getQuantidadeTotalEstoqueGeral
() {
return quantidadeTotalEstoqueGeral
;
}
public void setQuantidadeTotalEstoqueGeral
(Integer quantidadeTotalEstoqueGeral
) {
this.
quantidadeTotalEstoqueGeral = quantidadeTotalEstoqueGeral
;
}
public Integer getQuantidadeParaTransferir
() {
return quantidadeParaTransferir
;
}
public void setQuantidadeParaTransferir
(Integer quantidadeParaTransferir
) {
this.
quantidadeParaTransferir = quantidadeParaTransferir
;
}
@
Override
public int compareTo
(RankingModeloDTO rankingModeloDTO
) {
return rankingModeloDTO.
getValorTotalVendido().
compareTo(this.
valorTotalVendido);
}
public Integer quantidadeParaTransferir
() {
Double quantidadeParaTransferir =
0.0;
quantidadeParaTransferir = quantidadeParaTransferir + getQuantidadeVendas
();
quantidadeParaTransferir = quantidadeParaTransferir / getQuantidadeTotalVendas
();
quantidadeParaTransferir = quantidadeParaTransferir
* getQuantidadeTotalEstoqueLocal
();
quantidadeParaTransferir = quantidadeParaTransferir - getQuantidadeEstoqueLocal
();
return quantidadeParaTransferir.
intValue();
}
public String corQuantidadeParaTransferir
() {
return (quantidadeParaTransferir
()) > 0? "green" :
"red";
}
}