Subversion Repositories Integrator Subversion

Rev

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