常见问题(1)

1.在DepServer.java中有如下一个方法:

public SysZzjgDep findDepFromBm(String Bm) {
  List ret = null;
  SysZzjgDep dep=null;
  try {
   String hql = " FROM SysZzjgDep WHERE id IS NOT NULL ";
   hql += " AND depBm='" + Bm + "' order by  depIndex,depCode ";
   ret = service.findObjs(hql);
   if (ret!=null&&ret.size()>0){
    dep=(SysZzjgDep)ret.get(0);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return dep;
 }

在findDepFromBm()方法中,返回的是一个实体。

在QxXjCzxxkService.java中

public List<QxXjCzxxk> queryList(QxXjCzxxk queryObj, Page page) {
     List<QxXjCzxxk> ret = null;
     String hql = "FROM QxXjCzxxk WHERE 1=1  and xxdm like '"+this.getSessionUserDep()+"%' ";
     try {
  if (queryObj != null ) {
       
       if(queryObj.getXxdm()!=null&&!queryObj.getXxdm().equals("")){
        hql += " and dep.depCode like '%" + depService.findDepFromBm(queryObj.getXxdm()) + "%'";// 学校代码

    -----此处调用了该方法,但是该语句是不正确的,dep.depCode获取的是个字符串,而findDepFromB返回的是一个实体。应改为:

                String tempDepCode=depService.findDepFromBm(queryObj.getXxdm()).getDepCode();
                        hql += " and dep.depCode like '%" + tempDepCode + "%'";// 学校代码

    }else{
        if(queryObj.getXxmc()!=null&&!queryObj.getXxmc().equals(""))
            hql += " and xxmc like '%"+queryObj.getXxmc()+"%'";//学校名称
       }
          }
       ret = service.findObjs(hql, page);
       }catch(Exception e) {
        e.printStackTrace();
       }
       return ret;
     }

 

posted @ 2013-04-27 16:45  gexiaomin  阅读(132)  评论(0编辑  收藏  举报