Exportação Fiscal : ECF e RMD (issue 8120)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@72457 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-08-09 14:07:44 +00:00
parent abc4c2cc7b
commit b705fa8a9f
3 changed files with 263 additions and 902 deletions

View File

@ -36,24 +36,14 @@ public interface FiscalDAO {
public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection) throws SQLException; public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection) throws SQLException;
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFCHibrido(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoICF> buscarRegistroECFTipoICF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoECFTipoICF> buscarRegistroECFTipoICF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoICF> buscarRegistroECFTipoICF_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ExportacaoRMDTipoRMD> buscarRegistroRMDTipoRMD(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoRMDTipoRMD> buscarRegistroRMDTipoRMD(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);

View File

@ -1383,7 +1383,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
@Override @Override
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFCHibrido(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) { public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoCFC> retorno = new ArrayList<ExportacaoECFTipoCFC>(); List<ExportacaoECFTipoCFC> retorno = new ArrayList<ExportacaoECFTipoCFC>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -1429,7 +1429,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join ciudad cost on cost.ciudad_id = post.ciudad_id"); sb.append(" left join ciudad cost on cost.ciudad_id = post.ciudad_id");
sb.append(" left join estado eost on eost.estado_id = cost.estado_id"); sb.append(" left join estado eost on eost.estado_id = cost.estado_id");
sb.append(" where coalesce(r4t.indcancelamento, 'N') <> 'S' and r4t.numserie20 = r2.numserie20 and r4t.datamov = r2.datamov and ((CASE WHEN st.aliasorigen_id IS NULL THEN eot.cveestado ELSE eost.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END))"); sb.append(" where coalesce(r4t.indcancelamento, 'N') <> 'S' and r4t.numserie20 = r2.numserie20 and r4t.datamov = r2.datamov and ((CASE WHEN st.aliasorigen_id IS NULL THEN eot.cveestado ELSE eost.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END))");
sb.append(" ) as totalvenda,"); sb.append(" )/100 as totalvenda,");
sb.append(" 0 as caja_id"); sb.append(" 0 as caja_id");
sb.append(" from fiscal_r4 r4"); sb.append(" from fiscal_r4 r4");
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov"); sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
@ -1453,8 +1453,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" UNION"); sb.append(" UNION");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" imp.numserie20 as ecf,"); sb.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as ecf,");
sb.append(" imp.numserie as numserie,"); sb.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie as numserie,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,"); sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" case when r2.numserie20 is null then '000001' else r2.cooinicial end as cooinicial,"); sb.append(" case when r2.numserie20 is null then '000001' else r2.cooinicial end as cooinicial,");
sb.append(" case when r2.numserie20 is null then '000001' else r2.coofinal end as coofinal,"); sb.append(" case when r2.numserie20 is null then '000001' else r2.coofinal end as coofinal,");
@ -1565,242 +1565,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
return retorno; return retorno;
} }
@Override @Deprecated
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoCFC> retorno = new ArrayList<ExportacaoECFTipoCFC>();
StringBuilder sb = new StringBuilder();
sb.append(" select distinct");
sb.append(" imp.numserie20 as ecf,");
sb.append(" imp.numserie as numserie,");
sb.append(" r2.datamov as datamov,");
sb.append(" r2.cooinicial as cooinicial,");
sb.append(" r2.coofinal as coofinal,");
sb.append(" r2.crz as crz,");
sb.append(" r2.cro as cro,");
sb.append(" r2.coo as coo,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN ei.codestabelecimento ELSE eis.codestabelecimento END as codestabelecimento,");
sb.append(" e.codestabelecimento as codestabelecimentoimpressora,");
sb.append(" imp.numeroidentificacao as numeroidentificacao,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estadoorigem,");
sb.append(" (");
sb.append(" select nvl(sum(r5i.imptotalliquido), 0)");
sb.append(" from fiscal_r5 r5i");
sb.append(" join fiscal_r4 r4i on r4i.numserie20 = r5i.numserie20 and r4i.datamov = r5i.datamov and r4i.coo = r5i.coo and r4i.contador = r5i.contador");
sb.append(" join boleto bi on bi.boleto_id = r4i.boleto_id");
sb.append(" join parada poi on poi.parada_id = bi.origen_id");
sb.append(" join parada pdi on pdi.parada_id = bi.destino_id");
sb.append(" left join alias_servico si on si.origen_id = bi.origen_id and si.destino_id = bi.destino_id and (si.corrida_id = bi.corrida_id or si.corrida_id is null) and si.ruta_id = bi.ruta_id");
sb.append(" left join parada posi on posi.parada_id = si.aliasorigen_id");
sb.append(" left join parada pdsi on pdsi.parada_id = si.aliasdestino_id");
sb.append(" where r5i.numserie20 = r4.numserie20 and r5i.datamov = r2.datamov and r5i.codproduto like '%-TA'");
sb.append(" and (nvl(case when si.aliasorigen_id is null then poi.regionmetropolitana_id else posi.regionmetropolitana_id end, -1) = nvl(case when si.aliasorigen_id is null then pdi.regionmetropolitana_id else pdsi.regionmetropolitana_id end, -2))");
sb.append(" ) as totalisenta,");
sb.append(" r2.vendabrutadiaria as vendabrutadiaria,");
sb.append(" r2.totgeral as totgeral,");
sb.append(" (");
sb.append(" select nvl(sum(r4t.impsubtotal), 0)");
sb.append(" from fiscal_r4 r4t");
sb.append(" join boleto bt on bt.boleto_id = r4t.boleto_id");
sb.append(" join parada pot on pot.parada_id = bt.origen_id");
sb.append(" join ciudad cot on cot.ciudad_id = pot.ciudad_id");
sb.append(" join estado eot on eot.estado_id = cot.estado_id");
sb.append(" left join alias_servico st on st.origen_id = bt.origen_id and st.destino_id = bt.destino_id and (st.corrida_id = bt.corrida_id or st.corrida_id is null) and st.ruta_id = bt.ruta_id");
sb.append(" left join parada post on post.parada_id = st.aliasorigen_id");
sb.append(" left join ciudad cost on cost.ciudad_id = post.ciudad_id");
sb.append(" left join estado eost on eost.estado_id = cost.estado_id");
sb.append(" where coalesce(r4t.indcancelamento, 'N') <> 'S' and r4t.numserie20 = r2.numserie20 and r4t.datamov = r2.datamov and ((CASE WHEN st.aliasorigen_id IS NULL THEN eot.cveestado ELSE eost.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END))");
sb.append(" ) as totalvenda");
sb.append(" from fiscal_r4 r4");
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
sb.append(" join fiscal_impressora imp on imp.numserie20 = r4.numserie20");
sb.append(" join boleto b on b.boleto_id = r4.boleto_id");
sb.append(" join parada po on po.parada_id = b.origen_id");
sb.append(" join ciudad co on co.ciudad_id = po.ciudad_id");
sb.append(" join estado eo on eo.estado_id = co.estado_id");
sb.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = co.estado_id");
sb.append(" left join alias_servico s on s.origen_id = b.origen_id and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) and s.ruta_id = b.ruta_id");
sb.append(" left join parada pos on pos.parada_id = s.aliasorigen_id");
sb.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id");
sb.append(" left join estado eos on eos.estado_id = cos.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = cos.estado_id");
sb.append(" left join estado e on e.estado_id = imp.estadolocal_id");
sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" order by r2.datamov");
try {
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery();
ExportacaoECFTipoCFC registro = null;
while (rs.next()) {
BigDecimal totalIsenta = BigDecimal.ZERO;
if (rs.getBigDecimal("totalisenta") != null) {
totalIsenta = rs.getBigDecimal("totalisenta").divide(BigDecimal.valueOf(100d));
}
registro = new ExportacaoECFTipoCFC();
registro.setEstabelecimento(rs.getString("codestabelecimento"));
registro.setDataEmissao(rs.getString("datamov"));
registro.setNumeroIdentificacaoECF(rs.getString("numeroidentificacao") == null || rs.getString("numeroidentificacao").isEmpty() ? "0" : rs.getString("numeroidentificacao"));
registro.setEcf(rs.getString("ecf"));
registro.setCooReducaoZ(Integer.valueOf(rs.getString("coo")));
registro.setCooInicial(Integer.valueOf(rs.getString("cooinicial")));
registro.setCooFinal(Integer.valueOf(rs.getString("coofinal")));
registro.setContadorReducao(Integer.valueOf(rs.getString("crz")));
registro.setCro(Integer.valueOf(rs.getString("cro")));
registro.setValorTotal(BigDecimal.valueOf(Double.valueOf(rs.getString("totalvenda")) / 100));
registro.setValorIsentas(totalIsenta);
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
registro.setNumeroSerie(rs.getString("numserie"));
registro.setInfoPadraoBilhetePassagem(CODIGO_INDICADOR_CONTR_PREVIDENCIARIA);
retorno.add(registro);
}
rs.close();
ps.close();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return retorno;
}
@Override @Deprecated
public List<ExportacaoECFTipoCFC> buscarRegistroECFTipoCFC_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoCFC> retorno = new ArrayList<ExportacaoECFTipoCFC>();
StringBuilder sb = new StringBuilder();
sb.append(" select ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, numeroidentificacao, estadoorigem, sum(totalisenta) as totalisenta, sum(vendabrutadiaria) as vendabrutadiaria, sum(totgeral) as totgeral, sum(totalvenda) as totalvenda");
sb.append(" from (");
sb.append(" select distinct");
sb.append(" 'X' || imp.numserie20 as ecf,");
sb.append(" imp.numserie as numserie,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000001' as cooinicial,");
sb.append(" '000001' as coofinal,");
sb.append(" '0000' as crz,");
sb.append(" '0000' as cro,");
sb.append(" '000000' as coo,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN ei.codestabelecimento ELSE eis.codestabelecimento END as codestabelecimento,");
sb.append(" e.codestabelecimento as codestabelecimentoimpressora,");
sb.append(" imp.numeroidentificacao as numeroidentificacao,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END as estadoorigem,");
sb.append(" (");
sb.append(" select nvl(sum(c.preciopagado), 0)");
sb.append(" from caja bi");
sb.append(" join parada poi on poi.parada_id = bi.origen_id");
sb.append(" join parada pdi on pdi.parada_id = bi.destino_id");
sb.append(" left join alias_servico si on si.origen_id = bi.origen_id and si.destino_id = bi.destino_id and (si.corrida_id = bi.corrida_id or si.corrida_id is null) and si.ruta_id = bi.ruta_id");
sb.append(" left join parada posi on posi.parada_id = si.aliasorigen_id");
sb.append(" left join parada pdsi on pdsi.parada_id = si.aliasdestino_id");
sb.append(" where bi.caja_id = c.caja_id");
sb.append(" and (nvl(case when si.aliasorigen_id is null then poi.regionmetropolitana_id else posi.regionmetropolitana_id end, -1) = nvl(case when si.aliasorigen_id is null then pdi.regionmetropolitana_id else pdsi.regionmetropolitana_id end, -2))");
sb.append(" ) as totalisenta,");
sb.append(" 0 as vendabrutadiaria,");
sb.append(" (");
sb.append(" select nvl(sum(c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros), 0)");
sb.append(" from caja bi");
sb.append(" where bi.caja_id = c.caja_id");
sb.append(" ) as totgeral,");
sb.append(" (");
sb.append(" select nvl(sum(c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros), 0)");
sb.append(" from caja bi");
sb.append(" where bi.caja_id = c.caja_id");
sb.append(" ) as totalvenda,");
sb.append(" c.caja_id");
sb.append(" from caja c");
sb.append(" join parada po on po.parada_id = c.origen_id");
sb.append(" join ciudad co on co.ciudad_id = po.ciudad_id");
sb.append(" join estado eo on eo.estado_id = co.estado_id");
sb.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = co.estado_id");
sb.append(" join fiscal_impressora imp on imp.numserie = c.serieimpfiscal");
sb.append(" left join alias_servico s on s.origen_id = c.origen_id and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) and s.ruta_id = c.ruta_id");
sb.append(" left join parada pos on pos.parada_id = s.aliasorigen_id");
sb.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id");
sb.append(" left join estado eos on eos.estado_id = cos.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = cos.estado_id");
sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id");
sb.append(" left join estado e on e.estado_id = imp.estadolocal_id");
sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1");
sb.append(" and c.serieimpfiscal is not null and r4.caja_id is null");
sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))");
sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1");
sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" and c.empresacorrida_id = ?");
sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" )");
sb.append(" having sum(totalvenda) > 0");
sb.append(" group by ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, numeroidentificacao, estadoorigem");
try {
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS));
ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery();
ExportacaoECFTipoCFC registro = null;
while (rs.next()) {
BigDecimal totalIsenta = BigDecimal.ZERO;
if (rs.getBigDecimal("totalisenta") != null) {
totalIsenta = rs.getBigDecimal("totalisenta");
}
registro = new ExportacaoECFTipoCFC();
registro.setEstabelecimento(rs.getString("codestabelecimento"));
registro.setDataEmissao(rs.getString("datamov"));
registro.setNumeroIdentificacaoECF(rs.getString("numeroidentificacao") == null || rs.getString("numeroidentificacao").isEmpty() ? "0" : rs.getString("numeroidentificacao"));
registro.setEcf(rs.getString("ecf"));
registro.setCooReducaoZ(Integer.valueOf(rs.getString("coo")));
registro.setCooInicial(Integer.valueOf(rs.getString("cooinicial")));
registro.setCooFinal(Integer.valueOf(rs.getString("coofinal")));
registro.setContadorReducao(Integer.valueOf(rs.getString("crz")));
registro.setCro(Integer.valueOf(rs.getString("cro")));
registro.setValorTotal(BigDecimal.valueOf(Double.valueOf(rs.getString("totalvenda"))));
registro.setValorIsentas(totalIsenta);
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
registro.setNumeroSerie(rs.getString("numserie"));
registro.setInfoPadraoBilhetePassagem(CODIGO_INDICADOR_CONTR_PREVIDENCIARIA);
retorno.add(registro);
}
rs.close();
ps.close();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return retorno;
}
@Override @Override
public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) { public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>(); List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, coo, sum(valortarifa) as valortarifa, sum(preciopagado) as preciopagado, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, numfoliosistema, sum(valortotal) as valortotal");
sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" r4.numserie20 as ecf,"); sb.append(" r4.numserie20 as ecf,");
sb.append(" r4.datamov as datamov,"); sb.append(" r4.datamov as datamov,");
sb.append(" r4.coo as coo,"); sb.append(" r4.coo as coo,");
sb.append(" r5.imptotalliquido as valortarifa,"); sb.append(" to_number(r5.imptotalliquido)/100 as valortarifa,");
sb.append(" c.preciopagado as preciopagado,"); sb.append(" c.preciopagado as preciopagado,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
@ -1811,8 +1587,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,"); sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
sb.append(" r4.impsubtotal as valortotal,"); sb.append(" to_number(r4.impsubtotal)/100 as valortotal,");
sb.append(" b.numfoliosistema as numfoliosistema"); sb.append(" b.numfoliosistema as numfoliosistema,");
sb.append(" 0 as caja_id");
sb.append(" from fiscal_r4 r4"); sb.append(" from fiscal_r4 r4");
sb.append(" left join fiscal_r5 r5 on r5.numserie20 = r4.numserie20 and r5.coo = r4.coo and r5.codproduto like '%-TA'"); sb.append(" left join fiscal_r5 r5 on r5.numserie20 = r4.numserie20 and r5.coo = r4.coo and r5.codproduto like '%-TA'");
sb.append(" left join caja c on c.caja_id = r4.caja_id"); sb.append(" left join caja c on c.caja_id = r4.caja_id");
@ -1834,131 +1611,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" UNION");
try {
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery();
ExportacaoECFTipoCCF registro = null;
while (rs.next()) {
BigDecimal valorTarifa = BigDecimal.ZERO;
if (rs.getString("valortarifa") != null) {
valorTarifa = BigDecimal.valueOf(Double.valueOf(rs.getString("valortarifa")) / 100);
} else {
valorTarifa = rs.getBigDecimal("preciopagado");
log.info("Tarifa nao encontrada na R5. (ECF: " + rs.getString("ecf") + " / DATAMOV: " + rs.getString("datamov") + " / COO: " + rs.getString("coo") + ")");
}
registro = new ExportacaoECFTipoCCF();
registro.setEcf(rs.getString("ecf"));
registro.setDataEmissao(rs.getString("datamov"));
registro.setCoo(Integer.valueOf(rs.getString("coo")));
registro.setValorServico(valorTarifa);
registro.setDescontoGlobal(null);
registro.setCodigoParticipante(null);
registro.setSituacaoCOO(0); // 0 - Documento Regular; 2 - Documento Cancelado
registro.setAcrescimo(null);
registro.setNumFolioSistema(rs.getString("numFolioSistema"));
registro.setCodigoSituacaoTribColunaB(null);
// 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
if (rs.getInt("isenta") == 1) {
registro.setCodigoSituacaoTribColunaB(40);
}
registro.setUfOrigem(rs.getString("estado_origem"));
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
registro.setUfDestino(rs.getString("estado_destino"));
// IM=5357; Serviço IE= 6357
if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
registro.setCfop(5357);
} else {
registro.setCfop(6357);
}
// 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
if (registro.getCodigoSituacaoTribColunaB() == null) {
registro.setCodigoSituacaoTribColunaB(rs.getInt("red_base_calc_icms") == 0 ? 0 : 20);
}
BigDecimal valorTotal = BigDecimal.valueOf(Double.valueOf(rs.getString("valortotal")) / 100);
BigDecimal red_base_calc_icms = rs.getBigDecimal("red_base_calc_icms");
// BigDecimal porc_red_municipal = rs.getBigDecimal("porc_red_municipal");
// BigDecimal porc_red_estadual = rs.getBigDecimal("porc_red_estadual");
BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao");
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if ("30|40|41|50|60".contains(registro.getCodigoSituacaoTribColunaB().toString())) {
tributacao_importacao = BigDecimal.ZERO;
}
if (red_base_calc_icms != null) {
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
} else {
// if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) {
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d))));
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
// }
// } else {
// if (porc_red_estadual != null) {
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d))));
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
// }
// }
// }
// Email 17/02/2017
valorBaseCalculoICMS = valorTotal;
}
if (rs.getInt("isenta") == 1) {
valorBaseCalculoICMS = null;
}
registro.setValorTotal(valorTotal);
// 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1"
registro.setTributacaoICMS(registro.getCodigoSituacaoTribColunaB() == 40 ? 2 : 1);
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
registro.setAliquotaICMS(tributacao_importacao);
retorno.add(registro);
}
rs.close();
ps.close();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return retorno;
}
@Override
public List<ExportacaoECFTipoCCF> buscarRegistroECFTipoCCF_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>();
StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, coo, sum(valortarifa) as valortarifa, sum(preciopagado) as preciopagado, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, numfoliosistema, sum(valortotal) as valortotal");
sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" imp.numserie20 as ecf,"); sb.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,"); sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000001' as coo,"); sb.append(" '000001' as coo,");
sb.append(" c.preciopagado as valortarifa,"); sb.append(" c.preciopagado as valortarifa,");
@ -1993,6 +1648,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id"); sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id");
sb.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD')");
sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1"); sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1");
sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1"); sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1");
sb.append(" and c.serieimpfiscal is not null and r4.caja_id is null"); sb.append(" and c.serieimpfiscal is not null and r4.caja_id is null");
@ -2001,16 +1657,19 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))"); sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" and c.empresacorrida_id = ?"); sb.append(" and c.empresacorrida_id = ?");
sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" ) "); sb.append(" ) ");
sb.append(" group by ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, numfoliosistema"); sb.append(" group by ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, numfoliosistema");
try { try {
PreparedStatement ps = connection.prepareStatement(sb.toString()); PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS)); ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS)); ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId)); ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado); ps.setString(4, cveestado);
ps.setString(5, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS));
ps.setString(6, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS));
ps.setLong(7, Long.valueOf(empresaId));
ps.setString(8, cveestado);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
@ -2126,6 +1785,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
List<ExportacaoECFTipoICF> retorno = new ArrayList<ExportacaoECFTipoICF>(); List<ExportacaoECFTipoICF> retorno = new ArrayList<ExportacaoECFTipoICF>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, sum(valortotal) as valortotal");
sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" r4.numserie20 as ecf,"); sb.append(" r4.numserie20 as ecf,");
sb.append(" r4.datamov as datamov,"); sb.append(" r4.datamov as datamov,");
@ -2139,7 +1800,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,"); sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
sb.append(" r4.impsubtotal as valortotal"); sb.append(" to_number(r4.impsubtotal)/100 as valortotal");
sb.append(" from fiscal_r4 r4"); sb.append(" from fiscal_r4 r4");
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov"); sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
sb.append(" join boleto b on b.boleto_id = r4.boleto_id"); sb.append(" join boleto b on b.boleto_id = r4.boleto_id");
@ -2159,168 +1820,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" order by r4.numserie20, r4.datamov"); sb.append(" UNION");
try {
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery();
ExportacaoECFTipoICF registro = null;
Map<String, ExportacaoECFTipoICF> group = new HashMap<String, ExportacaoECFTipoICF>();
while (rs.next()) {
BigDecimal valorTotal = MoneyHelper.dividir(MoneyHelper.instanciar(rs.getString("valortotal")), BigDecimal.valueOf(100d));
BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms"));
BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal"));
BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));
BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if (red_base_calc_icms != null) {
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else {
// if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) {
// BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
//
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// } else {
// if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
//
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// }
// }
// Email 17/02/2017
valorBaseCalculoICMS = valorTotal;
}
BigDecimal valorICMSDebitado = BigDecimal.ZERO;
if (tributacao_importacao != null) {
BigDecimal aTributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao);
}
BigDecimal valorICMSIsento = BigDecimal.ZERO;
BigDecimal valorICMSOutros = MoneyHelper.subtrair(valorTotal, valorBaseCalculoICMS);
String ecf = rs.getString("ecf");
String datamov = rs.getString("datamov");
String ufDestino = "";
String ufOrigem = "";
Integer municipioOrigem = 0;
Integer cfop = 0; // IM=5357; Serviço IE= 6357
// 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
Integer codigoSituacaoTribColunaB = null;
if (rs.getInt("isenta") == 1) {
codigoSituacaoTribColunaB = 40;
valorICMSOutros = valorTotal;
}
ufDestino = rs.getString("estado_destino");
ufOrigem = rs.getString("estado_origem");
municipioOrigem = rs.getInt("municipio_origem");
// IM=5357; Serviço IE= 6357
if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
cfop = 5357;
} else {
cfop = 6357;
}
// 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
if (codigoSituacaoTribColunaB == null) {
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();
if (group.containsKey(key)) {
registro = group.get(key);
valorTotal = MoneyHelper.somar(valorTotal, registro.getValorTotal());
valorBaseCalculoICMS = MoneyHelper.somar(valorBaseCalculoICMS, registro.getValorBaseCalculoICMS());
valorICMSDebitado = MoneyHelper.somar(valorICMSDebitado, registro.getValorICMSDebitado());
valorICMSIsento = MoneyHelper.somar(valorICMSIsento, registro.getValorICMSIsento());
valorICMSOutros = MoneyHelper.somar(valorICMSOutros, registro.getValorICMSOutros());
} else {
registro = new ExportacaoECFTipoICF();
registro.setEcf(ecf);
registro.setDataEmissao(datamov);
registro.setUfDestino(ufDestino);
registro.setCfop(cfop); // IM=5357; Serviço IE= 6357
registro.setCodigoSituacaoTribColunaB(codigoSituacaoTribColunaB); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
registro.setAliquotaICMS(tributacao_importacao);
registro.setUfOrigem(ufOrigem);
registro.setMunicipioOrigem(municipioOrigem);
registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
registro.setRedutorMunicipalIcms(porc_red_municipal);
registro.setRedutorEstadualIcms(porc_red_estadual);
group.put(key, registro);
}
registro.setValorTotal(valorTotal);
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
registro.setValorICMSDebitado(valorICMSDebitado);
registro.setValorICMSIsento(valorICMSIsento);
registro.setValorICMSOutros(valorICMSOutros);
}
for (Map.Entry<String, ExportacaoECFTipoICF> entry : group.entrySet()) {
retorno.add(entry.getValue());
}
rs.close();
ps.close();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return retorno;
}
@Override
public List<ExportacaoECFTipoICF> buscarRegistroECFTipoICF_Boleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoECFTipoICF> retorno = new ArrayList<ExportacaoECFTipoICF>();
StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta, sum(valortotal) as valortotal");
sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" imp.numserie20 as ecf,"); sb.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,"); sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000001' as coo,"); sb.append(" '000001' as coo,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
@ -2351,6 +1853,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id"); sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id");
sb.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD')");
sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1"); sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1");
sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1"); sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1");
sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))"); sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))");
@ -2359,17 +1862,20 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))"); sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" and c.empresacorrida_id = ?"); sb.append(" and c.empresacorrida_id = ?");
sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" order by to_char(c.feccreacion, 'YYYYMMDD')");
sb.append(" )"); sb.append(" )");
sb.append(" group by ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta"); sb.append(" group by ecf, datamov, coo, municipio_origem, estado_origem, municipio_destino, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, isenta");
sb.append(" order by ecf, datamov");
try { try {
PreparedStatement ps = connection.prepareStatement(sb.toString()); PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS)); ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS)); ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId)); ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado); ps.setString(4, cveestado);
ps.setString(5, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS));
ps.setString(6, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS));
ps.setLong(7, Long.valueOf(empresaId));
ps.setString(8, cveestado);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
@ -2525,7 +2031,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal"); sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal");
sb.append(" from ("); sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" r4.coo as coo,"); sb.append(" r4.coo as coo,");
sb.append(" r4.numserie20 as ecf,"); sb.append(" r4.numserie20 as ecf,");
@ -2537,7 +2042,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
sb.append(" r4.impsubtotal as valortotal"); sb.append(" to_number(r4.impsubtotal)/100 as valortotal,");
sb.append(" 0 as caja_id");
sb.append(" from fiscal_r4 r4"); sb.append(" from fiscal_r4 r4");
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov"); sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
sb.append(" join boleto b on b.boleto_id = r4.boleto_id"); sb.append(" join boleto b on b.boleto_id = r4.boleto_id");
@ -2557,131 +2063,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" UNION");
sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao");
Session session = null;
try {
session = getSessionFactory().openSession();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery();
ExportacaoECFTipoPRC registro = null;
Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>();
while (rs.next()) {
BigDecimal valorTotal = MoneyHelper.dividir(MoneyHelper.instanciar(rs.getString("valortotal")), BigDecimal.valueOf(100d));
BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms"));
// BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal"));
// BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));
BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if (tributacao_importacao != null) {
tributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
}
if (red_base_calc_icms != null) {
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else {
// if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) {
// BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
//
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// } else {
// if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
//
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// }
// }
// }
// Email 17/02/2017
valorBaseCalculoICMS = valorTotal;
}
BigDecimal valorICMS = BigDecimal.ZERO;
if (tributacao_importacao != null) {
valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, tributacao_importacao);
}
String key = rs.getString("ecf") + "|" + rs.getString("datamov") + "|" + rs.getString("estado_origem") + "|" + rs.getString("municipio_origem");
if (group.containsKey(key)) {
registro = group.get(key);
registro.setValorTotal(MoneyHelper.somar(registro.getValorTotal(), valorTotal));
registro.setValorBaseCalculoICMS(MoneyHelper.somar(registro.getValorBaseCalculoICMS(), valorBaseCalculoICMS));
registro.setValorICMS(MoneyHelper.somar(registro.getValorICMS(), valorICMS));
} else {
registro = new ExportacaoECFTipoPRC();
registro.setEcf(rs.getString("ecf"));
registro.setDataEmissao(rs.getString("datamov"));
registro.setUfOrigem(rs.getString("estado_origem"));
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
registro.setValorTotal(valorTotal);
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
registro.setValorICMS(valorICMS);
registro.setTributacao(tributacao_importacao);
}
group.put(key, registro);
}
for (Map.Entry<String, ExportacaoECFTipoPRC> entry : group.entrySet()) {
retorno.add(entry.getValue());
}
rs.close();
ps.close();
}
});
} catch (Exception e) {
log.error(e.getMessage(), e);
} finally {
session.close();
}
return retorno;
}
@Override
public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC_Boleto(final Connection conn, final Date inicio, final Date fim, final Integer empresaId, final String cveestado) {
final List<ExportacaoECFTipoPRC> retorno = new ArrayList<ExportacaoECFTipoPRC>();
final StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal");
sb.append(" from (");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" '000001' as coo,"); sb.append(" '000001' as coo,");
sb.append(" imp.numserie20 as ecf,"); sb.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,"); sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
@ -2710,6 +2095,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join estado eds on eds.estado_id = cds.estado_id"); sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id"); sb.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id");
sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id"); sb.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id");
sb.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD')");
sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1"); sb.append(" where c.activo = 1 and s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1");
sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1"); sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1");
sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))"); sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))");
@ -2718,7 +2104,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))"); sb.append(" and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" and c.empresacorrida_id = ?"); sb.append(" and c.empresacorrida_id = ?");
sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao"); sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao");
Session session = null; Session session = null;
@ -2730,10 +2115,14 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
@Override @Override
public void execute(Connection connection) throws SQLException { public void execute(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(sb.toString()); PreparedStatement ps = connection.prepareStatement(sb.toString());
ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS)); ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS)); ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId)); ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado); ps.setString(4, cveestado);
ps.setString(5, DateUtil.getStringDate(inicio, DATE_FORMAT_DMYHMS));
ps.setString(6, DateUtil.getStringDate(fim, DATE_FORMAT_DMYHMS));
ps.setLong(7, Long.valueOf(empresaId));
ps.setString(8, cveestado);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
@ -2744,10 +2133,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
while (rs.next()) { while (rs.next()) {
BigDecimal valorTotal = MoneyHelper.instanciar(rs.getString("valortotal")); BigDecimal valorTotal = MoneyHelper.instanciar(rs.getString("valortotal"));
if (valorTotal.doubleValue() == 0) {
continue;
}
BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms")); BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms"));
// BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal")); // BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal"));
// BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual")); // BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));

View File

@ -903,14 +903,9 @@ public class FiscalServiceImpl implements FiscalService {
// CFC // CFC
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
log.info("Buscando os registros CFC (ECF)");
List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = new ArrayList<ExportacaoECFTipoCFC>(0); List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = new ArrayList<ExportacaoECFTipoCFC>(0);
// listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado())); log.info("Buscando os registros CFC (ECF)");
// log.info("Total de registros: " + listaRegistroECFTipoCFC.size()); listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
// log.info("Buscando os registros CFC via Boletos (ECF)");
// listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFC_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
// log.info("Total de registros: " + listaRegistroECFTipoCFC.size());
listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFCHibrido(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoCFC.size()); log.info("Total de registros: " + listaRegistroECFTipoCFC.size());
tempo = infoTempo("CFC", begin); tempo = infoTempo("CFC", begin);
log.info("Tempo na busca dos registros " + tempo); log.info("Tempo na busca dos registros " + tempo);
@ -918,39 +913,30 @@ public class FiscalServiceImpl implements FiscalService {
// CCF // CCF
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
log.info("Buscando os registros CCF (ECF)");
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = new ArrayList<ExportacaoECFTipoCCF>(0); List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = new ArrayList<ExportacaoECFTipoCCF>(0);
log.info("Buscando os registros CCF (ECF)");
listaRegistroECFTipoCCF.addAll(fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado())); listaRegistroECFTipoCCF.addAll(fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoCCF.size()); log.info("Total de registros: " + listaRegistroECFTipoCCF.size());
log.info("Buscando os registros CCF via Boletos (ECF)");
listaRegistroECFTipoCCF.addAll(fiscalDAO.buscarRegistroECFTipoCCF_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoCCF.size());
tempo = infoTempo("CCF", begin); tempo = infoTempo("CCF", begin);
log.info("Tempo na busca dos registros " + tempo); log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo); tempos.add(tempo);
// ICF // ICF
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
log.info("Buscando os registros ICF (ECF)");
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = new ArrayList<ExportacaoECFTipoICF>(0); List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = new ArrayList<ExportacaoECFTipoICF>(0);
log.info("Buscando os registros ICF (ECF)");
listaRegistroECFTipoICF.addAll(fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado())); listaRegistroECFTipoICF.addAll(fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoICF.size()); log.info("Total de registros: " + listaRegistroECFTipoICF.size());
log.info("Buscando os registros ICF via Boletos (ECF)");
listaRegistroECFTipoICF.addAll(fiscalDAO.buscarRegistroECFTipoICF_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoICF.size());
tempo = infoTempo("ICF", begin); tempo = infoTempo("ICF", begin);
log.info("Tempo na busca dos registros " + tempo); log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo); tempos.add(tempo);
// PRC // PRC
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
log.info("Buscando os registros PRC (ECF)");
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = new ArrayList<ExportacaoECFTipoPRC>(0); List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = new ArrayList<ExportacaoECFTipoPRC>(0);
log.info("Buscando os registros PRC (ECF)");
listaRegistroECFTipoPRC.addAll(fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado())); listaRegistroECFTipoPRC.addAll(fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoPRC.size()); log.info("Total de registros: " + listaRegistroECFTipoPRC.size());
log.info("Buscando os registros PRC via Boletos (ECF)");
listaRegistroECFTipoPRC.addAll(fiscalDAO.buscarRegistroECFTipoPRC_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoPRC.size());
tempo = infoTempo("PRC", begin); tempo = infoTempo("PRC", begin);
log.info("Tempo na busca dos registros " + tempo); log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo); tempos.add(tempo);