ActivitiFormService自定义Task动态表单

ActivitiFormService自定义Task动态表单

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

ActivitiFormService⾃定义Task动态表单⼀.内置表单

1.部署流程+启动流程 /** * 部署流程 */ @RequestMapping("publishProcess") public void publishProcess() { String processDefinitionKey=null; Deployment deployment= Deployment().addClasspathResource("processes/").deploy(); n("部署编号:"+());

List processDefinition=ProcessDefinitionQuery().deploymentId(()).list(); for (ProcessDefinition pro : processDefinition) { n("部署的key"+()); processDefinitionKey=();

}

// 启动流程

rocessInstanceByKey(processDefinitionKey);

} /** * 提交任务表单 */ @RequestMapping("submit") public String submitTaskFormData(HttpServletRequest request) { String taskId= null; List task= TaskQuery().orderByProcessDefinitionId().desc().list(); //获取最新的任务 taskId=(0).getId();

//拿到最新的⼀个任务 ribute("title", "我要申请⼀个审批(动态表单)"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:ss"); ribute("date",(new Date()) ); ribute("peopleCount", 2); TaskFormData taskFormData = kFormData(taskId);//拿取流程启动前的表单字段。 Map fromValues = new HashMap(); for (FormProperty fp : mProperties()) { String value =f(ribute(())); ((),value); } //启动流程,提交表单,提交后⾃动到下⼀节点,获取数据需要在下⼀Task获取 TaskFormData(taskId, fromValues);

return "提交成功"; }/** * 查询任务,应⽤场景,可以在这⾥获取不同处理⼈(组长或经理)待处理的任务信息传给前台显⽰ */ @RequestMapping("quertTask") public void quertTask() { String assignee="张三"; //这⾥是UserTask中设置的assignee

List task= TaskQuery().taskAssignee(assignee).orderByProcessDefinitionId().desc().list(); //获取任务信息 for (Task t : task) { n("任务编号:"+()+"n任务名称:"+e()+"n处理⼈:"+ignee()+"n创建时间:"+ateTime()); //获取提交表单的数据 TaskFormData taskFormData = kFormData(());//拿取流程启动前的表单字段。 for (FormProperty fp : mProperties()) { n("Form Values:"+iable((), ())); } }

n("已启动");

}优点:能够根据前台传过来的字段匹配⾃定义Task的内置表单字段,⽆须⾃⼰put单个赋值,不需要提供实体类缺点:每⼀个Task节点如需获取内置表单数据,都需要定义内置表单字段,操作⿇烦

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690875183a452426.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信