RMD - Arquivo Exportação para QS (fixes bug #6374) - Parte 2 - REDUÇÃO Z

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@45318 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-06-23 18:22:55 +00:00
parent bb100afbeb
commit a95806b0e0
4 changed files with 43 additions and 21 deletions

View File

@ -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<String, String> implements FiscalDAO {
@ -44,7 +45,6 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> 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<String, String> 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<String, String> 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<String, String> 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)

View File

@ -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<String, BigDecimal> aliquotaItens = new HashMap<String, BigDecimal>(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<String, BigDecimal> aliquotaBaseCalculo = new HashMap<String, BigDecimal>(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();

View File

@ -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;
}

View File

@ -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;
}
}