Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
449 blopes 1
package br.com.ec.domain.dto;
2
 
3
import java.io.Serializable;
4
import java.util.Date;
5
 
468 blopes 6
import javax.persistence.Transient;
7
 
462 blopes 8
import br.com.ec.core.util.VerificadorUtil;
449 blopes 9
import br.com.ec.domain.model.Modelo;
10
import br.com.ec.domain.model.Tributacao;
468 blopes 11
import br.com.ec.domain.model.tipos.TipoCorProduto;
12
import br.com.ec.domain.model.tipos.TipoEstiloProduto;
13
import br.com.ec.domain.model.tipos.TipoProduto;
449 blopes 14
 
15
public class ProdutoDTO implements Serializable {
16
 
17
        private static final long serialVersionUID = 1L;
18
 
19
        private Long sequencial;
20
        private String codigo;
21
        private String codigoEAN;
22
        private String codigoEANTributado;
23
        private String descricao;
24
        private String tipo;
25
        private String estilo;
26
        private String cor;
468 blopes 27
        private String genero;
449 blopes 28
 
29
        private String codigoNCM;
30
        private String codigoEST;
31
 
32
        private ModeloDTO modeloDTO;
33
 
34
        /*
35
        private String codigoRapido;
36
        private String descricaoEtiqueta;
37
        private String descricaoParaNotaFiscal;
38
        private String genero;
39
        private String observacao;
40
        private Double valorCompra;
41
        private Double valorVarejo;
42
        private Double valorVarejoPromocional;
43
        private Double valorVarejoMaximo;
44
        private Double valorVarejoPopular;
45
        private Double valorAtacado;
46
        private Date dataOnline;
47
        private Date dataOnlineShoplog;
48
        private Date dataOnlineMercadoLivre;
49
        private Boolean indicadorFavorito;
50
        private Boolean indicadorComissionado;
51
        private Boolean indicadorPersonalizavel;
52
        private Boolean indicadorEmissaoNotaFiscal;
53
 
54
//      private Modelo modelo;
55
//      private Tributacao tributacao;
56
 
57
        private Double valorVarejoSimulacao;
58
        private Boolean sujeitoST;
59
        private Double aliquotaIPI;
60
        private Double aliquotaIPINotaFiscal;
61
        private Double aliquotaIcms;
62
        private Double aliquotaIcmsNotaFiscal;
63
        private Double aliquotaIcmsST;
64
        private Double aliquotaFecoep;
65
        private Boolean ativo;
66
 
67
 
68
        private Set<ProdutoPedidoCompra> pedidosCompra;
69
        private Set<ProdutoLoja> estoques;
70
        private Set<FornecedorProduto> fornecedores;
71
        private Set<ProdutoRelacionado> relacionados;
72
        private Set<ProdutoRelacionado> relacionadosReverse;
73
 
74
        private List<TransferenciaProduto> transferenciasAbertas = new ArrayList<TransferenciaProduto>();
75
        private List<PedidoProduto> pedidosPendentes = new ArrayList<PedidoProduto>();
76
 
77
        private Boolean indicadorOnline;
78
        private Boolean indicadorOnlineShoplog;
79
        private Boolean indicadorOnlineMercadoLivre;
80
        private Date dataUltimaVenda;*/
81
 
462 blopes 82
        public ProdutoDTO() {}
83
 
468 blopes 84
        public static String CONSULTA_DTO_SIMPLES_COM_MODELO = "e.sequencial, e.codigo, e.codigoEAN, e.descricao, e.tipo, e.estilo, e.cor, e.genero, "
462 blopes 85
                        + " (SELECT mo.descricao FROM Modelo mo WHERE mo.sequencial = e.modelo.sequencial), "
86
                        + " (SELECT m.descricao FROM Marca m WHERE m.sequencial = e.modelo.marca.sequencial)";
87
        public ProdutoDTO(Long sequencial, String codigo, String codigoEAN, String descricao, String tipoProduto, String estiloProduto, String corProduto,
468 blopes 88
                        String generoProduto, String descricaoModelo, String descricaoMarca) {
462 blopes 89
                super();
90
                this.sequencial = sequencial;
91
                this.codigo = codigo;
92
                this.codigoEAN = codigoEAN;
93
                this.descricao = descricao;
94
                this.tipo = tipoProduto;
95
                this.estilo= estiloProduto;
96
                this.cor = corProduto;
468 blopes 97
                this.genero = generoProduto;
462 blopes 98
                this.modeloDTO = new ModeloDTO(null, descricaoModelo, new MarcaDTO(null, descricaoMarca));
99
        }
100
 
101
        public ProdutoDTO(Long sequencial, String codigo, String codigoEAN, String descricao, String tipoProduto, String estiloProduto, String corProduto) {
102
                super();
103
                this.sequencial = sequencial;
104
                this.codigo = codigo;
105
                this.codigoEAN = codigoEAN;
106
                this.descricao = descricao;
107
                this.tipo = tipoProduto;
108
                this.estilo= estiloProduto;
109
                this.cor = corProduto;
110
        }
111
 
449 blopes 112
        public ProdutoDTO(Long sequencialProduto, String codigo,
113
                        String codigoEAN, String codigoEANTributado, String descricao, String tipoProduto, String estiloProduto,
114
                        String cor) {
115
                this.codigo = codigo;
116
                this.codigoEAN = codigoEAN;
117
                this.codigoEANTributado = codigoEANTributado;
118
                this.descricao = descricao;
119
                this.tipo = tipoProduto;
120
                this.estilo = estiloProduto;
121
                this.cor = cor;
122
        }
123
 
468 blopes 124
        public ProdutoDTO(Long sequencial, String codigo, String tipo, ModeloDTO modeloDTO, String estilo, String descricao, String cor) {
125
                this.sequencial = sequencial;
126
                this.codigo = codigo;
127
                this.tipo = tipo;
128
                this.modeloDTO = modeloDTO;
129
                this.estilo = estilo;
130
                this.descricao = descricao;
131
                this.cor = cor;
132
        }
133
 
449 blopes 134
        /*
135
        public static String CONSULTA_DTO_COMPLETA = "e.sequencial, e.notaFiscal.sequencial, e.produto.sequencial, "
136
                        + "e.quantidade";
137
        public ProdutoDTO(Long sequencial, Long sequencialNotaFiscal, Long sequencialProduto, Integer quantidade) {
138
                super();
139
                this.sequencial = sequencial;
140
                this.sequencialNotaFiscal = sequencialNotaFiscal;
141
                this.sequencialProduto = sequencialProduto;
142
                this.quantidade = quantidade;
143
        }
144
*/
145
 
146
        public Long getSequencial() {
147
                return sequencial;
148
        }
149
        public void setSequencial(Long sequencial) {
150
                this.sequencial = sequencial;
151
        }
152
 
153
        public String getCodigo() {
154
                return codigo;
155
        }
156
        public void setCodigo(String codigo) {
157
                this.codigo = codigo;
158
        }
159
 
160
        public String getCodigoEAN() {
161
                return codigoEAN;
162
        }
163
        public void setCodigoEAN(String codigoEAN) {
164
                this.codigoEAN = codigoEAN;
165
        }
166
 
167
        public String getCodigoEANTributado() {
168
                return codigoEANTributado;
169
        }
170
        public void setCodigoEANTributado(String codigoEANTributado) {
171
                this.codigoEANTributado = codigoEANTributado;
172
        }
173
 
174
        public String getDescricao() {
175
                return descricao;
176
        }
177
        public void setDescricao(String descricao) {
178
                this.descricao = descricao;
179
        }
180
 
181
        public String getTipo() {
182
                return tipo;
183
        }
184
        public void setTipo(String tipo) {
185
                this.tipo = tipo;
186
        }
187
 
188
        public String getEstilo() {
189
                return estilo;
190
        }
191
        public void setEstilo(String estilo) {
192
                this.estilo = estilo;
193
        }
468 blopes 194
        public String getDescricaoDoEstilo() {
195
                return VerificadorUtil.naoEstaNuloOuVazio(getEstilo())? TipoEstiloProduto.parse(getEstilo()).getDescricao() : null;
196
        }
449 blopes 197
 
198
        public String getCor() {
199
                return cor;
200
        }
201
        public void setCor(String cor) {
202
                this.cor = cor;
203
        }
468 blopes 204
        public String getDescricaoDaCor() {
205
                return VerificadorUtil.naoEstaNuloOuVazio(getCor())? TipoCorProduto.parse(getCor()).getDescricao() : null;
206
        }
207
 
208
        public String getGenero() {
209
                return genero;
210
        }
211
        public void setGenero(String genero) {
212
                this.genero = genero;
213
        }
449 blopes 214
 
215
        public String getCodigoNCM() {
216
                return codigoNCM;
217
        }
218
        public void setCodigoNCM(String codigoNCM) {
219
                this.codigoNCM = codigoNCM;
220
        }
221
 
222
        public String getCodigoEST() {
223
                return codigoEST;
224
        }
225
        public void setCodigoEST(String codigoEST) {
226
                this.codigoEST = codigoEST;
227
        }
228
 
229
        public ModeloDTO getModeloDTO() {
230
                return modeloDTO;
231
        }
232
        public void setModeloDTO(ModeloDTO modeloDTO) {
233
                this.modeloDTO = modeloDTO;
234
        }
468 blopes 235
        public String getDescricaoDoModelo() {
236
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? getModeloDTO().getDescricao() : "";
237
        }
449 blopes 238
 
468 blopes 239
        public MarcaDTO getMarcaDTODoModelo() {
240
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? getModeloDTO().getMarcaDTO() : null;
241
        }
242
 
462 blopes 243
        /***************************************/
244
 
468 blopes 245
        public String getCodigoProdutoPadrao() {
246
                try {
247
                        return VerificadorUtil.naoEstaNulo(codigo) ? String.format("%06d", new Long(codigo.trim())) : "";
248
                } catch (Exception e) {
249
                        return "";
250
                }
251
        }
252
 
462 blopes 253
        public static String retornarCodigoProdutoPadrao(String codigo) {
254
                try {
255
                        return VerificadorUtil.naoEstaNulo(codigo) ? String.format("%06d", new Long(codigo.trim())) : "";
256
                } catch (Exception e) {
257
                        return "";
258
                }
259
        }
260
 
468 blopes 261
        public String getDescricaoNotaFiscal(String observacaoNotaFiscal) {
262
                StringBuilder descricaoCompleta = new StringBuilder();
263
                if (this.getTipo().equals(TipoProduto.CAPA.getValor())) {
264
                        descricaoCompleta.append("CAPA");
265
                }
266
                if (!this.getTipo().equals(TipoProduto.ACESSORIO.getValor())) {
267
                        descricaoCompleta.append(" ");
268
                        descricaoCompleta.append(this.getDescricaoDoModelo());
269
                }
270
                if (VerificadorUtil.naoEstaNuloOuVazio(this.getEstilo())) {
271
                        descricaoCompleta.append(" ");
272
                        descricaoCompleta.append(this.getDescricaoDoEstilo());
273
                }
274
                descricaoCompleta.append(" ");
275
                if (this.getDescricao().length() > 50) {
276
                        descricaoCompleta.append(this.getDescricao().substring(0, 50));
277
                } else {
278
                        descricaoCompleta.append(this.getDescricao());
279
                }
280
                if (VerificadorUtil.naoEstaNuloOuVazio(this.getCor())) {
281
                        descricaoCompleta.append(" (");
282
                        descricaoCompleta.append(this.getDescricaoDaCor());
283
                        descricaoCompleta.append(")");
284
                }
285
                if (VerificadorUtil.naoEstaNuloOuVazio(observacaoNotaFiscal)) {
286
                        descricaoCompleta.append(" ");
287
                        descricaoCompleta.append(observacaoNotaFiscal);
288
                }
289
                return descricaoCompleta.toString().trim();
290
        }
291
 
292
        public String getDescricaoCompleta() {
293
                StringBuilder descricaoCompleta = new StringBuilder();
294
                if (VerificadorUtil.naoEstaNuloOuVazio(getEstilo())) {
295
                        descricaoCompleta.append(getDescricaoDoEstilo());
296
                        descricaoCompleta.append(" ");
297
                }
298
                descricaoCompleta.append(getDescricao());
299
                if (VerificadorUtil.naoEstaNuloOuVazio(getCor())) {
300
                        descricaoCompleta.append(" (");
301
                        descricaoCompleta.append(getDescricaoDaCor());
302
                        descricaoCompleta.append(")");
303
                }
304
                return descricaoCompleta.toString();
305
        }
306
 
307
        public String getDescricaoComModeloCompletaComCodigo() {
308
                StringBuilder descricaoCompleta = new StringBuilder();
309
                descricaoCompleta.append("[");
310
                descricaoCompleta.append(getCodigoProdutoPadrao());
311
                descricaoCompleta.append("] ");
312
                if (VerificadorUtil.naoEstaNuloOuVazio(getDescricaoDoModelo())) {
313
                        descricaoCompleta.append(getDescricaoDoModelo());
314
                        descricaoCompleta.append(" - ");
315
                }
316
                descricaoCompleta.append(getDescricaoCompleta());
317
                return descricaoCompleta.toString();
318
        }
319
 
320
        public String getDescricaoTecnicaDoModeloComParenteses() {
321
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? VerificadorUtil.naoEstaNulo(getModeloDTO().getDescricaoTecnica())? " (" + getModeloDTO().getDescricaoTecnica() + ") " : "" : "";
322
        }
323
 
324
        @Transient
325
        public String getDescricaoDaMarcaDoModelo() {
326
                return VerificadorUtil.naoEstaNulo(getMarcaDTODoModelo())? getMarcaDTODoModelo().getDescricao() : "";
327
        }
328
 
449 blopes 329
}