干预提交(类似后台的流程监控)

(function(){
    var sql="select * from tlk_表单";
    var datas = queryBySQL(sql);
    if(datas!=null || datas.size()>0){
        var process = getDocumentProcess();//获取当前申明文档业务处理类
        var flowid = "11e4-ce08-3874b3cf-b775-dfe68038c999";  //流程id
        var params =new Packages.cn.myapps.base.action.ParamsTable();
        for(var it = datas.iterator();it.hasNext(); ){
            var data = it.next();
            var docid=data.getId();
            var doc=findDocument(docid);

            var user = getWebUser();             //当前用户对象为审批人
            var comment = user.getName()+",强制转动";          //备注
            var flowoption = "86";        //干预必须使用86

            var dState = doc.getStateLabel();
            if("申请人填写实际进度".equals(dState)){
                if(doc!=null){
                    var duser=user;
                    //获取当前节点的审批人
                    var noders =doc.getState().getNoderts();  
                    if(noders!=null){
                        for(var noderit = noders.iterator(); noderit.hasNext();) {    
                            noder=noderit.next();
                        }
                        if(null!=noder){
                            var actors=noder.getActorrts();
                            if (actors != null) {  //获取当前节点审批人
                                for(var its = actors.iterator(); its.hasNext(); ) {
                                    var actorrt = its.next();          
                                    var userId = actorrt.getActorid();
                                    var auser=getUserById(userId);
                                    duser = new Packages.cn.myapps.core.user.action.WebUser(auser);                                               
                                }
                            }
                        }
                    }                        
                    var currnodeid=new Packages.cn.myapps.core.workflow.engine.StateMachine().getCurrUserNodeRT(doc,duser).getNodeid(); //获取流程当前流程节点ID
                    //println("currnodeid="+currnodeid);
                    var nextnodeid = new Array();       
                    nextnodeid[0]="1428565468312";//下一流程节点ID,
                    params.setParameter("_flowid", flowid);                        
                    process.doFlow(doc,params,currnodeid,nextnodeid,flowoption,comment,user);
                }
            }
        }
    }
})();
文档更新时间: 2023-09-16 06:53   作者:admin