diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java index 9c2e7a1f5..818029b94 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDepositos.java @@ -6,7 +6,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -18,7 +17,6 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDepositoBe import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; -@SuppressWarnings("unchecked") public class RelatorioDepositos extends Relatorio { private static Logger log = Logger.getLogger(RelatorioDepositos.class); @@ -57,25 +55,47 @@ public class RelatorioDepositos extends Relatorio { rs.setFetchSize(500); lsDadosRelatorio = new ArrayList(); + + Integer puntoventaIdAux = null; + Integer empresaIdAux = null; + BigDecimal pendente = BigDecimal.ZERO; + BigDecimal totalFechamento = BigDecimal.ZERO; while (rs.next()) { - RelatorioDepositoBean deposito = new RelatorioDepositoBean(); deposito.setNombempresa(rs.getString("nombempresa")); deposito.setNombpuntoventa(rs.getString("nombpuntoventa")); deposito.setNumpuntoventa(rs.getString("numpuntoventa")); deposito.setDtmotivo(rs.getDate("dtmotivo")); deposito.setSaldo(rs.getBigDecimal("saldo").multiply(BigDecimal.valueOf(-1))); - deposito.setVrdeposito(rs.getBigDecimal("vrfechamento")); - deposito.setVrfechamento(rs.getBigDecimal("vrdeposito")); -// deposito.setNumdeposito(rs.getString("numdeposito")); + deposito.setVrdeposito(rs.getBigDecimal("vrdeposito")); + deposito.setVrfechamento(rs.getBigDecimal("vrfechamento")); + 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(); + pendente = deposito.getVrfechamento(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + + if(!lsDadosRelatorio.isEmpty()) { + lsDadosRelatorio.get(lsDadosRelatorio.size() - 1).setSomarPendente(true); + } + } + pendente = pendente.subtract(deposito.getVrdeposito()); + deposito.setVrpendente(pendente); + lsDadosRelatorio.add(deposito); } - Collections.sort(lsDadosRelatorio); if (lsDadosRelatorio.size() > 0) { + lsDadosRelatorio.get(lsDadosRelatorio.size() - 1).setSomarPendente(true); setLsDadosRelatorio(lsDadosRelatorio); } + parametros.put("totalFechamento", totalFechamento); setNomeSubReporte(nomeSubReporte); } @@ -109,15 +129,19 @@ public class RelatorioDepositos extends Relatorio { sql.append(" tmp.numdeposito, "); } - sql.append(" tmp.vrdeposito "); + sql.append(" tmp.vrdeposito, "); + sql.append(" tmp.puntoventaId, "); + sql.append(" tmp.empresaId "); sql.append(" FROM "); sql.append(" ( SELECT DISTINCT e.nombempresa, "); sql.append(" p.nombpuntoventa, "); sql.append(" p.numpuntoventa, "); + sql.append(" p.puntoventa_id as puntoventaId, "); + sql.append(" e.empresa_id as empresaId, "); sql.append(" f.fecfechamento AS dtmotivo, "); sql.append(" ( SUM(NVL(fd.valor_pago,0)) - f.total ) AS saldo, "); - sql.append(" SUM(NVL(fd.valor_pago,0)) AS vrfechamento , "); - sql.append(" f.total AS vrdeposito, "); + sql.append(" SUM(NVL(fd.valor_pago,0)) AS vrdeposito , "); + sql.append(" f.total AS vrfechamento, "); if (! filtrarPendentes){ sql.append(" fdp.NUMDEPOSITO as numdeposito, "); @@ -152,6 +176,8 @@ public class RelatorioDepositos extends Relatorio { sql.append(" GROUP BY e.nombempresa, "); sql.append(" p.nombpuntoventa, "); sql.append(" p.numpuntoventa, "); + sql.append(" p.puntoventa_id, "); + sql.append(" e.empresa_id, "); sql.append(" f.fecfechamento, "); sql.append(" f.FECHAMENTOCNTCORRENTE_ID, "); @@ -168,7 +194,9 @@ public class RelatorioDepositos extends Relatorio { sql.append(" ORDER BY tmp.nombempresa, "); sql.append(" tmp.nombpuntoventa, "); sql.append(" tmp.dtmotivo, "); - sql.append(" tmp.vrdeposito "); + sql.append(" tmp.vrdeposito, "); + sql.append(" tmp.puntoventaId, "); + sql.append(" tmp.empresaId "); return sql.toString(); } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jasper index 8f0af5596..339c7c202 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 4e67c619e..a84e1a24f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDepositos.jrxml @@ -1,8 +1,8 @@ - - + + @@ -14,6 +14,7 @@ + @@ -27,6 +28,8 @@ + + @@ -45,8 +48,8 @@ - - + + @@ -201,7 +204,7 @@ - + @@ -369,7 +372,7 @@ - + @@ -428,7 +431,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java index 68f3f9eea..1cfe9efee 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDepositoBean.java @@ -10,12 +10,16 @@ public class RelatorioDepositoBean implements Comparable { private BigDecimal saldo; private BigDecimal vrdeposito; private BigDecimal vrfechamento; + private BigDecimal vrpendente; private Date dtmotivo; private String numdeposito; private String numpuntoventa; private String codigoInstFinanceira; private String nomeInstFinanceira; private Long fechamentocntcorrenteId; + private Boolean somarPendente; + private Integer puntoventaId; + private Integer empresaId; public String getCodigoInstFinanceira() { return codigoInstFinanceira; @@ -58,13 +62,13 @@ public class RelatorioDepositoBean implements Comparable { this.nombempresa = nombempresa; } public BigDecimal getVrdeposito() { - return vrdeposito; + return vrdeposito != null ? vrdeposito : BigDecimal.ZERO; } public void setVrdeposito(BigDecimal vrdeposito) { this.vrdeposito = vrdeposito; } public BigDecimal getVrfechamento() { - return vrfechamento; + return vrfechamento != null ? vrfechamento : BigDecimal.ZERO; } public void setVrfechamento(BigDecimal vrfechamento) { this.vrfechamento = vrfechamento; @@ -111,5 +115,37 @@ 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; + } + + public void setVrpendente(BigDecimal vrpendente) { + this.vrpendente = vrpendente; + } + + public Integer getPuntoventaId() { + return puntoventaId; + } + + public void setPuntoventaId(Integer puntoventaId) { + this.puntoventaId = puntoventaId; + } + + public Integer getEmpresaId() { + return empresaId; + } + + public void setEmpresaId(Integer empresaId) { + this.empresaId = empresaId; + } }