《Activiti/Flowable 深入BPM工作流》
---任務在實際項目中的處理的優化
一.問題:
任務在實際項目中的處理的優化
二. 詳情
具體的code如下:
/**
* 如何進行任務處理2?
* 真實的任務處理中,一定是有負責人的,負責人是否有該人的辦理權限,這都需要處理的.
*/
@Test
public void compleTask2() {
// 任務Id
String taskId = "2505";
// 任務處理人
String assignee = "Daniel";
// 創建TaskService
// (1)鏈接配置文件
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// (2)創建引擎
ProcessEngine processEngine = configuration.buildProcessEngine();
// (3)創建TaskService
TaskService taskService = processEngine.getTaskService();
/**
* 設置完成任務,需要進行任務查詢;
* 這裏只指任務id,並沒有指定任務負責人,只有調用complete, 該任務就完成
* 所以說, 必須完成任務前進行校驗
* 校驗方法: 根據任務id和任務負責人 assignee,查詢任務, 如果查到說明該客戶有完成該任務的權限,否則沒有權限.
*/
Task task = taskService.createTaskQuery().taskId(taskId)
.taskAssignee(assignee).singleResult();
if (task != null) {
taskService.complete(taskId);
System.out.println("完成任務!!! Id=" + taskId);
}
}
小結:
在具體的項目中,我們是必須要考慮權限的, 哪些人對哪些人具有訪問,處理的權限,這與測試是不同的.
整個 .bpmn部署的過程:
1. 進行流程的部署, deployment
2. 進行流程的啓動.
3. 進行流程的操作.