Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
535 blopes 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;
538 blopes 12
import br.com.ec.core.util.VerificadorUtil;
535 blopes 13
import br.com.ec.domain.dto.EstoqueAuditoriaDTO;
537 blopes 14
import br.com.ec.domain.dto.LojaDTO;
535 blopes 15
import br.com.ec.domain.dto.ProdutoDTO;
537 blopes 16
import br.com.ec.domain.dto.UsuarioDTO;
535 blopes 17
import br.com.ec.domain.model.EstoqueAuditoria;
537 blopes 18
import br.com.ec.domain.model.Usuario;
19
import br.com.ec.domain.service.ContextoSeguranca;
535 blopes 20
import br.com.ec.domain.service.EstoqueAuditoriaService;
21
import br.com.ec.domain.service.ProdutoService;
537 blopes 22
import br.com.ec.domain.shared.ConstantesSEC;
535 blopes 23
import br.com.ec.web.exception.VerificadorLancamentoException;
24
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
25
import br.com.ec.web.generic.AbstractBean;
26
import br.com.ec.web.message.LancadorMensagem;
27
import br.com.ec.web.util.TipoOperacao;
28
 
29
@Named
30
@Scope("view")
31
public class EstoqueAuditoriaBean extends AbstractBean<EstoqueAuditoria> implements Serializable {
32
 
33
        private static final long serialVersionUID = 1L;
34
 
35
        private EstoqueAuditoriaService estoqueAuditoriaService;
36
 
37
        private ProdutoDTO produtoParaProduzir;
38
        private ProdutoDTO produtoProduzido;
39
        private Integer quantidadeParaProduzir;
40
 
41
        private ProdutoService produtoService;
42
 
43
        private List<EstoqueAuditoriaDTO> auditorias;
537 blopes 44
        private UsuarioDTO usuarioParaContagemDTO;
535 blopes 45
 
537 blopes 46
        private ContextoSeguranca contextoSeguranca;
47
 
535 blopes 48
        /*
49
        private EstoqueAuditoriaDTO entidadeParaConsulta;
50
        private List<EstoqueAuditoriaDTO> auditorias;
51
 
52
        private ParametrosConsultaEstampaDTO parametrosConsultaEstampaDTO;
53
        private EstampaConsultaPorDemanda lazy;
54
        */
55
 
56
        @Inject
537 blopes 57
        public EstoqueAuditoriaBean(EstoqueAuditoriaService estoqueAuditoriaService, ProdutoService produtoService, ContextoSeguranca contextoSeguranca) {
535 blopes 58
                this.estoqueAuditoriaService = estoqueAuditoriaService;
59
                this.produtoService = produtoService;
537 blopes 60
                this.contextoSeguranca = contextoSeguranca;
535 blopes 61
        }
62
 
63
        @Override
64
        public void preCarregamento() {
65
//              parametrosConsultaEstampaDTO = new ParametrosConsultaEstampaDTO();
66
//              prepararConsultaDemanda();
67
                limparEntidade();
68
        }
69
 
70
        @Override
71
        public void limparEntidade() {
72
                setEntidade(new EstoqueAuditoria());
73
                setProdutoParaProduzir(new ProdutoDTO());
74
                setProdutoProduzido(new ProdutoDTO());
75
                setQuantidadeParaProduzir(1);
76
//              setEntidadeParaConsulta(new EstampaDTO());
77
        }
78
 
79
        @Override
80
        public GenericService<EstoqueAuditoria> getService() {
81
                return estoqueAuditoriaService;
82
        }
83
 
84
        @Override
85
        public EstoqueAuditoria getEntidade() {
86
                return entidade;
87
        }
88
 
89
        @Override
90
        public void preConsultar() {
91
                setTipoOperacao(TipoOperacao.CONSULTAR);
92
        }
93
 
94
        @Override
95
        public EstoqueAuditoria getId() {
96
                return getEntidade();
97
        }
98
 
99
        public ProdutoDTO getProdutoParaProduzir() {
100
                return produtoParaProduzir;
101
        }
102
        public void setProdutoParaProduzir(ProdutoDTO produtoParaProduzir) {
103
                this.produtoParaProduzir = produtoParaProduzir;
104
        }
105
 
106
        public ProdutoDTO getProdutoProduzido() {
107
                return produtoProduzido;
108
        }
109
        public void setProdutoProduzido(ProdutoDTO produtoProduzido) {
110
                this.produtoProduzido = produtoProduzido;
111
        }
112
 
113
        public Integer getQuantidadeParaProduzir() {
114
                return quantidadeParaProduzir;
115
        }
116
        public void setQuantidadeParaProduzir(Integer quantidadeParaProduzir) {
117
                this.quantidadeParaProduzir = quantidadeParaProduzir;
118
        }
119
 
120
        public List<EstoqueAuditoriaDTO> getAuditorias() {
538 blopes 121
                if (VerificadorUtil.estaNulo(auditorias)) {
122
                        setAuditorias(estoqueAuditoriaService.consultarUltimasProducoes(50));
123
                }
535 blopes 124
                return auditorias;
125
        }
126
        public void setAuditorias(List<EstoqueAuditoriaDTO> auditorias) {
127
                this.auditorias = auditorias;
128
        }
129
 
537 blopes 130
        public UsuarioDTO getUsuarioParaContagemDTO() {
131
                return usuarioParaContagemDTO;
132
        }
133
        public void setUsuarioParaContagemDTO(UsuarioDTO usuarioParaContagemDTO) {
134
                this.usuarioParaContagemDTO = usuarioParaContagemDTO;
135
        }
535 blopes 136
 
137
        /*********************************************************/
138
 
139
        public void consultarProdutoParaProduzir() {
140
                setProdutoParaProduzir(produtoService.consultarProdutoDTOPorCodigoOuCodigoEAN(getProdutoParaProduzir().getCodigo()));
141
        }
142
 
143
        public void consultarProdutoProduzido() {
144
                setProdutoProduzido(produtoService.consultarProdutoDTOPorCodigoOuCodigoEAN(getProdutoProduzido().getCodigo()));
145
        }
146
 
147
        public void produzir() {
148
        new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
149
                        public void execute() {
537 blopes 150
                                setUsuarioParaContagemDTO(contextoSeguranca.obterUsuario());
151
                                LojaDTO lojaMatriz = new LojaDTO(ConstantesSEC.Loja.SEQUENCIAL_MATRIZ_ESTOQUE_9);
152
//                              verificarSeTemPerfilVendedorOuSuperior(getUsuarioParaContagemDTO());
153
                                produtoService.realizarProducao(lojaMatriz, getProdutoParaProduzir(), getProdutoProduzido(), getQuantidadeParaProduzir(),
154
                                                getUsuarioParaContagemDTO());
535 blopes 155
                                limparEntidade();
538 blopes 156
                                setAuditorias(estoqueAuditoriaService.consultarUltimasProducoes(50));
535 blopes 157
                                LancadorMensagem.lancarSucesso("PRODUÇÃO REALIZADA COM SUCESSO");
158
                        }
159
                });
160
    }
161
 
538 blopes 162
        public void excluirAuditoria(final Long sequencialAuditoria) {
163
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
164
                        public void execute() {
165
                                estoqueAuditoriaService.excluirAuditoria(sequencialAuditoria);
166
                                setAuditorias(estoqueAuditoriaService.consultarUltimasProducoes(50));
167
                                adicionandoParametroArgsConfirmandoAcao(true);
168
                                LancadorMensagem.lancarSucesso("AUDITORIA EXCLUÍDA COM SUCESSO");
169
                        }
170
                });
171
        }
172
 
535 blopes 173
}