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; }
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; }
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(); }
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())); } }
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, "//", "/"); }
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; }
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); }
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; }
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(); }
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(); }
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"); } }