Subversion Repositories Integrator Subversion

Rev

Rev 629 | Rev 631 | 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
 
623 blopes 37
        public static String CONSULTA_DTO_SIMPLES = "e.sequencial, e.venda.sequencial, e.venda.dataVenda, e.cliente.sequencial, e.cliente.nome, e.cliente.dataNascimento,"
627 blopes 38
                        + "e.cliente.contato, e.cliente.telefone, e.dataCadastro, e.dataInicio, e.dataFinalizacao, e.tipoFinalizacao, e.observacao";
623 blopes 39
        public PosVendaDTO(Long sequencial, Long sequencialVenda, Date dataVenda, Long sequencialCliente, String nomeCliente, Date dataNascimentoCliente,
627 blopes 40
                        String contatoCliente, String telefoneCliente, Date dataCadastro, Date dataInicio, Date dataFinalizacao, String tipoFinalizacao, String observacao) {
623 blopes 41
                super();
42
                this.sequencial = sequencial;
43
                VendaDTO vendaDTO = new VendaDTO(sequencialVenda);
44
                vendaDTO.setDataVenda(dataVenda);
45
                this.vendaDTO = vendaDTO;
46
                this.clienteDTO = new ClienteDTO(sequencialCliente, nomeCliente, dataNascimentoCliente, contatoCliente, telefoneCliente);
47
                this.dataCadastro = dataCadastro;
627 blopes 48
                this.dataInicio = dataInicio;
623 blopes 49
                this.dataFinalizacao = dataFinalizacao;
50
                this.tipoFinalizacao = tipoFinalizacao;
627 blopes 51
                this.observacao = observacao;
623 blopes 52
        }
53
 
621 blopes 54
        public Long getSequencial() {
55
                return sequencial;
56
        }
57
        public void setSequencial(Long sequencial) {
58
                this.sequencial = sequencial;
59
        }
60
 
620 blopes 61
        public VendaDTO getVendaDTO() {
62
                return vendaDTO;
63
        }
64
        public void setVendaDTO(VendaDTO vendaDTO) {
65
                this.vendaDTO = vendaDTO;
66
        }
67
 
623 blopes 68
        public ClienteDTO getClienteDTO() {
69
                return clienteDTO;
70
        }
71
        public void setClienteDTO(ClienteDTO clienteDTO) {
72
                this.clienteDTO = clienteDTO;
73
        }
74
 
620 blopes 75
        public Date getDataCadastro() {
76
                return dataCadastro;
77
        }
78
        public void setDataCadastro(Date dataCadastro) {
79
                this.dataCadastro = dataCadastro;
80
        }
81
 
625 blopes 82
        public Date getDataInicio() {
83
                return dataInicio;
84
        }
85
        public void setDataInicio(Date dataInicio) {
86
                this.dataInicio = dataInicio;
87
        }
88
 
623 blopes 89
        public Date getDataFinalizacao() {
90
                return dataFinalizacao;
91
        }
92
        public void setDataFinalizacao(Date dataFinalizacao) {
93
                this.dataFinalizacao = dataFinalizacao;
94
        }
95
 
96
        public String getObservacao() {
97
                return observacao;
98
        }
99
        public void setObservacao(String observacao) {
100
                this.observacao = observacao;
101
        }
102
 
103
        public String getTipoFinalizacao() {
104
                return tipoFinalizacao;
105
        }
106
        public void setTipoFinalizacao(String tipoFinalizacao) {
107
                this.tipoFinalizacao = tipoFinalizacao;
108
        }
109
 
630 blopes 110
        public NpsPosVendaDTO getNpsPosVendaAgradecimento() {
111
                return npsPosVendaAgradecimento;
629 blopes 112
        }
630 blopes 113
        public void setNpsPosVendaAgradecimento(NpsPosVendaDTO npsPosVendaAgradecimento) {
114
                this.npsPosVendaAgradecimento = npsPosVendaAgradecimento;
629 blopes 115
        }
116
 
117
        public NpsPosVendaDTO getNpsPosVendaProduto() {
118
                return npsPosVendaProduto;
119
        }
120
        public void setNpsPosVendaProduto(NpsPosVendaDTO npsPosVendaProduto) {
121
                this.npsPosVendaProduto = npsPosVendaProduto;
122
        }
123
 
620 blopes 124
        public List<PosVendaAtivacaoDTO> getListaAtivacoes() {
125
                return listaAtivacoes;
126
        }
127
        public void setListaAtivacoes(List<PosVendaAtivacaoDTO> listaAtivacoes) {
128
                this.listaAtivacoes = listaAtivacoes;
129
        }
130
 
625 blopes 131
        public String getScriptAtivacaoAgradecimento() {
624 blopes 132
                String scriptAtivacaoAgradecimento = "Olá, [Nome]! 👋"
621 blopes 133
                                + "\nAgradecemos por comprar na Espaço Case! 💙"
624 blopes 134
                                + "\nEsperamos que você curta muito o seu novo produto."
625 blopes 135
                                + "\nSe precisar de ajuda com algo ou quiser dicas de uso, estamos por aqui! 😉"
136
                                + "\n\n📲 Siga a gente no Instagram para novidades e promoções: @espacocaseoficial"
137
                                + "\n\nPara melhorar nosso atendimento, que tal responder rapidinho?"
624 blopes 138
                                + "\nDe 1 a 5, qual a probabilidade de você recomendar nosso atendimento para um amigo?"
139
                                + "\n👉 [Link]"
140
                                + "";
625 blopes 141
                scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Link]", linkNpsAtendimento());
624 blopes 142
                if (VerificadorUtil.naoEstaNulo(getClienteDTO())) {
143
                        scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Nome]", getClienteDTO().getObterPrimeiroNome());
144
                }
145
                return scriptAtivacaoAgradecimento;
621 blopes 146
        }
625 blopes 147
        public void setScriptAtivacaoAgradecimento(String scriptAtivacaoAgradecimento) {
148
                this.scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento;
149
        }
621 blopes 150
 
625 blopes 151
        public String linkNpsAtendimento() {
152
                return "https://espacocase.net/novo/sistema/comercial/nps_atendimento.xhtml?sq=" + getSequencial();
153
        }
154
 
630 blopes 155
        public String corDaSituacaoAgradecimento() {
156
                return VerificadorUtil.estaNulo(getDataInicio())? "danger" : VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento().getDataFinalizacao())? "success" : "warning" : "warning";
625 blopes 157
        }
158
 
629 blopes 159
        public String notaNpsPosVendaAtendimento() {
630 blopes 160
                return VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? "" + getNpsPosVendaAgradecimento().getNota() : "SEM NOTA!";
629 blopes 161
        }
162
 
620 blopes 163
}