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

View File

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