Subversion Repositories Integrator Subversion

Rev

Rev 235 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.domain.dto;
2
 
3
import javax.persistence.Transient;
4
 
5
import br.com.ec.controller.util.UtilBean;
195 espaco 6
import br.com.ec.core.util.VerificadorUtil;
106 espaco 7
import br.com.ec.domain.model.Produto;
8
import br.com.ec.domain.model.Usuario;
9
import br.com.ec.domain.model.tipos.TipoProduto;
10
import br.com.ec.domain.util.CodigoBarraEAN;
11
 
12
public class TransferenciaProdutoDTO {
13
 
14
        private Long sequencialTransferencia;
15
        private Long sequencialProduto;
16
 
17
        private Integer quantidade;
18
        private Integer estoqueAtual = 0;
19
        private String codigoProduto;
20
        private String descricaoCompletaProduto;
21
        private String generoProduto;
22
        private String tipoProduto;
23
        private Boolean recebido;
24
        private String observacao;
25
        private String nomeUsuarioEntrada;
26
        private String nomeUsuarioSaida;
27
        private Usuario usuarioEntrada;
305 espaco 28
        private Boolean indicadorAlterarEstoque;
106 espaco 29
 
30
        public Long getSequencialTransferencia() {
31
                return sequencialTransferencia;
32
        }
33
        public void setSequencialTransferencia(Long sequencialTransferencia) {
34
                this.sequencialTransferencia = sequencialTransferencia;
35
        }
36
 
37
        public Long getSequencialProduto() {
38
                return sequencialProduto;
39
        }
40
        public void setSequencialProduto(Long sequencialProduto) {
41
                this.sequencialProduto = sequencialProduto;
42
        }
43
 
44
        public Integer getQuantidade() {
45
                return quantidade;
46
        }
47
        public void setQuantidade(Integer quantidade) {
48
                this.quantidade = quantidade;
49
        }
50
 
51
        public Integer getEstoqueAtual() {
52
                return estoqueAtual;
53
        }
54
        public void setEstoqueAtual(Integer estoqueAtual) {
55
                this.estoqueAtual = estoqueAtual;
56
        }
57
 
58
        public String getCodigoProduto() {
59
                return codigoProduto;
60
        }
61
        public void setCodigoProduto(String codigoProduto) {
62
                this.codigoProduto = codigoProduto;
63
        }
64
 
65
        public String getDescricaoCompletaProduto() {
66
                return descricaoCompletaProduto;
67
        }
68
        public void setDescricaoCompletaProduto(String descricaoCompletaProduto) {
69
                this.descricaoCompletaProduto = descricaoCompletaProduto;
70
        }
71
 
72
        public String getGeneroProduto() {
73
                return generoProduto;
74
        }
75
        public void setGeneroProduto(String generoProduto) {
76
                this.generoProduto = generoProduto;
77
        }
78
 
79
        public String getTipoProduto() {
80
                return tipoProduto;
81
        }
82
        public void setTipoProduto(String tipoProduto) {
83
                this.tipoProduto = tipoProduto;
84
        }
235 espaco 85
        public Boolean ehTipoProduto(String tipoProduto) {
86
                return TipoProduto.parse(tipoProduto).getValor().equals(getTipoProduto());
106 espaco 87
        }
88
 
89
        public Boolean getRecebido() {
90
                return recebido;
91
        }
92
        public void setRecebido(Boolean recebido) {
93
                this.recebido = recebido;
94
        }
95
 
96
        public String getObservacao() {
97
                return observacao;
98
        }
99
        public void setObservacao(String observacao) {
100
                this.observacao = observacao;
101
        }
102
        public Boolean contemAlertas() {
103
                return VerificadorUtil.naoEstaNuloOuVazio(getObservacao());
104
        }
105
 
106
        public String getNomeUsuarioEntrada() {
107
                return nomeUsuarioEntrada;
108
        }
109
        public void setNomeUsuarioEntrada(String nomeUsuarioEntrada) {
110
                this.nomeUsuarioEntrada = nomeUsuarioEntrada;
111
        }
112
 
113
        public String getNomeUsuarioSaida() {
114
                return nomeUsuarioSaida;
115
        }
116
        public void setNomeUsuarioSaida(String nomeUsuarioSaida) {
117
                this.nomeUsuarioSaida = nomeUsuarioSaida;
118
        }
119
 
120
        public Usuario getUsuarioEntrada() {
121
                return usuarioEntrada;
122
        }
123
        public void setUsuarioEntrada(Usuario usuarioEntrada) {
124
                this.usuarioEntrada = usuarioEntrada;
125
        }
126
 
305 espaco 127
        public Boolean getIndicadorAlterarEstoque() {
128
                return indicadorAlterarEstoque;
129
        }
130
        public void setIndicadorAlterarEstoque(Boolean indicadorAlterarEstoque) {
131
                this.indicadorAlterarEstoque = indicadorAlterarEstoque;
132
        }
133
 
106 espaco 134
        @Transient
135
        public String getCodigoProdutoPadrao() {
136
                try {
137
                        return VerificadorUtil.naoEstaNulo(codigoProduto) ? String.format("%06d", new Long(codigoProduto.trim())) : "";
138
                } catch (Exception e) {
139
                        return "";
140
                }
141
        }
142
 
143
        @Transient
144
        public Boolean verificarSeCodigoEhIgual(String codigoProduto) {
145
                if (CodigoBarraEAN.validarCodigoBarras(codigoProduto)) {
146
                        return this.getCodigoProdutoPadrao().equals(CodigoBarraEAN.retornarCodigoDoCodigoBarras(codigoProduto));
147
                } else {
148
                        return this.getCodigoProdutoPadrao().equals(UtilBean.padraoCodigoProduto(codigoProduto));
149
                }
150
        }
151
 
152
        @Override
153
        public int hashCode() {
154
                final int prime = 31;
155
                int result = 1;
156
                result = prime * result + ((sequencialProduto == null) ? 0 : sequencialProduto.hashCode());
157
                return result;
158
        }
159
 
160
        @Override
161
        public boolean equals(Object obj) {
162
                if (this == obj)
163
                        return true;
164
                if (obj == null)
165
                        return false;
166
                if (getClass() != obj.getClass())
167
                        return false;
168
                TransferenciaProdutoDTO other = (TransferenciaProdutoDTO) obj;
169
                if (sequencialProduto == null) {
170
                        if (other.sequencialProduto != null)
171
                                return false;
172
                } else if (!sequencialProduto.equals(other.sequencialProduto))
173
                        return false;
174
                return true;
175
        }
176
 
177
        public Produto retornarProdutoParaFoto() {
178
                Produto produto = new Produto();
115 espaco 179
                produto.setSequencial(getSequencialProduto());
106 espaco 180
                produto.setCodigo(getCodigoProduto());
115 espaco 181
                produto.setDescricao(getDescricaoCompletaProduto());
182
                produto.setGenero(getGeneroProduto());
183
                produto.setTipo(getTipoProduto());
106 espaco 184
                return produto;
185
        }
186
 
187
}