Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
778 blopes 1
package br.com.ec.domain.dto;
2
 
3
import java.util.ArrayList;
4
import java.util.Calendar;
5
import java.util.Date;
6
import java.util.GregorianCalendar;
7
import java.util.List;
8
 
9
import br.com.ec.core.util.DataUtils;
10
import br.com.ec.core.util.VerificadorUtil;
11
import br.com.ec.domain.model.tipos.TipoOcorrenciaEscala;
12
 
13
public class FuncionarioEscalaDTO {
14
 
15
        private Long sequencialFuncionario;
16
        private FuncionarioDTO funcionarioDTO;
17
        private Date dataEscala;
18
        private String tipoOcorrenciaEscala;
19
        private String quantidadeHorasTrabalhadas;
20
        private String quantidadeHorasIntervalo;
21
        private String periodo;
22
        private String periodoIntervalo;
23
        private String intervalo;
24
        private String inicioPonto;
25
        private String justificativas;
26
 
27
        private List<FuncionarioEventoDTO> eventosDTO = new ArrayList<FuncionarioEventoDTO>();
28
        private List<BancoHorasDTO> bancoHorasDTO = new ArrayList<BancoHorasDTO>();
29
 
30
        public FuncionarioEscalaDTO() {}
31
 
32
        public FuncionarioEscalaDTO(Long sequencialFuncionario, Date dataEscala, String tipoOcorrenciaEscala) {
33
                this.sequencialFuncionario = sequencialFuncionario;
34
//              this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario);
35
                this.dataEscala = dataEscala;
36
                this.tipoOcorrenciaEscala = tipoOcorrenciaEscala;
37
        }
38
 
39
        public Long getSequencialFuncionario() {
40
                return sequencialFuncionario;
41
        }
42
        public void setSequencialFuncionario(Long sequencialFuncionario) {
43
                this.sequencialFuncionario = sequencialFuncionario;
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 getDataEscala() {
54
                return dataEscala;
55
        }
56
        public void setDataEscala(Date dataEscala) {
57
                this.dataEscala = dataEscala;
58
        }
59
 
60
        public String getTipoOcorrenciaEscala() {
61
                return tipoOcorrenciaEscala;
62
        }
63
        public void setTipoOcorrenciaEscala(String tipoOcorrenciaEscala) {
64
                this.tipoOcorrenciaEscala = tipoOcorrenciaEscala;
65
        }
66
 
67
        public String getQuantidadeHorasTrabalhadas() {
68
                return quantidadeHorasTrabalhadas;
69
        }
70
        public void setQuantidadeHorasTrabalhadas(String quantidadeHorasTrabalhadas) {
71
                this.quantidadeHorasTrabalhadas = quantidadeHorasTrabalhadas;
72
        }
73
 
74
        public String getQuantidadeHorasIntervalo() {
75
                return quantidadeHorasIntervalo;
76
        }
77
        public void setQuantidadeHorasIntervalo(String quantidadeHorasIntervalo) {
78
                this.quantidadeHorasIntervalo = quantidadeHorasIntervalo;
79
        }
80
 
81
        public String getPeriodo() {
82
                return periodo;
83
        }
84
        public void setPeriodo(String periodo) {
85
                this.periodo = periodo;
86
        }
87
 
88
        public String getPeriodoIntervalo() {
89
                return periodoIntervalo;
90
        }
91
        public void setPeriodoIntervalo(String periodoIntervalo) {
92
                this.periodoIntervalo = periodoIntervalo;
93
        }
94
 
95
        public String getIntervalo() {
96
                return intervalo;
97
        }
98
        public void setIntervalo(String intervalo) {
99
                this.intervalo = intervalo;
100
        }
101
 
102
        public String getInicioPonto() {
103
                return inicioPonto;
104
        }
105
        public void setInicioPonto(String inicioPonto) {
106
                this.inicioPonto = inicioPonto;
107
        }
108
 
109
        public String getJustificativas() {
110
                return justificativas;
111
        }
112
        public void setJustificativas(String justificativas) {
113
                this.justificativas = justificativas;
114
        }
115
 
116
        public List<FuncionarioEventoDTO> getEventosDTO() {
117
                return eventosDTO;
118
        }
119
        public void setEventosDTO(List<FuncionarioEventoDTO> eventosDTO) {
120
                this.eventosDTO = eventosDTO;
121
        }
122
 
123
        public List<BancoHorasDTO> getBancoHorasDTO() {
124
                return bancoHorasDTO;
125
        }
126
        public void setBancoHorasDTO(List<BancoHorasDTO> bancoHorasDTO) {
127
                this.bancoHorasDTO = bancoHorasDTO;
128
        }
129
 
130
        public String diaVigencia() {
131
                if (VerificadorUtil.naoEstaNulo(getDataEscala())) {
132
                        return DataUtils.converterDataParaStringNoFormato(getDataEscala(), "dd");
133
                }
134
                return null;
135
        }
136
 
137
        public String letraDiaVigencia() {
138
                if (VerificadorUtil.naoEstaNulo(getDataEscala())) {
139
                        Calendar calendar = new GregorianCalendar();
140
                        calendar.setTime(getDataEscala());
141
                        String nome = "";
142
                        int dia = calendar.get(calendar.DAY_OF_WEEK);
143
                        switch(dia) {
144
                                case Calendar.SUNDAY: nome = "D"; break;
145
                                case Calendar.MONDAY: nome = "S"; break;
146
                                case Calendar.TUESDAY: nome = "T"; break;
147
                                case Calendar.WEDNESDAY: nome = "Q"; break;
148
                                case Calendar.THURSDAY: nome = "Q"; break;
149
                                case Calendar.FRIDAY: nome = "S"; break;
150
                                case Calendar.SATURDAY: nome = "S"; break;
151
                        }
152
                        return nome;
153
                }
154
                return "";
155
        }
156
 
157
        public String corTipoOcorrenciaEscala() {
158
                if (VerificadorUtil.naoEstaNuloOuVazio(getTipoOcorrenciaEscala())) {
159
                        return TipoOcorrenciaEscala.parse(getTipoOcorrenciaEscala()).getCor();
160
                }
161
                return "none";
162
        }
163
 
164
        /*
165
        public void atualizarDadosEscala(Date dataPonto, List<Ponto> pontos) {
166
                setDataEscala(dataPonto);
167
                setTipoOcorrenciaEscala(TipoOcorrenciaEscala.SEM_PONTO.getValor());
168
                for (Ponto ponto : pontos) {
169
                        if (DataUtils.datasIguais(ponto.getDataPonto(), dataPonto)) {
170
                                setQuantidadeHorasTrabalhadas(ponto.getHorasTrabalhadas());
171
                                setQuantidadeHorasIntervalo(ponto.getIntervalo());
172
                                setPeriodo(ponto.getPeriodoTrabalhado());
173
                                setIntervalo(ponto.getIntervalo());
174
                                setPeriodoIntervalo(ponto.getPeriodoIntervaloTrabalhado());
175
                                setInicioPonto(ponto.getInicioPonto());
176
                                setJustificativas(ponto.getJustificativas());
177
                                if (ponto.getPontoCompleto()) {
178
                                        setTipoOcorrenciaEscala(TipoOcorrenciaEscala.PONTO_COMPLETO.getValor());
179
                                } else {
180
                                        setTipoOcorrenciaEscala(TipoOcorrenciaEscala.PONTO_INCOMPLETO.getValor());
181
                                }
182
                        }
183
                }
184
        }
185
        */
186
 
187
        public void atualizarDadosEventos(Date dataPonto, List<FuncionarioEventoDTO> eventos) {
188
                for (FuncionarioEventoDTO eventoDTO : eventos) {
189
                        if (DataUtils.dataEstaIgualOuEntrePeriodos(dataPonto, eventoDTO.getDataInicial(), eventoDTO.getDataFinal())) {
190
                                getEventosDTO().add(eventoDTO);
191
                        }
192
                }
193
        }
194
 
195
        public String corEventosPendentes() {
196
                for (FuncionarioEventoDTO eventoDTO : getEventosDTO()) {
197
                        if (VerificadorUtil.estaNulo(eventoDTO.getUsuarioDTOAuditor())) {
198
                                return "warning";
199
                        }
200
                }
201
                return "success";
202
        }
203
 
204
}