diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 3071e82c9..9d2a45664 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -739,7 +739,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO else sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); - // sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id "); sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id "); sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id "); @@ -2385,8 +2384,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO StringBuilder sb = new StringBuilder(); sb.append(" select distinct"); - - sb.append(" c.estado_id as codigoParticipantePar,"); + sb.append(" eof.estado_id as codigoParticipantePar,"); sb.append(" eif.codestabelecimento as codigoEstabelecimentoPar,"); sb.append(" e.nombempresa as nomeParticipante,"); sb.append(" eof.cveestado as ufParticipante,"); @@ -2397,42 +2395,41 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" ie.complemento as complemento,"); sb.append(" ie.bairro as bairro,"); sb.append(" ie.cep as cep,"); - sb.append(" cast(f.fechorfolio as date) as dataEmissaoRMD,"); - sb.append(" eo.estado_id codigoParticipante,"); + sb.append(" (case when s.aliasorigen_id is null then eo.estado_id else cos.estado_id end) as codigoParticipante,"); sb.append(" ei.codestabelecimento as codigoEstabelecimento,"); sb.append(" a.acfiscal as numeroAIDF,"); sb.append(" a.serie as serieAIDF,"); sb.append(" a.subserie as subSerieAIDF,"); sb.append(" f.folio as numeroFormularioBilheteAIDF,"); sb.append(" (case when coalesce(f.indcancelacion, 0) = 1 then 'S' else 'N' end) as documentoCancelado,"); - sb.append(" (case when co.estado_id = cd.estado_id then ei.codigocontabilmunicipal else ei.codigocontabilestadual end) as codigoContabil,"); - + sb.append(" (case when (case when s.aliasorigen_id is null then eo.estado_id else cos.estado_id end) = "); + sb.append(" (case when s.aliasorigen_id is null then cd.estado_id else cds.estado_id end) "); + sb.append(" then ei.codigocontabilmunicipal else ei.codigocontabilestadual end) as codigoContabil,"); sb.append(" b.feccreacion as dataEmissao,"); sb.append(" b.numfoliopreimpreso as numeroFormulario,"); sb.append(" r.acfiscal as numeroAIDFRMD,"); sb.append(" r.serie as serieAIDFRMD,"); sb.append(" r.subserie as subSerieAIDFRMD,"); sb.append(" b.foliormd as numeroRMD,"); - sb.append(" (case when coalesce(po.regionmetropolitana_id, -1) = coalesce(pd.regionmetropolitana_id ,-2) then 1 else 0 end) as boletoIsento,"); + sb.append(" (case when ( coalesce(case when s.aliasorigen_id is null then po.regionmetropolitana_id else pos.regionmetropolitana_id end, -1) = "); + sb.append(" coalesce(case when s.aliasorigen_id is null then pd.regionmetropolitana_id else pds.regionmetropolitana_id end, -2) ) then 1 else 0 end) as boletoIsento,"); sb.append(" (case when b.motivocancelacion_id is not null then 1 else 0 end) as boletoCancelado,"); sb.append(" b.preciopagado as valorPago,"); - - sb.append(" ed.cveestado as ufDestino,"); - sb.append(" cd.codibge as municipioDestino,"); - sb.append(" eo.cveestado as ufOrigem,"); - sb.append(" co.codibge as municipioOrigem,"); + sb.append(" (case when s.aliasorigen_id is null then ed.cveestado else eds.cveestado end) as ufDestino,"); + sb.append(" (case when s.aliasorigen_id is null then cd.codibge else cds.codibge end) as municipioDestino,"); + sb.append(" (case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end) as ufOrigem,"); + sb.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as municipioOrigem,"); sb.append(" cie.codibge as municipioOrigemPadrao,"); - sb.append(" (case when eo.cveestado = ed.cveestado then 5357 else 6357 end) as cfop,"); + sb.append(" (case when ((case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end) ="); + sb.append(" (case when s.aliasorigen_id is null then ed.cveestado else eds.cveestado end)) then 5357 else 6357 end) as cfop,"); sb.append(" ei.porcredbaseicms as reducaoBaseCalcICMS,"); sb.append(" ei.porcredmunicipal as porcReducaoMunicipal,"); sb.append(" ei.porcredestadual as porcReducaoEstadual,"); sb.append(" ei.tributacaoimportacao as tributacaoImportacao,"); - sb.append(" b.rmd_id,"); sb.append(" b.aidf_id,"); sb.append(" b.caja_id"); - sb.append(" from folio_consumo_rmd f"); sb.append(" join estado eof on eof.estado_id = f.estado_id"); sb.append(" join aidf r on r.aidf_id = f.rmd_id"); @@ -2449,9 +2446,16 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" left join ciudad cd on cd.ciudad_id = pd.ciudad_id"); sb.append(" left join estado ed on ed.estado_id = cd.estado_id"); sb.append(" left join empresa_imposto ei on ei.activo = 1 and ei.empresa_id = b.empresacorrida_id and ei.estado_id = eof.estado_id"); + sb.append(" left join alias_servico s on s.origen_id = b.origen_id and s.destino_id = b.destino_id"); + sb.append(" 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 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 aidf a on a.aidf_id = b.aidf_id"); - sb.append(" where"); - sb.append(" f.activo = 1"); + sb.append(" where f.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 "); sb.append(" and f.indinactivo = 0"); sb.append(" and f.indbpr = 1"); sb.append(" and f.fechorfolio >= to_date(?,'DD/MM/YYYY HH24:MI:SS') and f.fechorfolio <= to_date(?,'DD/MM/YYYY HH24:MI:SS')");