Erro registro valor Conta Corrente e Resumo de Caixa

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@31567 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2013-10-17 21:47:37 +00:00
parent af1b42fa70
commit 2fc9df9292
4 changed files with 63 additions and 78 deletions

View File

@ -23,6 +23,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
*/ */
public class RelatorioAcompanhamentoEquivalentes extends Relatorio { public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
private static final Integer CEM = Integer.valueOf(100);
private static final Integer MAX_DECIMAL = Integer.valueOf(2);
enum IndicadorRelatorio { enum IndicadorRelatorio {
MPE(1), RECEITA_KM(2), RECEITA_VIAGEM(3), IAP(4), PAXKM(5), ABSOLUTO(6), EQ(7); MPE(1), RECEITA_KM(2), RECEITA_VIAGEM(3), IAP(4), PAXKM(5), ABSOLUTO(6), EQ(7);
@ -52,7 +55,6 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
*/ */
public RelatorioAcompanhamentoEquivalentes(Map<String, Object> parametros, Connection conexao) throws Exception { public RelatorioAcompanhamentoEquivalentes(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao); super(parametros, conexao);
// TODO Auto-generated constructor stub
this.setCustomDataSource(new ArrayDataSource(this) { this.setCustomDataSource(new ArrayDataSource(this) {
@ -61,6 +63,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
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(); String sql = getSql();
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if (parametros.get("EMPRESA_ID") != null) if (parametros.get("EMPRESA_ID") != null)
@ -89,6 +92,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
Integer rolOperativoId = this.resultSet.getInt("ROLOPERATIVO_ID"); Integer rolOperativoId = this.resultSet.getInt("ROLOPERATIVO_ID");
Integer corridaId = this.resultSet.getInt("CORRIDA_ID"); Integer corridaId = this.resultSet.getInt("CORRIDA_ID");
Integer assentos = this.resultSet.getInt("ASSENTOS");
Map<String, Object> row = new HashMap<String, Object>(); Map<String, Object> row = new HashMap<String, Object>();
BigDecimal totalMes = BigDecimal.ZERO; BigDecimal totalMes = BigDecimal.ZERO;
Integer totalDias = 0; Integer totalDias = 0;
@ -100,7 +105,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
// Roda todos os dias do mes // Roda todos os dias do mes
for (int dia = 1; dia <= cal.getActualMaximum(Calendar.DATE); dia++) { for (int dia = 1; dia <= cal.getActualMaximum(Calendar.DATE); dia++) {
BigDecimal valor = getValorByIndicador(cal.getTime(), corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR")); BigDecimal valor = getValorByIndicador(cal.getTime(), corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR"), assentos);
if (valor != null) { if (valor != null) {
totalMes = totalMes.add(valor); totalMes = totalMes.add(valor);
@ -133,7 +138,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
} }
protected BigDecimal getValorByIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador) throws SQLException { protected BigDecimal getValorByIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos) throws SQLException {
String sql = null; String sql = null;
@ -161,7 +166,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
break; break;
} }
return getValorIndicador(data, corridaId, sql); return getValorIndicador(data, corridaId, indicador, assentos, sql);
} }
}); });
@ -251,57 +256,30 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
protected String getSqlIndicadorIap() { protected String getSqlIndicadorIap() {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append(" SELECT (TAB1.EQUIVALENTE * TAB1.EXTENSAO_LINHA) /"); sql.append(" SELECT ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ( :CAPACIDADE * ");
sql.append(" (TAB1.CAPACIDADE * TAB1.EXTENSAO_LINHA) VALOR"); sql.append(" EXTENSAO_LINHA ))), ");
sql.append(" FROM (SELECT TAB.*,"); sql.append(" :MAX_DECIMAL ) VALOR ");
sql.append(" (SELECT SUM((TR.CANTKMREAL / TAB.EXTENSAO_LINHA) *"); sql.append(" FROM (SELECT ROUND(SUM(EQ), :MAX_DECIMAL) EQUIVALENTE, ");
sql.append(" COUNT(1))"); sql.append(" EL EXTENSAO_LINHA ");
sql.append(" FROM CORRIDA CR,"); sql.append(" FROM (SELECT ROUND(( BO.NUMKMVIAJE * COUNT(1) / ( EXTENSAO_LINHA.EL ) ");
sql.append(" CORRIDA_TRAMO CT,"); sql.append(" ), :MAX_DECIMAL ) ");
sql.append(" TRAMO TR,"); sql.append(" EQ, ");
sql.append(" BOLETO BO,"); sql.append(" EXTENSAO_LINHA.EL ");
sql.append(" CORRIDA_TRAMO CTD,"); sql.append(" EL ");
sql.append(" CORRIDA_TRAMO CTO"); sql.append(" FROM BOLETO BO, ");
sql.append(" WHERE CR.CORRIDA_ID = :CORRIDA_ID"); sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL ");
sql.append(" AND CR.FECCORRIDA = :FECCORRIDA"); sql.append(" FROM CORRIDA_TRAMO CT1, ");
sql.append(" AND CT.FECCORRIDA = CR.FECCORRIDA"); sql.append(" TRAMO TR1 ");
sql.append(" AND CT.CORRIDA_ID = CR.CORRIDA_ID");
sql.append(" AND TR.TRAMO_ID = CT.TRAMO_ID");
sql.append(" AND BO.CORRIDA_ID = CT.CORRIDA_ID");
sql.append(" AND BO.FECCORRIDA = CT.FECCORRIDA");
sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID");
sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID");
sql.append(" AND CTD.CORRIDA_ID = CT.CORRIDA_ID");
sql.append(" AND CTD.FECCORRIDA = CT.FECCORRIDA");
sql.append(" AND CTO.CORRIDA_ID = CT.CORRIDA_ID");
sql.append(" AND CTO.FECCORRIDA = CT.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 BO.ACTIVO = 1");
sql.append(" AND BO.INDREIMPRESION = 0");
sql.append(" AND BO.INDSTATUSOPERACION = 'F'");
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR");
sql.append(" BO.MOTIVOCANCELACION_ID = 0)");
sql.append(" GROUP BY CT.TRAMO_ID, TR.CANTKMREAL) EQUIVALENTE");
sql.append(" FROM (SELECT (SELECT SUM(TR1.CANTKMREAL)");
sql.append(" FROM CORRIDA_TRAMO CT1, TRAMO TR1");
sql.append(" WHERE CT1.CORRIDA_ID = :CORRIDA_ID "); sql.append(" WHERE CT1.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" AND CT1.FECCORRIDA = :FECCORRIDA "); sql.append(" AND CT1.FECCORRIDA = :FECCORRIDA ");
sql.append(" AND TR1.TRAMO_ID = CT1.TRAMO_ID) EXTENSAO_LINHA,"); sql.append(" AND TR1.TRAMO_ID = CT1.TRAMO_ID) EXTENSAO_LINHA ");
sql.append(" "); sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" (SELECT DA.CANTASIENTOS"); sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
sql.append(" FROM CORRIDA CR,"); sql.append(" AND BO.ACTIVO = 1 ");
sql.append(" ROL_OPERATIVO RO,"); sql.append(" AND ( BO.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" DIAGRAMA_AUTOBUS DA"); sql.append(" OR BO.MOTIVOCANCELACION_ID = 0 ) ");
sql.append(" WHERE CR.CORRIDA_ID = :CORRIDA_ID"); sql.append(" GROUP BY BO.NUMKMVIAJE, EXTENSAO_LINHA.EL) ");
sql.append(" AND CR.FECCORRIDA = :FECCORRIDA"); sql.append(" GROUP BY EQ, EL) ");
sql.append(" AND RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID");
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID =");
sql.append(" DA.DIAGRAMAAUTOBUS_ID) CAPACIDADE");
sql.append(" ");
sql.append(" FROM DUAL) TAB) TAB1");
return sql.toString(); return sql.toString();
@ -405,15 +383,23 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
} }
protected BigDecimal getValorIndicador(Date data, Integer corridaId, String sql) throws SQLException { protected BigDecimal getValorIndicador(Date data, Integer corridaId, Integer indicador, Integer assentos, String sql) throws SQLException {
BigDecimal retorno = null;
try {
Connection conexao = this.getConexao(); Connection conexao = this.getConexao();
BigDecimal retorno = null;
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
stmt.setInt("CORRIDA_ID", corridaId); stmt.setInt("CORRIDA_ID", corridaId);
stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime())); stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime()));
if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) {
stmt.setInt("CAPACIDADE", assentos);
stmt.setInt("CEM", CEM);
stmt.setInt("MAX_DECIMAL", MAX_DECIMAL);
}
ResultSet resultSet = stmt.executeQuery(); ResultSet resultSet = stmt.executeQuery();
if (resultSet.next()) if (resultSet.next())
@ -421,6 +407,9 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
resultSet.close(); resultSet.close();
stmt.close(); stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
return retorno; return retorno;
} }

View File

@ -35,6 +35,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Scope("prototype") @Scope("prototype")
public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForwardComposer { public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired @Autowired
private DataSource dataSource; private DataSource dataSource;
@ -49,8 +51,6 @@ public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForw
private MyComboboxEstandar cmbEmpresa; private MyComboboxEstandar cmbEmpresa;
public void onClick$btnExecutarRelatorio(Event ev) throws Exception { public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio(); executarRelatorio();
} }
@ -69,7 +69,6 @@ public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForw
parametros.put("INDICADOR", Integer.parseInt(rdGroupIndicador.getSelectedItem().getValue())); parametros.put("INDICADOR", Integer.parseInt(rdGroupIndicador.getSelectedItem().getValue()));
parametros.put("INDICADOR_NOME", rdGroupIndicador.getSelectedItem().getLabel()); parametros.put("INDICADOR_NOME", rdGroupIndicador.getSelectedItem().getLabel());
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) { if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue(); Empresa empresa = (Empresa) itemEmpresa.getValue();
@ -80,11 +79,9 @@ public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForw
if (rdGroupServico.getSelectedItem() != null && !rdGroupServico.getSelectedItem().getValue().equals("-1")) if (rdGroupServico.getSelectedItem() != null && !rdGroupServico.getSelectedItem().getValue().equals("-1"))
parametros.put("TIPOSERVICIO_ID", Integer.parseInt(rdGroupServico.getSelectedItem().getValue())); parametros.put("TIPOSERVICIO_ID", Integer.parseInt(rdGroupServico.getSelectedItem().getValue()));
relatorio = new RelatorioAcompanhamentoEquivalentes(parametros, dataSource.getConnection()); relatorio = new RelatorioAcompanhamentoEquivalentes(parametros, dataSource.getConnection());
Map<String, Relatorio> args = new HashMap<String, Relatorio>();
Map args = new HashMap();
args.put("relatorio", relatorio); args.put("relatorio", relatorio);
openWindow("/component/reportView.zul", openWindow("/component/reportView.zul",
@ -99,7 +96,6 @@ public class RelatorioAcompanhamentoEquivalentesController extends MyGenericForw
super.doAfterCompose(comp); super.doAfterCompose(comp);
} }
public List<Empresa> getLsEmpresa() { public List<Empresa> getLsEmpresa() {
return lsEmpresa; return lsEmpresa;
} }

View File

@ -383,7 +383,7 @@ relatorioAcompanhamentoEquivalentesController.lbIndicador.value = Indicador
relatorioAcompanhamentoEquivalentesController.lbIndicador.mpe.value = MPE relatorioAcompanhamentoEquivalentesController.lbIndicador.mpe.value = MPE
relatorioAcompanhamentoEquivalentesController.lbIndicador.receitaKm.value = R$/Km relatorioAcompanhamentoEquivalentesController.lbIndicador.receitaKm.value = R$/Km
relatorioAcompanhamentoEquivalentesController.lbIndicador.receitaViagem.value = R$/Viagem relatorioAcompanhamentoEquivalentesController.lbIndicador.receitaViagem.value = R$/Viagem
relatorioAcompanhamentoEquivalentesController.lbIndicador.iap.value = IAP relatorioAcompanhamentoEquivalentesController.lbIndicador.iap.value = IAP%
relatorioAcompanhamentoEquivalentesController.lbIndicador.paxKm.value = Pax.KM relatorioAcompanhamentoEquivalentesController.lbIndicador.paxKm.value = Pax.KM
relatorioAcompanhamentoEquivalentesController.lbIndicador.absoluto.value = Absoluto relatorioAcompanhamentoEquivalentesController.lbIndicador.absoluto.value = Absoluto
relatorioAcompanhamentoEquivalentesController.lbIndicador.eq.value = Eq relatorioAcompanhamentoEquivalentesController.lbIndicador.eq.value = Eq

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul"> <zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioAcompanhamentoEquivalentes" <window id="winFiltroRelatorioAcompanhamentoEquivalentes"
apply="${relatorioAcompanhamentoEquivalentesController}" apply="${relatorioAcompanhamentoEquivalentesController}"
contentStyle="overflow:auto" height="278px" width="550px" contentStyle="overflow:auto" height="260px" width="550px"
border="normal"> border="normal">
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>