当前位置: 首页 > news >正文

鲜花网站模版互联网信息投资平台

鲜花网站模版,互联网信息投资平台,汕头企业建站系统,国际传媒网站设计一.简介 有的时候#xff0c;一个任务节点会存在多个候选人#xff0c;例如#xff1a;张三提交一个任务#xff0c;这个任务即可以由李四处理#xff0c;又可以由王五处理#xff0c;那么针对这种多个任务候选人的情况#xff0c;该如何处理#xff1f; 二.绘制流程…一.简介 有的时候一个任务节点会存在多个候选人例如张三提交一个任务这个任务即可以由李四处理又可以由王五处理那么针对这种多个任务候选人的情况该如何处理 二.绘制流程图 首先我们还是使用之前旧的流程图但是在为 UserTask 设置分配用户的时候我们设置多个用户流程图截图如下 分配图截图如下 设置完成后载这个流程文件该流程对应的XML文件内容如下 process iddemo01 namedemo01 isExecutabletruedocumentationdemo01/documentationstartEvent idstartEvent1 flowable:initiatorINITATOR flowable:formFieldValidationtrue/startEventuserTask idsid-5F901234-AFF1-480E-9D66-2D196B910BA3 flowable:candidateUsersjavaboy,zhangsan,lisi flowable:formFieldValidationtrue/userTasksequenceFlow idsid-71FB3A81-F753-419D-9A0A-2FC6E5361CED sourceRefstartEvent1 targetRefsid-5F901234-AFF1-480E-9D66-2D196B910BA3/sequenceFlowendEvent idsid-D0B9E5BF-8C1A-4F8F-B2C2-F423F5DC556D/endEventsequenceFlow idsid-DEBE03CD-F247-4EF3-BB67-ABBA94739B0A sourceRefsid-5F901234-AFF1-480E-9D66-2D196B910BA3 targetRefsid-D0B9E5BF-8C1A-4F8F-B2C2-F423F5DC556D/sequenceFlow /process可以看到UserTask 中的 flowable:candidateUsers“javaboy,zhangsan,lisi” 就表示这个 UserTask 由 javaboy、zhangsan 和 lisi 三个用户处理用户名之间用 , 隔开。 三.查询任务处理人 接下来就是部署并启动上面这个流程具体如何部署如何启动看之前的文章。 当流程启动成功之后去查询 javaboy 需要处理的 UserTask代码如下 ListTask list taskService.createTaskQuery().taskAssignee(javaboy).list(); for (Task task : list) {logger.info(id:{}name:{}taskDefinitionKey:{}, task.getId(), task.getName(), task.getTaskDefinitionKey()); }发现这个 SQL 执行完成后查询不到任何数据这个方法最终查询的是数据库中的 ACT_RU_TASK 表查询的 SQL 如下 去检查 ACT_RU_TASK 表以及它的 ASSIGNEE_ 字段截图如下 发现 ACT_RU_TASK 表中记录的 ASSIGNEE_ 字段值为 null。为 null 这个其实也好理解因为这个 UserTask 有多个人可以处理但是只有一个字段没法储存肯定有其他存储方式。 这种有多个候选人的任务应该按照如下方式来查询 Test void test12() {ListTask list taskService.createTaskQuery().taskCandidateUser(javaboy).list();for (Task task : list) {logger.info(id:{}name:{}taskDefinitionKey:{}, task.getId(), task.getName(), task.getTaskDefinitionKey());} }这里调用 taskCandidateUser 方法进行处理。那么这个方法查询的是哪张表呢看下上面方法最终执行的 SQL如下 : Preparing: SELECT RES.* from ACT_RU_TASK RES WHERE RES.ASSIGNEE_ is null and exists(select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TYPE_ candidate and LINK.TASK_ID_ RES.ID_ and ( LINK.USER_ID_ ? ) ) order by RES.ID_ asc : Parameters: javaboy(String) : Total: 1这里的查询涉及到两张表分别是 ACT_RU_TASK 和 ACT_RU_IDENTITYLINK两张表联合查询查出来的来看看 ACT_RU_IDENTITYLINK 表的内容,截图如下 TYPE_ 为 candidate 的就表示这个 Task 的候选人id 为 c5693038-3f42-11ed-b9e2-acde48001122 的 Task 一共有三个候选人两张表联合查询才可以查到这个 UserTask 该由谁来处理。 另外一种常见的需求就是已经知道了要处理的流程实例了但是不知道应该由谁来处理此时通过查询 ACT_RU_IDENTITYLINK 表就可以确定一个流程实例都有哪些参与者代码如下 Test void test13() {ListProcessInstance list runtimeService.createProcessInstanceQuery().list();for (ProcessInstance pi : list) {ListIdentityLink identityLinksForProcessInstance runtimeService.getIdentityLinksForProcessInstance(pi.getId());for (IdentityLink identityLink : identityLinksForProcessInstance) {logger.info(ProcessInstanceId:{},UserId:{},identityLink.getProcessInstanceId(),identityLink.getUserId());}} }这个执行的 SQL截图如下 可以看到其实就是通过查询 ACT_RU_IDENTITYLINK 表获取的数据。
http://www.w-s-a.com/news/160018/

相关文章:

  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力
  • 响应式网站介绍页面模板功能找不到
  • 公司网站如何seo自己做资讯网站
  • 天津网站建设软件开发招聘企业信用信息查询公示系统上海
  • 网站备案中做正品的网站
  • 网站建设0基础学起青海企业网站开发定制
  • 网站定制项目上海快速建站
  • 大型视频网站建设方案东莞企业网站建设开发
  • 西安php网站制作可以用AI做网站上的图吗
  • 网站开发工程师和前端企业网络推广公司
  • 泉州开发网站的公司有哪些电脑网页翻译
  • 河北省建设机械会网站首页刚做的网站怎么收录
  • 什么网站专门做自由行的framework7做网站
  • 网页设计与网站建设书籍包头住房与城乡建设局网站
  • 重庆网站建设平台免费猎头公司收费收费标准和方式
  • 形象设计公司网站建设方案书打开一个不良网站提示创建成功
  • 网站手机页面如何做网站关键字 优帮云
  • 免费的黄冈网站有哪些下载软件系统软件主要包括网页制作软件
  • 企业微站系统重庆高端网站建设价格
  • 有没有做衣服的网站吗网站自适应开发
  • 青海省制作网站专业专业定制网吧桌椅
  • 网站开发的项目17岁高清免费观看完整版
  • 手机网站建设多少钱一个门网站源码
  • 重庆 网站开发天津住房和城乡建设厅官方网站
  • 泰安高级网站建设推广厦门高端网站建设定制