Subversion Repositories Integrator Subversion

Rev

Rev 355 | Go to most recent revision | 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>();
29
 
353 espaco 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
 
355 espaco 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
 
409 espaco 116
        public List<FuncionarioEventoDTO> getEventosDTO() {
117
                return eventosDTO;
118
        }
119
        public void setEventosDTO(List<FuncionarioEventoDTO> eventosDTO) {
120
                this.eventosDTO = eventosDTO;
121
        }
122
 
353 espaco 123
        public String diaVigencia() {
124
                if (VerificadorUtil.naoEstaNulo(getDataEscala())) {
125
                        return DataUtils.converterDataParaStringNoFormato(getDataEscala(), "dd");
126
                }
127
                return null;
128
        }
129
 
130
        public String letraDiaVigencia() {
131
                if (VerificadorUtil.naoEstaNulo(getDataEscala())) {
132
                        Calendar calendar = new GregorianCalendar();
133
                        calendar.setTime(getDataEscala());
134
                        String nome = "";
135
                        int dia = calendar.get(calendar.DAY_OF_WEEK);
136
                        switch(dia) {
137
                                case Calendar.SUNDAY: nome = "D"; break;
138
                                case Calendar.MONDAY: nome = "S"; break;
139
                                case Calendar.TUESDAY: nome = "T"; break;
140
                                case Calendar.WEDNESDAY: nome = "Q"; break;
141
                                case Calendar.THURSDAY: nome = "Q"; break;
142
                                case Calendar.FRIDAY: nome = "S"; break;
143
                                case Calendar.SATURDAY: nome = "S"; break;
144
                        }
145
                        return nome;
146
                }
147
                return "";
148
        }
149
 
150
        public String corTipoOcorrenciaEscala() {
151
                if (VerificadorUtil.naoEstaNuloOuVazio(getTipoOcorrenciaEscala())) {
152
                        return TipoOcorrenciaEscala.parse(getTipoOcorrenciaEscala()).getCor();
153
                }
154
                return "none";
155
        }
355 espaco 156
 
157
        public void atualizarDadosEscala(Date dataPonto, List<Ponto> pontos) {
158
                setDataEscala(dataPonto);
159
                setTipoOcorrenciaEscala(TipoOcorrenciaEscala.SEM_PONTO.getValor());
160
                for (Ponto ponto : pontos) {
161
                        if (DataUtils.datasIguais(ponto.getDataPonto(), dataPonto)) {
162
                                setQuantidadeHorasTrabalhadas(ponto.getHorasTrabalhadas());
163
                                setQuantidadeHorasIntervalo(ponto.getIntervalo());
164
                                setPeriodo(ponto.getPeriodoTrabalhado());
165
                                setIntervalo(ponto.getIntervalo());
166
                                setPeriodoIntervalo(ponto.getPeriodoIntervaloTrabalhado());
167
                                setInicioPonto(ponto.getInicioPonto());
168
                                setJustificativas(ponto.getJustificativas());
169
                                if (ponto.getPontoCompleto()) {
170
                                        setTipoOcorrenciaEscala(TipoOcorrenciaEscala.PONTO_COMPLETO.getValor());
171
                                } else {
172
                                        setTipoOcorrenciaEscala(TipoOcorrenciaEscala.PONTO_INCOMPLETO.getValor());
173
                                }
174
                        }
175
                }
353 espaco 176
        }
177
 
409 espaco 178
        public void atualizarDadosEventos(Date dataPonto, List<FuncionarioEventoDTO> eventos) {
179
                for (FuncionarioEventoDTO eventoDTO : eventos) {
180
                        if (DataUtils.dataEstaIgualOuEntrePeriodos(dataPonto, eventoDTO.getDataInicial(), eventoDTO.getDataFinal())) {
181
                                getEventosDTO().add(eventoDTO);
182
                        }
183
                }
184
        }
185
 
353 espaco 186
}