diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java index aa9f34a66..47bf5c6cb 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java @@ -73,8 +73,13 @@ public class RelatorioDocumentosFiscais extends Relatorio { RelatorioDocumentosFiscaisBean bean = new RelatorioDocumentosFiscaisBean(); bean.setNumAIDF((String) (rset.getObject("numAIDF") == null ? "" : rset.getObject("numAIDF"))); - bean.setFormInicial((String) rset.getObject("formInicial")); - bean.setFormFinal((String) rset.getObject("formFinal")); + + BigDecimal formInicial = (BigDecimal) rset.getObject("formInicial"); + bean.setFormInicial(formInicial.toString()); + + BigDecimal formFinal = (BigDecimal) rset.getObject("formFinal"); + bean.setFormFinal(formFinal.toString()); + bean.setSerie((String) rset.getObject("serie")); bean.setSubSerie((String) rset.getObject("subSerie")); bean.setValorContabil((BigDecimal) rset.getObject("valorContabil")); @@ -136,8 +141,8 @@ public class RelatorioDocumentosFiscais extends Relatorio { StringBuilder sql = new StringBuilder(); sql.append("SELECT "); sql.append(" coalesce(tabela.numAidf, '') AS numAidf, "); - sql.append(" tabela.forminicial AS formInicial, "); - sql.append(" tabela.formfinal AS formFinal, "); + sql.append(" min(tabela.folio) AS formInicial, "); + sql.append(" max(tabela.folio) AS formFinal, "); sql.append(" tabela.serie AS serie, "); sql.append(" tabela.subserie AS subSerie, "); sql.append(" tabela.nomeEstado AS nomeEstado, "); @@ -152,13 +157,12 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" (SELECT DISTINCT "); sql.append(" c.caja_id, "); sql.append(" a.ACFISCAL AS numAidf, "); - sql.append(" a.forminicial, "); - sql.append(" a.formfinal, "); + sql.append(" to_number(c.numfoliopreimpreso) as folio, "); sql.append(" a.serie AS serie, "); sql.append(" a.subserie AS subserie, "); - sql.append(" c.MOTIVOCANCELACION_ID AS motivoCancelacion, "); - sql.append(" c.PRECIOBASE AS tarifa, "); - sql.append(" ei.TRIBUTACAOIMPORTACAO AS valorAliquiotaICMS, "); + sql.append(" c.motivocancelacion_id AS motivoCancelacion, "); + sql.append(" c.preciobase AS tarifa, "); + sql.append(" ei.tributacaoimportacao AS valorAliquiotaICMS, "); sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NOT NULL THEN 1 ELSE 0 END AS qntancelados, "); sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorContabil, "); sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NOT NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorCancelado, "); @@ -166,14 +170,15 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO * (coalesce(ei.PORCREDBASEICMS, 0) / 100.0) ) ELSE 0 END AS valorBaseCalculo, "); sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN ((c.PRECIOPAGADO - (c.PRECIOPAGADO * (coalesce(ei.PORCREDBASEICMS, 0) / 100.0) )) * ei.TRIBUTACAOIMPORTACAO) / 100 ELSE 0 END AS valorICMS, "); sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO - (c.PRECIOPAGADO * (coalesce(ei.PORCREDBASEICMS, 0) / 100.0) )) ELSE 0 END AS outras, "); - sql.append(" coalesce(eos.estado_id, eo.estado_id) AS estadoId, "); - sql.append(" coalesce(eos.NOMBESTADO, eo.NOMBESTADO) AS nomeEstado, "); + sql.append(" eai.estado_id AS estadoId, "); + sql.append(" eai.NOMBESTADO AS nomeEstado, "); sql.append(" coalesce(pos.DESCPARADA, po.DESCPARADA) AS origem, "); sql.append(" coalesce(pds.DESCPARADA, pd.DESCPARADA) AS destino, "); sql.append(" CASE WHEN((coalesce(eos.cveestado, eo.cveestado)) = (coalesce(eds.cveestado, ed.cveestado))) THEN 0 ELSE 1 END AS isInterEstadual, "); - sql.append(" COALESCE((IMPORTETAXAEMBARQUE + IMPORTEPEDAGIO + IMPORTESEGURO),0) AS vlrisento "); + sql.append(" COALESCE((IMPORTETAXAEMBARQUE + IMPORTEPEDAGIO + IMPORTESEGURO),0) AS vlrisento "); sql.append(" FROM caja c "); sql.append(" INNER JOIN aidf a ON a.aidf_id = c.aidf_id "); + sql.append(" LEFT JOIN estado eai ON a.estado_id = eai.estado_id "); sql.append(" JOIN marca m ON c.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 = c.origen_id "); @@ -191,22 +196,22 @@ public class RelatorioDocumentosFiscais extends Relatorio { 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(" INNER 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 = a.estado_id and ei.activo = 1 "); sql.append(" WHERE c.feccreacion between :DATA_INICIAL and :DATA_FINAL "); - sql.append("AND e.empresa_id = " + empresaId + " "); - sql.append(somenteCancelado == true ? " AND c.INDCANCELACION = 1" : " "); + sql.append(" AND e.empresa_id = " + empresaId + " "); + sql.append(" AND a.aidfesp_id = 1 "); + sql.append(somenteCancelado == true ? " AND c.INDCANCELACION = 1 " : " "); sql.append(aidf != null ? " AND a.AIDF_ID = " + aidf.getAidfId() + " " : " "); - sql.append("AND coalesce(eos.estado_id, eo.estado_id) IN (" + estadoId + ") "); - sql.append(" )tabela "); - sql.append(tipoLinha.equals("INTERMUNICIPAL") ? " where tabela.isInterEstadual = 1" : tipoLinha.equals("INTERESTADUAL") ? " where tabela.isInterEstadual = 0" : " "); - sql.append("GROUP BY tabela.numAidf, "); + sql.append(estadoId != null ? " AND a.ESTADO_ID IN (" + estadoId + ") " : " "); + sql.append(" ORDER BY a.ACFISCAL, to_number(c.numfoliopreimpreso) "); + sql.append(" ) tabela "); + sql.append(tipoLinha.equals(" INTERMUNICIPAL") ? " where tabela.isInterEstadual = 1 " : tipoLinha.equals("INTERESTADUAL") ? " where tabela.isInterEstadual = 0 " : " "); + sql.append(" GROUP BY tabela.numAidf, "); sql.append(" tabela.serie, "); sql.append(" tabela.subserie, "); - sql.append(" tabela.forminicial, "); - sql.append(" tabela.formfinal, "); sql.append(" tabela.nomeEstado, "); sql.append(" tabela.valorAliquiotaICMS "); - sql.append("ORDER BY tabela.nomeEstado, tabela.numAidf "); + sql.append(" ORDER BY tabela.numAidf, tabela.nomeEstado "); return sql.toString(); } @@ -215,8 +220,8 @@ public class RelatorioDocumentosFiscais extends Relatorio { StringBuilder sql = new StringBuilder(); sql.append("SELECT tabela.docfiscal AS numAidf, "); - sql.append(" tabela.forminicial AS formInicial, "); - sql.append(" tabela.formfinal AS formFinal, "); + sql.append(" to_number(tabela.forminicial) AS formInicial, "); + sql.append(" to_number(tabela.formfinal) AS formFinal, "); sql.append(" tabela.serie AS serie, "); sql.append(" tabela.subserie AS subSerie, "); sql.append(" tabela.nomeEstado AS nomeEstado, "); @@ -246,8 +251,8 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" CASE WHEN cdv.precio >= 0 THEN cdv.precio - (cdv.precio * COALESCE(ed.PORCREDBASEICMS / 100,0)) ELSE 0 END AS valorBaseCalculo, "); sql.append(" CASE WHEN cdv.precio >= 0 THEN ((cdv.precio * ((ed.TRIBUTACAOIMPORTACAO - (COALESCE(ed.PORCREDBASEICMS * ed.TRIBUTACAOIMPORTACAO /100,0))))) / 100) ELSE 0 END AS valorICMS, "); sql.append(" CASE WHEN cdv.precio >= 0 THEN cdv.precio - (cdv.precio - (cdv.precio * COALESCE(ed.PORCREDBASEICMS / 100,0))) ELSE 0 END AS outras, "); - sql.append(" es.estado_id AS estadoId, "); - sql.append(" es.NOMBESTADO AS nomeEstado, "); + sql.append(" eai.estado_id AS estadoId, "); + sql.append(" eai.NOMBESTADO AS nomeEstado, "); sql.append(" '' AS origem, "); sql.append(" '' AS destino, "); sql.append(" 0 AS isInterEstadual, "); @@ -255,6 +260,7 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append("from evento_extra ee "); sql.append(" join caja_diversos cdv on cdv.eventoextra_id = ee.eventoextra_id "); sql.append(" join aidf aidf on aidf.serie = cdv.numseriepreimpresa and cdv.numfoliopreimpreso between aidf.forminicial and aidf.formfinal "); + sql.append(" LEFT JOIN estado eai ON aidf.estado_id = eai.estado_id "); sql.append(" join punto_venta pv on pv.puntoventa_id = cdv.puntoventa_id "); sql.append(" join parada pp on pp.parada_id = pv.parada_id "); sql.append(" join ciudad cc on cc.ciudad_id = pp.ciudad_id "); @@ -262,8 +268,9 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" join empresa_imposto ed ON ed.empresa_id = ee.empresa_id and es.estado_id = ed.estado_id and ed.activo = 1 "); sql.append("where ee.tipoeventoextra_id in (1,81,82) "); sql.append(" and ee.fechoringreso between :DATA_INICIAL and :DATA_FINAL "); + sql.append(" and aidf.aidfesp_id = 2 "); sql.append(" and ee.empresa_id = " + empresaId + " "); - sql.append(" and es.estado_id IN (" + estadoId + ") "); + sql.append(" and eai.estado_id IN (" + estadoId + ") "); sql.append(aidf != null ? " and aidf.aidf_id = " + aidf.getAidfId() + " " : " "); // sql.append(somenteCancelado == true ? " AND c.INDCANCELACION = 1" : " "); sql.append(" )tabela ");