dorado流程制作

来源:互联网 发布:java远程读取电脑文件 编辑:程序博客网 时间:2024/05/23 16:48
http://wiki.bsdn.org/pages/viewpage.action?pageId=32440459  //流程接口说明 
流程配置地址:http://localhost:8080/bdf2-project/dorado/uflo/list.assignee.provider   红色为项目名
 决策实现接口 DecisionHandler
动作实现接口 ActionHandler  
开始一个流程
@Resource
    @Qualifier(ProcessClient.BEAN_ID)
    private ProcessClient processClient;
    
    @Resource
    @Qualifier(TaskClient.BEAN_ID)
    private TaskClient taskClient;

@Expose
    @Transactional
    public void  startProcess(String sjc) throws Exception{
        String user = ContextHolder.getLoginUserName();
        StartProcessInfo startProcessInfo = new StartProcessInfo();
        startProcessInfo.setBusinessId(sjc);
        startProcessInfo.setPromoter(user);
        startProcessInfo.setCompleteStartTask(true);
        processClient.startProcessById(3841, startProcessInfo);
        String sql = "update  sssj set sbzt='已上报',sjzt='已上报'  where sjc='"+sjc+"' ";
        this.getJdbcTemplate().execute(sql);
    }  
流程审批视图中, 传参数(流程id)
 ${request.getParameter("businessId")} 
 /**
 * 审批通过任务操作 并且加入审批意见
 * @param taskId
 */
@Expose
public void completeTask(Long taskId,String opinion){ 
TaskOpinion taskOpinion = new TaskOpinion(opinion);
taskClient.start(taskId); 
taskClient.complete(taskId,taskOpinion);
}

onsuccess中
 window.parent.closeProcessDialog("${request.getParameter("type")}");
/**
 * 审批不通过任务操作
 * @param taskId
 */
@Expose
@Transactional
public void drawTask(Long taskId,String opinion){
TaskOpinion taskOpinion = new TaskOpinion(opinion);
ses.setAttribute("result", "fail");
taskClient.forward(taskId, "结束",taskOpinion);
}


流程图制作
(按钮方法)
 var ajaGetTaskId = view.get("#ajaGetTaskId");
ajaGetTaskId.set("parameter",curRowPtId);
ajaGetTaskId.execute(function(taskId){

var diagram=view.id("ufloProcessDiagram1");
diagram.set("requestParameterValue",taskId)
diagram.show();


(ajax得到流程图id)
@Expose
public String getTaskIdById(String id){
String sql = "SELECT ID_ FROM UFLO_TASK WHERE BUSINESS_ID_ = '"+id+"'";
List<Map<String, Object>> list = this.getJdbcTemplate().queryForList(sql);
String taskId = CommUtils.getStr(list.get(0).get("ID_"));
       // System.out.println("taskId:"+taskId);
return taskId;
}


(动态指定流程人员)
实现AssignmentHandler接口。返回list里面有流程的user就行
原创粉丝点击