Subversion Repositories Integrator Subversion

Rev

Rev 126 | Rev 195 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 126 Rev 170
Line 1... Line 1...
1
package br.com.ec.domain.model;
1
package br.com.ec.domain.model;
2
2
3
import java.io.ByteArrayInputStream;
3
import java.io.ByteArrayInputStream;
4
import java.io.ByteArrayOutputStream;
4
import java.io.ByteArrayOutputStream;
5
import java.io.IOException;
5
import java.io.IOException;
6
import java.io.InputStream;
-
 
7
import java.io.Serializable;
6
import java.io.Serializable;
8
import java.io.StringReader;
7
import java.io.StringReader;
9
import java.util.Date;
8
import java.util.Date;
10
import java.util.List;
9
import java.util.List;
11
10
Line 35... Line 34...
35
import org.apache.commons.io.IOUtils;
34
import org.apache.commons.io.IOUtils;
36
import org.hibernate.annotations.ForeignKey;
35
import org.hibernate.annotations.ForeignKey;
37
import org.primefaces.model.DefaultStreamedContent;
36
import org.primefaces.model.DefaultStreamedContent;
38
import org.w3c.dom.Document;
37
import org.w3c.dom.Document;
39
38
40
import br.com.ec.domain.model.tipos.TipoModeloNotaFiscal;
-
 
41
import br.com.ec.domain.model.tipos.TipoNotaFiscal;
-
 
-
 
39
import br.com.ec.domain.model.tipos.nfe.TipoModeloNotaFiscal;
-
 
40
import br.com.ec.domain.model.tipos.nfe.TipoNotaFiscal;
-
 
41
import br.com.ec.domain.model.tipos.nfe.TipoNotaFiscalNaturezaOperacao;
-
 
42
import br.com.ec.domain.model.tipos.nfe.TipoNotaFiscalPresencaComprador;
-
 
43
import br.com.ec.domain.model.tipos.nfe.TipoNotaFiscalStatusRetorno;
42
import br.edu.cesmac.core.exception.NegocioException;
44
import br.edu.cesmac.core.exception.NegocioException;
43
import br.edu.cesmac.core.generic.identidade.Identidade;
45
import br.edu.cesmac.core.generic.identidade.Identidade;
44
import br.edu.cesmac.core.interfaces.Alterar;
46
import br.edu.cesmac.core.interfaces.Alterar;
45
import br.edu.cesmac.core.interfaces.Cadastrar;
47
import br.edu.cesmac.core.interfaces.Cadastrar;
46
import br.edu.cesmac.core.util.StringUtil;
48
import br.edu.cesmac.core.util.StringUtil;
Line 54... Line 56...
54
public class NotaFiscal implements Serializable, Identidade {
56
public class NotaFiscal implements Serializable, Identidade {
55
57
56
        private static final long serialVersionUID = 1L;
58
        private static final long serialVersionUID = 1L;
57
59
58
        private Long sequencial;
60
        private Long sequencial;
-
 
61
        private String tipoModeloNotaFiscal;
-
 
62
        private String serie;
59
        private Long numeroNotaFiscal;
63
        private Long numeroNotaFiscal;
-
 
64
        private Date dataHoraEmissao;
-
 
65
       
60
        private String chave;
66
        private String chave;
61
        private String serie;
-
 
-
 
67
       
-
 
68
        private String tipoNotaFiscalNaturezaOperacao; // NOVO
-
 
69
        private String tipoNotaFiscalPresencaComprador; //NOVO
-
 
70
        private Boolean indicadorOperacaoConsumidorFinal;
-
 
71
       
62
        private Venda venda;
72
        private Venda venda;
63
        private Pessoa pessoaJuridicaEmitente;
-
 
64
        private Pessoa pessoaJuridicaDestinatario;
-
 
-
 
73
        private Pessoa pessoaEmitente;
-
 
74
        private Pessoa pessoaDestinatario;
65
        private String observacaoVenda;
75
        private String observacaoVenda;
66
//      private Transporte transporte;
76
//      private Transporte transporte;
67
        private String descricaoComplementares;
77
        private String descricaoComplementares;
68
        private Date dataHoraEmissao;
-
 
-
 
78
       
69
        private String textoXml;
79
        private String textoXml;
70
        private String tipoNotaFiscal;
80
        private String tipoNotaFiscal;
71
        private String tipoModeloNotaFiscal;
-
 
-
 
81
       
72
        private String protocoloAutorizacao;
82
        private String protocoloAutorizacao;
73
        private String caminhoQrcode;
83
        private String caminhoQrcode;
74
       
84
       
75
        private String statusRetorno;
85
        private String statusRetorno;
76
        private String motivoRetorno;
86
        private String motivoRetorno;
Line 105... Line 115...
105
        public Long getSequencial() {
115
        public Long getSequencial() {
106
                return sequencial;
116
                return sequencial;
107
        }
117
        }
108
        public void setSequencial(Long sequencial) {
118
        public void setSequencial(Long sequencial) {
109
                this.sequencial = sequencial;
119
                this.sequencial = sequencial;
110
        }
-
 
111
       
-
 
112
        @Column(name="cod_nota_fiscal")
-
 
113
        public String getChave() {
-
 
114
                return chave;
-
 
115
        }
-
 
116
        public void setChave(String chave) {
-
 
117
                this.chave = chave;
-
 
118
        }
120
        }
119
       
121
       
120
        @Column(name="dsc_serie")
122
        @Column(name="dsc_serie")
121
        public String getSerie() {
123
        public String getSerie() {
122
                return serie;
124
                return serie;
Line 129... Line 131...
129
        public Long getNumeroNotaFiscal() {
131
        public Long getNumeroNotaFiscal() {
130
                return numeroNotaFiscal;
132
                return numeroNotaFiscal;
131
        }
133
        }
132
        public void setNumeroNotaFiscal(Long numeroNotaFiscal) {
134
        public void setNumeroNotaFiscal(Long numeroNotaFiscal) {
133
                this.numeroNotaFiscal = numeroNotaFiscal;
135
                this.numeroNotaFiscal = numeroNotaFiscal;
-
 
136
        }
-
 
137
       
-
 
138
        @Column(name="cod_nota_fiscal")
-
 
139
        public String getChave() {
-
 
140
                return chave;
-
 
141
        }
-
 
142
        public void setChave(String chave) {
-
 
143
                this.chave = chave;
-
 
144
        }
-
 
145
       
-
 
146
        @Transient
-
 
147
        public String getTipoNotaFiscalNaturezaOperacao() {
-
 
148
                return tipoNotaFiscalNaturezaOperacao;
-
 
149
        }
-
 
150
        public void setTipoNotaFiscalNaturezaOperacao(String tipoNotaFiscalNaturezaOperacao) {
-
 
151
                this.tipoNotaFiscalNaturezaOperacao = tipoNotaFiscalNaturezaOperacao;
-
 
152
        }
-
 
153
        @Transient
-
 
154
        public String descricaoTipoNotaFiscalNaturezaOperacao() {
-
 
155
                return VerificadorUtil.naoEstaNuloOuVazio(getTipoNotaFiscalNaturezaOperacao())? TipoNotaFiscalNaturezaOperacao.parse(getTipoNotaFiscalNaturezaOperacao()).getDescricao() : null;
-
 
156
        }
-
 
157
       
-
 
158
        @Transient
-
 
159
        public String getTipoNotaFiscalPresencaComprador() {
-
 
160
                return tipoNotaFiscalPresencaComprador;
-
 
161
        }
-
 
162
        public void setTipoNotaFiscalPresencaComprador(String tipoNotaFiscalPresencaComprador) {
-
 
163
                this.tipoNotaFiscalPresencaComprador = tipoNotaFiscalPresencaComprador;
-
 
164
        }
-
 
165
        @Transient
-
 
166
        public String descricaoTipoNotaFiscalPresencaComprador() {
-
 
167
                return VerificadorUtil.naoEstaNuloOuVazio(getTipoNotaFiscalPresencaComprador())? TipoNotaFiscalPresencaComprador.parse(getTipoNotaFiscalPresencaComprador()).getDescricao() : null;
134
        }
168
        }
135
       
169
       
136
        @ManyToOne
170
        @ManyToOne
137
        @ForeignKey(name = "fk_notafiscal_venda")
171
        @ForeignKey(name = "fk_notafiscal_venda")
138
        @JoinColumn(name="seq_venda", referencedColumnName="seq_venda", insertable=true, updatable=false)
172
        @JoinColumn(name="seq_venda", referencedColumnName="seq_venda", insertable=true, updatable=false)
Line 144... Line 178...
144
        }
178
        }
145
       
179
       
146
        @ManyToOne
180
        @ManyToOne
147
        @ForeignKey(name = "fk_notafiscal_emitente")
181
        @ForeignKey(name = "fk_notafiscal_emitente")
148
        @JoinColumn(name="seq_pessoa_emitente", referencedColumnName="seq_pessoa", insertable=true, updatable=true)
182
        @JoinColumn(name="seq_pessoa_emitente", referencedColumnName="seq_pessoa", insertable=true, updatable=true)
149
        public Pessoa getPessoaJuridicaEmitente() {
-
 
150
                return pessoaJuridicaEmitente;
-
 
-
 
183
        public Pessoa getPessoaEmitente() {
-
 
184
                return pessoaEmitente;
151
        }
185
        }
152
        public void setPessoaJuridicaEmitente(Pessoa pessoaJuridicaEmitente) {
-
 
153
                this.pessoaJuridicaEmitente = pessoaJuridicaEmitente;
-
 
-
 
186
        public void setPessoaEmitente(Pessoa pessoaEmitente) {
-
 
187
                this.pessoaEmitente = pessoaEmitente;
154
        }
188
        }
155
       
189
       
156
        @ManyToOne
190
        @ManyToOne
157
        @ForeignKey(name = "fk_notafiscal_destinatario")
191
        @ForeignKey(name = "fk_notafiscal_destinatario")
158
        @JoinColumn(name="seq_pessoa_destinatario", referencedColumnName="seq_pessoa", insertable=true, updatable=true)
192
        @JoinColumn(name="seq_pessoa_destinatario", referencedColumnName="seq_pessoa", insertable=true, updatable=true)
159
        public Pessoa getPessoaJuridicaDestinatario() {
-
 
160
                return pessoaJuridicaDestinatario;
-
 
-
 
193
        public Pessoa getPessoaDestinatario() {
-
 
194
                return pessoaDestinatario;
161
        }
195
        }
162
        public void setPessoaJuridicaDestinatario(Pessoa pessoaJuridicaDestinatario) {
-
 
163
                this.pessoaJuridicaDestinatario = pessoaJuridicaDestinatario;
-
 
-
 
196
        public void setPessoaDestinatario(Pessoa pessoaDestinatario) {
-
 
197
                this.pessoaDestinatario = pessoaDestinatario;
164
        }
198
        }
165
       
199
       
166
        @Column(name="dsc_obs_venda")
200
        @Column(name="dsc_obs_venda")
167
        @Size(max = 100, message = "Limite de caracteres ultrapassado: Observação da Venda")
201
        @Size(max = 100, message = "Limite de caracteres ultrapassado: Observação da Venda")
168
        public String getObservacaoVenda() {
202
        public String getObservacaoVenda() {
Line 246... Line 280...
246
        public String getStatusRetorno() {
280
        public String getStatusRetorno() {
247
                return statusRetorno;
281
                return statusRetorno;
248
        }
282
        }
249
        public void setStatusRetorno(String statusRetorno) {
283
        public void setStatusRetorno(String statusRetorno) {
250
                this.statusRetorno = statusRetorno;
284
                this.statusRetorno = statusRetorno;
-
 
285
        }
-
 
286
        @Transient
-
 
287
        public String resultadoStatusRetorno() {
-
 
288
                TipoNotaFiscalStatusRetorno tipoStatus = TipoNotaFiscalStatusRetorno.parse(new Long(getStatusRetorno()));
-
 
289
                return VerificadorUtil.naoEstaNulo(tipoStatus)? tipoStatus.getDescricao() : getStatusRetorno();
251
        }
290
        }
252
       
291
       
253
        @Column(name="dsc_motivo_retorno")
292
        @Column(name="dsc_motivo_retorno")
254
        @Size(max = 100, message = "Limite de caracteres ultrapassado: Motivo do Retorno")
293
        @Size(max = 100, message = "Limite de caracteres ultrapassado: Motivo do Retorno")
255
        public String getMotivoRetorno() {
294
        public String getMotivoRetorno() {