Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
623 blopes 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.Date;
6
import java.util.List;
7
 
8
import javax.inject.Inject;
9
import javax.inject.Named;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
13
import br.com.ec.core.generic.GenericService;
14
import br.com.ec.core.util.DataUtils;
15
import br.com.ec.domain.dto.ClienteDTO;
16
import br.com.ec.domain.dto.ComercialPosVendaDTO;
17
import br.com.ec.domain.dto.PosVendaDTO;
18
import br.com.ec.domain.dto.VendaDTO;
625 blopes 19
import br.com.ec.domain.model.PosVenda;
623 blopes 20
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;
624 blopes 21
import br.com.ec.domain.service.LancamentoService;
623 blopes 22
import br.com.ec.domain.service.PosVendaService;
23
import br.com.ec.domain.service.TransferenciaService;
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;
625 blopes 27
import br.com.ec.web.message.LancadorMensagem;
623 blopes 28
 
29
@Named
30
@Scope("view")
31
public class PosVendaBean extends AbstractBean<ComercialPosVendaDTO> implements Serializable {
32
 
33
        private static final long serialVersionUID = 1L;
34
 
35
        private PosVendaService posVendaService;
624 blopes 36
        private LancamentoService lancamentoService;
623 blopes 37
 
38
        private PosVendaDTO posVendaSelecionado;
39
 
625 blopes 40
        public static class NpsItem {
41
        private final int nota;
42
        private final String icone;
43
        private final String estrelas;
44
 
45
        public NpsItem(int nota, String icone, String estrelas) {
46
            this.nota = nota;
47
            this.icone = icone;
48
            this.estrelas = estrelas;
49
        }
50
 
51
        public int getNota() { return nota; }
52
        public String getIcone() { return icone; }
53
        public String getEstrelas() { return estrelas; }
54
    }
55
 
623 blopes 56
        @Inject
624 blopes 57
        public PosVendaBean(PosVendaService posVendaService, LancamentoService lancamentoService) {
623 blopes 58
                this.posVendaService = posVendaService;
624 blopes 59
                this.lancamentoService = lancamentoService;
623 blopes 60
        }
61
 
62
        @Override
63
        public GenericService<ComercialPosVendaDTO> getService() {
64
                return null;
65
        }
66
 
67
        @Override
68
        public ComercialPosVendaDTO getId() {
69
                return null;
70
        }
71
 
72
        @Override
73
        public void preCarregamento() {
74
                limparEntidade();
75
        }
76
 
77
        @Override
78
        public void limparEntidade() {
79
                setEntidade(iniciarDados());
80
        }
81
 
82
        public PosVendaDTO getPosVendaSelecionado() {
83
                return posVendaSelecionado;
84
        }
85
        public void setPosVendaSelecionado(PosVendaDTO posVendaSelecionado) {
86
                this.posVendaSelecionado = posVendaSelecionado;
87
        }
88
 
89
        /**************************************************/
90
 
91
        public TipoPeriodoConsulta[] getTiposPeriodoConsulta() {
92
                return TipoPeriodoConsulta.values();
93
        }
94
 
95
        /**************************************************/
96
 
97
        public void consultarPosVenda() {
98
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
99
                        public void execute() {
100
//                              iniciarDados();
101
                                ComercialPosVendaDTO comercialDTO = new ComercialPosVendaDTO();
102
                                List<PosVendaDTO> listaPosVendaDTO = new ArrayList<PosVendaDTO>();
103
                                listaPosVendaDTO.addAll(posVendaService.consultarNaoFinalizadas());
104
                                comercialDTO.setListaPosVenda(listaPosVendaDTO);
105
                                setEntidade(comercialDTO);
106
                        }
107
                });
108
        }
109
 
110
        public void selecionarPosVenda(PosVendaDTO posVenda/* , TipoPosVendaAtivacao tipoAtivacao */) {
111
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
112
                        public void execute() {
113
                                // CONSULTAR DETALHES BASEANDO-SE NO TIPO DE ATIVACAO
624 blopes 114
                                posVenda.getVendaDTO().setListaLancamentos(lancamentoService.consultarLancamentosDaVenda(posVenda.getVendaDTO().getSequencial()));
627 blopes 115
                                // CONSULTAR NPS PÓS-VENDA
623 blopes 116
                                setPosVendaSelecionado(posVenda);
117
                        }
118
                });
119
        }
120
 
625 blopes 121
        public void iniciarSalvarPosVenda() {
122
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
123
                        public void execute() {
124
                                PosVenda posVendaParaAlterar = posVendaService.consultarPorId(new PosVenda(getPosVendaSelecionado().getSequencial()));
125
                                posVendaParaAlterar.setDataInicio(DataUtils.getDataAtual());
126
                                posVendaParaAlterar.setObservacao(getPosVendaSelecionado().getObservacao());
127
                                posVendaParaAlterar.setTipoFinalizacao(getPosVendaSelecionado().getTipoFinalizacao());
128
                                posVendaService.alterar(posVendaParaAlterar);
129
                                LancadorMensagem.lancarSucesso("PÓS-VENDA INICIADO COM SUCESSO");
130
                        }
131
                });
132
        }
133
 
623 blopes 134
        private ComercialPosVendaDTO iniciarDados() {
135
                ComercialPosVendaDTO comercialDTO = new ComercialPosVendaDTO();
136
                List<PosVendaDTO> listaPosVendaDTO = new ArrayList<PosVendaDTO>();
137
                listaPosVendaDTO.addAll(posVendaService.consultarNaoFinalizadas());
138
                comercialDTO.setListaPosVenda(listaPosVendaDTO);
139
                return comercialDTO;
140
 
141
                /*
142
                ComercialPosVendaDTO comercialDTO = new ComercialPosVendaDTO();
143
                List<PosVendaDTO> listaPosVendaDTO = new ArrayList<PosVendaDTO>();
144
 
145
                PosVendaDTO posVendaDTO = new PosVendaDTO();
146
                VendaDTO vendaDTO = new VendaDTO();
147
                vendaDTO.setSequencial(new Long(123456));
148
                Date data = DataUtils.acrescentarDias(new Date(), -5);
149
                vendaDTO.setDataVenda(data);
150
                ClienteDTO clienteDTO = new ClienteDTO();
151
                clienteDTO.setNome("BRUNO LOPES PEIXOTO");
152
                clienteDTO.setCpfCnpj("06256954459");
153
                clienteDTO.setContato("82996062514");
154
                vendaDTO.setCliente(clienteDTO);
155
                posVendaDTO.setVendaDTO(vendaDTO);
156
                posVendaDTO.setDataCadastro(data);
157
                listaPosVendaDTO.add(posVendaDTO);
158
 
159
                posVendaDTO = new PosVendaDTO();
160
                vendaDTO = new VendaDTO();
161
                vendaDTO.setSequencial(new Long(321654));
162
                vendaDTO.setDataVenda(new Date());
163
                clienteDTO = new ClienteDTO();
164
                clienteDTO.setNome("BÁRBARA ALVES");
165
                clienteDTO.setCpfCnpj("01234567890");
166
                clienteDTO.setContato("8299990000");
167
                vendaDTO.setCliente(clienteDTO);
168
                posVendaDTO.setVendaDTO(vendaDTO);
169
                posVendaDTO.setDataCadastro(new Date());
170
                listaPosVendaDTO.add(posVendaDTO);
171
 
172
                comercialDTO.setListaPosVenda(listaPosVendaDTO);
173
 
174
                return comercialDTO;
175
                */
176
        }
177
 
178
}