diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index cb7445524..e472079e7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -3795,6 +3795,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append("from caja b "); 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 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 ciudad ce on ce.ciudad_id = e.ciudad_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 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 aidf a on a.aidf_id = b.aidf_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(" 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.importeseguro, 0) as seguro, "); 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(" case when r2.numserie20 is null then '000000' else r4.coo end as coo, "); - sql.append(" case when r2.numserie20 is null then '000000' else r4.contador end as ccf, "); - sql.append(" r4.impsubtotal 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 coo, "); + sql.append(" '000000' as ccf, "); + sql.append(" null as totalFiscal, "); + sql.append(" case when r2.numserie20 is null then '1' else r2.coo end as cooredz, "); sql.append(" epv.cveestado as estadoImpressora "); sql.append("from caja b "); - sql.append(" left 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(" join fiscal_impressora imp on imp.numserie = b.serieimpfiscal "); 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 empresa e on e.empresa_id = m.empresa_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(" left join aidf a on a.aidf_id = b.aidf_id "); 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 e.empresa_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); @@ -4029,8 +4029,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" b.numseriepreimpresa as serieCompl, "); sql.append(" b.numfoliopreimpreso as folio, "); sql.append(" a.acfiscal as numAidf, "); - sql.append(" a.serie as serieAidf, "); - sql.append(" a.subserie as subSerieAidf, "); + sql.append(" a.serie as serieAidf, "); + sql.append(" a.subserie as subSerieAidf, "); sql.append(" trunc(b.feccreacion) as fechorVenta, "); sql.append(" e.nombempresa as empresa, "); sql.append(" e.cnpj as cnpjEmpresa, "); @@ -4067,10 +4067,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" b.rmd_id as rmd_id, "); sql.append(" b.foliormd as foliormd "); sql.append("from caja b "); - - sql.append(isECF ? " join fiscal_r4 r4 on b.caja_id = r4.caja_id " : ""); + sql.append(isECF ? " left " : " inner ").append(" 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(" 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(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id "); @@ -4119,6 +4117,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } List list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false); + list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true)); List rdis = calcularRelatorioRDI(list, isReceitaTerceiros); @@ -4312,11 +4311,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO NamedParameterStatement ps = new NamedParameterStatement(connection, sql); 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_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.importeseguro, 0) as seguro, "); sql.append(" coalesce(b.importeoutros, 0) as outros, "); - sql.append(" r4.datamov as datamov "); - sql.append("from fiscal_r4 r4 "); - 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(" to_char(trunc(b.feccreacion), 'yyyymmdd') as datamov "); + sql.append("from caja b "); 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 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(" 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 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 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(" "); - sql.append("union "); - sql.append(" "); + sql.append("order by estadoId, isInterEstadual "); + + return sql.toString(); + } + + private String sqlRelatorioRDICancelados(String ufs) { + + StringBuilder sql = new StringBuilder(); sql.append("select "); 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(" trunc(b.feccreacion) as fechorVenta, "); 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(" 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 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 ciudad co on co.ciudad_id = po.ciudad_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(" 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 = 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("where b.tipoventa_id = 3 "); - sql.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') "); + sql.append("where ((b.serieimpfiscal is not null and b.tipoventa_id <> 3) or b.tipoventa_id = 3 ) "); + 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 b.feccreacion between :DATE_INICIO and :DATE_FIM "); 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(); } - - 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(); - } }