Exportação Fiscal : ECF e RMD (issue 8120)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@66342 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-03-02 18:19:13 +00:00
parent 8b5887dbe5
commit 14017fd227
3 changed files with 98 additions and 52 deletions

View File

@ -1437,19 +1437,22 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (red_base_calc_icms != null) { if (red_base_calc_icms != null) {
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d)))); valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
} else { } else {
if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d)))); // BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d))));
valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d))); // valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
} // }
} else { // } else {
if (porc_red_estadual != null) { // if (porc_red_estadual != null) {
BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d)))); // BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d))));
valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d))); // valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
} // }
} // }
} // }
// Email 17/02/2017
valorBaseCalculoICMS = valorTotal;
} }
registro.setValorTotal(valorTotal); registro.setValorTotal(valorTotal);
@ -1538,25 +1541,28 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d)); BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms)); valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else { } else {
if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
//
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// } else {
// if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
//
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// }
// }
valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); // Email 17/02/2017
} valorBaseCalculoICMS = valorTotal;
} else {
if (porc_red_estadual != null) {
BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
}
}
}
} }
BigDecimal valorICMSDebitado = BigDecimal.ZERO; BigDecimal valorICMSDebitado = BigDecimal.ZERO;
@ -1621,6 +1627,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
registro.setAliquotaICMS(tributacao_importacao); registro.setAliquotaICMS(tributacao_importacao);
registro.setUfOrigem(ufOrigem); registro.setUfOrigem(ufOrigem);
registro.setMunicipioOrigem(municipioOrigem); registro.setMunicipioOrigem(municipioOrigem);
registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
registro.setRedutorMunicipalIcms(porc_red_municipal);
registro.setRedutorEstadualIcms(porc_red_estadual);
} }
registro.setValorTotal(valorTotal); registro.setValorTotal(valorTotal);
@ -1724,25 +1734,28 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d)); BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms)); valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else { } else {
if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
//
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// } else {
// if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
//
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// }
// }
BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // Email 17/02/2017
valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); valorBaseCalculoICMS = valorTotal;
}
} else {
if (porc_red_estadual != null) {
BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
}
}
}
} }
BigDecimal valorICMS = BigDecimal.ZERO; BigDecimal valorICMS = BigDecimal.ZERO;

View File

@ -351,6 +351,10 @@ public class ExportacaoFiscal {
municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length());
} }
if (item.getRedutorBaseCalculoIcms() == null) {
valorBaseCalculoICMS = valorTotal;
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("ICF").append(SEPARADOR); sb.append("ICF").append(SEPARADOR);
sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); sb.append(formataValor(valorTotal, 15)).append(SEPARADOR);

View File

@ -17,6 +17,11 @@ public class ExportacaoECFTipoICF {
private String ecf; private String ecf;
private String dataEmissao; private String dataEmissao;
private BigDecimal redutorBaseCalculoIcms;
private BigDecimal redutorMunicipalIcms;
private BigDecimal redutorEstadualIcms;
public ExportacaoECFTipoICF() { public ExportacaoECFTipoICF() {
} }
@ -125,8 +130,32 @@ public class ExportacaoECFTipoICF {
this.dataEmissao = dataEmissao; this.dataEmissao = dataEmissao;
} }
public BigDecimal getRedutorBaseCalculoIcms() {
return redutorBaseCalculoIcms;
}
public void setRedutorBaseCalculoIcms(BigDecimal redutorBaseCalculoIcms) {
this.redutorBaseCalculoIcms = redutorBaseCalculoIcms;
}
public BigDecimal getRedutorMunicipalIcms() {
return redutorMunicipalIcms;
}
public void setRedutorMunicipalIcms(BigDecimal redutorMunicipalIcms) {
this.redutorMunicipalIcms = redutorMunicipalIcms;
}
public BigDecimal getRedutorEstadualIcms() {
return redutorEstadualIcms;
}
public void setRedutorEstadualIcms(BigDecimal redutorEstadualIcms) {
this.redutorEstadualIcms = redutorEstadualIcms;
}
@Override @Override
public String toString() { public String toString() {
return "ExportacaoECFTipoICF [valorTotal=" + valorTotal + ", ufDestino=" + ufDestino + ", cfop=" + cfop + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", aliquotaICMS=" + aliquotaICMS + ", valorICMSDebitado=" + valorICMSDebitado + ", valorICMSIsento=" + valorICMSIsento + ", valorICMSOutros=" + valorICMSOutros + ", codigoSituacaoTribColunaB=" + codigoSituacaoTribColunaB + ", ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + ", ecf=" + ecf + ", dataEmissao=" + dataEmissao + "]"; return "ExportacaoECFTipoICF [valorTotal=" + valorTotal + ", ufDestino=" + ufDestino + ", cfop=" + cfop + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", aliquotaICMS=" + aliquotaICMS + ", valorICMSDebitado=" + valorICMSDebitado + ", valorICMSIsento=" + valorICMSIsento + ", valorICMSOutros=" + valorICMSOutros + ", codigoSituacaoTribColunaB=" + codigoSituacaoTribColunaB + ", ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + ", ecf=" + ecf + ", dataEmissao=" + dataEmissao + ", redutorBaseCalculoIcms=" + redutorBaseCalculoIcms + ", redutorMunicipalIcms=" + redutorMunicipalIcms + ", redutorEstadualIcms=" + redutorEstadualIcms + "]";
} }
} }