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
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;
9
 
620 blopes 10
public class PosVendaDTO {
11
 
12
        // INICIAR PÓS-VENDA APÓS A REALIZAÇÃO DE UMA VENDA COM O CONTATO DO CLIENTE
621 blopes 13
        // PARA FINALIZAR, AO MENOS, É PRECISO TER AS DUAS ATIVAÇÕES INICIAIS (AGRADECIMENTO+NPS ATENDIMENTO E NPS DO PRODUTO
623 blopes 14
 
621 blopes 15
        private Long sequencial;
620 blopes 16
        private VendaDTO vendaDTO;
623 blopes 17
        private ClienteDTO clienteDTO;
620 blopes 18
        private Date dataCadastro;
625 blopes 19
        private Date dataInicio;
20
        private Date dataFinalizacao;
627 blopes 21
        private String tipoFinalizacao; // A - ATENDIMENTO ENCERRADO // V - NOVA VENDA
623 blopes 22
        private String observacao;
625 blopes 23
        private String scriptAtivacaoAgradecimento;
620 blopes 24
 
25
        private List<PosVendaAtivacaoDTO> listaAtivacoes;
26
 
27
        public PosVendaDTO() {
28
        }
29
 
623 blopes 30
        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 31
                        + "e.cliente.contato, e.cliente.telefone, e.dataCadastro, e.dataInicio, e.dataFinalizacao, e.tipoFinalizacao, e.observacao";
623 blopes 32
        public PosVendaDTO(Long sequencial, Long sequencialVenda, Date dataVenda, Long sequencialCliente, String nomeCliente, Date dataNascimentoCliente,
627 blopes 33
                        String contatoCliente, String telefoneCliente, Date dataCadastro, Date dataInicio, Date dataFinalizacao, String tipoFinalizacao, String observacao) {
623 blopes 34
                super();
35
                this.sequencial = sequencial;
36
                VendaDTO vendaDTO = new VendaDTO(sequencialVenda);
37
                vendaDTO.setDataVenda(dataVenda);
38
                this.vendaDTO = vendaDTO;
39
                this.clienteDTO = new ClienteDTO(sequencialCliente, nomeCliente, dataNascimentoCliente, contatoCliente, telefoneCliente);
40
                this.dataCadastro = dataCadastro;
627 blopes 41
                this.dataInicio = dataInicio;
623 blopes 42
                this.dataFinalizacao = dataFinalizacao;
43
                this.tipoFinalizacao = tipoFinalizacao;
627 blopes 44
                this.observacao = observacao;
623 blopes 45
        }
46
 
621 blopes 47
        public Long getSequencial() {
48
                return sequencial;
49
        }
50
        public void setSequencial(Long sequencial) {
51
                this.sequencial = sequencial;
52
        }
53
 
620 blopes 54
        public VendaDTO getVendaDTO() {
55
                return vendaDTO;
56
        }
57
        public void setVendaDTO(VendaDTO vendaDTO) {
58
                this.vendaDTO = vendaDTO;
59
        }
60
 
623 blopes 61
        public ClienteDTO getClienteDTO() {
62
                return clienteDTO;
63
        }
64
        public void setClienteDTO(ClienteDTO clienteDTO) {
65
                this.clienteDTO = clienteDTO;
66
        }
67
 
620 blopes 68
        public Date getDataCadastro() {
69
                return dataCadastro;
70
        }
71
        public void setDataCadastro(Date dataCadastro) {
72
                this.dataCadastro = dataCadastro;
73
        }
74
 
625 blopes 75
        public Date getDataInicio() {
76
                return dataInicio;
77
        }
78
        public void setDataInicio(Date dataInicio) {
79
                this.dataInicio = dataInicio;
80
        }
81
 
623 blopes 82
        public Date getDataFinalizacao() {
83
                return dataFinalizacao;
84
        }
85
        public void setDataFinalizacao(Date dataFinalizacao) {
86
                this.dataFinalizacao = dataFinalizacao;
87
        }
88
 
89
        public String getObservacao() {
90
                return observacao;
91
        }
92
        public void setObservacao(String observacao) {
93
                this.observacao = observacao;
94
        }
95
 
96
        public String getTipoFinalizacao() {
97
                return tipoFinalizacao;
98
        }
99
        public void setTipoFinalizacao(String tipoFinalizacao) {
100
                this.tipoFinalizacao = tipoFinalizacao;
101
        }
102
 
620 blopes 103
        public List<PosVendaAtivacaoDTO> getListaAtivacoes() {
104
                return listaAtivacoes;
105
        }
106
        public void setListaAtivacoes(List<PosVendaAtivacaoDTO> listaAtivacoes) {
107
                this.listaAtivacoes = listaAtivacoes;
108
        }
109
 
625 blopes 110
        public String getScriptAtivacaoAgradecimento() {
624 blopes 111
                String scriptAtivacaoAgradecimento = "Olá, [Nome]! 👋"
621 blopes 112
                                + "\nAgradecemos por comprar na Espaço Case! 💙"
624 blopes 113
                                + "\nEsperamos que você curta muito o seu novo produto."
625 blopes 114
                                + "\nSe precisar de ajuda com algo ou quiser dicas de uso, estamos por aqui! 😉"
115
                                + "\n\n📲 Siga a gente no Instagram para novidades e promoções: @espacocaseoficial"
116
                                + "\n\nPara melhorar nosso atendimento, que tal responder rapidinho?"
624 blopes 117
                                + "\nDe 1 a 5, qual a probabilidade de você recomendar nosso atendimento para um amigo?"
118
                                + "\n👉 [Link]"
119
                                + "";
625 blopes 120
                scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Link]", linkNpsAtendimento());
624 blopes 121
                if (VerificadorUtil.naoEstaNulo(getClienteDTO())) {
122
                        scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Nome]", getClienteDTO().getObterPrimeiroNome());
123
                }
124
                return scriptAtivacaoAgradecimento;
621 blopes 125
        }
625 blopes 126
        public void setScriptAtivacaoAgradecimento(String scriptAtivacaoAgradecimento) {
127
                this.scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento;
128
        }
621 blopes 129
 
625 blopes 130
        public String linkNpsAtendimento() {
131
                return "https://espacocase.net/novo/sistema/comercial/nps_atendimento.xhtml?sq=" + getSequencial();
132
        }
133
 
134
        public String corDaSituacao() {
135
                return VerificadorUtil.estaNulo(getDataInicio())? "danger" : "warning";
136
        }
137
 
620 blopes 138
}