2018-06-03 22:26:41 +08:00

50 lines
2.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@page import="com.amarsoft.are.util.json.*"%>
<%@page import="com.amarsoft.are.jbo.*"%>
<%@page import="com.amarsoft.asquery.ASQuery"%>
<%@page import="com.amarsoft.asquery.action.JBOQueryAction"%>
<%@page contentType="text/html; charset=GBK"%><%@ include file="/IncludeBeginMDAJAX.jsp"%><%
/*
Content: 获取查询方案对应的关联对象及参数变量组装html
*/
String querySchemeNo = CurPage.getParameter("querySchemeNo"); //查询方案编号
if(querySchemeNo==null) querySchemeNo="";
ASQuery query = (ASQuery)session.getAttribute("AdvanceXQuery");
String queryClass = query.queryClass;
BizObjectQuery bq = JBOFactory.createBizObjectQuery("jbo.awe.AWE_QUERY_INFO", "QuerySchemeNo=:SchemeNo").setParameter("SchemeNo", querySchemeNo);
BizObject bo = bq.getSingleResult(false);
String relatedClass="",queryParams="",displayItems="",orderItems="",filterCols="";
if(bo!=null){
relatedClass = bo.getAttribute("RELATEDCLASS").getString();
queryParams = bo.getAttribute("QUERYPARAMS").getString();
displayItems = bo.getAttribute("DISPLAYITEMS").getString();
orderItems = bo.getAttribute("ORDERITEMS").getString();
filterCols = bo.getAttribute("FilterCols").getString();
}
if(StringX.isEmpty(relatedClass)) relatedClass = null;
if(StringX.isEmpty(queryParams)) queryParams = null;
JBOQueryAction action = new JBOQueryAction();
action.setQueryClass(query.queryClass);
String sDefaultCondition = action.getDefaultCondition();
StringBuffer sb = new StringBuffer();
//取查询条件字段的JSON对象
JSONObject filterColJSON = JSONDecoder.decode(filterCols);
//获取主对象的html
sb.append(query.getConditionHtml(queryClass, StringX.isEmpty(filterCols)?null:filterColJSON.getValue(queryClass).toString()));
//获取关联对象的html
if(!StringX.isEmpty(relatedClass)){
JSONObject relaArray = JSONDecoder.decode(relatedClass);
for(int i=0;i<relaArray.size();i++){
String jboClass = relaArray.get(i).getValue().toString();
if(jboClass.equals(sDefaultCondition)) continue;
String jboClassFilterCols = (filterColJSON.getValue(jboClass)==null)?null:filterColJSON.getValue(jboClass).toString();
sb.append(query.getConditionHtml(jboClass, StringX.isEmpty(filterCols)?null:jboClassFilterCols));
}
}
//System.out.print("{relatedClass:"+relatedClass+",queryParams:"+queryParams+",conditionHtml:"+JSONEncoder.encode(sb.toString())+",displayFieldNames:"+JSONEncoder.encode(query.getFieldNames(displayItems))+",orderFieldNames:"+JSONEncoder.encode(query.getFieldNames(orderItems))+"}");
out.print("{relatedClass:"+relatedClass+",queryParams:"+queryParams+",conditionHtml:"+JSONEncoder.encode(sb.toString())+",displayFieldNames:"+JSONEncoder.encode(query.getFieldNames(displayItems))+",orderFieldNames:"+JSONEncoder.encode(query.getFieldNames(orderItems))+"}");
%><%@ include file="/IncludeEndAJAX.jsp"%>