gleimar 2016-05-24 21:01:18 +00:00
parent a258737a1a
commit ccf1cb0e96
3 changed files with 446 additions and 431 deletions

View File

@ -1,5 +1,6 @@
package com.rjconsultores.ventaboletos.dao; package com.rjconsultores.ventaboletos.dao;
import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -14,12 +15,12 @@ public interface FiscalDAO {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte); public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados) throws SQLException; public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados, Connection connection) throws SQLException;
public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId) throws SQLException; public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException;
public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId) throws SQLException; public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException;
public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId) throws SQLException; public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException;
} }

View File

@ -9,13 +9,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.sql.DataSource;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.FiscalDAO; import com.rjconsultores.ventaboletos.dao.FiscalDAO;
@ -30,296 +24,279 @@ import com.rjconsultores.ventaboletos.vo.impressaofiscal.ItemFiscalVO;
import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria; import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria;
@Repository("fiscalDAO") @Repository("fiscalDAO")
public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> implements FiscalDAO { public class FiscalHibernateDAO implements FiscalDAO {
private static Logger log = Logger.getLogger(FiscalHibernateDAO.class); private static Logger log = Logger.getLogger(FiscalHibernateDAO.class);
public static final String DATE_FORMAT_FISCAL = "yyyyMMdd"; public static final String DATE_FORMAT_FISCAL = "yyyyMMdd";
@Autowired public FiscalHibernateDAO() {
private DataSource dataSourceRead;
@Autowired
public FiscalHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
} }
@Override @Override
public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId) throws SQLException { public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId,Connection connection) throws SQLException {
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rset = null; ResultSet rset = null;
try { StringBuilder sql = new StringBuilder();
sql.append("select r4.numserie20 as numImpressora, ");
StringBuilder sql = new StringBuilder(); sql.append(" coalesce(r4.coo, b.numfoliopreimpreso) as coo, ");
sql.append("select r4.numserie20 as numImpressora, "); sql.append(" b.boleto_id as boletoId, ");
sql.append(" coalesce(r4.coo, b.numfoliopreimpreso) as coo, "); sql.append(" b.marca_id as empresaId, ");
sql.append(" b.boleto_id as boletoId, "); sql.append(" e.nombempresa as empresa, ");
sql.append(" b.marca_id as empresaId, "); sql.append(" to_char(b.fechorventa, 'yyyyMMdd') as dataEmissao, ");
sql.append(" e.nombempresa as empresa, "); sql.append(" b.preciopagado as valorTotal, ");
sql.append(" to_char(b.fechorventa, 'yyyyMMdd') as dataEmissao, "); sql.append(" co.codibge as origenId, ");
sql.append(" b.preciopagado as valorTotal, "); sql.append(" eo.cveestado as origenUf, ");
sql.append(" co.codibge as origenId, "); sql.append(" cd.codibge as destinoId, ");
sql.append(" eo.cveestado as origenUf, "); sql.append(" ed.cveestado as destinoUf, ");
sql.append(" cd.codibge as destinoId, "); sql.append(" r5.totparcial as repTributado, ");
sql.append(" ed.cveestado as destinoUf, "); sql.append(" b.preciopagado as valorItem, ");
sql.append(" r5.totparcial as repTributado, "); sql.append(" r5.tipopassagem as tipoPassagem, ");
sql.append(" b.preciopagado as valorItem, "); sql.append(" r5.numitem as numItem, ");
sql.append(" r5.tipopassagem as tipoPassagem, "); sql.append(" r5.codproduto as codProduto, ");
sql.append(" r5.numitem as numItem, "); sql.append(" b.numseriepreimpresa as serie, ");
sql.append(" r5.codproduto as codProduto, "); sql.append(" eio.icms as icms, ");
sql.append(" b.numseriepreimpresa as serie, "); sql.append(" eio.porctributo as porctributo, ");
sql.append(" eio.icms as icms, "); sql.append(" eo.estado_id as estadoIdOrigen, ");
sql.append(" eio.porctributo as porctributo, "); sql.append(" ed.estado_id as estadoIdDestino, ");
sql.append(" eo.estado_id as estadoIdOrigen, "); sql.append(" subserie as subSerie, ");
sql.append(" ed.estado_id as estadoIdDestino, "); sql.append(" docfiscal as aidf, ");
sql.append(" subserie as subSerie, "); sql.append(" fi.numserie as numpdv,");
sql.append(" docfiscal as aidf, "); sql.append(" fi.modelo as modeloImpressora,");
sql.append(" fi.numserie as numpdv,"); sql.append(" r4.usuario_id as numCaixa,");
sql.append(" fi.modelo as modeloImpressora,"); sql.append(" case b.importetaxaembarque when 0 then null else b.importetaxaembarque ");
sql.append(" r4.usuario_id as numCaixa,"); sql.append(" end as importetaxaembarque, ");
sql.append(" case b.importetaxaembarque when 0 then null else b.importetaxaembarque "); sql.append(" case b.importepedagio when 0 then null else b.importepedagio ");
sql.append(" end as importetaxaembarque, "); sql.append(" end as importepedagio, ");
sql.append(" case b.importepedagio when 0 then null else b.importepedagio "); sql.append(" case b.importeoutros when 0 then null else b.importeoutros ");
sql.append(" end as importepedagio, "); sql.append(" end as importeoutros, ");
sql.append(" case b.importeoutros when 0 then null else b.importeoutros "); sql.append(" case b.importeseguro when 0 then null else b.importeseguro ");
sql.append(" end as importeoutros, "); sql.append(" end as importeseguro, ");
sql.append(" case b.importeseguro when 0 then null else b.importeseguro "); sql.append(" case when b.indstatusboleto = 'V' or b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status, ");
sql.append(" end as importeseguro, "); sql.append(" cs.descclase as claseServicio ");
sql.append(" case when b.indstatusboleto = 'V' or b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status, "); sql.append("from boleto b ");
sql.append(" cs.descclase as claseServicio "); sql.append(" left join fiscal_r4 r4 on b.boleto_id = r4.boleto_id ");
sql.append("from boleto b "); sql.append(" left outer join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 ");
sql.append(" left join fiscal_r4 r4 on b.boleto_id = r4.boleto_id "); sql.append(" and r4.coo = r5.coo ");
sql.append(" left outer join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 "); sql.append(" left outer join fiscal_impressora fi on fi.numserie20 = r4.numserie20 ");
sql.append(" and r4.coo = r5.coo "); sql.append(" inner join empresa e on e.empresa_id = b.marca_id ");
sql.append(" left outer join fiscal_impressora fi on fi.numserie20 = r4.numserie20 "); sql.append(" left join alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" inner join empresa e on e.empresa_id = b.marca_id "); sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" left join alias_servico ase ON ase.origen_id = b.origen_id "); sql.append(" left join parada o on coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null "); sql.append(" left join ciudad co on o.ciudad_id = co.ciudad_id ");
sql.append(" left join parada o on coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id "); sql.append(" left join estado eo on co.estado_id = eo.estado_id ");
sql.append(" left join ciudad co on o.ciudad_id = co.ciudad_id "); sql.append(" left join empresa_imposto eio on eo.estado_id = eio.estado_id ");
sql.append(" left join estado eo on co.estado_id = eo.estado_id "); sql.append(" and eio.activo = 1 ");
sql.append(" left join empresa_imposto eio on eo.estado_id = eio.estado_id "); sql.append(" and b.marca_id = eio.empresa_id ");
sql.append(" and eio.activo = 1 "); sql.append(" left join parada d on coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" and b.marca_id = eio.empresa_id "); sql.append(" left join ciudad cd on d.ciudad_id = cd.ciudad_id ");
sql.append(" left join parada d on coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id "); sql.append(" left join estado ed on cd.estado_id = ed.estado_id ");
sql.append(" left join ciudad cd on d.ciudad_id = cd.ciudad_id "); sql.append(" left join aidf a on a.serie = b.numseriepreimpresa ");
sql.append(" left join estado ed on cd.estado_id = ed.estado_id "); sql.append(" and eo.estado_id = a.estado_id ");
sql.append(" left join aidf a on a.serie = b.numseriepreimpresa "); sql.append(" and a.empresa_id = e.empresa_id ");
sql.append(" and eo.estado_id = a.estado_id "); sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
sql.append(" and a.empresa_id = e.empresa_id "); sql.append("WHERE b.fechorventa BETWEEN ? AND ? ");
sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id "); sql.append(" AND b.marca_id = ? ");
sql.append("WHERE b.fechorventa BETWEEN ? AND ? "); sql.append(" AND b.tipoventa_id = 3 ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) ");
sql.append(" AND b.tipoventa_id = 3 "); sql.append("GROUP BY r4.numserie20, ");
sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) "); sql.append(" COALESCE(r4.coo, b.numfoliopreimpreso), ");
sql.append("GROUP BY r4.numserie20, "); sql.append(" b.boleto_id, ");
sql.append(" COALESCE(r4.coo, b.numfoliopreimpreso), "); sql.append(" b.marca_id, ");
sql.append(" b.boleto_id, "); sql.append(" e.nombempresa, ");
sql.append(" b.marca_id, "); sql.append(" TO_CHAR(b.fechorventa, 'yyyyMMdd'), ");
sql.append(" e.nombempresa, "); sql.append(" b.preciopagado, ");
sql.append(" TO_CHAR(b.fechorventa, 'yyyyMMdd'), "); sql.append(" co.codibge, ");
sql.append(" b.preciopagado, "); sql.append(" cd.codibge, ");
sql.append(" co.codibge, "); sql.append(" r5.totparcial, ");
sql.append(" cd.codibge, "); sql.append(" b.preciopagado, ");
sql.append(" r5.totparcial, "); sql.append(" r5.tipopassagem, ");
sql.append(" b.preciopagado, "); sql.append(" r5.numitem, ");
sql.append(" r5.tipopassagem, "); sql.append(" r5.codproduto, ");
sql.append(" r5.numitem, "); sql.append(" b.numseriepreimpresa, ");
sql.append(" r5.codproduto, "); sql.append(" eio.icms, ");
sql.append(" b.numseriepreimpresa, "); sql.append(" eio.porctributo, ");
sql.append(" eio.icms, "); sql.append(" eo.estado_id, ");
sql.append(" eio.porctributo, "); sql.append(" ed.estado_id, ");
sql.append(" eo.estado_id, "); sql.append(" subserie, ");
sql.append(" ed.estado_id, "); sql.append(" docfiscal, ");
sql.append(" subserie, "); sql.append(" b.importetaxaembarque, ");
sql.append(" docfiscal, "); sql.append(" b.importepedagio, ");
sql.append(" b.importetaxaembarque, "); sql.append(" b.importeoutros, ");
sql.append(" b.importepedagio, "); sql.append(" b.importeseguro, ");
sql.append(" b.importeoutros, "); sql.append(" fi.numserie, ");
sql.append(" b.importeseguro, "); sql.append(" fi.modelo, ");
sql.append(" fi.numserie, "); sql.append(" r4.usuario_id, ");
sql.append(" fi.modelo, "); sql.append(" eo.cveestado, ");
sql.append(" r4.usuario_id, "); sql.append(" ed.cveestado, ");
sql.append(" eo.cveestado, "); sql.append(" b.motivocancelacion_id, ");
sql.append(" ed.cveestado, "); sql.append(" b.indstatusboleto, ");
sql.append(" b.motivocancelacion_id, "); sql.append(" cs.descclase ");
sql.append(" b.indstatusboleto, "); sql.append("ORDER BY dataEmissao, coo, modeloImpressora ");
sql.append(" cs.descclase ");
sql.append("ORDER BY dataEmissao, coo, modeloImpressora "); List<ImportacionManualFiscalVO> listManuais = new ArrayList<ImportacionManualFiscalVO>();
List<ImportacionManualFiscalVO> listManuais = new ArrayList<ImportacionManualFiscalVO>(); stmt = connection.prepareStatement(sql.toString());
stmt.setFetchSize(100);
stmt = getConexao().prepareStatement(sql.toString()); stmt.setTimestamp(1, new java.sql.Timestamp(inicio.getTime()));
stmt.setFetchSize(100); stmt.setTimestamp(2, new java.sql.Timestamp(fim.getTime()));
stmt.setTimestamp(1, new java.sql.Timestamp(inicio.getTime()));
stmt.setTimestamp(2, new java.sql.Timestamp(fim.getTime())); if (empresaId != null) {
stmt.setInt(3, empresaId);
if (empresaId != null) {
stmt.setInt(3, empresaId);
}
rset = stmt.executeQuery();
while (rset.next()) {
ImportacionManualFiscalVO item = new ImportacionManualFiscalVO();
item.setNumImpressora(rset.getString("numImpressora"));
item.setCoo(rset.getString("coo"));
item.setBoletoId(rset.getLong("boletoId"));
item.setEmpresaId(rset.getInt("empresaId"));
item.setDataEmissao(rset.getString("dataEmissao"));
item.setValorTotal(rset.getBigDecimal("valorTotal"));
item.setNumItem(rset.getString("numItem"));
item.setCodProduto(rset.getString("codProduto"));
item.setNumpdv(rset.getString("numpdv"));
item.setRepTributado(rset.getString("repTributado"));
item.setTipoPassagem(rset.getString("tipoPassagem"));
item.setValorItem(rset.getBigDecimal("valorItem"));
item.setOrigenId(rset.getInt("origenId"));
item.setOrigenUf(rset.getString("origenUf"));
item.setDestinoId(rset.getInt("destinoId"));
item.setDestinoUf(rset.getString("destinoUf"));
item.setModeloImpressora(rset.getString("modeloImpressora"));
item.setNumCaixa(rset.getString("numCaixa"));
item.setStatus(rset.getString("status"));
item.setSerie(rset.getString("serie"));
item.setIcms(rset.getBigDecimal("icms"));
item.setPorctributo(rset.getBigDecimal("porctributo"));
item.setEstadoIdOrigen(rset.getInt("estadoIdOrigen"));
item.setEstadoIdDestino(rset.getInt("estadoIdDestino"));
item.setImportetaxaembarque(rset.getBigDecimal("importetaxaembarque"));
item.setImportepedagio(rset.getBigDecimal("importepedagio"));
item.setImporteoutros(rset.getBigDecimal("importeoutros"));
item.setImporteseguro(rset.getBigDecimal("importeseguro"));
item.setSubSerie(rset.getString("subSerie"));
item.setAidf(rset.getString("aidf"));
item.setClaseServicio(rset.getString("claseServicio"));
listManuais.add(item);
}
return listManuais;
} catch (Exception e) {
log.info(e.getMessage(), e);
throw new SQLException(e);
} finally {
fecharconexao();
} }
rset = stmt.executeQuery();
while (rset.next()) {
ImportacionManualFiscalVO item = new ImportacionManualFiscalVO();
item.setNumImpressora(rset.getString("numImpressora"));
item.setCoo(rset.getString("coo"));
item.setBoletoId(rset.getLong("boletoId"));
item.setEmpresaId(rset.getInt("empresaId"));
item.setDataEmissao(rset.getString("dataEmissao"));
item.setValorTotal(rset.getBigDecimal("valorTotal"));
item.setNumItem(rset.getString("numItem"));
item.setCodProduto(rset.getString("codProduto"));
item.setNumpdv(rset.getString("numpdv"));
item.setRepTributado(rset.getString("repTributado"));
item.setTipoPassagem(rset.getString("tipoPassagem"));
item.setValorItem(rset.getBigDecimal("valorItem"));
item.setOrigenId(rset.getInt("origenId"));
item.setOrigenUf(rset.getString("origenUf"));
item.setDestinoId(rset.getInt("destinoId"));
item.setDestinoUf(rset.getString("destinoUf"));
item.setModeloImpressora(rset.getString("modeloImpressora"));
item.setNumCaixa(rset.getString("numCaixa"));
item.setStatus(rset.getString("status"));
item.setSerie(rset.getString("serie"));
item.setIcms(rset.getBigDecimal("icms"));
item.setPorctributo(rset.getBigDecimal("porctributo"));
item.setEstadoIdOrigen(rset.getInt("estadoIdOrigen"));
item.setEstadoIdDestino(rset.getInt("estadoIdDestino"));
item.setImportetaxaembarque(rset.getBigDecimal("importetaxaembarque"));
item.setImportepedagio(rset.getBigDecimal("importepedagio"));
item.setImporteoutros(rset.getBigDecimal("importeoutros"));
item.setImporteseguro(rset.getBigDecimal("importeseguro"));
item.setSubSerie(rset.getString("subSerie"));
item.setAidf(rset.getString("aidf"));
item.setClaseServicio(rset.getString("claseServicio"));
listManuais.add(item);
}
return listManuais;
} }
@Override @Override
public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId) throws SQLException { public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId,Connection connection) throws SQLException {
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rset = null; ResultSet rset = null;
try {
StringBuilder sql = new StringBuilder();
sql.append("SELECT r2.datamov AS datamov, ");
sql.append(" r2.numreducoes AS numreducoes, ");
sql.append(" r2.crz AS crz, ");
sql.append(" r2.numserie20 AS numserie20, ");
sql.append(" r2.coo AS coo, ");
sql.append(" r2.cooinicial AS cooinicial, ");
sql.append(" r2.coofinal AS coofinal, ");
sql.append(" r2.vendabrutadiaria AS vendabrutadiaria, ");
sql.append(" r2.datareducao AS datareducao, ");
sql.append(" r2.horareducao AS horareducao, ");
sql.append(" r3.totparcial AS aliquota, ");
sql.append(" r3.valoracumulado AS imposto, ");
sql.append(" ifi.numserie AS numpdv, ");
sql.append(" e.cnpj AS cnpj, ");
sql.append(" r2.totgeral AS gtFinal, ");
sql.append(" anterior.totgeral AS gtInicial ");
sql.append("FROM fiscal_r2 r2 ");
sql.append(" inner join fiscal_impressora ifi ");
sql.append(" ON ifi.numserie20 = r2.numserie20 ");
sql.append(" inner join fiscal_r3 r3 ");
sql.append(" ON r3.crz = r2.crz ");
sql.append(" AND r2.numserie20 = r3.numserie20 ");
sql.append(" AND r3.datamov = r2.datamov ");
sql.append(" AND r3.fiscalimpressora_id = ifi.fiscalimpressora_id ");
sql.append(" inner join fiscal_t2 t2 ");
sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id ");
sql.append(" inner join empresa e ON TRANSLATE(t2.cnpj, ' / - . ', ' ') ");
sql.append(" in (TRANSLATE(e.cnpj, ' / - . ', ' '), ");
sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? )),");
sql.append(" (SELECT numserie20, crz, totgeral ");
sql.append(" FROM fiscal_r2) anterior ");
sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
sql.append(" AND r2.activo = 1 ");
sql.append(" AND e.empresa_id = ? ");
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(" AND anterior.numserie20 = r2.numserie20 ");
sql.append(" AND anterior.crz = r2.crz - 1 ");
sql.append("GROUP BY r2.datamov, ");
sql.append(" r2.numreducoes, ");
sql.append(" r2.crz, ");
sql.append(" r2.numserie20, ");
sql.append(" r2.coo, ");
sql.append(" r2.cooinicial, ");
sql.append(" r2.coofinal, ");
sql.append(" r2.vendabrutadiaria, ");
sql.append(" r2.datareducao, ");
sql.append(" r2.horareducao, ");
sql.append(" r3.totparcial, ");
sql.append(" r3.valoracumulado, ");
sql.append(" ifi.numserie, ");
sql.append(" e.cnpj, ");
sql.append(" r2.totgeral, ");
sql.append(" anterior.totgeral ");
sql.append("ORDER BY r2.datamov, ");
sql.append(" numserie20, ");
sql.append(" crz, ");
sql.append(" r2.numreducoes, ");
sql.append(" r3.totparcial");
StringBuilder sql = new StringBuilder(); List<ImportacionFiscalReducaoZVO> listRedZ = new ArrayList<ImportacionFiscalReducaoZVO>();
sql.append("SELECT r2.datamov AS datamov, ");
sql.append(" r2.numreducoes AS numreducoes, "); stmt = connection.prepareStatement(sql.toString());
sql.append(" r2.crz AS crz, "); stmt.setFetchSize(100);
sql.append(" r2.numserie20 AS numserie20, "); stmt.setInt(1, empresaId);
sql.append(" r2.coo AS coo, "); stmt.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
sql.append(" r2.cooinicial AS cooinicial, "); stmt.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
sql.append(" r2.coofinal AS coofinal, "); stmt.setInt(4, empresaId);
sql.append(" r2.vendabrutadiaria AS vendabrutadiaria, ");
sql.append(" r2.datareducao AS datareducao, "); rset = stmt.executeQuery();
sql.append(" r2.horareducao AS horareducao, "); while (rset.next()) {
sql.append(" r3.totparcial AS aliquota, ");
sql.append(" r3.valoracumulado AS imposto, "); ImportacionFiscalReducaoZVO item = new ImportacionFiscalReducaoZVO();
sql.append(" ifi.numserie AS numpdv, "); item.setDatamov(rset.getString("datamov"));
sql.append(" e.cnpj AS cnpj, "); item.setNumreducoes(rset.getString("numreducoes"));
sql.append(" r2.totgeral AS gtFinal, "); item.setCrz(rset.getString("crz"));
sql.append(" anterior.totgeral AS gtInicial "); item.setNumserie20(rset.getString("numserie20"));
sql.append("FROM fiscal_r2 r2 "); item.setCoo(rset.getString("coo"));
sql.append(" inner join fiscal_impressora ifi "); item.setCooinicial(rset.getString("cooinicial"));
sql.append(" ON ifi.numserie20 = r2.numserie20 "); item.setCoofinal(rset.getString("coofinal"));
sql.append(" inner join fiscal_r3 r3 "); item.setVendabrutadiaria(rset.getBigDecimal("vendabrutadiaria"));
sql.append(" ON r3.crz = r2.crz "); item.setDatareducao(rset.getString("datareducao"));
sql.append(" AND r2.numserie20 = r3.numserie20 "); item.setHorareducao(rset.getString("horareducao"));
sql.append(" AND r3.datamov = r2.datamov "); item.setAliquota(rset.getString("aliquota"));
sql.append(" AND r3.fiscalimpressora_id = ifi.fiscalimpressora_id "); item.setImposto(rset.getBigDecimal("imposto"));
sql.append(" inner join fiscal_t2 t2 "); item.setNumpdv(rset.getString("numpdv"));
sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id "); item.setCnpj(rset.getString("cnpj"));
sql.append(" inner join empresa e ON TRANSLATE(t2.cnpj, ' / - . ', ' ') "); item.setGtFinal(rset.getBigDecimal("gtFinal"));
sql.append(" in (TRANSLATE(e.cnpj, ' / - . ', ' '), "); item.setGtInicial(rset.getBigDecimal("gtInicial"));
sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? )),");
sql.append(" (SELECT numserie20, crz, totgeral "); listRedZ.add(item);
sql.append(" FROM fiscal_r2) anterior ");
sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
sql.append(" AND r2.activo = 1 ");
sql.append(" AND e.empresa_id = ? ");
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(" AND anterior.numserie20 = r2.numserie20 ");
sql.append(" AND anterior.crz = r2.crz - 1 ");
sql.append("GROUP BY r2.datamov, ");
sql.append(" r2.numreducoes, ");
sql.append(" r2.crz, ");
sql.append(" r2.numserie20, ");
sql.append(" r2.coo, ");
sql.append(" r2.cooinicial, ");
sql.append(" r2.coofinal, ");
sql.append(" r2.vendabrutadiaria, ");
sql.append(" r2.datareducao, ");
sql.append(" r2.horareducao, ");
sql.append(" r3.totparcial, ");
sql.append(" r3.valoracumulado, ");
sql.append(" ifi.numserie, ");
sql.append(" e.cnpj, ");
sql.append(" r2.totgeral, ");
sql.append(" anterior.totgeral ");
sql.append("ORDER BY r2.datamov, ");
sql.append(" numserie20, ");
sql.append(" crz, ");
sql.append(" r2.numreducoes, ");
sql.append(" r3.totparcial");
List<ImportacionFiscalReducaoZVO> listRedZ = new ArrayList<ImportacionFiscalReducaoZVO>();
stmt = getConexao().prepareStatement(sql.toString());
stmt.setFetchSize(100);
stmt.setInt(1, empresaId);
stmt.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
stmt.setInt(4, empresaId);
rset = stmt.executeQuery();
while (rset.next()) {
ImportacionFiscalReducaoZVO item = new ImportacionFiscalReducaoZVO();
item.setDatamov(rset.getString("datamov"));
item.setNumreducoes(rset.getString("numreducoes"));
item.setCrz(rset.getString("crz"));
item.setNumserie20(rset.getString("numserie20"));
item.setCoo(rset.getString("coo"));
item.setCooinicial(rset.getString("cooinicial"));
item.setCoofinal(rset.getString("coofinal"));
item.setVendabrutadiaria(rset.getBigDecimal("vendabrutadiaria"));
item.setDatareducao(rset.getString("datareducao"));
item.setHorareducao(rset.getString("horareducao"));
item.setAliquota(rset.getString("aliquota"));
item.setImposto(rset.getBigDecimal("imposto"));
item.setNumpdv(rset.getString("numpdv"));
item.setCnpj(rset.getString("cnpj"));
item.setGtFinal(rset.getBigDecimal("gtFinal"));
item.setGtInicial(rset.getBigDecimal("gtInicial"));
listRedZ.add(item);
}
return listRedZ;
} catch (Exception e) {
log.info(e.getMessage(), e);
throw new SQLException(e);
} finally {
fecharconexao();
} }
return listRedZ;
} }
public String sqlFiscaisECFCancelados() { public String sqlFiscaisECFCancelados() {
@ -488,94 +465,87 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
} }
@Override @Override
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados) throws SQLException { public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados,Connection connection) throws SQLException {
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rset = null; ResultSet rset = null;
try {
String sql = isCancelados ? sqlFiscaisECFCancelados() : sqlFiscaisECF(); String sql = isCancelados ? sqlFiscaisECFCancelados() : sqlFiscaisECF();
stmt = getConexao().prepareStatement(sql); stmt = connection.prepareStatement(sql);
stmt.setFetchSize(100); stmt.setFetchSize(100);
stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL)); stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
if (empresaId != null) { if (empresaId != null) {
stmt.setInt(3, empresaId); stmt.setInt(3, empresaId);
}
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
ImportacionFiscalVO fiscal = null;
String codProduto = null;
rset = stmt.executeQuery();
while (rset.next()) {
ItemFiscalVO item = new ItemFiscalVO();
item.setNumImpressora(rset.getString("numImpressora"));
item.setCoo(rset.getString("coo"));
item.setBoletoId(rset.getLong("boletoId"));
item.setEmpresaId(rset.getInt("empresaId"));
item.setDataEmissao(rset.getString("dataEmissao"));
item.setCnpjCliente(rset.getString("cnpjCliente"));
item.setCnpjImpressora(rset.getString("cnpjImpressora"));
item.setOrigenId(rset.getInt("origenId"));
item.setOrigenUf(rset.getString("origenUf"));
item.setDestinoId(rset.getInt("destinoId"));
item.setDestinoUf(rset.getString("destinoUf"));
item.setNumpdv(rset.getString("numpdv"));
item.setNumItem(rset.getString("numItem"));
item.setCodProduto(rset.getString("codProduto"));
item.setRepTributado(rset.getString("repTributado"));
item.setTipoPassagem(rset.getString("tipoPassagem"));
item.setModeloImpressora(rset.getString("modeloImpressora"));
item.setNumCaixa(rset.getString("numCaixa"));
item.setStatus(rset.getString("status"));
item.setClaseServicio(rset.getString("claseServicio"));
if (isCancelados) {
item.setMotivocancelacion(rset.getInt("motivocancelacion"));
item.setValorMulta(rset.getBigDecimal("valorMulta"));
} }
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>(); // TODO: Estes atributos foram criados, por motivo de divergencia no valorTotal com o valor unitario na tabela FISCAL_R5
ImportacionFiscalVO fiscal = null; item.setValorTarifa(rset.getBigDecimal("importetarifa"));
String codProduto = null; item.setValorPedagio(rset.getBigDecimal("importepedagio"));
item.setValorEmbarque(rset.getBigDecimal("importetaxaembarque"));
rset = stmt.executeQuery(); item.setValorSeguro(rset.getBigDecimal("importeseguro"));
while (rset.next()) {
ImportacionFiscalVO novoFiscal = item;
ItemFiscalVO item = new ItemFiscalVO();
item.setNumImpressora(rset.getString("numImpressora")); codProduto = item.getCodProduto();
item.setCoo(rset.getString("coo")); codProduto = codProduto.toString().replace("-", "").replace("TA", "").replace("TX", "").replace("PE", "").replace("SE", "");
item.setBoletoId(rset.getLong("boletoId"));
item.setEmpresaId(rset.getInt("empresaId")); if (fiscal == null) {
item.setDataEmissao(rset.getString("dataEmissao")); fiscal = item;
item.setCnpjCliente(rset.getString("cnpjCliente")); } else if (!novoFiscal.equals(fiscal)) {
item.setCnpjImpressora(rset.getString("cnpjImpressora"));
item.setOrigenId(rset.getInt("origenId"));
item.setOrigenUf(rset.getString("origenUf"));
item.setDestinoId(rset.getInt("destinoId"));
item.setDestinoUf(rset.getString("destinoUf"));
item.setNumpdv(rset.getString("numpdv"));
item.setNumItem(rset.getString("numItem"));
item.setCodProduto(rset.getString("codProduto"));
item.setRepTributado(rset.getString("repTributado"));
item.setTipoPassagem(rset.getString("tipoPassagem"));
item.setModeloImpressora(rset.getString("modeloImpressora"));
item.setNumCaixa(rset.getString("numCaixa"));
item.setStatus(rset.getString("status"));
item.setClaseServicio(rset.getString("claseServicio"));
if (isCancelados) {
item.setMotivocancelacion(rset.getInt("motivocancelacion"));
item.setValorMulta(rset.getBigDecimal("valorMulta"));
}
// TODO: Estes atributos foram criados, por motivo de divergencia no valorTotal com o valor unitario na tabela FISCAL_R5
item.setValorTarifa(rset.getBigDecimal("importetarifa"));
item.setValorPedagio(rset.getBigDecimal("importepedagio"));
item.setValorEmbarque(rset.getBigDecimal("importetaxaembarque"));
item.setValorSeguro(rset.getBigDecimal("importeseguro"));
ImportacionFiscalVO novoFiscal = item;
codProduto = item.getCodProduto();
codProduto = codProduto.toString().replace("-", "").replace("TA", "").replace("TX", "").replace("PE", "").replace("SE", "");
if (fiscal == null) {
fiscal = item;
} else if (!novoFiscal.equals(fiscal)) {
List<ItemFiscalVO> itensFiscais = validaItensFiscais(fiscal, codProduto);
fiscal.setItensFiscais(itensFiscais);
list.add(fiscal);
fiscal = item;
}
fiscal.getItensFiscais().add(item);
}
if (fiscal != null) {
List<ItemFiscalVO> itensFiscais = validaItensFiscais(fiscal, codProduto); List<ItemFiscalVO> itensFiscais = validaItensFiscais(fiscal, codProduto);
fiscal.setItensFiscais(itensFiscais); fiscal.setItensFiscais(itensFiscais);
list.add(fiscal); list.add(fiscal);
fiscal = item;
} }
return list; fiscal.getItensFiscais().add(item);
} catch (Exception e) {
log.info(e.getMessage(), e);
throw new SQLException(e);
} finally {
fecharconexao();
} }
if (fiscal != null) {
List<ItemFiscalVO> itensFiscais = validaItensFiscais(fiscal, codProduto);
fiscal.setItensFiscais(itensFiscais);
list.add(fiscal);
}
return list;
} }
private boolean validaValorExiste(BigDecimal valor) { private boolean validaValorExiste(BigDecimal valor) {
@ -711,12 +681,17 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
sb.append(" and c.corrida_id in (:corridaId) "); sb.append(" and c.corrida_id in (:corridaId) ");
sb.append(" and ROWNUM < 2 "); sb.append(" and ROWNUM < 2 ");
Query query = getSession().createSQLQuery(sb.toString()); //FIXME - Implementar a inserção na base de dados. Atenção para checar se tem q ficar em transação ou não
query.setParameterList("corridaId", idsCorrida); // Query query = getSession().createSQLQuery(sb.toString());
query.setDate("datIni", new java.sql.Date(dataDe.getTime())); // query.setParameterList("corridaId", idsCorrida);
query.setDate("datFim", new java.sql.Date(dataAte.getTime())); // query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
// query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
return query.executeUpdate(); // return query.executeUpdate();
return 0;
} }
private Integer[] getIdsCorrida(List<EsquemaCorrida> lsEsquemaCorrida) { private Integer[] getIdsCorrida(List<EsquemaCorrida> lsEsquemaCorrida) {
@ -756,13 +731,15 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
sb.append(" and ROWNUM < 2 "); sb.append(" and ROWNUM < 2 ");
Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida); Integer[] idsCorrida = getIdsCorrida(lsEsquemaCorrida);
//FIXME - Implementar a inserção na base de dados. Atenção para checar se tem q ficar em transação ou não
Query query = getSession().createSQLQuery(sb.toString()); // Query query = getSession().createSQLQuery(sb.toString());
query.setParameterList("corridaId", idsCorrida); // query.setParameterList("corridaId", idsCorrida);
query.setDate("datIni", new java.sql.Date(dataDe.getTime())); // query.setDate("datIni", new java.sql.Date(dataDe.getTime()));
query.setDate("datFim", new java.sql.Date(dataAte.getTime())); // query.setDate("datFim", new java.sql.Date(dataAte.getTime()));
//
return query.executeUpdate(); // return query.executeUpdate();
return 0;
} }
@Override @Override
@ -773,63 +750,43 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
} }
@Override @Override
public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId) throws SQLException { public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId,Connection connection) throws SQLException {
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rset = null; ResultSet rset = null;
try {
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT TEE.TIPOEVENTOEXTRA_ID AS TIPOEVENTOEXTRAID, TEE.DESCTIPOEVENTO AS DESCTIPOEVENTO, ")
.append(" TRUNC(CD.FECHORVTA) AS FECHORVTA, SUM(CD.PRECIO) AS TOTAL ")
.append("FROM TIPO_EVENTO_EXTRA TEE ")
.append("LEFT JOIN EVENTO_EXTRA EE ON TEE.TIPOEVENTOEXTRA_ID = EE.TIPOEVENTOEXTRA_ID ")
.append("LEFT JOIN CAJA_DIVERSOS CD ON EE.EVENTOEXTRA_ID = CD.EVENTOEXTRA_ID ")
.append("WHERE TEE.ACTIVO = 1 ")
.append("AND EE.EMPRESA_ID = ? ")
.append("AND TRUNC(CD.FECHORVTA) BETWEEN ? AND ? ")
.append("GROUP BY TEE.TIPOEVENTOEXTRA_ID, TEE.DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) ")
.append("ORDER BY TRUNC(CD.FECHORVTA), TEE.DESCTIPOEVENTO ");
stmt = getConexao().prepareStatement(sQuery.toString());
stmt.setInt(1, empresaId);
stmt.setDate(2, new java.sql.Date(inicio.getTime()));
stmt.setDate(3, new java.sql.Date(fim.getTime()));
rset = stmt.executeQuery();
List<ImportacionNaoFiscalVO> importacionNaoFiscalVOs = new ArrayList<ImportacionNaoFiscalVO>();
while (rset.next()) {
ImportacionNaoFiscalVO importacionNaoFiscal = new ImportacionNaoFiscalVO();
importacionNaoFiscal.setTipoeventoextraId(rset.getInt("TIPOEVENTOEXTRAID"));
importacionNaoFiscal.setDesctipoevento(rset.getString("DESCTIPOEVENTO"));
importacionNaoFiscal.setFechorvta(rset.getDate("FECHORVTA"));
importacionNaoFiscal.setTotal(rset.getBigDecimal("TOTAL"));
importacionNaoFiscalVOs.add(importacionNaoFiscal);
}
return importacionNaoFiscalVOs;
} catch (Exception e) {
log.info(e.getMessage(), e); StringBuilder sQuery = new StringBuilder();
throw new SQLException(e); sQuery.append("SELECT TEE.TIPOEVENTOEXTRA_ID AS TIPOEVENTOEXTRAID, TEE.DESCTIPOEVENTO AS DESCTIPOEVENTO, ")
} finally { .append(" TRUNC(CD.FECHORVTA) AS FECHORVTA, SUM(CD.PRECIO) AS TOTAL ")
fecharconexao(); .append("FROM TIPO_EVENTO_EXTRA TEE ")
.append("LEFT JOIN EVENTO_EXTRA EE ON TEE.TIPOEVENTOEXTRA_ID = EE.TIPOEVENTOEXTRA_ID ")
.append("LEFT JOIN CAJA_DIVERSOS CD ON EE.EVENTOEXTRA_ID = CD.EVENTOEXTRA_ID ")
.append("WHERE TEE.ACTIVO = 1 ")
.append("AND EE.EMPRESA_ID = ? ")
.append("AND TRUNC(CD.FECHORVTA) BETWEEN ? AND ? ")
.append("GROUP BY TEE.TIPOEVENTOEXTRA_ID, TEE.DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) ")
.append("ORDER BY TRUNC(CD.FECHORVTA), TEE.DESCTIPOEVENTO ");
stmt = connection.prepareStatement(sQuery.toString());
stmt.setInt(1, empresaId);
stmt.setDate(2, new java.sql.Date(inicio.getTime()));
stmt.setDate(3, new java.sql.Date(fim.getTime()));
rset = stmt.executeQuery();
List<ImportacionNaoFiscalVO> importacionNaoFiscalVOs = new ArrayList<ImportacionNaoFiscalVO>();
while (rset.next()) {
ImportacionNaoFiscalVO importacionNaoFiscal = new ImportacionNaoFiscalVO();
importacionNaoFiscal.setTipoeventoextraId(rset.getInt("TIPOEVENTOEXTRAID"));
importacionNaoFiscal.setDesctipoevento(rset.getString("DESCTIPOEVENTO"));
importacionNaoFiscal.setFechorvta(rset.getDate("FECHORVTA"));
importacionNaoFiscal.setTotal(rset.getBigDecimal("TOTAL"));
importacionNaoFiscalVOs.add(importacionNaoFiscal);
} }
}
public Connection getConexao() throws SQLException { return importacionNaoFiscalVOs;
return dataSourceRead.getConnection();
} }
private void fecharconexao() {
try {
if (getConexao() != null && !getConexao().isClosed()) {
getConexao().close();
}
} catch (Exception e) {
log.error("Erro ao fechar a conexion", e);
}
}
} }

View File

@ -9,6 +9,7 @@ import java.io.IOException;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
@ -17,12 +18,15 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -67,6 +71,9 @@ public class FiscalServiceImpl implements FiscalService {
@Autowired @Autowired
private FiscalDAO fiscalDAO; private FiscalDAO fiscalDAO;
@Autowired
private DataSource dataSourceRead;
@Override @Override
@Transactional @Transactional
@ -76,7 +83,7 @@ public class FiscalServiceImpl implements FiscalService {
@Override @Override
public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa) {
Connection connection = null;
try { try {
String nomeArquivo = "fiscal_ecf_manual_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); String nomeArquivo = "fiscal_ecf_manual_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
File arquivo = File.createTempFile(nomeArquivo, ".txt"); File arquivo = File.createTempFile(nomeArquivo, ".txt");
@ -98,8 +105,10 @@ public class FiscalServiceImpl implements FiscalService {
inicio = DateUtil.inicioFecha(inicio); inicio = DateUtil.inicioFecha(inicio);
fim = DateUtil.fimFecha(fim); fim = DateUtil.fimFecha(fim);
List<ImportacionManualFiscalVO> list = agruparItensFiscaisManual(fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId())); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionManualFiscalVO> list = agruparItensFiscaisManual(fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId(),connection));
for (ImportacionManualFiscalVO imf : list) { for (ImportacionManualFiscalVO imf : list) {
qtdDoc++; qtdDoc++;
@ -191,6 +200,15 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{
try {
if (connection != null && !connection.isClosed()){
connection.close();
}
} catch (SQLException e) {
log.error("error fechar conexão",e);
throw new RuntimeException(e);
}
} }
return null; return null;
@ -314,7 +332,8 @@ public class FiscalServiceImpl implements FiscalService {
} }
public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa) {
Connection connection = null;
try { try {
String nomeArquivo = "fiscal_reducao_z_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); String nomeArquivo = "fiscal_reducao_z_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
File arquivo = File.createTempFile(nomeArquivo, ".txt"); File arquivo = File.createTempFile(nomeArquivo, ".txt");
@ -331,7 +350,9 @@ public class FiscalServiceImpl implements FiscalService {
String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial); String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial);
gravarArq.print(abertura + QUEBRA_LINHA); gravarArq.print(abertura + QUEBRA_LINHA);
List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId())); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(),connection));
for (ImportacionFiscalReducaoZVO ifrZ : list) { for (ImportacionFiscalReducaoZVO ifrZ : list) {
@ -417,6 +438,15 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{
try {
if (connection != null && !connection.isClosed()){
connection.close();
}
} catch (SQLException e) {
log.error("error fechar conexão",e);
throw new RuntimeException(e);
}
} }
return null; return null;
@ -450,7 +480,8 @@ public class FiscalServiceImpl implements FiscalService {
} }
private File importacionFiscalECFGenerico(Date inicio, Date fim, Empresa empresa, boolean isCancelados) { private File importacionFiscalECFGenerico(Date inicio, Date fim, Empresa empresa, boolean isCancelados) {
Connection connection = null;
try { try {
String nomeArquivo = "fiscal_ecf_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); String nomeArquivo = "fiscal_ecf_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
File arquivo = File.createTempFile(nomeArquivo, ".txt"); File arquivo = File.createTempFile(nomeArquivo, ".txt");
@ -472,8 +503,10 @@ public class FiscalServiceImpl implements FiscalService {
String header = null; String header = null;
List<String> itensDocs = new ArrayList<String>(); List<String> itensDocs = new ArrayList<String>();
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados); connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados,connection);
for (ImportacionFiscalVO item : list) { for (ImportacionFiscalVO item : list) {
@ -582,7 +615,17 @@ public class FiscalServiceImpl implements FiscalService {
log.error("", e); log.error("", e);
} catch (SQLException e) { } catch (SQLException e) {
log.error("", e); log.error("", e);
}finally{
try {
if (connection != null && !connection.isClosed()){
connection.close();
}
} catch (SQLException e) {
log.error("error fechar conexão",e);
throw new RuntimeException(e);
}
} }
return null; return null;
} }
@ -1003,11 +1046,25 @@ public class FiscalServiceImpl implements FiscalService {
@Override @Override
public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa) { public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa) {
Connection connection = null;
try { try {
List<ImportacionNaoFiscalVO> importacionNaoFiscalVOs = fiscalDAO.buscaDatosNaoFiscais(inicio, fim, empresa.getEmpresaId()); connection = DataSourceUtils.getConnection(dataSourceRead);
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{
try {
if (connection != null && !connection.isClosed()){
connection.close();
}
} catch (SQLException e) {
log.error("error fechar conexão",e);
throw new RuntimeException(e);
}
} }
return null; return null;
} }