Subversion Repositories Integrator Subversion

Rev

Rev 482 | Rev 516 | 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
 
500 blopes 127
        public ProdutoDTO(Long sequencial, String codigo, String tipo, ModeloDTO modeloDTO, String estilo, String descricao, String cor, String codigoEAN) {
468 blopes 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;
500 blopes 135
                this.codigoEAN = codigoEAN;
468 blopes 136
        }
137
 
449 blopes 138
        /*
139
        public static String CONSULTA_DTO_COMPLETA = "e.sequencial, e.notaFiscal.sequencial, e.produto.sequencial, "
140
                        + "e.quantidade";
141
        public ProdutoDTO(Long sequencial, Long sequencialNotaFiscal, Long sequencialProduto, Integer quantidade) {
142
                super();
143
                this.sequencial = sequencial;
144
                this.sequencialNotaFiscal = sequencialNotaFiscal;
145
                this.sequencialProduto = sequencialProduto;
146
                this.quantidade = quantidade;
147
        }
148
*/
149
 
150
        public Long getSequencial() {
151
                return sequencial;
152
        }
153
        public void setSequencial(Long sequencial) {
154
                this.sequencial = sequencial;
155
        }
156
 
157
        public String getCodigo() {
158
                return codigo;
159
        }
160
        public void setCodigo(String codigo) {
161
                this.codigo = codigo;
162
        }
163
 
164
        public String getCodigoEAN() {
165
                return codigoEAN;
166
        }
167
        public void setCodigoEAN(String codigoEAN) {
168
                this.codigoEAN = codigoEAN;
169
        }
170
 
171
        public String getCodigoEANTributado() {
172
                return codigoEANTributado;
173
        }
174
        public void setCodigoEANTributado(String codigoEANTributado) {
175
                this.codigoEANTributado = codigoEANTributado;
176
        }
177
 
178
        public String getDescricao() {
179
                return descricao;
180
        }
181
        public void setDescricao(String descricao) {
182
                this.descricao = descricao;
183
        }
184
 
185
        public String getTipo() {
186
                return tipo;
187
        }
188
        public void setTipo(String tipo) {
189
                this.tipo = tipo;
190
        }
191
 
192
        public String getEstilo() {
193
                return estilo;
194
        }
195
        public void setEstilo(String estilo) {
196
                this.estilo = estilo;
197
        }
468 blopes 198
        public String getDescricaoDoEstilo() {
199
                return VerificadorUtil.naoEstaNuloOuVazio(getEstilo())? TipoEstiloProduto.parse(getEstilo()).getDescricao() : null;
200
        }
449 blopes 201
 
202
        public String getCor() {
203
                return cor;
204
        }
205
        public void setCor(String cor) {
206
                this.cor = cor;
207
        }
468 blopes 208
        public String getDescricaoDaCor() {
209
                return VerificadorUtil.naoEstaNuloOuVazio(getCor())? TipoCorProduto.parse(getCor()).getDescricao() : null;
210
        }
211
 
212
        public String getGenero() {
213
                return genero;
214
        }
215
        public void setGenero(String genero) {
216
                this.genero = genero;
217
        }
449 blopes 218
 
219
        public String getCodigoNCM() {
220
                return codigoNCM;
221
        }
222
        public void setCodigoNCM(String codigoNCM) {
223
                this.codigoNCM = codigoNCM;
224
        }
225
 
226
        public String getCodigoEST() {
227
                return codigoEST;
228
        }
229
        public void setCodigoEST(String codigoEST) {
230
                this.codigoEST = codigoEST;
231
        }
232
 
233
        public ModeloDTO getModeloDTO() {
234
                return modeloDTO;
235
        }
236
        public void setModeloDTO(ModeloDTO modeloDTO) {
237
                this.modeloDTO = modeloDTO;
238
        }
468 blopes 239
        public String getDescricaoDoModelo() {
240
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? getModeloDTO().getDescricao() : "";
241
        }
449 blopes 242
 
468 blopes 243
        public MarcaDTO getMarcaDTODoModelo() {
244
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? getModeloDTO().getMarcaDTO() : null;
245
        }
246
 
482 blopes 247
        public TributacaoDTO getTributacaoDTO() {
248
                return tributacaoDTO;
249
        }
250
        public void setTributacaoDTO(TributacaoDTO tributacaoDTO) {
251
                this.tributacaoDTO = tributacaoDTO;
252
        }
253
 
254
        public String getCodigoNCMDaTributacao() {
255
                return VerificadorUtil.naoEstaNulo(getTributacaoDTO())? getTributacaoDTO().getCodigoNCM() : null;
256
        }
257
 
258
        public String getCodigoESTDaTributacao() {
259
                return VerificadorUtil.naoEstaNulo(getTributacaoDTO())? getTributacaoDTO().getCodigoEST() : null;
260
        }
261
 
262
        public Boolean getSujeitoST() {
263
                return sujeitoST;
264
        }
265
        public void setSujeitoST(Boolean sujeitoST) {
266
                this.sujeitoST = sujeitoST;
267
        }
268
 
462 blopes 269
        /***************************************/
270
 
468 blopes 271
        public String getCodigoProdutoPadrao() {
272
                try {
273
                        return VerificadorUtil.naoEstaNulo(codigo) ? String.format("%06d", new Long(codigo.trim())) : "";
274
                } catch (Exception e) {
275
                        return "";
276
                }
277
        }
278
 
462 blopes 279
        public static String retornarCodigoProdutoPadrao(String codigo) {
280
                try {
281
                        return VerificadorUtil.naoEstaNulo(codigo) ? String.format("%06d", new Long(codigo.trim())) : "";
282
                } catch (Exception e) {
283
                        return "";
284
                }
285
        }
286
 
468 blopes 287
        public String getDescricaoNotaFiscal(String observacaoNotaFiscal) {
288
                StringBuilder descricaoCompleta = new StringBuilder();
289
                if (this.getTipo().equals(TipoProduto.CAPA.getValor())) {
290
                        descricaoCompleta.append("CAPA");
291
                }
292
                if (!this.getTipo().equals(TipoProduto.ACESSORIO.getValor())) {
293
                        descricaoCompleta.append(" ");
294
                        descricaoCompleta.append(this.getDescricaoDoModelo());
295
                }
296
                if (VerificadorUtil.naoEstaNuloOuVazio(this.getEstilo())) {
297
                        descricaoCompleta.append(" ");
298
                        descricaoCompleta.append(this.getDescricaoDoEstilo());
299
                }
300
                descricaoCompleta.append(" ");
301
                if (this.getDescricao().length() > 50) {
302
                        descricaoCompleta.append(this.getDescricao().substring(0, 50));
303
                } else {
304
                        descricaoCompleta.append(this.getDescricao());
305
                }
306
                if (VerificadorUtil.naoEstaNuloOuVazio(this.getCor())) {
307
                        descricaoCompleta.append(" (");
308
                        descricaoCompleta.append(this.getDescricaoDaCor());
309
                        descricaoCompleta.append(")");
310
                }
311
                if (VerificadorUtil.naoEstaNuloOuVazio(observacaoNotaFiscal)) {
312
                        descricaoCompleta.append(" ");
313
                        descricaoCompleta.append(observacaoNotaFiscal);
314
                }
315
                return descricaoCompleta.toString().trim();
316
        }
317
 
318
        public String getDescricaoCompleta() {
319
                StringBuilder descricaoCompleta = new StringBuilder();
320
                if (VerificadorUtil.naoEstaNuloOuVazio(getEstilo())) {
321
                        descricaoCompleta.append(getDescricaoDoEstilo());
322
                        descricaoCompleta.append(" ");
323
                }
324
                descricaoCompleta.append(getDescricao());
325
                if (VerificadorUtil.naoEstaNuloOuVazio(getCor())) {
326
                        descricaoCompleta.append(" (");
327
                        descricaoCompleta.append(getDescricaoDaCor());
328
                        descricaoCompleta.append(")");
329
                }
330
                return descricaoCompleta.toString();
331
        }
332
 
333
        public String getDescricaoComModeloCompletaComCodigo() {
334
                StringBuilder descricaoCompleta = new StringBuilder();
335
                descricaoCompleta.append("[");
336
                descricaoCompleta.append(getCodigoProdutoPadrao());
337
                descricaoCompleta.append("] ");
338
                if (VerificadorUtil.naoEstaNuloOuVazio(getDescricaoDoModelo())) {
339
                        descricaoCompleta.append(getDescricaoDoModelo());
340
                        descricaoCompleta.append(" - ");
341
                }
342
                descricaoCompleta.append(getDescricaoCompleta());
343
                return descricaoCompleta.toString();
344
        }
345
 
346
        public String getDescricaoTecnicaDoModeloComParenteses() {
347
                return VerificadorUtil.naoEstaNulo(getModeloDTO())? VerificadorUtil.naoEstaNulo(getModeloDTO().getDescricaoTecnica())? " (" + getModeloDTO().getDescricaoTecnica() + ") " : "" : "";
348
        }
349
 
350
        @Transient
351
        public String getDescricaoDaMarcaDoModelo() {
352
                return VerificadorUtil.naoEstaNulo(getMarcaDTODoModelo())? getMarcaDTODoModelo().getDescricao() : "";
353
        }
354
 
449 blopes 355
}