Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
424 blopes 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
434 espaco 4
import java.util.Date;
424 blopes 5
 
439 espaco 6
import javax.faces.context.FacesContext;
424 blopes 7
import javax.inject.Inject;
8
import javax.inject.Named;
439 espaco 9
import javax.servlet.ServletContext;
424 blopes 10
 
430 espaco 11
import org.primefaces.event.FileUploadEvent;
12
import org.primefaces.model.StreamedContent;
13
import org.primefaces.model.file.UploadedFile;
424 blopes 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;
430 espaco 19
import br.com.ec.core.util.VerificadorUtil;
20
import br.com.ec.domain.dto.AvaliacaoDTO;
429 espaco 21
import br.com.ec.domain.dto.FolhaPagamentoDTO;
430 espaco 22
import br.com.ec.domain.dto.FolhaPagamentoFuncionarioDTO;
424 blopes 23
import br.com.ec.domain.model.Avaliacao;
427 espaco 24
import br.com.ec.domain.service.FolhaPagamentoService;
439 espaco 25
import br.com.ec.domain.service.ParcelaService;
424 blopes 26
import br.com.ec.web.exception.VerificadorLancamentoException;
27
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
430 espaco 28
import br.com.ec.web.exception.VerificadorLancamentoException.CommandRelatorioStreamedContent;
424 blopes 29
import br.com.ec.web.generic.AbstractBean;
430 espaco 30
import br.com.ec.web.message.LancadorMensagem;
424 blopes 31
import br.com.ec.web.util.TipoOperacao;
32
 
33
@Named
34
@Scope("view")
35
public class FolhaPagamentoBean extends AbstractBean<Avaliacao> implements Serializable {
36
 
37
        private static final long serialVersionUID = 1L;
38
 
429 espaco 39
        private FolhaPagamentoDTO folhaPagamentoDTO;
40
 
430 espaco 41
        private UploadedFile arquivoParaImportacao;
42
        private String tituloEmail = "CONTRACHEQUE";
434 espaco 43
        private Date dataPagamento = new Date();
430 espaco 44
 
427 espaco 45
        private FolhaPagamentoService folhaPagamentoService;
439 espaco 46
        private ParcelaService parcelaService;
427 espaco 47
 
424 blopes 48
        private AvaliacaoConsultaPorDemanda lazy;
49
        private ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao;
50
 
51
        @Inject
439 espaco 52
        public FolhaPagamentoBean(AvaliacaoConsultaPorDemanda lazy, FolhaPagamentoService folhaPagamentoService, ParcelaService parcelaService) {
424 blopes 53
                this.lazy = lazy;
427 espaco 54
                this.folhaPagamentoService = folhaPagamentoService;
439 espaco 55
                this.parcelaService = parcelaService;
424 blopes 56
        }
57
 
58
        @Override
59
        public void preCarregamento() {
60
                parametrosConsultaAvaliacao = new ParametrosConsulta<Avaliacao>();
61
                parametrosConsultaAvaliacao.setEntidade(new Avaliacao());
62
                prepararConsultaDemanda();
63
                limparEntidade();
64
        }
65
 
66
        @Override
67
        public void limparEntidade() {
68
                setEntidade(new Avaliacao());
69
        }
70
 
71
        @Override
72
        public GenericService<Avaliacao> getService() {
427 espaco 73
                return folhaPagamentoService;
424 blopes 74
        }
75
 
76
        @Override
77
        public Avaliacao getEntidade() {
78
                return entidade;
79
        }
80
 
81
        @Override
82
        public void preConsultar() {
83
                setTipoOperacao(TipoOperacao.CONSULTAR);
84
        }
429 espaco 85
 
86
        @Override
87
        public void preAlterar(Avaliacao avaliacao) {
88
                super.preAlterar(avaliacao);
430 espaco 89
                setFolhaPagamentoDTO(folhaPagamentoService.detalharFolhaPagamento(new AvaliacaoDTO(avaliacao.getSequencial(), avaliacao.getSequencialDaVigencia(), avaliacao.getDescricaoDaVigencia())));
429 espaco 90
        }
424 blopes 91
 
92
        @Override
93
        public Avaliacao getId() {
94
                return getEntidade();
95
        }
96
 
97
        public AvaliacaoConsultaPorDemanda getLazy() {
98
                return lazy;
99
        }
100
        public void setLazy(AvaliacaoConsultaPorDemanda lazy) {
101
                this.lazy = lazy;
102
        }
103
        public void prepararConsultaDemanda() {
104
                lazy.setarParametrosConsulta(getParametrosConsultaAvaliacao());
105
        }
106
 
107
        public ParametrosConsulta<Avaliacao> getParametrosConsultaAvaliacao() {
108
                return parametrosConsultaAvaliacao;
109
        }
110
        public void setParametrosConsultaAvaliacao(ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao) {
111
                this.parametrosConsultaAvaliacao = parametrosConsultaAvaliacao;
112
        }
113
 
429 espaco 114
        public FolhaPagamentoDTO getFolhaPagamentoDTO() {
115
                return folhaPagamentoDTO;
116
        }
117
        public void setFolhaPagamentoDTO(FolhaPagamentoDTO folhaPagamentoDTO) {
118
                this.folhaPagamentoDTO = folhaPagamentoDTO;
119
        }
120
 
430 espaco 121
        public UploadedFile getArquivoParaImportacao() {
122
                return arquivoParaImportacao;
123
        }
124
        public void setArquivoParaImportacao(UploadedFile arquivoParaImportacao) {
125
                this.arquivoParaImportacao = arquivoParaImportacao;
126
        }
127
 
128
        public String getTituloEmail() {
129
                return tituloEmail;
130
        }
131
        public void setTituloEmail(String tituloEmail) {
132
                this.tituloEmail = tituloEmail;
133
        }
134
 
434 espaco 135
        public Date getDataPagamento() {
136
                return dataPagamento;
137
        }
138
        public void setDataPagamento(Date dataPagamento) {
139
                this.dataPagamento = dataPagamento;
140
        }
141
 
424 blopes 142
        /**************************************************/
143
 
430 espaco 144
        public void uploadArquivoEspacoCase() {
145
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
146
                        public void execute() {
147
                                setFolhaPagamentoDTO(folhaPagamentoService.importarFolhaPagamento(getArquivoParaImportacao().getContent(), getFolhaPagamentoDTO()));
439 espaco 148
                                setTituloEmail(getTituloEmail() + " " + getFolhaPagamentoDTO().getAvaliacaoDTO().getVigenciaDTO().getDescricao());
430 espaco 149
                                LancadorMensagem.lancarSucesso("ARQUIVO IMPORTADO COM SUCESSO!");
150
                        }
151
                });
152
        }
153
 
154
        public void selecionarTodosParaEnviarEmail() {
155
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
156
                        public void execute() {
157
                                for (FolhaPagamentoFuncionarioDTO folhaPagamentoFuncionario : getFolhaPagamentoDTO().getFuncionarios()) {
158
                                        if (folhaPagamentoFuncionario.getEnviarEmail()) {
159
                                                folhaPagamentoFuncionario.setEnviarEmail(false);
160
                                        } else {
161
                                                folhaPagamentoFuncionario.setEnviarEmail(true);
162
                                        }
163
                                }
164
                        }
165
                });
166
        }
167
 
168
        public void uploadArquivoEspacoCase(final FileUploadEvent e) {
169
        new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
170
                        public void execute() {
171
                                setFolhaPagamentoDTO(folhaPagamentoService.importarFolhaPagamento(e.getFile().getContent(), getFolhaPagamentoDTO()));
172
                        }
173
                });
174
    }
175
 
176
        public void atualizarValoresImportados() {
177
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
178
                        public void execute() {
179
                                for (FolhaPagamentoFuncionarioDTO folhaPagamentoFuncionario : getFolhaPagamentoDTO().getFuncionarios()) {
180
                                        if (VerificadorUtil.naoEstaNulo(folhaPagamentoFuncionario.getValorSalarioImportado()) &&
439 espaco 181
                                                        !VerificadorUtil.isListaNulaOuVazia(folhaPagamentoFuncionario.getParcelas())) {
182
                                                folhaPagamentoFuncionario.getParcelas().get(0).setValor(folhaPagamentoFuncionario.getValorSalarioImportado());
183
                                                folhaPagamentoService.atualizarValorParcela(folhaPagamentoFuncionario.getParcelas().get(0));
430 espaco 184
                                        }
185
                                }
186
                                LancadorMensagem.lancarSucesso("VALORES ATUALIZADOS COM SUCESSO");
187
                        }
188
                });
189
        }
190
 
434 espaco 191
        public void efetuarPagamentos() {
192
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
193
                        public void execute() {
439 espaco 194
                                for (FolhaPagamentoFuncionarioDTO folhaPagamentoFuncionario : getFolhaPagamentoDTO().getFuncionarios()) {
195
                                        if (!VerificadorUtil.isListaNulaOuVazia(folhaPagamentoFuncionario.getParcelas())) {
196
                                                parcelaService.efetuarPagamentoRecebimento(folhaPagamentoFuncionario.getParcelas().get(0), getDataPagamento());
197
                                        }
198
                                }
199
                                setArquivoParaImportacao(null);
434 espaco 200
                                LancadorMensagem.lancarSucesso("PAGAMENTOS EFETUADOS COM SUCESSO");
201
                        }
202
                });
203
        }
204
 
430 espaco 205
        public StreamedContent downloadRecibos() throws Exception {
206
                return new VerificadorLancamentoException().verificarLancamentoException(new CommandRelatorioStreamedContent() {
207
                        @Override
208
                        public StreamedContent execute() {
439 espaco 209
                                return folhaPagamentoService.downloadRecibos(getFolhaPagamentoDTO());
430 espaco 210
                        }
211
                });
212
        }
213
 
439 espaco 214
        public void enviarRecibos() throws Exception {
215
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
216
                        public void execute() {
217
                                folhaPagamentoService.enviarRecibosPorEmail(getFolhaPagamentoDTO(), getTituloEmail());
218
                                LancadorMensagem.lancarSucesso("RECIBOS ENVIADOS COM SUCESSO!");
219
                        }
220
                });
221
        }
222
 
223
        public StreamedContent downloadArquivoFolhaBanco(String codigoBanco) throws Exception {
430 espaco 224
                return new VerificadorLancamentoException().verificarLancamentoException(new CommandRelatorioStreamedContent() {
225
                        @Override
226
                        public StreamedContent execute() {
439 espaco 227
                                return folhaPagamentoService.downloadArquivoFolhaBanco(getFolhaPagamentoDTO(), codigoBanco);
430 espaco 228
                        }
229
                });
230
        }
231
 
424 blopes 232
}