Subversion Repositories Integrator Subversion

Rev

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