julio 2017-08-29 21:37:05 +00:00
parent 83e9131eb5
commit eb0458181c
1 changed files with 31 additions and 183 deletions

View File

@ -3795,6 +3795,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append("from caja b "); sql.append("from caja b ");
sql.append(" join marca m on b.marca_id = m.marca_id "); sql.append(" join marca m on b.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id "); sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join aidf a on a.aidf_id = b.aidf_id ");
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id "); sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id ");
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id "); sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
sql.append(" join estado ee on ee.estado_id = ce.estado_id "); sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
@ -3813,7 +3814,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id ");
sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id ");
sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
sql.append(" left join aidf a on a.aidf_id = b.aidf_id ");
sql.append(" left join estado ae on ae.estado_id = a.estado_id "); sql.append(" left join estado ae on ae.estado_id = a.estado_id ");
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
sql.append(" and ie.estado_id = coalesce(ae.estado_id, eo.estado_id) and ie.activo = 1 "); sql.append(" and ie.estado_id = coalesce(ae.estado_id, eo.estado_id) and ie.activo = 1 ");
@ -3967,17 +3967,17 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); sql.append(" coalesce(b.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(b.importeseguro, 0) as seguro, "); sql.append(" coalesce(b.importeseguro, 0) as seguro, ");
sql.append(" coalesce(b.importeoutros, 0) as outros, "); sql.append(" coalesce(b.importeoutros, 0) as outros, ");
sql.append(" case when r2.numserie20 is null then 'X' else imp.numserie20 end as ecf, "); sql.append(" coalesce(r2.numserie20, imp.numserie20) as ecf, ");
sql.append(" to_char(b.feccreacion, 'YYYYMMDD') as datamov, "); sql.append(" to_char(b.feccreacion, 'YYYYMMDD') as datamov, ");
sql.append(" case when r2.numserie20 is null then '000000' else r4.coo end as coo, "); sql.append(" case when r2.numserie20 is null then '1' else r2.coo end as coo, ");
sql.append(" case when r2.numserie20 is null then '000000' else r4.contador end as ccf, "); sql.append(" '000000' as ccf, ");
sql.append(" r4.impsubtotal as totalFiscal, "); sql.append(" null as totalFiscal, ");
sql.append(" case when r2.numserie20 is null then '000000' else r2.coo end as cooredz, "); sql.append(" case when r2.numserie20 is null then '1' else r2.coo end as cooredz, ");
sql.append(" epv.cveestado as estadoImpressora "); sql.append(" epv.cveestado as estadoImpressora ");
sql.append("from caja b "); sql.append("from caja b ");
sql.append(" left join fiscal_impressora imp on imp.numserie = b.serieimpfiscal "); sql.append(" join fiscal_impressora imp on imp.numserie = b.serieimpfiscal ");
sql.append(" left join fiscal_r4 r4 on b.caja_id = r4.caja_id ");
sql.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(b.feccreacion, 'YYYYMMDD') "); sql.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(b.feccreacion, 'YYYYMMDD') ");
sql.append(" left join fiscal_r4 r4 on b.caja_id = r4.caja_id ");
sql.append(" join marca m on b.marca_id = m.marca_id "); sql.append(" join marca m on b.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id "); sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id "); sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
@ -4009,7 +4009,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
sql.append(" left join aidf a on a.aidf_id = b.aidf_id "); sql.append(" left join aidf a on a.aidf_id = b.aidf_id ");
sql.append("where b.tipoventa_id <> 3 "); sql.append("where b.tipoventa_id <> 3 ");
sql.append(" and b.serieimpfiscal is not null and r4.caja_id is null"); sql.append(" and b.serieimpfiscal is not null and r4.caja_id is null ");
sql.append(" and ((b.indreimpresion = 0 and b.motivocancelacion_id is null and b.numfoliosistema is not null) or (b.indstatusboleto = 'E' and b.indreimpresion = 1)) "); sql.append(" and ((b.indreimpresion = 0 and b.motivocancelacion_id is null and b.numfoliosistema is not null) or (b.indstatusboleto = 'E' and b.indreimpresion = 1)) ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM ");
@ -4067,10 +4067,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" b.rmd_id as rmd_id, "); sql.append(" b.rmd_id as rmd_id, ");
sql.append(" b.foliormd as foliormd "); sql.append(" b.foliormd as foliormd ");
sql.append("from caja b "); sql.append("from caja b ");
sql.append(isECF ? " left " : " inner ").append(" join fiscal_r4 r4 on b.caja_id = r4.caja_id ");
sql.append(isECF ? " join fiscal_r4 r4 on b.caja_id = r4.caja_id " : "");
sql.append(isECF ? " join fiscal_r2 r2 on r4.numserie20 = r2.numserie20 and r4.datamov = r2.datamov " : ""); sql.append(isECF ? " join fiscal_r2 r2 on r4.numserie20 = r2.numserie20 and r4.datamov = r2.datamov " : "");
sql.append(" inner join marca m on b.marca_id = m.marca_id "); sql.append(" inner join marca m on b.marca_id = m.marca_id ");
sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); sql.append(" inner join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id "); sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id ");
@ -4119,6 +4117,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
List<DetalhadoFiscal> list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false); List<DetalhadoFiscal> list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false);
list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true)); list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true));
List<FiscalRdi> rdis = calcularRelatorioRDI(list, isReceitaTerceiros); List<FiscalRdi> rdis = calcularRelatorioRDI(list, isReceitaTerceiros);
@ -4312,11 +4311,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
NamedParameterStatement ps = new NamedParameterStatement(connection, sql); NamedParameterStatement ps = new NamedParameterStatement(connection, sql);
ps.setLong("EMPRESA_ID", Long.valueOf(empresaId)); ps.setLong("EMPRESA_ID", Long.valueOf(empresaId));
if (!isCancelados) {
ps.setString("STR_INICIO", DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
ps.setString("STR_FIM", DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
}
ps.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); ps.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
ps.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); ps.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
@ -4403,10 +4397,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); sql.append(" coalesce(b.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(b.importeseguro, 0) as seguro, "); sql.append(" coalesce(b.importeseguro, 0) as seguro, ");
sql.append(" coalesce(b.importeoutros, 0) as outros, "); sql.append(" coalesce(b.importeoutros, 0) as outros, ");
sql.append(" r4.datamov as datamov "); sql.append(" to_char(trunc(b.feccreacion), 'yyyymmdd') as datamov ");
sql.append("from fiscal_r4 r4 "); sql.append("from caja b ");
sql.append(" join fiscal_r2 r2 on r4.numserie20 = r2.numserie20 and r4.datamov = r2.datamov ");
sql.append(" join caja b on b.caja_id = r4.caja_id ");
sql.append(" join marca m on b.marca_id = m.marca_id "); sql.append(" join marca m on b.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id "); sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join parada po on po.parada_id = b.origen_id "); sql.append(" join parada po on po.parada_id = b.origen_id ");
@ -4428,16 +4420,22 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 "); sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 ");
sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id "); sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
sql.append("where b.tipoventa_id <> 3 "); sql.append("where ((b.serieimpfiscal is not null and b.tipoventa_id <> 3) or b.tipoventa_id = 3 ) ");
sql.append(" and b.indcancelacion = 0 ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and r4.datamov between :STR_INICIO and :STR_FIM "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) ");
sql.append(" "); sql.append("order by estadoId, isInterEstadual ");
sql.append("union ");
sql.append(" "); return sql.toString();
}
private String sqlRelatorioRDICancelados(String ufs) {
StringBuilder sql = new StringBuilder();
sql.append("select "); sql.append("select ");
sql.append(" b.caja_id as cajaId, "); sql.append(" b.caja_id as cajaId, ");
sql.append(" 'REC' as tipoReceita, "); sql.append(" 'DEV' as tipoReceita, ");
sql.append(" b.numoperacion as numoperacion, "); sql.append(" b.numoperacion as numoperacion, ");
sql.append(" trunc(b.feccreacion) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
@ -4471,8 +4469,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append("from caja b "); sql.append("from caja b ");
sql.append(" join marca m on b.marca_id = m.marca_id "); sql.append(" join marca m on b.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id "); sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
sql.append(" join parada po on po.parada_id = b.origen_id "); sql.append(" join parada po on po.parada_id = b.origen_id ");
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id "); sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id ");
sql.append(" join estado eo on eo.estado_id = co.estado_id "); sql.append(" join estado eo on eo.estado_id = co.estado_id ");
@ -4490,10 +4486,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 "); sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 ");
sql.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id "); sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
sql.append("where b.tipoventa_id = 3 "); sql.append("where ((b.serieimpfiscal is not null and b.tipoventa_id <> 3) or b.tipoventa_id = 3 ) ");
sql.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') "); sql.append(" and b.motivocancelacion_id in (31,32,10,37,99,36) ");
sql.append(" and b.indcancelacion = 1 ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) ");
@ -4501,153 +4498,4 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
return sql.toString(); return sql.toString();
} }
private String sqlRelatorioRDICancelados(String ufs) {
StringBuilder sql = new StringBuilder();
sql.append("select ");
sql.append(" caj.caja_id as cajaId, ");
sql.append(" 'DEV' as tipoReceita, ");
sql.append(" caj.numoperacion as numoperacion, ");
sql.append(" trunc(caj.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, ");
sql.append(" coalesce(eos.cveestado, eo.cveestado) as estadoOrigem, ");
sql.append(" coalesce(eds.cveestado, ed.cveestado) as estadoDestino, ");
sql.append(" coalesce(cos.codibge, co.codibge) as municipioOrigem, ");
sql.append(" case when((coalesce(eos.cveestado, eo.cveestado)) = ");
sql.append(" (coalesce(eds.cveestado, ed.cveestado))) then 0 else 1 end as isInterEstadual, ");
sql.append(" ei.porcredbaseicms as redBaseCalcIcms, ");
sql.append(" ei.porcredmunicipal as porcRedMunicipal, ");
sql.append(" ei.porcredestadual as porcRedEstadual, ");
sql.append(" coalesce(ei.indtarifamunicipal, 0) as indtarifamunicipal, ");
sql.append(" coalesce(ei.indseguromunicipal, 0) as indseguromunicipal, ");
sql.append(" coalesce(ei.indtxembarquemunicipal, 0) as indtxembarquemunicipal, ");
sql.append(" coalesce(ei.indpedagiomunicipal, 0) as indpedagiomunicipal, ");
sql.append(" coalesce(ei.indtarifaestadual, 0) as indtarifaestadual, ");
sql.append(" coalesce(ei.indseguroestadual, 0) as indseguroestadual, ");
sql.append(" coalesce(ei.indtxembarqueestadual, 0) as indtxembarqueestadual, ");
sql.append(" coalesce(ei.indpedagioestdual, 0) as indpedagioestdual, ");
sql.append(" ei.tributacaoimportacao as tributacaoImportacao, ");
sql.append(" case when (coalesce(pos.regionmetropolitana_id, po.regionmetropolitana_id, -1) = ");
sql.append(" coalesce(pds.regionmetropolitana_id, pd.regionmetropolitana_id, -2)) then 1 else 0 end as isenta, ");
sql.append(" coalesce(caj.preciopagado, 0) as tarifa, ");
sql.append(" coalesce(caj.importetaxaembarque, 0) as taxaEmbarque, ");
sql.append(" coalesce(caj.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(caj.importeseguro, 0) as seguro, ");
sql.append(" coalesce(caj.importeoutros, 0) as outros, ");
sql.append(" r4.datamov as datamov ");
sql.append("from caja caj ");
sql.append(" inner join caja cajb on (((cajb.feccorrida = caj.feccorrida) or (cajb.feccorrida is null and caj.feccorrida is null)) ");
sql.append(" and ((cajb.numasiento = caj.numasiento) or (cajb.numasiento is null and caj.numasiento is null)) ");
sql.append(" and cajb.numfoliosistema = caj.numfoliosistema and cajb.origen_id = caj.origen_id and cajb.destino_id=caj.destino_id ");
sql.append(" and ((cajb.tipoventa_id not in (5,12,18,81,41,49) ");
sql.append(" and (cajb.indstatusboleto = 'V' or (cajb.indstatusboleto = 'T' and cajb.indreimpresion=0) )) ");
sql.append(" or (cajb.tipoventa_id in (5,12,18,81,41,49) and cajb.indstatusboleto = 'E')) ) ");
sql.append(" inner join fiscal_r4 r4 on r4.caja_id = cajb.caja_id ");
sql.append(" join fiscal_r2 r2 on r4.numserie20 = r2.numserie20 and r4.datamov = r2.datamov ");
sql.append(" join marca m on caj.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join parada po on po.parada_id = caj.origen_id ");
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id ");
sql.append(" join estado eo on eo.estado_id = co.estado_id ");
sql.append(" join parada pd on pd.parada_id = caj.destino_id ");
sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id ");
sql.append(" join estado ed on ed.estado_id = cd.estado_id ");
sql.append(" left join alias_servico s on s.origen_id = caj.origen_id ");
sql.append(" and s.destino_id = caj.destino_id and (s.corrida_id = caj.corrida_id or s.corrida_id is null) ");
sql.append(" and s.ruta_id = caj.ruta_id ");
sql.append(" left join parada pos on pos.parada_id = s.aliasorigen_id ");
sql.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id ");
sql.append(" left join estado eos on eos.estado_id = cos.estado_id ");
sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id ");
sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id ");
sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 ");
sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
sql.append("where caj.tipoventa_id <> 3 ");
sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and caj.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) ");
sql.append(" and caj.indcancelacion = 1 ");
sql.append(" and caj.indstatusboleto = 'C' ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) ");
sql.append(" ");
sql.append("union ");
sql.append(" ");
sql.append("select ");
sql.append(" caj.caja_id as cajaId, ");
sql.append(" 'DEV' as tipoReceita, ");
sql.append(" caj.numoperacion as numoperacion, ");
sql.append(" trunc(caj.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, ");
sql.append(" coalesce(eos.cveestado, eo.cveestado) as estadoOrigem, ");
sql.append(" coalesce(eds.cveestado, ed.cveestado) as estadoDestino, ");
sql.append(" coalesce(cos.codibge, co.codibge) as municipioOrigem, ");
sql.append(" case when((coalesce(eos.cveestado, eo.cveestado)) = ");
sql.append(" (coalesce(eds.cveestado, ed.cveestado))) then 0 else 1 end as isInterEstadual, ");
sql.append(" ei.porcredbaseicms as redBaseCalcIcms, ");
sql.append(" ei.porcredmunicipal as porcRedMunicipal, ");
sql.append(" ei.porcredestadual as porcRedEstadual, ");
sql.append(" coalesce(ei.indtarifamunicipal, 0) as indtarifamunicipal, ");
sql.append(" coalesce(ei.indseguromunicipal, 0) as indseguromunicipal, ");
sql.append(" coalesce(ei.indtxembarquemunicipal, 0) as indtxembarquemunicipal, ");
sql.append(" coalesce(ei.indpedagiomunicipal, 0) as indpedagiomunicipal, ");
sql.append(" coalesce(ei.indtarifaestadual, 0) as indtarifaestadual, ");
sql.append(" coalesce(ei.indseguroestadual, 0) as indseguroestadual, ");
sql.append(" coalesce(ei.indtxembarqueestadual, 0) as indtxembarqueestadual, ");
sql.append(" coalesce(ei.indpedagioestdual, 0) as indpedagioestdual, ");
sql.append(" ei.tributacaoimportacao as tributacaoImportacao, ");
sql.append(" case when (coalesce(pos.regionmetropolitana_id, po.regionmetropolitana_id, -1) = ");
sql.append(" coalesce(pds.regionmetropolitana_id, pd.regionmetropolitana_id, -2)) then 1 else 0 end as isenta, ");
sql.append(" coalesce(caj.preciopagado, 0) as tarifa, ");
sql.append(" coalesce(caj.importetaxaembarque, 0) as taxaEmbarque, ");
sql.append(" coalesce(caj.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(caj.importeseguro, 0) as seguro, ");
sql.append(" coalesce(caj.importeoutros, 0) as outros, ");
sql.append(" to_char(trunc(caj.feccreacion), 'yyyymmdd') as datamov ");
sql.append("from caja caj ");
sql.append(" inner join caja cajb on (((cajb.feccorrida = caj.feccorrida) or (cajb.feccorrida is null and caj.feccorrida is null)) ");
sql.append(" and ((cajb.numasiento = caj.numasiento) or (cajb.numasiento is null and caj.numasiento is null)) ");
sql.append(" and cajb.numfoliosistema = caj.numfoliosistema and cajb.origen_id = caj.origen_id and cajb.destino_id=caj.destino_id ");
sql.append(" and ((cajb.tipoventa_id not in (5,12,18,81,41,49) ");
sql.append(" and (cajb.indstatusboleto = 'V' or (cajb.indstatusboleto = 'T' and cajb.indreimpresion=0) )) ");
sql.append(" or (cajb.tipoventa_id in (5,12,18,81,41,49) and cajb.indstatusboleto = 'E')) ) ");
sql.append(" join marca m on caj.marca_id = m.marca_id ");
sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" join parada po on po.parada_id = caj.origen_id ");
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id ");
sql.append(" join estado eo on eo.estado_id = co.estado_id ");
sql.append(" join parada pd on pd.parada_id = caj.destino_id ");
sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id ");
sql.append(" join estado ed on ed.estado_id = cd.estado_id ");
sql.append(" left join alias_servico s on s.origen_id = caj.origen_id ");
sql.append(" and s.destino_id = caj.destino_id and (s.corrida_id = caj.corrida_id or s.corrida_id is null) ");
sql.append(" and s.ruta_id = caj.ruta_id ");
sql.append(" left join parada pos on pos.parada_id = s.aliasorigen_id ");
sql.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id ");
sql.append(" left join estado eos on eos.estado_id = cos.estado_id ");
sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id ");
sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id ");
sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 ");
sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
sql.append("where cajb.tipoventa_id <> 3 ");
sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and caj.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) ");
sql.append(" and caj.indcancelacion = 1 ");
sql.append(" and caj.indstatusboleto = 'C' ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) ");
sql.append("order by estadoId, isInterEstadual ");
return sql.toString();
}
} }