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

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@67970 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-04-11 21:20:21 +00:00
parent 6d03453564
commit d50a3dcbdf
1 changed files with 58 additions and 8 deletions

View File

@ -1305,7 +1305,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join parada post on post.parada_id = st.aliasorigen_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 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 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(" ) as totalvenda");
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");
@ -1376,11 +1376,50 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>(); List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
// sb.append(" select distinct");
// sb.append(" r5.numserie20 as ecf,");
// sb.append(" r5.datamov as datamov,");
// sb.append(" r5.coo as coo,");
// sb.append(" r5.imptotalliquido as valortarifa,");
// 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.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
// sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
// sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredbaseicms ELSE eis.porcredbaseicms END) as red_base_calc_icms,");
// 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.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(" r4.impsubtotal as valortotal,");
// sb.append(" b.numfoliosistema as numfoliosistema");
// sb.append(" from fiscal_r5 r5");
// sb.append(" join fiscal_r4 r4 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo");
// 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 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 parada pd on pd.parada_id = b.destino_id");
// sb.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id");
// sb.append(" join estado ed on ed.estado_id = cd.estado_id");
// sb.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = eo.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 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 parada pds on pds.parada_id = s.aliasdestino_id");
// sb.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_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(" 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 r5.codproduto like '%-TA' and r5.datamov >= ? and r5.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" select distinct"); sb.append(" select distinct");
sb.append(" r5.numserie20 as ecf,"); sb.append(" r4.numserie20 as ecf,");
sb.append(" r5.datamov as datamov,"); sb.append(" r4.datamov as datamov,");
sb.append(" r5.coo as coo,"); sb.append(" r4.coo as coo,");
sb.append(" r5.imptotalliquido as valortarifa,"); sb.append(" r5.imptotalliquido as valortarifa,");
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,");
sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,"); sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
@ -1392,8 +1431,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
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(" r4.impsubtotal as valortotal,");
sb.append(" b.numfoliosistema as numfoliosistema"); sb.append(" b.numfoliosistema as numfoliosistema");
sb.append(" from fiscal_r5 r5"); sb.append(" from fiscal_r4 r4");
sb.append(" join fiscal_r4 r4 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo"); 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(" 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");
sb.append(" join parada po on po.parada_id = b.origen_id"); sb.append(" join parada po on po.parada_id = b.origen_id");
@ -1411,7 +1451,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id"); sb.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id");
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 r5.codproduto like '%-TA' and r5.datamov >= ? and r5.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) = ?)");
try { try {
PreparedStatement ps = connection.prepareStatement(sb.toString()); PreparedStatement ps = connection.prepareStatement(sb.toString());
@ -1425,11 +1465,21 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
ExportacaoECFTipoCCF registro = null; ExportacaoECFTipoCCF registro = null;
while (rs.next()) { 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 = new ExportacaoECFTipoCCF();
registro.setEcf(rs.getString("ecf")); registro.setEcf(rs.getString("ecf"));
registro.setDataEmissao(rs.getString("datamov")); registro.setDataEmissao(rs.getString("datamov"));
registro.setCoo(Integer.valueOf(rs.getString("coo"))); registro.setCoo(Integer.valueOf(rs.getString("coo")));
registro.setValorServico(BigDecimal.valueOf(Double.valueOf(rs.getString("valortarifa")) / 100)); registro.setValorServico(valorTarifa);
registro.setDescontoGlobal(null); registro.setDescontoGlobal(null);
registro.setCodigoParticipante(null); registro.setCodigoParticipante(null);
registro.setSituacaoCOO(0); // 0 - Documento Regular; 2 - Documento Cancelado registro.setSituacaoCOO(0); // 0 - Documento Regular; 2 - Documento Cancelado