customSearchAction.jsp 4.59 KB
<%@page import="net.sf.json.JSONArray"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="com.weaver.formmodel.util.StringHelper"%>
<%@page import="weaver.formmode.service.RepeatVerifyService"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="weaver.general.Util"%>
<%@ page import="weaver.hrm.HrmUserVarify"%>
<%@ page import="weaver.hrm.User"%>
<%@ page import="weaver.conn.RecordSet"%>
<%@ page import="net.sf.json.JSONObject"%>
<%@ page import="weaver.common.util.taglib.ShowColUtil"%>
<%@ page import="java.util.Vector"%>
<%@ page import="java.util.List"%>
<%@ page import="java.util.Map"%>
<%@ page import="java.util.HashMap"%>
<%@ page import="java.util.Map.Entry"%>
<%@ page import="weaver.formmode.search.editplugin.AbstractPluginElement"%>
<%@ page import="weaver.formmode.search.editplugin.PluginElementClassName"%>
<%@ page import="weaver.formmode.service.CustomSearchService"%>
<%@ page import="weaver.formmode.search.CustomSearchBatchEditUtil"%>
<%
out.clear();
User user = HrmUserVarify.getUser(request,response);
if(!HrmUserVarify.checkUserRight("ModeSetting:All", user)){
	response.sendRedirect("/notice/noright.jsp");
 	return;
}
RecordSet rs =  new RecordSet();
String action = Util.null2String(request.getParameter("action"));
if("cleanColWidth".equalsIgnoreCase(action)){
	String customid = Util.null2String(request.getParameter("customid"));
	if(!"".equals(customid)){
		String pageId = "mode_customsearch:" + customid;
		String sql = "delete from user_default_col where pageid = '"+pageId+"'";
		rs.execute(sql);
		ShowColUtil.removeDefaultColsMap(pageId);
	}
	JSONObject jsonObject = new JSONObject();
	jsonObject.put("status", "1");
	out.print(jsonObject.toString());
	return;
}else if("getVerifyField".equalsIgnoreCase(action)){
	int customid = Util.getIntValue(Util.null2String(request.getParameter("customid")), 0);
	int modeid = 0;
	int formid = 0;
	String tablename = "";
	String detailtable = "";
	String detailkeyfield = "";
	String sql = "select a.modeid,a.formid,a.detailtable,b.tablename,b.detailkeyfield from mode_customsearch a left join workflow_bill b on a.formid=b.id where a.id="+customid;
	rs.executeSql(sql);
	if(rs.next()){
		modeid = Util.getIntValue(rs.getString("modeid"), 0);
		formid = Util.getIntValue(rs.getString("formid"), 0);
		tablename = Util.null2String(rs.getString("tablename"));
		detailtable=Util.null2String(rs.getString("detailtable"));
		detailkeyfield = Util.null2String(rs.getString("detailkeyfield"));
	}
	RepeatVerifyService rvService = new RepeatVerifyService();
	rvService.setUser(user);
	JSONObject jsonObject = new JSONObject();
	jsonObject.put("VerifyField", rvService.getVerifyField(formid));
	
	String elementClassName = PluginElementClassName.getPrimaryKeyElementClassName();
	AbstractPluginElement pluginElement = (AbstractPluginElement)Class.forName(elementClassName).newInstance();
	String primaryKeyName = "id";
	String primaryKeyPluginName = pluginElement.getEditPluginName(primaryKeyName);
	String detailPrimaryKeyName = "d_id";
	String detailPrimaryKeyPluginName = pluginElement.getEditPluginName(detailPrimaryKeyName);
	jsonObject.put("primaryKeyPluginName", primaryKeyPluginName);
	jsonObject.put("detailPrimaryKeyPluginName", detailPrimaryKeyPluginName);
	out.print(jsonObject.toString());
	return;
} else if("VerifyData".equalsIgnoreCase(action)){
	RepeatVerifyService rvService = new RepeatVerifyService();
	String data = Util.null2String(request.getParameter("data"));
	int customid = Util.getIntValue(Util.null2String(request.getParameter("customid")), 0);
	int modeid = 0;
	int formid = 0;
	String tablename = "";
	String detailtable = "";
	String detailkeyfield = "";
	String sql = "select a.modeid,a.formid,a.detailtable,b.tablename,b.detailkeyfield from mode_customsearch a left join workflow_bill b on a.formid=b.id where a.id="+customid;
	rs.executeSql(sql);
	if(rs.next()){
		modeid = Util.getIntValue(rs.getString("modeid"), 0);
		formid = Util.getIntValue(rs.getString("formid"), 0);
		tablename = Util.null2String(rs.getString("tablename"));
		detailtable=Util.null2String(rs.getString("detailtable"));
		detailkeyfield = Util.null2String(rs.getString("detailkeyfield"));
	}
	data = data.replace("+", "%2B");
	data = URLDecoder.decode(data, "UTF-8");
	JSONArray dataArr = JSONArray.fromObject(data);
	rvService.setUser(user);
	rvService.initVerifyField(formid);
	rvService.completeVerifyFieldData(dataArr, tablename, detailtable);
	JSONObject jsonObject = rvService.verifyDataSelf(dataArr, tablename, detailtable,"0");
	if(!jsonObject.getBoolean("verify")){
		jsonObject = rvService.verifyData(dataArr, tablename, detailtable);
	}
	out.print(jsonObject.toString());
	return;
}
%>