Bom dia a todos,
Por favor, gostaria de saber se ao colocar na assinatura o método o parâmetro bean, se dentro desse método posso declarar outras variáveis que iriei passar em minha query?!
A minha query esta retornando os valores vazios, pra dizer a verdade não sei mais o q fazer, devo estar errando alguma bobeira, mas não consigo identificar o q é.
Código do DAO:
package raa.ebt.dao;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import raa.ebt.form.CadPDVFusaoForm;
import raa.ebt.vo.CadPDVFusaoVO;
public class CadPDVFusaoDAO extends ConnectionDAO{
String sql = "";
public List listarPDV(CadPDVFusaoVO pdvFusaoVO){
int regiao = 0;
int codPai = 0;
int codFilho = 0;
List listaPDV = new ArrayList();
try{
System.out.println("Entrou CadPDVFusaoDAO");
Connection con = getConnection();
System.out.println("Antes da Query");
//" WHERE F.nidregiao = '1'" +
//" WHERE F.nidregiao = ? " +
String sql = " SELECT f.sidagentevenda, " +
" f.pdv_filho, " +
" NVL(VP.snomeagentevenda, '') nome_pai, " +
" NVL(vf.snomeagentevenda,'') nome_filho " +
" FROM tbldealer_fusao f, " +
" TBLAGENTECANALVENDA VP, " +
" TBLAGENTECANALVENDA VF " +
" WHERE F.nidregiao = '" + regiao + "'" +
" AND F.sidagentevenda = VP.SIDAGENTEVENDA" +
" AND F.pdv_FILHO = VF.SIDAGENTEVENDA";
if(pdvFusaoVO.getCodPDVPai() > 0){
sql = sql + " and F.sidagentevenda >= '" + codPai + "'";
//sql = sql + " AND F.sidagentevenda >= ? ";
}
if(pdvFusaoVO.getCodPDVFilho() > 0){
sql = sql + " and F.pdv_filho >= '" + codFilho + "'";
//sql = sql + " AND F.pdv_filho >= ? ";
}
sql = sql + " ORDER BY F.sidagentevenda ";
pstm = con.prepareStatement(sql);
//pstm.setInt(1,pdvFusaoVO.getRegiao());
//pstm.setInt(2,pdvFusaoVO.getCodPDVPai());
//pstm.setInt(3,pdvFusaoVO.getCodPDVFilho());
System.out.println("Depois da query");
System.out.println("SQL: " + sql);
System.out.println("getRegiao: " + pdvFusaoVO.getRegiao());
System.out.println("getCodPDVPai: " + pdvFusaoVO.getCodPDVPai());
System.out.println("getCodPDVFilho: " + pdvFusaoVO.getCodPDVFilho());
rs = pstm.executeQuery();
System.out.println("Antes do while");
while (rs.next()){
//CadPDVFusaoVO pdvFusaoVO = new CadPDVFusaoVO();
System.out.println("Entrou no while");
pdvFusaoVO.setRegiao(rs.getInt("nidregiao"));
pdvFusaoVO.setDescPDVPai(rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")"));
System.out.println("Resultado: " + (rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")")));
listaPDV.add(pdvFusaoVO);
};
System.out.println("Depois do while");
}catch(java.sql.SQLException sqlException){
System.out.println("sqlException: "+ sqlException);
}catch(Exception e){
System.out.println("Exception: "+ e);
}finally{
try{
System.out.println("Antes de fechar conexao.");
con.close();
System.out.println("Depois de fechar conexao.");
}catch(SQLException sqlException){
System.out.println("sqlException: "+ sqlException);
}
}
return listaPDV;
}
}
Action:
public class CadPDVFusaoAction extends DispatchAction {
public ActionForward carrega( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UtilitarioDAO utilitariodao = new UtilitarioDAO();
HttpSession session = request.getSession();
//Carrega regiao
List lista = utilitariodao.getListaRegiao();
if(lista.isEmpty())
session.removeAttribute("lstRegiao");
else
session.setAttribute("lstRegiao", lista);
return mapping.findForward("success");
}
public ActionForward executaPesquisa( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("CadPDVFusaoAction.entrou");
CadPDVFusaoVO pdvFusaoVO = new CadPDVFusaoVO();
CadPDVFusaoDAO pdvFusaoDAO = new CadPDVFusaoDAO();
CadPDVFusaoForm pdvFusaoForm = (CadPDVFusaoForm) form;
System.out.println("CadPDVFusaoForm.entrou");
pdvFusaoVO.setRegiao(Integer.parseInt(pdvFusaoForm.getRegiao()));
System.out.println("Regiao: " + Integer.parseInt(pdvFusaoForm.getRegiao()));
if (pdvFusaoForm.getCodPDVPai() == null || pdvFusaoForm.getCodPDVPai() == ""){
pdvFusaoVO.setCodPDVPai(0);
}else{
pdvFusaoVO.setCodPDVPai(Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
System.out.println("CodPDVPai: " + Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
}
if (pdvFusaoForm.getCodPDVFilho() == null || pdvFusaoForm.getCodPDVFilho() == "" ){
pdvFusaoVO.setCodPDVFilho(0);
}else{
pdvFusaoVO.setCodPDVFilho(Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
System.out.println("CodPDVFilho: " + Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
}
pdvFusaoVO.setDescPDVPai(pdvFusaoForm.getDescPDVPai());
System.out.println("DescPDVPai: " + pdvFusaoForm.getDescPDVPai());
pdvFusaoVO.setDescPDVFilho(pdvFusaoForm.getDescPDVFilho());
System.out.println("DescPDVFilho: " + pdvFusaoForm.getDescPDVFilho());
List listaPDV = pdvFusaoDAO.listarPDV(pdvFusaoVO);
HttpSession session = request.getSession();
if (listaPDV.isEmpty()){
session.removeAttribute("lstPDVFusao");
}
else{
session.setAttribute("lstPDVFusao", listaPDV);
}
return mapping.findForward("success");
}
Desde já agradeço,
Vitor