Пример #1
0
 public String getFilterConditionExpression(
     ReportRequest rrequest, ReportBean rbean, ReportDataSetValueBean datasetbean) {
   AbsListReportFilterBean filterBean = rrequest.getCdb(rbean.getId()).getFilteredBean();
   if (filterBean == null) return null;
   ColBean cbTmp = (ColBean) filterBean.getOwner();
   if (!cbTmp.isMatchDataSet(datasetbean)) return null;
   String filterval = rrequest.getStringAttribute(filterBean.getId(), "");
   if (filterval.equals("")) return null;
   if (cbTmp.getDatatypeObj() == null
       || cbTmp.getDatatypeObj() instanceof VarcharType
       || cbTmp.getDatatypeObj() instanceof AbsDateTimeType) {
     filterval = Tools.replaceAll(filterval, ";;", "','");
     if (!filterval.startsWith("'")) filterval = "'" + filterval;
     if (filterval.endsWith("','")) filterval = filterval.substring(0, filterval.length() - 3);
     if (!filterval.endsWith("'")) filterval = filterval + "'";
     if (filterval.equals("'")) filterval = "";
   } else {
     filterval = Tools.replaceAll(filterval, ";;", ",");
     if (filterval.endsWith(",")) filterval = filterval.substring(0, filterval.length() - 1);
   }
   String where = null;
   String column = null;
   if (filterBean.getFilterColumnExpression() != null
       && !filterBean.getFilterColumnExpression().trim().equals("")) {
     column = filterBean.getFilterColumnExpression();
   } else {
     column = cbTmp.getColumn();
   }
   if (!filterval.trim().equals("")) {
     where = " where " + column + " in (" + filterval + ") ";
   }
   return where;
 }
Пример #2
0
 public String addColFilterConditionToSql(
     ReportRequest rrequest, ReportBean rbean, ReportDataSetValueBean datasetbean, String sql) {
   String where = getFilterConditionExpression(rrequest, rbean, datasetbean);
   if (where == null) where = "";
   sql = Tools.replaceAll(sql, Consts_Private.PLACEHODER_FILTERCONDITION, where);
   return sql;
 }
Пример #3
0
  public String createColumnFilter(ReportRequest rrequest, AbsListReportColBean alrcbean) {
    ReportBean rbean = alrcbean.getOwner().getReportBean();
    StringBuffer resultBuf = new StringBuffer();
    AbsListReportFilterBean filterbean = alrcbean.getFilterBean();
    StringBuffer paramsBuf = new StringBuffer();
    paramsBuf.append("{reportguid:\"").append(rbean.getGuid()).append("\"");
    paramsBuf
        .append(",property:\"")
        .append(((ColBean) alrcbean.getOwner()).getProperty())
        .append("\"");
    paramsBuf.append(",webroot:\"").append(Config.webroot).append("\"");
    paramsBuf.append(",skin:\"").append(rrequest.getPageskin()).append("\"");
    CacheDataBean cdb = rrequest.getCdb(rbean.getId());

    String imgurl = "/webresources/skin/" + rrequest.getPageskin() + "/images/";
    paramsBuf.append(",urlParamName:\"");
    if (filterbean.isConditionRelate()) {
      paramsBuf.append(filterbean.getConditionname()).append("\"");
      paramsBuf.append(",multiply:\"false\"");
      String filtervalue = rrequest.getStringAttribute(filterbean.getConditionname(), "");
      if (!filtervalue.equals("")) {
        imgurl = imgurl + "filter2.jpg";
      } else {
        imgurl = imgurl + "filter1.jpg";
      }
    } else {
      paramsBuf.append(filterbean.getId()).append("\"");
      paramsBuf.append(",multiply:\"true\"");
      String filtervalue = rrequest.getStringAttribute(filterbean.getId(), "");
      if (cdb.getFilteredBean() == null
          || filtervalue.trim().equals("")
          || !filterbean.equals(cdb.getFilteredBean())) {
        imgurl = imgurl + "filter1.jpg";
      } else {
        imgurl = imgurl + "filter2.jpg";
      }
    }
    imgurl = Tools.replaceAll(Config.webroot + imgurl, "//", "/"); // 过滤图片路径

    paramsBuf.append(",filterwidth:").append(filterbean.getFilterwidth());
    paramsBuf.append(",filtermaxheight:").append(filterbean.getFiltermaxheight());
    paramsBuf.append("}");
    resultBuf
        .append("<SPAN class=\"filter_span\"><input type=\"button\" id=\"")
        .append(rbean.getGuid() + alrcbean.hashCode())
        .append("\"");
    resultBuf.append(
        " onmouseout=\"try{drag_enabled=true;}catch(e){}\" onmouseover=\"try{drag_enabled=false;this.style.cursor='pointer';}catch(e){}\"");
    resultBuf
        .append(
            " style=\"width:16px;height:17px;background-color:transparent;border:0; background-image: url(")
        .append(imgurl + ");\"");
    resultBuf
        .append(" onclick=\"try{getFilterDataList(this,'")
        .append(Tools.jsParamEncode(paramsBuf.toString()))
        .append("');return false;}catch(e){logErrorsAsJsFileLoad(e);}\"");
    resultBuf.append("/></SPAN>");
    return resultBuf.toString();
  }
Пример #4
0
 public void addDynCsses(List<String> lstCsses) {
   if (lstCsses == null || lstCsses.size() == 0) return;
   if (this.lstDynCsses == null) this.lstDynCsses = new UniqueArrayList<String>();
   for (String cssTmp : lstCsses) {
     if (cssTmp == null || cssTmp.trim().equals("")) continue;
     this.lstDynCsses.add(
         Tools.replaceAll(cssTmp, Consts_Private.SKIN_PLACEHOLDER, rrequest.getPageskin()));
   }
 }
Пример #5
0
  static {

    //            systemheadjs="/webresources/script/wabacus_systemhead.js";

    //        {

    //
    // systemheadjs="/webresources/script/"+encode.toLowerCase()+"/wabacus_systemhead.js";

    systemheadjs = Config.webroot + "/webresources/script/wabacus_systemhead.js";
    systemheadjs = Tools.replaceAll(systemheadjs, "//", "/");
  }
Пример #6
0
 public String constructSplitPageSql(AbsConvertSQLevel convertSqlObj, String dynorderby) {
   String sql = convertSqlObj.getConvertedSql();
   dynorderby = convertSqlObj.mixDynorderbyAndConfigOrderbyCols(dynorderby);
   sql = Tools.replaceAll(sql, SQLReportDataSetValueProvider.orderbyPlaceHolder, "");
   sql =
       "select * from (select rownumber() over(order by "
           + dynorderby
           + ") as ROWID,jd_temp_tbl1.* from("
           + sql
           + ") as jd_temp_tbl1) as jd_temp_tbl2 where ROWID > "
           + SQLReportDataSetValueProvider.startRowNumPlaceHolder
           + " AND ROWID<= "
           + SQLReportDataSetValueProvider.endRowNumPlaceHolder;
   return sql;
 }
Пример #7
0
 public void doPostLoad() {
   super.doPostLoad();
   String jspick =
       Tools.replaceAll(
           Config.webroot + "/webresources/component/datepicker/js/calendar.js", "//", "/");
   owner.getReportBean().getPageBean().addMyJavascriptFile(jspick, 0);
   jspick =
       Tools.replaceAll(
           Config.webroot + "/webresources/component/datepicker/js/calendar-setup.js", "//", "/");
   owner.getReportBean().getPageBean().addMyJavascriptFile(jspick, 0);
   jspick = Config.webroot + "/webresources/component/datepicker/js/";
   if (this.language == null
       || this.language.trim().equals("")
       || this.language.trim().equals(Consts_Private.LANGUAGE_ZH)) {
     jspick = jspick + "calendar-zh.js";
   } else {
     jspick = jspick + "calendar-en.js";
   }
   jspick = Tools.replaceAll(jspick, "//", "/");
   owner.getReportBean().getPageBean().addMyJavascriptFile(jspick, 0);
   String csspick = Config.webroot + "/webresources/component/datepicker/css/calendar.css";
   csspick = Tools.replaceAll(csspick, "//", "/");
   owner.getReportBean().getPageBean().addMyCss(csspick);
 }
Пример #8
0
 public String constructSplitPageSql(AbsConvertSQLevel convertSqlObj) {
   String sql = convertSqlObj.getConvertedSql();
   String orderby = "";
   if (sql.indexOf(SQLReportDataSetValueProvider.orderbyPlaceHolder) > 0) {
     sql = Tools.replaceAll(sql, SQLReportDataSetValueProvider.orderbyPlaceHolder, "");
     orderby = "order by " + convertSqlObj.getOrderby();
   }
   sql =
       "SELECT * FROM(SELECT jd_temp_tbl1.*, rownumber() OVER("
           + orderby
           + ") as ROWID FROM("
           + sql
           + ") as jd_temp_tbl1) as jd_temp_tbl2 WHERE jd_temp_tbl2.ROWID<="
           + SQLReportDataSetValueProvider.endRowNumPlaceHolder
           + " and jd_temp_tbl2.ROWID>"
           + SQLReportDataSetValueProvider.startRowNumPlaceHolder;
   return sql;
 }
Пример #9
0
 public List<ReportBean> initDisplayOnPage() {
   this.lstCsses = ComponentAssistant.getInstance().initDisplayCss(rrequest);
   this.lstJavascripts = new UniqueArrayList<JavascriptFileBean>();
   this.lstJavascripts.addAll(pagebean.getLstSystemJavascriptFiles());
   String js = rrequest.getStringAttribute("JS", "");
   if (!js.equals("")) {
     js = Tools.htmlEncode(js);
     List<String> lstJsTmp = Tools.parseStringToList(js, ",", false);
     for (String jsTmp : lstJsTmp) {
       if (jsTmp == null || jsTmp.trim().equals("")) continue;
       if (!jsTmp.trim().startsWith(Config.webroot)
           && !jsTmp.trim().toLowerCase().startsWith("http://")) {
         jsTmp = Tools.replaceAll(Config.webroot + "/" + jsTmp, "//", "/");
       }
       this.lstJavascripts.add(new JavascriptFileBean(jsTmp, 0));
     }
   } else if (pagebean.getLstMyJavascriptFiles() != null) {
     this.lstJavascripts.addAll(pagebean.getLstMyJavascriptFiles());
   }
   return super.initDisplayOnPage();
 }
Пример #10
0
 public String getColLabelWithOrderBy(ColBean cbean, ReportRequest rrequest, String dynlabel) {
   String ordercolumn = cbean.getColumn();
   String label = rrequest.getI18NStringValue(dynlabel);
   label = label == null ? "" : label.trim();
   if (rrequest.getShowtype() != Consts.DISPLAY_ON_PAGE) return label;
   if (ordercolumn == null || ordercolumn.trim().equals("")) return label;
   String[] orderbys =
       (String[]) rrequest.getAttribute(cbean.getReportBean().getId(), "ORDERBYARRAY");
   String arrow = "";
   String order = "asc";
   if (orderbys != null && orderbys.length == 2) {
     if (orderbys[0].equalsIgnoreCase(ordercolumn)) {
       arrow =
           " <img src='"
               + Config.webroot
               + "/webresources/skin/"
               + rrequest.getPageskin()
               + "/images/";
       if (orderbys[1] == null || orderbys[1].equalsIgnoreCase("desc")) {
         arrow = arrow + "desc.gif'>";
         order = "asc";
       } else {
         arrow = arrow + "asc.gif'>";
         order = "desc";
       }
     }
   }
   arrow = Tools.replaceAll(arrow, "//", "/");
   StringBuffer resultBuf = new StringBuffer();
   resultBuf.append("<span onmouseover=\"this.style.cursor='pointer';\" onclick=\"");
   resultBuf
       .append("try{clickorderby(this,'")
       .append(ordercolumn)
       .append("||")
       .append(order)
       .append("');}catch(e){logErrorsAsJsFileLoad(e);}\">");
   resultBuf.append(label).append(arrow);
   resultBuf.append("</span>");
   return resultBuf.toString();
 }
Пример #11
0
 public void loadExtendConfig(XmlElementBean eleJspHtml, AbsContainerConfigBean parentConfigBean) {
   super.loadExtendConfig(eleJspHtml, parentConfigBean);
   this.url = eleJspHtml.getContent();
   if (this.url == null || this.url.trim().equals("")) {
     throw new WabacusConfigLoadingException(
         "加载" + this.getPath() + "的<jsp/>标签失败,没有在标签内容中指定jsp文件访问URL");
   }
   this.url = this.url.trim();
   String iframe = eleJspHtml.attributeValue("iframe");
   this.isInIFrame = iframe != null && iframe.toLowerCase().trim().equals("true");
   if (this.isInIFrame) {
     if (this.belongto != null && !this.belongto.trim().equals("")) {
       throw new WabacusConfigLoadingException(
           "加载" + this.getPath() + "的<jsp/>标签失败,当其iframe属性为true时,不能配置其belongto属性");
     }
     if (!this.url.startsWith(Config.webroot) && !this.url.toLowerCase().startsWith("http://")) {
       this.url = Config.webroot + "/" + this.url;
       this.url = Tools.replaceAll(this.url, "//", "/");
     }
     this.iframestyleproperty = eleJspHtml.attributeValue("iframestyleproperty");
   }
 }