Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
744 blopes 1
package br.com.ec.domain.dto;
2
 
3
import java.util.Date;
4
 
5
import br.com.ec.core.util.DataUtils;
6
import br.com.ec.core.util.StringUtil;
7
import br.com.ec.core.util.VerificadorUtil;
8
 
9
public class FuncionarioFeriasDTO {
10
 
11
        private Long sequencialFuncionarioFerias;
12
        private FuncionarioDTO funcionarioDTO;
13
        private Date dataInicial;
14
        private Date dataFinal;
15
        private Integer quantidadeDiasFerias = 30;
16
        private Integer quantidadeDiasAquisicaoFerias = 365;
17
        private Date dataInicialAquisicao;
18
        private Date dataFinalAquisicao;
19
        private Boolean confirmada;
20
        private String observacao;
21
        private Boolean executada;
22
 
23
        public FuncionarioFeriasDTO() {}
24
 
25
        public FuncionarioFeriasDTO(Long sequencialFuncionarioFerias, Long sequencialFuncionario, Long sequencialPessoa, String nomeFuncionario,
26
                        Date dataInicial, Date dataFinal, Date dataInicialAquisicao, Date dataFinalAquisicao, Boolean confirmada, String observacao,
27
                        Boolean executada) {
28
                this.sequencialFuncionarioFerias = sequencialFuncionarioFerias;
29
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario);
30
                this.dataInicial = dataInicial;
31
                this.dataFinal = dataFinal;
32
                this.dataInicialAquisicao = dataInicialAquisicao;
33
                this.dataFinalAquisicao = dataFinalAquisicao;
34
                this.confirmada = confirmada;
35
                this.observacao = observacao;
36
                this.executada = executada;
37
        }
38
 
39
        public Long getSequencialFuncionarioFerias() {
40
                return sequencialFuncionarioFerias;
41
        }
42
        public void setSequencialFuncionarioFerias(Long sequencialFuncionarioFerias) {
43
                this.sequencialFuncionarioFerias = sequencialFuncionarioFerias;
44
        }
45
 
46
        public FuncionarioDTO getFuncionarioDTO() {
47
                return funcionarioDTO;
48
        }
49
        public void setFuncionarioDTO(FuncionarioDTO funcionarioDTO) {
50
                this.funcionarioDTO = funcionarioDTO;
51
        }
52
 
53
        public Date getDataInicial() {
54
                return dataInicial;
55
        }
56
        public void setDataInicial(Date dataInicial) {
57
                this.dataInicial = dataInicial;
58
        }
59
 
60
        public Date getDataFinal() {
61
                return dataFinal;
62
        }
63
        public void setDataFinal(Date dataFinal) {
64
                this.dataFinal = dataFinal;
65
        }
66
 
67
        public Integer getQuantidadeDiasFerias() {
68
                return quantidadeDiasFerias;
69
        }
70
        public void setQuantidadeDiasFerias(Integer quantidadeDiasFerias) {
71
                this.quantidadeDiasFerias = quantidadeDiasFerias;
72
        }
73
 
74
        public Integer getQuantidadeDiasAquisicaoFerias() {
75
                return quantidadeDiasAquisicaoFerias;
76
        }
77
        public void setQuantidadeDiasAquisicaoFerias(Integer quantidadeDiasAquisicaoFerias) {
78
                this.quantidadeDiasAquisicaoFerias = quantidadeDiasAquisicaoFerias;
79
        }
80
 
81
        public Date getDataInicialAquisicao() {
82
                return dataInicialAquisicao;
83
        }
84
        public void setDataInicialAquisicao(Date dataInicialAquisicao) {
85
                this.dataInicialAquisicao = dataInicialAquisicao;
86
        }
87
 
88
        public Date getDataFinalAquisicao() {
89
                return dataFinalAquisicao;
90
        }
91
        public void setDataFinalAquisicao(Date dataFinalAquisicao) {
92
                this.dataFinalAquisicao = dataFinalAquisicao;
93
        }
94
 
95
        public Boolean getConfirmada() {
96
                return confirmada;
97
        }
98
        public void setConfirmada(Boolean confirmada) {
99
                this.confirmada = confirmada;
100
        }
101
 
102
        public String getObservacao() {
103
                return observacao;
104
        }
105
        public void setObservacao(String observacao) {
106
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
107
        }
108
 
109
        public Boolean getExecutada() {
110
                return executada;
111
        }
112
        public void setExecutada(Boolean executada) {
113
                this.executada = executada;
114
        }
115
 
116
        public Boolean estaProvisionada() {
117
                if (VerificadorUtil.naoEstaNulo(getDataInicial())) {
118
                        return getDataInicial().after(DataUtils.getDataAtual());
119
                }
120
                return false;
121
        }
122
 
123
        public Boolean precisaProvisionar() {
124
                if (VerificadorUtil.naoEstaNulo(getDataFinalAquisicao()) && VerificadorUtil.estaNulo(getDataInicial())) {
125
                        return getDataFinalAquisicao().before(DataUtils.getDataAtual());
126
                }
127
                return (VerificadorUtil.estaNulo(getDataInicial()) && VerificadorUtil.estaNulo(getDataInicialAquisicao()));
128
        }
129
 
130
        public Integer diasVencido() {
131
                if (VerificadorUtil.naoEstaNulo(getDataFinalAquisicao())) {
132
                        Integer quantidadeDias = DataUtils.calcularDiferenceEmDiasEntreDuasDatas(DataUtils.getDataAtual(), getDataFinalAquisicao());
133
                        if (quantidadeDias > 0) {
134
                                return quantidadeDias;
135
                        }
136
                }
137
                return null;
138
        }
139
 
140
        public void provisionarDataFinal() {
141
                if (VerificadorUtil.naoEstaNulo(getDataInicial())) {
142
                        setDataFinal(DataUtils.acrescentarDias(getDataInicial(), getQuantidadeDiasFerias()-1));
143
                }
144
        }
145
 
146
        public void provisionarDataAquisicaoFinal() {
147
                if (VerificadorUtil.naoEstaNulo(getDataInicialAquisicao())) {
148
                        setDataFinalAquisicao(DataUtils.acrescentarDias(getDataInicialAquisicao(), getQuantidadeDiasAquisicaoFerias()-1));
149
                }
150
        }
151
 
152
}