flowable 实现多实例-会签-动态配置人员 参考demo
生活随笔
收集整理的這篇文章主要介紹了
flowable 实现多实例-会签-动态配置人员 参考demo
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
會簽 即多人執(zhí)行當前任務(wù) 設(shè)置判斷數(shù) 通過 例如:設(shè)置了是半數(shù)通過即可通過當前節(jié)點 如果當前是4人那就是2人即通過 如果是6人那就是三人即通過 如果是5人 即三人通過 看各位的判斷值是如何書寫 這個值是根據(jù)各位需求改變的
以下是xml
${nrOfCompletedInstances/nrOfInstances >= 0.50}
>=0.50 即通過數(shù)是>=人員數(shù)的50%flowable:collection=“assigneeList” ${assigneeList}即取的人員列表名稱
以下是java代碼
//主體流程的開始//創(chuàng)建數(shù)據(jù)庫鏈接信息ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration().setJdbcUrl("jdbc:mysql://127.0.0.1:3306/自庫名?characterEncoding=UTF-8").setJdbcUsername("賬號").setJdbcPassword("密碼").setJdbcDriver("com.mysql.jdbc.Driver").setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);// 通過數(shù)據(jù)庫鏈接信息 創(chuàng)建Flowable流程引擎 Create Flowable process engineProcessEngine processEngine = cfg.buildProcessEngine();// 獲取Flowable服務(wù) Get Flowable repositoryServiceRepositoryService repositoryService = processEngine.getRepositoryService();// 獲取Flowable服務(wù) Get Flowable runtimeServiceRuntimeService runtimeService = processEngine.getRuntimeService();// 獲取taskService對象 Get the first taskTaskService taskService = processEngine.getTaskService();//獲取fromserver對象 操作from表單的東西FormService formService = processEngine.getFormService();Deployment deploy = repositoryService.createDeployment().addClasspathResource("/MoreLiving.bpmn20.xml").deploy();System.out.println(deploy.getId());HashMap<String, Object> map = new HashMap<>();//定義的人員列表4人String[] v = { "shareniu1", "shareniu2", "shareniu3", "shareniu4" };map.put("per", "bbb");map.put("money", "1111");map.put("assigneeList", Arrays.asList(v));ProcessInstance pi = runtimeService.startProcessInstanceByKey("living",map);List<Task> list = taskService.createTaskQuery().processInstanceId(pi.getId()).list();System.out.println(list.size());int i=0;for (Task task : list) {i=i+1;System.out.println("==========================所有節(jié)點name is = "+task.getName());System.out.println("==========================所有節(jié)點id is = "+task.getId());System.out.println("============ i ="+i);//變相判斷已經(jīng)二人提交 之后人員不提交if (i<3) {System.out.println("================== 提交 節(jié)點 id is="+task.getId());taskService.complete(task.getId());}}//判斷值為 50% 所以提交人達到2人 會簽節(jié)點即可通過Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();System.out.println("====================================================================================");//驗證是否已通過System.out.println("===================task id is="+task.getId());System.out.println("===================task name is="+task.getName());我的判斷值為 50% 所以提交人達到2人 會簽節(jié)點即可通過
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的flowable 实现多实例-会签-动态配置人员 参考demo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axios专栏
- 下一篇: (需求实战_进阶_07)SSM集成Rab