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);
}
* 审批通过任务操作 并且加入审批意见
* @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;
}
ajaGetTaskId.set("parameter",curRowPtId);
ajaGetTaskId.execute(function(taskId){
var diagram=
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就行