Minha query está ok, via select retorna certinho mas, no Java, digo não retorna nada no JSP… O que pode?
[code]/**
*
* Funcionalidade método: TODO: Pesquisa de Pendências
*
* @param voAlcada
* @return
*/
@SuppressWarnings(“unchecked”)
public List getPendencias(VDadosDocumentoFormalizacao vDadosDocumentoFormalizacao) {
List pendencias = new ArrayList();
try {
ArrayList params = new ArrayList(0);
VQuery query = new VQuery(queryPendencias(vDadosDocumentoFormalizacao.getNuProposta()),params);
Collection col = selecionar(query);
if(col != null && col.size() > 0) {
for(Iterator it = col.iterator(); it.hasNext()
pendencias.add(createDadosDocumentoFormalizacao(new MapWrapper((Map) it.next())));
}
} catch(Exception e) {
logger.error(“Erro ao pesquisar Pendencias, tabela e TbDadosDocumentoFormalizacao”, e);
e.printStackTrace();
throw new RuntimeException(“Erro ao pesquisar Pendencias, tabela e TbDadosDocumentoFormalizacao”, e);
}
return pendencias;
}
private String queryPendencias(Integer nuProposta) {
StringBuffer query = new StringBuffer()
.append("SELECT tp.NmTipoDocumento AS Tipo,")
.append(" d.NmDocumento AS Descricao, ") //dar espaço para não ficar grudada uma linha na outra
.append(" mp.DsMotivo AS Motivo, ")
.append(" sf.DsStatusFormalizacao AS Status")
.append(" FROM DBPENDENCIA..TbDadosDocumentoFormalizacao ddf")
.append(" INNER JOIN DBCOR..TbDocumento d ON ddf.CdDocumento = d.CdDocumento")
.append(" INNER JOIN DBPENDENCIA..TbMotivoPendencia mp ON ddf.CdMotivoPendencia = mp.CdMotivoPendencia")
.append(" INNER JOIN DBPENDENCIA..TbFormalizacaoAutorizacaoPagto fap ON fap.NuProposta = ddf.NuProposta")
.append(" INNER JOIN DBPENDENCIA..TbStatusFormalizacao sf ON sf.CdStatusFormalizacao = fap.CdStatusFormalizacao")
.append(" INNER JOIN DBCOR..TbTipoDocumento tp ON tp.CdTipoDocumento = d.CdTipoDocumento")
.append(" where fap.NuProposta =" + nuProposta) //tá recebendo nuProposta dinamicamente ex: da query -> where fap.NuProposta = 7007652
.append(" UNION ALL")
.append(" SELECT 'Cheque' AS Tipo, ")
.append(" 'Parcela' + RIGHT(rtrim(ltrim('0' + convert(VARCHAR(3),ddf.NuParcela))),2) AS Descricao,")
.append(" mp.DsMotivo AS Motivo,")
.append(" sf.DsStatusFormalizacao AS Status")
.append(" FROM dbpendencia..TbDadosChequeTbMotPendCheque ddf")
.append(" INNER JOIN DBPENDENCIA..TbMotivoPendencia mp ON ddf.CdMotivoPendenciaCheque = mp.CdMotivoPendencia")
.append(" INNER JOIN DBPENDENCIA..TbFormalizacaoAutorizacaoPagto fap ON fap.NuProposta = ddf.NuProposta")
.append(" INNER JOIN DBPENDENCIA..TbStatusFormalizacao sf ON sf.CdStatusFormalizacao = fap.CdStatusFormalizacao")
.append(" where fap.NuProposta =" + nuProposta)
.append(" UNION ALL")
.append(" SELECT 'PAGAMENTO'AS Tipo, ")
.append(" dp.NmFavorecido AS Descricao,")
.append(" mp.DsMotivoPendenciaPagamento AS Motivo,")
.append(" sf.DsStatusFormalizacao AS Status")
.append(" FROM DBPENDENCIA..TbDadosPagtoMotivoPendencia ddf")
.append(" INNER JOIN DBPENDENCIA..TbDadosPagamento dp ON dp.CdDadosPagamento = ddf.CdDadosPagamento")
.append(" INNER JOIN DBPENDENCIA..TbMotivoPendenciaPagamento mp ON ddf.CdMotivoPendenciaPagamento = mp.CdMotivoPendenciaPagamento")
.append(" INNER JOIN DBPENDENCIA..TbFormalizacaoAutorizacaoPagto fap ON fap.NuProposta = dp.NuProposta")
.append(" INNER JOIN DBPENDENCIA..TbStatusFormalizacao sf ON sf.CdStatusFormalizacao = fap.CdStatusFormalizacao")
.append(" where fap.NuProposta =" + nuProposta);
return query.toString(); //tá fazendo um casting transformando o StringBuffer em String, usando o método toString()
}
private VDadosDocumentoFormalizacao createDadosDocumentoFormalizacao (MapWrapper mpw){
VDadosDocumentoFormalizacao dadosDocumentoFormalizacao = new VDadosDocumentoFormalizacao();
//entender melhor
VMotivoPendencia motivoPendencia = new VMotivoPendencia();
motivoPendencia.setDsMotivo(mpw.getStringOrEmpty("Motivo")); //mpw e getStringOrEmpty são da BV, Motivo é da coluna do select -> dsMotivo
dadosDocumentoFormalizacao.setVMotivoPendencia(motivoPendencia);
VDocumento documento = new VDocumento();
documento.setNmDocumento(mpw.getStringOrEmpty("Descricao"));
dadosDocumentoFormalizacao.setDocumento(documento);
VStatusFormalizacao statusFormalizacao = new VStatusFormalizacao();
statusFormalizacao.setDsStatusFormalizacao(mpw.getStringOrEmpty("Status"));
dadosDocumentoFormalizacao.setDocumento(documento);
VTipoDocumento tipoDocumento = new VTipoDocumento(); //tá instanciando pq lá na query faz join com essas tabelas
tipoDocumento.setNmTipoDocumento(mpw.getStringOrEmpty("Tipo"));
dadosDocumentoFormalizacao.setTipoDocumento(tipoDocumento);
return dadosDocumentoFormalizacao;
}[/code]