Guanabara
•	Ao Exportar o RMD ele não tá levando os bilhetes manuais com o INDSTATUSBOLETO = 'E'
•	Nos Bilhetes manuais não está levando os bilhetes de Gratuidade
•	Ao Gerar os RMD o usuário da Flávia tá ficando gravado e zerando os caixas dos bilheteiros – Erro solucionado na versão atual.
•	Os RMD's inativos e cancelados não aparecem no relatório de formulários – Os cancelados aparecem.
•	Ao entregar o bilhetes de impressão posterior, o sistema não está gravando o código AIDF no campo AIDF_ID. – Este problema não é gerado por causa da exportação de dados ou da impressão do RMD.
Holding
•	Bilhetes que não estão no ECF integrado e estão na apuração (e-mail anexo)


git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@77540 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2017-12-22 18:56:26 +00:00
parent 90699f5901
commit 205f4467b4
1 changed files with 145 additions and 238 deletions

View File

@ -96,82 +96,88 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
StringBuilder sql = new StringBuilder();
sql.append("select distinct ");
sql.append(" r4.numserie20 as numImpressora, ");
sql.append(" coalesce(r4.coo, b.numfoliopreimpreso) as coo, ");
sql.append(" b.boleto_id as boletoId, ");
sql.append(" e.empresa_id as empresaId, ");
sql.append(" e.nombempresa as empresa, ");
sql.append(" to_char(b.fechorventa, 'yyyyMMdd') as dataEmissao, ");
sql.append(" b.preciopagado as valorTotal, ");
sql.append(" co.codibge as origenId, ");
sql.append(" eo.codibge as origenUf, ");
sql.append(" cd.codibge as destinoId, ");
sql.append(" ed.codibge as destinoUf, ");
sql.append(" r5.totparcial as repTributado, ");
sql.append(" b.preciopagado as valorItem, ");
sql.append(" r5.tipopassagem as tipoPassagem, ");
sql.append(" r5.numitem as numItem, ");
sql.append(" r5.codproduto as codProduto, ");
sql.append(" b.numseriepreimpresa as serie, ");
sql.append(" eio.icms as icms, ");
sql.append(" eio.porctributo as porctributo, ");
sql.append(" eo.estado_id as estadoIdOrigen, ");
sql.append(" ed.estado_id as estadoIdDestino, ");
sql.append(" subserie as subSerie, ");
sql.append(" docfiscal as aidf, ");
sql.append(" fi.numserie as numpdv,");
sql.append(" fi.modelo as modeloImpressora,");
sql.append(" r4.usuario_id as numCaixa,");
sql.append(" case b.importetaxaembarque when 0 then null else b.importetaxaembarque ");
sql.append(" end as importetaxaembarque, ");
sql.append(" case b.importepedagio when 0 then null else b.importepedagio ");
sql.append(" end as importepedagio, ");
sql.append(" case b.importeoutros when 0 then null else b.importeoutros ");
sql.append(" end as importeoutros, ");
sql.append(" case b.importeseguro when 0 then null else b.importeseguro ");
sql.append(" end as importeseguro, ");
sql.append(" case when b.indstatusboleto = 'V' or b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status, ");
sql.append(" cs.descclase as claseServicio ");
sql.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as numImpressora, ");
sql.append(" (case when r4.caja_id is null then '000001' else r4.coo end) as coo, ");
sql.append(" r4.imptotalliquido as valorTotal, ");
sql.append(" to_char(b.feccreacion, 'yyyymmdd') as dataEmissao, ");
sql.append(" r4.cpfcnpjcliente as cnpjCliente, ");
sql.append(" b.caja_id as boletoId, ");
sql.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as origenId, ");
sql.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as origenUf, ");
sql.append(" (case when s.aliasdestino_id is null then cd.codibge else cds.codibge end) as destinoId, ");
sql.append(" (case when s.aliasdestino_id is null then cd.codibge else cds.codibge end) as destinoUf, ");
sql.append(" imp.numcnpj as cnpjImpressora, ");
sql.append(" imp.numserie as numpdv, ");
sql.append(" r5.totparcial as repTributado, ");
sql.append(" r5.imptotalliquido as valorItem, ");
sql.append(" r5.tipopassagem as tipoPassagem, ");
sql.append(" r5.numitem as numItem, ");
sql.append(" r5.codproduto as codProduto, ");
sql.append(" imp.modelo as modeloImpressora, ");
sql.append(" b.usuario_id as numCaixa, ");
sql.append(" b.preciopagado as importetarifa, ");
sql.append(" b.importetaxaembarque as importetaxaembarque, ");
sql.append(" b.importepedagio as importepedagio, ");
sql.append(" b.importeseguro as importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(imp.numcnpj, ' / - . ', ' ') as cnpjEcf, ");
sql.append(" coalesce(ei.icms, eos.icms) as impostoEstado, ");
sql.append(" case when b.indstatusboleto = 'V' or b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
if (isBoletoHist)
sql.append("from boleto_hist b ");
sql.append("from caja_hist b ");
else
sql.append("from boleto b ");
sql.append("from caja b ");
sql.append(" inner join marca m on m.marca_id = b.marca_id ");
sql.append(" inner join empresa e on e.empresa_id = m.empresa_id ");
sql.append(" left join fiscal_r4 r4 on b.boleto_id = r4.boleto_id ");
sql.append(" left outer join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 ");
sql.append(" and r4.coo = r5.coo ");
sql.append(" left outer join fiscal_impressora fi on fi.numserie20 = r4.numserie20 ");
sql.append(" left join alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" left join parada o on coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" left join ciudad co on o.ciudad_id = co.ciudad_id ");
sql.append(" left join estado eo on co.estado_id = eo.estado_id ");
sql.append(" left join empresa_imposto eio on eo.estado_id = eio.estado_id ");
sql.append(" and eio.activo = 1 ");
sql.append(" and b.marca_id = eio.empresa_id ");
sql.append(" left join parada d on coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" left join ciudad cd on d.ciudad_id = cd.ciudad_id ");
sql.append(" left join estado ed on cd.estado_id = ed.estado_id ");
sql.append(" left join aidf a on a.serie = b.numseriepreimpresa ");
sql.append(" and eo.estado_id = a.estado_id ");
sql.append(" and a.empresa_id = e.empresa_id ");
sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
sql.append("WHERE b.fechorventa BETWEEN ? AND ? ");
sql.append(" AND e.empresa_id = ? ");
sql.append(isEstadoTodos(estadoId) ? "" : " AND eo.estado_id = ? ");
sql.append(" AND b.tipoventa_id = 3 ");
sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) ");
sql.append(" left join fiscal_r4 r4 on r4.caja_id = b.caja_id ");
sql.append(" left join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo and r4.datamov = r5.datamov and r4.contador = r5.contador ");
sql.append(" left 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 clase_servicio cs on cs.claseservicio_id = b.claseservicio_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 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 ");
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 ");
sql.append(" join parada pd on pd.parada_id = b.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 = b.origen_id ");
sql.append(" and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) ");
sql.append(" and s.ruta_id = b.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(" 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, eos.estado_id) and ie.activo = 1 ");
sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id ");
sql.append(" join estado eie on eie.estado_id = cie.estado_id ");
sql.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id ");
sql.append(" and ei.estado_id = coalesce(ae.estado_id, eos.estado_id) and ei.activo = 1 ");
sql.append("where ((b.tipoventa_id = 3 and b.indstatusboleto = 'V' and b.indreimpresion = 0) ");
sql.append(" or (a.aidftipo_id = 2 and b.indstatusboleto = 'E')) ");
sql.append(" and (b.motivocancelacion_id is null or b.motivocancelacion_id <> 35) ");
sql.append(" and b.indcancelacion = 0 ");
sql.append(" and b.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') and b.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" and b.empresacorrida_id = ? ");
sql.append(isEstadoTodos(estadoId) ? "" : " and coalesce(ae.estado_id, eos.estado_id) = ? ");
sql.append("ORDER BY dataEmissao, coo, modeloImpressora ");
List<ImportacionManualFiscalVO> listManuais = new ArrayList<ImportacionManualFiscalVO>();
stmt = connection.prepareStatement(sql.toString());
stmt.setFetchSize(100);
stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00");
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59");
stmt.setInt(3, empresaId);
if (!isEstadoTodos(estadoId))
@ -559,7 +565,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, cajb.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE caj.fechorventa BETWEEN :DATE_INICIO AND :DATE_FIM ");
sql.append(" WHERE caj.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') and caj.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" and me.empresa_id = :EMPRESA_ID ");
sql.append(isEstadoTodos ? "" : " AND eo.estado_id = :ESTADO_ID ");
sql.append(" and caj.motivocancelacion_id IN (31,32,10,37,99,36) ");
@ -576,172 +582,73 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
private String sqlFiscaisECF(boolean isEstadoTodos, boolean isBoletoHist) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT numImpressora, ");
sql.append(" coo, ");
sql.append(" valorTotal, ");
sql.append(" dataEmissao, ");
sql.append(" cnpjCliente, ");
sql.append(" boletoId, ");
sql.append(" empresaId, ");
sql.append(" origenId, ");
sql.append(" origenUf, ");
sql.append(" destinoId, ");
sql.append(" destinoUf, ");
sql.append(" cnpjImpressora, ");
sql.append(" numpdv, ");
sql.append(" repTributado, ");
sql.append(" valorItem, ");
sql.append(" tipoPassagem, ");
sql.append(" numItem, ");
sql.append(" tipoPassagem, ");
sql.append(" numItem, ");
sql.append(" codProduto, ");
sql.append(" modeloImpressora, ");
sql.append(" numCaixa, ");
sql.append(" importetarifa, ");
sql.append(" importetaxaembarque, ");
sql.append(" importepedagio, ");
sql.append(" importeseguro, ");
sql.append(" claseServicio, ");
sql.append(" cnpjEcf, ");
sql.append(" impostoEstado, ");
sql.append(" status, ");
sql.append(" indcancelamento ");
sql.append(" ");
sql.append("FROM (SELECT r4.numserie20 AS numImpressora, ");
sql.append(" r4.coo AS coo, ");
sql.append(" r4.imptotalliquido AS valorTotal, ");
sql.append(" r4.datamov AS dataEmissao, ");
sql.append(" r4.cpfcnpjcliente AS cnpjCliente, ");
sql.append(" b.boleto_id AS boletoId, ");
sql.append(" m.empresa_id AS empresaId, ");
sql.append(" co.codibge AS origenId, ");
sql.append(" eo.codibge AS origenUf, ");
sql.append(" cd.codibge AS destinoId, ");
sql.append(" ed.codibge AS destinoUf, ");
sql.append(" fi.numcnpj AS cnpjImpressora, ");
sql.append(" fi.numserie AS numpdv, ");
sql.append(" r5.totparcial AS repTributado, ");
sql.append(" r5.imptotalliquido AS valorItem, ");
sql.append(" r5.tipopassagem AS tipoPassagem, ");
sql.append(" r5.numitem AS numItem, ");
sql.append(" r5.codproduto AS codProduto, ");
sql.append(" fi.modelo AS modeloImpressora, ");
sql.append(" r4.usuario_id AS numCaixa, ");
sql.append(" b.preciopagado AS importetarifa, ");
sql.append(" b.importetaxaembarque AS importetaxaembarque, ");
sql.append(" b.importepedagio AS importepedagio, ");
sql.append(" b.importeseguro AS importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') AS cnpjEcf, ");
sql.append(" ei.icms AS impostoEstado, ");
sql.append(" 'N' AS status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
sql.append(" FROM fiscal_r4 r4 ");
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 ");
sql.append(" AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov ");
sql.append(" AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
sql.append("select distinct ");
sql.append(" (case when r2.numserie20 is null then 'X' else '' end) || imp.numserie20 as numImpressora, ");
sql.append(" (case when r4.caja_id is null then '000001' else r4.coo end) as coo, ");
sql.append(" r4.imptotalliquido as valorTotal, ");
sql.append(" to_char(c.feccreacion, 'yyyymmdd') as dataEmissao, ");
sql.append(" r4.cpfcnpjcliente as cnpjCliente, ");
sql.append(" c.caja_id as boletoId, ");
sql.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as origenId, ");
sql.append(" (case when s.aliasorigen_id is null then co.codibge else cos.codibge end) as origenUf, ");
sql.append(" (case when s.aliasdestino_id is null then cd.codibge else cds.codibge end) as destinoId, ");
sql.append(" (case when s.aliasdestino_id is null then cd.codibge else cds.codibge end) as destinoUf, ");
sql.append(" imp.numcnpj as cnpjImpressora, ");
sql.append(" imp.numserie as numpdv, ");
sql.append(" r5.totparcial as repTributado, ");
sql.append(" r5.imptotalliquido as valorItem, ");
sql.append(" r5.tipopassagem as tipoPassagem, ");
sql.append(" r5.numitem as numItem, ");
sql.append(" r5.codproduto as codProduto, ");
sql.append(" imp.modelo as modeloImpressora, ");
sql.append(" c.usuario_id as numCaixa, ");
sql.append(" c.preciopagado as importetarifa, ");
sql.append(" c.importetaxaembarque as importetaxaembarque, ");
sql.append(" c.importepedagio as importepedagio, ");
sql.append(" c.importeseguro as importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(imp.numcnpj, ' / - . ', ' ') as cnpjEcf, ");
sql.append(" (case when s.aliasorigen_id is null then ei.icms else eis.icms end) as impostoEstado, ");
sql.append(" 'N' as status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
if (isBoletoHist)
sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id ");
sql.append(" from caja_hist c ");
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 and fi.numserie = b.serieimpfiscal ");
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 ");
sql.append(" AND ase.destino_id = b.destino_id ");
sql.append(" AND ase.ruta_id = b.ruta_id ");
sql.append(" AND ase.activo = 1 ");
sql.append(" AND ase.corrida_id IS NULL ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id ");
sql.append(" AND b.marca_id = ei.empresa_id ");
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE r4.datamov BETWEEN :STR_INICIO AND :STR_FIM ");
sql.append(" AND m.empresa_id = :EMPRESA_ID ");
sql.append(isEstadoTodos ? "" : " AND eo.estado_id = :ESTADO_ID ");
sql.append(" AND (r4.indcancelamento = 'N') ");
sql.append(" ");
sql.append(" union all ");
sql.append(" ");
sql.append(" SELECT r4.numserie20 AS numImpressora, ");
sql.append(" r4.coo AS coo, ");
sql.append(" r4.imptotalliquido AS valorTotal, ");
sql.append(" r4.datamov AS dataEmissao, ");
sql.append(" r4.cpfcnpjcliente AS cnpjCliente, ");
sql.append(" b.boleto_id AS boletoId, ");
sql.append(" m.empresa_id AS empresaId, ");
sql.append(" co.codibge AS origenId, ");
sql.append(" eo.codibge AS origenUf, ");
sql.append(" cd.codibge AS destinoId, ");
sql.append(" ed.codibge AS destinoUf, ");
sql.append(" fi.numcnpj AS cnpjImpressora, ");
sql.append(" fi.numserie AS numpdv, ");
sql.append(" r5.totparcial AS repTributado, ");
sql.append(" r5.imptotalliquido AS valorItem, ");
sql.append(" r5.tipopassagem AS tipoPassagem, ");
sql.append(" r5.numitem AS numItem, ");
sql.append(" r5.codproduto AS codProduto, ");
sql.append(" fi.modelo AS modeloImpressora, ");
sql.append(" r4.usuario_id AS numCaixa, ");
sql.append(" b.preciopagado AS importetarifa, ");
sql.append(" b.importetaxaembarque AS importetaxaembarque, ");
sql.append(" b.importepedagio AS importepedagio, ");
sql.append(" b.importeseguro AS importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') AS cnpjEcf, ");
sql.append(" ei.icms AS impostoEstado, ");
sql.append(" 'N' AS status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
sql.append(" FROM fiscal_r4 r4 ");
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 ");
sql.append(" AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov ");
sql.append(" AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
if (isBoletoHist)
sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id ");
else
sql.append(" INNER JOIN boleto 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 ");
sql.append(" AND ase.destino_id = b.destino_id ");
sql.append(" AND ase.ruta_id = b.ruta_id ");
sql.append(" AND ase.activo = 1 ");
sql.append(" AND ase.corrida_id IS NULL ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id ");
sql.append(" AND b.marca_id = ei.empresa_id ");
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE r4.datamov BETWEEN :STR_INICIO AND :STR_FIM ");
sql.append(" AND m.empresa_id = :EMPRESA_ID ");
sql.append(isEstadoTodos ? "" : " AND eo.estado_id = :ESTADO_ID ");
sql.append(" and (r4.indcancelamento = 'S' ");
sql.append(" AND exists (SELECT r3.numserie20 ");
sql.append(" FROM fiscal_r3 r3 ");
sql.append(" WHERE r3.numserie20 = r4.numserie20 ");
sql.append(" AND r3.datamov = r4.datamov ");
sql.append(" AND r3.totparcial = 'Can-T'))) QY ");
sql.append("ORDER BY QY.dataEmissao, ");
sql.append(" QY.numImpressora, ");
sql.append(" QY.coo, ");
sql.append(" QY.numItem");
sql.append(" from caja c ");
sql.append(" join ruta r on r.ruta_id = c.ruta_id ");
sql.append(" join parada po on po.parada_id = c.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 = c.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(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = eo.estado_id ");
sql.append(" join fiscal_impressora imp on imp.numserie = c.serieimpfiscal ");
sql.append(" left join clase_servicio cs on cs.claseservicio_id = c.claseservicio_id ");
sql.append(" left join estado e on e.estado_id = imp.estadolocal_id ");
sql.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 ");
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(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id ");
sql.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id ");
sql.append(" left join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo and r4.datamov = r5.datamov and r4.contador = r5.contador ");
sql.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD') ");
sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 ");
sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 ");
sql.append(" and c.serieimpfiscal is not null ");
sql.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)) ");
sql.append(" and (coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0)) > 0 ");
sql.append(" and ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) > 0 ");
sql.append(" and c.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') and c.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" and c.empresacorrida_id = :EMPRESA_ID ");
sql.append(isEstadoTodos ? "" : " and ((case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end) = :ESTADO_ID )");
sql.append("order by dataEmissao, numImpressora, coo, numItem");
return sql.toString();
}
@ -952,7 +859,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection, boolean isBoletoHist) throws SQLException {
if (isNormal) {
return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(isEstadoTodos(estadoId), isBoletoHist), false);
return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(isEstadoTodos(estadoId), isBoletoHist), true);
} else if (isCancelados) {
return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFCancelados(isEstadoTodos(estadoId), isBoletoHist), true);
@ -979,8 +886,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
stmt.setInt("EMPRESA_ID", empresaId);
if (isDate) {
stmt.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
stmt.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
stmt.setString("DATE_INICIO", DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00");
stmt.setString("DATE_FIM", DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59");
} else {
stmt.setString("STR_INICIO", DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString("STR_FIM", DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
@ -3026,6 +2933,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
}
@Override
@Deprecated
public List<ExportacaoRMDTipoSeqBPS> buscarRegistroRMDSeqTipoBPS(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoRMDTipoSeqBPS> listaBPS = new ArrayList<ExportacaoRMDTipoSeqBPS>();
@ -3504,7 +3412,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
PreparedStatement pstmt = null;
try {
sb.append(" update caja set rmd_id = ").append(rmdId).append(", ");
sb.append(" foliormd = ").append(folio).append(", ");
sb.append(" foliormd = ").append(folio).append(" ");
sb.append(" where caja_id in ( ").append(bs).append(" ) ");
pstmt = connection.prepareStatement(sb.toString());
pstmt.executeUpdate();
@ -3818,11 +3726,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" join estado eie on eie.estado_id = cie.estado_id ");
sql.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id ");
sql.append(" and ei.estado_id = coalesce(ae.estado_id, eos.estado_id) and ei.activo = 1 ");
sql.append("where b.tipoventa_id = 3 ");
sql.append("where ((b.tipoventa_id = 3 and b.indstatusboleto = 'V' and b.indreimpresion = 0) ");
sql.append(" or (a.aidftipo_id = 2 and b.indstatusboleto = 'E')) ");
sql.append(" and (b.motivocancelacion_id is null or b.motivocancelacion_id <> 35) ");
sql.append(" and b.indcancelacion = 0 ");
sql.append(" and b.preciopagado > 0 ");
sql.append(" and b.indstatusboleto = 'V' and b.indreimpresion = 0 ");
sql.append(" and b.empresacorrida_id = :EMPRESA_ID ");
sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and coalesce(ae.cveestado, eos.cveestado) = :CVEESTADO ");