Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package nfe;
2
 
3
import javax.xml.bind.JAXBException;
4
 
5
import br.inf.portalfiscal.nfe.schema.envConfRecebto.TEnvEvento;
6
import br.inf.portalfiscal.nfe.schema.envConfRecebto.TEvento;
7
import br.inf.portalfiscal.nfe.schema.envConfRecebto.TRetEnvEvento;
8
import nfe.dom.ConfiguracoesIniciaisNfe;
9
import nfe.dom.Enum.TipoManifestacao;
10
import nfe.exception.NfeException;
11
import nfe.util.CertificadoUtil;
12
import nfe.util.ConstantesUtil;
13
import nfe.util.XmlUtil;
14
 
15
/**
16
 * @author Samuel Oliveira - samuk.exe@hotmail.com
17
 * Data: 28/09/2017 - 11:11
18
 */
19
class ManifestacaoDestinatario {
20
 
21
    static TRetEnvEvento eventoManifestacao(String chave, TipoManifestacao manifestacao, String cnpj, String data, String motivo) throws NfeException {
22
 
23
        try {
24
 
25
            ConfiguracoesIniciaisNfe configuracoesNfe = CertificadoUtil.iniciaConfiguracoes();
26
 
27
            String id = "ID" + manifestacao.getCodigo() + chave + "01";
28
 
29
            TEnvEvento envEvento = new TEnvEvento();
30
            envEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR);
31
            envEvento.setIdLote("1");
32
 
33
            TEvento evento = new TEvento();
34
            evento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR);
35
 
36
            TEvento.InfEvento infEvento = new TEvento.InfEvento();
37
            infEvento.setId(id);
38
            infEvento.setCOrgao("91");
39
            infEvento.setTpAmb(configuracoesNfe.getAmbiente());
40
            infEvento.setCNPJ(cnpj);
41
            infEvento.setChNFe(chave);
42
            infEvento.setDhEvento(data);
43
            infEvento.setTpEvento(manifestacao.getCodigo());
44
            infEvento.setNSeqEvento("1");
45
            infEvento.setVerEvento(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR);
46
 
47
            TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento();
48
            detEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR);
49
            detEvento.setDescEvento(manifestacao.getValor());
50
            detEvento.setXJust(motivo);
51
            infEvento.setDetEvento(detEvento);
52
            evento.setInfEvento(infEvento);
53
            envEvento.getEvento().add(evento);
54
 
55
            String xml = XmlUtil.objectToXml(envEvento);
56
            xml = xml.replaceAll(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", "");
57
            xml = xml.replaceAll("<evento v", "<evento xmlns=\"http://www.portalfiscal.inf.br/nfe\" v");
58
 
59
            xml = Eventos.enviarEvento(xml, ConstantesUtil.EVENTO.MANIFESTACAO, false, "");
60
 
61
            return XmlUtil.xmlToObject(xml, TRetEnvEvento.class);
62
 
63
        } catch (JAXBException e) {
64
            throw new NfeException(e.getMessage());
65
        }
66
    }
67
 
68
}