Subversion Repositories Integrator Subversion

Rev

Rev 708 | 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.io.File;
259 espaco 4
import java.io.Serializable;
5
import java.util.Date;
6
 
526 blopes 7
import javax.faces.context.FacesContext;
259 espaco 8
import javax.persistence.Column;
9
import javax.persistence.Entity;
10
import javax.persistence.GeneratedValue;
11
import javax.persistence.GenerationType;
12
import javax.persistence.Id;
13
import javax.persistence.SequenceGenerator;
14
import javax.persistence.Table;
648 blopes 15
import javax.persistence.Transient;
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;
648 blopes 25
import br.com.ec.domain.model.tipos.TipoSituacoesVigencia;
526 blopes 26
import br.com.ec.domain.shared.ConstantesSEC;
259 espaco 27
 
28
@Entity
29
@Table(name="sec_vigencia", schema="sc_sec")
30
public class Vigencia implements Serializable {
31
 
32
        private static final long serialVersionUID = 1L;
33
 
34
        private Long sequencial;
35
        private String descricao;
36
        private Date dataInicio;
37
        private Date dataFim;
38
 
648 blopes 39
        // SITUAÇÕES: PENDENTE, EM ANDAMENTO, FINALIZADA
732 blopes 40
        private String tipoSituacaoValeTransporte; //tip_situacao_valetransporte
648 blopes 41
        private String tipoSituacaoFolha; //tip_situacao_folha
708 blopes 42
        private String tipoSituacaoConciliacaoBancaria; //tip_situacao_folha
648 blopes 43
 
44
        /*
45
        private String tipoSituacaoEscala; //tip_situacao_escala
46
        private String tipoSituacaoMetas; //tip_situacao_metas
47
        private String tipoSituacaoAvaliacoes; //tip_situacao_avaliacoes
48
        private String tipoSituacaoProvisaoFerias; //tip_situacao_provisaoferias
49
        private String tipoSituacaoNotasFiscais; //tip_situacao_notasfiscais
50
 
51
        private String tipoSituacaoConsolidacao; //tip_situacao_consolidacao
52
        */
53
 
259 espaco 54
        public Vigencia() {}
55
 
439 espaco 56
        public Vigencia(Long sequencial) {
57
                this.sequencial = sequencial;
58
        }
59
 
259 espaco 60
        public Vigencia(Long sequencial, String descricao) {
61
                this.sequencial = sequencial;
62
                this.descricao = descricao;
63
        }
64
 
65
        @Id
66
        @SequenceGenerator(name = "sq_vigencia")
67
        @GeneratedValue(strategy = GenerationType.IDENTITY)
68
        @Column(name="seq_vigencia", nullable=false)
69
        public Long getSequencial() {
70
                return sequencial;
71
        }
72
        public void setSequencial(Long sequencial) {
73
                this.sequencial = sequencial;
74
        }
75
 
76
        @Column(name="dsc_vigencia")
77
        @Size(max = 10, message = "Limite de caracteres ultrapassado: Vigência")
78
        @NotNull(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
79
        @NotEmpty(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
80
        public String getDescricao() {
81
                return descricao;
82
        }
83
        public void setDescricao(String descricao) {
84
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
85
        }
86
 
87
        @Column(name="dth_inicio")
88
        @NotNull(message="Obrigatório informar a data de início", groups={Cadastrar.class, Alterar.class})
89
        public Date getDataInicio() {
90
                return dataInicio;
91
        }
92
        public void setDataInicio(Date dataInicio) {
93
                this.dataInicio = dataInicio;
94
        }
95
 
96
        @Column(name="dth_fim")
97
        @NotNull(message="Obrigatório informar a data de fim", groups={Cadastrar.class, Alterar.class})
98
        public Date getDataFim() {
99
                return dataFim;
100
        }
101
        public void setDataFim(Date dataFim) {
102
                this.dataFim = dataFim;
103
        }
648 blopes 104
 
732 blopes 105
        @Column(name="tip_situacao_valetransporte")
106
        @NotNull(message="Obrigatório informar a situação do vale transporte", groups={Cadastrar.class, Alterar.class})
107
        public String getTipoSituacaoValeTransporte() {
108
                return tipoSituacaoValeTransporte;
109
        }
110
        public void setTipoSituacaoValeTransporte(String tipoSituacaoValeTransporte) {
111
                this.tipoSituacaoValeTransporte = tipoSituacaoValeTransporte;
112
        }
113
        @Transient
114
        public String descricaoSituacaoValeTransporte() {
115
                return TipoSituacoesVigencia.parse(getTipoSituacaoValeTransporte()).getDescricao();
116
        }
117
        @Transient
118
        public String corSituacaoValeTransporte() {
119
                return TipoSituacoesVigencia.parse(getTipoSituacaoValeTransporte()).getCor();
120
        }
121
 
648 blopes 122
        @Column(name="tip_situacao_folha")
123
        @NotNull(message="Obrigatório informar a situação da folha de pagamento", groups={Cadastrar.class, Alterar.class})
124
        public String getTipoSituacaoFolha() {
125
                return tipoSituacaoFolha;
126
        }
127
        public void setTipoSituacaoFolha(String tipoSituacaoFolha) {
128
                this.tipoSituacaoFolha = tipoSituacaoFolha;
129
        }
130
        @Transient
131
        public String descricaoSituacaoFolha() {
132
                return TipoSituacoesVigencia.parse(getTipoSituacaoFolha()).getDescricao();
133
        }
134
        @Transient
135
        public String corSituacaoFolha() {
136
                return TipoSituacoesVigencia.parse(getTipoSituacaoFolha()).getCor();
137
        }
138
 
708 blopes 139
        @Column(name="tip_situacao_conciliacaobanc")
140
        @NotNull(message="Obrigatório informar a situação da conciliação bancária", groups={Cadastrar.class, Alterar.class})
141
        public String getTipoSituacaoConciliacaoBancaria() {
142
                return tipoSituacaoConciliacaoBancaria;
143
        }
144
        public void setTipoSituacaoConciliacaoBancaria(String tipoSituacaoConciliacaoBancaria) {
145
                this.tipoSituacaoConciliacaoBancaria = tipoSituacaoConciliacaoBancaria;
146
        }
147
        @Transient
148
        public String descricaoSituacaoConciliacaoBancaria() {
149
                return TipoSituacoesVigencia.parse(getTipoSituacaoConciliacaoBancaria()).getDescricao();
150
        }
151
        @Transient
152
        public String corSituacaoConciliacaoBancaria() {
153
                return TipoSituacoesVigencia.parse(getTipoSituacaoConciliacaoBancaria()).getCor();
154
        }
155
 
259 espaco 156
        @Override
157
        public int hashCode() {
158
                final int prime = 31;
159
                int result = 1;
160
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
161
                return result;
162
        }
163
 
164
        @Override
165
        public boolean equals(Object obj) {
166
                if (this == obj)
167
                        return true;
168
                if (obj == null)
169
                        return false;
170
                if (getClass() != obj.getClass())
171
                        return false;
172
                Vigencia other = (Vigencia) obj;
173
                if (sequencial == null) {
174
                        if (other.sequencial != null)
175
                                return false;
176
                } else if (!sequencial.equals(other.sequencial))
177
                        return false;
178
                return true;
179
        }
526 blopes 180
 
181
        /********************************************/
259 espaco 182
 
526 blopes 183
        @Transient
184
        public String caminhoPadraoImagens() {
530 blopes 185
                return ConstantesSEC.TESTE_EMISSAO_LOCAL? ConstantesSEC.Imagem.CAMINHO_PADRAO_LOCAL : ConstantesSEC.Imagem.CAMINHO_PADRAO_SERVIDOR;
526 blopes 186
        }
187
 
188
        @Transient
189
        public String caminhoPastaImagens() {
190
                ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
191
                return ConstantesSEC.TESTE_EMISSAO_LOCAL?
192
                                servletContext.getRealPath("") + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator :
193
                                servletContext.getRealPath("") + File.separator + ".." + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator;
194
        }
195
 
196
        @Transient
528 blopes 197
        public String imagemPromocoes() {
526 blopes 198
                return retornarImagemPngOuJpg("promocoes_");
199
        }
200
 
201
        @Transient
202
        public String imagemEscala() {
203
                return retornarImagemPngOuJpg("escala_");
204
        }
205
 
639 blopes 206
        @Transient
207
        public String imagemDestaques() {
208
                return retornarImagemPngOuJpg("destaques_");
209
        }
210
 
526 blopes 211
        private String retornarImagemPngOuJpg(String pasta) {
212
                File foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".jpg");
213
                if (foto.exists()) {
214
                        return caminhoPadraoImagens() + pasta + getSequencial() + ".jpg";
215
                }
528 blopes 216
                foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".jpeg");
217
                if (foto.exists()) {
218
                        return caminhoPadraoImagens() + pasta + getSequencial() + ".jpeg";
219
                }
526 blopes 220
                if (!foto.exists()) {
221
                        foto = new File(caminhoPastaImagens() + pasta + getSequencial() + ".png");
222
                }
223
                return foto.exists()? caminhoPadraoImagens() + pasta + getSequencial() + ".png" : caminhoPadraoImagens() + "SEM_IMAGEM.png";
224
        }
225
 
259 espaco 226
}