WorkflowToModeConditionOperation.jsp 4.33 KB
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="weaver.general.Util" %>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="weaver.hrm.User"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page import="net.sf.json.JSONArray"%>
<%@page import="weaver.formmode.setup.WorkflowToModeRuleBusiness"%>
<%@page import="java.util.Map"%>
<%@page import="weaver.formmode.interfaces.action.WorkflowToMode"%>
<%@page import="weaver.formmode.util.EncryptUtils"%>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<%
User user = HrmUserVarify.getUser(request,response);
if (!HrmUserVarify.checkUserRight("ModeSetting:All", user)) {
	response.sendRedirect("/notice/noright.jsp");
	return;
}
out.clear();
String action = Util.null2String(request.getParameter("action"));
String objdbname = "workflowtomodeid";
String objtablename = "mode_workflowtomodeset";
if(action.equals("getSelectItem")){
	JSONArray jsonArray = new JSONArray();
	String fieldid = Util.null2String(request.getParameter("fieldid"));
	String sql = "select selectvalue,selectname from workflow_SelectItem where fieldid="+fieldid+" order by selectvalue";
	RecordSet.executeSql(sql);
	while(RecordSet.next()){
		String selectvalue = RecordSet.getString("selectvalue");
		String selectname = RecordSet.getString("selectname");
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("selectvalue",selectvalue);
		jsonObject.put("selectname",selectname);
		jsonArray.add(jsonObject);
	}
	JSONObject jsonObject = new JSONObject();
	jsonObject.put("selectvalue","null");
	jsonObject.put("selectname","null");
	jsonArray.add(jsonObject);
	response.getWriter().write(jsonArray.toString());
	return;
}else if(action.equals("saveCondition")){
	int modeid = Util.getIntValue(request.getParameter("modeid"), -1);
	int objid = Util.getIntValue(request.getParameter("objid"), -1);
	int conditiontype = Util.getIntValue(request.getParameter("conditiontype"), -1);
	String rid = "";
	if(conditiontype==1){
		String conditionsql = Util.null2String(request.getParameter("conditionsql"));
		String conditiontext = Util.null2String(request.getParameter("conditiontext"));
		
		String rulexml = request.getParameter("rulexml");
		
		WorkflowToModeRuleBusiness WorkflowToModeRuleBusiness = new WorkflowToModeRuleBusiness();
	    rid = WorkflowToModeRuleBusiness.persistenceRule2db(rulexml,modeid,objid,conditiontype,conditionsql,conditiontext);
	}else{
		//------sql类型重置------
		String sql = "delete from  mode_expressions where "+objdbname+"="+objid;
		RecordSet.executeSql(sql);
		sql = "delete from  mode_expressionbase where "+objdbname+"="+objid;
		RecordSet.executeSql(sql);
		String conditionsql = Util.null2String(request.getParameter("conditionsqlText"));
		conditionsql = EncryptUtils.aesDecrypt(conditionsql);
		conditionsql = conditionsql.replace("'","''");
		sql = "update "+objtablename+" set conditiontype=2,conditionsql='"+conditionsql+"',conditiontext=null where id="+objid;
		RecordSet.executeSql(sql);
		rid = "2";
	}
	boolean f = true;
    String msg = "";
    if(Util.getIntValue(rid)<=0){
    	f = false;
    	msg = SystemEnv.getHtmlLabelName(22620, user.getLanguage());
    }
    JSONObject jsonObject = new JSONObject();
	jsonObject.put("ruleid",rid);
	jsonObject.put("result",f);
	jsonObject.put("msg",msg);
	response.getWriter().write(jsonObject.toString());
	return;
}else if(action.equals("cleanCondition")){
	int modeid = Util.getIntValue(request.getParameter("modeid"), -1);
	int objid = Util.getIntValue(request.getParameter("objid"), -1);
	
	String sql = "delete from  mode_expressions where "+objdbname+"="+objid;
	RecordSet.executeSql(sql);
	sql = "delete from  mode_expressionbase where "+objdbname+"="+objid;
	RecordSet.executeSql(sql);
	sql = "update "+objtablename+" set conditiontype=null,conditionsql=null,conditiontext=null where id="+objid;
	RecordSet.executeSql(sql);
	
    JSONObject jsonObject = new JSONObject();
	jsonObject.put("objid",objid);
	response.getWriter().write(jsonObject.toString());
	return;
}else if(action.equals("checkSQL")){
	int objid = Util.getIntValue(request.getParameter("objid"), -1);
	WorkflowToMode WorkflowToMode = new WorkflowToMode();
	JSONObject jsonObject = WorkflowToMode.checkConditionSQL(objid,user,null);
	response.getWriter().write(jsonObject.toString());
	return;
}
%>