• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wmixvideo / nfe / #6285

09 May 2016 12:13PM UTC coverage: 79.328% (-0.04%) from 79.364%
#6285

push

travis-ci

jefperito
Ajustado javadoc para HTML Strict

4651 of 5863 relevant lines covered (79.33%)

50.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/com/fincatto/nfe310/webservices/WSInutilizacao.java
1
package com.fincatto.nfe310.webservices;
2

3
import com.fincatto.nfe310.NFeConfig;
4
import com.fincatto.nfe310.assinatura.AssinaturaDigital;
5
import com.fincatto.nfe310.classes.NFAutorizador31;
6
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEnviaEventoInutilizacao;
7
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEventoCancelamentoDados;
8
import com.fincatto.nfe310.classes.evento.inutilizacao.NFRetornoEventoInutilizacao;
9
import com.fincatto.nfe310.persister.NFPersister;
10
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub;
11
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsg;
12
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsgE;
13
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeDadosMsg;
14
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeInutilizacaoNF2Result;
15
import org.apache.axiom.om.OMElement;
16
import org.apache.axiom.om.util.AXIOMUtil;
17
import org.apache.commons.lang3.StringUtils;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20

21
import java.math.BigDecimal;
22

23
class WSInutilizacao {
24

25
    private static final String VERSAO_SERVICO = "3.10";
26
    private static final String NOME_SERVICO = "INUTILIZAR";
27
    private static final String MODELO_DOCUMENTO = "55";
28
    private static final Logger LOGGER = LoggerFactory.getLogger(WSInutilizacao.class);
×
29
    private final NFeConfig config;
30

31
    WSInutilizacao(final NFeConfig config) {
×
32
        this.config = config;
×
33
    }
×
34

35
    NFRetornoEventoInutilizacao inutilizaNotaAssinada(final String eventoAssinadoXml) throws Exception {
36
        final OMElement omElementResult = this.efetuaInutilizacao(eventoAssinadoXml);
×
37
        return new NFPersister().read(NFRetornoEventoInutilizacao.class, omElementResult.toString());
×
38
    }
39

40
    NFRetornoEventoInutilizacao inutilizaNota(final int anoInutilizacaoNumeracao, final String cnpjEmitente, final String serie, final String numeroInicial, final String numeroFinal, final String justificativa) throws Exception {
41
        final String inutilizacaoXML = this.geraDadosInutilizacao(anoInutilizacaoNumeracao, cnpjEmitente, serie, numeroInicial, numeroFinal, justificativa).toString();
×
42
        final String inutilizacaoXMLAssinado = new AssinaturaDigital(this.config).assinarDocumento(inutilizacaoXML);
×
43
        final OMElement omElementResult = this.efetuaInutilizacao(inutilizacaoXMLAssinado);
×
44
        return new NFPersister().read(NFRetornoEventoInutilizacao.class, omElementResult.toString());
×
45
    }
46

47
    private OMElement efetuaInutilizacao(final String inutilizacaoXMLAssinado) throws Exception {
48
        final NfeInutilizacao2Stub.NfeCabecMsg cabecalho = new NfeCabecMsg();
×
49
        cabecalho.setCUF(this.config.getCUF().getCodigoIbge());
×
50
        cabecalho.setVersaoDados(WSInutilizacao.VERSAO_SERVICO);
×
51

52
        final NfeInutilizacao2Stub.NfeCabecMsgE cabecalhoE = new NfeCabecMsgE();
×
53
        cabecalhoE.setNfeCabecMsg(cabecalho);
×
54

55
        final NfeInutilizacao2Stub.NfeDadosMsg dados = new NfeDadosMsg();
×
56
        final OMElement omElement = AXIOMUtil.stringToOM(inutilizacaoXMLAssinado);
×
57
        WSInutilizacao.LOGGER.debug(omElement.toString());
×
58
        dados.setExtraElement(omElement);
×
59

60
        final String urlWebService = NFAutorizador31.valueOfCodigoUF(this.config.getCUF()).getNfeInutilizacao(this.config.getAmbiente());
×
61
        final NfeInutilizacaoNF2Result nf2Result = new NfeInutilizacao2Stub(urlWebService).nfeInutilizacaoNF2(dados, cabecalhoE);
×
62
        final OMElement dadosRetorno = nf2Result.getExtraElement();
×
63
        WSInutilizacao.LOGGER.debug(dadosRetorno.toString());
×
64
        return dadosRetorno;
×
65
    }
66

67
    private NFEnviaEventoInutilizacao geraDadosInutilizacao(final int anoInutilizacaoNumeracao, final String cnpjEmitente, final String serie, final String numeroInicial, final String numeroFinal, final String justificativa) {
68
        final NFEnviaEventoInutilizacao inutilizacao = new NFEnviaEventoInutilizacao();
×
69
        final NFEventoCancelamentoDados dados = new NFEventoCancelamentoDados();
×
70
        dados.setAmbiente(this.config.getAmbiente());
×
71
        dados.setAno(anoInutilizacaoNumeracao);
×
72
        dados.setCnpj(cnpjEmitente);
×
73
        dados.setJustificativa(justificativa);
×
74
        dados.setModeloDocumentoFiscal(WSInutilizacao.MODELO_DOCUMENTO);
×
75
        dados.setNomeServico(WSInutilizacao.NOME_SERVICO);
×
76
        dados.setNumeroNFInicial(numeroInicial);
×
77
        dados.setNumeroNFFinal(numeroFinal);
×
78
        dados.setSerie(serie);
×
79
        dados.setUf(this.config.getCUF());
×
80
        final String numeroInicialTamanhoMaximo = StringUtils.leftPad(numeroInicial, 9, "0");
×
81
        final String numeroFinalTamanhoMaximo = StringUtils.leftPad(numeroFinal, 9, "0");
×
82
        final String serieTamanhoMaximo = StringUtils.leftPad(serie, 3, "0");
×
83
        dados.setIdentificador("ID" + this.config.getCUF().getCodigoIbge() + String.valueOf(anoInutilizacaoNumeracao) + cnpjEmitente + WSInutilizacao.MODELO_DOCUMENTO + serieTamanhoMaximo + numeroInicialTamanhoMaximo + numeroFinalTamanhoMaximo);
×
84

85
        inutilizacao.setVersao(new BigDecimal(WSInutilizacao.VERSAO_SERVICO));
×
86
        inutilizacao.setDados(dados);
×
87
        return inutilizacao;
×
88
    }
89
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc