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

wmixvideo / nfe / #6284

02 Jun 2016 11:49PM UTC coverage: 79.364% (-0.4%) from 79.804%
#6284

push

travis-ci

fincatto
Atualizado xsd de validacao de envio de lote, que valida as notas com assinatura.
Atualizado para versão 2.0.0-SNAPSHOT, pois o codigo quebrou a compatibilidade.

0 of 1 new or added line in 1 file covered. (0.0%)

338 existing lines in 67 files now uncovered.

4742 of 5975 relevant lines covered (79.36%)

50.29 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.NFModelo;
7
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEnviaEventoInutilizacao;
8
import com.fincatto.nfe310.classes.evento.inutilizacao.NFEventoCancelamentoDados;
9
import com.fincatto.nfe310.classes.evento.inutilizacao.NFRetornoEventoInutilizacao;
10
import com.fincatto.nfe310.persister.NFPersister;
11
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub;
12
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsg;
13
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeCabecMsgE;
14
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeDadosMsg;
15
import com.fincatto.nfe310.webservices.gerado.NfeInutilizacao2Stub.NfeInutilizacaoNF2Result;
16

17
import org.apache.axiom.om.OMElement;
18
import org.apache.axiom.om.util.AXIOMUtil;
19
import org.apache.commons.lang3.StringUtils;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
22

23
import java.math.BigDecimal;
24

25
class WSInutilizacao {
26

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

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

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

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

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

55
        final NfeInutilizacao2Stub.NfeCabecMsgE cabecalhoE = new NfeCabecMsgE();
×
56
        cabecalhoE.setNfeCabecMsg(cabecalho);
×
57

58
        final NfeInutilizacao2Stub.NfeDadosMsg dados = new NfeDadosMsg();
×
59
        final OMElement omElement = AXIOMUtil.stringToOM(inutilizacaoXMLAssinado);
×
60
        WSInutilizacao.LOGGER.debug(omElement.toString());
×
61
        dados.setExtraElement(omElement);
×
62

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

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

UNCOV
89
        inutilizacao.setVersao(new BigDecimal(WSInutilizacao.VERSAO_SERVICO));
×
UNCOV
90
        inutilizacao.setDados(dados);
×
UNCOV
91
        return inutilizacao;
×
92
    }
93
}
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