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

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@70887 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-06-30 16:20:30 +00:00
parent d547233049
commit a6106a6de5
2 changed files with 25 additions and 16 deletions

View File

@ -1699,7 +1699,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
}
BigDecimal valorICMSIsento = BigDecimal.ZERO;
BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS);
BigDecimal valorICMSOutros = MoneyHelper.subtrair(valorTotal, valorBaseCalculoICMS);
String ecf = rs.getString("ecf");
String datamov = rs.getString("datamov");
@ -1733,6 +1733,15 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
codigoSituacaoTribColunaB = rs.getInt("red_base_calc_icms") == 0 ? 0 : 20;
}
if (codigoSituacaoTribColunaB == 40) {
tributacao_importacao = BigDecimal.ZERO;
valorBaseCalculoICMS = BigDecimal.ZERO;
valorICMSDebitado = BigDecimal.ZERO;
valorICMSOutros = BigDecimal.ZERO;
valorICMSIsento = valorTotal;
}
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
log.info(key.toString());
@ -1740,11 +1749,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (group.containsKey(key)) {
registro = group.get(key);
valorTotal = valorTotal.add(registro.getValorTotal());
valorBaseCalculoICMS = valorBaseCalculoICMS.add(registro.getValorBaseCalculoICMS());
valorICMSDebitado = valorICMSDebitado.add(registro.getValorICMSDebitado());
valorICMSIsento = valorICMSIsento.add(registro.getValorICMSIsento());
valorICMSOutros = valorICMSOutros.add(registro.getValorICMSOutros());
valorTotal = MoneyHelper.somar(valorTotal, registro.getValorTotal());
valorBaseCalculoICMS = MoneyHelper.somar(valorBaseCalculoICMS, registro.getValorBaseCalculoICMS());
valorICMSDebitado = MoneyHelper.somar(valorICMSDebitado, registro.getValorICMSDebitado());
valorICMSIsento = MoneyHelper.somar(valorICMSIsento, registro.getValorICMSIsento());
valorICMSOutros = MoneyHelper.somar(valorICMSOutros, registro.getValorICMSOutros());
} else {
registro = new ExportacaoECFTipoICF();
registro.setEcf(ecf);
@ -1763,11 +1772,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
group.put(key, registro);
}
registro.setValorTotal(valorTotal.setScale(2, BigDecimal.ROUND_HALF_EVEN));
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS.setScale(2, BigDecimal.ROUND_HALF_EVEN));
registro.setValorICMSDebitado(valorICMSDebitado.setScale(2, BigDecimal.ROUND_HALF_EVEN));
registro.setValorICMSIsento(valorICMSIsento.setScale(2, BigDecimal.ROUND_HALF_EVEN));
registro.setValorICMSOutros(valorICMSOutros.setScale(2, BigDecimal.ROUND_HALF_EVEN));
registro.setValorTotal(valorTotal);
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
registro.setValorICMSDebitado(valorICMSDebitado);
registro.setValorICMSIsento(valorICMSIsento);
registro.setValorICMSOutros(valorICMSOutros);
}
for (Map.Entry<String, ExportacaoECFTipoICF> entry : group.entrySet()) {
@ -1898,9 +1907,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (group.containsKey(key)) {
registro = group.get(key);
registro.setValorTotal(registro.getValorTotal().add(valorTotal));
registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS));
registro.setValorICMS(registro.getValorICMS().add(valorICMS));
registro.setValorTotal(MoneyHelper.somar(registro.getValorTotal(), valorTotal));
registro.setValorBaseCalculoICMS(MoneyHelper.somar(registro.getValorBaseCalculoICMS(), valorBaseCalculoICMS));
registro.setValorICMS(MoneyHelper.somar(registro.getValorICMS(), valorICMS));
} else {
registro = new ExportacaoECFTipoPRC();

View File

@ -21,10 +21,10 @@ import org.slf4j.LoggerFactory;
public class MoneyHelper {
private static Logger log = LoggerFactory.getLogger(MoneyHelper.class);
private static int DECIMALS = 4;
private static int DECIMALS = 2;
private static int ROUNDING_MODE = BigDecimal.ROUND_HALF_EVEN;
private static BigDecimal HUNDRED = new BigDecimal("100");
private static int MATH_CONTEXT = 4;
private static int MATH_CONTEXT = 2;
public MoneyHelper() {