Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
259 espaco 1
package br.com.ec.domain.model;
2
 
526 blopes 3
import java.beans.Transient;
4
import java.io.File;
259 espaco 5
import java.io.Serializable;
6
import java.util.Date;
7
 
526 blopes 8
import javax.faces.context.FacesContext;
259 espaco 9
import javax.persistence.Column;
10
import javax.persistence.Entity;
11
import javax.persistence.GeneratedValue;
12
import javax.persistence.GenerationType;
13
import javax.persistence.Id;
14
import javax.persistence.SequenceGenerator;
15
import javax.persistence.Table;
526 blopes 16
import javax.servlet.ServletContext;
259 espaco 17
import javax.validation.constraints.NotNull;
18
import javax.validation.constraints.Size;
19
 
20
import org.hibernate.validator.constraints.NotEmpty;
21
 
22
import br.com.ec.core.interfaces.Alterar;
23
import br.com.ec.core.interfaces.Cadastrar;
24
import br.com.ec.core.util.StringUtil;
526 blopes 25
import br.com.ec.domain.shared.ConstantesSEC;
259 espaco 26
 
27
@Entity
28
@Table(name="sec_vigencia", schema="sc_sec")
29
public class Vigencia implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private Long sequencial;
34
        private String descricao;
35
        private Date dataInicio;
36
        private Date dataFim;
37
 
38
        public Vigencia() {}
39
 
439 espaco 40
        public Vigencia(Long sequencial) {
41
                this.sequencial = sequencial;
42
        }
43
 
259 espaco 44
        public Vigencia(Long sequencial, String descricao) {
45
                this.sequencial = sequencial;
46
                this.descricao = descricao;
47
        }
48
 
49
        @Id
50
        @SequenceGenerator(name = "sq_vigencia")
51
        @GeneratedValue(strategy = GenerationType.IDENTITY)
52
        @Column(name="seq_vigencia", nullable=false)
53
        public Long getSequencial() {
54
                return sequencial;
55
        }
56
        public void setSequencial(Long sequencial) {
57
                this.sequencial = sequencial;
58
        }
59
 
60
        @Column(name="dsc_vigencia")
61
        @Size(max = 10, message = "Limite de caracteres ultrapassado: Vigência")
62
        @NotNull(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
63
        @NotEmpty(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
64
        public String getDescricao() {
65
                return descricao;
66
        }
67
        public void setDescricao(String descricao) {
68
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
69
        }
70
 
71
        @Column(name="dth_inicio")
72
        @NotNull(message="Obrigatório informar a data de início", groups={Cadastrar.class, Alterar.class})
73
        public Date getDataInicio() {
74
                return dataInicio;
75
        }
76
        public void setDataInicio(Date dataInicio) {
77
                this.dataInicio = dataInicio;
78
        }
79
 
80
        @Column(name="dth_fim")
81
        @NotNull(message="Obrigatório informar a data de fim", groups={Cadastrar.class, Alterar.class})
82
        public Date getDataFim() {
83
                return dataFim;
84
        }
85
        public void setDataFim(Date dataFim) {
86
                this.dataFim = dataFim;
87
        }
88
 
89
        @Override
90
        public int hashCode() {
91
                final int prime = 31;
92
                int result = 1;
93
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
94
                return result;
95
        }
96
 
97
        @Override
98
        public boolean equals(Object obj) {
99
                if (this == obj)
100
                        return true;
101
                if (obj == null)
102
                        return false;
103
                if (getClass() != obj.getClass())
104
                        return false;
105
                Vigencia other = (Vigencia) obj;
106
                if (sequencial == null) {
107
                        if (other.sequencial != null)
108
                                return false;
109
                } else if (!sequencial.equals(other.sequencial))
110
                        return false;
111
                return true;
112
        }
526 blopes 113
 
114
        /********************************************/
259 espaco 115
 
526 blopes 116
        @Transient
117
        public String caminhoPadraoImagens() {
530 blopes 118
                return ConstantesSEC.TESTE_EMISSAO_LOCAL? ConstantesSEC.Imagem.CAMINHO_PADRAO_LOCAL : ConstantesSEC.Imagem.CAMINHO_PADRAO_SERVIDOR;
526 blopes 119
        }
120
 
121
        @Transient
122
        public String caminhoPastaImagens() {
123
                ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
124
                return ConstantesSEC.TESTE_EMISSAO_LOCAL?
125
                                servletContext.getRealPath("") + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator :
126
                                servletContext.getRealPath("") + File.separator + ".." + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator;
127
        }
128
 
129
        @Transient
528 blopes 130
        public String imagemPromocoes() {
526 blopes 131
                return retornarImagemPngOuJpg("promocoes_");
132
        }
133
 
134
        @Transient
135
        public String imagemEscala() {
136
                return retornarImagemPngOuJpg("escala_");
137
        }
138
 
639 blopes 139
        @Transient
140
        public String imagemDestaques() {
141
                return retornarImagemPngOuJpg("destaques_");
142
        }
143
 
526 blopes 144
        private String retornarImagemPngOuJpg(String pasta) {
145
                File foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".jpg");
146
                if (foto.exists()) {
147
                        return caminhoPadraoImagens() + pasta + getSequencial() + ".jpg";
148
                }
528 blopes 149
                foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".jpeg");
150
                if (foto.exists()) {
151
                        return caminhoPadraoImagens() + pasta + getSequencial() + ".jpeg";
152
                }
526 blopes 153
                if (!foto.exists()) {
154
                        foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".png");
155
                }
156
                return foto.exists()? caminhoPadraoImagens() + pasta + getSequencial() + ".png" : caminhoPadraoImagens() + "SEM_IMAGEM.png";
157
        }
158
 
259 espaco 159
}