Subversion Repositories Integrator Subversion

Rev

Rev 543 | Rev 617 | 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
 
616 blopes 42
        public static String CONSULTA_DTO_COMPLETA_QUANTIDADE_VENDAS = "e.produto.sequencial, e.produto.codigo, e.produto.descricao, e.produto.subtipoProduto.sequencial, e.produto.subtipoProduto.descricao, "
43
                        + "e.loja.sequencial, e.quantidadeEstoque, e.retirarTransferenciaAutomatica"; // + QUANTIDADE_VENDIDA
44
        public ProdutoLojaDTO(Long sequencialProduto, String codigoProduto, String descricaoProduto, Long sequencialSubtipoProduto, String descricaoSubtipoProduto, Long sequencialLoja, Integer quantidadeEstoque, Boolean retirarTransferenciaAutomatica, Long quantidadeVendida) {
45
                this.produtoDTO = new ProdutoDTO(sequencialProduto, codigoProduto, descricaoProduto, sequencialSubtipoProduto, descricaoSubtipoProduto);
508 blopes 46
                this.lojaDTO = new LojaDTO(sequencialLoja);
47
                this.quantidadeEstoque = quantidadeEstoque;
543 blopes 48
                this.retirarTransferenciaAutomatica = retirarTransferenciaAutomatica;
508 blopes 49
                if (VerificadorUtil.naoEstaNulo(quantidadeVendida)) {
50
                        this.quantidadeVendida = quantidadeVendida.intValue();
51
                } else {
52
                        this.quantidadeVendida = 0;
53
                }
54
        }
507 blopes 55
 
516 blopes 56
        public ProdutoDTO getProdutoDTO() {
57
                return produtoDTO;
508 blopes 58
        }
516 blopes 59
        public void setProdutoDTO(ProdutoDTO produtoDTO) {
60
                this.produtoDTO = produtoDTO;
508 blopes 61
        }
62
 
63
        public LojaDTO getLojaDTO() {
64
                return lojaDTO;
65
        }
66
        public void setLojaDTO(LojaDTO lojaDTO) {
67
                this.lojaDTO = lojaDTO;
68
        }
69
 
70
        public Integer getQuantidadeEstoque() {
71
                return quantidadeEstoque;
72
        }
73
        public void setQuantidadeEstoque(Integer quantidadeEstoque) {
74
                this.quantidadeEstoque = quantidadeEstoque;
75
        }
76
 
77
        public Integer getQuantidadeMinimaTransferir() {
78
                return quantidadeMinimaTransferir;
79
        }
80
        public void setQuantidadeMinimaTransferir(Integer quantidadeMinimaTransferir) {
81
                this.quantidadeMinimaTransferir = quantidadeMinimaTransferir;
82
        }
83
 
84
        public Integer getQuantidadeVendida() {
85
                return quantidadeVendida;
86
        }
87
        public void setQuantidadeVendida(Integer quantidadeVendida) {
88
                this.quantidadeVendida = quantidadeVendida;
89
        }
90
 
91
        public Integer getQuantidadeParaTransferir() {
92
                return quantidadeParaTransferir;
93
        }
94
        public void setQuantidadeParaTransferir(Integer quantidadeParaTransferir) {
95
                this.quantidadeParaTransferir = quantidadeParaTransferir;
96
        }
97
 
516 blopes 98
        public Integer getQuantidadeEstoqueAnterior() {
99
                return quantidadeEstoqueAnterior;
100
        }
101
        public void setQuantidadeEstoqueAnterior(Integer quantidadeEstoqueAnterior) {
102
                this.quantidadeEstoqueAnterior = quantidadeEstoqueAnterior;
103
        }
104
 
508 blopes 105
        public Boolean getIndicadorSolicitarTransferencia() {
106
                return indicadorSolicitarTransferencia;
107
        }
108
        public void setIndicadorSolicitarTransferencia(Boolean indicadorSolicitarTransferencia) {
109
                this.indicadorSolicitarTransferencia = indicadorSolicitarTransferencia;
110
        }
111
 
543 blopes 112
        public Boolean getRetirarTransferenciaAutomatica() {
113
                if (VerificadorUtil.estaNulo(retirarTransferenciaAutomatica)) {
114
                        retirarTransferenciaAutomatica = false;
115
                }
116
                return retirarTransferenciaAutomatica;
117
        }
118
        public void setRetirarTransferenciaAutomatica(Boolean retirarTransferenciaAutomatica) {
119
                this.retirarTransferenciaAutomatica = retirarTransferenciaAutomatica;
120
        }
121
 
516 blopes 122
        public Long getSequencialDoProduto() {
123
                return VerificadorUtil.naoEstaNulo(getProdutoDTO())? getProdutoDTO().getSequencial() : null;
124
        }
125
 
507 blopes 126
        /*******************************************/
127
 
508 blopes 128
        public Integer quantidadeParaComprar(Integer quantidadeVendas, Integer quantidadeEstoque) {
129
                return (getQuantidadeMinimaTransferir() * quantidadeVendas) - quantidadeEstoque;
130
        }
131
 
132
        public Integer quantidadeParaTransferir() {
133
                if (VerificadorUtil.estaNulo(getQuantidadeVendida())) {
134
                        setQuantidadeVendida(0);
135
                }
136
                if (VerificadorUtil.estaNulo(getQuantidadeEstoque())) {
137
                        setQuantidadeEstoque(0);
138
                }
139
                if (VerificadorUtil.estaNulo(getQuantidadeMinimaTransferir())) {
140
                        setQuantidadeMinimaTransferir(1);
141
                }
509 blopes 142
                return (getQuantidadeMinimaTransferir() * getQuantidadeVendida()) - getQuantidadeEstoque();
143
//              return (getQuantidadeEstoque() - getQuantidadeVendida()) * getQuantidadeMinimaTransferir() * -1;
508 blopes 144
        }
516 blopes 145
 
507 blopes 146
}