ESBFormActionEditOperation.jsp 13 KB

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="java.util.*"%>
<%@ page import="weaver.general.*"%>
<%@ page import="weaver.workflow.action.*"%>
<%@ page import="weaver.workflow.action.ESBFormActionManager"%>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="BaseAction" class="weaver.workflow.action.BaseAction" scope="page"/>
<jsp:useBean id="log" class="weaver.systeminfo.SysMaintenanceLog" scope="page"/>

<%
if(!HrmUserVarify.checkUserRight("intergration:formactionsetting", user)){
    response.sendRedirect("/notice/noright.jsp");
    return;
}
String submitstate = Util.null2String(request.getParameter("submitstate"));
String fromintegration = Util.null2String(request.getParameter("fromintegration"));
String typename = Util.null2String(request.getParameter("typename"));
String operate = Util.null2String(request.getParameter("operate"));
int actionid = Util.getIntValue(request.getParameter("actionid"), 0);
int formid = Util.getIntValue(request.getParameter("formid"),0); 
int isbill = Util.getIntValue(request.getParameter("isbill"),0);

String actionname = Util.null2String(request.getParameter("actionname"));
int actionorder = Util.getIntValue(request.getParameter("actionorder"), 0);
String esbid = Util.null2String(request.getParameter("esbid"));//
String esbname = Util.null2String(request.getParameter("esbname"));
int version = Util.getIntValue(request.getParameter("version"), 0);
String isdialog = Util.null2String(request.getParameter("isdialog"));

//out.println("operate = " + operate + "<br>");
//out.println("actionid = " + actionid + "<br>");
ESBFormActionManager esbActionManager = new ESBFormActionManager();
esbActionManager.setActionid(actionid);
esbActionManager.setFormid(formid);
esbActionManager.setIsbill(isbill);
esbActionManager.setActionname(actionname);
esbActionManager.setEsbid(esbid);
esbActionManager.setEsbName(esbname);
esbActionManager.setVersion(version);

String method = Util.null2String(request.getParameter("method"));
int controlruleid = Util.getIntValue(request.getParameter("ruleid"),0);
if(method.equals("onDel"))
{
    ESBReturnRuleBusiness.deleteRule(controlruleid);
}else if(method.equals("onDelMaps"))
{
    String mapids = Util.null2String(request.getParameter("mapid"));
    mapids = mapids.substring(0,mapids.length()-1);
    String[] tempids = Util.TokenizerString2(mapids, ",");
    for(String tempid : tempids){
        ESBReturnRuleBusiness.deleteRule(Util.getIntValue(tempid));
    }
}

String paramnames[] = request.getParameterValues("paramname");
String shownames[] = request.getParameterValues("showname");
String paramtypes[] = request.getParameterValues("paramtype");
String isarrays[] = request.getParameterValues("isarray");
String fieldnames[] = request.getParameterValues("fieldname");
String fieldtypes[] = request.getParameterValues("fieldtype");
String transtypevalues[] = request.getParameterValues("transtypevalue");
String extravalues[] = request.getParameterValues("extravalue");

String assignFieldNames[] = request.getParameterValues("ESBReturnAssignFieldName");
String assignFieldShowNames[] = request.getParameterValues("ESBReturnAssignFieldShowName");
String assignFieldTypes[] = request.getParameterValues("ESBReturnAssignFieldType");
String assignOperations[] = request.getParameterValues("ESBReturnAssignOperation");
String assignReturnParamNames[] = request.getParameterValues("ESBReturnAssignReturnParamName");
String assignReturnParamKeys[] = request.getParameterValues("ESBReturnAssignReturnParamKey");
String assigntranstypevalues[] = request.getParameterValues("assigntranstypevalue");
String assignextravalues[] = request.getParameterValues("assignextravalue");

if("delete".equals(operate)){
    String errormsg = "";
    boolean isused = BaseAction.checkFromActionUsed(""+actionid,"5");
    if(!isused){
        //操作日志 qc:298640
        String sql = "select actionname from esbformactionset where id = ? ";
        RecordSet.executeQuery(sql, actionid);
        RecordSet.next();
        log.resetParameter();
        log.setRelatedId(actionid);
        log.setRelatedName(RecordSet.getString(1));
        log.setOperateType("3");
        log.setOperateDesc("integration_ESB_Setting_Delete");
        log.setOperateItem("426");
        log.setOperateUserid(user.getUID());
        log.setClientAddress(request.getRemoteAddr());
        log.setSysLogInfo();
        
        esbActionManager.doDeleteESBAction();
    }else
        errormsg = "1";
    if(!"1".equals(fromintegration))
        out.println("<script language=\"javascript\">window.parent.close();dialogArguments.reloadDMLAtion();</script>");
    else{
        if("1".equals(isdialog)){
            out.println("<script language=javascript>var parentWin = parent.parent.getParentWindow(parent);parentWin.doRefresh();setTimeout(top.Dialog.close,2);</script>");
        }else{
            response.sendRedirect("/integration/formactionlist.jsp");
        }
    }
        
}else if("save".equals(operate)){  
    String Chinese_PRC_CS_AS_WS = " ";
    if(RecordSet.getDBType().toLowerCase().indexOf("sqlserver") > -1) {
        Chinese_PRC_CS_AS_WS = " collate Chinese_PRC_CS_AS_WS ";
    }
    String sql = "select 1 from esbformactionset where actionname " + Chinese_PRC_CS_AS_WS + " = '" + actionname + "' ";
    if(actionid > 0) {
        sql += " and id <> " + actionid;
    }
    RecordSet.executeSql(sql);
    if(RecordSet.getCounts() > 0) {
        if("1".equals(isdialog)) {
%>
        <script language=javascript >
            try {
                var parentWin = parent.parent.getParentWindow(parent);
                parentWin.location.href = "/integration/formactionlist.jsp";
                var dialog = parent.parent.getDialog(parent);
                dialog.close();
            } catch(e) {
                
            }
        </script>
<%
        }
        return;
    }
    //操作日志
    boolean isOldAction = false;
    if(actionid>0)
        isOldAction = true;
    
    
    actionid = esbActionManager.doSaveESBAction();
    RecordSet.executeSql("update esbformactionset set formid='"+formid+"',isbill='"+isbill+"' where id="+actionid);
    
    RecordSet.executeSql("delete from esbmethodparamvalue where actionid="+actionid);
    if(paramnames!=null){
        for(int i=0;i<paramnames.length;i++){
            String paramname=Util.null2String(paramnames == null ? "" : paramnames[i]);
            String showname=Util.null2String(shownames == null ? "" : shownames[i]);
            String paramtype=Util.null2String(paramtypes == null ? "" : paramtypes[i]);
            String isarray=Util.null2String(isarrays == null ? "" : isarrays[i]);
            //int array = "true".equals(isarray) || "1".equals(isarray) ? 1 : 0;
            String fieldname=Util.null2String(fieldnames == null ? "" : fieldnames[i]);
            String fieldtype=Util.null2String(fieldtypes == null ? "" : fieldtypes[i]);
            int transtypevalue=Util.getIntValue(transtypevalues == null ? "-1" : Util.null2String(transtypevalues[i]), -1);
            String extravalue=Util.null2String(extravalues == null ? "" : extravalues[i]);
            if(transtypevalue == 1){   //固定值,需要把页面标签做转换
                extravalue = extravalue.replaceAll("\'", "&apos;");
                extravalue = Util.convertInput2DB2(extravalue);
                extravalue = Util.convertInput2DB3(extravalue);
                extravalue = Util.convertInput2DB4(extravalue);
            }
            
            if(!"".equals(actionid) && !"".equals(paramname))
            {
                String dsql = "insert into esbmethodparamvalue(actionid,formid,paramname,showname,paramtype,isarray,fieldname,fieldtype,transtype,extrainfo,showorder,version) "+
                              "values("+actionid+","+formid+",'" +paramname+"','" + showname +"','"+paramtype+"','"+isarray+"','"+fieldname+"','"+fieldtype+"',"+transtypevalue+",'"+extravalue+"',"+ (i+1) + "," + version + ")";
                RecordSet.executeSql(dsql);
            }
        }
    }
    RecordSet.executeSql("delete from esbreturnassign where actionid="+actionid +" and formid="+formid + " and esbid='" + esbid + "'");
    if (assignFieldNames != null) {
        for (int j = 0; j < assignFieldNames.length; j++) {
            String assignFieldName=Util.null2String(assignFieldNames == null ? "" : assignFieldNames[j]);
            String assignFieldShowName=Util.null2String(assignFieldShowNames == null ? "" : assignFieldShowNames[j]);
            String assignFieldType=Util.null2String(assignFieldTypes == null ? "" : assignFieldTypes[j]);
            String assignOperation=Util.null2String(assignOperations == null ? "" : assignOperations[j]);
            String assignReturnParamName=Util.null2String(assignReturnParamNames == null ? "" : assignReturnParamNames[j]);
            String assignReturnParamKey=Util.null2String(assignReturnParamKeys == null ? "" : assignReturnParamKeys[j]);
            String assigntranstypevalue=Util.null2String(assigntranstypevalues == null ? "" : assigntranstypevalues[j]);
            String assignextravalue=Util.null2String(assignextravalues == null ? "" : assignextravalues[j]);
            
            if (!"".equals(assignFieldName) && !"".equals(assignReturnParamKey)) {
                String dsql = "insert into esbreturnassign(actionid,formid,esbid,fieldname,fieldshowname,fieldtype,operation,returnparam,transtype,extrainfo,showorder,version) "+
                    "values("+actionid+",'" +formid+"','" +esbid+"','" +assignFieldName+"','" +assignFieldShowName+"','" + assignFieldType +"','"+assignOperation+"','"+assignReturnParamKey+"','" + assigntranstypevalue + "','" + assignextravalue + "',"+ (j+1) + "," + version + ")";
                RecordSet.executeSql(dsql);
            }
        }
    }
    // 操作日志
    log.resetParameter();
    log.setRelatedId(actionid);
    log.setRelatedName(actionname);
    log.setOperateType(isOldAction ? "2":"1");//2为修改,1为新增
    log.setOperateDesc("integration_ESB_Setting_"+(isOldAction ? "Update":"Insert"));
    log.setOperateItem("426");
    log.setOperateUserid(user.getUID());
    log.setClientAddress(request.getRemoteAddr());
    log.setSysLogInfo();
    
    String workflowid = Util.null2String(request.getParameter("workflowid"));
    String nodeid = Util.null2String(request.getParameter("nodeid"));
    String nodelinkid = Util.null2String(request.getParameter("nodelinkid"));
    String ispreoperator = Util.null2String(request.getParameter("ispreoperator"));

    if(!"".equals(workflowid))
    {
        WorkflowActionManager workflowActionManager = new WorkflowActionManager();
        workflowActionManager.setActionid(0);
        workflowActionManager.setWorkflowid(Util.getIntValue(workflowid));
        workflowActionManager.setNodeid(Util.getIntValue(nodeid));
        workflowActionManager.setActionorder(0);
        workflowActionManager.setNodelinkid(Util.getIntValue(nodelinkid));
        workflowActionManager.setIspreoperator(Util.getIntValue(ispreoperator));
        workflowActionManager.setActionname(actionname);
        workflowActionManager.setInterfaceid(actionname+"");
        workflowActionManager.setInterfacetype(5);
        workflowActionManager.setIsused(1);
        workflowActionManager.doSaveWsAction();
        if(submitstate.equals("test")){
            response.sendRedirect("/workflow/action/ESBFormActionEditSet.jsp?isdialog="+isdialog+"&typename="+typename+"&backto=&fromintegration="+fromintegration+"&actionid="+fromintegration+"&operate=editws&submitstate=test");
            return;
        }else if("1".equals(isdialog))
        {
        %>
        <script language=javascript >
        try
        {
            var parentWin = parent.parent.getParentWindow(parent);
                parentWin.closeDialogAction();
                parentWin.reloadDMLAtion();
        }
        catch(e)
        {
        }
        </script>
        <%
        }
        return;
    }
    else
    {
        if(submitstate.equals("test")){
            response.sendRedirect("/workflow/action/ESBFormActionEditSet.jsp?isdialog="+isdialog+"&typename="+typename+"&backto=&fromintegration="+fromintegration+"&actionid="+actionid+"&operate=editws&submitstate=test");
            return;
        }else if(!"1".equals(fromintegration)){
            out.println("<script language=\"javascript\">window.parent.close();dialogArguments.reloadDMLAtion();</script>");
        }else{
            if("1".equals(isdialog))
            {
            %>
            <script language=javascript >
            try
            {
                var parentWin = parent.parent.getParentWindow(parent);
                parentWin.location.href="/integration/formactionlist.jsp";
                parentWin.closeDialog();
            }
            catch(e)
            {
            }
            </script>
            <%
            }else{
                response.sendRedirect("/workflow/action/ESBFormActionEditSet.jsp?fromintegration="+fromintegration+"&operate=editesb&actionid="+actionid+"&formid="+formid+"&isbill="+isbill+"&typename="+typename);
            }
            return;
        }   
    }
}

return;
%>