Subversion Repositories Integrator Subversion

Rev

Rev 412 | Rev 439 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 espaco 1
package br.com.ec.domain.dto;
2
 
409 espaco 3
import java.util.Calendar;
279 espaco 4
import java.util.List;
5
 
430 espaco 6
import javax.persistence.Transient;
7
 
259 espaco 8
import org.primefaces.model.charts.bar.BarChartModel;
9
import org.primefaces.model.charts.pie.PieChartModel;
10
 
409 espaco 11
import br.com.ec.core.util.DataUtils;
12
import br.com.ec.core.util.VerificadorUtil;
279 espaco 13
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
409 espaco 14
import br.com.ec.domain.model.tipos.TipoFuncionarioEvento;
279 espaco 15
 
259 espaco 16
public class FuncionarioDTO {
17
 
18
        private Long sequencialFuncionario;
430 espaco 19
        private PessoaDTO pessoaDTO;
20
        private Integer codigoContabilidade;
259 espaco 21
 
430 espaco 22
        /*
23
        private Long sequencial;
24
        private Pessoa pessoa;
25
        private Date admissao;
26
        private Date demissao;
27
        private String pis;
28
        private String ctps;
29
        private String ctpsSerie;
30
        private String ctpsUf;
31
        private Double salario;
32
        private String tipoComissionamento;
33
        private String tamanhoFardamento;
34
        private Boolean primeiroEmprego;
35
        private Boolean optantePeloFGTS;
36
        private Boolean ativo;
37
        */
38
 
325 espaco 39
        private UsuarioDTO usuarioDTO;
40
        private List<PessoaPapelDTO> papeisDTO;
41
        private List<EnderecoDTO> enderecosDTO;
42
        private VendedorDTO vendedorDTO;
43
 
44
        private Boolean funcionarioAdmitido;
353 espaco 45
        private List<FuncionarioFeriasDTO> feriasDTO;
325 espaco 46
 
353 espaco 47
        private VigenciaDTO vigenciaEscalaDTO;
48
        private List<FuncionarioEscalaDTO> listaFuncionarioEscalaDTO;
412 espaco 49
        private List<FuncionarioEventoDTO> listaFuncionarioEventoDTO;
50
        private List<BancoHorasDTO> listaBancoHorasDTO;
51
        private List<BancoHorasDTO> listaBancoHorasDTOAnoVigente;
353 espaco 52
 
325 espaco 53
        public FuncionarioDTO() {}
54
 
55
        public static String CONSULTA_DTO_COMPLETA = "e.sequencial, e.pessoa.sequencial, e.pessoa.nome";
56
        public FuncionarioDTO(Long sequencialFuncionario, Long sequencialPessoa, String nome) {
57
                super();
58
                this.sequencialFuncionario = sequencialFuncionario;
430 espaco 59
                this.pessoaDTO = new PessoaDTO(sequencialPessoa, nome);
325 espaco 60
        }
61
 
430 espaco 62
        public FuncionarioDTO(Long sequencialFuncionario, Long sequencialPessoa, String nome, Integer codigoContabilidade) {
325 espaco 63
                super();
64
                this.sequencialFuncionario = sequencialFuncionario;
430 espaco 65
                this.pessoaDTO = new PessoaDTO(sequencialPessoa, nome);
66
                this.codigoContabilidade = codigoContabilidade;
325 espaco 67
        }
68
 
259 espaco 69
        private Long sequencialUsuario;
70
 
279 espaco 71
        private List<AvaliacaoFuncionarioDTO> avaliacoesDTO;
72
        private List<ExameFuncionarioDTO> examesDTO;
73
        private List<AtestadoFuncionarioDTO> atestadosDTO;
74
        private List<PontoDTO> pontosDTO;
75
 
259 espaco 76
        private FuncionarioCustosDTO custosDTO;
77
 
279 espaco 78
        private GraficoBarraDTO graficoCustos;
79
 
259 espaco 80
        private PieChartModel graficoTiposProdutos;
81
        private PieChartModel graficoFormasPagamento;
82
        private BarChartModel graficoComparativoCustosLucro;
83
 
84
        public Long getSequencialFuncionario() {
85
                return sequencialFuncionario;
86
        }
87
        public void setSequencialFuncionario(Long sequencialFuncionario) {
88
                this.sequencialFuncionario = sequencialFuncionario;
89
        }
90
 
430 espaco 91
        public PessoaDTO getPessoaDTO() {
92
                return pessoaDTO;
259 espaco 93
        }
430 espaco 94
        public void setPessoaDTO(PessoaDTO pessoaDTO) {
95
                this.pessoaDTO = pessoaDTO;
259 espaco 96
        }
97
 
430 espaco 98
        public Integer getCodigoContabilidade() {
99
                return codigoContabilidade;
259 espaco 100
        }
430 espaco 101
        public void setCodigoContabilidade(Integer codigoContabilidade) {
102
                this.codigoContabilidade = codigoContabilidade;
259 espaco 103
        }
104
 
325 espaco 105
        public UsuarioDTO getUsuarioDTO() {
106
                return usuarioDTO;
259 espaco 107
        }
325 espaco 108
        public void setUsuarioDTO(UsuarioDTO usuarioDTO) {
109
                this.usuarioDTO = usuarioDTO;
259 espaco 110
        }
111
 
325 espaco 112
        public List<PessoaPapelDTO> getPapeisDTO() {
113
                return papeisDTO;
114
        }
115
        public void setPapeisDTO(List<PessoaPapelDTO> papeisDTO) {
116
                this.papeisDTO = papeisDTO;
117
        }
118
 
119
        public List<EnderecoDTO> getEnderecosDTO() {
120
                return enderecosDTO;
121
        }
122
        public void setEnderecosDTO(List<EnderecoDTO> enderecosDTO) {
123
                this.enderecosDTO = enderecosDTO;
124
        }
125
 
259 espaco 126
        public VendedorDTO getVendedorDTO() {
127
                return vendedorDTO;
128
        }
129
        public void setVendedorDTO(VendedorDTO vendedorDTO) {
130
                this.vendedorDTO = vendedorDTO;
131
        }
132
 
325 espaco 133
        /***************************************************/
134
 
135
        public Boolean getFuncionarioAdmitido() {
136
                return funcionarioAdmitido;
137
        }
138
        public void setFuncionarioAdmitido(Boolean funcionarioAdmitido) {
139
                this.funcionarioAdmitido = funcionarioAdmitido;
140
        }
141
 
353 espaco 142
        public List<FuncionarioFeriasDTO> getFeriasDTO() {
143
                return feriasDTO;
144
        }
145
        public void setFeriasDTO(List<FuncionarioFeriasDTO> feriasDTO) {
146
                this.feriasDTO = feriasDTO;
147
        }
148
 
149
        public VigenciaDTO getVigenciaEscalaDTO() {
150
                return vigenciaEscalaDTO;
151
        }
152
        public void setVigenciaEscalaDTO(VigenciaDTO vigenciaEscalaDTO) {
153
                this.vigenciaEscalaDTO = vigenciaEscalaDTO;
154
        }
155
 
156
        public List<FuncionarioEscalaDTO> getListaFuncionarioEscalaDTO() {
157
                return listaFuncionarioEscalaDTO;
158
        }
159
        public void setListaFuncionarioEscalaDTO(List<FuncionarioEscalaDTO> listaFuncionarioEscalaDTO) {
160
                this.listaFuncionarioEscalaDTO = listaFuncionarioEscalaDTO;
161
        }
162
 
412 espaco 163
        public List<FuncionarioEventoDTO> getListaFuncionarioEventoDTO() {
164
                return listaFuncionarioEventoDTO;
409 espaco 165
        }
412 espaco 166
        public void setListaFuncionarioEventoDTO(List<FuncionarioEventoDTO> listaFuncionarioEventoDTO) {
167
                this.listaFuncionarioEventoDTO = listaFuncionarioEventoDTO;
409 espaco 168
        }
169
 
412 espaco 170
        public List<BancoHorasDTO> getListaBancoHorasDTO() {
171
                return listaBancoHorasDTO;
172
        }
173
        public void setListaBancoHorasDTO(List<BancoHorasDTO> listaBancoHorasDTO) {
174
                this.listaBancoHorasDTO = listaBancoHorasDTO;
175
        }
176
 
177
        public List<BancoHorasDTO> getListaBancoHorasDTOAnoVigente() {
178
                return listaBancoHorasDTOAnoVigente;
179
        }
180
        public void setListaBancoHorasDTOAnoVigente(List<BancoHorasDTO> listaBancoHorasDTOAnoVigente) {
181
                this.listaBancoHorasDTOAnoVigente = listaBancoHorasDTOAnoVigente;
182
        }
183
 
325 espaco 184
        public Long getSequencialUsuario() {
185
                return sequencialUsuario;
186
        }
187
        public void setSequencialUsuario(Long sequencialUsuario) {
188
                this.sequencialUsuario = sequencialUsuario;
189
        }
190
 
279 espaco 191
        public List<AvaliacaoFuncionarioDTO> getAvaliacoesDTO() {
192
                return avaliacoesDTO;
193
        }
194
        public void setAvaliacoesDTO(List<AvaliacaoFuncionarioDTO> avaliacoesDTO) {
195
                this.avaliacoesDTO = avaliacoesDTO;
196
        }
197
 
198
        public List<ExameFuncionarioDTO> getExamesDTO() {
199
                return examesDTO;
200
        }
201
        public void setExamesDTO(List<ExameFuncionarioDTO> examesDTO) {
202
                this.examesDTO = examesDTO;
203
        }
204
 
205
        public List<AtestadoFuncionarioDTO> getAtestadosDTO() {
206
                return atestadosDTO;
207
        }
208
        public void setAtestadosDTO(List<AtestadoFuncionarioDTO> atestadosDTO) {
209
                this.atestadosDTO = atestadosDTO;
210
        }
211
 
212
        public List<PontoDTO> getPontosDTO() {
213
                return pontosDTO;
214
        }
215
        public void setPontosDTO(List<PontoDTO> pontosDTO) {
216
                this.pontosDTO = pontosDTO;
217
        }
218
 
259 espaco 219
        public FuncionarioCustosDTO getCustosDTO() {
220
                return custosDTO;
221
        }
222
        public void setCustosDTO(FuncionarioCustosDTO custosDTO) {
223
                this.custosDTO = custosDTO;
224
        }
225
 
279 espaco 226
        public GraficoBarraDTO getGraficoCustos() {
227
                return graficoCustos;
228
        }
229
        public void setGraficoCustos(GraficoBarraDTO graficoCustos) {
230
                this.graficoCustos = graficoCustos;
231
        }
232
 
259 espaco 233
        public PieChartModel getGraficoTiposProdutos() {
234
                return graficoTiposProdutos;
235
        }
236
        public void setGraficoTiposProdutos(PieChartModel graficoTiposProdutos) {
237
                this.graficoTiposProdutos = graficoTiposProdutos;
238
        }
239
 
240
        public PieChartModel getGraficoFormasPagamento() {
241
                return graficoFormasPagamento;
242
        }
243
        public void setGraficoFormasPagamento(PieChartModel graficoFormasPagamento) {
244
                this.graficoFormasPagamento = graficoFormasPagamento;
245
        }
246
 
247
        public BarChartModel getGraficoComparativoCustosLucro() {
248
                return graficoComparativoCustosLucro;
249
        }
250
        public void setGraficoComparativoCustosLucro(BarChartModel graficoComparativoCustosLucro) {
251
                this.graficoComparativoCustosLucro = graficoComparativoCustosLucro;
252
        }
325 espaco 253
 
259 espaco 254
        @Override
255
        public int hashCode() {
256
                final int prime = 31;
257
                int result = 1;
258
                result = prime * result + ((sequencialFuncionario == null) ? 0 : sequencialFuncionario.hashCode());
259
                return result;
260
        }
261
 
262
        @Override
263
        public boolean equals(Object obj) {
264
                if (this == obj)
265
                        return true;
266
                if (obj == null)
267
                        return false;
268
                if (getClass() != obj.getClass())
269
                        return false;
270
                FuncionarioDTO other = (FuncionarioDTO) obj;
271
                if (sequencialFuncionario == null) {
272
                        if (other.sequencialFuncionario != null)
273
                                return false;
274
                } else if (!sequencialFuncionario.equals(other.sequencialFuncionario))
275
                        return false;
276
                return true;
277
        }
278
 
409 espaco 279
        public Integer getQuantidadeDiasTrabalhados() {
280
                Integer quantidadeDiasTrabalhados = 0;
281
                if (VerificadorUtil.naoEstaNulo(getListaFuncionarioEscalaDTO())) {
282
                        for (FuncionarioEscalaDTO escalaDTO : getListaFuncionarioEscalaDTO()) {
283
                                if (escalaDTO.getPeriodo() != null) {
284
                                        quantidadeDiasTrabalhados++;
285
                                }
286
                        }
287
                }
288
                return quantidadeDiasTrabalhados;
289
        }
290
 
291
        public Integer getQuantidadeDiasNaoTrabalhados() {
292
                return DataUtils.obterCalendario(getVigenciaEscalaDTO().getDataFim()).get(Calendar.DAY_OF_MONTH) - getQuantidadeDiasTrabalhados();
293
        }
294
 
295
        public Integer getQuantidadeFaltas() {
296
                Integer quantidadeFaltas = 0;
297
                if (VerificadorUtil.naoEstaNulo(getListaFuncionarioEscalaDTO())) {
298
                        for (FuncionarioEscalaDTO escalaDTO : getListaFuncionarioEscalaDTO()) {
299
                                for (FuncionarioEventoDTO evento : escalaDTO.getEventosDTO()) {
300
                                        if (evento.getTipo().equals(TipoFuncionarioEvento.FALTA.getValor())) {
301
                                                quantidadeFaltas++;
302
                                        }
303
                                }
304
                        }
305
                }
306
                return quantidadeFaltas;
307
        }
308
 
412 espaco 309
        public Double saldoBancoHoras() {
310
                Double saldo = new Double(0.0);
311
                for (BancoHorasDTO bancoHorasDTO : getListaBancoHorasDTO()) {
312
                        saldo = saldo + bancoHorasDTO.getValor();
313
                }
314
                return saldo;
315
        }
430 espaco 316
 
317
        @Transient
318
        public Long getSequencialPessoaDoFuncionario() {
319
                return VerificadorUtil.naoEstaNulo(getPessoaDTO())? getPessoaDTO().getSequencial() : null;
320
        }
412 espaco 321
 
430 espaco 322
        @Transient
323
        public String getNomeDaPessoa() {
324
                return VerificadorUtil.naoEstaNulo(getPessoaDTO())? getPessoaDTO().getNome() : null;
325
        }
326
 
327
        @Transient
328
        public String getEmailDaPessoa() {
329
                return VerificadorUtil.naoEstaNulo(getPessoaDTO())? getPessoaDTO().getEmail() : null;
330
        }
331
 
259 espaco 332
}