rodrigo 2013-09-02 19:43:56 +00:00
parent 99c466bf15
commit 115b9518fb
3 changed files with 27 additions and 20 deletions

View File

@ -93,7 +93,7 @@ public class RelatorioOrigemDestino extends Relatorio {
sql.append(" INNER JOIN TRAMO TR ON TR.TRAMO_ID=RC.TRAMO_ID "); sql.append(" INNER JOIN TRAMO TR ON TR.TRAMO_ID=RC.TRAMO_ID ");
sql.append(" INNER JOIN PARADA O ON O.PARADA_ID = TR.ORIGEN_ID "); sql.append(" INNER JOIN PARADA O ON O.PARADA_ID = TR.ORIGEN_ID ");
sql.append(" INNER JOIN PARADA D ON D.PARADA_ID = TR.DESTINO_ID "); sql.append(" INNER JOIN PARADA D ON D.PARADA_ID = TR.DESTINO_ID ");
sql.append(" LEFT JOIN RUTA_SECUENCIA RS ON RS.RUTA_ID = CO.RUTA_ID "); sql.append(" LEFT JOIN RUTA_SECUENCIA RS ON RS.RUTA_ID = CO.RUTA_ID ");
sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = RS.TRAMO_ID AND T.ORIGEN_ID = TR.ORIGEN_ID "); sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = RS.TRAMO_ID AND T.ORIGEN_ID = TR.ORIGEN_ID ");
sql.append(" LEFT JOIN RUTA_SECUENCIA RSD ON RSD.RUTA_ID = CO.RUTA_ID "); sql.append(" LEFT JOIN RUTA_SECUENCIA RSD ON RSD.RUTA_ID = CO.RUTA_ID ");
@ -126,7 +126,7 @@ public class RelatorioOrigemDestino extends Relatorio {
sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = RS.TRAMO_ID AND T.ORIGEN_ID = CA.ORIGEN_ID "); sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = RS.TRAMO_ID AND T.ORIGEN_ID = CA.ORIGEN_ID ");
sql.append(" LEFT JOIN RUTA_SECUENCIA RSD ON RSD.RUTA_ID = CO.RUTA_ID "); sql.append(" LEFT JOIN RUTA_SECUENCIA RSD ON RSD.RUTA_ID = CO.RUTA_ID ");
sql.append(" INNER JOIN TRAMO TD ON TD.TRAMO_ID = RSD.TRAMO_ID AND TD.DESTINO_ID = CA.DESTINO_ID "); sql.append(" INNER JOIN TRAMO TD ON TD.TRAMO_ID = RSD.TRAMO_ID AND TD.DESTINO_ID = CA.DESTINO_ID ");
sql.append(" WHERE CA.ACTIVO = 1 "); sql.append(" WHERE CA.ACTIVO = 1 ");
sql.append(" AND RS.ACTIVO = 1 "); sql.append(" AND RS.ACTIVO = 1 ");
sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL ");
@ -150,7 +150,7 @@ public class RelatorioOrigemDestino extends Relatorio {
sql.append(" RS.NUMSECUENCIA, "); sql.append(" RS.NUMSECUENCIA, ");
sql.append(" RSD.NUMSECUENCIA, "); sql.append(" RSD.NUMSECUENCIA, ");
sql.append(" D.DESCPARADA "); sql.append(" D.DESCPARADA ");
sql.append(" ORDER BY CA.CORRIDA_ID,SECD "); sql.append(" ORDER BY CA.CORRIDA_ID,SECD ");
} }
@ -191,10 +191,10 @@ public class RelatorioOrigemDestino extends Relatorio {
} }
totalReceita = totalReceita.add(receita); totalReceita = totalReceita.add(receita);
mapTotalReceitaCorrida.put(idCorrida, totalReceita); mapTotalReceitaCorrida.put(idCorrida, totalReceita);
ParadaRelatorioOD paradaOrigem = new ParadaRelatorioOD(rset.getString("ORIGEM"), rset.getString("CVE_ORIGEM"), rset.getInt("SECO")); ParadaRelatorioOD paradaOrigem = new ParadaRelatorioOD(rset.getString("ORIGEM"), rset.getString("CVE_ORIGEM"), rset.getInt("SECO"));
ParadaRelatorioOD paradaDestino = new ParadaRelatorioOD(rset.getString("DESTINO"), rset.getString("CVE_DESTINO"), rset.getInt("SECD")); ParadaRelatorioOD paradaDestino = new ParadaRelatorioOD(rset.getString("DESTINO"), rset.getString("CVE_DESTINO"), rset.getInt("SECD"));
BigDecimal receitaSaida = mapReceitaSaida.get(paradaOrigem); BigDecimal receitaSaida = mapReceitaSaida.get(paradaOrigem);
if (receitaSaida != null) { if (receitaSaida != null) {
mapReceitaSaida.put(paradaOrigem, receita.add(receitaSaida)); mapReceitaSaida.put(paradaOrigem, receita.add(receitaSaida));
@ -237,7 +237,7 @@ public class RelatorioOrigemDestino extends Relatorio {
PesoOperacional pesoOperacional = new PesoOperacional(); PesoOperacional pesoOperacional = new PesoOperacional();
pesoOperacional.setCorridaId(idCorrida); pesoOperacional.setCorridaId(idCorrida);
pesoOperacional.setLocalidade(parada.getCveParada() + " - " +parada.getDescParada()); pesoOperacional.setLocalidade(parada.getCveParada() + " - " + parada.getDescParada());
pesoOperacional.setSecuencia(parada.getNumSecuencia()); pesoOperacional.setSecuencia(parada.getNumSecuencia());
pesoOperacional.setReceitaSaida(receitaSaida); pesoOperacional.setReceitaSaida(receitaSaida);
pesoOperacional.setReceitaChegada(receitaChegada); pesoOperacional.setReceitaChegada(receitaChegada);
@ -426,36 +426,43 @@ public class RelatorioOrigemDestino extends Relatorio {
return sql; return sql;
} }
public class ParadaRelatorioOD{
public class ParadaRelatorioOD {
private String descParada; private String descParada;
private String cveParada; private String cveParada;
private Integer numSecuencia; private Integer numSecuencia;
public ParadaRelatorioOD(String descParada, String cveParada, Integer numSecuencia) { public ParadaRelatorioOD(String descParada, String cveParada, Integer numSecuencia) {
super(); super();
this.descParada = descParada; this.descParada = descParada;
this.cveParada = cveParada; this.cveParada = cveParada;
this.numSecuencia = numSecuencia; this.numSecuencia = numSecuencia;
} }
public String getDescParada() { public String getDescParada() {
return descParada; return descParada;
} }
public void setDescParada(String descParada) { public void setDescParada(String descParada) {
this.descParada = descParada; this.descParada = descParada;
} }
public Integer getNumSecuencia() { public Integer getNumSecuencia() {
return numSecuencia; return numSecuencia;
} }
public void setNumSecuencia(Integer numSecuencia) { public void setNumSecuencia(Integer numSecuencia) {
this.numSecuencia = numSecuencia; this.numSecuencia = numSecuencia;
} }
public String getCveParada() { public String getCveParada() {
return cveParada; return cveParada;
} }
public void setCveParada(String cveParada) { public void setCveParada(String cveParada) {
this.cveParada = cveParada; this.cveParada = cveParada;
} }
@Override @Override
public int hashCode() { public int hashCode() {
final int prime = 31; final int prime = 31;
@ -465,6 +472,7 @@ public class RelatorioOrigemDestino extends Relatorio {
result = prime * result + ((descParada == null) ? 0 : descParada.hashCode()); result = prime * result + ((descParada == null) ? 0 : descParada.hashCode());
return result; return result;
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (this == obj) if (this == obj)
@ -488,10 +496,9 @@ public class RelatorioOrigemDestino extends Relatorio {
return false; return false;
return true; return true;
} }
private RelatorioOrigemDestino getOuterType() { private RelatorioOrigemDestino getOuterType() {
return RelatorioOrigemDestino.this; return RelatorioOrigemDestino.this;
} }
} }
} }

View File

@ -1,7 +1,7 @@
<?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="RelatorioOrigemDestino" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="84b9dfcf-8ec5-4f51-80cc-7339e3b158b4"> <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="RelatorioOrigemDestino" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="84b9dfcf-8ec5-4f51-80cc-7339e3b158b4">
<property name="ireport.zoom" value="1.3310000000000028"/> <property name="ireport.zoom" value="1.3310000000000028"/>
<property name="ireport.x" value="0"/> <property name="ireport.x" value="148"/>
<property name="ireport.y" value="153"/> <property name="ireport.y" value="153"/>
<subDataset name="peso_operacional" uuid="6107709b-669e-4e25-b14f-19ae373fd33c"> <subDataset name="peso_operacional" uuid="6107709b-669e-4e25-b14f-19ae373fd33c">
<parameter name="corrida_id_relatorio" class="java.math.BigDecimal"/> <parameter name="corrida_id_relatorio" class="java.math.BigDecimal"/>
@ -50,10 +50,10 @@
<variableExpression><![CDATA[$F{KM_TRAMO}.multiply(new BigDecimal($F{ABSOLUTOS}.toString())).divide($F{KM_CORRIDA}, 4, 2)]]></variableExpression> <variableExpression><![CDATA[$F{KM_TRAMO}.multiply(new BigDecimal($F{ABSOLUTOS}.toString())).divide($F{KM_CORRIDA}, 4, 2)]]></variableExpression>
</variable> </variable>
<variable name="pax_km" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id"> <variable name="pax_km" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id">
<variableExpression><![CDATA[$V{equivalente}.multiply($F{KM_CORRIDA})]]></variableExpression> <variableExpression><![CDATA[$V{equivalente}.setScale(2,4).multiply($F{KM_CORRIDA})]]></variableExpression>
</variable> </variable>
<variable name="sum_rec_abs" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id" incrementType="Group" incrementGroup="group_corrida_id" calculation="Sum"> <variable name="sum_rec_abs" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id" incrementType="Group" incrementGroup="group_corrida_id">
<variableExpression><![CDATA[$F{RECEITA}.divide( new BigDecimal($F{ABSOLUTOS}.toString()), 2,2)]]></variableExpression> <variableExpression><![CDATA[$V{RECEITA_1}.divide( new BigDecimal($F{ABSOLUTO_TOTAL_CORRIDA}.toString()), 2,2)]]></variableExpression>
</variable> </variable>
<variable name="sum_equivalente" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id" calculation="Sum"> <variable name="sum_equivalente" class="java.math.BigDecimal" resetType="Group" resetGroup="group_corrida_id" calculation="Sum">
<variableExpression><![CDATA[$V{equivalente}]]></variableExpression> <variableExpression><![CDATA[$V{equivalente}]]></variableExpression>
@ -641,11 +641,6 @@
<textElement textAlignment="Right"/> <textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{equivalente}]]></textFieldExpression> <textFieldExpression><![CDATA[$V{equivalente}]]></textFieldExpression>
</textField> </textField>
<textField pattern="#,##0.00">
<reportElement uuid="edc8f07c-0a7b-45c2-8280-ebd8584e60c6" x="394" y="0" width="69" height="21"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{pax_km}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00"> <textField pattern="#,##0.00">
<reportElement uuid="0fe8352f-f787-46b6-adcb-e8dda60b4d9d" x="286" y="0" width="48" height="21"/> <reportElement uuid="0fe8352f-f787-46b6-adcb-e8dda60b4d9d" x="286" y="0" width="48" height="21"/>
<textElement textAlignment="Right"/> <textElement textAlignment="Right"/>
@ -661,6 +656,11 @@
<textElement textAlignment="Right"/> <textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{por_equivalente}]]></textFieldExpression> <textFieldExpression><![CDATA[$V{por_equivalente}]]></textFieldExpression>
</textField> </textField>
<textField>
<reportElement uuid="0de4edf8-49c8-49d2-b2d6-0476fb8ab3ed" x="394" y="0" width="69" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{pax_km}]]></textFieldExpression>
</textField>
</band> </band>
</detail> </detail>
<columnFooter> <columnFooter>