Subversion Repositories Integrator Subversion

Rev

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