diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 7b1092149..4fddb4b30 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -83,7 +83,7 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" left outer join fiscal_impressora fi on fi.numserie20 = r4.numserie20 "); sql.append(" inner join empresa e on e.empresa_id = b.marca_id "); 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 "); + 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 "); @@ -99,7 +99,7 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append("WHERE b.fechorventa BETWEEN ? AND ? "); sql.append(" AND b.marca_id = ? "); sql.append(" AND b.tipoventa_id = 3 "); - sql.append(" AND b.preciopagado > 0 "); + sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) "); sql.append("GROUP BY r4.numserie20, "); sql.append(" COALESCE(r4.coo, b.numfoliopreimpreso), "); sql.append(" b.boleto_id, "); @@ -132,13 +132,14 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ed.cveestado, "); sql.append(" b.motivocancelacion_id, "); sql.append(" b.indstatusboleto "); + sql.append("ORDER BY dataEmissao "); List listManuais = new ArrayList(); PreparedStatement stmt = getConexao().prepareStatement(sql.toString()); stmt.setFetchSize(100); - stmt.setDate(1, new java.sql.Date(inicio.getTime())); - stmt.setDate(2, new java.sql.Date(fim.getTime())); + stmt.setTimestamp(1, new java.sql.Timestamp(inicio.getTime())); + stmt.setTimestamp(2, new java.sql.Timestamp(fim.getTime())); if (empresaId != null) { stmt.setInt(3, empresaId); @@ -322,17 +323,16 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ml2.valortarifa as valorTarifa, "); sql.append(" ml2.pedagio as valorPedagio, "); sql.append(" ml2.taxaembarque as valorEmbarque, "); - sql.append(" CASE WHEN b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status "); + sql.append(" 'N' as status "); sql.append(" FROM fiscal_r4 r4 "); sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo "); sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 "); sql.append(" AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); - sql.append(" INNER JOIN fiscal_ml2 ml2 ON ml2.boleto_id = r4.boleto_id "); + sql.append(" LEFT JOIN fiscal_ml2 ml2 ON ml2.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); - // sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id AND r4.empresa_id = b.marca_id "); 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 "); + 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(" 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 "); @@ -341,7 +341,6 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.marca_id = ? "); - sql.append(" AND b.preciopagado > 0 "); sql.append(" GROUP BY r4.numserie20, "); sql.append(" r4.coo, "); sql.append(" r4.datainicialemissao, "); @@ -366,10 +365,10 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ml2.valortarifa, "); sql.append(" ml2.pedagio, "); sql.append(" ml2.taxaembarque, "); - sql.append(" b.motivocancelacion_id "); - sql.append(" ORDER BY r4.numserie20, "); - sql.append(" r4.coo, "); - sql.append(" r4.datainicialemissao "); + sql.append(" r4.indcancelamento "); + sql.append(" ORDER BY r4.datainicialemissao, "); + sql.append(" r4.numserie20, "); + sql.append(" r4.coo "); return sql.toString(); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index a4dcc037e..56e5a4fe6 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -79,6 +79,9 @@ public class FiscalServiceImpl implements FiscalService { Integer qtdDoc = 0; Integer qtdItens = 0; + inicio = DateUtil.inicioFecha(inicio); + fim = DateUtil.fimFecha(fim); + List list = agruparItensFiscaisManual(fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId())); for (ImportacionManualFiscalVO imf : list) { @@ -618,6 +621,9 @@ public class FiscalServiceImpl implements FiscalService { BigDecimal valorTotal = item.getValorTotal() == null ? BigDecimal.ZERO : item.getValorTotal(); if (valorTotal.equals(BigDecimal.ZERO)) { BigDecimal valorTarifa = item.getValorTarifa() == null ? BigDecimal.ZERO : item.getValorTarifa(); + if (valorTarifa.equals(BigDecimal.ZERO)) + valorTarifa = BigDecimal.ONE; + BigDecimal valorPedagio = item.getValorPedagio() == null ? BigDecimal.ZERO : item.getValorPedagio(); BigDecimal valorEmbarque = item.getValorEmbarque() == null ? BigDecimal.ZERO : item.getValorEmbarque(); valorTotal = valorTotal.add(valorTarifa).add(valorPedagio).add(valorEmbarque); @@ -667,6 +673,8 @@ public class FiscalServiceImpl implements FiscalService { // VALIDA TARIFA if (codProduto.indexOf("TA") >= 0) { valorItem = item.getValorTarifa() == null ? valorItem : item.getValorTarifa(); + if (valorItem.equals(BigDecimal.ZERO)) + valorItem = BigDecimal.ONE; // TAXA DE EMBARQUE } else if (codProduto.indexOf("TX") >= 0) {