-
-
Notifications
You must be signed in to change notification settings - Fork 233
14 : Envio Epec
SW Software e Consultoria edited this page Mar 5, 2019
·
2 revisions
import br.com.swconsultoria.nfe.Nfe;
import br.com.swconsultoria.nfe.dom.ConfiguracoesNfe;
import br.com.swconsultoria.nfe.dom.Evento;
import br.com.swconsultoria.nfe.dom.EventoEpec;
import br.com.swconsultoria.nfe.dom.enuns.EstadosEnum;
import br.com.swconsultoria.nfe.schema.envEpec.TEnvEvento;
import br.com.swconsultoria.nfe.schema.envEpec.TRetEnvEvento;
import br.com.swconsultoria.nfe.util.EpecUtil;
import br.com.swconsultoria.nfe.util.RetornoUtil;
import java.time.LocalDateTime;
/**
* @author Samuel Oliveira
*/
public class EpecTeste {
public static void main(String[] args) {
try {
// Inicia As Configurações - ver https://github.com/Samuel-Oliveira/Java_NFe/wiki/1-:-Configuracoes
ConfiguracoesNfe config = Config.iniciaConfiguracoes();
//Agora o evento pode aceitar uma lista de cancelaemntos para envio em Lote.
//Para isso Foi criado o Objeto Epec
Evento epec = new Evento();
//Informe a chave da Epec
epec.setChave("52190310732644000128550010000125491000125491");
//Informe o CNPJ do emitente
epec.setCnpj("10732644000128");
//Informe a data do EPEC
epec.setDataEvento(LocalDateTime.now());
//Preenche os Dados do Evento EPEC
EventoEpec eventoEpec = new EventoEpec();
eventoEpec.setCnpjDestinatario("X");
eventoEpec.setvST("X");
eventoEpec.setvNF("X");
eventoEpec.setvICMS("X");
eventoEpec.setTipoNF("X");
eventoEpec.setIeEmitente("X");
eventoEpec.setIeDestinatario("X");
eventoEpec.setEstadoDestinatario(EstadosEnum.GO);
epec.setEventoEpec(eventoEpec);
//Monta o Evento de Cancelamento
TEnvEvento enviEvento = EpecUtil.montaEpec(epec,config);
//Envia Evento EPEC
TRetEnvEvento retorno = Nfe.enviarEpec(config, enviEvento, true);
//Valida o Retorno do Cancelamento
RetornoUtil.validaEpec(retorno);
//Resultado
System.out.println();
retorno.getRetEvento().forEach( resultado -> {
System.out.println("# Chave: " + resultado.getInfEvento().getChNFe());
System.out.println("# Status: " + resultado.getInfEvento().getCStat() + " - " + resultado.getInfEvento().getXMotivo());
System.out.println("# Protocolo: " + resultado.getInfEvento().getNProt());
});
//Cria ProcEvento de Cacnelamento
String proc = EpecUtil.criaProcEventoEpec(config, enviEvento, retorno);
System.out.println();
System.out.println("# ProcEvento : " + proc);
} catch (Exception e) {
System.err.println();
System.err.println("# Erro: "+e.getMessage());
}
}
}