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

wmixvideo / nfe / #7138

20 Nov 2015 08:23PM UTC coverage: 79.804% (+0.5%) from 79.328%
#7138

push

travis-ci

fincatto
Corrigido teste atrelado a classe de info de partilha de icms

4394 of 5506 relevant lines covered (79.8%)

50.76 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 java.math.BigDecimal;
4

5
import org.apache.axiom.om.OMElement;
6
import org.apache.axiom.om.util.AXIOMUtil;
7
import org.apache.commons.lang3.StringUtils;
8
import org.apache.log4j.Logger;
9
import org.simpleframework.xml.core.Persister;
10
import org.simpleframework.xml.stream.Format;
11

12
import com.fincatto.nfe310.NFeConfig;
13
import com.fincatto.nfe310.assinatura.AssinaturaDigital;
14
import com.fincatto.nfe310.classes.NFAutorizador31;
15
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEnviaEventoInutilizacao;
16
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEventoCancelamentoDados;
17
import com.fincatto.nfe310.classes.evento.inutilizacao.NFRetornoEventoInutilizacao;
18
import com.fincatto.nfe310.transformers.NFRegistryMatcher;
19
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub;
20
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsg;
21
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsgE;
22
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeDadosMsg;
23
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeInutilizacaoNF2Result;
24

25
class WSInutilizacao {
26

27
    private static final String VERSAO_SERVICO = "3.10";
28
    private static final String NOME_SERVICO = "INUTILIZAR";
29
    private static final String MODELO_DOCUMENTO = "55";
30
    private final NFeConfig config;
31
    private static final Logger LOG = Logger.getLogger(WSInutilizacao.class);
×
32

33
    public WSInutilizacao(final NFeConfig config) {
×
34
        this.config = config;
×
35
    }
×
36

37
    public NFRetornoEventoInutilizacao inutilizaNota(final int anoInutilizacaoNumeracao, final String cnpjEmitente, final String serie, final String numeroInicial, final String numeroFinal, final String justificativa) throws Exception {
38
        final String inutilizacaoXML = this.geraDadosInutilizacao(anoInutilizacaoNumeracao, cnpjEmitente, serie, numeroInicial, numeroFinal, justificativa).toString();
×
39
        final String inutilizacaoXMLAssinado = new AssinaturaDigital(this.config).assinarDocumento(inutilizacaoXML);
×
40
        final OMElement omElementResult = this.efetuaInutilizacao(inutilizacaoXMLAssinado);
×
41

42
        return new Persister(new NFRegistryMatcher(), new Format(0)).read(NFRetornoEventoInutilizacao.class, omElementResult.toString());
×
43
    }
44

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

50
        final NfeInutilizacao2Stub.NfeCabecMsgE cabecalhoE = new NfeCabecMsgE();
×
51
        cabecalhoE.setNfeCabecMsg(cabecalho);
×
52

53
        final NfeInutilizacao2Stub.NfeDadosMsg dados = new NfeDadosMsg();
×
54
        final OMElement omElement = AXIOMUtil.stringToOM(inutilizacaoXMLAssinado);
×
55
        WSInutilizacao.LOG.debug(omElement);
×
56
        dados.setExtraElement(omElement);
×
57

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

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

83
        inutilizacao.setVersao(new BigDecimal(WSInutilizacao.VERSAO_SERVICO));
×
84
        inutilizacao.setDados(dados);
×
85
        return inutilizacao;
×
86
    }
87
}
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