工作流CamundaStringboot例子

工作流CamundaStringboot例子

2023年8月1日发(作者:)

⼯作流CamundaStringboot例⼦最近公司有⼯作流审批相关业务,于是学习起了Camunda。⾸先是⼯具传送门IDEA安装camunda-modeler⼯具安装了⼯具才能好好画图啊合同审核简易流程图合同审核流程图常⽤操作部署⼯作流Deployment deployment=Deployment() .name(name) .addClasspathResource("process/"+name) .deploy();##部署路径根据项⽬实际路径填写开启流程实例 Map params=new HashMap<>(); ("key","contract_create"); ("manager","LI1,LI2"); ("leader","Z3"); Execution execution = rocessInstanceByKey(("key").toString(), params);## 根据key启动流程实例 key是bpmn中定义的,Map params是传⼊流程的参数## demo中使⽤的是 camunda:candidateUsers="${manager}" 审核⼈通过params传⼊,逗号分隔。⼀⼈审核流程即可通过查询我的待办任务List tasks = TaskQuery() .taskCandidateUser(assignee) .orderByTaskCreateTime().asc() .active().list();查询我的已办任务List historicTaskInstances = HistoricTaskInstanceQuery() .taskAssignee(assignee) .orderByHistoricActivityInstanceStartTime().desc() .finished().list();审批通过 Task task = TaskQuery().taskId(taskId).singleResult(); if (!y(task)) { Map approveVariables = new HashMap<>(1); ("passed", passed); ("comment",comment); (taskId, assignee); Comment(taskId, cessInstanceId(), comment); te(taskId, approveVariables); n("任务审核完成,审核" + (passed ? "通过" : "拒绝")); return "任务审核完成,审核" + (passed ? "通过" : "拒绝"); }## 审批时添加审核意见和审核结果撤回流程 ActivityInstance activity = ivityInstance(processInstanceId); ProcessInstanceModification(processInstanceId) //关闭相关任务 .cancelActivityInstance(()) .setAnnotation("发起⼈撤回") //启动⽬标活动节点 .startBeforeActivity("root") .execute();查询 流程历史 List activityInstanceList= HistoricActivityInstanceQuery() .processInstanceId(instanceId).orderByHistoricActivityInstanceStartTime().asc().list(); for (HistoricActivityInstance hi : activityInstanceList) { HistoricActivityInstanceEntity entity=(HistoricActivityInstanceEntity) hi; n(""); n("===================-==============="); n(rtTime()); n(ignee()); n(ivityId()); n(ivityName()); n(ivityInstanceState()); List taskComments = kComments(kId()); ().forEach(e->{ n("comment:"+lMessage()); }); n(kId()); n(cessDefinitionId()); n(cessInstanceId()); n("===================-==============="); n(""); }源码传送门camunda springboot例⼦

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690874644a452319.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信