diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index fd5183999..c90ad8d2b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -2488,12 +2488,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } else { if (serie.equals(brp.getEcf()) && data.equals(brp.getFechorVenta())) { - int coo = Integer.parseInt(brp.getCoo()); + // int coo = Integer.parseInt(brp.getCoo()); + int coo = Integer.parseInt(brp.getCcf()); if (anteriorFolio + 1 == coo) { } else { - impRmd.setNumero(brp.getCoo()); + impRmd.setNumero(brp.getCcf()); list.add(impRmd); impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), @@ -2504,7 +2505,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } else { - impRmd.setNumero(brp.getCoo()); + impRmd.setNumero(brp.getCcf()); list.add(impRmd); impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), @@ -2515,29 +2516,54 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } } - BigDecimal valorContabil = impRmd.getValorContabil() == null ? BigDecimal.ZERO : impRmd.getValorContabil().add(somarTotalBilhete(brp)); - BigDecimal baseCalculo = impRmd.getBaseCalculo() == null ? BigDecimal.ZERO : impRmd.getBaseCalculo().add( - brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa()); + impRmd.getDetalhada().add(brp); - BigDecimal aliquota = brp.getIcmsInterestadual(); - BigDecimal icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); + if (anteriorFolio == 0) + list.add(impRmd); + anteriorFolio = Integer.parseInt(brp.getCcf()); + } + + agruparImpressaoRMD(list); + + return list; + } + + private void agruparImpressaoRMD(List list) { + + for (ImpressaoRMD impRmd : list) { + + BigDecimal valorContabil = BigDecimal.ZERO; + BigDecimal baseCalculo = BigDecimal.ZERO; + BigDecimal aliquota = BigDecimal.ZERO; + BigDecimal icms = BigDecimal.ZERO; BigDecimal isentos = BigDecimal.ZERO; - BigDecimal outros = valorContabil.subtract(baseCalculo); + BigDecimal outros = BigDecimal.ZERO; + String coo = null; + for (DetalhadoRMD brp : impRmd.getDetalhada()) { + + valorContabil = valorContabil == null ? BigDecimal.ZERO : valorContabil.add(somarTotalBilhete(brp)); + baseCalculo = baseCalculo == null ? BigDecimal.ZERO : baseCalculo.add( + brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa()); + + aliquota = brp.getIcmsInterestadual(); + icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); + + isentos = BigDecimal.ZERO; + outros = outros.add(valorContabil.subtract(baseCalculo)); + coo = brp.getCoo(); + + } + + impRmd.setNumero(coo); impRmd.setValorContabil(valorContabil); impRmd.setBaseCalculo(baseCalculo); impRmd.setAliquota(aliquota); impRmd.setIcms(icms); impRmd.setIsentos(isentos); impRmd.setOutros(outros); - - impRmd.getDetalhada().add(brp); - anteriorFolio = brp.getFolio(); - } - - return list; } private BigDecimal somarTotalBilhete(DetalhadoRMD brp) { @@ -2565,8 +2591,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO PreparedStatement ps = connection.prepareStatement(sql); ps.setLong(1, Long.valueOf(empresaId)); - ps.setDate(2, new java.sql.Date(inicio.getTime())); - ps.setDate(3, new java.sql.Date(fim.getTime())); + ps.setTimestamp(2, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); + ps.setTimestamp(3, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); +// ps.setDate(2, new java.sql.Date(inicio.getTime())); +// ps.setDate(3, new java.sql.Date(fim.getTime())); ps.setString(4, cveestado); ResultSet rs = ps.executeQuery(); @@ -2605,6 +2633,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO brp.setEcf(rs.getString("ecf")); brp.setDatamov(rs.getString("datamov")); brp.setCoo(rs.getString("coo")); + brp.setCcf(rs.getString("ccf")); brp.setTotalFiscal(rs.getString("totalFiscal")); } @@ -2742,6 +2771,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" r4.numserie20 as ecf, "); sql.append(" r4.datamov as datamov, "); sql.append(" r4.coo as coo, "); + sql.append(" r4.contador as ccf, "); sql.append(" r4.impsubtotal as totalFiscal "); sql.append("from fiscal_r4 r4 "); sql.append(" join boleto b on b.boleto_id = r4.boleto_id "); @@ -2774,7 +2804,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" b.activo = 1 "); sql.append(" and b.tipoventa_id <> 3 "); sql.append(" and b.rmd_id is null "); - sql.append(" and b.indstatusboleto = 'V' "); +// sql.append(" and b.indstatusboleto = 'V' "); sql.append(" and b.empresacorrida_id = ? "); sql.append(" and b.fechorventa between ? and ? "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? "); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java b/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java index a8b6cf2a6..c9af29c94 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java @@ -37,6 +37,7 @@ public class DetalhadoRMD { private String ecf; private String datamov; private String coo; + private String ccf; private String totalFiscal; public Long getBoletoId() { @@ -287,4 +288,12 @@ public class DetalhadoRMD { this.totalFiscal = totalFiscal; } + public String getCcf() { + return ccf; + } + + public void setCcf(String ccf) { + this.ccf = ccf; + } + }