Activiti(工作流程)如何關聯業務表

來源:互聯網
上載者:User

標籤:

 1.部署流程(定義流程)
1 InputStream in = new FileInputStream(file);2 ZipInputStream zipInputStream = new ZipInputStream(in);3 processEngine.this.getRepositoryService()4              .createDeployment()5              .name(processName)6              .addZipInputStream(zipInputStream)7              .deploy();
View Code 2.啟動流程(所定義流程的一個執行個體)
1 processEngine().getRuntimeService()2          /**第二個參數是businesskey:業務工單的主鍵,作為區分,一般流程名+id,當然如果id為uuid則無所謂 */3          .startProcessInstanceByKey("leave", "leaveBill", variables);
View Code

這樣,業務表就與activiti的表關聯起來了(一般為了方便,業務表裡也會存一個processId)

其內部表之間關聯如下

 3.查看某人的任務
 1 /** 2      * 當前登入人登入系統以後要執行的任務(包含個人任務+組任務) 3      */ 4     public List<Task> getTasksByAssignee(String userId){ 5         List<Task> assigneeTasks =  this.getTaskService() 6                 .createTaskQuery() 7                 .taskAssignee(userId)//參與者,個人任務查詢  8                 .orderByTaskCreateTime() 9                 .desc()10                 .list();11         List<Task> candidateTasks = this.getTaskService() 12                 .createTaskQuery()  13                 .taskCandidateUser(userId)//參與者,組任務查詢  14                 .orderByTaskCreateTime()15                 .desc()16                 .list();17         assigneeTasks.addAll(candidateTasks);18         return assigneeTasks;19     }
View Code 4.根據task -》 processInstance  -》 businessKey -》 業務表
 1     /** 2      * 根據taskId尋找businessKey 3      */ 4     public String getBusinessKeyByTaskId(String taskId){ 5         Task task = this.processEngine 6                 .getTaskService() 7                 .createTaskQuery() 8                 .taskId(taskId) 9                 .singleResult();10         ProcessInstance pi = this.getRuntimeService()11                 .createProcessInstanceQuery()12                 .processInstanceId(task.getProcessInstanceId())13                 .singleResult();14         return pi.getBusinessKey();15     }
View Code

 

Activiti(工作流程)如何關聯業務表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.