fixes bug#20380

dev:fabio
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@103706 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2020-10-07 14:02:44 +00:00
parent 72b4c629ac
commit c1099496dd
4 changed files with 87 additions and 20 deletions

View File

@ -6,7 +6,6 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -18,7 +17,6 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDepositoBe
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
@SuppressWarnings("unchecked")
public class RelatorioDepositos extends Relatorio { public class RelatorioDepositos extends Relatorio {
private static Logger log = Logger.getLogger(RelatorioDepositos.class); private static Logger log = Logger.getLogger(RelatorioDepositos.class);
@ -58,24 +56,46 @@ public class RelatorioDepositos extends Relatorio {
lsDadosRelatorio = new ArrayList<RelatorioDepositoBean>(); lsDadosRelatorio = new ArrayList<RelatorioDepositoBean>();
while (rs.next()) { Integer puntoventaIdAux = null;
Integer empresaIdAux = null;
BigDecimal pendente = BigDecimal.ZERO;
BigDecimal totalFechamento = BigDecimal.ZERO;
while (rs.next()) {
RelatorioDepositoBean deposito = new RelatorioDepositoBean(); RelatorioDepositoBean deposito = new RelatorioDepositoBean();
deposito.setNombempresa(rs.getString("nombempresa")); deposito.setNombempresa(rs.getString("nombempresa"));
deposito.setNombpuntoventa(rs.getString("nombpuntoventa")); deposito.setNombpuntoventa(rs.getString("nombpuntoventa"));
deposito.setNumpuntoventa(rs.getString("numpuntoventa")); deposito.setNumpuntoventa(rs.getString("numpuntoventa"));
deposito.setDtmotivo(rs.getDate("dtmotivo")); deposito.setDtmotivo(rs.getDate("dtmotivo"));
deposito.setSaldo(rs.getBigDecimal("saldo").multiply(BigDecimal.valueOf(-1))); deposito.setSaldo(rs.getBigDecimal("saldo").multiply(BigDecimal.valueOf(-1)));
deposito.setVrdeposito(rs.getBigDecimal("vrfechamento")); deposito.setVrdeposito(rs.getBigDecimal("vrdeposito"));
deposito.setVrfechamento(rs.getBigDecimal("vrdeposito")); deposito.setVrfechamento(rs.getBigDecimal("vrfechamento"));
// deposito.setNumdeposito(rs.getString("numdeposito")); 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); lsDadosRelatorio.add(deposito);
} }
Collections.sort(lsDadosRelatorio);
if (lsDadosRelatorio.size() > 0) { if (lsDadosRelatorio.size() > 0) {
lsDadosRelatorio.get(lsDadosRelatorio.size() - 1).setSomarPendente(true);
setLsDadosRelatorio(lsDadosRelatorio); setLsDadosRelatorio(lsDadosRelatorio);
} }
parametros.put("totalFechamento", totalFechamento);
setNomeSubReporte(nomeSubReporte); setNomeSubReporte(nomeSubReporte);
} }
@ -109,15 +129,19 @@ public class RelatorioDepositos extends Relatorio {
sql.append(" tmp.numdeposito, "); 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(" FROM ");
sql.append(" ( SELECT DISTINCT e.nombempresa, "); sql.append(" ( SELECT DISTINCT e.nombempresa, ");
sql.append(" p.nombpuntoventa, "); sql.append(" p.nombpuntoventa, ");
sql.append(" p.numpuntoventa, "); 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(" f.fecfechamento AS dtmotivo, ");
sql.append(" ( SUM(NVL(fd.valor_pago,0)) - f.total ) AS saldo, "); sql.append(" ( SUM(NVL(fd.valor_pago,0)) - f.total ) AS saldo, ");
sql.append(" SUM(NVL(fd.valor_pago,0)) AS vrfechamento , "); sql.append(" SUM(NVL(fd.valor_pago,0)) AS vrdeposito , ");
sql.append(" f.total AS vrdeposito, "); sql.append(" f.total AS vrfechamento, ");
if (! filtrarPendentes){ if (! filtrarPendentes){
sql.append(" fdp.NUMDEPOSITO as numdeposito, "); sql.append(" fdp.NUMDEPOSITO as numdeposito, ");
@ -152,6 +176,8 @@ public class RelatorioDepositos extends Relatorio {
sql.append(" GROUP BY e.nombempresa, "); sql.append(" GROUP BY e.nombempresa, ");
sql.append(" p.nombpuntoventa, "); sql.append(" p.nombpuntoventa, ");
sql.append(" p.numpuntoventa, "); sql.append(" p.numpuntoventa, ");
sql.append(" p.puntoventa_id, ");
sql.append(" e.empresa_id, ");
sql.append(" f.fecfechamento, "); sql.append(" f.fecfechamento, ");
sql.append(" f.FECHAMENTOCNTCORRENTE_ID, "); sql.append(" f.FECHAMENTOCNTCORRENTE_ID, ");
@ -168,7 +194,9 @@ public class RelatorioDepositos extends Relatorio {
sql.append(" ORDER BY tmp.nombempresa, "); sql.append(" ORDER BY tmp.nombempresa, ");
sql.append(" tmp.nombpuntoventa, "); sql.append(" tmp.nombpuntoventa, ");
sql.append(" tmp.dtmotivo, "); sql.append(" tmp.dtmotivo, ");
sql.append(" tmp.vrdeposito "); sql.append(" tmp.vrdeposito, ");
sql.append(" tmp.puntoventaId, ");
sql.append(" tmp.empresaId ");
return sql.toString(); return sql.toString();
} }
} }

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioDepositos" pageWidth="595" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenResourceMissingType="Empty" uuid="65274c35-4f3f-4196-bd84-f042e9ac12ea"> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioDepositos" pageWidth="595" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenResourceMissingType="Empty" uuid="65274c35-4f3f-4196-bd84-f042e9ac12ea">
<property name="ireport.zoom" value="1.3310000000000006"/> <property name="ireport.zoom" value="1.3310000000000006"/>
<property name="ireport.x" value="60"/> <property name="ireport.x" value="75"/>
<property name="ireport.y" value="0"/> <property name="ireport.y" value="38"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="title"/> <property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="title"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.3" value="pageHeader"/> <property name="net.sf.jasperreports.export.xls.exclude.origin.band.3" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2" value="columnHeader"/> <property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2" value="columnHeader"/>
@ -14,6 +14,7 @@
<parameter name="fecFinal" class="java.lang.String"/> <parameter name="fecFinal" class="java.lang.String"/>
<parameter name="TITULO" class="java.lang.String"/> <parameter name="TITULO" class="java.lang.String"/>
<parameter name="isClassificaPorBanco" class="java.lang.Boolean"/> <parameter name="isClassificaPorBanco" class="java.lang.Boolean"/>
<parameter name="totalFechamento" class="java.math.BigDecimal"/>
<queryString> <queryString>
<![CDATA[]]> <![CDATA[]]>
</queryString> </queryString>
@ -27,6 +28,8 @@
<field name="numpuntoventa" class="java.lang.String"/> <field name="numpuntoventa" class="java.lang.String"/>
<field name="nomeInstFinanceira" class="java.lang.String"/> <field name="nomeInstFinanceira" class="java.lang.String"/>
<field name="codigoInstFinanceira" class="java.lang.String"/> <field name="codigoInstFinanceira" class="java.lang.String"/>
<field name="vrpendente" class="java.math.BigDecimal"/>
<field name="somarPendente" class="java.lang.Boolean"/>
<variable name="TOTAL_DEPOSITOS" class="java.math.BigDecimal" calculation="Sum"> <variable name="TOTAL_DEPOSITOS" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{vrdeposito}]]></variableExpression> <variableExpression><![CDATA[$F{vrdeposito}]]></variableExpression>
</variable> </variable>
@ -45,8 +48,8 @@
<variable name="PENDENTE_BANCO" class="java.math.BigDecimal" resetType="Group" resetGroup="grupoBanco" calculation="Sum"> <variable name="PENDENTE_BANCO" class="java.math.BigDecimal" resetType="Group" resetGroup="grupoBanco" calculation="Sum">
<variableExpression><![CDATA[$F{saldo}]]></variableExpression> <variableExpression><![CDATA[$F{saldo}]]></variableExpression>
</variable> </variable>
<variable name="TOTAL_PENDENTE" class="java.math.BigDecimal"> <variable name="TOTAL_PENDENTE" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$V{TOTAL_FECHAMENTO}.subtract($V{TOTAL_DEPOSITOS})]]></variableExpression> <variableExpression><![CDATA[$F{somarPendente} ? $F{vrpendente} : BigDecimal.ZERO]]></variableExpression>
</variable> </variable>
<variable name="verificaGrupoBanco" class="java.lang.String"> <variable name="verificaGrupoBanco" class="java.lang.String">
<variableExpression><![CDATA[$P{isClassificaPorBanco}==true?$F{nombpuntoventa}:""]]></variableExpression> <variableExpression><![CDATA[$P{isClassificaPorBanco}==true?$F{nombpuntoventa}:""]]></variableExpression>
@ -201,7 +204,7 @@
<reportElement uuid="695d6008-0322-46fd-9423-ec88ceaccdb9" x="349" y="0" width="68" height="20" isPrintWhenDetailOverflows="true"> <reportElement uuid="695d6008-0322-46fd-9423-ec88ceaccdb9" x="349" y="0" width="68" height="20" isPrintWhenDetailOverflows="true">
<printWhenExpression><![CDATA[new Boolean(false)]]></printWhenExpression> <printWhenExpression><![CDATA[new Boolean(false)]]></printWhenExpression>
</reportElement> </reportElement>
<textElement textAlignment="Right"> <textElement textAlignment="Right" verticalAlignment="Top">
<font size="6" isBold="true"/> <font size="6" isBold="true"/>
</textElement> </textElement>
<textFieldExpression><![CDATA[$V{VLFECHAMENTO_BANCO}]]></textFieldExpression> <textFieldExpression><![CDATA[$V{VLFECHAMENTO_BANCO}]]></textFieldExpression>
@ -369,7 +372,7 @@
<font size="8" isBold="true"/> <font size="8" isBold="true"/>
<paragraph lineSpacing="Single"/> <paragraph lineSpacing="Single"/>
</textElement> </textElement>
<textFieldExpression><![CDATA[$V{VLFECHAMENTO_BANCO}.subtract($V{DEPOSITO_BANCO})]]></textFieldExpression> <textFieldExpression><![CDATA[$F{vrpendente}]]></textFieldExpression>
</textField> </textField>
<textField isStretchWithOverflow="true" pattern="¤ #,##0.00" isBlankWhenNull="true"> <textField isStretchWithOverflow="true" pattern="¤ #,##0.00" isBlankWhenNull="true">
<reportElement uuid="8b59222e-761c-4aba-9132-638c2b9932a9" stretchType="RelativeToTallestObject" x="485" y="0" width="70" height="17"/> <reportElement uuid="8b59222e-761c-4aba-9132-638c2b9932a9" stretchType="RelativeToTallestObject" x="485" y="0" width="70" height="17"/>
@ -428,7 +431,7 @@
<textElement> <textElement>
<paragraph lineSpacing="Single"/> <paragraph lineSpacing="Single"/>
</textElement> </textElement>
<textFieldExpression><![CDATA[$V{TOTAL_FECHAMENTO}]]></textFieldExpression> <textFieldExpression><![CDATA[$P{totalFechamento}]]></textFieldExpression>
</textField> </textField>
<staticText> <staticText>
<reportElement uuid="d746843f-a730-4bbb-9520-80954166d840" x="0" y="52" width="100" height="20"/> <reportElement uuid="d746843f-a730-4bbb-9520-80954166d840" x="0" y="52" width="100" height="20"/>

View File

@ -10,12 +10,16 @@ public class RelatorioDepositoBean implements Comparable {
private BigDecimal saldo; private BigDecimal saldo;
private BigDecimal vrdeposito; private BigDecimal vrdeposito;
private BigDecimal vrfechamento; private BigDecimal vrfechamento;
private BigDecimal vrpendente;
private Date dtmotivo; private Date dtmotivo;
private String numdeposito; private String numdeposito;
private String numpuntoventa; private String numpuntoventa;
private String codigoInstFinanceira; private String codigoInstFinanceira;
private String nomeInstFinanceira; private String nomeInstFinanceira;
private Long fechamentocntcorrenteId; private Long fechamentocntcorrenteId;
private Boolean somarPendente;
private Integer puntoventaId;
private Integer empresaId;
public String getCodigoInstFinanceira() { public String getCodigoInstFinanceira() {
return codigoInstFinanceira; return codigoInstFinanceira;
@ -58,13 +62,13 @@ public class RelatorioDepositoBean implements Comparable {
this.nombempresa = nombempresa; this.nombempresa = nombempresa;
} }
public BigDecimal getVrdeposito() { public BigDecimal getVrdeposito() {
return vrdeposito; return vrdeposito != null ? vrdeposito : BigDecimal.ZERO;
} }
public void setVrdeposito(BigDecimal vrdeposito) { public void setVrdeposito(BigDecimal vrdeposito) {
this.vrdeposito = vrdeposito; this.vrdeposito = vrdeposito;
} }
public BigDecimal getVrfechamento() { public BigDecimal getVrfechamento() {
return vrfechamento; return vrfechamento != null ? vrfechamento : BigDecimal.ZERO;
} }
public void setVrfechamento(BigDecimal vrfechamento) { public void setVrfechamento(BigDecimal vrfechamento) {
this.vrfechamento = vrfechamento; this.vrfechamento = vrfechamento;
@ -112,4 +116,36 @@ public class RelatorioDepositoBean implements Comparable {
return 0; 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;
}
} }