阅读 19

一、工作流 Activiti7-16.Activiti中的表单

image.png
image.png
image.png

1.实战

//渲染动态表单
    @GetMapping(path = "/formDataShow")
    public AjaxResponse formDataShow(String taskId) {
        try {
            if(GlobalConfig.Test){
                securityUtil.logInAs("bajie");
            }
            Task task = taskRuntime.task(taskId);


            UserTask userTask = (UserTask)repositoryService.getBpmnModel(task.getProcessDefinitionId())
                    .getFlowElement(task.getFormKey());

            List<FormProperty> formPropertiesList = userTask.getFormProperties();
            for(FormProperty formProperty:formPropertiesList){

            }

            return AjaxResponse.ajaxData(GlobalConfig.ResponseCode.SUCCESS.getCode(),
                    GlobalConfig.ResponseCode.SUCCESS.getDesc(),null);
        }catch (Exception e){
            return AjaxResponse.ajaxData(GlobalConfig.ResponseCode.ERROR.getCode(),"渲染动态表单失败!",null);
        }
    }
Task task = taskRuntime.task(taskId);


            UserTask userTask = (UserTask)repositoryService.getBpmnModel(task.getProcessDefinitionId())
                    .getFlowElement(task.getFormKey());

            List<FormProperty> formPropertiesList = userTask.getFormProperties();
            for(FormProperty formProperty:formPropertiesList){

            }

其中我们通过获取到任务,然后再通过表单的key(task.getFormKey())来获取到userTask,理论上来讲我们应该传入任务的key也就是:


image.png

这个值才可获取到表单的属性,但是我们是获取不到这个key,所以只能在绘制流程图的时候,我们把表单key与任务的key设置成一致的,这样我们通过传入表单的key也就是跟任务key一致来获取到userTask了。

下面我们绘制流程图:

image.png

两个任务的执行人指定为bajie,然后我们把表单key都赋值为task key一致。

image.png

然后我们就如图一样随便添加几个表单,随便写值,然后把这个流程下载然后发布了。

然后调用上面我们写的接口,查看下表单的属性值:

image.png

发现我们好像并没有拿到什么数据,就拿到一个表单的类型和key。

不过我们可以使用另一种方式来获取到数据:

image.png
文章分类
后端
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 gxwowoo@163.com 举报,一经查实,本站将立刻删除。
相关推荐