Boa noite, pessoa fiz uma pesquisa aqui por cpf, mas a pesquisa não retorna nada… já olhei e parece ta tudo certo…
Alguém poderia da uma dica ?
Obrigado.
@Name(value = "usuarioConsultaService")
public class UsuarioConsultaServiceImpl<nuCgcCpf> extends AppServiceImpl<VwUsuarios> implements UsuarioConsultaService{
static final long serialVersionUID = 1L;
public String buscaUsuariosCpf(nuCgcCpf nucgccpf)throws Exception{
try {
Session session = (Session) getSession();
StringBuilder hql = new StringBuilder();
hql.append(" SELECT");
hql.append(" u.nm_pessoa_razao_social_u");
hql.append(" u.cd_usuario");
hql.append(" u.fl_tipo_pessoa_u");
hql.append(" FROM");
hql.append(" VW_USUARIOS u,");
hql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
hql.append(" TB_PLANO_PAI pp,");
hql.append(" TB_PLANO p");
hql.append(" WHERE");
hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
hql.append(" AND");
hql.append(" u.fl_status_usuario = 2");
hql.append(" AND");
hql.append(" cd_plano = cd_plano");
hql.append(" AND");
hql.append(" p.cd_plano = u.cd_plano");
hql.append(" AND");
hql.append(" pp.cd_plano_pai = p.cd_plano_pai");
hql.append(" AND");
hql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
hql.append(" AND");
hql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
hql.append(" AND");
hql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA");
Query query= session.createQuery(hql.toString());
query.setParameter("nuCgcCpf", nucgccpf);
return hql.toString();
} catch (Exception e) {
throw new Exception("Erro ao buscar CPF " + e.getMessage());
}
}
Faltou o apóstrofo no fim de ODONTOLOGIA.
É pegadinha do Mallandro?
Pois esse return
return hql.toString();
Não faz qualquer sentido.
Você está retornando a HQL e não o resultado da pesquisa.
Tem certeza que é isso mesmo que quer fazer ali?
Obrigado aos 2…
O que eu quero fazer e o seguinte :
São 2 pesquisas uma para cada campo, quer dizer são 2 parametros de entrada 1 para cada pesquisa por cpf (pNu_Cpf) e por codigo (pContrato)
A perguta é como fazer uma critéria ou HQL, para campos diferentes e para pesquisas diferentes ?
Mas eu uso um unico botão para ativar o evento.
Eu tenho uma View no meio que faz todo serviço, ela ta no meio do select, eu fiz uma mapa dela, ta ok.
Esses campos são da View grande parte deles !
Eu fiz esse curso e rodei, me traz perfeitamente o que eu quero… PLSQL e Fodástico !
QUERO FAZER UMA PESQUISA DINÂMICA !
@Name(value = "usuarioConsultaService")
public class UsuarioConsultaServiceImpl<nuCgcCpf,pContrato> extends AppServiceImpl<VwUsuarios> implements UsuarioConsultaService{
static final long serialVersionUID = 1L;
public List<VwUsuarios> buscaUsuariosCpf(nuCgcCpf nucgccpf,pContrato pocontrato)throws Exception{
Session session = (Session) getSession();
StringBuilder hql = new StringBuilder();
if(!nuCgcCpf.trim().equals("")){
hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
}else {
hql.append(" u.pContrato = :pcontrato");
}
try {
hql.append(" SELECT");
hql.append(" u.nm_pessoa_razao_social_u");
hql.append(" u.cd_usuario");
hql.append(" u.fl_tipo_pessoa_u");
hql.append(" FROM");
hql.append(" VW_USUARIOS u,");
hql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
hql.append(" TB_PLANO_PAI pp,");
hql.append(" TB_PLANO p");
hql.append(" WHERE");
hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
hql.append(" AND");
hql.append(" u.fl_status_usuario = 2");
hql.append(" AND");
hql.append(" cd_plano = cd_plano");
hql.append(" AND");
hql.append(" p.cd_plano = u.cd_plano");
hql.append(" AND");
hql.append(" pp.cd_plano_pai = p.cd_plano_pai");
hql.append(" AND");
hql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
hql.append(" AND");
hql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
hql.append(" AND");
hql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA'");
Query query= session.createQuery(hql.toString());
query.setParameter("nuCgcCpf", nucgccpf);
return buscarCpf();
} catch (Exception e) {
throw new Exception("Erro ao buscar CPF " + e.getMessage());
try{
hql.append(" select u.nm_pessoa_razao_social_u ");
hql.append(" u.cd_usuario ");
hql.append(" u.fl_tipo_pessoa_u ");
hql.append(" from vw_usuarios u ");
hql.append(" tb_tipo_rede_atendimento r ");
hql.append(" tb_plano_pai pp");
hql.append(" tb_plano p");
hql.append(" where u.nu_ordem_usuario = :pContrato");
hql.append(" and u.fl_status_usuario = 2 ");
hql.append(" and p.cd_plano = u.cd_plano ");
hql.append(" and pp.cd_plano_pai = p.cd_plano_pai ");
hql.append(" and r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento ");
hql.append(" and pp.cd_tipo_rede_atendimento <> 'OD' ");
hql.append(" and r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA'");
Query query= session.createQuery(hql.toString());
query.setParameter("pContrato", pocontrato);
return buscarCpf();
} catch (Exception f) {
throw new Exception("Erro ao buscar CPF " + f.getMessage());
}
}
}
não seria?
Session session = request.getSession();
Pois é o problema e deixar dinâmico, ou um ou outro !
if(!nuCgcCpf.trim().equals("")){
nessa linha ele já xia !
Será que esse objeto “nuCgcCpf” não está nulo?
Está sendo gerada NullPointerException?
Felipe Boa Noite !
O Eclipse não deixa nem eu compilar da erro :
Multiple markers at this line
- The method trim() is undefined for the type
nuCgcCpf
- The method trim() is undefined for the type
nuCgcCpf
[quote] if(!nuCgcCpf.trim().equals("")){
hql.append(" u.nuCgcCpf = :nucgccpf");
}else {
hql.append(" u.pContrato = :pcontrato");
}[/quote]
To vendo o que é !
Essa sua classe nuCgcCpf não tem um metodo chamado trim()…trim() é um metodo da classe String. Você pode criar esse metodo ai na sua classe nuCgcCpf.
Bom Dia !
(nuCgcCpf nucgccpf,pContrato pocontrato
São parametros de entrada !
[quote=juniorsatanas]Bom Dia !
(nuCgcCpf nucgccpf,pContrato pocontrato
São parametros de entrada !
[/quote]
pode postar aqui a classe nuCgcCpf?
Felipe tava errado essa parte… ficou assim :
import java.util.List;
imports..
public interface UsuarioConsultaService extends AppService <VwUsuarios> {
public List<VwUsuarios> buscarCpf() throws Exception;
public List<ResultadoConsultaCpf> resultadoUsuarioPorCpf() throws Exception;
}
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
imports...
@Name("usuarioConsutaAction")
@Scope(ScopeType.CONVERSATION)
public class UsuarioConsultaAction<PesquisaUsuario> extends AppListAction<VwUsuarios>{
private VwUsuarios vwUsuarios;
private List<ResultadoConsultaCpf> resultadoUsuarioPorCpf;
@In(value = "pesquisaConsultaService", create = true)
public void setBusinessService(UsuarioConsultaService bo) {
businessService = (AppService<VwUsuarios>) bo;
}
@Create
public void init() throws Exception{
setVwUsuarios(new VwUsuarios());
buscarUsuarioCpf(); //método de busca por cpf
}
private void buscarUsuarioCpf() throws Exception{
UsuarioConsultaService usuarioConsultaService = (UsuarioConsultaService) getBusinessService();
setResultadoUsuarioPorCpf(usuarioConsultaService.resultadoUsuarioPorCpf());
}
public void setVwUsuarios(VwUsuarios vwUsuarios) {
this.vwUsuarios = vwUsuarios;
}
public VwUsuarios getVwUsuarios() {
return vwUsuarios;
}
public void setResultadoUsuarioPorCpf(List<ResultadoConsultaCpf> resultadoUsuarioPorCpf) {
this.resultadoUsuarioPorCpf = resultadoUsuarioPorCpf;
}
public List<ResultadoConsultaCpf> getResultadoUsuarioPorCpf() {
return resultadoUsuarioPorCpf;
}
}
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.jboss.seam.annotations.Name;
imports..
@Name(value = "usuarioConsultaService")
public class UsuarioConsultaServiceImpl<nuCgcCpf> extends AppServiceImpl<VwUsuarios> implements UsuarioConsultaService{
static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public List<VwUsuarios> buscaUsuariosCpf(VwUsuarios vwusuarios)throws Exception{
Session session = (Session) getSession();
StringBuilder hql = new StringBuilder();
try {
hql.append(" SELECT");
hql.append(" u.nm_pessoa_razao_social_u");
hql.append(" u.cd_usuario");
hql.append(" u.fl_tipo_pessoa_u");
hql.append(" FROM");
hql.append(" VW_USUARIOS u,");
hql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
hql.append(" TB_PLANO_PAI pp,");
hql.append(" TB_PLANO p");
hql.append(" WHERE");
hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
hql.append(" AND");
hql.append(" u.fl_status_usuario = 2");
hql.append(" AND");
hql.append(" cd_plano = cd_plano");
hql.append(" AND");
hql.append(" p.cd_plano = u.cd_plano");
hql.append(" AND");
hql.append(" pp.cd_plano_pai = p.cd_plano_pai");
hql.append(" AND");
hql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
hql.append(" AND");
hql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
hql.append(" AND");
hql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA'");
Query query= session.createQuery(hql.toString());
query.setParameter("nuCgcCpf", vwusuarios.getNuCgcCpfT());
return query.list();
} catch (Exception e) {
throw new Exception("Erro ao buscar CPF " + e.getMessage());
}
}
//
//
// public String getSqlComun1(){
//
// StringBuilder sql = new StringBuilder();
//
// sql.append(" SELECT");
// sql.append(" u.nm_pessoa_razao_social_u");
// sql.append(" u.cd_usuario");
// sql.append(" u.fl_tipo_pessoa_u");
// sql.append(" FROM");
// sql.append(" VW_USUARIOS u,");
// sql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
// sql.append(" TB_PLANO_PAI pp,");
// sql.append(" TB_PLANO p");
// sql.append(" WHERE");
// sql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
// sql.append(" AND");
// sql.append(" u.fl_status_usuario = 2");
// sql.append(" AND");
// sql.append(" cd_plano = cd_plano");
// sql.append(" AND");
// sql.append(" p.cd_plano = u.cd_plano");
// sql.append(" AND");
// sql.append(" pp.cd_plano_pai = p.cd_plano_pai");
// sql.append(" AND");
// sql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
// sql.append(" AND");
// sql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
// sql.append(" AND");
// sql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA");
//
// return sql.toString();
// }
//
// public String getSqlComun2(){
//
// StringBuilder sql = new StringBuilder();
//
// sql.append(" select u.nm_pessoa_razao_social_u ");
// sql.append(" u.cd_usuario ");
// sql.append(" u.fl_tipo_pessoa_u ");
// sql.append(" from vw_usuarios u ");
// sql.append(" tb_tipo_rede_atendimento r ");
// sql.append(" tb_plano_pai pp");
// sql.append(" tb_plano p");
// sql.append(" where u.nu_ordem_usuario = :pContrato");
// sql.append(" and u.fl_status_usuario = 2 ");
// sql.append(" and p.cd_plano = u.cd_plano ");
// sql.append(" and pp.cd_plano_pai = p.cd_plano_pai ");
// sql.append(" and r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento ");
// sql.append(" and pp.cd_tipo_rede_atendimento <> 'OD' ");
// sql.append(" and r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA' ");
// return sql.toString();
// }
public VwUsuarios salvar(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios atualizar(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios excluir(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios pesquisarPorId(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<VwUsuarios> pesquisarPorParamentros(VwUsuarios appEntity)
throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<VwUsuarios> buscarCpf() throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<ResultadoConsultaCpf> resultadoUsuarioPorCpf()
throws Exception {
// TODO Auto-generated method stub
return null;
}
// if(!nuCgcCpf.trim().equals("")){
// hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
// }else {
// hql.append(" u.nu_contrato = :nuContrato");
// }
}
[quote=juniorsatanas]Felipe tava errado essa parte… ficou assim :
import java.util.List;
imports..
public interface UsuarioConsultaService extends AppService <VwUsuarios> {
public List<VwUsuarios> buscarCpf() throws Exception;
public List<ResultadoConsultaCpf> resultadoUsuarioPorCpf() throws Exception;
}
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
imports...
@Name("usuarioConsutaAction")
@Scope(ScopeType.CONVERSATION)
public class UsuarioConsultaAction<PesquisaUsuario> extends AppListAction<VwUsuarios>{
private VwUsuarios vwUsuarios;
private List<ResultadoConsultaCpf> resultadoUsuarioPorCpf;
@In(value = "pesquisaConsultaService", create = true)
public void setBusinessService(UsuarioConsultaService bo) {
businessService = (AppService<VwUsuarios>) bo;
}
@Create
public void init() throws Exception{
setVwUsuarios(new VwUsuarios());
buscarUsuarioCpf(); //método de busca por cpf
}
private void buscarUsuarioCpf() throws Exception{
UsuarioConsultaService usuarioConsultaService = (UsuarioConsultaService) getBusinessService();
setResultadoUsuarioPorCpf(usuarioConsultaService.resultadoUsuarioPorCpf());
}
public void setVwUsuarios(VwUsuarios vwUsuarios) {
this.vwUsuarios = vwUsuarios;
}
public VwUsuarios getVwUsuarios() {
return vwUsuarios;
}
public void setResultadoUsuarioPorCpf(List<ResultadoConsultaCpf> resultadoUsuarioPorCpf) {
this.resultadoUsuarioPorCpf = resultadoUsuarioPorCpf;
}
public List<ResultadoConsultaCpf> getResultadoUsuarioPorCpf() {
return resultadoUsuarioPorCpf;
}
}
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.jboss.seam.annotations.Name;
imports..
@Name(value = "usuarioConsultaService")
public class UsuarioConsultaServiceImpl<nuCgcCpf> extends AppServiceImpl<VwUsuarios> implements UsuarioConsultaService{
static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public List<VwUsuarios> buscaUsuariosCpf(VwUsuarios vwusuarios)throws Exception{
Session session = (Session) getSession();
StringBuilder hql = new StringBuilder();
try {
hql.append(" SELECT");
hql.append(" u.nm_pessoa_razao_social_u");
hql.append(" u.cd_usuario");
hql.append(" u.fl_tipo_pessoa_u");
hql.append(" FROM");
hql.append(" VW_USUARIOS u,");
hql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
hql.append(" TB_PLANO_PAI pp,");
hql.append(" TB_PLANO p");
hql.append(" WHERE");
hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
hql.append(" AND");
hql.append(" u.fl_status_usuario = 2");
hql.append(" AND");
hql.append(" cd_plano = cd_plano");
hql.append(" AND");
hql.append(" p.cd_plano = u.cd_plano");
hql.append(" AND");
hql.append(" pp.cd_plano_pai = p.cd_plano_pai");
hql.append(" AND");
hql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
hql.append(" AND");
hql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
hql.append(" AND");
hql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA'");
Query query= session.createQuery(hql.toString());
query.setParameter("nuCgcCpf", vwusuarios.getNuCgcCpfT());
return query.list();
} catch (Exception e) {
throw new Exception("Erro ao buscar CPF " + e.getMessage());
}
}
//
//
// public String getSqlComun1(){
//
// StringBuilder sql = new StringBuilder();
//
// sql.append(" SELECT");
// sql.append(" u.nm_pessoa_razao_social_u");
// sql.append(" u.cd_usuario");
// sql.append(" u.fl_tipo_pessoa_u");
// sql.append(" FROM");
// sql.append(" VW_USUARIOS u,");
// sql.append(" TB_TIPO_REDE_ATENDIMENTO r,");
// sql.append(" TB_PLANO_PAI pp,");
// sql.append(" TB_PLANO p");
// sql.append(" WHERE");
// sql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
// sql.append(" AND");
// sql.append(" u.fl_status_usuario = 2");
// sql.append(" AND");
// sql.append(" cd_plano = cd_plano");
// sql.append(" AND");
// sql.append(" p.cd_plano = u.cd_plano");
// sql.append(" AND");
// sql.append(" pp.cd_plano_pai = p.cd_plano_pai");
// sql.append(" AND");
// sql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");
// sql.append(" AND");
// sql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");
// sql.append(" AND");
// sql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA");
//
// return sql.toString();
// }
//
// public String getSqlComun2(){
//
// StringBuilder sql = new StringBuilder();
//
// sql.append(" select u.nm_pessoa_razao_social_u ");
// sql.append(" u.cd_usuario ");
// sql.append(" u.fl_tipo_pessoa_u ");
// sql.append(" from vw_usuarios u ");
// sql.append(" tb_tipo_rede_atendimento r ");
// sql.append(" tb_plano_pai pp");
// sql.append(" tb_plano p");
// sql.append(" where u.nu_ordem_usuario = :pContrato");
// sql.append(" and u.fl_status_usuario = 2 ");
// sql.append(" and p.cd_plano = u.cd_plano ");
// sql.append(" and pp.cd_plano_pai = p.cd_plano_pai ");
// sql.append(" and r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento ");
// sql.append(" and pp.cd_tipo_rede_atendimento <> 'OD' ");
// sql.append(" and r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA' ");
// return sql.toString();
// }
public VwUsuarios salvar(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios atualizar(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios excluir(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public VwUsuarios pesquisarPorId(VwUsuarios entity) throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<VwUsuarios> pesquisarPorParamentros(VwUsuarios appEntity)
throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<VwUsuarios> buscarCpf() throws Exception {
// TODO Auto-generated method stub
return null;
}
public List<ResultadoConsultaCpf> resultadoUsuarioPorCpf()
throws Exception {
// TODO Auto-generated method stub
return null;
}
// if(!nuCgcCpf.trim().equals("")){
// hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");
// }else {
// hql.append(" u.nu_contrato = :nuContrato");
// }
}
[/quote]
e qual erro está dando agora?
Não da erro só nao retorna a lista, não vem nada;…
Abraço.
[quote=juniorsatanas]Não da erro só nao retorna a lista, não vem nada;…
Abraço.[/quote]
É claro que não retorna nada… Você chama o método usuarioConsultaService.resultadoUsuarioPorCpf() sendo que ele esta retornando null.
Além disso em nenhum momento do seu código você esta chamando o método buscaUsuariosCpf
@Create
public void init() throws Exception{
setVwUsuarios(new VwUsuarios());
buscarUsuarioCpf(); //método de busca por cpf
}
private void buscarUsuarioCpf() throws Exception{
UsuarioConsultaService usuarioConsultaService = (UsuarioConsultaService) getBusinessService();
setResultadoUsuarioPorCpf(usuarioConsultaService.resultadoUsuarioPorCpf());
}
Método retornando null, ou o código que você postou esta incompleto ou esta faltando implementar este método
public List<ResultadoConsultaCpf> resultadoUsuarioPorCpf()
throws Exception {
// TODO Auto-generated method stub
return null;
}
lucas Boa Tarde !
Cara, você tem toda razzszszÂO !
Vou fazer isso agora mesmo !
Obrigado !
abraço e bom trabalho ai !