julio 2016-05-31 17:38:42 +00:00
parent e274d8d8c0
commit 10083c58f2
4 changed files with 130 additions and 95 deletions

View File

@ -410,6 +410,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
sql.append(" b.importeseguro as importeseguro, "); sql.append(" b.importeseguro as importeseguro, ");
sql.append(" cs.descclase as claseServicio, "); sql.append(" cs.descclase as claseServicio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') as cnpjEcf, "); sql.append(" translate(fi.numcnpj, ' / - . ', ' ') as cnpjEcf, ");
sql.append(" ei.icms as impostoEstado, ");
sql.append(" 'N' as status "); sql.append(" 'N' as status ");
sql.append(" FROM fiscal_r4 r4 "); sql.append(" FROM fiscal_r4 r4 ");
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo "); sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
@ -422,6 +423,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id "); sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id "); sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id AND b.marca_id = ei.empresa_id ");
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id "); sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id "); sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
@ -457,7 +459,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
sql.append(" b.importepedagio, "); sql.append(" b.importepedagio, ");
sql.append(" b.importeseguro, "); sql.append(" b.importeseguro, ");
sql.append(" cs.descclase, "); sql.append(" cs.descclase, ");
sql.append(" fi.numcnpj "); sql.append(" fi.numcnpj, ");
sql.append(" ei.icms ");
sql.append(" ORDER BY r4.datainicialemissao, "); sql.append(" ORDER BY r4.datainicialemissao, ");
sql.append(" r4.numserie20, "); sql.append(" r4.numserie20, ");
sql.append(" r4.coo, "); sql.append(" r4.coo, ");
@ -512,6 +515,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
if (isCancelados) { if (isCancelados) {
item.setMotivocancelacion(rset.getInt("motivocancelacion")); item.setMotivocancelacion(rset.getInt("motivocancelacion"));
item.setValorMulta(rset.getBigDecimal("valorMulta")); item.setValorMulta(rset.getBigDecimal("valorMulta"));
} else {
item.setImpostoEstado(rset.getBigDecimal("impostoEstado"));
} }
// TODO: Estes atributos foram criados, por motivo de divergencia no valorTotal com o valor unitario na tabela FISCAL_R5 // TODO: Estes atributos foram criados, por motivo de divergencia no valorTotal com o valor unitario na tabela FISCAL_R5
@ -520,6 +525,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
item.setValorEmbarque(rset.getBigDecimal("importetaxaembarque")); item.setValorEmbarque(rset.getBigDecimal("importetaxaembarque"));
item.setValorSeguro(rset.getBigDecimal("importeseguro")); item.setValorSeguro(rset.getBigDecimal("importeseguro"));
ImportacionFiscalVO novoFiscal = item; ImportacionFiscalVO novoFiscal = item;
codProduto = item.getCodProduto(); codProduto = item.getCodProduto();
@ -600,21 +607,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
itensFiscais.add(item); itensFiscais.add(item);
} }
if (inconsistencia) {
ItemFiscalVO novaInconsistencia = new ItemFiscalVO(fiscal);
novaInconsistencia.setInconsistencia(inconsistencia);
novaInconsistencia.setCodProduto(codProduto + "-TX");
novaInconsistencia.setTipoPassagem("E");
BigDecimal total = fiscal.getValorTarifa().add(fiscal.getValorPedagio()).add(fiscal.getValorEmbarque()).add(fiscal.getValorSeguro());
novaInconsistencia.setValorItem(total);
novaInconsistencia.setRepTributado("N1");
novaInconsistencia.setNumItem(StringHelper.preencherZeroEsquerda((1) + "", 3));
itensFiscais.add(novaInconsistencia);
} else {
int numeroItem = 1; int numeroItem = 1;
if (temTarifa && !tarifaCriada) { if (temTarifa && !tarifaCriada) {
ItemFiscalVO novoTarifa = new ItemFiscalVO(fiscal); ItemFiscalVO novoTarifa = new ItemFiscalVO(fiscal);
@ -623,6 +615,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
novoTarifa.setValorItem(fiscal.getValorTarifa()); novoTarifa.setValorItem(fiscal.getValorTarifa());
novoTarifa.setRepTributado("N1"); novoTarifa.setRepTributado("N1");
novoTarifa.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3)); novoTarifa.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3));
novoTarifa.setInconsistencia(inconsistencia);
itensFiscais.add(novoTarifa); itensFiscais.add(novoTarifa);
} }
@ -633,6 +626,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
novoEmbarque.setValorItem(fiscal.getValorEmbarque()); novoEmbarque.setValorItem(fiscal.getValorEmbarque());
novoEmbarque.setRepTributado("N1"); novoEmbarque.setRepTributado("N1");
novoEmbarque.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3)); novoEmbarque.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3));
novoEmbarque.setInconsistencia(inconsistencia);
itensFiscais.add(novoEmbarque); itensFiscais.add(novoEmbarque);
} }
@ -643,7 +637,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
novoPedagio.setValorItem(fiscal.getValorPedagio()); novoPedagio.setValorItem(fiscal.getValorPedagio());
novoPedagio.setRepTributado("N1"); novoPedagio.setRepTributado("N1");
novoPedagio.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3)); novoPedagio.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3));
novoPedagio.setInconsistencia(inconsistencia);
itensFiscais.add(novoPedagio); itensFiscais.add(novoPedagio);
} }
@ -654,10 +648,9 @@ public class FiscalHibernateDAO implements FiscalDAO {
novoSeguro.setValorItem(fiscal.getValorSeguro()); novoSeguro.setValorItem(fiscal.getValorSeguro());
novoSeguro.setRepTributado("N1"); novoSeguro.setRepTributado("N1");
novoSeguro.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3)); novoSeguro.setNumItem(StringHelper.preencherZeroEsquerda((numeroItem++) + "", 3));
novoSeguro.setInconsistencia(inconsistencia);
itensFiscais.add(novoSeguro); itensFiscais.add(novoSeguro);
} }
}
return itensFiscais; return itensFiscais;
} }

View File

@ -108,7 +108,7 @@ public class FiscalServiceImpl implements FiscalService {
connection = DataSourceUtils.getConnection(dataSourceRead); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionManualFiscalVO> list = agruparItensFiscaisManual(fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId(),connection)); List<ImportacionManualFiscalVO> list = agruparItensFiscaisManual(fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId(), connection));
for (ImportacionManualFiscalVO imf : list) { for (ImportacionManualFiscalVO imf : list) {
qtdDoc++; qtdDoc++;
@ -200,13 +200,13 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{ } finally {
try { try {
if (connection != null && !connection.isClosed()){ if (connection != null && !connection.isClosed()) {
connection.close(); connection.close();
} }
} catch (SQLException e) { } catch (SQLException e) {
log.error("error fechar conexão",e); log.error("error fechar conexão", e);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
@ -352,7 +352,7 @@ public class FiscalServiceImpl implements FiscalService {
connection = DataSourceUtils.getConnection(dataSourceRead); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(),connection)); List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), connection));
for (ImportacionFiscalReducaoZVO ifrZ : list) { for (ImportacionFiscalReducaoZVO ifrZ : list) {
@ -438,13 +438,13 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{ } finally {
try { try {
if (connection != null && !connection.isClosed()){ if (connection != null && !connection.isClosed()) {
connection.close(); connection.close();
} }
} catch (SQLException e) { } catch (SQLException e) {
log.error("error fechar conexão",e); log.error("error fechar conexão", e);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
@ -530,7 +530,7 @@ public class FiscalServiceImpl implements FiscalService {
connection = DataSourceUtils.getConnection(dataSourceRead); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados,connection); List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados, connection);
for (ImportacionFiscalVO item : list) { for (ImportacionFiscalVO item : list) {
@ -640,13 +640,13 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{ } finally {
try { try {
if (connection != null && !connection.isClosed()){ if (connection != null && !connection.isClosed()) {
connection.close(); connection.close();
} }
} catch (SQLException e) { } catch (SQLException e) {
log.error("error fechar conexão",e); log.error("error fechar conexão", e);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
@ -727,11 +727,6 @@ public class FiscalServiceImpl implements FiscalService {
valorItem = item.getValorSeguro() == null ? valorItem : item.getValorSeguro(); valorItem = item.getValorSeguro() == null ? valorItem : item.getValorSeguro();
} }
boolean inconsistente = item.getInconsistencia() == null ? false : item.getInconsistencia();
if (inconsistente) {
valorItem = item.getValorTarifa().add(item.getValorPedagio()).add(item.getValorEmbarque()).add(item.getValorSeguro());
}
valorItem = UtileriasFiscal.arredondar(valorItem); valorItem = UtileriasFiscal.arredondar(valorItem);
String valorUnitario = UtileriasFiscal.formataZeroDecimal(valorItem, 15); String valorUnitario = UtileriasFiscal.formataZeroDecimal(valorItem, 15);
item.setValorItem(new BigDecimal(valorUnitario)); item.setValorItem(new BigDecimal(valorUnitario));
@ -778,6 +773,24 @@ public class FiscalServiceImpl implements FiscalService {
aliquotaItem = UtileriasFiscal.formataZeroDecimal(null, 7); aliquotaItem = UtileriasFiscal.formataZeroDecimal(null, 7);
} }
boolean inconsistente = item.getInconsistencia() == null ? false : item.getInconsistencia();
if (inconsistente) {
if (codProduto.indexOf("TA") >= 0) {
BigDecimal aliquotaCalc = item.getImpostoEstado() == null ? BigDecimal.ZERO : item.getImpostoEstado();
aliquotaCalc = UtileriasFiscal.arredondar(aliquotaCalc);
BigDecimal baseCalculo = valorItem;
baseCalculo = UtileriasFiscal.arredondar(baseCalculo);
BigDecimal valorImposto = baseCalculo.multiply(aliquotaCalc.divide(CEM));
valorImposto = UtileriasFiscal.arredondar(valorImposto);
impostoItem = UtileriasFiscal.formataZeroDecimal(valorImposto, 15);
aliquotaItem = UtileriasFiscal.formataZeroDecimal(null, 7);
totalICMSNaotributadoItem = StringHelper.preencherZeroEsquerda(null, 15);
}
}
String aliquotaPIS = StringHelper.preencherZeroEsquerda(null, 7); String aliquotaPIS = StringHelper.preencherZeroEsquerda(null, 7);
String valorPIS = StringHelper.preencherZeroEsquerda(null, 15); String valorPIS = StringHelper.preencherZeroEsquerda(null, 15);
String aliquotaCofins = StringHelper.preencherZeroEsquerda(null, 7); String aliquotaCofins = StringHelper.preencherZeroEsquerda(null, 7);
@ -902,8 +915,27 @@ public class FiscalServiceImpl implements FiscalService {
imposto = UtileriasFiscal.formataZeroDecimal(valorImposto, 14); imposto = UtileriasFiscal.formataZeroDecimal(valorImposto, 14);
aliquota = UtileriasFiscal.formataZeroDecimal(aliquotaCalc, 14); aliquota = UtileriasFiscal.formataZeroDecimal(aliquotaCalc, 14);
} }
boolean inconsistente = item.getInconsistencia() == null ? false : item.getInconsistencia();
if (inconsistente) {
if (codProduto.indexOf("TA") >= 0) {
BigDecimal aliquotaCalc = item.getImpostoEstado() == null ? BigDecimal.ZERO : item.getImpostoEstado();
aliquotaCalc = UtileriasFiscal.arredondar(aliquotaCalc);
BigDecimal baseCalculo = valorItem;
baseCalculo = UtileriasFiscal.arredondar(baseCalculo);
BigDecimal valorImposto = baseCalculo.multiply(aliquotaCalc.divide(CEM));
valorImposto = UtileriasFiscal.arredondar(valorImposto);
imposto = UtileriasFiscal.formataZeroDecimal(valorImposto, 14);
aliquota = UtileriasFiscal.formataZeroDecimal(aliquotaCalc, 14);
totalICMSIsento = null;
totalICMSNaotributado = null;
}
} }
}
if (StringUtils.isBlank(aliquota)) if (StringUtils.isBlank(aliquota))
aliquota = StringHelper.preencherZeroEsquerda(null, 14); aliquota = StringHelper.preencherZeroEsquerda(null, 14);
@ -1083,19 +1115,19 @@ public class FiscalServiceImpl implements FiscalService {
try { try {
connection = DataSourceUtils.getConnection(dataSourceRead); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionNaoFiscalVO> importacionNaoFiscalVOs = fiscalDAO.buscaDatosNaoFiscais(inicio, fim, empresa.getEmpresaId(),connection); List<ImportacionNaoFiscalVO> importacionNaoFiscalVOs = fiscalDAO.buscaDatosNaoFiscais(inicio, fim, empresa.getEmpresaId(), connection);
return new ArchivoIntegracionNaoFiscal().gerarArquivo(empresa.getCnpj(), importacionNaoFiscalVOs); return new ArchivoIntegracionNaoFiscal().gerarArquivo(empresa.getCnpj(), importacionNaoFiscalVOs);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
}finally{ } finally {
try { try {
if (connection != null && !connection.isClosed()){ if (connection != null && !connection.isClosed()) {
connection.close(); connection.close();
} }
} catch (SQLException e) { } catch (SQLException e) {
log.error("error fechar conexão",e); log.error("error fechar conexão", e);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }

View File

@ -30,6 +30,7 @@ public class ImportacionFiscalVO {
private BigDecimal valorEmbarque; private BigDecimal valorEmbarque;
private BigDecimal valorSeguro; private BigDecimal valorSeguro;
private String cnpjEcf; private String cnpjEcf;
private BigDecimal impostoEstado;
private List<ItemFiscalVO> itensFiscais; private List<ItemFiscalVO> itensFiscais;
@ -303,4 +304,12 @@ public class ImportacionFiscalVO {
this.cnpjEcf = cnpjEcf; this.cnpjEcf = cnpjEcf;
} }
public BigDecimal getImpostoEstado() {
return impostoEstado;
}
public void setImpostoEstado(BigDecimal impostoEstado) {
this.impostoEstado = impostoEstado;
}
} }

View File

@ -21,6 +21,7 @@ public class ItemFiscalVO extends ImportacionFiscalVO {
item.getDestinoUf(), item.getNumpdv(), item.getModeloImpressora(), item.getNumCaixa(), item.getStatus(), item.getDestinoUf(), item.getNumpdv(), item.getModeloImpressora(), item.getNumCaixa(), item.getStatus(),
item.getMotivocancelacion(), item.getValorMulta(), item.getValorTarifa(), item.getValorPedagio(), item.getMotivocancelacion(), item.getValorMulta(), item.getValorTarifa(), item.getValorPedagio(),
item.getValorEmbarque(), item.getValorSeguro(), item.getClaseServicio()); item.getValorEmbarque(), item.getValorSeguro(), item.getClaseServicio());
super.setImpostoEstado(item.getImpostoEstado());
} }
public String getNumItem() { public String getNumItem() {