fixes bug#21093
qua: dev:Valdir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@105062 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
eb68465227
commit
8eadbb56bc
|
@ -34,10 +34,40 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
Map<String, Object> parametros = this.relatorio.getParametros();
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" select TB.*, ");
|
||||
sql.append(" (SELECT ");
|
||||
sql.append(" max (TF.PRECIO) ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" CORRIDA CR, ");
|
||||
sql.append(" TRAMO TR, ");
|
||||
sql.append(" RUTA_COMBINACION RC, ");
|
||||
sql.append(" TARIFA TF, ");
|
||||
sql.append(" VIGENCIA_TARIFA VT ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" CR.CORRIDA_ID = TB.SERVICO ");
|
||||
sql.append(" AND CR.FECCORRIDA BETWEEN :DATA_INICIAL and :DATA_FINAL ");
|
||||
sql.append(" AND CR.RUTA_ID = TB.RUTAID ");
|
||||
sql.append(" AND CR.RUTA_ID = RC.RUTA_ID AND RC.ACTIVO = 1 ");
|
||||
sql.append(" AND RC.TRAMO_ID = TR.TRAMO_ID ");
|
||||
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
||||
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
||||
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
||||
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
||||
sql.append(" AND CR.ACTIVO <> 0 ");
|
||||
sql.append(" AND TF.ACTIVO = 1 ");
|
||||
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
||||
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
||||
sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
||||
sql.append(" AND VT.ACTIVO = 1 ");
|
||||
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
|
||||
sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
||||
sql.append(" GROUP BY TF.PRECIO) TARIFA ");
|
||||
sql.append(" from ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" select * from ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" r.DESCRUTA as linha, ");
|
||||
sql.append(" r.ruta_id as rutaid, ");
|
||||
sql.append(" count( c.caja_id) as passageiros, ");
|
||||
sql.append(" sum( c.PRECIOPAGADO )as valor, ");
|
||||
sql.append(" to_char( c.FECHORVENTA, 'D') as dia, ");
|
||||
|
@ -47,8 +77,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
sql.append(" r.indsentidoida as sentido, ");
|
||||
sql.append(" da.cantasientos as assentos, ");
|
||||
sql.append(" TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi') as horario, ");
|
||||
sql.append(" c.CORRIDA_ID as servico, ");
|
||||
sql.append(" max(c.preciobase) as tarifa ");
|
||||
sql.append(" c.CORRIDA_ID as servico ");
|
||||
sql.append(" FROM CAJA c ");
|
||||
sql.append(" inner join corrida co ");
|
||||
sql.append(" on c.CORRIDA_ID = co.CORRIDA_ID ");
|
||||
|
@ -75,7 +104,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
|
||||
sql.append(" and c.MOTIVOCANCELACION_ID is null ");
|
||||
sql.append(" and c.INDSTATUSBOLETO = 'V' ");
|
||||
sql.append(" GROUP by r.DESCRUTA, r.indsentidoida, da.cantasientos, ");
|
||||
sql.append(" GROUP by r.DESCRUTA, r.ruta_id, r.indsentidoida, da.cantasientos, ");
|
||||
sql.append(" to_char( c.FECHORVENTA, 'D'), TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi'), ");
|
||||
sql.append(" c.CORRIDA_ID ");
|
||||
sql.append(" ORDER by r.DESCRUTA, r.indsentidoida desc, to_char( c.FECHORVENTA, 'D') ");
|
||||
|
@ -87,6 +116,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
sql.append(" max(passageiros) tot ");
|
||||
sql.append(" for dia in ('1', '2', '3', '4', '5', '6', '7') ");
|
||||
sql.append(") ");
|
||||
sql.append(") TB");
|
||||
|
||||
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString());
|
||||
|
||||
|
@ -103,6 +133,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
Map<String, Object> dataResult = new HashMap<String, Object>();
|
||||
|
||||
dataResult.put("LINHA", rset.getString("linha"));
|
||||
Integer linhaId = rset.getInt("rutaId");
|
||||
dataResult.put("SENTIDO", rset.getString("sentido"));
|
||||
dataResult.put("SERVICO", rset.getString("servico"));
|
||||
dataResult.put("HORARIO", rset.getString("horario"));
|
||||
|
@ -216,6 +247,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
|
||||
}
|
||||
|
||||
|
||||
private BigDecimal limpaNulo( BigDecimal val ) {
|
||||
if( val == null ) {
|
||||
return BigDecimal.ZERO;
|
||||
|
@ -247,7 +279,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio {
|
|||
|
||||
BigDecimal fin = totReceita.divide(dividendo, 4, BigDecimal.ROUND_HALF_UP);
|
||||
fin = fin.multiply(new BigDecimal(new Long(100L))).setScale(2);
|
||||
return fin;
|
||||
return fin !=null ? fin : BigDecimal.ZERO;
|
||||
}else{
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,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="RelatorioAproveitamentoFinanceiro" pageWidth="873" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="833" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b92fb063-a827-4619-8a69-5c78e3afbb8c">
|
||||
<property name="ireport.zoom" value="1.3636363636363682"/>
|
||||
<property name="ireport.zoom" value="1.0"/>
|
||||
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
|
||||
<property name="ireport.x" value="441"/>
|
||||
<property name="ireport.x" value="0"/>
|
||||
<property name="ireport.y" value="0"/>
|
||||
<style name="textStyle" isDefault="true" fontSize="6" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
|
||||
<style name="table">
|
||||
|
@ -172,8 +172,8 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totDomReceitaLinha}.multiply($V{totDomTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
|
@ -183,9 +183,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totSegReceitaLinha}.multiply($V{totSegTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totTerFinLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -194,9 +194,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totTerReceitaLinha}.multiply($V{totTerTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totQuaFinLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -205,9 +205,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totQuaReceitaLinha}.multiply($V{totQuaTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totQuiFinLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -216,9 +216,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totQuiReceitaLinha}.multiply($V{totQuiTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totSexFinLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -227,9 +227,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totSexReceitaLinha}.multiply($V{totSexTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totSabFinLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -238,9 +238,9 @@
|
|||
(
|
||||
$V{totReceitaLinha}.divide(
|
||||
$V{totSabReceitaLinha}.multiply($V{totSabTotLinha}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totViagemGeral" class="java.math.BigDecimal" calculation="Sum">
|
||||
|
@ -345,9 +345,9 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totDomReceitaGeral}.multiply($V{totDomTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totSegFinGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -356,9 +356,9 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totSegReceitaGeral}.multiply($V{totSegTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totTerFinGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -368,8 +368,8 @@
|
|||
$V{totReceitaGeral}.divide(
|
||||
$V{totTerReceitaGeral}.multiply($V{totTerTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totQuaFinGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -378,9 +378,9 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totQuaReceitaGeral}.multiply($V{totQuaTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totQuiFinGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -389,9 +389,9 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totQuiReceitaGeral}.multiply($V{totQuiTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
)]]></variableExpression>
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100)))
|
||||
).setScale(2)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="totSexFinGeral" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
|
@ -400,8 +400,8 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totSexReceitaGeral}.multiply($V{totSexTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100))).setScale(2)
|
||||
)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
|
@ -411,24 +411,24 @@
|
|||
(
|
||||
$V{totReceitaGeral}.divide(
|
||||
$V{totSabReceitaGeral}.multiply($V{totSabTotGeral}
|
||||
), 2, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal("100"))
|
||||
), 4, BigDecimal.ROUND_HALF_UP )
|
||||
).multiply( new BigDecimal(new Integer(100))).setScale(2)
|
||||
)]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="finMediaLinha" class="java.math.BigDecimal" resetType="Group" resetGroup="LINHA">
|
||||
<variableExpression><![CDATA[$F{TOT_RECEITA}.intValue() > 0 ? ($F{TOT_RECEITA}.divide (
|
||||
<variableExpression><![CDATA[$F{TARIFA}.intValue() > 0 && $F{TOT_RECEITA}.intValue() > 0 ? ($F{TOT_RECEITA}.divide (
|
||||
$F{TARIFA}.multiply(
|
||||
$F{VIAGENS}.multiply(
|
||||
$F{ASSENTOS}
|
||||
)
|
||||
)
|
||||
, 4, BigDecimal.ROUND_HALF_UP )
|
||||
.multiply( new BigDecimal(new Integer(100)) )).setScale(2) : new BigDecimal(0)]]></variableExpression>
|
||||
.multiply( new BigDecimal(new Integer(100)) )).setScale(2) : BigDecimal.ZERO;]]></variableExpression>
|
||||
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
|
||||
</variable>
|
||||
<variable name="finMediaGeral" class="java.math.BigDecimal">
|
||||
<variableExpression><![CDATA[$F{TOT_RECEITA}.intValue() > 0 ? ($F{TOT_RECEITA}.divide (
|
||||
<variableExpression><![CDATA[$F{TARIFA}.intValue() > 0 && $F{TOT_RECEITA}.intValue() > 0 ? ($F{TOT_RECEITA}.divide (
|
||||
$F{TARIFA}.multiply(
|
||||
$F{VIAGENS}.multiply(
|
||||
$F{ASSENTOS}
|
||||
|
@ -1654,17 +1654,17 @@
|
|||
<textFieldExpression><![CDATA[$V{totPassageiroGeral}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
|
||||
<reportElement uuid="98031e93-a0ae-450e-b2ca-b3fb2e14023f" stretchType="RelativeToTallestObject" mode="Transparent" x="175" y="0" width="49" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/>
|
||||
<reportElement uuid="9182878e-d5c2-487b-959e-5182bed49cc5" stretchType="RelativeToBandHeight" mode="Transparent" x="135" y="0" width="40" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
|
||||
<font fontName="SansSerif" size="7" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
|
||||
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
|
||||
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
|
||||
<paragraph lineSpacing="Single"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[$V{totReceitaGeral}]]></textFieldExpression>
|
||||
<textFieldExpression><![CDATA[$V{totViagemGeral}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
|
||||
<reportElement uuid="e9ce8d17-49cc-4ddd-800e-63898ee6fb1a" stretchType="RelativeToTallestObject" mode="Transparent" x="175" y="0" width="49" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/>
|
||||
|
@ -1679,19 +1679,6 @@
|
|||
</textElement>
|
||||
<textFieldExpression><![CDATA[$V{totReceitaGeral}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="###0.00" isBlankWhenNull="true">
|
||||
<reportElement uuid="9182878e-d5c2-487b-959e-5182bed49cc5" stretchType="RelativeToBandHeight" mode="Transparent" x="135" y="0" width="40" height="14" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
|
||||
<font fontName="SansSerif" size="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
|
||||
<paragraph lineSpacing="Single"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[$V{totViagemGeral}]]></textFieldExpression>
|
||||
</textField>
|
||||
</band>
|
||||
</lastPageFooter>
|
||||
<noData>
|
||||
|
|
Loading…
Reference in New Issue