From a95806b0e006c9a2837751ed230356f28a86434b Mon Sep 17 00:00:00 2001 From: julio Date: Tue, 23 Jun 2015 18:22:55 +0000 Subject: [PATCH] =?UTF-8?q?RMD=20-=20Arquivo=20Exporta=C3=A7=C3=A3o=20para?= =?UTF-8?q?=20QS=20(fixes=20bug=20#6374)=20-=20Parte=202=20-=20REDU=C3=87?= =?UTF-8?q?=C3=83O=20Z?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@45318 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/FiscalHibernateDAO.java | 8 +++-- .../service/impl/FiscalServiceImpl.java | 31 +++++++++++++------ .../ImportacionFiscalReducaoZVO.java | 9 ------ .../impressaofiscal/SituacaoTributaria.java | 16 ++++++++++ 4 files changed, 43 insertions(+), 21 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/vo/impressaofiscal/SituacaoTributaria.java diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 2c3c07465..52946cd16 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -19,6 +19,7 @@ import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionFiscalReducaoZVO; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ItemFiscalVO; +import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria; @Repository("fiscalDAO") public class FiscalHibernateDAO extends GenericHibernateDAO implements FiscalDAO { @@ -44,7 +45,6 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" r2.vendabrutadiaria AS vendabrutadiaria, "); sql.append(" r2.datareducao AS datareducao, "); sql.append(" r2.horareducao AS horareducao, "); - sql.append(" r2.totgeral AS totgeral, "); sql.append(" r3.totparcial AS aliquota, "); sql.append(" r3.valoracumulado AS imposto, "); sql.append(" ifi.fiscalimpressora_id AS numpdv, "); @@ -60,6 +60,10 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ON TRANSLATE(ifi.numcnpj, ' / - . ', ' ') = e.cnpj "); sql.append("WHERE r2.datamov BETWEEN :datIni AND :datFim "); sql.append(" AND e.empresa_id = :empresaId "); + sql.append(" AND r3.totparcial not in ("); + sql.append("'" + SituacaoTributaria.CANCELADO.getValue() + "'").append(", "); + sql.append("'" + SituacaoTributaria.DESCRITIVO.getValue() + "'").append(", "); + sql.append("'" + SituacaoTributaria.OPCIONAL.getValue() + "'").append(")"); sql.append("GROUP BY r2.datamov, "); sql.append(" r2.numreducoes, "); sql.append(" r2.crz, "); @@ -70,7 +74,6 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" r2.vendabrutadiaria, "); sql.append(" r2.datareducao, "); sql.append(" r2.horareducao, "); - sql.append(" r2.totgeral, "); sql.append(" r3.totparcial, "); sql.append(" r3.valoracumulado, "); sql.append(" ifi.fiscalimpressora_id, "); @@ -92,7 +95,6 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl .addScalar("vendabrutadiaria", BigDecimalType.INSTANCE) .addScalar("datareducao", StringType.INSTANCE) .addScalar("horareducao", StringType.INSTANCE) - .addScalar("totgeral", BigDecimalType.INSTANCE) .addScalar("aliquota", StringType.INSTANCE) .addScalar("imposto", BigDecimalType.INSTANCE) .addScalar("numpdv", StringType.INSTANCE) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index 4f27be60a..1438fe322 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -27,6 +27,7 @@ import com.rjconsultores.ventaboletos.utilerias.UtileriasFiscal; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionFiscalReducaoZVO; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionFiscalVO; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ItemFiscalVO; +import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria; @Service("fiscalService") public class FiscalServiceImpl implements FiscalService { @@ -114,13 +115,13 @@ public class FiscalServiceImpl implements FiscalService { String descontos = StringUtils.rightPad("", 14, "0"); String isento = StringUtils.rightPad("", 14, "0"); - String naoTributado = ifrZ.getValorNaoTributado().toString(); + String naoTributado = ifrZ.getValorNaoTributado() == null ? "" : ifrZ.getValorNaoTributado().toString(); if (naoTributado.length() < 14) { naoTributado = StringUtils.rightPad("", (14 - naoTributado.length()), "0") + naoTributado; } String aliquota = StringUtils.rightPad("", 14, "0"); - if (ifrZ.getAliquota().length() == 7 && ifrZ.getAliquota().substring(2, 3).equals("T")) { + if (ifrZ.getAliquota().length() == 7 && ifrZ.getAliquota().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { aliquota = ifrZ.getAliquota().substring(3, 7); if (aliquota.length() < 14) { @@ -139,7 +140,19 @@ public class FiscalServiceImpl implements FiscalService { String outrosRecebimentos = StringUtils.rightPad("", 14, "0"); - String impostoDebitado = ifrZ.getImposto().toString(); + BigDecimal aliquotaCalc = BigDecimal.valueOf(Double.valueOf(aliquota) / CEM.doubleValue()); + aliquotaCalc = UtileriasFiscal.arredondar(aliquotaCalc); + + BigDecimal baseCalculo = UtileriasFiscal.arredondar(ifrZ.getImposto().divide(CEM)); + baseCalculo = UtileriasFiscal.arredondar(baseCalculo); + + BigDecimal valorImposto = baseCalculo.multiply(aliquotaCalc.divide(CEM)); + valorImposto = UtileriasFiscal.arredondar(valorImposto); + + String impostoDebitado = valorImposto.toString(); + impostoDebitado = impostoDebitado.toString().replace(".", "").replace(",", ""); + impostoDebitado = UtileriasFiscal.formataNumerico(impostoDebitado, impostoDebitado.length()); + if (impostoDebitado.length() < 13) { impostoDebitado = StringUtils.rightPad("", (13 - impostoDebitado.length()), "0") + impostoDebitado; } @@ -197,7 +210,7 @@ public class FiscalServiceImpl implements FiscalService { BigDecimal valorNaoTributado = null; for (ImportacionFiscalReducaoZVO ifr : list) { - if (ifr.getAliquota().equals("N1")) { + if (ifr.getAliquota().equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) { valorNaoTributado = ifr.getImposto(); } else { ifr.setValorNaoTributado(valorNaoTributado); @@ -375,7 +388,7 @@ public class FiscalServiceImpl implements FiscalService { for (ItemFiscalVO item : itensFiscais) { String tipoPassagem = null; - if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals("T")) { + if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { tipoPassagem = item.getTipoPassagem(); if (tipoPassagem == null) @@ -421,7 +434,7 @@ public class FiscalServiceImpl implements FiscalService { HashMap aliquotaItens = new HashMap(0); // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) - if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals("T")) { + if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { String key = tipoPassagem + item.getRepTributado().substring(3, 7); @@ -432,7 +445,7 @@ public class FiscalServiceImpl implements FiscalService { BigDecimal soma = item.getValorItem().divide(BigDecimal.TEN.multiply(BigDecimal.TEN)); aliquotaItens.put(key, soma.add(aliquotaItens.get(key))); - } else if (item.getRepTributado().equals("N1")) { + } else if (item.getRepTributado().equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) { BigDecimal soma = item.getValorItem(); totalICMSNaotributadoItem = soma.toString(); @@ -546,7 +559,7 @@ public class FiscalServiceImpl implements FiscalService { HashMap aliquotaBaseCalculo = new HashMap(0); // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) - if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals("T")) { + if (item.getRepTributado().length() == 7 && item.getRepTributado().substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { String tipoPassagem = item.getTipoPassagem(); @@ -563,7 +576,7 @@ public class FiscalServiceImpl implements FiscalService { BigDecimal soma = item.getValorItem().divide(BigDecimal.TEN.multiply(BigDecimal.TEN)); aliquotaBaseCalculo.put(key, soma.add(aliquotaBaseCalculo.get(key))); - } else if (item.getRepTributado().equals("N1")) { + } else if (item.getRepTributado().equals(SituacaoTributaria.NAO_TRIBUTADO.getValue())) { BigDecimal soma = item.getValorItem(); totalICMSNaotributado = soma.toString(); diff --git a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalReducaoZVO.java b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalReducaoZVO.java index 835d343bc..49b390ca8 100644 --- a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalReducaoZVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalReducaoZVO.java @@ -15,7 +15,6 @@ public class ImportacionFiscalReducaoZVO { private BigDecimal vendabrutadiaria; private String datareducao; private String horareducao; - private BigDecimal totgeral; private String aliquota; private BigDecimal imposto; private BigDecimal valorNaoTributado; @@ -109,14 +108,6 @@ public class ImportacionFiscalReducaoZVO { this.horareducao = horareducao; } - public BigDecimal getTotgeral() { - return totgeral; - } - - public void setTotgeral(BigDecimal totgeral) { - this.totgeral = totgeral; - } - public String getAliquota() { return aliquota; } diff --git a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/SituacaoTributaria.java b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/SituacaoTributaria.java new file mode 100644 index 000000000..b3eb6ee41 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/SituacaoTributaria.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.vo.impressaofiscal; + +public enum SituacaoTributaria { + TRIBUTADO("T"), NAO_TRIBUTADO("N1"), CANCELADO("Can-T"), DESCRITIVO("DT"), OPCIONAL("OPNF"); + + private String value; + + private SituacaoTributaria(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +}