Skip to content

Commit

Permalink
Implementa mapeamento novas tags (produtos e pagamento) (#967)
Browse files Browse the repository at this point in the history
* Adicionado mapeamento para tag Grupo de crédito presumido referente ao item da nota fiscal. Adicionado casos de teste

* Adicionado mapeamento para as novas tags opcionais referentes ao pagamento

---------

Co-authored-by: Higor Gardin <[email protected]>
Co-authored-by: Diego Fincatto <[email protected]>
  • Loading branch information
3 people authored Jun 29, 2024
1 parent 078c0d8 commit 2886099
Show file tree
Hide file tree
Showing 7 changed files with 315 additions and 132 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package com.fincatto.documentofiscal.nfe400.classes.nota;

import com.fincatto.documentofiscal.DFBase;
import com.fincatto.documentofiscal.DFUnidadeFederativa;
import com.fincatto.documentofiscal.nfe400.classes.NFIndicadorFormaPagamento;
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
import com.fincatto.documentofiscal.validadores.DFStringValidador;
import org.simpleframework.xml.Element;

import java.math.BigDecimal;
import java.time.LocalDate;

public class NFNotaInfoFormaPagamento extends DFBase {

Expand All @@ -24,6 +26,15 @@ public class NFNotaInfoFormaPagamento extends DFBase {
@Element(name = "vPag")
private String valorPagamento;

@Element(name = "dPag", required = false)
private LocalDate dataPagamento;

@Element(name = "CNPJPag", required = false)
private String cnpjTransacionalPagamento;

@Element(name = "UFPag", required = false)
private String ufTransacionalPagamento;

@Element(name = "card", required = false)
private NFNotaInfoCartao cartao;

Expand Down Expand Up @@ -51,6 +62,21 @@ public NFNotaInfoFormaPagamento setValorPagamento(final BigDecimal valorPagament
return this;
}

public NFNotaInfoFormaPagamento setDataPagamento(final LocalDate dataPagamento) {
this.dataPagamento = dataPagamento;
return this;
}

public NFNotaInfoFormaPagamento setCnpjTransacionalPagamento(final String cnpjTransacionalPagamento) {
this.cnpjTransacionalPagamento = cnpjTransacionalPagamento;
return this;
}

public NFNotaInfoFormaPagamento setUfTransacionalPagamento(final DFUnidadeFederativa ufTransacionalPagamento) {
this.ufTransacionalPagamento = ufTransacionalPagamento.getCodigo();
return this;
}

public NFIndicadorFormaPagamento getIndicadorFormaPagamento() {
return this.indicadorFormaPagamento;
}
Expand All @@ -72,4 +98,16 @@ public NFNotaInfoFormaPagamento setDescricaoMeioPagamento(String descricaoMeioPa
this.descricaoMeioPagamento = descricaoMeioPagamento;
return this;
}

public LocalDate getDataPagamento() {
return dataPagamento;
}

public String getCnpjTransacionalPagamento() {
return cnpjTransacionalPagamento;
}

public String getUfTransacionalPagamento() {
return ufTransacionalPagamento;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ public class NFNotaInfoItemProduto extends DFBase {
@Element(name = "cBenef", required = false)
private String codigoBeneficioFiscalUF;

@Element(name = "gCred", required = false)
private NFNotaInfoItemProdutoGrupoCreditoPresumido grupoCreditoPresumido;

@Element(name = "EXTIPI", required = false)
private String extipi;

Expand Down Expand Up @@ -329,6 +332,11 @@ public void setCodigoBeneficioFiscalUF(final String codigoBeneficioFiscalUF) {
this.codigoBeneficioFiscalUF = DFStringValidador.validador(codigoBeneficioFiscalUF, "Codigo Beneficio Fiscal da UF", 10, false, false);
}

public void setGrupoCreditoPresumido(
final NFNotaInfoItemProdutoGrupoCreditoPresumido grupoCreditoPresumido) {
this.grupoCreditoPresumido = grupoCreditoPresumido;
}

public String getCodigo() {
return this.codigo;
}
Expand Down Expand Up @@ -492,4 +500,8 @@ public NFIndicadorEscalaRelevante getIndicadorEscalaRelevante() {
public List<NFNotaInfoItemProdutoRastreabilidade> getRastros() {
return this.rastros;
}

public NFNotaInfoItemProdutoGrupoCreditoPresumido getGrupoCreditoPresumido() {
return grupoCreditoPresumido;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.fincatto.documentofiscal.nfe400.classes.nota;

import com.fincatto.documentofiscal.DFBase;
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
import com.fincatto.documentofiscal.validadores.DFStringValidador;
import org.simpleframework.xml.Element;

import java.math.BigDecimal;

public class NFNotaInfoItemProdutoGrupoCreditoPresumido extends DFBase {

private static final long serialVersionUID = 3442235647525896376L;

@Element(name = "cCredPresumido")
private String codigoBeneficioFiscalCreditoPresumido;

@Element(name = "pCredPresumido")
private String percentualCreditoPresumido;

@Element(name = "vCredPresumido")
private String valorCreditoPresumido;

public NFNotaInfoItemProdutoGrupoCreditoPresumido() {
this.codigoBeneficioFiscalCreditoPresumido = null;
this.percentualCreditoPresumido = null;
this.valorCreditoPresumido = null;
}

public String getCodigoBeneficioFiscalCreditoPresumido() {
return codigoBeneficioFiscalCreditoPresumido;
}

public NFNotaInfoItemProdutoGrupoCreditoPresumido setCodigoBeneficioFiscalCreditoPresumido(
final String codigoBeneficioFiscalCreditoPresumido) {
DFStringValidador.validaIntervalo(codigoBeneficioFiscalCreditoPresumido, 8, 10,
"Codigo de beneficio fiscal de credito presumido");
this.codigoBeneficioFiscalCreditoPresumido = codigoBeneficioFiscalCreditoPresumido;
return this;
}

public String getPercentualCreditoPresumido() {
return percentualCreditoPresumido;
}

public NFNotaInfoItemProdutoGrupoCreditoPresumido setPercentualCreditoPresumido(
final BigDecimal percentualCreditoPresumido) {
this.percentualCreditoPresumido = DFBigDecimalValidador.tamanho7ComAte4CasasDecimais(
percentualCreditoPresumido, "Percentual de credito presumido");
return this;
}

public String getValorCreditoPresumido() {
return valorCreditoPresumido;
}

public NFNotaInfoItemProdutoGrupoCreditoPresumido setValorCreditoPresumido(
final BigDecimal valorCreditoPresumido) {
this.valorCreditoPresumido = DFBigDecimalValidador.tamanho13Com2CasasDecimais(
valorCreditoPresumido, "Valor de credito presumido");
return this;
}

}
Loading

0 comments on commit 2886099

Please sign in to comment.