Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
620 blopes 1
package br.com.ec.domain.dto;
2
 
623 blopes 3
import java.util.Date;
620 blopes 4
import java.util.List;
5
 
625 blopes 6
import javax.persistence.Transient;
7
 
624 blopes 8
import br.com.ec.core.util.VerificadorUtil;
629 blopes 9
import br.com.ec.domain.model.NpsPosVenda;
624 blopes 10
 
620 blopes 11
public class PosVendaDTO {
12
 
13
        // INICIAR PÓS-VENDA APÓS A REALIZAÇÃO DE UMA VENDA COM O CONTATO DO CLIENTE
621 blopes 14
        // PARA FINALIZAR, AO MENOS, É PRECISO TER AS DUAS ATIVAÇÕES INICIAIS (AGRADECIMENTO+NPS ATENDIMENTO E NPS DO PRODUTO
623 blopes 15
 
621 blopes 16
        private Long sequencial;
620 blopes 17
        private VendaDTO vendaDTO;
623 blopes 18
        private ClienteDTO clienteDTO;
620 blopes 19
        private Date dataCadastro;
625 blopes 20
        private Date dataInicio;
21
        private Date dataFinalizacao;
627 blopes 22
        private String tipoFinalizacao; // A - ATENDIMENTO ENCERRADO // V - NOVA VENDA
623 blopes 23
        private String observacao;
625 blopes 24
        private String scriptAtivacaoAgradecimento;
620 blopes 25
 
630 blopes 26
        private NpsPosVendaDTO npsPosVendaAgradecimento;
629 blopes 27
        private NpsPosVendaDTO npsPosVendaProduto;
28
 
620 blopes 29
        private List<PosVendaAtivacaoDTO> listaAtivacoes;
30
 
629 blopes 31
        public PosVendaDTO() {}
32
 
33
        public PosVendaDTO(Long sequencial) {
34
                this.sequencial = sequencial;
620 blopes 35
        }
36
 
631 blopes 37
        public static String CONSULTA_DTO_SIMPLES = "e.sequencial, "
38
                        + " (SELECT vd.sequencial FROM Venda vd WHERE vd.sequencial = e.venda.sequencial), "
39
//                      + "e.venda.sequencial, e.venda.dataVenda, "
40
                        + "e.cliente.sequencial, e.cliente.nome, e.cliente.cpfCnpj, e.cliente.dataNascimento,"
627 blopes 41
                        + "e.cliente.contato, e.cliente.telefone, e.dataCadastro, e.dataInicio, e.dataFinalizacao, e.tipoFinalizacao, e.observacao";
631 blopes 42
        public PosVendaDTO(Long sequencial, Long sequencialVenda, Long sequencialCliente, String nomeCliente, String cpfCnpjCliente,
43
                        Date dataNascimentoCliente, String contatoCliente, String telefoneCliente, Date dataCadastro, Date dataInicio, Date dataFinalizacao,
44
                        String tipoFinalizacao, String observacao) {
623 blopes 45
                super();
46
                this.sequencial = sequencial;
47
                VendaDTO vendaDTO = new VendaDTO(sequencialVenda);
48
                this.vendaDTO = vendaDTO;
631 blopes 49
                this.clienteDTO = new ClienteDTO(sequencialCliente, nomeCliente, cpfCnpjCliente, dataNascimentoCliente, contatoCliente, telefoneCliente);
623 blopes 50
                this.dataCadastro = dataCadastro;
627 blopes 51
                this.dataInicio = dataInicio;
623 blopes 52
                this.dataFinalizacao = dataFinalizacao;
53
                this.tipoFinalizacao = tipoFinalizacao;
627 blopes 54
                this.observacao = observacao;
623 blopes 55
        }
56
 
621 blopes 57
        public Long getSequencial() {
58
                return sequencial;
59
        }
60
        public void setSequencial(Long sequencial) {
61
                this.sequencial = sequencial;
62
        }
63
 
620 blopes 64
        public VendaDTO getVendaDTO() {
65
                return vendaDTO;
66
        }
67
        public void setVendaDTO(VendaDTO vendaDTO) {
68
                this.vendaDTO = vendaDTO;
69
        }
70
 
623 blopes 71
        public ClienteDTO getClienteDTO() {
72
                return clienteDTO;
73
        }
74
        public void setClienteDTO(ClienteDTO clienteDTO) {
75
                this.clienteDTO = clienteDTO;
76
        }
77
 
620 blopes 78
        public Date getDataCadastro() {
79
                return dataCadastro;
80
        }
81
        public void setDataCadastro(Date dataCadastro) {
82
                this.dataCadastro = dataCadastro;
83
        }
84
 
625 blopes 85
        public Date getDataInicio() {
86
                return dataInicio;
87
        }
88
        public void setDataInicio(Date dataInicio) {
89
                this.dataInicio = dataInicio;
90
        }
91
 
623 blopes 92
        public Date getDataFinalizacao() {
93
                return dataFinalizacao;
94
        }
95
        public void setDataFinalizacao(Date dataFinalizacao) {
96
                this.dataFinalizacao = dataFinalizacao;
97
        }
98
 
99
        public String getObservacao() {
100
                return observacao;
101
        }
102
        public void setObservacao(String observacao) {
103
                this.observacao = observacao;
104
        }
105
 
106
        public String getTipoFinalizacao() {
107
                return tipoFinalizacao;
108
        }
109
        public void setTipoFinalizacao(String tipoFinalizacao) {
110
                this.tipoFinalizacao = tipoFinalizacao;
111
        }
112
 
630 blopes 113
        public NpsPosVendaDTO getNpsPosVendaAgradecimento() {
114
                return npsPosVendaAgradecimento;
629 blopes 115
        }
630 blopes 116
        public void setNpsPosVendaAgradecimento(NpsPosVendaDTO npsPosVendaAgradecimento) {
117
                this.npsPosVendaAgradecimento = npsPosVendaAgradecimento;
629 blopes 118
        }
119
 
120
        public NpsPosVendaDTO getNpsPosVendaProduto() {
121
                return npsPosVendaProduto;
122
        }
123
        public void setNpsPosVendaProduto(NpsPosVendaDTO npsPosVendaProduto) {
124
                this.npsPosVendaProduto = npsPosVendaProduto;
125
        }
126
 
620 blopes 127
        public List<PosVendaAtivacaoDTO> getListaAtivacoes() {
128
                return listaAtivacoes;
129
        }
130
        public void setListaAtivacoes(List<PosVendaAtivacaoDTO> listaAtivacoes) {
131
                this.listaAtivacoes = listaAtivacoes;
132
        }
133
 
625 blopes 134
        public String getScriptAtivacaoAgradecimento() {
624 blopes 135
                String scriptAtivacaoAgradecimento = "Olá, [Nome]! 👋"
621 blopes 136
                                + "\nAgradecemos por comprar na Espaço Case! 💙"
624 blopes 137
                                + "\nEsperamos que você curta muito o seu novo produto."
625 blopes 138
                                + "\nSe precisar de ajuda com algo ou quiser dicas de uso, estamos por aqui! 😉"
139
                                + "\n\n📲 Siga a gente no Instagram para novidades e promoções: @espacocaseoficial"
140
                                + "\n\nPara melhorar nosso atendimento, que tal responder rapidinho?"
624 blopes 141
                                + "\nDe 1 a 5, qual a probabilidade de você recomendar nosso atendimento para um amigo?"
142
                                + "\n👉 [Link]"
143
                                + "";
625 blopes 144
                scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Link]", linkNpsAtendimento());
624 blopes 145
                if (VerificadorUtil.naoEstaNulo(getClienteDTO())) {
146
                        scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Nome]", getClienteDTO().getObterPrimeiroNome());
147
                }
148
                return scriptAtivacaoAgradecimento;
621 blopes 149
        }
625 blopes 150
        public void setScriptAtivacaoAgradecimento(String scriptAtivacaoAgradecimento) {
151
                this.scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento;
152
        }
621 blopes 153
 
625 blopes 154
        public String linkNpsAtendimento() {
155
                return "https://espacocase.net/novo/sistema/comercial/nps_atendimento.xhtml?sq=" + getSequencial();
156
        }
157
 
630 blopes 158
        public String corDaSituacaoAgradecimento() {
159
                return VerificadorUtil.estaNulo(getDataInicio())? "danger" : VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento().getDataFinalizacao())? "success" : "warning" : "warning";
625 blopes 160
        }
161
 
629 blopes 162
        public String notaNpsPosVendaAtendimento() {
630 blopes 163
                return VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? "" + getNpsPosVendaAgradecimento().getNota() : "SEM NOTA!";
629 blopes 164
        }
165
 
631 blopes 166
        public Long getSequencialDaVenda() {
167
                return VerificadorUtil.naoEstaNulo(getVendaDTO())? VerificadorUtil.naoEstaNulo(getVendaDTO().getSequencial())? getVendaDTO().getSequencial() : null : null;
168
        }
169
 
620 blopes 170
}