Subversion Repositories Integrator Subversion

Rev

Rev 516 | Rev 616 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
507 blopes 1
package br.com.ec.domain.dto;
2
 
3
import java.util.Date;
4
 
508 blopes 5
import br.com.ec.core.util.VerificadorUtil;
507 blopes 6
import br.com.ec.domain.model.Loja;
7
import br.com.ec.domain.model.Produto;
8
import br.com.ec.domain.model.ProdutoLojaId;
9
import br.com.ec.domain.model.Usuario;
10
 
11
public class ProdutoLojaDTO {
12
 
516 blopes 13
        private ProdutoDTO produtoDTO;
508 blopes 14
        private LojaDTO lojaDTO;
15
        private Integer quantidadeEstoque;
507 blopes 16
 
17
        /*
18
        private ProdutoLojaId produtoLojaId;
19
        private Produto produto;
20
        private Loja loja;
21
        private Integer quantidadeEstoque;
22
        private Integer quantidadeEstoqueContagem;
23
//      private Integer quantidadeEstoqueUltimaContagem;
24
        private Date dataContagem;
25
        private Date dataContagemPreparacao;
26
        private Usuario usuarioUltimaContagem;
27
        private Usuario usuarioUltimaContagemPreparacao;
28
        private String localizacao;
29
        private Boolean indicadorContagemSolicitada = false;
30
        */
31
 
508 blopes 32
        private Integer quantidadeMinimaTransferir;
33
        private Integer quantidadeVendida;
34
        private Integer quantidadeParaTransferir;
516 blopes 35
        private Integer quantidadeEstoqueAnterior;
508 blopes 36
        private Boolean indicadorSolicitarTransferencia = false;
543 blopes 37
        private Boolean retirarTransferenciaAutomatica;
508 blopes 38
 
507 blopes 39
        public ProdutoLojaDTO() {
40
        }
41
 
543 blopes 42
        public static String CONSULTA_DTO_COMPLETA_QUANTIDADE_VENDAS = "e.produto.sequencial, e.produto.codigo, e.produto.descricao, e.loja.sequencial, e.quantidadeEstoque, e.retirarTransferenciaAutomatica"; // + QUANTIDADE_VENDIDA
43
        public ProdutoLojaDTO(Long sequencialProduto, String codigoProduto, String descricaoProduto, Long sequencialLoja, Integer quantidadeEstoque, Boolean retirarTransferenciaAutomatica, Long quantidadeVendida) {
516 blopes 44
                this.produtoDTO = new ProdutoDTO(sequencialProduto, codigoProduto, descricaoProduto);
508 blopes 45
                this.lojaDTO = new LojaDTO(sequencialLoja);
46
                this.quantidadeEstoque = quantidadeEstoque;
543 blopes 47
                this.retirarTransferenciaAutomatica = retirarTransferenciaAutomatica;
508 blopes 48
                if (VerificadorUtil.naoEstaNulo(quantidadeVendida)) {
49
                        this.quantidadeVendida = quantidadeVendida.intValue();
50
                } else {
51
                        this.quantidadeVendida = 0;
52
                }
53
        }
507 blopes 54
 
516 blopes 55
        public ProdutoDTO getProdutoDTO() {
56
                return produtoDTO;
508 blopes 57
        }
516 blopes 58
        public void setProdutoDTO(ProdutoDTO produtoDTO) {
59
                this.produtoDTO = produtoDTO;
508 blopes 60
        }
61
 
62
        public LojaDTO getLojaDTO() {
63
                return lojaDTO;
64
        }
65
        public void setLojaDTO(LojaDTO lojaDTO) {
66
                this.lojaDTO = lojaDTO;
67
        }
68
 
69
        public Integer getQuantidadeEstoque() {
70
                return quantidadeEstoque;
71
        }
72
        public void setQuantidadeEstoque(Integer quantidadeEstoque) {
73
                this.quantidadeEstoque = quantidadeEstoque;
74
        }
75
 
76
        public Integer getQuantidadeMinimaTransferir() {
77
                return quantidadeMinimaTransferir;
78
        }
79
        public void setQuantidadeMinimaTransferir(Integer quantidadeMinimaTransferir) {
80
                this.quantidadeMinimaTransferir = quantidadeMinimaTransferir;
81
        }
82
 
83
        public Integer getQuantidadeVendida() {
84
                return quantidadeVendida;
85
        }
86
        public void setQuantidadeVendida(Integer quantidadeVendida) {
87
                this.quantidadeVendida = quantidadeVendida;
88
        }
89
 
90
        public Integer getQuantidadeParaTransferir() {
91
                return quantidadeParaTransferir;
92
        }
93
        public void setQuantidadeParaTransferir(Integer quantidadeParaTransferir) {
94
                this.quantidadeParaTransferir = quantidadeParaTransferir;
95
        }
96
 
516 blopes 97
        public Integer getQuantidadeEstoqueAnterior() {
98
                return quantidadeEstoqueAnterior;
99
        }
100
        public void setQuantidadeEstoqueAnterior(Integer quantidadeEstoqueAnterior) {
101
                this.quantidadeEstoqueAnterior = quantidadeEstoqueAnterior;
102
        }
103
 
508 blopes 104
        public Boolean getIndicadorSolicitarTransferencia() {
105
                return indicadorSolicitarTransferencia;
106
        }
107
        public void setIndicadorSolicitarTransferencia(Boolean indicadorSolicitarTransferencia) {
108
                this.indicadorSolicitarTransferencia = indicadorSolicitarTransferencia;
109
        }
110
 
543 blopes 111
        public Boolean getRetirarTransferenciaAutomatica() {
112
                if (VerificadorUtil.estaNulo(retirarTransferenciaAutomatica)) {
113
                        retirarTransferenciaAutomatica = false;
114
                }
115
                return retirarTransferenciaAutomatica;
116
        }
117
        public void setRetirarTransferenciaAutomatica(Boolean retirarTransferenciaAutomatica) {
118
                this.retirarTransferenciaAutomatica = retirarTransferenciaAutomatica;
119
        }
120
 
516 blopes 121
        public Long getSequencialDoProduto() {
122
                return VerificadorUtil.naoEstaNulo(getProdutoDTO())? getProdutoDTO().getSequencial() : null;
123
        }
124
 
507 blopes 125
        /*******************************************/
126
 
508 blopes 127
        public Integer quantidadeParaComprar(Integer quantidadeVendas, Integer quantidadeEstoque) {
128
                return (getQuantidadeMinimaTransferir() * quantidadeVendas) - quantidadeEstoque;
129
        }
130
 
131
        public Integer quantidadeParaTransferir() {
132
                if (VerificadorUtil.estaNulo(getQuantidadeVendida())) {
133
                        setQuantidadeVendida(0);
134
                }
135
                if (VerificadorUtil.estaNulo(getQuantidadeEstoque())) {
136
                        setQuantidadeEstoque(0);
137
                }
138
                if (VerificadorUtil.estaNulo(getQuantidadeMinimaTransferir())) {
139
                        setQuantidadeMinimaTransferir(1);
140
                }
509 blopes 141
                return (getQuantidadeMinimaTransferir() * getQuantidadeVendida()) - getQuantidadeEstoque();
142
//              return (getQuantidadeEstoque() - getQuantidadeVendida()) * getQuantidadeMinimaTransferir() * -1;
508 blopes 143
        }
516 blopes 144
 
507 blopes 145
}