Subversion Repositories Integrator Subversion

Rev

Rev 409 | Details | Compare with Previous | Last modification | View Log | RSS feed

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