(function(){
var relation_id =getCurrentDocument().getItemValueAsString("relation_id");
var doc=findDocument(relation_id);
if(doc != null){
//当前流程实例ID
var instance = doc.getState();
var flowStateId=doc.getStateid();//当前流程实例ID
var currid=getCurrentDocument().getItemValueAsString("currid");
var fd = instance.getFlowVO().toFlowDiagram();
var update = false;
var currNode = fd.getElementByID(currid);
var endNode = new Packages.cn.myapps.core.workflow.element.EndNode(fd);
var label = "终止";
endNode.name = label;
//
endNode.id= "terminate_id";
println("endNode0000000000="+endNode);
var nodeRTProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.NodeRTProcess(getApplication());
//var nodeRTProcess = createProcess("cn.myapps.core.workflow.storage.runtime.ejb.NodeRTProcessBean");
println("instance1111111111111111111111111="+instance.isComplete());
println("instance2222222222222222222222222="+instance.isTerminated());
if(!instance.isComplete() && !instance.isTerminated()){
if(instance.getNoderts()!=null && instance.getNoderts().size()>0){
for (var iterator = instance.getNoderts().iterator(); iterator.hasNext();) {
var nodert = iterator.next();
nodeRTProcess.doRemove(nodert.getId());
//nodeRTProcess.doRemoveByFlowStateRT(flowStateId);
println("nodert1111111111111111111111="+nodert);
}
instance.getNoderts().clear();
update = true;
}
}
if(update){
var actionTime = new Packages.java.util.Date();
var attitude = "";
//更新流程实例
var user=getWebUser();
instance.setAuditdate(actionTime);
instance.setAuditorList("");
instance.setAuditorNames("");
instance.setAudituser(user.getId());
instance.setTerminated(true);
instance.setLastFlowOperation("8");
instance.setLastModified(actionTime);
instance.setLastModifierId(user.getId());
instance.setNoderts(new Packages.java.util.ArrayList());
instance.setStateLabel(label);
var st=new Packages.cn.myapps.core.workflow.engine.StateMachine();
st.getFlowStateRTProcess(doc.getApplicationid()).doUpdate(instance);
//更新流程历史
st.updatePreviousRelationHIS(instance, currNode, user, actionTime);
st.createOrUpdateRelationHIS(instance, currNode, endNode, user, actionTime, attitude,"", "8");
//更新文档
var proxy = getDocumentProcess();
doc.setAuditdate(actionTime);
doc.setAuditorList("");
doc.setAuditorNames("");
doc.setAudituser(user.getId());
doc.setLastFlowOperation("8");
doc.setLastmodified(actionTime);
doc.setLastmodifier(user.getId());
doc.setStateLabel(label);
proxy.doCreateOrUpdate(doc, user);
//更新图片
st.updateImage(instance);
println("st2222222222222222222222222222="+st);
}
}
return "";
})() |