Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
325 espaco 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
4
import java.util.List;
5
 
6
import javax.inject.Inject;
7
import javax.inject.Named;
8
 
9
import org.springframework.context.annotation.Scope;
10
 
11
import br.com.ec.core.generic.GenericService;
12
import br.com.ec.core.util.VerificadorUtil;
13
import br.com.ec.domain.dto.EnderecoDTO;
14
import br.com.ec.domain.dto.FuncionarioDTO;
15
import br.com.ec.domain.dto.PessoaPapelDTO;
16
import br.com.ec.domain.dto.UsuarioDTO;
17
import br.com.ec.domain.dto.UsuarioLojaDTO;
18
import br.com.ec.domain.dto.UsuarioPerfilDTO;
19
import br.com.ec.domain.model.Endereco;
20
import br.com.ec.domain.model.Funcionario;
21
import br.com.ec.domain.model.Papel;
22
import br.com.ec.domain.model.Usuario;
326 espaco 23
import br.com.ec.domain.service.AvaliacaoFuncionarioService;
325 espaco 24
import br.com.ec.domain.service.EnderecoService;
25
import br.com.ec.domain.service.FuncionarioService;
26
import br.com.ec.domain.service.PapelService;
27
import br.com.ec.domain.service.PessoaPapelService;
28
import br.com.ec.domain.service.PessoaService;
29
import br.com.ec.domain.service.UsuarioLojaService;
30
import br.com.ec.domain.service.UsuarioPerfilService;
31
import br.com.ec.domain.service.UsuarioService;
32
import br.com.ec.domain.service.VendedorService;
33
import br.com.ec.web.exception.VerificadorLancamentoException;
34
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
35
import br.com.ec.web.generic.AbstractBean;
36
import br.com.ec.web.message.LancadorMensagem;
37
import br.com.ec.web.util.TipoOperacao;
38
 
39
@Named
40
@Scope("view")
41
public class FuncionarioBean extends AbstractBean<Funcionario> implements Serializable {
42
 
43
        private static final long serialVersionUID = 1L;
44
 
45
        private FuncionarioService funcionarioService;
46
        private UsuarioService usuarioService;
47
        private PessoaService pessoaService;
48
        private PapelService papelService;
49
        private PessoaPapelService pessoaPapelService;
50
        private EnderecoService enderecoService;
51
        private UsuarioPerfilService usuarioPerfilService;
52
        private UsuarioLojaService usuarioLojaService;
53
        private VendedorService vendedorService;
326 espaco 54
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
325 espaco 55
 
56
        private FuncionarioDTO entidadeParaConsulta;
57
        private List<FuncionarioDTO> funcionarios;
58
 
59
        private FuncionarioDTO entidadeDTO;
60
        private PessoaPapelDTO pessoaPapelDTO;
61
        private Endereco endereco;
62
        private Usuario usuario;
63
        private UsuarioPerfilDTO usuarioPerfilDTO;
64
        private UsuarioLojaDTO usuarioLojaDTO;
65
 
66
        @Inject
67
        public FuncionarioBean(FuncionarioService funcionarioService, UsuarioService usuarioService, PessoaService pessoaService,
68
                        PapelService papelService, PessoaPapelService pessoaPapelService, EnderecoService enderecoService,
326 espaco 69
                        UsuarioPerfilService usuarioPerfilService, UsuarioLojaService usuarioLojaService, VendedorService vendedorService,
70
                        AvaliacaoFuncionarioService avaliacaoFuncionarioService) {
325 espaco 71
                this.funcionarioService = funcionarioService;
72
                this.usuarioService = usuarioService;
73
                this.pessoaService = pessoaService;
74
                this.papelService = papelService;
75
                this.pessoaPapelService = pessoaPapelService;
76
                this.enderecoService = enderecoService;
77
                this.usuarioPerfilService = usuarioPerfilService;
78
                this.usuarioLojaService = usuarioLojaService;
79
                this.vendedorService = vendedorService;
326 espaco 80
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
325 espaco 81
        }
82
 
83
        @Override
84
        public void preCarregamento() {
85
                limparEntidade();
86
                consultarFuncionarios();
87
        }
88
 
89
        @Override
90
        public void limparEntidade() {
91
                setEntidade(new Funcionario());
92
                setEntidadeParaConsulta(new FuncionarioDTO());
93
                setEntidadeDTO(null);
94
                consultarFuncionarios();
95
        }
96
 
97
        @Override
98
        public GenericService<Funcionario> getService() {
99
                return funcionarioService;
100
        }
101
 
102
        @Override
103
        public Funcionario getEntidade() {
104
                return entidade;
105
        }
106
 
107
        @Override
108
        public void preConsultar() {
109
                setTipoOperacao(TipoOperacao.CONSULTAR);
110
        }
111
 
112
        @Override
113
        public Funcionario getId() {
114
                return getEntidade();
115
        }
116
 
117
        /*************************************************/
118
 
119
        public FuncionarioDTO getEntidadeParaConsulta() {
120
                return entidadeParaConsulta;
121
        }
122
        public void setEntidadeParaConsulta(FuncionarioDTO entidadeParaConsulta) {
123
                this.entidadeParaConsulta = entidadeParaConsulta;
124
        }
125
 
126
        public List<FuncionarioDTO> getFuncionarios() {
127
                return funcionarios;
128
        }
129
        public void setFuncionarios(List<FuncionarioDTO> funcionarios) {
130
                this.funcionarios = funcionarios;
131
        }
132
 
133
        public FuncionarioDTO getEntidadeDTO() {
134
                return entidadeDTO;
135
        }
136
        public void setEntidadeDTO(FuncionarioDTO entidadeDTO) {
137
                this.entidadeDTO = entidadeDTO;
138
        }
139
 
140
        public PessoaPapelDTO getPessoaPapelDTO() {
141
                return pessoaPapelDTO;
142
        }
143
        public void setPessoaPapelDTO(PessoaPapelDTO pessoaPapelDTO) {
144
                this.pessoaPapelDTO = pessoaPapelDTO;
145
        }
146
 
147
        public Endereco getEndereco() {
148
                return endereco;
149
        }
150
        public void setEndereco(Endereco endereco) {
151
                this.endereco = endereco;
152
        }
153
 
154
        public Usuario getUsuario() {
155
                return usuario;
156
        }
157
        public void setUsuario(Usuario usuario) {
158
                this.usuario = usuario;
159
        }
160
 
161
        public UsuarioPerfilDTO getUsuarioPerfilDTO() {
162
                return usuarioPerfilDTO;
163
        }
164
        public void setUsuarioPerfilDTO(UsuarioPerfilDTO usuarioPerfilDTO) {
165
                this.usuarioPerfilDTO = usuarioPerfilDTO;
166
        }
167
 
168
        public UsuarioLojaDTO getUsuarioLojaDTO() {
169
                return usuarioLojaDTO;
170
        }
171
        public void setUsuarioLojaDTO(UsuarioLojaDTO usuarioLojaDTO) {
172
                this.usuarioLojaDTO = usuarioLojaDTO;
173
        }
174
 
175
        /*************************************************/
176
 
177
        public void prepararDetalhar(FuncionarioDTO funcionarioDTO) {
178
                super.preDetalhar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
179
        }
180
 
181
        public void prepararAlterar(FuncionarioDTO funcionarioDTO) {
182
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
183
        }
184
 
185
        public void consultarFuncionarios() {
186
                setFuncionarios(funcionarioService.consultarFuncionarios(getEntidadeParaConsulta()));
187
        }
188
 
189
        public void prepararAlterarCompleto(FuncionarioDTO funcionarioDTO) {
190
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
191
                UsuarioDTO usuarioDTO = usuarioService.consultarPorPessoa(funcionarioDTO.getSequencialPessoa());
192
                setEntidadeDTO(new FuncionarioDTO(getEntidade().getSequencial()));
193
                if (VerificadorUtil.naoEstaNulo(usuarioDTO)) {
194
                        getEntidadeDTO().setUsuarioDTO(usuarioDTO);
195
                        getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioDTO.getSequencial()));
196
                        getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioDTO.getSequencial()));
197
                }
198
                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getEntidade().getSequencialDaPessoa()));
199
                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
200
                getEntidadeDTO().setVendedorDTO(vendedorService.consultarVendedorPorPessoa(getEntidade().getSequencialDaPessoa()));
201
                limparPapel();
202
        }
203
 
204
        public void alterarCompleto() {
205
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
206
                        public void execute() {
207
                                pessoaService.alterar(getEntidade().getPessoa());
208
                                usuarioService.alterar(getEntidadeDTO().getUsuarioDTO());
326 espaco 209
                                vendedorService.alterar(getEntidadeDTO().getVendedorDTO());
325 espaco 210
                                alterar(getEntidade());
211
                        }
212
                });
213
        }
214
 
215
        public void limparPapel() {
216
                PessoaPapelDTO pessoaPapelDTO = new PessoaPapelDTO();
217
                pessoaPapelDTO.setSequencialPessoa(getEntidade().getPessoa().getSequencial());
218
                setPessoaPapelDTO(pessoaPapelDTO);
219
        }
220
 
221
        public void adicionarPapel() {
222
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
223
                        public void execute() {
224
                                pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
225
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getPessoaPapelDTO().getSequencialPessoa()));
226
                                LancadorMensagem.lancarSucesso("PAPEL ADICIONADO COM SUCESSO");
227
                        }
228
                });
229
        }
230
 
231
        public void removerPapel(PessoaPapelDTO pessoaPapelDTO) {
232
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
233
                        public void execute() {
234
                                pessoaPapelService.removerPapel(pessoaPapelDTO.getSequencialPessoa(), pessoaPapelDTO.getCodigoPapel());
235
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(pessoaPapelDTO.getSequencialPessoa()));
236
                                LancadorMensagem.lancarSucesso("PAPEL REMOVIDO COM SUCESSO");
237
                        }
238
                });
239
        }
240
 
241
        public void limparEndereco() {
242
                Endereco endereco = new Endereco();
243
                endereco.setPessoa(getEntidade().getPessoa());
244
                endereco.setAtivo(true);
245
                setEndereco(endereco);
246
        }
247
 
248
        public void prepararAlterarEndereco(EnderecoDTO enderecoDTO) {
249
                setEndereco(enderecoService.consultarPorId(new Endereco(enderecoDTO.getSequencial())));
250
        }
251
 
252
        public void adicionarEndereco() {
253
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
254
                        public void execute() {
255
                                enderecoService.alterar(getEndereco());
256
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
257
                                LancadorMensagem.lancarSucesso("ENDEREÇO SALVO COM SUCESSO");
258
                        }
259
                });
260
        }
261
 
262
        public void removerEndereco(EnderecoDTO enderecoDTO) {
263
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
264
                        public void execute() {
265
                                enderecoService.removerEndereco(enderecoDTO.getSequencial());
266
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
267
                                LancadorMensagem.lancarSucesso("ENDEREÇO REMOVIDO COM SUCESSO");
268
                        }
269
                });
270
        }
271
 
272
        public void limparUsuarioPerfil() {
273
                UsuarioPerfilDTO usuarioPerfilDTO = new UsuarioPerfilDTO();
274
                usuarioPerfilDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
275
                setUsuarioPerfilDTO(usuarioPerfilDTO);
276
        }
277
 
278
        public void adicionarUsuarioPerfil() {
279
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
280
                        public void execute() {
281
                                usuarioPerfilService.adicionarPerfil(getUsuarioPerfilDTO().getSequencialUsuario(), getUsuarioPerfilDTO().getCodigoPerfil());
282
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(getUsuarioPerfilDTO().getSequencialUsuario()));
283
                                LancadorMensagem.lancarSucesso("PERFIL ADICIONADO COM SUCESSO");
284
                        }
285
                });
286
        }
287
 
288
        public void removerUsuarioPerfil(UsuarioPerfilDTO usuarioPerfilDTO) {
289
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
290
                        public void execute() {
291
                                usuarioPerfilService.removerPerfil(usuarioPerfilDTO.getSequencial());
292
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioPerfilDTO.getSequencialUsuario()));
293
                                LancadorMensagem.lancarSucesso("PERFIL REMOVIDO COM SUCESSO");
294
                        }
295
                });
296
        }
297
 
298
        public void limparUsuarioLoja() {
299
                UsuarioLojaDTO usuarioLojaDTO = new UsuarioLojaDTO();
300
                usuarioLojaDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
301
                setUsuarioLojaDTO(usuarioLojaDTO);
302
        }
303
 
304
        public void adicionarUsuarioLoja() {
305
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
306
                        public void execute() {
307
                                usuarioLojaService.adicionarLoja(getUsuarioLojaDTO().getSequencialUsuario(), getUsuarioLojaDTO().getSequencialLoja());
308
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(getUsuarioLojaDTO().getSequencialUsuario()));
309
                                LancadorMensagem.lancarSucesso("LOJA ADICIONADA COM SUCESSO");
310
                        }
311
                });
312
        }
313
 
314
        public void removerUsuarioLoja(UsuarioLojaDTO usuarioLojaDTO) {
315
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
316
                        public void execute() {
317
                                usuarioLojaService.removerLoja(usuarioLojaDTO.getSequencialUsuario(), usuarioLojaDTO.getSequencialLoja());
318
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioLojaDTO.getSequencialUsuario()));
319
                                LancadorMensagem.lancarSucesso("LOJA REMOVIDA COM SUCESSO");
320
                        }
321
                });
322
        }
323
 
326 espaco 324
        public void consultarAvaliacoes() {
325
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
326
                        public void execute() {
327
                                getEntidadeDTO().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getEntidadeDTO().getSequencialFuncionario()));
328
                        }
329
                });
325 espaco 330
        }
331
 
332
}