Skip to content

Commit

Permalink
- Atualizado Java Certificado (Ver https://github.com/Samuel-Oliveira…
Browse files Browse the repository at this point in the history
…/Java_Certificado)

- Atualizado Cacert (Sefaz Minas)
- Adicionado ZoneId direto a configuracao e removido da Chamada dos metodos. O padrao de ZoneId é America/Sao_Paulo
  • Loading branch information
Samuel-Oliveira committed May 6, 2023
1 parent c5e1f4f commit fe564b3
Show file tree
Hide file tree
Showing 11 changed files with 147 additions and 188 deletions.
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Notas de versão

- Atualizado Objeto e XSD NT 2023.001 1.20
- Adicionado Validacao XML Manual
- Atualizado Java Certificado (Ver https://github.com/Samuel-Oliveira/Java_Certificado)
- Atualizado Cacert (Sefaz Minas)
- Adicionado ZoneId direto a configuracao e removido da Chamada dos metodos. O padrao de ZoneId é America/Sao_Paulo
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Java-NFe [![MIT License](https://img.shields.io/github/license/Samuel-Oliveira/Java_NFe.svg) ](https://github.com/Samuel-Oliveira/Java_NFe/blob/master/LICENSE) [![Maven Central](https://img.shields.io/maven-central/v/br.com.swconsultoria/java-nfe.svg?label=Maven%20Central)](https://search.maven.org/artifact/br.com.swconsultoria/java-nfe/4.00.23/jar)
# Java-NFe [![MIT License](https://img.shields.io/github/license/Samuel-Oliveira/Java_NFe.svg) ](https://github.com/Samuel-Oliveira/Java_NFe/blob/master/LICENSE) [![Maven Central](https://img.shields.io/maven-central/v/br.com.swconsultoria/java-nfe.svg?label=Maven%20Central)](https://search.maven.org/artifact/br.com.swconsultoria/java-nfe/4.00.24/jar)
Biblioteca Java para consumo do WebService de NFe/NFCe

## Dúvidas, Sugestões ou Consultoria
Expand All @@ -17,7 +17,7 @@ Para Iniciar :
<dependency>
<groupId>br.com.swconsultoria</groupId>
<artifactId>java-nfe</artifactId>
<version>4.00.23</version>
<version>4.00.24</version>
</dependency>
```

Expand All @@ -29,7 +29,7 @@ repositories {
}
}
dependencies {
implementation "br.com.swconsultoria:java-nfe:4.00.23"
implementation "br.com.swconsultoria:java-nfe:4.00.24"
}
```

Expand All @@ -39,6 +39,11 @@ ________________________________________________________________________________

# Historico de Versões

## v4.00.24 - 05/05/2023 - Schemas PL.009k
- Atualizado Java Certificado (Ver https://github.com/Samuel-Oliveira/Java_Certificado)
- Atualizado Cacert (Sefaz Minas)
- Adicionado ZoneId direto a configuracao e removido da Chamada dos metodos. O padrao de ZoneId é America/Sao_Paulo

## v4.00.23 - 25/04/2023 - Schemas PL.009k
- Atualizado Objeto e XSD NT 2023.001 1.20
- Adicionado Validacao XML Manual
Expand Down
8 changes: 4 additions & 4 deletions docs/docs/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/Samuel-Oliveira/Java_NFe.svg?branch=master)](https://travis-ci.org/Samuel-Oliveira/Java_NFe) [![MIT License](https://img.shields.io/github/license/Samuel-Oliveira/Java_NFe.svg) ](https://github.com/Samuel-Oliveira/Java_NFe/blob/master/LICENSE) [![Maven Central](https://img.shields.io/maven-central/v/br.com.swconsultoria/java-nfe.svg?label=Maven%20Central)](https://search.maven.org/artifact/br.com.swconsultoria/java-nfe/4.00.23/jar) [![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/Samuel-Oliveira/Java_NFe.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Samuel-Oliveira/Java_NFe/context:java) [![Total alerts](https://img.shields.io/lgtm/alerts/g/Samuel-Oliveira/Java_NFe.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Samuel-Oliveira/Java_NFe/alerts/)
[![Build Status](https://travis-ci.org/Samuel-Oliveira/Java_NFe.svg?branch=master)](https://travis-ci.org/Samuel-Oliveira/Java_NFe) [![MIT License](https://img.shields.io/github/license/Samuel-Oliveira/Java_NFe.svg) ](https://github.com/Samuel-Oliveira/Java_NFe/blob/master/LICENSE) [![Maven Central](https://img.shields.io/maven-central/v/br.com.swconsultoria/java-nfe.svg?label=Maven%20Central)](https://search.maven.org/artifact/br.com.swconsultoria/java-nfe/4.00.24/jar) [![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/Samuel-Oliveira/Java_NFe.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Samuel-Oliveira/Java_NFe/context:java) [![Total alerts](https://img.shields.io/lgtm/alerts/g/Samuel-Oliveira/Java_NFe.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Samuel-Oliveira/Java_NFe/alerts/)

***Biblioteca Java para consumo do WebService de NFe/NFCe***

Expand All @@ -11,7 +11,7 @@
</p>

Para Iniciar :
- Caso use Libs baixe o [java-nfe-4.00.23.jar](https://github.com/Samuel-Oliveira/Java_NFe/raw/master/java-nfe-4.00.23.jar) e o adicione às bibliotecas de Seu Projeto.
- Caso use Libs baixe o [java-nfe-4.00.24.jar](https://github.com/Samuel-Oliveira/Java_NFe/raw/master/java-nfe-4.00.24.jar) e o adicione às bibliotecas de Seu Projeto.

- Baixe o [Schemas.rar](https://github.com/Samuel-Oliveira/Java_NFe/raw/master/schemas.zip) e extraia na sua Máquina.

Expand All @@ -20,7 +20,7 @@ Para Iniciar :
<dependency>
<groupId>br.com.swconsultoria</groupId>
<artifactId>java-nfe</artifactId>
<version>4.00.23</version>
<version>4.00.24</version>
</dependency>
```

Expand All @@ -32,7 +32,7 @@ repositories {
}
}
dependencies {
implementation "br.com.swconsultoria:java-nfe:4.00.23"
implementation "br.com.swconsultoria:java-nfe:4.00.24"
}
```

38 changes: 34 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
<dependency>
<groupId>br.com.swconsultoria</groupId>
<artifactId>java_certificado</artifactId>
<version>2.9</version>
<version>2.10</version>
</dependency>
<!-- Ini4J -->
<dependency>
Expand Down Expand Up @@ -196,7 +196,7 @@
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>sonatype-nexus</serverId>
Expand All @@ -221,15 +221,45 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<version>3.0.0</version>
<configuration>
<pushChanges>false</pushChanges>
<localCheckout>true</localCheckout>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<version>3.0.0</version>
<configuration>
<argLine>
-javaagent:src/test/resources/agent.jar
Expand Down
99 changes: 60 additions & 39 deletions src/main/java/br/com/swconsultoria/nfe/dom/ConfiguracoesNfe.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,21 @@
import java.io.InputStream;
import java.lang.reflect.Field;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.time.ZoneId;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
* @author Samuel Oliveira
*
* Responsável por iniciar as configurações das operações NF-e.
*
* Para iniciar as configurações chame o método estático
* iniciaConfiguracoes:<br>
* {@code
* <p>
* Responsável por iniciar as configurações das operações NF-e.
* <p>
* Para iniciar as configurações chame o método estático
* iniciaConfiguracoes:<br>
* {@code
* ConfiguracoesIniciaisNfe.iniciaConfiguracoes(estado, ambiente, certificado, schemas);
* }
*
* @see ConfiguracoesNfe
* @see ConfiguracoesWebNfe
*/
Expand All @@ -43,37 +44,49 @@ public class ConfiguracoesNfe {
private String arquivoWebService;
private Integer retry;
private InputStream cacert;

private Charset encode;
private ZoneId zoneId;

/**
* Este método recebe como parâmetro os dados necessários para iniciar a
* comunicação de operações dos eventos da NF-e. Retorna uma instância dela
* mesma.
* Nessa inicializacao é usado o ZoneId padrao America/Sao_Paulo
*
* @param estado
* enumeration Estados, UF do emitente.
* @param ambiente
* Enumeration AmbienteEnum
* @param certificado
* objeto Certificado
* @param pastaSchemas
* local dos arquivo de schemas da NF-e.
* @param estado enumeration Estados, UF do emitente.
* @param ambiente Enumeration AmbienteEnum
* @param certificado objeto Certificado
* @param pastaSchemas local dos arquivo de schemas da NF-e.
* @return ConfiguracoesIniciaisNfe
* @see br.com.swconsultoria.certificado.Certificado
* @see EstadosEnum
*/
public static ConfiguracoesNfe criarConfiguracoes(EstadosEnum estado, AmbienteEnum ambiente, Certificado certificado, String pastaSchemas)
throws CertificadoException {
public static ConfiguracoesNfe criarConfiguracoes(EstadosEnum estado, AmbienteEnum ambiente, Certificado certificado, String pastaSchemas) throws CertificadoException {
return criarConfiguracoes(estado,ambiente,certificado,pastaSchemas, ZoneId.of("America/Sao_Paulo"));
}

/**
* Este método recebe como parâmetro os dados necessários para iniciar a
* comunicação de operações dos eventos da NF-e. Retorna uma instância dela
* mesma.
*
* @param estado enumeration Estados, UF do emitente.
* @param ambiente Enumeration AmbienteEnum
* @param certificado objeto Certificado
* @param pastaSchemas local dos arquivo de schemas da NF-e.
* @param zoneId Zona para configuracoes de data
* @return ConfiguracoesIniciaisNfe
* @see br.com.swconsultoria.certificado.Certificado
* @see EstadosEnum
*/
public static ConfiguracoesNfe criarConfiguracoes(EstadosEnum estado, AmbienteEnum ambiente, Certificado certificado, String pastaSchemas, ZoneId zoneId) throws CertificadoException {

ConfiguracoesNfe configuracoesNfe = new ConfiguracoesNfe();
configuracoesNfe.setEstado(
ObjetoUtil.verifica(estado).orElseThrow(() -> new IllegalArgumentException("Estado não pode ser Nulo.")));
configuracoesNfe.setAmbiente(
ObjetoUtil.verifica(ambiente).orElseThrow(() -> new IllegalArgumentException("Ambiente não pode ser Nulo.")));
configuracoesNfe.setCertificado(
ObjetoUtil.verifica(certificado).orElseThrow(() -> new IllegalArgumentException("Certificado não pode ser Nulo.")));
configuracoesNfe.setEstado(ObjetoUtil.verifica(estado).orElseThrow(() -> new IllegalArgumentException("Estado não pode ser Nulo.")));
configuracoesNfe.setAmbiente(ObjetoUtil.verifica(ambiente).orElseThrow(() -> new IllegalArgumentException("Ambiente não pode ser Nulo.")));
configuracoesNfe.setCertificado(ObjetoUtil.verifica(certificado).orElseThrow(() -> new IllegalArgumentException("Certificado não pode ser Nulo.")));
configuracoesNfe.setPastaSchemas(pastaSchemas);
configuracoesNfe.setZoneId(ObjetoUtil.verifica(zoneId).orElseThrow(() -> new IllegalArgumentException("Zone ID não pode ser Nulo.")));

/**
* Para as versões Java até 11, Eu ainda seto o Encoding por que é permitido.
Expand All @@ -82,7 +95,7 @@ public static ConfiguracoesNfe criarConfiguracoes(EstadosEnum estado, AmbienteEn
* -Dsun.jnu.encoding="UTF-8"
*
*/
if(Integer.parseInt(System.getProperty("java.class.version").substring(0,2)) < 56){
if (Integer.parseInt(System.getProperty("java.class.version").substring(0, 2)) < 56) {
try {
//Setando Encoding.
System.setProperty("file.encoding", "UTF-8");
Expand All @@ -96,7 +109,7 @@ public static ConfiguracoesNfe criarConfiguracoes(EstadosEnum estado, AmbienteEn

if (Logger.getLogger("").isLoggable(Level.SEVERE)) {
System.err.println("####################################################################");
System.err.println(" Api Java Nfe - Versão 4.00.23 - 25/04/2023");
System.err.println(" Api Java Nfe - Versão 4.00.24 - 06/05/2023");
if (Logger.getLogger("").isLoggable(Level.WARNING)) {
System.err.println(" Samuel Olivera - [email protected] ");
}
Expand Down Expand Up @@ -143,10 +156,10 @@ public AmbienteEnum getAmbiente() {
* Ex.:<br>
* {@code
* ConfiguracoesIniciaisNfe.iniciaConfiguracoes(
estado,
AmbienteEnum.HOMOLOGACAO,
certificado,
schemas);
* estado,
* AmbienteEnum.HOMOLOGACAO,
* certificado,
* schemas);
* }
*
* @param ambiente
Expand Down Expand Up @@ -210,8 +223,7 @@ public EstadosEnum getEstado() {
/**
* Atribui um valor para o atribuito Estado.
*
* @param estado
* estado
* @param estado estado
* @see EstadosEnum
*/
public void setEstado(EstadosEnum estado) {
Expand Down Expand Up @@ -317,15 +329,16 @@ public void setCacert(InputStream cacert) {
*
* @return
*/
public Charset getEncode() { return encode;}
public Charset getEncode() {return encode;}

/**
* Altera o encode utilizado para criar o arquivo xml.<br>
* Por padrão é utilizado o UTF-8 em caso de erro ou não ser
* informado nada.
*
* @param encode
*/
public void setEncode(Charset encode) { this.encode = encode; }
public void setEncode(Charset encode) {this.encode = encode;}

/**
* Passar encode via String para o xml.
Expand All @@ -334,11 +347,19 @@ public void setCacert(InputStream cacert) {
*/
public void setEncode(String nomeEncode) {
if (nomeEncode != null && !nomeEncode.equals("")) {
try {
this.encode = Charset.forName(nomeEncode);
} catch (Exception ex) {
this.encode = Charset.forName("UTF-8");
}
try {
this.encode = Charset.forName(nomeEncode);
} catch (Exception ex) {
this.encode = StandardCharsets.UTF_8;
}
}
}

public ZoneId getZoneId() {
return zoneId;
}

public void setZoneId(ZoneId zoneId) {
this.zoneId = zoneId;
}
}
Loading

0 comments on commit fe564b3

Please sign in to comment.