Erro - Relatório de Aproveitamento (fixes bug #6206)
Tempo: 32 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43384 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
b32bb7969c
commit
4ea9f5e5c5
|
@ -4,8 +4,8 @@
|
||||||
package com.rjconsultores.ventaboletos.relatorios.impl;
|
package com.rjconsultores.ventaboletos.relatorios.impl;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -14,6 +14,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.AproveitamentoBean;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAproveitamentoBean;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAproveitamentoBean;
|
||||||
|
@ -36,32 +37,83 @@ public class RelatorioAproveitamento extends Relatorio {
|
||||||
public void initDados() throws Exception {
|
public void initDados() throws Exception {
|
||||||
|
|
||||||
Connection conexao = this.relatorio.getConexao();
|
Connection conexao = this.relatorio.getConexao();
|
||||||
|
|
||||||
Map<String, Object> parametros = this.relatorio.getParametros();
|
Map<String, Object> parametros = this.relatorio.getParametros();
|
||||||
|
|
||||||
String sql = getSql();
|
List<AproveitamentoBean> aproveitamentoList = new ArrayList<AproveitamentoBean>();
|
||||||
|
|
||||||
PreparedStatement stmt = null;
|
NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql());
|
||||||
ResultSet rset = null;
|
stmt.setInt("CORRIDA_ID", Integer.valueOf((String) parametros.get("CORRIDA_ID")));
|
||||||
stmt = conexao.prepareStatement(sql);
|
stmt.setDate("FECCORRIDA", (java.sql.Date) parametros.get("FECCORRIDA"));
|
||||||
|
|
||||||
stmt.setInt(1, Integer.valueOf((String) parametros.get("CORRIDA_ID")));
|
ResultSet rset = stmt.executeQuery();
|
||||||
stmt.setDate(2, (java.sql.Date) parametros.get("FECCORRIDA"));
|
while (rset.next()) {
|
||||||
rset = stmt.executeQuery();
|
|
||||||
|
|
||||||
if (rset.next()) {
|
AproveitamentoBean ab = new AproveitamentoBean();
|
||||||
|
ab.setTrechoArrecadado((BigDecimal) rset.getObject("TOTAL_ARRECADADO"));
|
||||||
|
ab.setTotalAsientos((BigDecimal) rset.getObject("TOTAL_ASIENTOS"));
|
||||||
|
ab.setOrigenId((BigDecimal) rset.getObject("ORIGEN_ID") == null ? null : ((BigDecimal) rset.getObject("ORIGEN_ID")).intValue());
|
||||||
|
ab.setDestinoId((BigDecimal) rset.getObject("DESTINO_ID") == null ? null : ((BigDecimal) rset.getObject("DESTINO_ID")).intValue());
|
||||||
|
ab.setKmNominal((BigDecimal) rset.getObject("KM_NOMINAL"));
|
||||||
|
ab.setTotalOcupados((String) rset.getObject("TOTAL_OCUPADOS") == null ? null : new BigDecimal((String) rset.getObject("TOTAL_OCUPADOS")));
|
||||||
|
ab.setKmCorrida((BigDecimal) rset.getObject("KM_CORRIDA"));
|
||||||
|
ab.setTarifa((BigDecimal) rset.getObject("TARIFA"));
|
||||||
|
|
||||||
Locale locale = new Locale("pt", "BR");
|
BigDecimal gratuido = (BigDecimal) rset.getObject("GRATUITO") == null ? null : ((BigDecimal) rset.getObject("GRATUITO"));
|
||||||
|
ab.setGratuito(gratuido == BigDecimal.ZERO ? false : true);
|
||||||
|
BigDecimal vendidos = (BigDecimal) rset.getObject("VENDIDOS") == null ? null : ((BigDecimal) rset.getObject("VENDIDOS"));
|
||||||
|
ab.setVendidos(vendidos == BigDecimal.ZERO ? false : true);
|
||||||
|
|
||||||
parametros.put("P_NOMINAL_KM", CurrencyUtil.getCurrencyStrFromStr(rset.getString("NOMINAL_KM"), locale));
|
aproveitamentoList.add(ab);
|
||||||
parametros.put("P_TOTAL_ARRECADADO", CurrencyUtil.getCurrencyStrFromStr(rset.getString("TOTAL_ARRECADADO"), locale));
|
|
||||||
parametros.put("P_ARRECADO_KM", CurrencyUtil.getCurrencyStrFromStr(rset.getString("ARRECADADO_KM"), locale));
|
|
||||||
parametros.put("P_OCUPACAO", CurrencyUtil.getPercentStrFromStr(rset.getString("OCUPACAO"), locale));
|
|
||||||
parametros.put("P_OCUPACAO_ARRECADACAO", CurrencyUtil.getPercentStrFromStr(rset.getString("OCUPACAO_ARRECADACAO"), locale));
|
|
||||||
parametros.put("P_TOTAL_NOMINAL", CurrencyUtil.getCurrencyStrFromStr(rset.getString("TOTAL_NOMINAL"), locale));
|
|
||||||
parametros.put("P_OCUPACAO_S_ARRECADACAO", CurrencyUtil.getPercentStrFromStr(rset.getString("OCUPACAO_S_ARRECADACAO"), locale));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BigDecimal totalArrecadado = BigDecimal.ZERO;
|
||||||
|
BigDecimal totalNominal = BigDecimal.ZERO;
|
||||||
|
BigDecimal kmCorrida = BigDecimal.ZERO;
|
||||||
|
BigDecimal totalOcupados = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
BigDecimal ocupacao = BigDecimal.ONE;
|
||||||
|
BigDecimal ocupacaoArrecadacao = BigDecimal.ONE;
|
||||||
|
BigDecimal ocupacaoSemArrecadacao = BigDecimal.ONE;
|
||||||
|
BigDecimal tarifa = BigDecimal.ONE;
|
||||||
|
|
||||||
|
for (AproveitamentoBean ab : aproveitamentoList) {
|
||||||
|
|
||||||
|
totalOcupados = ab.getTotalOcupados();
|
||||||
|
kmCorrida = ab.getKmCorrida();
|
||||||
|
tarifa = ab.getTarifa();
|
||||||
|
|
||||||
|
totalArrecadado = totalArrecadado.add(ab.getTrechoArrecadado());
|
||||||
|
ocupacao = ocupacao.add(ab.getTotalAsientos().multiply(ab.getKmNominal()));
|
||||||
|
|
||||||
|
if (ab.getGratuito()) {
|
||||||
|
ocupacaoSemArrecadacao = ocupacaoSemArrecadacao.add(ab.getTotalAsientos().multiply(ab.getKmNominal()));
|
||||||
|
} else {
|
||||||
|
ocupacaoArrecadacao = ocupacaoArrecadacao.add(ab.getTotalAsientos().multiply(ab.getKmNominal()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
totalNominal = tarifa.multiply(totalOcupados);
|
||||||
|
|
||||||
|
BigDecimal arrecadadoKm = BigDecimal.ONE;
|
||||||
|
arrecadadoKm = totalArrecadado.divide(kmCorrida, 4, RoundingMode.HALF_EVEN);
|
||||||
|
BigDecimal nominalKmFinal = BigDecimal.ONE;
|
||||||
|
nominalKmFinal = totalNominal.divide(kmCorrida, 4, RoundingMode.HALF_EVEN);
|
||||||
|
|
||||||
|
ocupacao = ocupacao.divide(totalOcupados.multiply(kmCorrida), 4, RoundingMode.HALF_EVEN);
|
||||||
|
ocupacaoSemArrecadacao = ocupacaoSemArrecadacao.divide(totalOcupados.multiply(kmCorrida), 4, RoundingMode.HALF_EVEN);
|
||||||
|
ocupacaoArrecadacao = ocupacaoArrecadacao.divide(totalOcupados.multiply(kmCorrida), 4, RoundingMode.HALF_EVEN);
|
||||||
|
|
||||||
|
Locale locale = new Locale("pt", "BR");
|
||||||
|
parametros.put("P_TOTAL_ARRECADADO", CurrencyUtil.getCurrencyBigDecimalFromStr(totalArrecadado, locale));
|
||||||
|
parametros.put("P_TOTAL_NOMINAL", CurrencyUtil.getCurrencyBigDecimalFromStr(totalNominal, locale));
|
||||||
|
|
||||||
|
parametros.put("P_ARRECADO_KM", CurrencyUtil.getCurrencyBigDecimalFromStr(arrecadadoKm, locale));
|
||||||
|
parametros.put("P_NOMINAL_KM", CurrencyUtil.getCurrencyBigDecimalFromStr(nominalKmFinal, locale));
|
||||||
|
|
||||||
|
parametros.put("P_OCUPACAO", CurrencyUtil.getPercentBigDecimalFromStr(ocupacao, locale));
|
||||||
|
parametros.put("P_OCUPACAO_ARRECADACAO", CurrencyUtil.getPercentBigDecimalFromStr(ocupacaoArrecadacao, locale));
|
||||||
|
parametros.put("P_OCUPACAO_S_ARRECADACAO", CurrencyUtil.getPercentBigDecimalFromStr(ocupacaoSemArrecadacao, locale));
|
||||||
|
|
||||||
NamedParameterStatement nps = new NamedParameterStatement(conexao, getSqlDetail());
|
NamedParameterStatement nps = new NamedParameterStatement(conexao, getSqlDetail());
|
||||||
|
|
||||||
nps.setInt("CORRIDA_ID", Integer.valueOf((String) parametros.get("CORRIDA_ID")));
|
nps.setInt("CORRIDA_ID", Integer.valueOf((String) parametros.get("CORRIDA_ID")));
|
||||||
|
@ -200,210 +252,156 @@ public class RelatorioAproveitamento extends Relatorio {
|
||||||
private String getSql() {
|
private String getSql() {
|
||||||
|
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT ");
|
||||||
sql.append(" SELECT round(NVL(TAB.TOTAL_ARRECADADO, 0), 2) TOTAL_ARRECADADO, ");
|
sql.append(" SUM(TRECHOS_VG.PRECIOPAGADO) AS TOTAL_ARRECADADO, ");
|
||||||
sql.append(" round(NVL(TAB.TOTAL_ARRECADADO / TAB.KM_NOMINAL, 0), 2) ARRECADADO_KM, ");
|
sql.append(" COUNT(TRECHOS_VG.BOLETO_ID) AS TOTAL_ASIENTOS, ");
|
||||||
sql.append(" round(NVL(TAB.TOTAL_NOMINAL, 0), 2) TOTAL_NOMINAL, ");
|
sql.append(" TRECHOS_VG.ORIGEN_ID AS ORIGEN_ID, ");
|
||||||
sql.append(" NVL(round(TAB.TOTAL_NOMINAL / TAB.KM_NOMINAL, 2), 0) NOMINAL_KM, ");
|
sql.append(" TRECHOS_VG.DESTINO_ID AS DESTINO_ID, ");
|
||||||
sql.append(" ((TAB.TOTAL_OCUPADOS + TAB.TOTAL_OCUPADOS_OPERACAO) / (CASE TAB.TOTAL_ACENTOS WHEN 0 THEN 1 ELSE TAB.TOTAL_ACENTOS END) ) OCUPACAO, ");
|
sql.append(" TRECHOS_VG.GRATUITO AS GRATUITO, ");
|
||||||
sql.append(" ((TAB.TOTAL_OCUPADOS - TAB.TOTAL_OCUPADOS_GRATUIDADE) / (CASE TAB.TOTAL_ACENTOS WHEN 0 THEN 1 ELSE TAB.TOTAL_ACENTOS END) ) OCUPACAO_ARRECADACAO, ");
|
sql.append(" TRECHOS_VG.VENDIDOS AS VENDIDOS, ");
|
||||||
sql.append(" ((TAB.TOTAL_OCUPADOS_GRATUIDADE + TAB.TOTAL_OCUPADOS_OPERACAO) / (CASE TAB.TOTAL_ACENTOS WHEN 0 THEN 1 ELSE TAB.TOTAL_ACENTOS END) ) OCUPACAO_S_ARRECADACAO ");
|
sql.append(" TRECHOS_VG.CANTKMREAL AS KM_NOMINAL, ");
|
||||||
sql.append(" FROM (SELECT (SELECT SUM(BO.PRECIOPAGADO) ");
|
sql.append(" TRECHOS_VG.DESCROLOPERATIVO AS TOTAL_OCUPADOS, ");
|
||||||
sql.append(" FROM BOLETO BO ");
|
sql.append(" TRECHOS_VG.KM_CORRIDA AS KM_CORRIDA, ");
|
||||||
sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" TRECHOS_VG.TARIFA AS TARIFA ");
|
||||||
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append("FROM ");
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
sql.append(" ( ");
|
||||||
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
sql.append(" SELECT ");
|
||||||
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR ");
|
sql.append(" BO.PRECIOPAGADO, ");
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0)) TOTAL_ARRECADADO, ");
|
sql.append(" BO.BOLETO_ID AS BOLETO_ID, ");
|
||||||
sql.append(" ");
|
sql.append(" BO.ORIGEN_ID AS ORIGEN_ID, ");
|
||||||
sql.append(" (SELECT SUM(TR.CANTKMREAL) ");
|
sql.append(" BO.DESTINO_ID AS DESTINO_ID, ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
sql.append(" CASE ");
|
||||||
sql.append(" TRAMO TR, ");
|
sql.append(" WHEN BO.PRECIOBASE = 0 ");
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
sql.append(" THEN 1 ");
|
||||||
sql.append(" DIAGRAMA_AUTOBUS DA ");
|
sql.append(" ELSE 0 ");
|
||||||
sql.append(" WHERE CT.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" END AS GRATUITO, ");
|
||||||
sql.append(" AND CT.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" CASE ");
|
||||||
sql.append(" AND RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID ");
|
sql.append(" WHEN BO.PRECIOBASE > 0 ");
|
||||||
sql.append(" AND DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID ");
|
sql.append(" THEN 1 ");
|
||||||
sql.append(" AND TR.TRAMO_ID = CT.TRAMO_ID ");
|
sql.append(" ELSE 0 ");
|
||||||
sql.append(" AND TR.ACTIVO = 1 ");
|
sql.append(" END AS VENDIDOS, ");
|
||||||
sql.append(" AND CT.ACTIVO = 1) KM_NOMINAL, ");
|
sql.append(" TR.CANTKMREAL, ");
|
||||||
sql.append(" ");
|
sql.append(" RO.DESCROLOPERATIVO, ");
|
||||||
sql.append(" (SELECT SUM((SELECT TR.CANTKMREAL ");
|
sql.append(" ( ");
|
||||||
sql.append(" FROM BOLETO BO, ");
|
sql.append(" SELECT ");
|
||||||
sql.append(" CORRIDA_TRAMO CTD, ");
|
sql.append(" SUM(CANTKMREAL) ");
|
||||||
sql.append(" CORRIDA_TRAMO CTO ");
|
sql.append(" FROM ");
|
||||||
sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" CORRIDA_TRAMO BO ");
|
||||||
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND BO.NUMASIENTO = DD.ASIENTO ");
|
sql.append(" TRAMO T ");
|
||||||
sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID ");
|
sql.append(" T.TRAMO_ID = BO.TRAMO_ID ");
|
||||||
sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" WHERE ");
|
||||||
sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" BO.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" AND BO.ACTIVO = 1) AS KM_CORRIDA, ");
|
||||||
sql.append(" AND CTO.ACTIVO = 1 ");
|
sql.append(" ( ");
|
||||||
sql.append(" AND CTD.ACTIVO = 1 ");
|
sql.append(" SELECT ");
|
||||||
sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND ");
|
sql.append(" TF.PRECIO ");
|
||||||
sql.append(" CTD.NUMSECUENCIA ");
|
sql.append(" FROM ");
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
sql.append(" CORRIDA CR ");
|
||||||
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR ");
|
sql.append(" TRAMO TR ");
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0))) ");
|
sql.append(" ON ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
sql.append(" TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
||||||
sql.append(" TRAMO TR, ");
|
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
sql.append(" TARIFA TF ");
|
||||||
sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID ");
|
sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
||||||
sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID ");
|
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
||||||
sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ");
|
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND CT.ACTIVO = 1) KM_OCUPADA, ");
|
sql.append(" VIGENCIA_TARIFA VT ");
|
||||||
sql.append(" ");
|
sql.append(" ON ");
|
||||||
sql.append(" (SELECT SUM(TF.PRECIO) ");
|
sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
||||||
sql.append(" FROM TRAMO TR, ");
|
sql.append(" WHERE ");
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
sql.append(" CR.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD, ");
|
sql.append(" AND CR.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" TARIFA TF, ");
|
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
||||||
sql.append(" VIGENCIA_TARIFA VT ");
|
sql.append(" AND TF.ACTIVO = 1 ");
|
||||||
sql.append(" WHERE RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID ");
|
sql.append(" AND VT.ACTIVO = 1 ");
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA) AS TARIFA ");
|
||||||
sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
sql.append(" FROM ");
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
sql.append(" BOLETO BO ");
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
sql.append(" CORRIDA CR ");
|
||||||
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
sql.append(" BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
||||||
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
||||||
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
sql.append(" CORRIDA_TRAMO CT ");
|
||||||
sql.append(" AND TF.ACTIVO = 1 ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
sql.append(" BO.ORIGEN_ID = CT.ORIGEN_ID ");
|
||||||
sql.append(" AND VT.ACTIVO = 1 ");
|
sql.append(" AND BO.DESTINO_ID = CT.DESTINO_ID ");
|
||||||
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" VT.FECFINVIGENCIA) TOTAL_NOMINAL, ");
|
sql.append(" TRAMO TR ");
|
||||||
sql.append(" ");
|
sql.append(" ON ");
|
||||||
sql.append(" (SELECT COUNT(1) ");
|
sql.append(" TR.TRAMO_ID = CT.TRAMO_ID ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" TRAMO TR, ");
|
sql.append(" TARIFA TF ");
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
sql.append(" ON ");
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
||||||
sql.append(" WHERE ");
|
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
||||||
sql.append(" ");
|
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
||||||
sql.append(" CR.FECCORRIDA = CT.FECCORRIDA ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID ");
|
sql.append(" VIGENCIA_TARIFA VT ");
|
||||||
sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ");
|
sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
sql.append(" INNER JOIN ");
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
sql.append(" ROL_OPERATIVO RO ");
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
sql.append(" ON ");
|
||||||
sql.append(" AND CT.ACTIVO = 1) TOTAL_ACENTOS, ");
|
sql.append(" RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID, ");
|
||||||
sql.append(" ");
|
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
||||||
sql.append(" (SELECT COUNT((SELECT 1 ");
|
sql.append(" WHERE ");
|
||||||
sql.append(" FROM BOLETO BO, ");
|
sql.append(" BO.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" CORRIDA_TRAMO CTD, ");
|
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" CORRIDA_TRAMO CTO ");
|
sql.append(" AND CR.ACTIVO = 1 ");
|
||||||
sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" AND CT.ACTIVO = 1 ");
|
||||||
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" AND BO.ACTIVO = 1 ");
|
||||||
sql.append(" AND BO.NUMASIENTO = DD.ASIENTO ");
|
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
||||||
sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID ");
|
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL ");
|
||||||
sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID ");
|
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
||||||
sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
||||||
sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" AND TF.ACTIVO = 1 ");
|
||||||
sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" AND VT.ACTIVO = 1 ");
|
||||||
sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
|
||||||
sql.append(" AND CTO.ACTIVO = 1 ");
|
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
||||||
sql.append(" AND CTD.ACTIVO = 1 ");
|
sql.append(" AND DD.VENDIBLE = 1 ");
|
||||||
sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND ");
|
sql.append(" AND DD.ACTIVO = 1 ");
|
||||||
sql.append(" CTD.NUMSECUENCIA ");
|
sql.append(" GROUP BY ");
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
sql.append(" BO.BOLETO_ID, ");
|
||||||
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
sql.append(" BO.ORIGEN_ID, ");
|
||||||
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR ");
|
sql.append(" BO.DESTINO_ID, ");
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0))) ");
|
sql.append(" ( ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
sql.append(" CASE ");
|
||||||
sql.append(" TRAMO TR, ");
|
sql.append(" WHEN BO.PRECIOBASE = 0 ");
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
sql.append(" THEN 1 ");
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
sql.append(" ELSE 0 ");
|
||||||
sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA ");
|
sql.append(" END), ");
|
||||||
sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID ");
|
sql.append(" ( ");
|
||||||
sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID ");
|
sql.append(" CASE ");
|
||||||
sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ");
|
sql.append(" WHEN BO.PRECIOBASE > 0 ");
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
sql.append(" THEN 1 ");
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
sql.append(" ELSE 0 ");
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
sql.append(" END), ");
|
||||||
sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS, ");
|
sql.append(" TR.CANTKMREAL, ");
|
||||||
sql.append(" (SELECT COUNT((SELECT 1 ");
|
sql.append(" BO.PRECIOPAGADO, ");
|
||||||
sql.append(" FROM BOLETO BO, ");
|
sql.append(" TF.PRECIO, ");
|
||||||
sql.append(" CORRIDA_TRAMO CTD, ");
|
sql.append(" RO.DESCROLOPERATIVO ");
|
||||||
sql.append(" CORRIDA_TRAMO CTO ");
|
sql.append(" ORDER BY ");
|
||||||
sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" BO.ORIGEN_ID, ");
|
||||||
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" BO.DESTINO_ID ) TRECHOS_VG ");
|
||||||
sql.append(" AND BO.NUMASIENTO = DD.ASIENTO ");
|
sql.append("GROUP BY ");
|
||||||
sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID ");
|
sql.append(" TRECHOS_VG.ORIGEN_ID, ");
|
||||||
sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID ");
|
sql.append(" TRECHOS_VG.DESTINO_ID, ");
|
||||||
sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" TRECHOS_VG.GRATUITO, ");
|
||||||
sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" TRECHOS_VG.VENDIDOS, ");
|
||||||
sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID ");
|
sql.append(" TRECHOS_VG.CANTKMREAL, ");
|
||||||
sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA ");
|
sql.append(" TRECHOS_VG.DESCROLOPERATIVO, ");
|
||||||
sql.append(" AND BO.PRECIOBASE = 0 ");
|
sql.append(" TRECHOS_VG.KM_CORRIDA, ");
|
||||||
sql.append(" AND CTO.ACTIVO = 1 ");
|
sql.append(" TRECHOS_VG.TARIFA");
|
||||||
sql.append(" AND CTD.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND ");
|
|
||||||
sql.append(" CTD.NUMSECUENCIA ");
|
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
|
||||||
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR ");
|
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0))) ");
|
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
|
||||||
sql.append(" TRAMO TR, ");
|
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
|
||||||
sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA ");
|
|
||||||
sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID ");
|
|
||||||
sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID ");
|
|
||||||
sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ");
|
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS_GRATUIDADE, ");
|
|
||||||
sql.append(" ");
|
|
||||||
sql.append(" (SELECT COUNT((SELECT 1 ");
|
|
||||||
sql.append(" FROM ASIENTO_EXCLUSIVO AE, ");
|
|
||||||
sql.append(" CORRIDA_TRAMO CTD, ");
|
|
||||||
sql.append(" CORRIDA_TRAMO CTO ");
|
|
||||||
sql.append(" WHERE AE.CORRIDA_ID = CR.CORRIDA_ID ");
|
|
||||||
sql.append(" AND AE.FECCORRIDA = CR.FECCORRIDA ");
|
|
||||||
sql.append(" AND AE.NUMASIENTO = DD.ASIENTO ");
|
|
||||||
sql.append(" AND AE.PARADA_ID = CTO.ORIGEN_ID ");
|
|
||||||
sql.append(" AND NVL(AE.DESTINO_ID, CR.DESTINO_ID) = ");
|
|
||||||
sql.append(" CTD.DESTINO_ID ");
|
|
||||||
sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID ");
|
|
||||||
sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA ");
|
|
||||||
sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID ");
|
|
||||||
sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA ");
|
|
||||||
sql.append(" AND CTO.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CTD.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND ");
|
|
||||||
sql.append(" CTD.NUMSECUENCIA ");
|
|
||||||
sql.append(" AND AE.ACTIVO = 1)) ");
|
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT, ");
|
|
||||||
sql.append(" TRAMO TR, ");
|
|
||||||
sql.append(" ROL_OPERATIVO RO, ");
|
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
|
||||||
sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA ");
|
|
||||||
sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID ");
|
|
||||||
sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID ");
|
|
||||||
sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ");
|
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS_OPERACAO ");
|
|
||||||
sql.append(" FROM CORRIDA CR ");
|
|
||||||
sql.append(" WHERE CR.CORRIDA_ID = ? ");
|
|
||||||
sql.append(" AND CR.FECCORRIDA = ? ) TAB ");
|
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -340,7 +340,11 @@
|
||||||
</rectangle>
|
</rectangle>
|
||||||
<rectangle radius="0">
|
<rectangle radius="0">
|
||||||
<reportElement style="Crosstab Data Text" x="0" y="0" width="20" height="8" forecolor="#000000" backcolor="#FF0000" uuid="14f27af8-ce53-48f5-ab9d-991aafbe15bb">
|
<reportElement style="Crosstab Data Text" x="0" y="0" width="20" height="8" forecolor="#000000" backcolor="#FF0000" uuid="14f27af8-ce53-48f5-ab9d-991aafbe15bb">
|
||||||
<printWhenExpression><![CDATA[$V{ocupadoMeasure}.intValue() == 5]]></printWhenExpression>
|
<printWhenExpression><![CDATA[$V{ocupadoMeasure} == null ? $V{ocupadoOperacaoMeasure} != null: $V{ocupadoMeasure}.intValue() == 5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
]]></printWhenExpression>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
</rectangle>
|
</rectangle>
|
||||||
<rectangle radius="0">
|
<rectangle radius="0">
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class AproveitamentoBean {
|
||||||
|
|
||||||
|
private BigDecimal trechoArrecadado;
|
||||||
|
private BigDecimal totalAsientos;
|
||||||
|
private Integer origenId;
|
||||||
|
private Integer destinoId;
|
||||||
|
private Boolean gratuito;
|
||||||
|
private Boolean vendidos;
|
||||||
|
private BigDecimal kmNominal;
|
||||||
|
private BigDecimal kmCorrida;
|
||||||
|
private BigDecimal totalOcupados;
|
||||||
|
private BigDecimal tarifa;
|
||||||
|
|
||||||
|
public BigDecimal getTotalAsientos() {
|
||||||
|
return totalAsientos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalAsientos(BigDecimal totalAsientos) {
|
||||||
|
this.totalAsientos = totalAsientos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getOrigenId() {
|
||||||
|
return origenId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrigenId(Integer origenId) {
|
||||||
|
this.origenId = origenId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDestinoId() {
|
||||||
|
return destinoId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinoId(Integer destinoId) {
|
||||||
|
this.destinoId = destinoId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getGratuito() {
|
||||||
|
return gratuito;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGratuito(Boolean gratuito) {
|
||||||
|
this.gratuito = gratuito;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getVendidos() {
|
||||||
|
return vendidos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVendidos(Boolean vendidos) {
|
||||||
|
this.vendidos = vendidos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getKmNominal() {
|
||||||
|
return kmNominal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKmNominal(BigDecimal kmNominal) {
|
||||||
|
this.kmNominal = kmNominal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getTotalOcupados() {
|
||||||
|
return totalOcupados;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalOcupados(BigDecimal totalOcupados) {
|
||||||
|
this.totalOcupados = totalOcupados;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getTrechoArrecadado() {
|
||||||
|
return trechoArrecadado;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTrechoArrecadado(BigDecimal trechoArrecadado) {
|
||||||
|
this.trechoArrecadado = trechoArrecadado;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getKmCorrida() {
|
||||||
|
return kmCorrida;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKmCorrida(BigDecimal kmCorrida) {
|
||||||
|
this.kmCorrida = kmCorrida;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getTarifa() {
|
||||||
|
return tarifa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTarifa(BigDecimal tarifa) {
|
||||||
|
this.tarifa = tarifa;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -41,6 +41,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||||
@Scope("prototype")
|
@Scope("prototype")
|
||||||
public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
|
public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DataSource dataSourceRead;
|
private DataSource dataSourceRead;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -69,6 +71,7 @@ public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
private void executarRelatorio() throws Exception {
|
private void executarRelatorio() throws Exception {
|
||||||
|
|
||||||
Relatorio relatorio;
|
Relatorio relatorio;
|
||||||
|
@ -86,12 +89,11 @@ public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
|
||||||
if (itemRuta != null) {
|
if (itemRuta != null) {
|
||||||
Ruta ruta = (Ruta) itemRuta.getValue();
|
Ruta ruta = (Ruta) itemRuta.getValue();
|
||||||
parametros.put("RUTA_ID", ruta.getRutaId());
|
parametros.put("RUTA_ID", ruta.getRutaId());
|
||||||
filtro.append(ruta.getDescruta()+";");
|
filtro.append(ruta.getDescruta() + ";");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
filtro.append("Todas;");
|
filtro.append("Todas;");
|
||||||
|
|
||||||
|
|
||||||
Comboitem itemGrupoRuta = cmbGrupoRuta.getSelectedItem();
|
Comboitem itemGrupoRuta = cmbGrupoRuta.getSelectedItem();
|
||||||
|
|
||||||
filtro.append("Grupo de Linha: ");
|
filtro.append("Grupo de Linha: ");
|
||||||
|
@ -103,7 +105,6 @@ public class RelatorioResumoLinhasController extends MyGenericForwardComposer {
|
||||||
else
|
else
|
||||||
filtro.append("Todos;");
|
filtro.append("Todos;");
|
||||||
|
|
||||||
|
|
||||||
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
|
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
|
||||||
if (itemEmpresa != null) {
|
if (itemEmpresa != null) {
|
||||||
Empresa empresa = (Empresa) itemEmpresa.getValue();
|
Empresa empresa = (Empresa) itemEmpresa.getValue();
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
*/
|
*/
|
||||||
package com.rjconsultores.ventaboletos.web.utilerias;
|
package com.rjconsultores.ventaboletos.web.utilerias;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
@ -13,19 +14,25 @@ import java.util.Locale;
|
||||||
public final class CurrencyUtil {
|
public final class CurrencyUtil {
|
||||||
|
|
||||||
public static String getCurrencyStrFromStr(String value, Locale locale) {
|
public static String getCurrencyStrFromStr(String value, Locale locale) {
|
||||||
|
NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(locale);
|
||||||
NumberFormat moedaFormat =
|
|
||||||
NumberFormat.getCurrencyInstance(locale);
|
|
||||||
return moedaFormat.format(Double.parseDouble(value));
|
return moedaFormat.format(Double.parseDouble(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getCurrencyBigDecimalFromStr(BigDecimal value, Locale locale) {
|
||||||
|
NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(locale);
|
||||||
|
return moedaFormat.format(value.doubleValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPercentStrFromStr(String value, Locale locale) {
|
public static String getPercentStrFromStr(String value, Locale locale) {
|
||||||
|
|
||||||
NumberFormat percentFormat = NumberFormat.getPercentInstance(locale);
|
NumberFormat percentFormat = NumberFormat.getPercentInstance(locale);
|
||||||
percentFormat.setMinimumFractionDigits(2);
|
percentFormat.setMinimumFractionDigits(2);
|
||||||
|
|
||||||
return percentFormat.format(Double.parseDouble(value));
|
return percentFormat.format(Double.parseDouble(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getPercentBigDecimalFromStr(BigDecimal value, Locale locale) {
|
||||||
|
NumberFormat percentFormat = NumberFormat.getPercentInstance(locale);
|
||||||
|
percentFormat.setMinimumFractionDigits(2);
|
||||||
|
return percentFormat.format(value.doubleValue());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<zk xmlns="http://www.zkoss.org/2005/zul">
|
<zk xmlns="http://www.zkoss.org/2005/zul">
|
||||||
<window id="winFiltroRelatorioAproveitamento"
|
<window id="winFiltroRelatorioAproveitamento"
|
||||||
apply="${relatorioAproveitamentoController}"
|
apply="${relatorioAproveitamentoController}"
|
||||||
contentStyle="overflow:auto" height="540px" width="750px"
|
contentStyle="overflow:auto" height="340px" width="750px"
|
||||||
border="normal">
|
border="normal">
|
||||||
<grid fixedLayout="true">
|
<grid fixedLayout="true">
|
||||||
<columns>
|
<columns>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<zk xmlns="http://www.zkoss.org/2005/zul">
|
<zk xmlns="http://www.zkoss.org/2005/zul">
|
||||||
<window id="winFiltroRelatorioResumoLinhas"
|
<window id="winFiltroRelatorioResumoLinhas"
|
||||||
apply="${relatorioResumoLinhasController}"
|
apply="${relatorioResumoLinhasController}"
|
||||||
contentStyle="overflow:auto" height="215px" width="480px"
|
contentStyle="overflow:auto" width="480px"
|
||||||
border="normal">
|
border="normal">
|
||||||
<grid fixedLayout="true">
|
<grid fixedLayout="true">
|
||||||
<columns>
|
<columns>
|
||||||
|
|
Loading…
Reference in New Issue