Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
610 blopes 1
package br.com.ec.controller;
2
 
732 blopes 3
import java.io.IOException;
610 blopes 4
import java.io.Serializable;
5
import java.util.ArrayList;
6
import java.util.Date;
7
import java.util.List;
8
 
732 blopes 9
import javax.annotation.PostConstruct;
610 blopes 10
import javax.inject.Inject;
11
import javax.inject.Named;
12
 
13
import org.primefaces.model.file.UploadedFile;
14
import org.springframework.context.annotation.Scope;
15
 
16
import br.com.ec.controller.consultademanda.AvaliacaoConsultaPorDemanda;
17
import br.com.ec.core.consulta.ParametrosConsulta;
18
import br.com.ec.core.generic.GenericService;
19
import br.com.ec.core.util.VerificadorUtil;
20
import br.com.ec.domain.dto.AvaliacaoDTO;
732 blopes 21
import br.com.ec.domain.dto.ParcelaDTO;
610 blopes 22
import br.com.ec.domain.dto.ValeTransporteDTO;
23
import br.com.ec.domain.dto.ValeTransporteFuncionarioDTO;
24
import br.com.ec.domain.dto.ValeTransporteFuncionarioExtraidoDTO;
732 blopes 25
import br.com.ec.domain.dto.VigenciaDTO;
610 blopes 26
import br.com.ec.domain.model.Avaliacao;
732 blopes 27
import br.com.ec.domain.model.tipos.TipoSituacoesVigencia;
28
import br.com.ec.domain.service.AvaliacaoService;
610 blopes 29
import br.com.ec.domain.service.ParcelaService;
30
import br.com.ec.domain.service.ValeTransporteService;
732 blopes 31
import br.com.ec.domain.service.VigenciaService;
610 blopes 32
import br.com.ec.web.exception.VerificadorLancamentoException;
33
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
34
import br.com.ec.web.generic.AbstractBean;
35
import br.com.ec.web.message.LancadorMensagem;
36
import br.com.ec.web.util.TipoOperacao;
37
 
38
@Named
39
@Scope("view")
40
public class ValeTransporteBean extends AbstractBean<Avaliacao> implements Serializable {
41
 
42
        private static final long serialVersionUID = 1L;
43
 
44
        private ValeTransporteDTO valeTransporteDTO;
732 blopes 45
        private VigenciaDTO vigenciaSelecionada;
610 blopes 46
 
732 blopes 47
        private ValeTransporteService valeTransporteService;
48
 
49
        private VigenciaService vigenciaService;
50
        private AvaliacaoService avaliacaoService;
51
 
610 blopes 52
        private UploadedFile arquivoParaImportacao;
53
        private Date dataPagamento = new Date();
54
 
55
        private ParcelaService parcelaService;
56
 
57
        private AvaliacaoConsultaPorDemanda lazy;
58
        private ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao;
59
 
60
        @Inject
732 blopes 61
        public ValeTransporteBean(AvaliacaoConsultaPorDemanda lazy, ValeTransporteService valeTransporteService,
62
                        VigenciaService vigenciaService, AvaliacaoService avaliacaoService, ParcelaService parcelaService) {
610 blopes 63
                this.lazy = lazy;
64
                this.valeTransporteService = valeTransporteService;
732 blopes 65
                this.vigenciaService= vigenciaService;
66
                this.avaliacaoService = avaliacaoService;
610 blopes 67
                this.parcelaService = parcelaService;
68
        }
69
 
70
        @Override
71
        public void preCarregamento() {
72
                parametrosConsultaAvaliacao = new ParametrosConsulta<Avaliacao>();
73
                parametrosConsultaAvaliacao.setEntidade(new Avaliacao());
74
                prepararConsultaDemanda();
75
                limparEntidade();
76
        }
732 blopes 77
 
78
        @PostConstruct
79
        private void posCarregamento() {
80
                if (VerificadorUtil.naoEstaNulo(getParametro("vigencia"))) {
81
                        setVigenciaSelecionada(vigenciaService.consultarVigencia(new Long(getParametro("vigencia").toString())));
82
                        if (VerificadorUtil.naoEstaNulo(getVigenciaSelecionada())) {
83
                                detalharValeTransporte();
84
                        }
85
                }
86
        }
610 blopes 87
 
732 blopes 88
        private void detalharValeTransporte() {
89
                AvaliacaoDTO avaliacaoDTO = avaliacaoService.consultarAvaliacao(getVigenciaSelecionada().getSequencial());
90
                if (VerificadorUtil.naoEstaNulo(avaliacaoDTO)) {
91
                        setValeTransporteDTO(valeTransporteService.detalharValeTransporte(avaliacaoDTO));
92
                }
93
        }
94
 
610 blopes 95
        @Override
96
        public void limparEntidade() {
97
                setEntidade(new Avaliacao());
98
        }
99
 
100
        @Override
101
        public GenericService<Avaliacao> getService() {
102
                return valeTransporteService;
103
        }
104
 
105
        @Override
106
        public Avaliacao getEntidade() {
107
                return entidade;
108
        }
109
 
110
        @Override
111
        public void preConsultar() {
112
                setTipoOperacao(TipoOperacao.CONSULTAR);
113
        }
114
 
115
        @Override
116
        public void preAlterar(Avaliacao avaliacao) {
117
                super.preAlterar(avaliacao);
118
                setValeTransporteDTO(valeTransporteService.detalharValeTransporte(new AvaliacaoDTO(avaliacao.getSequencial(), avaliacao.getSequencialDaVigencia(), avaliacao.getDescricaoDaVigencia())));
119
        }
120
 
121
        @Override
122
        public Avaliacao getId() {
123
                return getEntidade();
124
        }
125
 
126
        public AvaliacaoConsultaPorDemanda getLazy() {
127
                return lazy;
128
        }
129
        public void setLazy(AvaliacaoConsultaPorDemanda lazy) {
130
                this.lazy = lazy;
131
        }
132
        public void prepararConsultaDemanda() {
133
                lazy.setarParametrosConsulta(getParametrosConsultaAvaliacao());
134
        }
135
 
136
        public ParametrosConsulta<Avaliacao> getParametrosConsultaAvaliacao() {
137
                return parametrosConsultaAvaliacao;
138
        }
139
        public void setParametrosConsultaAvaliacao(ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao) {
140
                this.parametrosConsultaAvaliacao = parametrosConsultaAvaliacao;
141
        }
142
 
143
        public ValeTransporteDTO getValeTransporteDTO() {
144
                return valeTransporteDTO;
145
        }
146
        public void setValeTransporteDTO(ValeTransporteDTO valeTransporteDTO) {
147
                this.valeTransporteDTO = valeTransporteDTO;
148
        }
149
 
732 blopes 150
        public VigenciaDTO getVigenciaSelecionada() {
151
                return vigenciaSelecionada;
152
        }
153
        public void setVigenciaSelecionada(VigenciaDTO vigenciaSelecionada) {
154
                this.vigenciaSelecionada = vigenciaSelecionada;
155
        }
156
 
610 blopes 157
        public UploadedFile getArquivoParaImportacao() {
158
                return arquivoParaImportacao;
159
        }
160
        public void setArquivoParaImportacao(UploadedFile arquivoParaImportacao) {
161
                this.arquivoParaImportacao = arquivoParaImportacao;
162
        }
163
 
164
        public Date getDataPagamento() {
165
                return dataPagamento;
166
        }
167
        public void setDataPagamento(Date dataPagamento) {
168
                this.dataPagamento = dataPagamento;
169
        }
170
 
171
        public List<ValeTransporteFuncionarioExtraidoDTO> funcionariosExtraidosForaDaAvaliacao() {
732 blopes 172
                Double valorTotalForaDaAvaliacao = new Double(0.0);
610 blopes 173
                List<ValeTransporteFuncionarioExtraidoDTO> extraidosForaDaAvaliacao = new ArrayList<ValeTransporteFuncionarioExtraidoDTO>();
740 blopes 174
                if (VerificadorUtil.naoEstaNuloOuVazio(getValeTransporteDTO())) {
175
                        if (VerificadorUtil.naoEstaNuloOuVazio(getValeTransporteDTO().getFuncionariosExtraidos())) {
176
                                for (ValeTransporteFuncionarioExtraidoDTO extraido : getValeTransporteDTO().getFuncionariosExtraidos()) {
177
                                        if (!extraido.getAdicionado()) {
178
                                                valorTotalForaDaAvaliacao += extraido.getValorVencimentos();
179
                                                extraidosForaDaAvaliacao.add(extraido);
180
                                        }
610 blopes 181
                                }
182
                        }
183
                }
184
                return extraidosForaDaAvaliacao;
185
        }
186
 
732 blopes 187
        public Double valorTotalImportadoSemAusentes() {
188
                Double valorTotalForaDaAvaliacao = new Double(0.0);
189
                List<ValeTransporteFuncionarioExtraidoDTO> extraidosForaDaAvaliacao = new ArrayList<ValeTransporteFuncionarioExtraidoDTO>();
190
                if (VerificadorUtil.naoEstaNuloOuVazio(getValeTransporteDTO().getFuncionariosExtraidos())) {
191
                        for (ValeTransporteFuncionarioExtraidoDTO extraido : getValeTransporteDTO().getFuncionariosExtraidos()) {
192
                                if (!extraido.getAdicionado()) {
193
                                        valorTotalForaDaAvaliacao += extraido.getValorVencimentos();
194
                                        extraidosForaDaAvaliacao.add(extraido);
195
                                }
196
                        }
197
                        return getValeTransporteDTO().getValorTotalImportado() - valorTotalForaDaAvaliacao;
198
                }
199
                return valorTotalForaDaAvaliacao;
200
        }
201
 
610 blopes 202
        /**************************************************/
203
 
732 blopes 204
        public void redirecionarGestaoMensal() {
610 blopes 205
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
206
                        public void execute() {
732 blopes 207
                                try {
208
                                        LancadorMensagem.redirecionarTela("/sistema/gestao_mensal/gestao_mensal.xhtml");
209
                                } catch (IOException e) {
210
                                        e.printStackTrace();
211
                                }
610 blopes 212
                        }
213
                });
214
        }
215
 
732 blopes 216
        public void uploadArquivoFlash() {
217
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
610 blopes 218
                        public void execute() {
732 blopes 219
                                setValeTransporteDTO(valeTransporteService.importarValeTransporte(getArquivoParaImportacao().getContent(), getValeTransporteDTO()));
220
                                LancadorMensagem.lancarSucesso("ARQUIVO FLASH IMPORTADO COM SUCESSO!");
610 blopes 221
                        }
222
                });
732 blopes 223
        }
610 blopes 224
 
225
        public void atualizarValoresImportados() {
226
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
227
                        public void execute() {
228
                                for (ValeTransporteFuncionarioDTO valeTransporteFuncionario : getValeTransporteDTO().getFuncionarios()) {
229
                                        if (VerificadorUtil.naoEstaNulo(valeTransporteFuncionario.getValorValeTransporteImportado()) &&
230
                                                        !VerificadorUtil.isListaNulaOuVazia(valeTransporteFuncionario.getParcelas())) {
231
                                                valeTransporteFuncionario.getParcelas().get(0).setValor(valeTransporteFuncionario.getValorValeTransporteImportado());
232
                                                valeTransporteService.atualizarValorParcela(valeTransporteFuncionario.getParcelas().get(0));
233
                                        }
234
                                }
235
                                LancadorMensagem.lancarSucesso("VALORES ATUALIZADOS COM SUCESSO");
236
                        }
237
                });
238
        }
239
 
732 blopes 240
        public void atualizarCentrosDeCustos() {
610 blopes 241
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
242
                        public void execute() {
243
                                for (ValeTransporteFuncionarioDTO valeTransporteFuncionario : getValeTransporteDTO().getFuncionarios()) {
244
                                        if (!VerificadorUtil.isListaNulaOuVazia(valeTransporteFuncionario.getParcelas())) {
732 blopes 245
                                                if (VerificadorUtil.naoEstaNulo(valeTransporteFuncionario.getParcelas().get(0))) {
246
                                                        ParcelaDTO parcela = valeTransporteFuncionario.getParcelas().get(0);
247
                                                        Long sequencialConta = parcela.getContaDTO().getSequencial();
248
                                                        valeTransporteService.atualizarCentroDeCustos(sequencialConta, valeTransporteFuncionario.getAvaliacaoFuncionarioDTO().getSequencialDaLoja());
646 blopes 249
                                                }
610 blopes 250
                                        }
251
                                }
732 blopes 252
                                detalharValeTransporte();
610 blopes 253
                                setArquivoParaImportacao(null);
732 blopes 254
                                LancadorMensagem.lancarSucesso("CENTROS DE CUSTOS ATUALIZADOS COM SUCESSO");
255
                        }
256
                });
257
        }
258
 
259
        public void efetuarPagamentos() {
260
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
261
                        public void execute() {
262
                                for (ValeTransporteFuncionarioDTO valeTransporteFuncionario : getValeTransporteDTO().getFuncionarios()) {
263
                                        if (!VerificadorUtil.isListaNulaOuVazia(valeTransporteFuncionario.getParcelas())) {
264
                                                parcelaService.efetuarPagamentoRecebimento(valeTransporteFuncionario.getParcelas().get(0), getDataPagamento());
265
                                                vigenciaService.alterarSituacaoFolha(getVigenciaSelecionada().getSequencial(), TipoSituacoesVigencia.EM_ANDAMENTO_A.getValor());
266
                                        }
267
                                }
268
                                detalharValeTransporte();
269
                                setArquivoParaImportacao(null);
610 blopes 270
                                LancadorMensagem.lancarSucesso("PAGAMENTOS EFETUADOS COM SUCESSO");
271
                        }
272
                });
273
        }
274
 
732 blopes 275
        public void finalizarValeTransporte() {
276
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
277
                        public void execute() {
278
                                vigenciaService.alterarSituacaoValeTransporte(getVigenciaSelecionada().getSequencial(), TipoSituacoesVigencia.FINALIZADO_F.getValor());
279
                                setArquivoParaImportacao(null);
280
                                redirecionarGestaoMensal();
281
                                LancadorMensagem.lancarSucesso("VALE TRANSPORTE FINALIZADA COM SUCESSO");
282
                        }
283
                });
284
        }
285
 
610 blopes 286
}