diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java index 818029b94..7306739cc 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java @@ -6,6 +6,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -14,6 +15,7 @@ import org.apache.log4j.Logger; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDepositoBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; @@ -60,6 +62,8 @@ public class RelatorioDepositos extends Relatorio { Integer empresaIdAux = null; BigDecimal pendente = BigDecimal.ZERO; BigDecimal totalFechamento = BigDecimal.ZERO; + Date dtMotivo = null; + Long fechamentocntcorrenteId = null; while (rs.next()) { RelatorioDepositoBean deposito = new RelatorioDepositoBean(); @@ -73,18 +77,36 @@ public class RelatorioDepositos extends Relatorio { deposito.setEmpresaId(rs.getInt("empresaId")); deposito.setPuntoventaId(rs.getInt("puntoventaId")); - if((puntoventaIdAux == null || !puntoventaIdAux.equals(deposito.getPuntoventaId())) || - (empresaIdAux == null || !empresaIdAux.equals(deposito.getEmpresaId()))) { - - puntoventaIdAux = deposito.getPuntoventaId(); - empresaIdAux = deposito.getEmpresaId(); + boolean isPontoVendaEmpresaDiferente = (puntoventaIdAux == null || !puntoventaIdAux.equals(deposito.getPuntoventaId())) || + (empresaIdAux == null || !empresaIdAux.equals(deposito.getEmpresaId())); + + if(fechamentocntcorrenteId == null) { + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } if(!isPontoVendaEmpresaDiferente && dtMotivo != null && DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) == 0 && !fechamentocntcorrenteId.equals(rs.getLong("fechamentocntcorrenteId"))) { pendente = deposito.getVrfechamento(); totalFechamento = totalFechamento.add(deposito.getVrfechamento()); - - if(!lsDadosRelatorio.isEmpty()) { - lsDadosRelatorio.get(lsDadosRelatorio.size() - 1).setSomarPendente(true); - } + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); } + + if(isPontoVendaEmpresaDiferente || (dtMotivo == null || DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) != 0)) { + + if(isPontoVendaEmpresaDiferente) { + puntoventaIdAux = deposito.getPuntoventaId(); + empresaIdAux = deposito.getEmpresaId(); + pendente = deposito.getVrfechamento(); + dtMotivo = deposito.getDtmotivo(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } + + if(dtMotivo == null || DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) != 0) { + pendente = deposito.getVrfechamento(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } + dtMotivo = deposito.getDtmotivo(); + } + pendente = pendente.subtract(deposito.getVrdeposito()); deposito.setVrpendente(pendente); @@ -92,7 +114,6 @@ public class RelatorioDepositos extends Relatorio { } if (lsDadosRelatorio.size() > 0) { - lsDadosRelatorio.get(lsDadosRelatorio.size() - 1).setSomarPendente(true); setLsDadosRelatorio(lsDadosRelatorio); } parametros.put("totalFechamento", totalFechamento); @@ -124,6 +145,7 @@ public class RelatorioDepositos extends Relatorio { sql.append(" tmp.dtmotivo, "); sql.append(" tmp.saldo, "); sql.append(" tmp.vrfechamento, "); + sql.append(" tmp.fechamentocntcorrenteId, "); if (! filtrarPendentes){ sql.append(" tmp.numdeposito, "); @@ -147,7 +169,7 @@ public class RelatorioDepositos extends Relatorio { sql.append(" fdp.NUMDEPOSITO as numdeposito, "); } - sql.append(" f.FECHAMENTOCNTCORRENTE_ID "); + sql.append(" f.FECHAMENTOCNTCORRENTE_ID as fechamentocntcorrenteId "); sql.append(" FROM fechamento_cntcorrente f "); sql.append(" LEFT JOIN punto_venta p "); sql.append(" ON p.puntoventa_id = f.puntoventa_id "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper index 339c7c202..529ae911d 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml index a84e1a24f..b45ad345e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml @@ -1,7 +1,7 @@ - + @@ -29,13 +29,9 @@ - - - - @@ -48,15 +44,15 @@ - - - + + + @@ -124,7 +120,7 @@ - + @@ -138,7 +134,7 @@ - + @@ -198,7 +194,7 @@ - + @@ -207,7 +203,7 @@ - + @@ -344,7 +340,7 @@ - + @@ -358,7 +354,7 @@ - + @@ -445,7 +441,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java index 1cfe9efee..f3d0dda2e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java @@ -17,7 +17,6 @@ public class RelatorioDepositoBean implements Comparable { private String codigoInstFinanceira; private String nomeInstFinanceira; private Long fechamentocntcorrenteId; - private Boolean somarPendente; private Integer puntoventaId; private Integer empresaId; @@ -116,14 +115,6 @@ public class RelatorioDepositoBean implements Comparable { return 0; } - public Boolean getSomarPendente() { - return somarPendente != null ? somarPendente : false; - } - - public void setSomarPendente(Boolean somarPendente) { - this.somarPendente = somarPendente; - } - public BigDecimal getVrpendente() { return vrpendente != null ? vrpendente : BigDecimal.ZERO; }