Subversion Repositories Integrator Subversion

Rev

Rev 507 | Rev 509 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.dto;

import java.util.Date;

import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.ProdutoLojaId;
import br.com.ec.domain.model.Usuario;

public class ProdutoLojaDTO {
       
        private Long sequencialProduto;
        private LojaDTO lojaDTO;
        private Integer quantidadeEstoque;
       
        /*
        private ProdutoLojaId produtoLojaId;
        private Produto produto;
        private Loja loja;
        private Integer quantidadeEstoque;
        private Integer quantidadeEstoqueContagem;
//      private Integer quantidadeEstoqueUltimaContagem;
        private Date dataContagem;
        private Date dataContagemPreparacao;
        private Usuario usuarioUltimaContagem;
        private Usuario usuarioUltimaContagemPreparacao;
        private String localizacao;
        private Boolean indicadorContagemSolicitada = false;
        */

       
        private Integer quantidadeMinimaTransferir;
        private Integer quantidadeVendida;
        private Integer quantidadeParaTransferir;
        private Boolean indicadorSolicitarTransferencia = false;
       
        public ProdutoLojaDTO() {
        }
       
        public static String CONSULTA_DTO_COMPLETA_QUANTIDADE_VENDAS = "e.produto.sequencial, e.loja.sequencial, e.quantidadeEstoque"; // + QUANTIDADE_VENDIDA
        public ProdutoLojaDTO(Long sequencialProduto, Long sequencialLoja, Integer quantidadeEstoque, Long quantidadeVendida) {
                this.sequencialProduto = sequencialProduto;
                this.lojaDTO = new LojaDTO(sequencialLoja);
                this.quantidadeEstoque = quantidadeEstoque;
                if (VerificadorUtil.naoEstaNulo(quantidadeVendida)) {
                        this.quantidadeVendida = quantidadeVendida.intValue();
                } else {
                        this.quantidadeVendida = 0;
                }
        }
       
        public Long getSequencialProduto() {
                return sequencialProduto;
        }
        public void setSequencialProduto(Long sequencialProduto) {
                this.sequencialProduto = sequencialProduto;
        }
       
        public LojaDTO getLojaDTO() {
                return lojaDTO;
        }
        public void setLojaDTO(LojaDTO lojaDTO) {
                this.lojaDTO = lojaDTO;
        }
       
        public Integer getQuantidadeEstoque() {
                return quantidadeEstoque;
        }
        public void setQuantidadeEstoque(Integer quantidadeEstoque) {
                this.quantidadeEstoque = quantidadeEstoque;
        }
       
        public Integer getQuantidadeMinimaTransferir() {
                return quantidadeMinimaTransferir;
        }
        public void setQuantidadeMinimaTransferir(Integer quantidadeMinimaTransferir) {
                this.quantidadeMinimaTransferir = quantidadeMinimaTransferir;
        }
       
        public Integer getQuantidadeVendida() {
                return quantidadeVendida;
        }
        public void setQuantidadeVendida(Integer quantidadeVendida) {
                this.quantidadeVendida = quantidadeVendida;
        }
       
        public Integer getQuantidadeParaTransferir() {
                return quantidadeParaTransferir;
        }
        public void setQuantidadeParaTransferir(Integer quantidadeParaTransferir) {
                this.quantidadeParaTransferir = quantidadeParaTransferir;
        }
       
        public Boolean getIndicadorSolicitarTransferencia() {
                return indicadorSolicitarTransferencia;
        }
        public void setIndicadorSolicitarTransferencia(Boolean indicadorSolicitarTransferencia) {
                this.indicadorSolicitarTransferencia = indicadorSolicitarTransferencia;
        }
       
        /*******************************************/
       
        public Integer quantidadeParaComprar(Integer quantidadeVendas, Integer quantidadeEstoque) {
                return (getQuantidadeMinimaTransferir() * quantidadeVendas) - quantidadeEstoque;
        }
       
        public Integer quantidadeParaTransferir() {
                if (VerificadorUtil.estaNulo(getQuantidadeVendida())) {
                        setQuantidadeVendida(0);
                }
                if (VerificadorUtil.estaNulo(getQuantidadeEstoque())) {
                        setQuantidadeEstoque(0);
                }
                if (VerificadorUtil.estaNulo(getQuantidadeMinimaTransferir())) {
                        setQuantidadeMinimaTransferir(1);
                }
                return (getQuantidadeEstoque() - getQuantidadeVendida()) * getQuantidadeMinimaTransferir() * -1;
        }
       
}