if(!beginTime.equals("")&&!endTime.equals("")) {
  hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime>='"+beginTime+"' and d.incomeTime<='"+endTime+"' and d.isDeleted=0";
  }
  else if(!beginTime.equals("")) {
  hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime>='"+beginTime+"' and d.isDeleted=0";
  } 
  else if(!endTime.equals(""))  {
  hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime<='"+endTime+"' and d.isDeleted=0";
  }
  else {
  hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.isDeleted=0";
  }

解决方案 »

  1.   


     int in_case=0;
    if(!beginTime.equals("")&&!endTime.equals("")){ in_case=1 }
    if(!beginTime.equals("")&& endTime.equals("")){ in_case=2 }
    if( beginTime.equals("")&&!endTime.equals("")){ in_case=3 }
    if( beginTime.equals("")&& endTime.equals("")){ in_case=4 }switch(in_case){
    case 1:...//省略...
    case 2:...//省略...
    case 3:...//省略...
    case 4:...//省略...
    }
      

  2.   

    StringBuilder buff = new StringBuilder("select sum(d.money) from Income d where d.isDeleted=0 and d.company.id=");
    buff.append(companyId);
    if (beginTime != null && beginTime.length() != 0) {
    buff.append(" and d.incomeTime >= '").append(beginTime).append("'");
    }
    if (endTime != null && endTime.length() != 0) {
    buff.append(" and d.incomeTime <= '").append(endTime).append("'");
    }
    hql = buff.toString();
      

  3.   

          String beginTime="";
          String endTime="";
          String companyId="";
          String hql =
          "select sum(d.money)  from Income d where d.company.id="+companyId
          +(!"".equals(beginTime)?" and d.incomeTime>='"+beginTime+"'":"")
          +(!"".equals(endTime)?" and d.incomeTime<='"+endTime+"'":"")
          +" and d.isDeleted=0";
      

  4.   


      String beginTime="";
      String endTime="";
      String companyId="";
      String hql =
      "select sum(d.money) from Income d where d.company.id="+companyId
      +(!"".equals(beginTime)?" and d.incomeTime>='"+beginTime+"'":"")
      +(!"".equals(endTime)?" and d.incomeTime<='"+endTime+"'":"")
      +" and d.isDeleted=0";
      

  5.   


    hql = "select sum(d.money)  from Income d where d.isDeleted=0 and d.company.id=" + companyId;
    if(!beginTime.equals("")) {
    hql +=" and d.incomeTime >= '" + beginTime + "' ";
    }
    if(!endTime.equals("")) {
    hql +=" and d.incomeTime <= '" + endTime + "' ";
    }
      

  6.   

    没看代码写的是什么,只改了下逻辑
    //设beginTime.equals("") = A,endTime.equals("") = B
    if(!beginTime.equals("")) {
    if(!endTime.equals(""))//!A!B
    hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime>='"+beginTime+"' and d.incomeTime<='"+endTime+"' and d.isDeleted=0";
    else//!AB
    hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime>='"+beginTime+"' and d.isDeleted=0";
    }else{
                if(!endTime.equals(""))//A!B
                    hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.incomeTime<='"+endTime+"' and d.isDeleted=0";
                else//AB
                    hql="select sum(d.money)  from Income d where d.company.id="+companyId+" and d.isDeleted=0";
    }