weixin_49005136 2023-04-04 15:20 采纳率: 0%
浏览 13

利用java解析bpmn文件然后封装成xml文件

利用java解析bpmn然后封装成xml文件 就是将流程的json解析成标准的bpmn xml形式 现在已经能完成解析成实体类model 然后转成xml文件 但是各种网关 按钮 表单信息 如何赋值给bpmn实体类 一头雾水?有关UserTask 以及里面的参数FormProperty ExtensionAttribute 有没有参考文档

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-06 15:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: activiti工作流核心java api使用,activiti退回、跳过、强制结束实现,BpmnModel模型操作,运行中流程图、获取流程变量、候选人操作中的         候选人查询任务 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

              查询候选人任务,候选人就是设置代理人的时候会设置一个候选人,这个候选人可以通过拾取任务来代替原本的受理人完成任务,相当于一个替补的概念。

              

      @Test
          public void queryCandidateTaskList() {
              // 流程定义key
              String processDefinitionKey = "TEST-PROCESS";
              // 任务候选人
              String candidateUser = "melo";
              // 创建TaskService
              //查询组任务
              List<Task> list = taskService.createTaskQuery()
                  .processDefinitionKey(processDefinitionKey)
                  .taskCandidateUser(candidateUser)//根据候选人查询
                  .list();
              for (Task task : list) {
                  System.out.println("----------------------------");
                  System.out.println("流程实例id:" + task.getProcessInstanceId());
                  System.out.println("任务id:" + task.getId());
                  System.out.println("任务负责人:" + task.getAssignee());
                  System.out.println("任务名称:" + task.getName());
                  System.out.println("----------------------------");
              }
          }

              这个方法需要注意的是只有在当前受理人为null的情况下才能查询到候选任务。可以看控制台打印的sql,发现activiti查询的时候带了一个条件,ASSIGNEE_ IS NULL

      SELECT DISTINCT RES.* 
      FROM ACT_RU_TASK RES INNER JOIN ACT_RU_IDENTITYLINK I
       ON I.TASK_ID_ = RES.ID_ 
      WHERE RES.ASSIGNEE_ IS NULL AND I.TYPE_ = 'candidate' AND ( I.USER_ID_ = 'melo') 

              这里是不是感觉就离谱?他这候选人是真的地位低啊哈哈!所以这也印证了我之前说的,还是自己设计一套表来保存一些关键信息靠谱,那么怎样把代理人设置为空呢?就需要用到拾取和归还任务。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 4月4日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价