Subversion Repositories Integrator Subversion

Rev

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