Subversion Repositories Integrator Subversion

Rev

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