Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

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