inputdata.jsp 12.2 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ page import="java.util.*"%>
<%@ page import="weaver.integration.logging.Logger"%>
<%@ page import="weaver.integration.logging.LoggerFactory"%>
<%@ page import="weaver.interfaces.workflow.browser.BaseBrowser" %>
<%@ page import="weaver.integration.conftest.ConfigureTestUtil"%>
<jsp:useBean id="FieldInputTools" class="weaver.integration.conftest.FieldInputTools" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="xssUtil" class="weaver.filter.XssUtil"/>
<%
boolean isclose = false;
List searchFieldList = new ArrayList();
Logger newlog = LoggerFactory.getLogger();
String dmltype = "";
String operation = Util.null2String(request.getParameter("operation"));
String imagefilename = "/images/hdMaintenance_wev8.gif";
String titlename = SystemEnv.getHtmlLabelName(20961,user.getLanguage());
String needfav ="1";
String needhelp ="";

String actionid = Util.null2String(request.getParameter("actionid"));
String actionname = Util.null2String(request.getParameter("actionname"));
int showtype = 0;
int showclass = 1;
String fromAction = "inputdataOperation.jsp";
boolean sqlStatus = true;
boolean searchSQLStatus = true;
if(operation.equals("browser")){
	if(actionname.equals("")){
		rs.execute("select showname,showclass from datashowset where id=" + actionid);
		rs.next();
		actionname = rs.getString(1);
		showclass = Util.getIntValue(rs.getString(2),1);
	}
	//System.out.println("actionid="+actionid+"  actionname="+actionname+"  showclass="+showclass);
	/********** BaseBrowser需要增加获取展现类型的方法 **********/
	BaseBrowser browser= null ;
	if(showclass == 1){
	    browser = (BaseBrowser)StaticObj.getServiceByFullname("browser."+actionname, BaseBrowser.class);
	}else if(showclass == 2){
	    browser = new BaseBrowser();
	    browser.initBaseBrowser(actionid,"2","2");
	}
	sqlStatus = ConfigureTestUtil.ParseSQL(browser.getSearch());
	searchSQLStatus = ConfigureTestUtil.ParseSQL(browser.getSearchById());
	FieldInputTools.setBrowser(browser);
	showtype = browser.getShowtype();
	if(showclass == 2){
	    fromAction = "/integration/integrationCommonSearch.jsp";
	}else if(showtype == 2){
	    fromAction = "/integration/configuretest/customBrowserTree.jsp";
	}else{
	    fromAction = "/integration/configuretest/customBrowserPreview.jsp";
	}
	//System.out.println("showclass="+showclass+"  showtype="+showtype+"  fromAction="+fromAction);
	String outpage = Util.null2String(browser.getOutPageURL());
	String from = Util.null2String(browser.getFrom());
	String Search = Util.null2String(browser.getSearch());
	if(!outpage.equals("")){
		String sqlwhere="";
		if(Search.toLowerCase().indexOf("where")!=-1){
			sqlwhere = Search.substring(Search.toLowerCase().indexOf("where")+5);
			sqlwhere = URLEncoder.encode(sqlwhere,"UTF-8");
		}
		String _sqlwhere = Util.null2String(request.getParameter("sqlwhere"));
		if(!_sqlwhere.equals("")){
			if(!sqlwhere.equals("")){
				sqlwhere += " and "+_sqlwhere;
			}else{
				sqlwhere = _sqlwhere;
			}
		}
		//sqlwhere做加密处理
		if(!from.equals("1") && sqlwhere.length()>0){
			sqlwhere = xssUtil.put(sqlwhere);
		}
		String sqlcondition = Util.null2String(request.getParameter("sqlcondition"));
		sqlcondition = xssUtil.put(sqlcondition);
		actionname = URLEncoder.encode(actionname);
		if(outpage.indexOf("?")>=0){
			outpage += "&browsertype="+actionname+"&sqlwhere="+sqlwhere+"&sqlcondition="+sqlcondition;
		}else{
			outpage += "?browsertype="+actionname+"&sqlwhere="+sqlwhere+"&sqlcondition="+sqlcondition;
		}
		//System.out.println(outpage);
		response.sendRedirect(outpage);
		return;
	}
}
//System.out.println("sqlstatus="+sqlStatus);
%>
<html>
<HEAD>
<LINK href="/css/Weaver_wev8.css" type=text/css rel=STYLESHEET>
<SCRIPT language="javascript" src="/js/weaver_wev8.js"></script>
</HEAD>
<BODY>
<%@ include file="/systeminfo/TopTitle_wev8.jsp" %>
<%@ include file="/systeminfo/RightClickMenuConent_wev8.jsp" %>
<%
RCMenu += "{"+SystemEnv.getHtmlLabelName(826,user.getLanguage())+",javascript:onSave(),_self} " ;
RCMenuHeight += RCMenuHeightStep ;
%>
<%@ include file="/systeminfo/RightClickMenu_wev8.jsp" %>
<form action="<%=fromAction %>" method="get" name="inputdata" id="inputdata" >
<input type="hidden" value="<%=actionname %>" name="actionname">
<input type="hidden" value="1" name="isDialog">
<table id="topTitle" cellpadding="0" cellspacing="0">
	<tr>
		<td></td>
		<td class="rightSearchSpan" style="text-align:right; width:500px!important">
			<input type="button" value="<%=SystemEnv.getHtmlLabelName(826 ,user.getLanguage()) %>" class="e8_btn_top" onclick="onSave()"/>
			<span title="<%=SystemEnv.getHtmlLabelName(23036 ,user.getLanguage()) %>" class="cornerMenu"></span>
		</td>
	</tr>
</table>
<div id="tabDiv" >
   <span style="font-size:14px;font-weight:bold;"></span> 
</div>
<div class="cornerMenuDiv"></div>
<div class="advancedSearchDiv" id="advancedSearchDiv" style='display:none;'>
</div>
<wea:layout type="2col">
<!-- 放置一个空的wea:group并隐藏,防止程序报错  -->
  <wea:group context="" attributes="{'groupDisplay':'none','itemAreaDisplay':'none'}">
    <wea:item><input type="hidden" value="<%=actionid %>" name="actionid"></wea:item>
    <wea:item><input type="hidden" value="<%=actionname %>" name="actionname"></wea:item>
    <wea:item><input type="hidden" value="<%=actionid %>" name="showtypeid"></wea:item>
    <wea:item><input type="hidden" value="<%=operation %>" name="operation"></wea:item>
    <wea:item><input type="hidden" value="1" name="istest"></wea:item>
    <wea:item><input type="hidden" value="5" name="urlType"></wea:item>
  </wea:group>
<%
if(!actionid.equals("")){
    FieldInputTools.setUser(user);
    FieldInputTools.setActionid(actionid);
    FieldInputTools.setActionname(actionname);
    FieldInputTools.setDatatype(operation);
    
    Map fieldmap = FieldInputTools.getInputFieldName();
    Map namelabelMap = (Map)fieldmap.get("namelabelMap");//字段名、label
    if(operation.equals("dml")){
        dmltype = (String)fieldmap.get("dmltype");
	    List valuefieldlist = (List)fieldmap.get("valuefieldlist");
	    List tempvaluefieldlist = new ArrayList();//去重复
	    List wherefieldlist = (List)fieldmap.get("wherefieldlist");
	    List tempwherefieldlist = new ArrayList();
	    List sqlwherefieldlist = (List)fieldmap.get("sqlwherefieldlist");
	    List tempsqlwherefieldlist = new ArrayList();
	    List custsqlfieldlist = (List)fieldmap.get("custsqlfieldlist");
	    List tempcustsqlfieldlist = new ArrayList();
	    if(valuefieldlist.size()<1 && wherefieldlist.size()<1 && sqlwherefieldlist.size()<1 && custsqlfieldlist.size() <1){
	        isclose = true;
	%>
	    <wea:group context="<%=SystemEnv.getHtmlLabelName(24532,user.getLanguage()) %>">
	        <wea:item><font color="red"><%=SystemEnv.getHtmlLabelNames("15808,554,261",user.getLanguage()) %>...</font></wea:item>
	    </wea:group>
	<%
	    }
	    if(valuefieldlist.size()>0){//赋值设置
	%>  <wea:group context='<%=SystemEnv.getHtmlLabelName(21845,user.getLanguage())%>'>
	<%  
	    for(int i=0;i<valuefieldlist.size();i++){
	        String fieldname = Util.null2String(valuefieldlist.get(i));
	        String fieldlabel = Util.null2String(namelabelMap.get(fieldname));
	        if(tempvaluefieldlist.indexOf(fieldname) < 0){
	            tempvaluefieldlist.add(fieldname);
	%>
		    <wea:item><%=(fieldlabel.equals("")?fieldname:fieldlabel)%></wea:item>
		    <wea:item><input type="text" name="<%=fieldname%>_value" value=''></wea:item>
	<%      }
	    }%>
		</wea:group>
	<%  }
	    if(wherefieldlist.size()>0){//触发条件设置
	%>  <wea:group context='<%=SystemEnv.getHtmlLabelName(27957,user.getLanguage())%>'>
	<%  
			for(int i=0;i<wherefieldlist.size();i++){
			    String fieldname = Util.null2String(wherefieldlist.get(i));
			    String fieldlabel = Util.null2String(namelabelMap.get(fieldname));
			    if(tempwherefieldlist.indexOf(fieldname) < 0){
			        tempwherefieldlist.add(fieldname);
	%>
		 	 <wea:item><%=(fieldlabel.equals("")?fieldname:fieldlabel)%></wea:item>
		 	 <wea:item><input type="text" name="<%=fieldname%>_where" value=''></wea:item>
	<%    		}
			}%>
		</wea:group>
	<%  }
	    if(sqlwherefieldlist.size()>0){
	%>  <wea:group context='<%=SystemEnv.getHtmlLabelName(26425,user.getLanguage())%>'>
	<%  
	      for(int i=0;i<sqlwherefieldlist.size();i++){
	          String fieldname = Util.null2String(sqlwherefieldlist.get(i));
	          if(tempsqlwherefieldlist.indexOf(fieldname) < 0){
	              tempsqlwherefieldlist.add(fieldname);
	%>
		  	  <wea:item><%=fieldname%></wea:item>
		  	  <wea:item><input type="text" name="<%=fieldname%>_whsql" value=''></wea:item>
	<%        }
	       }%>
		</wea:group>
	<%  }
	    if(custsqlfieldlist.size()>0){
    %>  <wea:group context='<%=SystemEnv.getHtmlLabelName(26426,user.getLanguage())%>'>
    <%  
            for(int i=0;i<custsqlfieldlist.size();i++){
                String fieldname = Util.null2String(custsqlfieldlist.get(i));
                if(tempcustsqlfieldlist.indexOf(fieldname) < 0){
                    tempcustsqlfieldlist.add(fieldname);
    %>
        	  <wea:item><%=fieldname%></wea:item>
        	  <wea:item><input type="text" name="<%=fieldname%>_cussql" value=''></wea:item>
    <%          }
            }%>
        </wea:group>
    <%  }
	}else if(operation.equals("browser")){
	    searchFieldList = (List)fieldmap.get("searchFieldList");
	    List tempsearchFieldList = new ArrayList();
	    List searchByIdFieldList = (List)fieldmap.get("searchByIdFieldList");
	    List tempsearchByIdFieldList = new ArrayList();
	    
	    if(searchFieldList.size()>0){
	        Map sysparam = FieldInputTools.loadSysCurrentLoginParamLabel();
		%><wea:group context='<%=SystemEnv.getHtmlLabelName(32311,user.getLanguage())%>'>
		<%  
		    for(int i=0;i<searchFieldList.size();i++){
		        String fieldname = Util.null2String(searchFieldList.get(i));
		        if(tempsearchFieldList.indexOf(fieldname) < 0){
		            String fieldlabel = Util.null2String(sysparam.get(fieldname));
		            tempsearchFieldList.add(fieldname);
		            if(fieldlabel.equals("")) fieldlabel = fieldname;
		%>
			    <wea:item><%=fieldlabel%></wea:item>
			    <wea:item><input type="text" name="<%=fieldname%>_search" value=''></wea:item>
		<%      }
		    }%>
			</wea:group>
		<%
		}else{
		    response.sendRedirect(fromAction+"?actionid="+actionid+"&actionname="+actionname+"&operation="+operation+"&showtypeid="+actionid+"&urlType=5");
		    return;
		}
	}
}%>
</wea:layout>
<!-- 需要输入的参数个数,用来判断是否直接跳转到浏览框测试页面 -->
<input type="hidden" name="paramsize" id="paramsize" value="<%=searchFieldList.size() %>">
</form>
<div id="zDialog_div_bottom" class="zDialog_div_bottom">
	<input type="button" style="display:none;" class=zd_btn_submit accessKey=S  id=btnsearch value="S-<%=SystemEnv.getHtmlLabelName(197,user.getLanguage())%>"></input>
	<wea:layout needImportDefaultJsAndCss="false">
		<wea:group context=""  attributes="{'groupDisplay':'none'}">
			<wea:item type="toolbar">
				<input type="button" class=zd_btn_cancle accessKey=T  id=btncancel value="<%=SystemEnv.getHtmlLabelName(309,user.getLanguage())%>" onclick='onBack();'></input>
			</wea:item>
		</wea:group>
	</wea:layout>
</div>
<div id="loading" style="display:none;">
	<span><img src="/images/loading2_wev8.gif" align="absmiddle"></span>
	<span><%=SystemEnv.getHtmlLabelName(25496, user.getLanguage())%><%=SystemEnv.getHtmlLabelName(25007, user.getLanguage())%></span>
</div>
</BODY>
<script type="text/javascript">
jQuery(document).ready(function () {
	resizeDialog(document);
	if(<%=!sqlStatus%>){
        top.Dialog.alert("<%=SystemEnv.getHtmlLabelNames("32311,381,27685", user.getLanguage())%>");
        onBack();
    }
	if(<%=!searchSQLStatus%>){
        top.Dialog.alert("<%=SystemEnv.getHtmlLabelNames("128545,381,27685", user.getLanguage())%>");
        onBack();
    }
	if((<%=operation.equals("browser")%> && jQuery("#paramsize").val()==0) || <%=dmltype.equals("custom")%>){
		//onSave();
	}
});
var dialog = parent.parent.getDialog(parent);
function onBack(){
	dialog.close();
}
function onSave(){
	if(<%=(isclose && !dmltype.equals("custom"))%>){
		onBack();
	}else{
		enableAllmenu();
		inputdata.submit();
	}
}
</script>
</html>